[发明专利]基于ECC的水声传感器网络节点间身份认证协议方法有效
| 申请号: | 202010412858.4 | 申请日: | 2020-05-15 |
| 公开(公告)号: | CN111431629B | 公开(公告)日: | 2021-09-21 |
| 发明(设计)人: | 周剑;李文静;李鑫;严筱永;程春玲;刘林峰 | 申请(专利权)人: | 南京邮电大学 |
| 主分类号: | H04L9/08 | 分类号: | H04L9/08 |
| 代理公司: | 南京正联知识产权代理有限公司 32243 | 代理人: | 张玉红 |
| 地址: | 210023 江苏省南*** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 ecc 传感器 网络 节点 身份 认证 协议 方法 | ||
1.基于ECC的水声传感器网络节点间身份认证协议方法,其特征在于:
所述身份认证协议方法包括协议初始化和协议认证两部分;
所述协议初始化中,卫星节点通过哈希函数、反哈希函数和椭圆曲线,得到公钥并广播给汇聚节点;汇聚节点随机生成私钥skA,并计算得到对应的公钥PkA,并将公钥PkA和自身身份标识号IDA发送至卫星节点;卫星节点收到后计算对应哈希值H(IDA)和密钥Ra,并广播给所有汇聚节点;汇聚节点再通过反哈希函数IDA′得到反哈希值IDA′,并通过比较skARaPkA和H(IDA′)PkA是否相等来判断汇聚节点是否注册成功,如果两者相等,则汇聚节点A注册成功;
所述协议认证中,汇聚节点与锚定节点连接时,判断是否具有身份标识号和对应哈希值,有则生成随机数和临时交互号并计算密钥,发送给锚定节点;锚定节点收到后计算密钥并发送回汇聚节点;汇聚节点通过DSA算法得到签名消息和密文,并发送到锚定节点;锚定节点通过DSA算法得到明文,通过比较身份标识号以及签名消息和明文判断汇聚节点是否可信;
锚定节生成随机数和临时交互好并计算密钥,通过DSA算法得到签名消息和密文,并发送给汇聚节点;当汇聚节点通过DSA算法的解密过程得到明文,通过比较身份标识号以及签名消息和明文判断汇聚节点是否可信;
若上述判断均为可信,汇聚节点计算新的密钥后发送给锚定节点,该密钥作为会话密钥进行通信,双向身份认证成功;
所述协议认证包括如下步骤:
步骤2-1,当汇聚节点A成功与所在通信范围内的锚定节点建立连接时,所在通信范围内的锚定节点首先要查看该锚定节点是否具有汇聚节点A的身份标识号IDA所对应的哈希值H(IDA);如果具有,则开始身份认证,转步骤2-2;如果没有,则拒绝身份认证,转步骤2-9;
步骤2-2,汇聚节点A生成一个随机数VA和临时交互号NA,其中VA,NA∈Fq,Fq是代表椭圆曲线的有限域;计算密钥DA=VA-1G(DA≠0),并将步骤1-2中广播给汇聚节点A的椭圆曲线参数T、随机数VA和密钥DA发送给所在通信范围内的锚定节点;
步骤2-3,当所在通信范围内的任一锚定节点B收到随机数VA和密钥DA后,锚定节点B计算密钥KA=VA-1PkB,并将密钥KA发送给汇聚节点A,其中随机数VA是步骤2-2中汇聚节点A生成的,锚定节点B的公钥PkB是已知值;
步骤2-4,当汇聚节点A收到密钥KA后,汇聚节点A用初始化过程中生成的私钥skA通过DSA算法的签名消息过程sign,得到签名消息CsignA=sign(skA,IDA||IDB||DA||NA);汇聚节点A用密钥KA通过DSA算法的加密过程EN,得到的密文CAB=EN(KA,IDA||IDB||NA||CsignA);汇聚节点A将签名消息CsignA和密文CAB发送到锚定节点B;
步骤2-5,当锚定节点B收到签名消息CsignA和密文CAB后,锚定节点B用密钥KA通过DSA算法的解密过程DE,得到明文DE(KA,CAB)=IDA||IDB||NA||CsignA;比较锚定节点的身份标识号IDB与自身是否一致,若不一致转步骤2-9;若一致,锚定节点B通过比较汇聚节点A公钥skA计算所得到的签名消息CsignA与解密后得到的签名消息CsignA是否相等,判断汇聚节点A是否可信;如果相等,则汇聚节点A可信,转步骤2-6,如果不相等,则汇聚节点A不可信,转步骤2-9;
步骤2-6,锚定节点B生成一个随机数VB,临时交互号NB,其中VB,NB∈Fq,Fq是代表椭圆曲线的有限域;锚定节点B计算密钥DB=VB-1PkB(DB≠0),密钥KB=VBskBDA,并用私钥skB通过DSA算法的签名消息过程sign,得到签名消息CsignB=sign(skB,IDA||IDB||DB||NB||NA);锚定节点B用密钥KB通过DSA算法的加密过程EN,得到密文CBA=EN(KB,IDA||IDB||CsignB||NB||NA),将签名消息CsignB、密钥DB和密文CBA发送给汇聚节点A;
步骤2-7,当汇聚节点A收到密钥DB、签名消息CsignB和密文CBA后,汇聚节点A用密钥KB通过DSA算法的解密过程DE,得到的明文DE(KB,CBA)=IDA||IDB||CsignB||NB||NA;比较汇聚节点的身份标识号IDA与自身是否一致,若不一致转步骤2-9;若一致,汇聚节点A通过比较锚定节点B公钥skB计算所得到的签名消息CsignB与解密后得到的签名消息CsignB是否相等,判断锚定节点B是否可信;如果相等,则锚定节点B可信,转步骤2-8,如果不相等,则汇聚节点A不可信,转步骤2-9;
步骤2-8,汇聚节点A计算密钥KC=VADB后,将密钥KC发送给锚定节点B;汇聚节点A和锚定节点B可使用密钥KC作为会话密钥进行通信,双向身份认证成功,转步骤2-10;若验证不通过,则转步骤2-9;
步骤2-9,汇聚节点A和锚定节点B双向认证失败;
步骤2-10,认证成功,结束协议执行过程。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京邮电大学,未经南京邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010412858.4/1.html,转载请声明来源钻瓜专利网。





