1.一种基于盲签名的无线体域网匿名认证与密钥协商方法,其特征在于,包括如下步骤:S1、注册与密钥分发:通过网络管理者NM为应用服务提供商AP提供注册和授权,并通过网络管理者NM为用户计算盲签名;
S2、认证与密钥协商:根据用户向应用服务提供商AP发出的申请服务,并利用所述盲签名与应用服务提供商AP进行认证和密钥协商;
所述步骤S2包括如下步骤:
D1、由用户向应用服务提供商AP申请服务;
D2、根据所述申请服务由应用服务提供商AP判断用户的盲签名是否验证通过,若未通过,则进入步骤D5,反之,则认证用户的身份并计算用户的会话密钥,并进入步骤D3;
D3、判断应用服务提供商AP的身份认证和会话密钥是否通过验证,若未通过,则进入步骤D5,反之,则进入步骤D4;
D4、根据步骤D3中的认证结果与步骤D2中的计算结果判断用户是否获取申请服务,若是,则用户获取申请服务,并进入步骤S3,反之,则返回步骤D1;
D5、认证未通过,终止认证;
S3、密钥更新:根据应用服务提供商AP向用户发出的密钥更新请求,分别判断应用服务提供商AP的身份与用户的盲签名是否认证成功,若认证成功,则完成对应用服务提供商AP与用户的密钥更新,反之,则终止认证,从而完成基于盲签名的无线体域网匿名认证与密钥协商。
2.根据权利要求1所述的基于盲签名的无线体域网匿名认证与密钥协商方法,其特征在于,所述步骤S1包括如下步骤:A1、预设网络管理者NM的私钥skNM,并通过网络管理者NM为应用服务提供商AP提供注册和授权;
A2、通过网络管理者NM为用户提供注册和授权。
3.根据权利要求2所述的基于盲签名的无线体域网匿名认证与密钥协商方法,其特征在于,所述步骤A1包括如下步骤:B1、选取随机数skAP作为应用服务提供商AP的长期私钥;
B2、将所述随机数skAP与由网络管理者NM预设的椭圆曲线生成元P进行基于椭圆曲线的倍点运算,得到应用服务提供商AP的长期公钥pkAP,并通过网络管理者NM为应用服务提供商AP计算证书;
B3、通过应用服务提供商AP选取随机数ra,并将所述随机数ra与预设的椭圆曲线生成元P进行基于椭圆曲线的倍点运算,得到应用服务提供商AP的随机承诺Ra;
B4、将应用服务提供商AP默认的身份标识IDa、长期公钥pkAP以及随机承诺Ra进行哈希运算,得到计算应用服务提供商AP证书的哈希值ha;
B5、将所述哈希值ha与预设的私钥skNM进行乘法运算,得到计算应用服务提供商AP证书的乘积Pa;
B6、将所述乘积Pa与所述随机数ra相加得到应用服务提供商AP的证书ca;
B7、将所述应用服务提供商AP的证书ca和随机承诺Ra通过安全信道发给应用服务提供商AP,从而完成应用服务商AP的注册和授权;
所述步骤A2包括如下步骤:
C1、通过网络管理者NM为用户选取随机数yi;
C2、将所述随机数yi与预设的椭圆曲线生成元P进行基于椭圆曲线的倍点运算,得到用户的随机公开承诺Yi;
C3、选取随机数xi作为用户的临时私钥,将所述临时私钥与预设的椭圆曲线生成元P进行基于椭圆曲线的倍点运算,得到用户的临时公钥Xi;
C4、分别选取αi,βi,γi作为用户的盲化因子,并将所述用户的盲化因子分别与所述随机公开承诺Yi、预设的椭圆曲线生成元P以及应用服务提供商AP的长期公钥pkAP进行基于椭圆曲线的倍点运算,并把基于椭圆曲线的倍点运算的结果进行基于椭圆曲线的加法运算得到用户的临时公钥隐藏值Ri;
C5、将所述随机公开承诺Yi、用户的临时公钥Xi、临时公钥隐藏值Ri、应用服务提供商AP的长期公钥pkAP和预设的时间戳tyi进行哈希运算,得到计算盲签名的哈希值hi;
C6、将所述哈希值hi与所述盲化因子γi进行加法运算,得到盲签名的盲化消息值bi,再将所述盲化因子αi在大素数q条件下的逆元与所述盲化消息值bi做乘法运算得到用户的盲化消息值mi;
C7、由网络管理者NM将所述盲化消息值mi与网络管理者的私钥skNM进行乘法运算,得到网络管理者NM发给用户的部分盲签名σ;
C8、将所述部分盲签名σ与应用服务提供商AP选取的随机数ra相加得到用户的盲签名σ′i;
C9、将所述盲签名σ′i与盲化因子αi进行乘法运算,得到用户的去盲签名σ*,再将所述去盲签名σ*与盲化因子βi相加得到用户的签名σi,从而完成用户的注册和授权。
4.根据权利要求3所述的基于盲签名的无线体域网匿名认证与密钥协商方法,其特征在于,所述步骤D1包括如下步骤:E1、由用户选取随机数作为用户的临时秘密值rb,并将所述用户的临时秘密值rb、用户的临时私钥xi与预设的椭圆曲线生成元P进行基于椭圆曲线的倍点运算得到用户的会话密钥承诺值Bi;
E2、由用户将用户的临时秘密值rb、用户的临时私钥xi与应用服务提供商AP的长期公钥pkAP进行基于椭圆曲线的倍点运算得到用户的服务承诺值B′i;
E3、将用户的服务承诺值B′i和预设的时间戳t1进行哈希运算,并利用得到的哈希值hai加密用户的临时公钥Xi、用户的随机公开承诺Yi、用户的临时公钥隐藏值Ri和预设的时间戳tyi,得到加密消息Ei;
E4、将用户的服务承诺值B′i、应用服务提供商AP的长期公钥pkAP和预设的时间戳t1进行哈希运算,并将得到哈希值hσ与用户的签名σi相加得到签名消息M1;
E5、将含有用户的会话密钥承诺值Bi、签名消息M1、加密消息Ei和预设的时间戳t1的认证请求信息发给应用服务提供商AP,从而完成应用服务提供商AP向用户提供的申请服务。
5.根据权利要求4所述的基于盲签名的无线体域网匿名认证与密钥协商方法,其特征在于,所述步骤D2包括如下步骤:F1、根据所述申请服务由应用服务提供商AP对收到的用户预设的时间戳t1进行验证,若验证未通过,则进入步骤D5,反之,则进入步骤F2;
F2、由应用服务提供商AP将应用服务提供商AP的长期私钥skAP与用户的会话密钥承诺值Bi进行基于椭圆曲线的倍点运算,得到用户的服务承诺值B’i;
F3、将用户的服务承诺值B’i和预设的时间戳t1进行哈希运算,并利用得到哈希值hai解密加密消息Ei,得到用户的临时公钥Xi、用户的随机公开承诺Yi、用户的临时公钥隐藏值Ri和时间戳tyi;
F4、由应用服务提供商AP对预设的时间戳tyi进行验证,若验证未通过,则进入步骤D5,反之,则进入步骤F5;
F5、由应用服务提供商AP利用用户的临时公钥Xi、用户的随机公开承诺Yi、用户的临时公钥隐藏值Ri、预设的时间戳tyi以及用户的服务承诺值B’i对签名消息M1进行验证,若验证未通过,则进入步骤D5,反之,则进入步骤F6;
F6、选取随机数作为应用服务提供商AP选取的随机数ra,并将应用服务提供商AP选取的随机数ra、应用服务提供商AP的长期私钥skAP与预设的椭圆曲线生成元P,进行基于椭圆曲线的倍点运算得到应用服务提供商AP的会话密钥承诺值Aj;
F7、将应用服务提供商AP选取的随机数ra、应用服务提供商AP的长期私钥skAP与用户的会话密钥承诺值Bi,进行基于椭圆曲线的倍点运算得到应用服务提供商AP的部分会话密钥ki;
F8、将所述部分会话密钥ki、应用服务提供商AP的长期私钥skAP和用户的临时公钥Xi进行哈希运算,生成应用服务提供商AP的会话密钥kua;
F9、将所述用户的服务承诺值B’i和预设的时间戳t1进行哈希运算,生成用户的临时身份pidi;
F10、将应用服务提供商AP的会话密钥承诺值Aj、用户的临时身份pidi、会话密钥kua和预设的时间戳t1进行哈希运算,生成应用服务提供商AP的验证消息M2;
F11、将含有用户的临时身份pidi、应用服务提供商AP的会话密钥承诺值Aj和验证消息M2的认证请求信息发给用户,从而完成对用户的认证身份以及会话密钥的计算,并进入步骤D3。
6.根据权利要求5所述的基于盲签名的无线体域网匿名认证与密钥协商方法,其特征在于,所述步骤D3包括如下步骤:G1、根据用户的临时秘密值rb、用户的临时私钥xi与应用服务提供商AP的会话密钥承诺值Aj进行基于椭圆曲线的倍点运算得到用户的部分会话密钥ki;
G2、将用户的服务承诺值Bi,和预设的时间戳t1进行哈希运算生成用户的临时身份pidi;
G3、将所述用户的部分会话密钥ki、应用服务提供商AP的长期私钥skAP和用户的临时公钥Xi进行哈希运算生成应用服务提供商AP的会话密钥kua;
G4、由用户利用所述会话密钥kua、用户的临时身份pidi、应用服务提供商AP的会话密钥承诺值Aj和预设的时间戳t1对验证消息M2进行验证,若验证未通过,则进入步骤D5,反之,则完成对应用服务提供商AP的身份认证和会话密钥计算,并进入步骤D4。
7.根据权利要求6所述的基于盲签名的无线体域网匿名认证与密钥协商方法,其特征在于,所述步骤D4包括如下步骤:H1、由应用服务提供商AP利用会话密钥kua对申请服务信息进行加密;
H2、由用户利用所述会话密钥kua对应用服务提供商AP的加密信息进行解密,获取服务,并通过所述会话密钥kua加密完成应用服务提供商AP与用户的后续会话;
H3、判断用户的盲签名是否过期,若是,则完成用户的服务获取,并进入步骤S3,反之,则返回步骤D1。
8.根据权利要求7所述的基于盲签名的无线体域网匿名认证与密钥协商方法,其特征在于,所述步骤S3中应用服务提供商AP向用户发出密钥更新请求,包括如下步骤:I1、选取随机数作为应用服务提供商AP的临时秘密值 并取随机数作为用户的临时秘密值I2、将所述临时秘密值 应用服务提供商AP的长期私钥skAP以及预设的椭圆曲线生成元P进行基于椭圆曲线的倍点运算得到应用服务提供商AP的会话密钥承诺值A1;
I3、将用户的临时秘密值 应用服务提供商AP的长期私钥skAP以及用户的临时公钥Xi进行基于椭圆曲线的倍点运算得到应用服务提供商AP的会话服务承诺值m1;
I4、将应用服务提供商AP的会话密钥承诺值A1和预设的时间戳t2进行哈希运算生成用户的临时身份I5、将应用服务提供商AP的会话密钥承诺值A11、用户的临时身份 应用服务提供商AP的会话密钥kua和预设的时间戳t2进行哈希运算生成应用服务提供商AP的验证消息M3;
I6、将含有用户的临时身份 应用服务提供商AP的会话密钥承诺值A1、预设的时间戳t2和验证消息M3的认证请求信息发给用户,从而完成应用服务提供商AP向用户发出的密钥更新请求。
9.根据权利要求8所述的基于盲签名的无线体域网匿名认证与密钥协商方法,其特征在于,所述步骤S3中对应用服务提供商AP的密钥更新包括如下步骤:J1、根据应用服务提供商AP向用户发出的密钥更新请求,由用户对预设的时间戳t2进行验证,若验证未通过,则进入步骤J10,反之,则进入步骤J2;
J2、将所述用户的临时私钥xi与应用服务提供商AP的会话密钥承诺值A1进行基于椭圆曲线的倍点运算,得到应用服务提供商AP的会话服务承诺值m2;
J3、利用所述应用服务提供商AP的会话密钥kua、用户的临时身份 应用服务提供商AP的会话服务承诺值m2和预设的时间戳t2对验证消息M3进行验证,若验证未通过,则进入步骤J10,反之,则进入步骤J4;
J4、将所述用户的临时秘密值 用户的临时私钥xi以及预设的椭圆曲线生成元P进行基于椭圆曲线的倍点运算得到用户的会话密钥承诺值J5、将用户的临时秘密值rb、用户的临时私钥xi以及应用服务提供商AP的会话密钥承诺值A1进行基于椭圆曲线的倍点运算得到用户的部分更新会话密钥值J6、将所述用户的部分更新会话密钥值 应用服务提供商AP的长期私钥skAP以及用户的临时公钥Xi进行哈希运算,生成应用服务提供商AP的会话密钥J7、将所述应用服务提供商AP的会话密钥承诺值A1和预设的时间戳t2进行哈希运算得到用户的临时身份J8、将所述会话密钥 用户的临时身份 预设的时间戳t2和用户会话密钥承诺值进行哈希运算得到验证消息M4;
J9、将含有用户的临时身份 用户会话密钥承诺值 预设的时间戳t2和验证消息M4的认证请求信息发给应用服务提供商AP,从而完成对应用服务提供商AP身份的认证以及应用服务提供商AP会话密钥的更新;
J10、认证未通过,终止认证;
所述步骤S3中对用户的密钥更新,包括如下步骤:
K1、将应用服务提供商AP的临时秘密值 应用服务提供商AP的长期私钥skAP以及用户的会话密钥承诺值 进行基于椭圆曲线的倍点运算得到应用服务提供商AP的部分更新会话密钥值K2、将所述部分更新会话密钥值 应用服务提供商AP的长期私钥skAP和用户的临时公钥Xi进行哈希运算生成应用服务提供商AP的会话密钥K3、利用所述会话密钥 用户的临时身份 用户会话密钥承诺值 和预设的时间戳t2对验证消息M4进行验证,若验证未通过,则进入步骤K4,反之,则完成用户身份的认证以及用户会话密钥的更新;
K4、认证未通过,终止认证。