1.一种保护用户名隐私的认证方法,其特征在于:所述方法包括:客户端对注册的用户名进行加密并发送至控制器;
控制器将注册的用户名密文发送至第一服务器;
客户端对登录的用户名进行加密并发送至控制器;
控制器将登录的用户名密文发送至第二服务器;
第一服务器根据注册的用户名密文,计算第一中间值并发送至第二服务器;
第二服务器根据登录的用户名密文,计算第二中间值并发送至第一服务器;
第一服务器根据第二中间值,计算第一最终值并发送至控制器;
第二服务器根据第一中间值,计算第二最终值并发送至控制器;
控制器根据第一最终值和第二最终值,判断用户身份是否合法。
2.根据权利要求1所述的一种保护用户名隐私的认证方法,其特征在于:所述客户端对注册的用户名进行加密并发送至控制器,具体包括:当用户在客户端输入注册的用户名Mi后,客户端计算注册的用户名的哈希值H(Mi);
客户端获得第一服务器公钥X=g1x1g2x2,以及获得第二服务器公钥Y=g1y1g2y2,随机选择ri∈Zp,调用模乘部件、模求幂部件,计算注册的用户名密文Ci1=g1ri,Ci2=g2ri,Ci3=(g1x1g2x2)ri(g1y1g2y2)riH(Mi);
客户端将注册的用户名密文分别传输到控制器。
3.根据权利要求1所述的一种保护用户名隐私的认证方法,其特征在于:所述客户端对登录的用户名进行加密并发送至控制器,具体包括:当用户在客户端输入登录的用户名Mj后,客户端计算登录的用户名的哈希值H(Mj);客户端获得第一服务器公钥X=g1x1g2x2,以及获得第二服务器公钥Y=g1y1g2y2,随机选择rj∈Zp,调用模乘部件、模求幂部件,计算登录的用户名密文Cj1=g1rj,Cj2=g2rj,Cj3=(g1x1g2x2)rj(g1y1g2y2)rjH(Mj);
客户端将登录的用户名密文分别传输到控制器。
4.根据权利要求1所述的一种保护用户名隐私的认证方法,其特征在于:所述第一服务器根据注册的用户名密文,计算第一中间值并发送至第二服务器,具体包括:第一服务器随机选择r1S∈Gp,使用它的私钥、Ci和r1S,调用模乘部件、模求幂部件计算第一中间值,如下式:IV1S=((Ci1)x1﹡(Ci2)x2)-1﹡r1S=((g1ri)x1﹡(g2ri)x2)-1﹡r1S=(g1x1g2x2)-ri﹡r1S第一服务器将IV1S和Ci发送给第二服务器。
5.根据权利要求1所述的一种保护用户名隐私的认证方法,其特征在于:所述第二服务器根据登录的用户名密文,计算第二中间值并发送至第一服务器,具体包括:第二服务器随机选择r2S∈Gp,使用它的私钥、Cj和r2S,调用模乘部件、模求幂部件计算第二中间值,如下式:IV2S=((Cj1)y1﹡(Cj2)y2)-1﹡r2S=((g1rj)y1﹡(g2rj)y2)-1﹡r2S=(g1y1g2y2)-rj﹡r2S第二服务器将IV2S和Cj发送给第一服务器。
6.根据权利要求1所述的一种保护用户名隐私的认证方法,其特征在于:所述第一服务器根据第二中间值,计算第一最终值并发送至控制器,具体包括:第一服务器接收到第二中间值IV2S,使用它的私钥、Cj、r1S和IV2S,调用模乘部件、模求幂部件,计算第一最终值,如下式:FV1S=Cj3﹡IV2S﹡((Cj1)x1﹡(Cj2)x2)-1﹡r1S=Cj3﹡IV2S﹡((g1rj)x1﹡(g2rj)x2)-1﹡r1S=H(Mj)*r2S*r1S第一服务器将FV1S发送给控制器。
7.根据权利要求1所述的一种保护用户名隐私的认证方法,其特征在于:所述第二服务器根据第一中间值,计算第二最终值并发送至控制器,具体包括:第二服务器接收到第一中间值IV1S,使用它的私钥、Ci、r2S和IV1S,调用模乘部件、模求幂部件,计算第二最终值,如下式:FV2S=Ci3﹡IV1S﹡((Ci1)y1﹡(Ci2)y2)-1﹡r2S=Ci3﹡IV1S﹡((g1ri)y1﹡(g2ri)y2)-1﹡r2S=H(Mi)﹡r1S﹡r2S第二服务器将FV2S发送给控制器。
8.根据权利要求1-7任一项所述的一种保护用户名隐私的认证方法,其特征在于:所述控制器根据第一最终值和第二最终值,判断用户身份是否合法,具体包括:控制器比较第一最终值和第二最终值,若第一最终值等于第二最终值,则判断合法,否则,判断不合法。
9.根据权利要求1-7任一项所述的一种保护用户名隐私的认证方法,其特征在于:所述方法在客户端加密前,还包括:第一服务器和第二服务器分别调用模乘部件、模求幂部件生成各自的密钥对。
10.一种保护用户名隐私的认证系统,其特征在于:所述系统包括客户端、控制器、第一服务器和第二服务器;
所述客户端,用于对注册的用户名进行加密并发送至控制器,以及对登录的用户名进行加密并发送至控制器;
所述控制器,用于将注册的用户名密文发送至第一服务器,将登录的用户名密文发送至第二服务器,以及根据第一服务器发送的第一最终值和第二服务器发送的第二最终值,判断用户身份是否合法;
所述第一服务器,用于根据注册的用户名密文,计算第一中间值并发送至第二服务器,以及根据第二服务器发送的第二中间值,计算第一最终值并发送至控制器;
所述第二服务器,用于根据登录的用户名密文,计算第二中间值并发送至第一服务器,以及根据第一服务器发送的第一中间值,计算第二最终值并发送至控制器。