首页 > 专利 > 杭州电子科技大学 > 一种具有反跟踪特性的安全身份认证方法专利详情

一种具有反跟踪特性的安全身份认证方法   0    0

有效专利 查看PDF
专利申请流程有哪些步骤?
专利申请流程图
申请
申请号:指国家知识产权局受理一件专利申请时给予该专利申请的一个标示号码。唯一性原则。
申请日:提出专利申请之日。
2018-09-03
申请公布
申请公布指发明专利申请经初步审查合格后,自申请日(或优先权日)起18个月期满时的公布或根据申请人的请求提前进行的公布。
申请公布号:专利申请过程中,在尚未取得专利授权之前,国家专利局《专利公报》公开专利时的编号。
申请公布日:申请公开的日期,即在专利公报上予以公开的日期。
2019-03-12
授权
授权指对发明专利申请经实质审查没有发现驳回理由,授予发明专利权;或对实用新型或外观设计专利申请经初步审查没有发现驳回理由,授予实用新型专利权或外观设计专利权。
2021-05-25
预估到期
发明专利权的期限为二十年,实用新型专利权期限为十年,外观设计专利权期限为十五年,均自申请日起计算。专利届满后法律终止保护。
2038-09-03
基本信息
有效性 有效专利 专利类型 发明专利
申请号 CN201811019796.X 申请日 2018-09-03
公开/公告号 CN109347626B 公开/公告日 2021-05-25
授权日 2021-05-25 预估到期日 2038-09-03
申请年 2018年 公开/公告年 2021年
缴费截止日
分类号 H04L9/08H04L9/32H04L29/06 主分类号 H04L9/08
是否联合申请 独立申请 文献类型号 B
独权数量 1 从权数量 3
权利要求数量 4 非专利引证数量 1
引用专利数量 2 被引证专利数量 0
非专利引证 1、2013.10.09吕秋云.无线传感器网络中一种新的无条件安全密钥协商模型《.传感技术学报》.2014,(第6期),全文. 郭松辉.一种基于椭圆曲线的轻量级身份认证及密钥协商方案《.计算机科学》.2015,(第1期),全文.;
引用专利 US2017316185A、EP2093927A 被引证专利
专利权维持 4 专利申请国编码 CN
专利事件 事务标签 公开、实质审查、授权
申请人信息
申请人 第一申请人
专利权人 杭州电子科技大学 当前专利权人 杭州电子科技大学
发明人 吕秋云、陈思、胡海滨 第一发明人 吕秋云
地址 浙江省杭州市下沙高教园区2号大街 邮编 310018
申请人数量 1 发明人数量 3
申请人所在省 浙江省 申请人所在市 浙江省杭州市
代理人信息
代理机构
专利代理机构是经省专利管理局审核,国家知识产权局批准设立,可以接受委托人的委托,在委托权限范围内以委托人的名义办理专利申请或其他专利事务的服务机构。
杭州君度专利代理事务所 代理人
专利代理师是代理他人进行专利申请和办理其他专利事务,取得一定资格的人。
朱月芬
摘要
本发明公开了一种具有反跟踪特性的安全身份认证方法。本发明包括如下步骤:身份注册中心IRC进行的系统初始化,生成私钥x和公钥Q,并选择系统参数{Ep(a,b),n,P};用户和应用服务器向身份注册中心进行的注册;用户与应用服务器的反跟踪相互认证和密钥协商。本发明在常规认证安全之上,应用三方认证密钥和历史上下文进行两次相互认证以增强信任,在消息传输过程中利用无关联的假名实现了开放式网络环境下反跟踪的特性,使得使用开放式网络的用户的隐私得到保护。
  • 摘要附图
    一种具有反跟踪特性的安全身份认证方法
  • 说明书附图:图1
    一种具有反跟踪特性的安全身份认证方法
  • 说明书附图:图2
    一种具有反跟踪特性的安全身份认证方法
  • 说明书附图:图3
    一种具有反跟踪特性的安全身份认证方法
法律状态
序号 法律状态公告日 法律状态 法律状态信息
1 2021-05-25 授权
2 2019-03-12 实质审查的生效 IPC(主分类): H04L 9/08 专利申请号: 201811019796.X 申请日: 2018.09.03
3 2019-02-15 公开
权利要求
权利要求书是申请文件最核心的部分,是申请人向国家申请保护他的发明创造及划定保护范围的文件。
1.一种具有反跟踪特性的安全身份认证方法,其特征在于包括如下阶段:
阶段A:系统初始化;
身份注册中心IRC进行系统初始化,生成私钥x和公钥Q,并选择系统参数{Ep(a,b),n,P},具体的:
首先身份注册中心IRC在有限素数域Fp上选择一条椭圆曲线Ep(a,b);
然后在曲线上选择一个阶为n的基点P和随机数x,并计算Q=x·P;
最后IRC公开系统参数{Ep(a,b),n,P},并将Q作为公钥,将只有其自身知道的x作为私钥;
阶段B:用户身份注册;
用户生成必要参数,向IRC申请注册身份,IRC使用用户发送的信息生成IRC认证密钥,并存储用户相关信息以备用户申请进行信息恢复,最后用户存储双方共同生成的系统认证密钥;
阶段C:应用服务器身份注册;
应用服务器向IRC申请注册身份,IRC使用应用服务器发送的信息生成IRC认证密钥,并存储应用服务器身份以备追责,最后应用服务器存储双方共同生成的系统认证密钥;
阶段D:反跟踪相互认证和密钥协商;
用户进行本地身份认证,若通过,则向应用服务器发起获取参数的请求,之后将身份验证值、时间戳信息发送给应用服务器,应用服务器验明用户身份后,生成会话密钥并用对称加密算法进行加密,之后将身份验证值、时间戳、会话密钥密文信息发送给用户,用户验明应用服务器身份后,计算获得对称加密密钥并解密出会话密钥。

2.根据权利要求1所述的一种具有反跟踪特性的安全身份认证方法,其特征在于阶段B的用户身份注册,具体实现如下:
定义1:Pxor(A,B)表示两点之间的异或计算,如公式(1)所示;
定义2:Pxor(a,B)表示数值和点之间的异或计算,如公式(2)所示;

1.用户生成参数:
1‑
1.用户Ui选择身份UIDi、密码PWi以及参数Ei作为恢复信息时使用的额外证书,并向智能设备SDi中输入{UIDi,PWi,Ei};SDi向IRC发送初始化请求以获取系统参数{Ep(a,b),n,P}和IRC公钥Q;
1‑
2.智能设备SDi生成随机参数noncei=(r1i,r2i),其中r1i、r2i都是随机整数;接着计算中间参数user_secret=(mr1i,mr2i),其中
且mr1i,mr2i均起到对随机参数noncei的保护作用;计
算rIDi=h(UIDi||r1i)作为IRC认证密钥,EIDi=h(UIDi||Ei)作为用户的假名,VL=h(UIDi||h(PWi||r1i)||r2i)作为用户的本地身份验证值;

2.交换IRC认证密钥:
2‑
1.智能设备SDi选取一个参数点MPi=(EIDi||mr1i,rIDi||mr2i)和一个随机数rtmp传输用户信息;SDi计算中间参数M1=PXor(MPi,rtmp·Q)和M2=rtmp·P,并将{M1,M2}发送给IRC;
2‑
2.IRC使用获取的中间参数M1和M2,计算还原出参数点MPi=PXor(M1,x·M2),并从点坐标中得到{EIDi,rIDi,user_secret},接着在数据库的合法用户列表legal_user_list中搜索条目索引EIDi;如果EIDi已经存在,IRC要求用户选取其他的假名;反之,IRC将在数据库中添加{EIDi,user_secret}作为身份恢复信息,计算 作为用户认
证密钥,计算中间参数 并将{M3}发送给SDi;
2‑
3.SDi收到中间参数M3后,计算用户认证密钥 并在其内
存中存储

3.根据权利要求1或2所述的一种具有反跟踪特性的安全身份认证方法,其特征在于阶段C的应用服务器身份注册,具体实现如下:
(1)服务器生成参数:
(1‑1)应用服务器Sj选择身份SIDj,然后向IRC发送初始化请求以获取系统参数{Ep(a,b),n,P}和IRC公钥Q;
(1‑2)Sj生成随机参数noncej=(r1j,r2j),其中r1j,r2j都是随机整数,计算中间参数计算rSIDj=h(SIDj||r1j)作为应用服务器Sj的假名和IRC认证密钥;
(2)交换IRC认证密钥:
(2‑1)应用服务器Sj选取一个参数点MPj=(rSIDj,mr2j)和一个随机数rtmp传输应用服务器信息;Sj计算中间参数M1=PXor(MPj,rtmp·Q)和M2=rtmp·P,并将{M1,M2}发送给IRC;
(2‑2)IRC计算还原出参数点MPj=PXor(M1,x·M2)并从点坐标中得到{rSIDj,mr2j},接着在数据库的合法服务器列表legal_server_list中搜索条目rSIDj;如果rSIDj已经存在,IRC要求应用服务器选取其他的假名;反之,IRC将在表中添加rSIDj,计算作为应用服务器认证密钥,计算中间参数
并将{M3}发送给Sj;
(2‑3)Sj收到中间参数M3后,计算应用服务器认证密钥
并在数据库中存储

4.根据权利要求3所述的一种具有反跟踪特性的安全身份认证方法,其特征在于阶段D的反跟踪相互认证和密钥协商,具体实现如下:
I.提取参数和本地认证:
(1)用户在智能设备SDi中输入身份UIDi、密码PWi、SDi,从中间参数user_secret中获取随机参数noncei=(r1i,r2i),并且验证本地校验值VL=h(UIDi||h(PWi||r1i)||r2i);如果未通过验证,终止本次会话;反之,SDi计算用户公钥 并向Sj发送请求;
(2)Sj收到请求后,计算其假名和IRC认证密钥rSIDj=h(SIDj||r1j),应用服务器公钥并向SDi发送
II.服务器验证用户IRC认证密钥
(3)SDi在内存中搜索rSIDj,获取对应条目 并验证从Sj收到的 如
果该条目不存在,令历史认证校验值Vold=None;如果条目存在且 一致,继续会话;否则终止该过程;
(4)SDi选取两个挑战k和t,计算中间参数 M2=
k·h(UIDi||r1i), 计算Ai=h(UIDi||h(PWi||r1i)||rSIDj)作为用户的假名,作为假名保护参数, 作为用户的验
证值;接着,SDi向Sj发送 其中T1为时间戳;
(5)Sj在T2时间收到消息,首先检查消息的有效性T2‑T1,如果超过设定阈值则拒绝请求;
反之,Sj计算中间参数 用户假名 用户验
证值 如果 Sj则确认Ui曾被IRC授权;否
则,终止当前会话;
III.服务器验证用户历史上下文及交换密钥:
(6)如果服务器收到的历史认证校验值Vold为None,且Ai在数据库中不存在,Sj随机选取一个新的会话密钥sk和随机数r;否则,转到步骤(7);
(7)如果服务器收到的历史认证校验值Vold不为None,Sj在数据库中搜索Ai读取条目old old
{Ai,r ,h(sk )},并计算历史加密密钥 历史会话密钥
old* old
之后,Sj验证h(sk )=h(sk )是否成立,若成立,Sj则
确认Ui是上次会话中与其进行安全通信的认证用户,并生成一个新的会话密钥sk和随机数r;
(8)Sj计算加密密钥 加密会话密钥[sk]K=Sym.EncK(sk),中间参数
和 并将 作为应
用服务器的验证值, 作为会话密钥的验证值;接着,Sj
向SDi发送{M4,M5,Vs,Vsk,[sk]K,T3},其中T3为时间戳;
IV.用户两次认证服务器及密钥协商:
(9)SDi在T4时间收到消息后,首先检查消息的有效性T4‑T3,如果超过设定阈值则拒绝请求;反之,SDi计算历史加密密钥 历史会话密钥
应用服务器验证值
如果 Ui则确认Sj经过IRC授权,并且确实参与了上一次通信;需
要注意的是,只有拥有相应IRC认证密钥的Sj才能计算出有效的M1值,此次为第一次认证;只old
有Sj才拥有能够通过h(sk )值验证的会话密钥,此次为第二次认证;
(10)SDi计算参数 和会话密钥验证值
如果 则新的会话密钥通过验证;否则,终止该会话;
(11)SDi计算加密密钥 和会话密钥sk=Sym.DecK([sk]K),得到sk以在
本次会话中进行安全通信;接着,SDi在内存中更新 其中历史认证校验
old old
值Vold=[sk]K,Sj也在数据库中将{Ai,r ,h(sk )}更新为{Ai,r,h(sk)}。
说明书

技术领域

[0001] 本发明属于匿名认证的技术领域,具体为一种具有反跟踪特性的安全身份认证方法。技术背景
[0002] 随着网络流量负载日益加重,旅馆、公园、火车站等公共场所已经广泛地配置了开放式网络,例如公共Wi‑Fi热点以方便用户。然而,开放式网络的泛用也带来了安全威胁,具体问题主要包括以下几个方面。
[0003] (1)开放式网络大多数以未加密或不受信任的方式进行部署,造成隐私泄露威胁;
[0004] (2)用户在开放式网络信道中的流量很可能被蓄意窃听或拦截,这意味着攻击者可以很容易地通过跟踪通信来获取用户的网站浏览历史记录、位置信息、密码和个人资料等重要隐私;
[0005] (3)现有认证协议在保障足够安全性的同时,引入了繁琐的计算或由第三方参与的额外认证步骤,并不适合在一些资源受限的开放式网络环境下广泛地使用。

发明内容

[0006] 本发明的目的是针对现有技术的不足,提供一种用于开放式不安全网络环境的具有反跟踪特性的安全身份认证方法。本发明在保证高效相互认证的同时,可保护用户的隐私数据,实现用户身份反跟踪的特性。
[0007] 本发明包括如下依次进行的阶段:
[0008] 阶段A:系统初始化;
[0009] 身份注册中心IRC进行系统初始化,生成私钥x和公钥Q,并选择系统参数{Ep(a,b),n,P},具体的:
[0010] 首先身份注册中心IRC在有限素数域Fp上选择一条椭圆曲线Ep(a,b);
[0011] 然后在曲线上选择一个阶为n的基点P和随机数x,并计算Q=x·P;
[0012] 最后IRC公开系统参数{Ep(a,b),n,P},并将Q作为公钥,将只有其自身知道的x作为私钥;
[0013] 阶段B:用户身份注册;
[0014] 用户生成必要参数,向IRC申请注册身份,IRC使用用户发送的信息生成IRC认证密钥,并存储用户相关信息以备用户申请进行信息恢复,最后用户存储双方共同生成的系统认证密钥;
[0015] 阶段C:应用服务器身份注册;
[0016] 应用服务器向IRC申请注册身份,IRC使用应用服务器发送的信息生成IRC认证密钥,并存储应用服务器身份以备追责,最后应用服务器存储双方共同生成的系统认证密钥;
[0017] 阶段D:反跟踪相互认证和密钥协商;
[0018] 用户进行本地身份认证,若通过,则向应用服务器发起获取参数的请求,之后将身份验证值、时间戳信息发送给应用服务器,应用服务器验明用户身份后,生成会话密钥并用对称加密算法进行加密,之后将身份验证值、时间戳、会话密钥密文信息发送给用户,用户验明应用服务器身份后,计算获得对称加密密钥并解密出会话密钥。
[0019] 阶段B的用户身份注册,具体实现如下:
[0020] 定义1:Pxor(A,B)表示两点之间的异或计算,如公式(1)所示;
[0021] A,B都为点  (1)
[0022] 定义2:Pxor(a,B)表示数值和点之间的异或计算,如公式(2)所示;
[0023] a为数字且B为点  (2)
[0024] 1.用户生成参数:
[0025] 1‑1.用户Ui选择身份UIDi、密码PWi以及参数Ei作为恢复信息时使用的额外证书,并向智能设备SDi中输入{UIDi,PWi,Ei};SDi向IRC发送初始化请求以获取系统参数{Ep(a,b),n,P}和IRC公钥Q;
[0026] 1‑2.智能设备SDi生成随机参数noncei=(r1i,r2i),其中r1i、r2i都是随机整数;接着计算中间参数us er_secret= (mr1i ,mr2i) ,其中且mr1i,mr2i均起到对随机参数noncei的保护作用;计
算rIDi=h(UIDi||r1i)作为IRC认证密钥,EIDi=h(UIDi||Ei)作为用户的假名,VL=h(UIDi||h(PWi||r1i)||r2i)作为用户的本地身份验证值;
[0027] 2.交换IRC认证密钥:
[0028] 2‑1.智能设备SDi选取一个参数点MPi=(EIDi||mr1i,rIDi||mr2i)和一个随机数rtmp传输用户信息;SDi计算中间参数M1=PXor(MPi,rtmp·Q)和M2=rtmp·P,并将{M1,M2}发送给IRC;
[0029] 2‑2.IRC使用获取的中间参数M1和M2,计算还原出参数点MPi=PXor(M1,x·M2),并从点坐标中得到{EIDi,rIDi,user_secret},接着在数据库的合法用户列表legal_user_list中搜索条目索引EIDi;如果EIDi已经存在,IRC要求用户选取其他的假名;反之,IRC将在数据库中添加{EIDi,user_secret}作为身份恢复信息,计算 作为用户认证密钥,计算中间参数 并将{M3}发送给SDi;
[0030] 2‑3.SDi收到中间参数M3后,计算用户认证密钥 并在其内存中存储
[0031] 阶段C的应用服务器身份注册,具体实现如下:
[0032] (1)服务器生成参数:
[0033] (1‑1)应用服务器Sj选择身份SIDj,然后向IRC发送初始化请求以获取系统参数{Ep(a,b),n,P}和IRC公钥Q;
[0034] (1‑2)Sj生成随机参数noncej=(r1j,r2j),其中r1j,r2j都是随机整数,计算中间参数 计算rSIDj=h(SIDj||r1j)作为应用服务器Sj的假名和IRC认证密钥;
[0035] (2)交换IRC认证密钥:
[0036] (2‑1)应用服务器Sj选取一个参数点MPj=(rSIDj,mr2j)和一个随机数rtmp传输应用服务器信息;Sj计算中间参数M1=PXor(MPj,rtmp·Q)和M2=rtmp·P,并将{M1,M2}发送给IRC;
[0037] (2‑2)IRC计算还原出参数点MPj=PXor(M1,x·M2)并从点坐标中得到{rSIDj,mr2j},接着在数据库的合法服务器列表legal_server_list中搜索条目rSIDj;如果rSIDj已经存在,IRC要求应用服务器选取其他的假名;反之,IRC将在表中添加rSIDj,计算作为应用服务器认证密钥,计算中间参数并将{M3}发送给Sj;
[0038] (2‑3)Sj收到中间参数M3后,计算应用服务器认证密钥并在数据库中存储
[0039] 阶段D的反跟踪相互认证和密钥协商,具体实现如下:
[0040] I.提取参数和本地认证:
[0041] (1)用户在智能设备SDi中输入身份UIDi、密码PWi、SDi,从中间参数user_secret中获取随机参数noncei=(r1i,r2i),并且验证本地校验值VL=h(UIDi||h(PWi||r1i)||r2i);如果未通过验证,终止本次会话;反之,SDi计算用户公钥 并向Sj发送请求;
[0042] (2)Sj收到请求后,计算其假名和IRC认证密钥rSIDj=h(SIDj||r1j),应用服务器公钥 并向SDi发送
[0043] II.服务器验证用户IRC认证密钥
[0044] (3)SDi在内存中搜索rSIDj,获取对应条目 并验证从Sj收到的如果该条目不存在,令历史认证校验值Vold=None;如果条目存在且 一致,继续会话;否则终止该过程;
[0045] (4)SDi选取两个挑战k和t,计算中间参数M2=k·h(UIDi||r1i), 计算Ai=h(UIDi||h(PWi||r1i)||rSIDj)作为用
户的假名, 作为假名保护参数, 作
为用户的验证值;接着,SDi向Sj发送 其中T1为时间戳;
[0046] (5)Sj在T2时间收到消息,首先检查消息的有效性T2‑T1,如果超过设定阈值则拒绝请求;反之,Sj计算中间参数 用户假名用户验证值 如果 Sj则确认Ui曾被IRC授
权;否则,终止该会话;
[0047] III.服务器验证用户历史上下文及交换密钥:
[0048] (6)如果服务器收到的历史认证校验值Vold为None,且Ai在数据库中不存在,Sj随机选取一个新的会话密钥sk和随机数r;否则,转到步骤(7);
[0049] (7)如果服务器收到的历史认证校验值Vold不为None,Sj在数据库中搜索Ai读取条old old目{Ai,r ,h(sk )},并计算历史加密密钥 历史会话密钥
old* old
之后,Sj验证h(sk )=h(sk )是否成立,若成立,Sj则
确认Ui是上次会话中与其进行安全通信的认证用户,并生成一个新的会话密钥sk和随机数r;
[0050] (8)Sj计算加密密钥 加密会话密钥[sk]K=Sym.EncK(sk),中间参数 和 并将 作
为应用服务器的验证值, 作为会话密钥的验证值;接
着,Sj向SDi发送{M4,M5,Vs,Vsk,[sk]K,T3},其中T3为时间戳;
[0051] IV.用户两次认证服务器及密钥协商:
[0052] (9)SDi在T4时间收到消息后,首先检查消息的有效性T4‑T3,如果超过设定阈值则拒绝请求;反之 ,SDi计算历史加密密钥 历史会话密钥应 用服务 器验 证值
如果 Ui则确认Sj经过IRC授权,并且确实参与了上一次通信;需要注意
的是,只有拥有相应IRC认证密钥的Sj才能计算出有效的M1值,此次为第一次认证;只有Sj才old
拥有能够通过h(sk )值验证的会话密钥,此次为第二次认证;
[0053] (11)SDi计算参数 和会话密钥验证值如果 则新的会话密钥通过验证;否则,终
止该会话;
[0054] (11)SDi计算加密密钥 和会话密钥sk=Sym.Deck([sk]K),得到sk以在本次会话中进行安全通信;接着,SDi在内存中更新 其中历史认证
old old
校验值Vold=[sk]K,Sj也在数据库中将{Ai,r ,h(sk )}更新为{Ai,r,h(sk)}。
[0055] 本发明具有以下优点:
[0056] (1)去中心化的安全。为了提高系统对单点失效的抵抗力,协议的认证过程和机密性分布在用户、应用服务器和身份注册中心IRC三方之上,即实现了去中心化的安全。具体而言,在这种情况下就算IRC被攻破也不会造成毁灭性的后果,因为IRC既没有直接参与认证过程,也没有存储核心隐私。此外,就算攻击者能够成功攻破一个用户或一个应用服务器,他/她也无法依此对其他实体进行连锁攻击。
[0057] (2)无关联的假名。为了防止开放式网络环境中的追踪攻击,协议在用户与IRC、应用服务器通信的过程中,为用户应用了多种无关联的假名以隐藏其身份。在协议中,用户的真实ID没有出现在信息传输或应用服务器的计算过程中。当一个用户和不同应用服务器通信时,也使用不同的随机假名,因此攻击者无法推测出用户的行为,也无法重现用户的网络足迹。
[0058] (3)历史上下文和两次相互认证。为了抵抗冒充攻击,协议在用户和应用服务器的相互认证过程中,引入了前次通信中的会话密钥作为历史上下文进行认证。在此认证之前,用户用其和IRC共同生成的部分认证密钥向应用服务器证明自己在IRC的有效性,IRC也会向用户进行类似证明。这种两次相互认证增强了通信双方之间的信任。

实施方案

[0062] 为使本发明的具体实施与优点清晰易懂,下面将结合附图对本发明作具体的说明介绍。
[0063] 本发明提供了一种用于开放式不安全网络的具有反跟踪特性的安全身份认证方法,协议的系统模型涉及三种类型的实体:用户U,应用服务器S和身份注册中心IRC,如图1中所示。用户是希望通过开放式网络从应用服务器处获取网络服务的实体,每个用户都拥有一个用来帮助实施协议的智能设备。应用服务器通常是指可以提供服务的服务器。为了增强可扩展性和可信度,协议还引入了IRC来对用户和应用服务器进行预注册,并且储存用户的恢复信息。
[0064] 下面介绍协议中定义的两种算法:
[0065] 定义1:Pxor(A,B)算法是用来表示两点之间的异或计算,如公式(1)所示。
[0066] A,B都为点  (1)
[0067] 定义2:Pxor(a,B)算法是用来表示数值和点之间的异或计算,如公式(2)所示。
[0068] a为数字且B为点  (2)
[0069] 一种具有反跟踪特性的安全身份认证方法,包括如下阶段(协议描述中涉及的符号如图3所示):
[0070] 阶段A,系统初始化:
[0071] 如图2所示,IRC首先在有限素数域Fp上选择一条椭圆曲线Ep(a,b),然后在曲线上选择一个阶为n的基点P和随机数x,并计算Q=x·P。最终,IRC公开系统参数{Ep(a,b),n,P},并将Q作为公钥,将只有其自身知道的x作为私钥。
[0072] 阶段B,用户身份注册:
[0073] 1.用户生成参数
[0074] 1.1用户Ui选择身份UIDi,密码PWi以及参数Ei作为恢复信息时使用的额外证书,并向智能设备SDi中输入{UIDi,PWi,Ei}。SDi向IRC发送初始化请求以获取系统参数{Ep(a,b),n,P}和IRC公钥Q。
[0075] 1.2 SDi生成随机参数noncei=(r1i,r2i),其中r1i和r2i都是随机整数;接着计算中间参数user_secret=(mr1i,mr2i),其中且二者均起到对noncei的保护作用;计算rIDi=h
(UIDi||r1i)作为IRC认证密钥,EIDi=h(UIDi||Ei)作为用户的假名,VL=h(UIDi||h(PWi||r1i)||r2i)作为用户的本地身份验证值。
[0076] 2.交换IRC认证密钥
[0077] 2.1 SDi选取一个参数点MPi=(EIDi||mr1i,rIDi||mr2i)和一个随机数rtmp传输用户信息。SDi计算中间参数M1=PXor(MPi,rtmp·Q)和M2=rtmp·P,并将{M1,M2}发送给IRC,如图2中①所示。
[0078] 2.2 IRC使用获取的中间参数,计算还原出参数点MPi=PXor(M1,x·M2),并从点坐标中得到{EIDi,rIDi,user_secret},接着在数据库的合法用户列表legal_user_list中搜索条目索引EIDi。如果EIDi已经存在,IRC要求用户选取其他的假名;反之,IRC将在数据库中添加{EIDi,user_secret}作为身份恢复信息,计算 作为用户认证密钥,计算中间参数 并将{M3}发送给SDi,如图2中②所示。
[0079] 2.3 SDi收到消息后,计算用户认证密钥 并在其内存中存储
[0080] 阶段C,应用服务器身份注册:
[0081] 1.服务器生成参数
[0082] 1.1应用服务器Sj选择身份SIDj,然后向IRC发送初始化请求以获取系统参数{Ep(a,b),n,P}和IRC公钥Q。
[0083] 1.2 Sj生成随机参数noncej=(r1j,r2j),其中r1j和r2j都是随机整数,计算中间参数 计算rSIDj=h(SIDj||r1j)作为Sj的假名和IRC认证密钥。
[0084] 2.交换IRC认证密钥
[0085] 2.1 Sj选取一个参数点MPj=(rSIDj,mr2j)和一个随机数rtmp传输应用服务器信息。Sj计算中间参数M1=PXor(MPj,rtmp·Q)和M2=rtmp·P,并将{M1,M2}发送给IRC,如图2中③所示。
[0086] 2.2 IRC计算还原出参数点MPj=PXor(M1,x·M2)并从点坐标中得到{rSIDj,mr2j},接着在数据库的合法服务器列表legal_server_list中搜索条目rSIDj。如果rSIDj已经存在,IRC要求应用服务器选取其他的假名;反之,IRC将在表中添加rSIDj,计算作为应用服务器认证密钥,计算中间参数并将{M3}发送给Sj,如图2中④所示。
[0087] 2.3 Sj收到消息后,计算应用服务器认证密钥 并在数据库中存储
[0088] 阶段D,反跟踪相互认证和密钥协商:
[0089] 1.提取参数和本地认证
[0090] 1.1用户在智能设备SDi中输入身份UIDi,密码PWi,SDi从中间参数user_secret中获取随机参数noncei=(r1i,r2i),并且验证本地校验值VL=h(UIDi||h(PWi||r1i)||r2i)。如果未通过验证,终止本次会话;反之,SDi计算用户公钥 并向Sj发送请求,如图2中⑤所示。
[0091] 1.2 Sj收到请求后,计算其假名和IRC认证密钥rSIDj=h(SIDj||r1j),应用服务器公钥 并向SDi发送 如图2中⑥所示。
[0092] 2.服务器验证用户IRC认证密钥
[0093] 2.1 SDi在内存中搜索rSIDj,获取对应条目 并验证从Sj收到的如果该条目不存在,令历史认证校验值Vold=None;如果条目存在且 一致,继续会话;否则终止该过程。
[0094] 2.2 SDi选取两个挑战k和t,计算中间参数M2=k·h(UIDi||r1i), 计算Ai=h
(UIDi||h(PWi||r1i)||rSIDj)作为用户的假名, 作为假名保护参数,
作 为 用 户的 验 证 值 。接着 ,S D i向 S j 发 送
其中T1为时间戳,如图2中⑦所示。
[0095] 2.3 Sj在T2时间收到消息,首先检查消息的有效性T2‑T1,如果超过阈值则拒绝请求。反之,Sj计算中间参数 用户假名 用户验证值 如果 Sj则确认Ui曾被IRC授
权;否则,终止该会话。
[0096] 3.服务器验证用户历史上下文及交换密钥
[0097] 3.1如果服务器收到的历史认证校验值Vold为None,且Ai在数据库中不存在,Sj随机选取一个新的会话密钥sk和随机数r;否则,转到3.2。
[0098] 3.2如果服务器收到的历史认证校验值Vold不为None,Sj在数据库中搜索Ai读取条old old目{Ai,r ,h(sk )},并计算历史加密密钥 历史会话密钥
old* old
之后,Sj验证h(sk )=h(sk )是否成立,若是,Sj则确
认Ui是上次会话中与其进行安全通信的认证用户,并生成一个新的会话密钥sk和随机数r。
[0099] 3.3 Sj计算加密密钥 加密会话密钥[sk]K=Sym.EncK(sk),中间参数 和 并将 作
为应用服务器的验证值, 作为会话密钥的验证值。接
着,Sj向SDi发送{M4,M5,Vs,Vsk,[sk]K,T3},其中T3为时间戳,如图2中⑧所示。
[0100] 4.用户两次认证服务器及密钥协商
[0101] 4.1 SDi在T4时间收到消息后,首先检查消息的有效性T4‑T3,如果超过阈值则拒绝请求。反之,SDi计算历史加密密钥 历史会话密钥应用服务器验证值
如果 Ui则确认Sj经过IRC授权,并且确实参与了上一次通信。需
要注意的是,只有拥有相应IRC认证密钥的Sj才能计算出有效的M1值,这是第一次认证;只有old
Sj才拥有能够通过h(sk )值验证的会话密钥,这是第二次认证。
[0102] 4.2 SDi计算参数 和会话密钥验证值如果 则新的会话密钥通过验证;否则,终
止该会话。
[0103] 4.3 SDi计算加密密钥 和会话密钥sk=Sym.DecK([sk]K),得到sk以在本次会话中进行安全通信。接着,SDi在内存中更新 其中历史认证
old old
校验值Vold=[sk]K,Sj也在数据库中将{Ai,r ,h(sk )}更新为{Ai,r,h(sk)}。

附图说明

[0059] 图1本发明的系统模型示意图
[0060] 图2本发明的流程实施示意图
[0061] 图3本发明的符号表
版权所有:盲专网 ©2023 zlpt.xyz  蜀ICP备2023003576号