[发明专利]多网关认证方法、系统、存储介质、计算机设备、终端有效
申请号: | 202110228227.1 | 申请日: | 2021-03-02 |
公开(公告)号: | CN112954675B | 公开(公告)日: | 2023-03-24 |
发明(设计)人: | 赵兴文;付溪;李晖;曹进;关键 | 申请(专利权)人: | 西安电子科技大学 |
主分类号: | H04W12/041 | 分类号: | H04W12/041;H04W12/06;H04L9/40 |
代理公司: | 西安长和专利代理有限公司 61227 | 代理人: | 何畏 |
地址: | 710071 陕西省*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 网关 认证 方法 系统 存储 介质 计算机 设备 终端 | ||
1.一种多网关认证方法,其特征在于,所述多网关认证方法包括:
离线初始化:系统管理员SA通过配置服务器对系统进行初始化;
用户注册:用户与网关交互执行实体注册流程,为用户分发智能卡,预置秘密消息,用户通过安全信道与网关节点交互完成注册;
传感器节点注册:传感器设备与网关交互执行实体注册流程,通过预置秘密消息,传感器设备通过安全信道在网关侧完成注册;
用户登录:在用户和传感器设备完成注册后,用户通过输入身份标识、密码和生物指纹进行登陆验证;
认证与密钥协商:用户和传感器设备借助网关节点进行交互,完成用户和传感器设备的相互认证并协商后续通信的对称会话密钥;
所述系统的离线初始化,包括:
(1)SA首先为每个传感器选择身份标识SIDj,并与所有网关共享此全局设备列表,然后SA选择参数对系统进行初始化;SA为域内网关HGWN选择身份标识IDhg及两个不同的大素数ph,qh作为其私钥,ph≡qh≡3 mod 4,并且计算公钥Nh=ph·qh;域外网关FGWN得到身份标识IDfg和由两个不同的大素数pf,qf构成的私钥,pf≡qf≡3mod4,并且计算公钥Nf=pf·qf;
(2)选择使用的哈希函数h(.):{0,1}*→{0.1}l;其中,l是哈希函数的输出长度;选择串联操作||,异或操作
(3)选择模糊提取器对原始指纹进行处理;模糊提取器主要包括概率生成过程Gen和概率再现过程Rep;概率生成过程Gen首先输入原始生物指纹BIOi,然后Gen过程将BIOi作为输入,并输出生物特征识别密钥数据σi和公共参数θi,即Gen(BIO)=(σi,θi);概率再现过程Rep过程主要从相应的公共参数θi和用户输入的生物指纹BIOi*恢复生物特征识别密钥数据σi,即σi*=Ren(BIOi*,θi);其中BIOi*和BIOi的汉明距离需要小于容错阈值t;
所述用户注册,包括:
(1)用户Ui输入自己选择的身份IDi、密码PWi、指纹BIOi信息,通过模糊提取器计算得到生物特征识别密钥数据σi和公共参数θi,即Gen(BIOi)=(σi,θi);将公共参数θi存储在智能卡SC之中;用户计算HIDi=h(IDi||σi)和HPWi=h(PWi||σi),并将HIDi,HPWi发送给域内网关节点HGWN;
(2)在HGWN收到用户节点发送的消息HIDi,HPWi后,HGWN生成随机数rh,执行计算Bi=h(HIDi||rh||HPWi),并将{HIDi,rh}存储到自己的内存中;HGWN将消息Ai,Bi,Ci发送给用户节点;
(3)用户节点在接收到消息Ai,Bi,Ci后,与公共参数θi一起存储在自己的智能卡SC中;
所述传感器设备注册,包括:
(1)传感器节点将自己的身份SIDj通过安全信道发送给距离自己最近的HGWN;
(2)在HGWN收到传感器节点发送的消息SIDj后,HGWN计算Ags=h(SIDj||ph||qh),并将{SIDj,Ags}存储到自己的内存中;HGWN将消息Ags发送给传感器节点;
(3)传感器节点收到HGWN发送的消息Ags后,将{SIDj,Ags}存储到自己的内存中;
所述用户登录,包括:
(1)用户Ui首先输入自己的身份IDi*、密码PWi*、指纹BIOi*信息,并通过模糊提取器恢复生物特征识别密钥数据σi,即σi*=Ren(BIOi*,θi);
(2)用户执行计算HIDi*=h(IDi*||σi*)和HPW*i=h(PWi*||σi*),并读取智能卡中存储的秘密参数计算Bi*=h(HIDi*||rh*||HPWi*);用户对计算得到的Bi*和智能卡中存储的Bi进行对比,如果两者相等,则表示用户登陆成功,否则,用户登陆失败;
所述认证和密钥协商包括:域内认证和区域外认证;其中,所述域内认证,包括:
(1)如果用户登陆成功,则生成随机数ru、时间戳T1和两个大素数pu,qu作为自己的私钥,并计算公钥Nu=pu·qu;用户计算认证请求信息M1=(HIDi*||IDhg||SIDj||Nu||ru||rh*)2mod Nh,M2=h(HIDi*||ru||Ah||Nu||M1||T1),并通过不安全的无线信道发送认证请求消息M1,M2,T1给距离最近的HGWN;
(2)HGWN接收到用户节点发送的认证请求消息后,获取当前时间T1*,计算|T1*-T1|是否小于最大传输延迟时间ΔT,即检查消息是否在有效时间内;如果消息不在有效时间内则中断当前会话;否则HGWN用自己的私钥对密文消息M1进行解密,得到被加密参数HIDi*,IDhg,SIDj,Nu,ru,rh*,此时SIDj在HGWN的注册设备列表中;HGWN检查rh*是否与自己内存中的rh相等,如果rh*=rh则执行后续计算,否则中断当前会话;HGWN执行计算Ah*=h(HIDi*||ph||qh||rh*),M2*=h(HIDi*||ru||Ah*||Nu||M1||T1),检查M2*是否与接收到的消息M2相等,如果两者不相等,则中断当前会话,否则,HGWN生成随机数rhg和新的时间戳T2,并计算Ags=h(SIDj||ph||qh),M4=h(HIDi||SIDj||rhg||Nu||Ags||T2);最后,HGWN将消息M3,M4,T2发送给传感器节点;
(3)接收到HGWN发送的消息后,获取当前时间T2*,传感器节点首先计算|T2*-T2|是否小于最大传输延迟时间ΔT,即检查消息是否在有效时间内;如果消息不在有效时间内则中断当前会话;否则传感器节点执行计算得到(HIDi||ru||rhg||Nu||M1),计算M4*=h(HIDi||SIDj||rhg||Nu||Ags||T2),并检查M4*是否与接收到的M4,如果两者不相等则结束当前会话;否则传感器生成随机数rs和时间戳T3,计算M5=(HIDi||SIDj||rs)2modNu,SK=h(HIDi||SIDj||ru||rs||M1||M5),M6=h(HIDi||SIDj||rhg||Ags||M5||T3),M7=h(HIDi||SIDj||SK||ru||rs||M5);最后,传感器节点将消息M5,M6,M7,T3发送给HGWN;
(4)接收到传感器节点发送的消息后,获取当前时间T3*,HGWN首先计算|T3*-T3|是否小于最大传输延迟时间ΔT,即检查消息是否在有效时间内;如果消息不在有效时间内则中断当前会话;否则HGWN计算M6*=h(HIDi||SIDj||rhg||Ags||M5||T3)并检查M6*是否与接收到的M6,如果两者不相等则结束当前会话;否则HGWN生时间戳T4,并执行计算M8=h(M5||M7||ru||Ah||T4);最后,HGWN将消息M5,M7,M8,T4发送给用户节点;
(5)接收到HGWN发送的消息后,获取当前时间T4*,用户节点首先计算|T4*-T4|是否小于最大传输延迟时间ΔT,即检查消息是否在有效时间内;如果消息不在有效时间内则中断当前会话;否则用户节点执行计算M8*=h(M5||M7||ru||Ah||T4),并检查M8*是否与接收到的M8,如果两者不相等则结束当前会话;否则用户节点用自己的私钥解密密文消息M5,此时可以得到被加密参数HIDi,SIDj,rs;用户节点可以计算对称会话密钥SK*=h(HIDi||SIDj||ru||rs||M1||M5),M7*=h(HIDi||SIDj||SK*||ru||rs||M5),并检查M7*是否与接收到的M7,如果两者不相等则结束当前会话;否则认证成功;
所述区域外认证,包括:
(1)如果用户登陆成功,则生成随机数ru、时间戳T1和两个大素数pu,qu作为自己的私钥,并计算公钥Nu=pu·qu;用户计算认证请求信息M1=(HIDi*||IDhg||SIDj||Nu||ru||rh*)2mod Nh,M2=h(HIDi*||ru||Ah||Nu||M1||T1),并通过不安全的无线信道发送认证请求消息M1,M2,T1给距离最近的HGWN;
(2)HGWN接收到用户节点发送的认证请求消息后,获取当前时间T1*,首先计算|T1*-T1|是否小于最大传输延迟时间ΔT,即检查消息是否在有效时间内;如果消息不在有效时间内则中断当前会话;否则HGWN用自己的私钥对密文消息M1进行解密,得到被加密参数HIDi*,IDhg,SIDj,Nu,ru,rh*,此时SIDj不在HGWN的注册设备列表中;HGWN检查rh*是否与自己内存中的rh相等,如果rh*=rh则执行后续计算,否则中断当前会话;HGWN执行计算Ah*=h(HIDi*||ph||qh||rh*),M2*=h(HIDi*||ru||Ah*||Nu||M1||T1),检查M2*是否与接收到的消息M2相等,如果两者不相等,则中断当前会话,否则,HGWN向网络中的FGWN广播目标传感器身份标识SIDj,从而找到目标传感器所在区域的FGWN身份标识IDfg;HGWN计算消息M3=(HIDi||SIDj||IDfg)2mod Nf,并生成时间戳T2;最后,HGWN将消息M3,T2发送给传感器节点;
(3)接收到HGWN发送的消息后,获取当前时间T2*,FGWN首先计算|T2*-T2|是否小于最大传输延迟时间ΔT,即检查消息是否在有效时间内;如果消息不在有效时间内则中断当前会话;否则FGWN用自己的私钥对密文消息M3进行解密,得到被加密参数HIDi,SIDj,IDfg;FGWN生成随机数rf时间戳T3,并执行计算Af=h(HIDi||pf||qf||rf),最后,FGWN将消息M4,R1,T3发送给HGWN;
(4)接收到FGWN发送的消息后,获取当前时间T3*,HGWN首先计算|T3*-T3|是否小于最大传输延迟时间ΔT,即检查消息是否在有效时间内;如果消息不在有效时间内则中断当前会话;否则HGWN计算生成生时间戳T4,执行计算M6=h(HIDi||SIDj||M5||Af||T4),最后HGWN将消息M5,T4,R2,IDfg发送给用户节点;
(5)接收到HGWN发送的消息后,获取当前时间T4*,用户节点首先计算|T4*-T4|是否小于最大传输延迟时间ΔT,即检查消息是否在有效时间内;如果消息不在有效时间内则中断当前会话;否则用户节点执行计算M6*=h(HIDi||SIDj||M5||Af*||T4),并检查M6*是否与接收到的M6,如果两者不相等则结束当前会话;否则用户节点生成新的随机数ru和时间戳T5,并执行计算M7=(HIDi*||IDfg||SIDj||Nu||ru||rf*)2modNf,M8=h(HIDi*||ru||Af*||Nu||M7||T5),后续步骤与域内认证方案一致。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安电子科技大学,未经西安电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110228227.1/1.html,转载请声明来源钻瓜专利网。