首页 > 专利 > 西南交通大学 > 一种基于证书的无线体域网群组认证与密钥协商方法专利详情

一种基于证书的无线体域网群组认证与密钥协商方法   0    0

有效专利 查看PDF
专利申请流程有哪些步骤?
专利申请流程图
申请
申请号:指国家知识产权局受理一件专利申请时给予该专利申请的一个标示号码。唯一性原则。
申请日:提出专利申请之日。
2019-06-19
申请公布
申请公布指发明专利申请经初步审查合格后,自申请日(或优先权日)起18个月期满时的公布或根据申请人的请求提前进行的公布。
申请公布号:专利申请过程中,在尚未取得专利授权之前,国家专利局《专利公报》公开专利时的编号。
申请公布日:申请公开的日期,即在专利公报上予以公开的日期。
2019-09-24
授权
授权指对发明专利申请经实质审查没有发现驳回理由,授予发明专利权;或对实用新型或外观设计专利申请经初步审查没有发现驳回理由,授予实用新型专利权或外观设计专利权。
2020-05-12
预估到期
发明专利权的期限为二十年,实用新型专利权期限为十年,外观设计专利权期限为十五年,均自申请日起计算。专利届满后法律终止保护。
2039-06-19
基本信息
有效性 有效专利 专利类型 发明专利
申请号 CN201910529658.4 申请日 2019-06-19
公开/公告号 CN110191469B 公开/公告日 2020-05-12
授权日 2020-05-12 预估到期日 2039-06-19
申请年 2019年 公开/公告年 2020年
缴费截止日
分类号 H04W12/04H04L9/32H04L9/30H04L9/08 主分类号 H04W12/04
是否联合申请 独立申请 文献类型号 B
独权数量 1 从权数量 8
权利要求数量 9 非专利引证数量 1
引用专利数量 4 被引证专利数量 0
非专利引证 1、YANG Yanyan et al.《.Scheme on Cross-Domain Identity Authentication Based onGroup Signature for Cloud Computing》. 《Wuhan University Journal of NaturalSciences武汉大学自然科学学报(英文版)》.2019,第24卷(第2期),全文. Anyembe Andrew Omala《.无线体域网中的安全协议设计与分析》《.中国博士学位论文全文数据库 信息科技辑》.2018,全文. Anyembe Andrew Omala et al.《.AnEfficient Remote Authentication Schemefor Wireless Body Area Network》《.SYSTEMS-LEVEL QUALITY IMPROVEMENT》.2016,全文.;
引用专利 CN105978918A、CN102624530A、US2018115897A1、CN104052608A 被引证专利
专利权维持 3 专利申请国编码 CN
专利事件 事务标签 公开、实质审查、授权
申请人信息
申请人 第一申请人
专利权人 西南交通大学 当前专利权人 西南交通大学
发明人 张文芳、余东海、王小敏 第一发明人 张文芳
地址 四川省成都市二环路北一段 邮编 610031
申请人数量 1 发明人数量 3
申请人所在省 四川省 申请人所在市 四川省成都市
代理人信息
代理机构
专利代理机构是经省专利管理局审核,国家知识产权局批准设立,可以接受委托人的委托,在委托权限范围内以委托人的名义办理专利申请或其他专利事务的服务机构。
成都正华专利代理事务所 代理人
专利代理师是代理他人进行专利申请和办理其他专利事务,取得一定资格的人。
陈选中
摘要
本发明公开了一种基于证书的无线体域网群组认证与密钥协商方法,构建无线体域网的网络管理NM的长期私钥skn和公钥pkn,构建无线体域网的群管理员GM,构建无线体域网的用户,向无线体域网加入应用服务提供商AP,向无线体域网加入用户,用户向应用服务提供商AP申请服务,并请求会话密钥,对用户的进行认证以及密钥协商,对应用服务提供商AP进行认证,实现应用服务提供商AP与用户之间的会话,解决了现有技术中无线体域网环境下无法同时满足用户在AP处匿名性、条件隐私保护以及系统效率高的问题。
  • 摘要附图
    一种基于证书的无线体域网群组认证与密钥协商方法
  • 说明书附图:图1
    一种基于证书的无线体域网群组认证与密钥协商方法
法律状态
序号 法律状态公告日 法律状态 法律状态信息
1 2020-05-12 授权
2 2019-09-24 实质审查的生效 IPC(主分类): H04W 12/04 专利申请号: 201910529658.4 申请日: 2019.06.19
3 2019-08-30 公开
权利要求
权利要求书是申请文件最核心的部分,是申请人向国家申请保护他的发明创造及划定保护范围的文件。
1.一种基于证书的无线体域网群组认证与密钥协商方法,其特征在于,包括以下步骤:
S1、构建无线体域网的网络管理NM的长期私钥skn和公钥pkn;
S2、根据网络管理NM的长期私钥skn和公钥pkn,通过网络管理NM向群管理员GM颁发证书certGM,构建无线体域网的群管理员GM;
S3、根据网络管理NM的长期私钥skn和公钥pkn,通过网络管理NM向用户颁发证书certi,构建无线体域网的用户;
S4、根据群管理员GM的证书certGM、长期私钥xGM和公钥XGM,向构建了群管理员GM和用户的无线体域网加入应用服务提供商AP;
S5、根据用户的证书certi、群管理员GM的长期私钥xGM和群管理员GM的公钥XGM,向构建了应用服务提供商AP的无线体域网加入用户;
S6、根据用户证书certi,对引入的随机参数进行签名,得到用户签名σi,向应用服务提供商AP申请服务,并请求会话密钥;
S7、根据用户签名σi和与用户通信的用户会话密钥服务值k′i,对用户进行认证以及密钥协商;
S8、对应用服务提供商AP进行认证。

2.根据权利要求1所述的基于证书的无线体域网群组认证与密钥协商方法,其特征在于,所述步骤S1包括以下步骤:
S101、将网络管理NM选取的随机数skn作为长期私钥;
S102、将长期私钥skn与椭圆曲线生成的元P进行基于椭圆曲线的倍点运算,得到网络管理NM的公钥pkn。

3.根据权利要求2所述的基于证书的无线体域网群组认证与密钥协商方法,其特征在于,所述步骤S2包括以下步骤:
S201、将群管理员GM选取的随机参数xGM作为长期私钥;
S202、将长期私钥xGM与椭圆曲线生成的元P进行基于椭圆曲线的倍点运算,得到群管理员GM的公钥XGM;
S203、将网络管理NM选取的随机数rGM与椭圆曲线生成的元P进行基于椭圆曲线的倍点运算,得到群管理员GM证书承诺值RGM;
S204、将群管理员GM公钥XGM、群管理员GM证书承诺值RGM和群管理员GM的身份标识IDGM进行哈希运算,得到哈希值hGM;
S205、将哈希值hGM与网络管理NM的长期私钥skn做乘法运算,得到乘法值PGM;
S206、将乘法值PGM与随机数rGM做加法运算,得到群管理员GM证书certGM;
S207、通过网络管理NM将群管理员GM证书certGM和证书承诺值RGM发给群管理员GM,同时将群管理员GM证书certGM、证书承诺值RGM、公钥XGM和身份标识IDGM添加到网络管理NM的数据库中;
S208、利用网络管理NM的公钥pkn、群管理员GM的证书承诺值RGM、群管理员GM的公钥XGM和身份标识IDGM对证书certGM进行验证,若验证通过,则群管理员GM存储证书certGM、证书承诺值RGM、公钥XGM和身份标识IDGM,完成群管理员GM的构建,若验证未通过,则跳转至步骤S201。

4.根据权利要求3所述的基于证书的无线体域网群组认证与密钥协商方法,其特征在于,所述步骤S3包括以下步骤:
S301、将用户选取随机参数xi作为长期私钥;
S302、将长期私钥xi与椭圆曲线生成的元P进行基于椭圆曲线的倍点运算,得到用户公钥Xi,将用户公钥Xi和身份标识IDi发给网络管理NM;
S303、将网络管理NM选取的随机数ri与椭圆曲线生成的元P进行基于椭圆曲线的倍点运算,得到用户证书承诺值Ri;
S304、将用户公钥Xi、用户证书承诺值Ri和用户身份标识IDi进行哈希运算,得到哈希值hi;
S305、将哈希值hi与网络管理NM的长期私钥skn做乘法运算,得到乘法值pi;
S306、将乘法值pi与随机数ri做加法运算,得到用户证书certi;
S307、将网络管理NM的长期私钥skn与用户公钥Xi进行基于椭圆曲线的倍点运算,得到共享密钥值sknXi;
S308、将共享密钥值sknXi与用户身份标识IDi做哈希运算,得到临时身份初始值Pid0;
S309、将临时身份初始值Pid0和共享密钥值sknXi做哈希运算,得到用户临时身份值Pid1;
S310、将通过网络管理NM将用户证书承诺值Ri和用户证书certi发给用户,同时将用户的公钥Xi、证书certi、用户临时身份值Pid1、证书承诺值Ri和用户身份标识IDi添加到网络管理NM的数据库中;
S311、利用网络管理NM的公钥pkn、用户公钥Xi、用户临时身份值Pid1、证书承诺值Ri和用户身份标识IDi对证书certi进行验证,若验证通过,则用户存储公钥Xi、临时身份值Pid1、证书certi、证书承诺值Ri和身份标识IDi,完成无线体域网用户的构建,若验证未通过,则跳转至步骤S301。

5.根据权利要求4所述的基于证书的无线体域网群组认证与密钥协商方法,其特征在于,所述步骤S4包括以下步骤:
S401、将应用服务提供商AP选取的随机数xj作为长期私钥;
S402、将长期私钥xj与椭圆曲线的生成元P进行基于椭圆曲线的倍点运算,得到应用服务提供商AP公钥Xj;
S403、通过应用服务提供商AP将应用服务提供商AP公钥Xj和应用服务提供商AP的身份标识IDj发给群管理员GM;
S404、将群管理员GM选择的随机数rj与椭圆曲线生成的元P进行基于椭圆曲线的倍点运算,得到应用服务提供商AP的证书承诺值Rj;
S405、将应用服务提供商AP的公钥Xj、应用服务提供商AP的证书承诺值Rj和应用服务提供商AP的身份标识IDj做哈希运算,得到哈希值hj1;
S406、将哈希值hj1与群管理员GM私钥xGM做乘法运算,得到乘法值pj1
S407、将应用服务提供商AP的公钥Xj、群管理员GM的公钥XGM和应用服务提供商AP的身份标识IDj做哈希运算,得到哈希值hj2;
S408、将哈希值hj2与随机数rj做乘法运算,得到乘法值pj2;
S409、将群管理员GM证书certGM、乘法值pj1和乘法值pj2做加法运算,得到应用服务提供商AP证书certj;
S410、通过群管理员GM将应用服务提供商AP证书certj和应用服务提供商AP的证书承诺值Rj发送给应用服务提供商AP,同时将应用服务提供商AP的证书certj、公钥Xj和证书承诺值Rj添加到群管理员GM的数据库中;
S411、将应用服务提供商AP的证书承诺值Rj、公钥Xj、群管理员GM的公钥XGM和网络管理NM公钥pkn用于验证应用服务提供商AP的证书certj,若验证通过,应用服务提供商AP存储证书承诺值Rj、公钥Xj和证书certj,完成应用服务提供商AP加入无线体域网,若验证未通过,则跳转至步骤S401。

6.根据权利要求5所述的基于证书的无线体域网群组认证与密钥协商方法,其特征在于,所述步骤S5包括以下步骤:
S501、将用户选择的随机数yi作为临时私钥;
S502、将临时私钥yi与椭圆曲线生成的元P进行基于椭圆曲线的倍点运算,得到用户临时公钥Yi;
S503、将用户证书certi与椭圆曲线生成的元P进行基于椭圆曲线的倍点运算,得到部分零知识证明值c1;
S504、将用户临时身份值Pid1与用户公钥Xi进行基于椭圆曲线的倍点运算,得到部分零知识证明值c2;
S505、将部分零知识证明值c1和c2进行加法运算,得到零知识证明值veri;
S506、将用户临时私钥yi与群管理员GM公钥XGM进行基于椭圆曲线的倍点运算,得到用户临时公钥验证值Y′i;
S507、将用户临时公钥验证值Y′i和零知识证明值veri进行哈希运算,得到哈希值h′i;
S508、将哈希值h′i与用户临时身份值Pid1进行异或运算,得到用户身份隐藏值mi;
S509、将零知识证明值veri、用户身份隐藏值mi和用户临时公钥Yi发送给群管理员GM;
S510、将群管理员GM长期私钥xGM与用户临时公钥Yi进行基于椭圆曲线的倍点运算,得到用户临时公钥验证值Y’'i,Y’'i=Y′i;
S511、通过群管理员GM将零知识证明值veri发给网络管理NM;
S512、通过网络管理NM将网络管理NM的长期私钥skn和群管理员GM的公钥XGM进行基于椭圆曲线的倍点运算,得到群管理员GM的公钥验证值p1;
S513、将公钥验证值p1和零知识证明值veri进行哈希运算,得到哈希值hpidi;
S514、将哈希值hpidi与用户临时身份值Pid1进行异或运算,得到用户身份验证值mpidi;
S515、通过网络管理NM将用户身份验证值mpidi发送给群管理员GM;
S516、利用长期私钥xGM、公钥pkn和零知识证明值veri对用户临时身份值Pid1进行验证,若通过验证,群管理员GM选择随机数c作为零知识证明挑战值,若未通过验证,则跳转至步骤S501;
S517、将用户临时公钥验证值Y’′i和用户零知识证明值veri进行哈希运算,得到哈希值h″i;
S518、将哈希值h″i与零知识证明挑战值c进行异或运算,得到隐藏值mveri;
S519、将用户临时公钥验证值Y’′i、零知识证明挑战值c和零知识证明值veri进行哈希运算,得到哈希值hc;
S520、通过群管理员GM将隐藏值mveri、哈希值hc和用户临时身份值Pid1发给用户;
S521、根据接收到哈希值hc和用户临时身份值Pid1,利用临时公钥验证值Y’′i、零知识证明挑战值c和零知识证明值veri对哈希值hc进行验证,若未通过验证,则跳转至步骤S501,若通过验证,将用户临时身份值Pid1和长期私钥xi进行乘法运算,得到乘法值pj3;
S522、将乘法值pj3与用户证书certi进行加法运算,得到加法值k1;
S523、将加法值k1与零知识证明挑战值c进行乘法运算,得到乘法值pk1;
S524、将乘法值pk1与用户临时私钥yi进行加法运算,得到零知识证明应答值zi;
S525、将零知识证明应答值zi和哈希值hi进行异或运算,得到应答隐藏值mc;
S526、将应答隐藏值mc和零知识证明挑战值c发送给群管理员GM;
S527、通过群管理员GM将哈希值h′i与应答隐藏值mc进行异或运算,得到零知识证明应答值z′i;
S528、通过用户临时公钥验证值Y’′i、零知识证明挑战值c和零知识证明值veri对零知识证明应答值z′i进行验证,若未通过验证,则跳转至步骤S501,若通过验证,将群管理员GM选择的随机数rgi与椭圆曲线生成的元P进行基于椭圆曲线的倍点运算,得到用户证书承诺值Rgi;
S529、根据群管理员GM选择的时间戳tgi,将用户公钥Xi、用户证书承诺值Rgi和时间戳tgi做哈希运算,得到哈希值hi1;
S530、将哈希值hi1与群管理员GM私钥xGM做乘法运算,得到乘法值pi1;
S531、将用户公钥Xi、群管理员GM公钥XGM和时间戳tgi做哈希运算,得到哈希值hi2;
S532、将哈希值hi2与随机数rgi做乘法运算,得到乘法值pi2;
S533、将群管理员GM的证书certGM、乘法值pi1和乘法值pi2做加法运算,得到用户证书certgi;
S534、通过群管理员GM将用户证书certgi、用户证书承诺值Rgi和时间戳tgi发给用户,同时将用户证书certgi、临时公钥Yi、证书承诺值Rgi和时间戳tgi添加到群管理员GM的数据库中;
S535、通过用户证书承诺值Rgi、时间戳tgi、群管理员GM公钥XGM和用户临时公钥Yi对用户证书certgi进行验证,若未通过验证,则跳转至步骤S501,若验证通过,则用户存储用户证书承诺值Rgi、时间戳tgi、用户证书certgi和临时公钥Yi,完成用户加入无线体域网。

7.根据权利要求6所述的基于证书的无线体域网群组认证与密钥协商方法,其特征在于,所述步骤S6包括以下步骤:
S601、将用户选择的随机数rij作为用户临时秘密值;
S602、将用户临时秘密值rij与用户临时公钥Yi进行基于椭圆曲线的倍点运算,得到用户会话密钥承诺值Rij;
S603、将用户选择的随机数di与椭圆曲线的生成元P进行基于椭圆曲线的倍点运算,得到签名隐藏值Di;
S604、将用户临时秘密值rij和临时私钥yi做乘法运算,得到乘法值pj4;
S605、将乘法值pj4与应用服务提供商AP公钥Xj进行基于椭圆曲线的倍点运算,得到用户会话密钥服务值ki;
S606、采用用户会话密钥服务值ki对用户证书承诺值Rgi、用户临时公钥Yi和时间戳tgi进行加密,得到加密值Ei;
S607、将用户选择的时间戳tij、用户会话密钥服务值ki和签名隐藏值Di进行哈希运算,得到哈希值hi3;
S608、将哈希值hi3与用户临时私钥yi进行乘法运算,得到乘法值pyi;
S609、将用户临时公钥Yi、用户会话密钥承诺值Rij和时间戳tij进行哈希运算,得到哈希值hi4;
S610、将哈希值hi4与随机数di进行乘法运算,得到乘法值pdi;
S611、将用户证书certgi、乘法值pyi和乘法值pdi进行加法运算,得到用户签名σi;
S612、将加密值Ei、签名隐藏值Di、用户会话密钥承诺值Rij、用户签名σi和时间戳tij发给应用服务提供商AP,向应用服务提供商AP申请服务,并请求会话密钥。

8.根据权利要求7所述的基于证书的无线体域网群组认证与密钥协商方法,其特征在于,所述步骤S7包括以下步骤:
S701、根据应用服务提供商AP收到的加密值Ei、签名隐藏值Di、用户会话密钥承诺值Rij、用户签名σi和时间戳tij,通过应用服务提供商AP将长期私钥xj与用户会话密钥承诺值Rij进行基于椭圆曲线的倍点运算,得到用户会话密钥服务值k′i;
S702、通过用户会话密钥服务值k′i解密加密值Ei,得到用户的证书承诺值Rgi、用户临时公钥Yi和时间戳tgi;
S703、通过用户的证书承诺值Rgi、用户临时公钥Yi、时间戳tgi、签名隐藏值Di和用户会话密钥承诺值Rij对用户签名σi进行验证,若验证未通过,则跳转至步骤S6,若验证通过,则将应用服务提供商AP选择的随机数rji作为临时秘密值,并将临时秘密值rji与应用服务提供商AP长期公钥Xj进行基于椭圆曲线的倍点运算,得到应用服务提供商AP会话密钥承诺值Rji;
S704、将应用服务提供商AP临时秘密值rji与临时私钥xj做乘法运算,得到乘法值pji1;
S705、将乘法值pji1与用户会话密钥承诺值Rij进行基于椭圆曲线的倍点运算,得到应用服务提供商AP的会话密钥kji;
S706、将应用服务提供商AP会话密钥承诺值Rji、会话密钥kji和时间戳tij进行哈希运算,得到会话密钥验证值macji;应用服务提供商AP将会话密钥验证值macji和会话密钥承诺值Rji发给用户,同时存储用户证书承诺值Rgi、用户临时公钥Yi、用户签名σi、签名隐藏值Di、时间戳tgi以及会话密钥kji,完成对用户的认证以及密钥协商。

9.根据权利要求8所述的基于证书的无线体域网群组认证与密钥协商方法,其特征在于,所述步骤S8包括以下步骤:
S801、根据用户收到的会话密钥验证值macji和会话密钥承诺值Rji,通过用户将临时秘密值rij和临时私钥yi做乘法运算,得到乘法值pji2;
S802、将乘法值pji2与应用服务提供商AP会话密钥承诺值Rji进行基于椭圆曲线的倍点运算,得到用户的会话密钥kij;
S803、利用会话密钥kij、应用服务提供商AP会话密钥承诺值Rji和时间戳tij对会话密钥验证值macji进行验证,若未通过验证,则跳转至步骤S6,若验证通过,则实现用户对应用服务提供商AP的认证。
说明书

技术领域

[0001] 本发明属于无线体域网领域,具体属于一种基于证书的无线体域网群组认证与密钥协商方法。

背景技术

[0002] 随着无线通信技术、可穿戴生物传感器技术的快速发展,可穿戴生物传感器从理论走向实际应用。在这种背景下以人体为中心能够实时监测人体健康状况的无线体域网(Wireless Body Area Network,简称WBAN)应运而生。无线体域网主要有以下通信实体组成:配备传感器、智能设备的用户(User)、负责为应用服务提供商(AP)和用户更新证书的群管理员(GM)、负责为用户提供服务的应用服务提供商(AP)以及作为证书生成中心的网络管理(NM)。WBAN信息采集传感器可部署在用户家中或穿戴在身上,所采集的生理信息由用户智能设备实时共享给应用服务提供商(AP),网络管理(NM)为各通信参与者生成证书,然后在网络管理(NM)的监控下,通过IEEE 802.15.6通信协议,用户和群管理员(GM)建立通信,并由群管理员(GM)为用户和应用服务提供商(AP)更新证书,最后用户和应用服务提供商(AP)利用新证书实现认证与密钥协商。为了保证用户和应用服务提供商(AP)之间身份的真实可靠,需要进行安全的身份认证以及密钥协商。
[0003] 现有技术中为满足用户的匿名性,网络管理(NM)需要为用户频繁更新证书,存在系统效率低的问题。因此,针对无线体域网环境下同时满足用户在应用服务提供商(AP)处匿名性、条件隐私保护以及系统效率要求,需要设计安全高效的无线体域网认证与密钥协商方案。

发明内容

[0004] 针对现有技术中的上述不足,本发明提供的一种基于证书的无线体域网群组认证与密钥协商方法解决了现有技术中无线体域网环境下无法同时满足用户在应用服务提供商AP处匿名性、条件隐私保护以及系统效率高的问题。
[0005] 为了达到上述发明目的,本发明采用的技术方案为:一种基于证书的无线体域网群组认证与密钥协商方法,包括以下步骤:
[0006] S1、构建无线体域网的网络管理NM的长期私钥skn和公钥pkn;
[0007] S2、根据网络管理NM的长期私钥skn和公钥pkn,通过网络管理NM向群管理员GM颁发证书certGM,构建无线体域网的群管理员GM;
[0008] S3、根据网络管理NM的长期私钥skn和公钥pkn,通过网络管理NM向用户颁发证书certi,构建无线体域网的用户;
[0009] S4、根据群管理员GM的证书certGM、长期私钥xGM和公钥XGM,向构建了群管理员GM和用户的无线体域网加入应用服务提供商AP;
[0010] S5、根据用户的证书certi、群管理员GM的长期私钥xGM和群管理员GM的公钥XGM,向构建了应用服务提供商AP的无线体域网加入用户;
[0011] S6、根据用户证书certi,对引入的随机参数进行签名,得到用户签名σi,向应用服务提供商AP申请服务,并请求会话密钥;
[0012] S7、根据用户签名σi和与用户通信的用户会话密钥服务值k′i,对用户进行认证以及密钥协商;
[0013] S8、对应用服务提供商AP进行认证。
[0014] 进一步地:所述步骤S1包括以下步骤:
[0015] S101、将网络管理NM选取的随机数skn作为长期私钥;
[0016] S102、将长期私钥skn与椭圆曲线生成的元P进行基于椭圆曲线的倍点运算,得到网络管理NM的公钥pkn。
[0017] 进一步地:所述步骤S2包括以下步骤:
[0018] S201、将群管理员GM选取的随机参数xGM作为长期私钥;
[0019] S202、将长期私钥xGM与椭圆曲线生成的元P进行基于椭圆曲线的倍点运算,得到群管理员GM的公钥XGM;
[0020] S203、将网络管理NM选取的随机数rGM与椭圆曲线生成的元P进行基于椭圆曲线的倍点运算,得到群管理员GM证书承诺值RGM;
[0021] S204、将群管理员GM公钥XGM、群管理员GM证书承诺值RGM和群管理员GM的身份标识IDGM进行哈希运算,得到哈希值hGM;
[0022] S205、将哈希值hGM与网络管理NM的长期私钥skn做乘法运算,得到乘法值PGM;
[0023] S206、将乘法值PGM与随机数rGM做加法运算,得到群管理员GM证书certGM;
[0024] S207、通过网络管理NM将群管理员GM证书certGM和证书承诺值RGM发给群管理员GM,同时将群管理员GM证书certGM、证书承诺值RGM、公钥XGM和身份标识IDGM添加到网络管理NM的数据库中;
[0025] S208、利用网络管理NM的公钥pkn、群管理员GM的证书承诺值RGM、群管理员GM的公钥XGM和身份标识IDGM对证书certGM进行验证,若验证通过,则群管理员GM存储证书certGM、证书承诺值RGM、公钥XGM和身份标识IDGM,完成群管理员GM的构建,若验证未通过,则跳转至步骤S201。
[0026] 进一步地:所述步骤S3包括以下步骤:
[0027] S301、将用户选取随机参数xi作为长期私钥;
[0028] S302、将长期私钥xi与椭圆曲线生成的元P进行基于椭圆曲线的倍点运算,得到用户公钥Xi,将用户公钥Xi和身份标识IDi发给网络管理NM;
[0029] S303、将网络管理NM选取的随机数ri与椭圆曲线生成的元P进行基于椭圆曲线的倍点运算,得到用户证书承诺值Ri;
[0030] S304、将用户公钥Xi、用户证书承诺值Ri和用户身份标识IDi进行哈希运算,得到哈希值hi;
[0031] S305、将哈希值hi与网络管理NM的长期私钥skn做乘法运算,得到乘法值pi;
[0032] S306、将乘法值pi与随机数ri做加法运算,得到用户证书certi;
[0033] S307、将网络管理NM的长期私钥skn与用户公钥Xi进行基于椭圆曲线的倍点运算,得到共享密钥值sknXi;
[0034] S308、将共享密钥值sknXi与用户身份标识IDi做哈希运算,得到临时身份初始值Pid0;
[0035] S309、将临时身份初始值Pid0和共享密钥值sknXi做哈希运算,得到用户临时身份值Pid1;
[0036] S310、将通过网络管理NM将用户证书承诺值Ri和用户证书certi发给用户,同时将用户的公钥Xi、证书certi、用户临时身份值Pid1、证书承诺值Ri和用户身份标识IDi添加到网络管理NM的数据库中;
[0037] S311、利用网络管理NM的公钥pkn、用户公钥Xi、用户临时身份值Pid1、证书承诺值Ri和用户身份标识IDi对证书certi进行验证,若验证通过,则用户存储公钥Xi、临时身份值Pid1、证书certi、证书承诺值Ri和身份标识IDi,完成无线体域网用户的构建,若验证未通过,则跳转至步骤S301。
[0038] 进一步地:所述步骤S4包括以下步骤:
[0039] S401、将应用服务提供商AP选取的随机数xj作为长期私钥;
[0040] S402、将长期私钥xj与椭圆曲线的生成元P进行基于椭圆曲线的倍点运算,得到应用服务提供商AP公钥Xj;
[0041] S403、通过应用服务提供商AP将应用服务提供商AP公钥Xj和应用服务提供商AP的身份标识IDj发给群管理员GM;
[0042] S404、将群管理员GM选择的随机数rj与椭圆曲线生成的元P进行基于椭圆曲线的倍点运算,得到应用服务提供商AP的证书承诺值Rj;
[0043] S405、将应用服务提供商AP的公钥Xj、应用服务提供商AP的证书承诺值Rj和应用服务提供商AP的身份标识IDj做哈希运算,得到哈希值hj1;
[0044] S406、将哈希值hj1与群管理员GM私钥xGM做乘法运算,得到乘法值pj1[0045] S407、将应用服务提供商AP的公钥Xj、群管理员GM的公钥XGM和应用服务提供商AP的身份标识IDj做哈希运算,得到哈希值hj2;
[0046] S408、将哈希值hj2与随机数rj做乘法运算,得到乘法值pj2;
[0047] S409、将群管理员GM证书certGM、乘法值pj1和乘法值pj2做加法运算,得到应用服务提供商AP证书certj;
[0048] S410、通过群管理员GM将应用服务提供商AP证书certj和应用服务提供商AP的证书承诺值Rj发送给应用服务提供商AP,同时将应用服务提供商AP的证书certj、公钥Xj和证书承诺值Rj添加到群管理员GM的数据库中;
[0049] S411、将应用服务提供商AP的证书承诺值Rj、公钥Xj、群管理员GM的公钥XGM和网络管理NM公钥pkn用于验证应用服务提供商AP的证书certj,若验证通过,应用服务提供商AP存储证书承诺值Rj、公钥Xj和证书certj,完成应用服务提供商AP加入无线体域网,若验证未通过,则跳转至步骤S401。
[0050] 进一步地:所述步骤S5包括以下步骤:
[0051] S501、将用户选择的随机数yi作为临时私钥;
[0052] S502、将临时私钥yi与椭圆曲线生成的元P进行基于椭圆曲线的倍点运算,得到用户临时公钥Yi;
[0053] S503、将用户证书certi与椭圆曲线生成的元P进行基于椭圆曲线的倍点运算,得到部分零知识证明值c1;
[0054] S504、将用户临时身份值Pid1与用户公钥Xi进行基于椭圆曲线的倍点运算,得到部分零知识证明值c2;
[0055] S505、将部分零知识证明值c1和c2进行加法运算,得到零知识证明值veri;
[0056] S506、将用户临时私钥yi与群管理员GM公钥XGM进行基于椭圆曲线的倍点运算,得到用户临时公钥验证值Y′i;
[0057] S507、将用户临时公钥验证值Y′i和零知识证明值veri进行哈希运算,得到哈希值h′i;
[0058] S508、将哈希值h′i与用户临时身份值Pid1进行异或运算,得到用户身份隐藏值mi;
[0059] S509、将零知识证明值veri、用户身份隐藏值mi和用户临时公钥Yi发送给群管理员GM;
[0060] S510、将群管理员GM长期私钥xGM与用户临时公钥Yi进行基于椭圆曲线的倍点运算,得到用户临时公钥验证值Y’′i,Y’′i=Y′i;
[0061] S511、通过群管理员GM将零知识证明值veri发给网络管理NM;
[0062] S512、通过网络管理NM将网络管理NM的长期私钥skn和群管理员GM的公钥XGM进行基于椭圆曲线的倍点运算,得到群管理员GM的公钥验证值p1;
[0063] S513、将公钥验证值p1和零知识证明值veri进行哈希运算,得到哈希值hpidi;
[0064] S514、将哈希值hpidi与用户临时身份值Pid1进行异或运算,得到用户身份验证值mpidi;
[0065] S515、通过网络管理NM将用户身份验证值mpidi发送给群管理员GM;
[0066] S516、利用长期私钥xGM、公钥pkn和零知识证明值veri对用户临时身份值Pid1进行验证,若通过验证,群管理员GM选择随机数c作为零知识证明挑战值,若未通过验证,则跳转至步骤S501;
[0067] S517、将用户临时公钥验证值Y’′i和用户零知识证明值veri进行哈希运算,得到哈希值h″i;
[0068] S518、将哈希值h″i与零知识证明挑战值c进行异或运算,得到隐藏值mveri;
[0069] S519、将用户临时公钥验证值Y’′i、零知识证明挑战值c和零知识证明值veri进行哈希运算,得到哈希值hc;
[0070] S520、通过群管理员GM将隐藏值mveri、哈希值hc和用户临时身份值Pid1发给用户;
[0071] S521、根据接收到哈希值hc和用户临时身份值Pid1,利用临时公钥验证值Y’′i、零知识证明挑战值c和零知识证明值veri对哈希值hc进行验证,若未通过验证,则跳转至步骤S501,若通过验证,将用户临时身份值Pid1和长期私钥xi进行乘法运算,得到乘法值pj3;
[0072] S522、将乘法值pj3与用户证书certi进行加法运算,得到加法值k1;
[0073] S523、将加法值k1与零知识证明挑战值c进行乘法运算,得到乘法值pk1;
[0074] S524、将乘法值pk1与用户临时私钥yi进行加法运算,得到零知识证明应答值zi;
[0075] S525、将零知识证明应答值zi和哈希值hi进行异或运算,得到应答隐藏值mc;
[0076] S526、将应答隐藏值mc和零知识证明挑战值c发送给群管理员GM;
[0077] S527、通过群管理员GM将哈希值h′i与应答隐藏值mc进行异或运算,得到零知识证明应答值z′i;
[0078] S528、通过用户临时公钥验证值Y’′i、零知识证明挑战值c和零知识证明值veri对零知识证明应答值z′i进行验证,若未通过验证,则跳转至步骤S501,若通过验证,将群管理员GM选择的随机数rgi与椭圆曲线生成的元P进行基于椭圆曲线的倍点运算,得到用户证书承诺值Rgi;
[0079] S529、根据群管理员GM选择的时间戳tgi,将用户公钥Xi、用户证书承诺值Rgi和时间戳tgi做哈希运算,得到哈希值hi1;
[0080] S530、将哈希值hi1与群管理员GM私钥xGM做乘法运算,得到乘法值pi1;
[0081] S531、将用户公钥Xi、群管理员GM公钥XGM和时间戳tgi做哈希运算,得到哈希值hi2;
[0082] S532、将哈希值hi2与随机数rgi做乘法运算,得到乘法值pi2;
[0083] S533、将群管理员GM的证书certGM、乘法值pi1和乘法值pi2做加法运算,得到用户证书certgi;
[0084] S534、通过群管理员GM将用户证书certgi、用户证书承诺值Rgi和时间戳tgi发给用户,同时将用户证书certgi、临时公钥Yi、证书承诺值Rgi和时间戳tgi添加到群管理员GM的数据库中;
[0085] S535、通过用户证书承诺值Rgi、时间戳tgi、群管理员GM公钥XGM和用户临时公钥Yi对用户证书certgi进行验证,若未通过验证,则跳转至步骤S501,若验证通过,则用户存储用户证书承诺值Rgi、时间戳tgi、用户证书certgi和临时公钥Yi,完成用户加入无线体域网。
[0086] 进一步地:所述步骤S6包括以下步骤:
[0087] S601、将用户选择的随机数rij作为用户临时秘密值;
[0088] S602、将用户临时秘密值rij与用户临时公钥Yi进行基于椭圆曲线的倍点运算,得到用户会话密钥承诺值Rij;
[0089] S603、将用户选择的随机数di与椭圆曲线的生成元P进行基于椭圆曲线的倍点运算,得到签名隐藏值Di;
[0090] S604、将用户临时秘密值rij和临时私钥yi做乘法运算,得到乘法值pj4;
[0091] S605、将乘法值pj4与应用服务提供商AP公钥Xj进行基于椭圆曲线的倍点运算,得到用户会话密钥服务值ki;
[0092] S606、采用用户会话密钥服务值ki对用户证书承诺值Rgi、用户临时公钥Yi和时间戳tgi进行加密,得到加密值Ei;
[0093] S607、将用户选择的时间戳tij、用户会话密钥服务值ki和签名隐藏值Di进行哈希运算,得到哈希值hi3;
[0094] S608、将哈希值hi3与用户临时私钥yi进行乘法运算,得到乘法值pyi;
[0095] S609、将用户临时公钥Yi、用户会话密钥承诺值Rij和时间戳tij进行哈希运算,得到哈希值hi4;
[0096] S610、将哈希值hi4与随机数di进行乘法运算,得到乘法值pdi;
[0097] S611、将用户证书certgi、乘法值pyi和乘法值pdi进行加法运算,得到用户签名σi;
[0098] S612、将加密值Ei、签名隐藏值Di、用户会话密钥承诺值Rij、用户签名σi和时间戳tij发给应用服务提供商AP,向应用服务提供商AP申请服务,并请求会话密钥。
[0099] 进一步地:所述步骤S7包括以下步骤:
[0100] S701、根据应用服务提供商AP收到的加密值Ei、签名隐藏值Di、用户会话密钥承诺值Rij、用户签名σi和时间戳tij,通过应用服务提供商AP将长期私钥xj与用户会话密钥承诺值Rij进行基于椭圆曲线的倍点运算,得到用户会话密钥服务值k′i;
[0101] S702、通过用户会话密钥服务值k′i解密加密值Ei,得到用户的证书承诺值Rgi、用户临时公钥Yi和时间戳tgi;
[0102] S703、通过用户的证书承诺值Rgi、用户临时公钥Yi、时间戳tgi、签名隐藏值Di和用户会话密钥承诺值Rij对用户签名σi进行验证,若验证未通过,则跳转至步骤S6,若验证通过,则将应用服务提供商AP选择的随机数rji作为临时秘密值,并将临时秘密值rji与应用服务提供商AP长期公钥Xj进行基于椭圆曲线的倍点运算,得到应用服务提供商AP会话密钥承诺值Rji;
[0103] S704、将应用服务提供商AP临时秘密值rji与临时私钥xj做乘法运算,得到乘法值pji1;
[0104] S705、将乘法值pji1与用户会话密钥承诺值Rij进行基于椭圆曲线的倍点运算,得到应用服务提供商AP的会话密钥kji;
[0105] S706、将应用服务提供商AP会话密钥承诺值Rji、会话密钥kji和时间戳tij进行哈希运算,得到会话密钥验证值macji;应用服务提供商AP将会话密钥验证值macji和会话密钥承诺值Rji发给用户,同时存储用户证书承诺值Rgi、用户临时公钥Yi、用户签名σi、签名隐藏值Di、时间戳tgi以及会话密钥kji,完成对用户的认证以及密钥协商。
[0106] 进一步地:所述步骤S8包括以下步骤:
[0107] S801、根据用户收到的会话密钥验证值macji和会话密钥承诺值Rji,通过用户将临时秘密值rij和临时私钥yi做乘法运算,得到乘法值pji2;
[0108] S802、将乘法值pji2与应用服务提供商AP会话密钥承诺值Rji进行基于椭圆曲线的倍点运算,得到用户的会话密钥kij;
[0109] S803、利用会话密钥kij、应用服务提供商AP会话密钥承诺值Rji和时间戳tij对会话密钥验证值macji进行验证,若未通过验证,则跳转至步骤S6,若验证通过,则实现用户对应用服务提供商AP的认证。
[0110] 本发明的有益效果为:一种基于证书的无线体域网群组认证与密钥协商方法,该方案采用将应用服务提供商AP组群的方式,将网络管理NM部分证书分发权限下放给群管理员GM,有效的减轻了网络管理NM计算负担和应用服务提供商AP撤销代价,提高了系统效率,在认证阶段,通过引入零知识证明协议,在网络管理NM处证书的条件下无需更新用户,使该方案同时实现用户和群管理员GM认证以及在应用服务提供商AP处匿名性,利用群管理员GM中用户的零知识证明值和用户的临时身份实现对用户身份的追踪,实现对用户的条件隐私保护。

实施方案

[0112] 下面对本发明的具体实施方式进行描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
[0113] 如图1所示,一种基于证书的无线体域网群组认证与密钥协商方法,包括以下步骤:
[0114] S1、构建无线体域网的网络管理NM的长期私钥skn和公钥pkn,网络管理NM将应用服务提供商AP组群,并选出群管理员GM;
[0115] 所述步骤S1包括以下步骤:
[0116] S101、将网络管理NM选取的随机数skn作为长期私钥;
[0117] S102、将长期私钥skn与椭圆曲线生成的元P进行基于椭圆曲线的倍点运算,得到网络管理NM的公钥pkn。
[0118] S2、根据网络管理NM的长期私钥skn和公钥pkn,通过网络管理NM向群管理员GM颁发证书certGM,构建无线体域网的群管理员GM;
[0119] 所述步骤S2包括以下步骤:
[0120] S201、将群管理员GM选取的随机参数xGM作为长期私钥;
[0121] S202、将长期私钥xGM与椭圆曲线生成的元P进行基于椭圆曲线的倍点运算,得到群管理员GM的公钥XGM;
[0122] S203、将网络管理NM选取的随机数rGM与椭圆曲线生成的元P进行基于椭圆曲线的倍点运算,得到群管理员GM证书承诺值RGM;
[0123] S204、将群管理员GM公钥XGM、群管理员GM证书承诺值RGN和群管理员GM的身份标识IDGM进行哈希运算,得到哈希值hGM;
[0124] S205、将哈希值hGM与网络管理NM的长期私钥skn做乘法运算,得到乘法值PGM;
[0125] S206、将乘法值PGM与随机数rGM做加法运算,得到群管理员GM证书certGM;
[0126] S207、通过网络管理NM将群管理员GM证书certGM和证书承诺值RGM发给群管理员GM,同时将群管理员GM证书certGM、证书承诺值RGM、公钥XGM和身份标识IDGM添加到网络管理NM的数据库中;
[0127] S208、利用网络管理NM的公钥pkn、群管理员GM的证书承诺值RGM、群管理员GM的公钥XGM和身份标识IDGM对证书certGM进行验证,若验证通过,则群管理员GM存储证书certGM、证书承诺值RGM、公钥XGM和身份标识IDGM,完成群管理员GM的构建,若验证未通过,则跳转至步骤S201。
[0128] S3、根据网络管理NM的长期私钥skn和公钥pkn,通过网络管理NM向用户颁发证书certi,构建无线体域网的用户;
[0129] 所述步骤S3包括以下步骤:
[0130] S301、将用户选取随机参数xi作为长期私钥;
[0131] S302、将长期私钥xi与椭圆曲线生成的元P进行基于椭圆曲线的倍点运算,得到用户公钥Xi,将用户公钥Xi和身份标识IDi发给网络管理NM;
[0132] S303、将网络管理NM选取的随机数ri与椭圆曲线生成的元P进行基于椭圆曲线的倍点运算,得到用户证书承诺值Ri;
[0133] S304、将用户公钥Xi、用户证书承诺值Ri和用户身份标识IDi进行哈希运算,得到哈希值hi;
[0134] S305、将哈希值hi与网络管理NM的长期私钥skn做乘法运算,得到乘法值pi;
[0135] S306、将乘法值pi与随机数ri做加法运算,得到用户证书certi;
[0136] S307、将网络管理NM的长期私钥skn与用户公钥Xi进行基于椭圆曲线的倍点运算,得到共享密钥值sknXi;
[0137] S308、将共享密钥值sknXi与用户身份标识IDi做哈希运算,得到临时身份初始值Pid0;
[0138] S309、将临时身份初始值Pid0和共享密钥值sknXi做哈希运算,得到用户临时身份值Pid1;
[0139] S310、将通过网络管理NM将用户证书承诺值Ri和用户证书certi发给用户,同时将用户的公钥Xi、证书certi、用户临时身份值Pid1、证书承诺值Ri和用户身份标识IDi添加到网络管理NM的数据库中;
[0140] S311、利用网络管理NM的公钥pkn、用户公钥Xi、用户临时身份值Pid1、证书承诺值Ri和用户身份标识IDi对证书certi进行验证,若验证通过,则用户存储公钥Xi、临时身份值Pid1、证书certi、证书承诺值Ri和身份标识IDi,完成无线体域网用户的构建,若验证未通过,则跳转至步骤S301。
[0141] S4、根据群管理员GM的证书certGM、长期私钥xGM和公钥XGM,向构建了群管理员GM和用户的无线体域网加入应用服务提供商AP;
[0142] 所述步骤S4包括以下步骤:
[0143] S401、将应用服务提供商AP选取的随机数xj作为长期私钥;
[0144] S402、将长期私钥xj与椭圆曲线的生成元P进行基于椭圆曲线的倍点运算,得到应用服务提供商AP公钥Xj;
[0145] S403、通过应用服务提供商AP将应用服务提供商AP公钥Xj和应用服务提供商AP的身份标识IDj发给群管理员GM;
[0146] S404、将群管理员GM选择的随机数rj与椭圆曲线生成的元P进行基于椭圆曲线的倍点运算,得到应用服务提供商AP的证书承诺值Rj;
[0147] S405、将应用服务提供商AP的公钥Xj、应用服务提供商AP的证书承诺值Rj和应用服务提供商AP的身份标识IDj做哈希运算,得到哈希值hj1;
[0148] S406、将哈希值hj1与群管理员GM私钥xGM做乘法运算,得到乘法值pj1[0149] S407、将应用服务提供商AP的公钥Xj、群管理员GM的公钥XGM和应用服务提供商AP的身份标识IDj做哈希运算,得到哈希值hj2;
[0150] S408、将哈希值hj2与随机数rj做乘法运算,得到乘法值pj2;
[0151] S409、将群管理员GM证书certGM、乘法值pj1和乘法值pj2做加法运算,得到应用服务提供商AP证书certj;
[0152] S410、通过群管理员GM将应用服务提供商AP证书certj和应用服务提供商AP的证书承诺值Rj发送给应用服务提供商AP,同时将应用服务提供商AP的证书certj、公钥Xj和证书承诺值Rj添加到群管理员GM的数据库中;
[0153] S411、将应用服务提供商AP的证书承诺值Rj、公钥Xj、群管理员GM的公钥XGM和网络管理NM公钥pkn用于验证应用服务提供商AP的证书certj,若验证通过,应用服务提供商AP存储证书承诺值Rj、公钥Xj和证书certj,完成应用服务提供商AP加入无线体域网,若验证未通过,则跳转至步骤S401。
[0154] S5、根据用户的证书certi、群管理员GM的长期私钥xGM和群管理员GM的公钥XGM,向构建了应用服务提供商AP的无线体域网加入用户;
[0155] 所述步骤S5包括以下步骤:
[0156] S501、将用户选择的随机数yi作为临时私钥;
[0157] S502、将临时私钥yi与椭圆曲线生成的元P进行基于椭圆曲线的倍点运算,得到用户临时公钥Yi;
[0158] S503、将用户证书certi与椭圆曲线生成的元P进行基于椭圆曲线的倍点运算,得到部分零知识证明值c1;
[0159] S504、将用户临时身份值Pid1与用户公钥Xi进行基于椭圆曲线的倍点运算,得到部分零知识证明值c2;
[0160] S505、将部分零知识证明值c1和c2进行加法运算,得到零知识证明值veri;
[0161] S506、将用户临时私钥yi与群管理员GM公钥XGM进行基于椭圆曲线的倍点运算,得到用户临时公钥验证值Y′i;
[0162] S507、将用户临时公钥验证值Y′i和零知识证明值veri进行哈希运算,得到哈希值h′i;
[0163] S508、将哈希值h′i与用户临时身份值Pid1进行异或运算,得到用户身份隐藏值mi;
[0164] S509、将零知识证明值veri、用户身份隐藏值mi和用户临时公钥Yi发送给群管理员GM;
[0165] S510、将群管理员GM长期私钥xGM与用户临时公钥Yi进行基于椭圆曲线的倍点运算,得到用户临时公钥验证值Y’′i,Y’′i=Y′i;
[0166] S511、通过群管理员GM将零知识证明值veri发给网络管理NM;
[0167] S512、通过网络管理NM将网络管理NM的长期私钥skn和群管理员GM的公钥XGM进行基于椭圆曲线的倍点运算,得到群管理员GM的公钥验证值p1;
[0168] S513、将公钥验证值p1和零知识证明值veri进行哈希运算,得到哈希值hpidi;
[0169] S514、将哈希值hpidi与用户临时身份值Pid1进行异或运算,得到用户身份验证值mpidi;
[0170] S515、通过网络管理NM将用户身份验证值mpidi发送给群管理员GM;
[0171] S516、利用长期私钥xGM、公钥pkn和零知识证明值veri对用户临时身份值Pid1进行验证,若通过验证,群管理员GM选择随机数c作为零知识证明挑战值,若未通过验证,则跳转至步骤S501;
[0172] S517、将用户临时公钥验证值Y’′i和用户零知识证明值veri进行哈希运算,得到哈希值h″i;
[0173] S518、将哈希值h″i与零知识证明挑战值c进行异或运算,得到隐藏值mveri;
[0174] S519、将用户临时公钥验证值Y’′i、零知识证明挑战值c和零知识证明值veri进行哈希运算,得到哈希值hc;
[0175] S520、通过群管理员GM将隐藏值mveri、哈希值hc和用户临时身份值Pid1发给用户;
[0176] S521、根据接收到哈希值hc和用户临时身份值Pid1,利用临时公钥验证值Y’′i、零知识证明挑战值c和零知识证明值veri对哈希值hc进行验证,若未通过验证,则跳转至步骤S501,若通过验证,将用户临时身份值Pid1和长期私钥xi进行乘法运算,得到乘法值pj3;
[0177] S522、将乘法值pj3与用户证书certi进行加法运算,得到加法值k1;
[0178] S523、将加法值k1与零知识证明挑战值c进行乘法运算,得到乘法值pk1;
[0179] S524、将乘法值pk1与用户临时私钥yi进行加法运算,得到零知识证明应答值zi;
[0180] S525、将零知识证明应答值zi和哈希值hi进行异或运算,得到应答隐藏值mc;
[0181] S526、将应答隐藏值mc和零知识证明挑战值c发送给群管理员GM;
[0182] S527、通过群管理员GM将哈希值h′i与应答隐藏值mc进行异或运算,得到零知识证明应答值z′i;
[0183] S528、通过用户临时公钥验证值Y’′i、零知识证明挑战值c和零知识证明值veri对零知识证明应答值z′i进行验证,若未通过验证,则跳转至步骤S501,若通过验证,将群管理员GM选择的随机数rgi与椭圆曲线生成的元P进行基于椭圆曲线的倍点运算,得到用户证书承诺值Rgi;
[0184] S529、根据群管理员GM选择的时间戳tgi,将用户公钥Xi、用户证书承诺值Rgi和时间戳tgi做哈希运算,得到哈希值hi1;
[0185] S530、将哈希值hi1与群管理员GM私钥xGM做乘法运算,得到乘法值pi1;
[0186] S531、将用户公钥Xi、群管理员GM公钥XGM和时间戳tgi做哈希运算,得到哈希值hi2;
[0187] S532、将哈希值hi2与随机数rgi做乘法运算,得到乘法值pi2;
[0188] S533、将群管理员GM的证书certGM、乘法值pi1和乘法值pi2做加法运算,得到用户证书certgi;
[0189] S534、通过群管理员GM将用户证书certgi、用户证书承诺值Rgi和时间戳tgi发给用户,同时将用户证书certgi、临时公钥Yi、证书承诺值Rgi和时间戳tgi添加到群管理员GM的数据库中;
[0190] S535、通过用户证书承诺值Rgi、时间戳tgi、群管理员GM公钥XGM和用户临时公钥Yi对用户证书certgi进行验证,若未通过验证,则跳转至步骤S501,若验证通过,则用户存储用户证书承诺值Rgi、时间戳tgi、用户证书certgi和临时公钥Yi,完成用户加入无线体域网。
[0191] S6、根据用户证书certi,对引入的随机参数进行签名,得到用户签名σi,向应用服务提供商AP申请服务,并请求会话密钥;
[0192] 所述步骤S6包括以下步骤:
[0193] S601、将用户选择的随机数rij作为用户临时秘密值;
[0194] S602、将用户临时秘密值rij与用户临时公钥Yi进行基于椭圆曲线的倍点运算,得到用户会话密钥承诺值Rij;
[0195] S603、将用户选择的随机数di与椭圆曲线的生成元P进行基于椭圆曲线的倍点运算,得到签名隐藏值Di;
[0196] S604、将用户临时秘密值rij和临时私钥yi做乘法运算,得到乘法值pj4;
[0197] S605、将乘法值pj4与应用服务提供商AP公钥Xj进行基于椭圆曲线的倍点运算,得到用户会话密钥服务值ki;
[0198] S606、采用用户会话密钥服务值ki对用户证书承诺值Rgi、用户临时公钥Yi和时间戳tgi进行加密,得到加密值Ei;
[0199] S607、将用户选择的时间戳tij、用户会话密钥服务值ki和签名隐藏值Di进行哈希运算,得到哈希值hi3;
[0200] S608、将哈希值hi3与用户临时私钥yi进行乘法运算,得到乘法值pyi;
[0201] S609、将用户临时公钥Yi、用户会话密钥承诺值Rij和时间戳tij进行哈希运算,得到哈希值hi4;
[0202] S610、将哈希值hi4与随机数di进行乘法运算,得到乘法值pdi;
[0203] S611、将用户证书certgi、乘法值pyi和乘法值pdi进行加法运算,得到用户签名σi;
[0204] S612、将加密值Ei、签名隐藏值Di、用户会话密钥承诺值Rij、用户签名σi和时间戳tij发给应用服务提供商AP,向应用服务提供商AP申请服务,并请求会话密钥。
[0205] S7、根据用户签名σi和与用户通信的用户会话密钥服务值k′i,对用户进行认证以及密钥协商;
[0206] 所述步骤S7包括以下步骤:
[0207] S701、根据应用服务提供商AP收到的加密值Ei、签名隐藏值Di、用户会话密钥承诺值Rij、用户签名σi和时间戳tij,通过应用服务提供商AP将长期私钥xj与用户会话密钥承诺值Rij进行基于椭圆曲线的倍点运算,得到用户会话密钥服务值k′i;
[0208] S702、通过用户会话密钥服务值k′i解密加密值Ei,得到用户的证书承诺值Rgi、用户临时公钥Yi和时间戳tgi;
[0209] S703、通过用户的证书承诺值Rgi、用户临时公钥Yi、时间戳tgi、签名隐藏值Di和用户会话密钥承诺值Rij对用户签名σi进行验证,若验证未通过,则跳转至步骤S6,若验证通过,则将应用服务提供商AP选择的随机数rji作为临时秘密值,并将临时秘密值rji与应用服务提供商AP长期公钥Xj进行基于椭圆曲线的倍点运算,得到应用服务提供商AP会话密钥承诺值Rji;
[0210] S704、将应用服务提供商AP临时秘密值rji与临时私钥xj做乘法运算,得到乘法值pji1;
[0211] S705、将乘法值pji1与用户会话密钥承诺值Rij进行基于椭圆曲线的倍点运算,得到应用服务提供商AP的会话密钥kji;
[0212] S706、将应用服务提供商AP会话密钥承诺值Rji、会话密钥kji和时间戳tij进行哈希运算,得到会话密钥验证值macji;应用服务提供商AP将会话密钥验证值macji和会话密钥承诺值Rji发给用户,同时存储用户证书承诺值Rgi、用户临时公钥Yi、用户签名σi、签名隐藏值Di、时间戳tgi以及会话密钥kji,完成对用户的认证以及密钥协商。
[0213] S8、对应用服务提供商AP进行认证。
[0214] 所述步骤S8包括以下步骤:
[0215] S801、根据用户收到的会话密钥验证值macji和会话密钥承诺值Rji,通过用户将临时秘密值rij和临时私钥yi做乘法运算,得到乘法值pji2;
[0216] S802、将乘法值pji2与应用服务提供商AP会话密钥承诺值Rji进行基于椭圆曲线的倍点运算,得到用户的会话密钥kij;
[0217] S803、利用会话密钥kij、应用服务提供商AP会话密钥承诺值Rji和时间戳tij对会话密钥验证值macji进行验证,若未通过验证,则跳转至步骤S6,若验证通过,则实现用户对应用服务提供商AP的认证。
[0218] 本发明的有益效果为:一种基于证书的无线体域网群组认证与密钥协商方法,该方案采用将应用服务提供商AP组群的方式,将网络管理NM部分证书分发权限下放给群管理员GM,有效的减轻了网络管理NM计算负担和应用服务提供商AP撤销代价,提高了系统效率,在认证阶段,通过引入零知识证明协议,在网络管理NM处证书的条件下无需更新用户,使该方案同时实现用户和群管理员GM认证以及在应用服务提供商AP处匿名性,利用群管理员GM中用户的零知识证明值和用户的临时身份实现对用户身份的追踪,实现对用户的条件隐私保护。

附图说明

[0111] 图1为一种基于证书的无线体域网群组认证与密钥协商方法流程图。
版权所有:盲专网 ©2023 zlpt.xyz  蜀ICP备2023003576号