[发明专利]一种基于预共享密钥的分布式鉴权方法有效
申请号: | 201410366026.8 | 申请日: | 2014-07-29 |
公开(公告)号: | CN105323754B | 公开(公告)日: | 2019-02-22 |
发明(设计)人: | 赵春平;黄其华;孙鹏;袁建设 | 申请(专利权)人: | 北京信威通信技术股份有限公司;北京瑞平通信技术有限公司 |
主分类号: | H04W12/04 | 分类号: | H04W12/04;H04W12/06 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100193 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 共享 密钥 分布式 方法 | ||
1.一种基于预共享密钥的分布式鉴权方法,其特征在于,所述方法包括:
请求入网节点在入网前,获取通信网络的所有节点均共享的一个密钥,即预共享密钥,然后选择任意一个成功入网的节点作为鉴权节点进行双向鉴权,即相互验证对方身份是否合法;
针对请求入网节点和验证节点之间的每一次双向鉴权,双方节点均生成一个随机数,并根据预共享密钥和生成的随机数生成一个临时密钥和一个验证密钥,临时密钥用于对发送的鉴权交互消息进行加密,验证密钥用于验证对方节点身份;双方节点还均在本地维护一个标识序号,用于在本地标识两者之间的有效双向鉴权;
在双向鉴权过程中,一方节点根据预共享密钥和接收到的对方节点的随机数恢复出对方临时密钥和对方验证密钥,使用对方临时密钥对接收的鉴权交互消息进行解密,接收并解密对方标识序号后与本地标识序号比较,验证是否满足防重放攻击条件,如果不满足则判断本次双向鉴权无效,如果满足则判断本次双向鉴权有效,将恢复出的对方验证密钥加密后发给对方节点,对方节点接收并解密后验证是否与自身生成的验证密钥相同,如果不相同,则鉴权失败,如果相同,则判断双方拥有相同的预共享密钥,所述一方节点的身份合法。
2.根据权利要求1所述的方法,其特征在于,双方节点均在本地维护一个标识序号,在双向鉴权过程中,双方节点均判断本次双向鉴权有效后,双方节点的本地标识序号均增加固定步长。
3.根据权利要求2所述的方法,其特征在于,双方节点的本地标识序号的初始值均置为0,在双向鉴权过程中:
一方节点接收并解密对方标识序号后与本地标识序号比较,验证是否满足防重放攻击条件,如果不满足则判断本次双向鉴权无效,双方节点的本地标识序号均复位为0,如果满足则判断本次双向鉴权有效;双方节点均判断本次双向鉴权有效后,双方节点的本地标识序号均增加1;所述防重放攻击条件为解密出的对方标识序号与本地标识序号之间的差值不超出设定的门限值。
4.根据权利要求3所述的方法,其特征在于,请求入网节点A在本地为鉴权节点B维护一个标识序号ID_B,鉴权节点B在本地为请求入网节点A维护一个标识序号ID_A,ID_B和ID_A初始值置为0,所述双向鉴权具体包括以下步骤:
a,节点A向节点B发送鉴权试探消息,具体为:
a1,节点A生成一个随机数RandA;
a2,根据预共享密钥PSK和RandA通过算法一生成一个临时密钥MTKA;
a3,根据MTKA和RandA通过算法一生成一个验证密钥MRC_B;
a4,使用MTKA通过算法二对ID_B进行加密得到加密后的数据ERandAID;
a5,节点A向节点B发送鉴权试探消息,携带Rand_A和ERandAID;b,节点B接收鉴权试探消息,执行如下步骤:
b1,节点B根据PSK和接收到的RandA通过算法一恢复出MTKA;
b2,根据MTKA对接收到的ERandAID进行解密得到ID_B,和本地ID_A比较,验证是否满足防重放攻击条件,如果不满足则本地ID_A复位为0,返回鉴权试探失败响应,携带标识序号无效指示,节点A接收鉴权试探失败响应后将本地ID_B复位为0,如果满足则继续下一步;
b3,根据MTKA和RandA通过算法一恢复出MRC_B;
b4,生成一个随机数RandB;
b5,根据PSK和RandB通过算法一生成一个临时密钥MTKB;
b6,根据MTKB和RandB通过算法一生成一个验证密钥MRC_A;
b7,使用MTKB通过算法二对本地ID_A和MRC_B进行加密得到加密后的数据EdataB;
b8,节点B向节点A发送鉴权请求消息,携带RandB和EdataB;
c,节点A接收鉴权请求消息,执行如下步骤:
c1,节点A根据PSK和接收到的RandB通过算法一恢复出MTKB;
c2,根据MTKB对接收到的EdataB进行解密得到ID_A、MRC_B,将解密得到的ID_A和本地ID_B比较,验证是否满足防重放攻击条件,如果不满足则本地ID_B复位为0,返回鉴权请求失败响应,携带标识号无效指示,节点B接收到鉴权请求失败响应后将本地ID_A复位为0,如果满足则继续下一步;
c3,比较解密得到的MRC_B和自身生成的MRC_B,如果不相同,则返回鉴权请求失败响应,本地ID_B增加1,节点B接收到鉴权请求失败响应后将本地ID_A增加1,流程至此结束,如果相同,则节点A判断节点B的身份合法;
c4,根据MTKB和RandB通过算法一恢复出MRC_A;
c5,利用MTKA通过算法二对MRC_A进行加密,得到加密后的数据EdataA;
c6,节点A向节点B发送鉴权响应,携带EdataA;
d,节点B接收鉴权响应,根据MTKA对接收到的EdataA进行解密得到MRC_A,和自身生成的MRC_A比较,如果不相同,则返回鉴权请求失败响应,本地ID_A增加1,节点A接收到鉴权请求失败响应后将本地ID_B增加1,流程至此结束,如果相同,则节点B判断节点A的身份合法,发送鉴权成功结果给节点A,本地ID_A增加1,节点A接收到鉴权成功结果后将本地ID_B增加1。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京信威通信技术股份有限公司;北京瑞平通信技术有限公司,未经北京信威通信技术股份有限公司;北京瑞平通信技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410366026.8/1.html,转载请声明来源钻瓜专利网。