[发明专利]一种基于隐式证书的轻量级认证密钥协商方法有效
申请号: | 201610906053.9 | 申请日: | 2016-10-17 |
公开(公告)号: | CN106411528B | 公开(公告)日: | 2019-06-14 |
发明(设计)人: | 魏旻;张帅东;曹志豪;王平 | 申请(专利权)人: | 重庆邮电大学 |
主分类号: | H04L9/32 | 分类号: | H04L9/32;H04L9/30;H04L9/08 |
代理公司: | 北京同恒源知识产权代理有限公司 11275 | 代理人: | 廖曦 |
地址: | 400065 *** | 国省代码: | 重庆;50 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及一种基于隐式证书的轻量级认证密钥协商方法,属于身份认证技术领域,该方法用于OPC UA服务器与OPC UA客户端之间安全通道的建立和会话密钥的生成。在该认证密钥协商过程中涉及三个实体:可信的证书颁发机构CA、OPC UA客户端A、OPC UA服务器B。OPC UA服务器B和OPC UA客户端A在CA完成身份注册后以获取各自的隐式证书。然后,OPC UA服务器B和OPC UA客户端A采用轻量级的算法完成实体间双向认证和密钥协商。本发明针对现有OPC UA安全机制不适用于资源受限的通信环境问题,提出了一种基于隐式证书的轻量级认证密钥协商方法。它可以高效、安全地适用于具有大量资源受限的嵌入式OPC UA设备的工业网络。 | ||
搜索关键词: | 一种 基于 证书 轻量级 认证 密钥 协商 方法 | ||
【主权项】:
1.一种基于隐式证书的轻量级认证密钥协商方法,其特征在于:该方法主要包括三个部分:条件初始化配置阶段、注册阶段、认证和密钥协商阶段;在该认证密钥协商过程中涉及三个实体:可信的证书颁发机构(CA,Certificate Authority)、OPC统一架构——OPC UA(OPC Unified Architecture)客户端A、OPC UA服务器B;所述注册阶段利用不带密钥的散列函数将注册使用的参数与身份ID信息进行绑定,并生成消息完整性码MIC,保证注册阶段交互信息的完整性和可用性;所述认证和密钥协商阶段具体过程如下:1)首先OPC UA客户端A需要发送服务请求GetEndpoints至OPC UA服务器B,以获取OPC UA服务器B中用于建立安全通道和会话的安全配置信息;2)当OPC UA服务器B收到服务请求GetEndpoints后,通过服务响应EndpointDescription把安全配置信息发送至OPC UA客户端A;其中,这些安全配置信息主要包括OPC UA服务器B的隐式证书、信息安全模型和安全策略等;3)OPC UA客户端A收到服务响应EndpointDescription后,产生一个随机数R1,并计算客户端临时公钥L,L=R1G,其中G为椭圆曲线基点;然后利用带密钥的散列函数生成L的消息鉴别码MAC(L,Q),其中Q为OPC UA客户端A的公钥;然后把信息L||MAC(L,Q)发送到OPC UA服务器B;其中,||表示字符串连接符;4)OPC UA服务器B收到信息L||MAC(L,Q)后,首先根据服务请求GetEndpoints获取的OPC UA客户端A隐式证书CertA重构出客户端公钥Q=eD+KCA,其中,KCA为CA的公钥,D为隐式证书因子,e为隐式证书CertA的哈希摘要值,e=H(CertA);然后利用相同的方式计算L的消息鉴别码MAC(L,Q)1,将MAC(L,Q)和MAC(L,Q)1作比较,如果两者不相同,则终止通信;反之,OPC UA服务器B产生随机数R2,并利用带密钥的散列函数生成R2的消息鉴别码MAC(R2,M),其中,M为OPC UA服务器B的公钥,把R2||MAC(R2,M)发送到OPC UA客户端A;5)OPC UA客户端A收到R2||MAC(R2,M)后,首先根据服务响应EndpointDescription获取的OPC UA服务器B隐式证书CertB重构出服务器公钥M=e1D1+KCA,其中,D1为服务器B隐式证书因子,e1为隐式证书CertB的哈希摘要值,e1=H(CertB);然后利用相同的方式计算R2的消息鉴别码MAC(R2,M)1,将MAC(R2,M)1和MAC(R2,M)作比较,如果两者不相同,则终止通信;反之,计算V=R1+R2q,其中,q为OPC UA客户端A的私钥;随后产生一个新的随机数R4,并利用带密钥的散列函数生成消息鉴别码MAC(V,R4,Q),把V||R4||MAC(V,R4,Q)发送到OPC UA服务器B;6)OPC UA服务器B收到V||R4||MAC(V,R4,Q)后,首先利用相同的方式计算消息鉴别码MAC(V,R4,Q)1,将MAC(V,R4,Q)和MAC(V,R4,Q)1作比较,如果两者不相同,则终止通信;反之,计算VG和R2Q+L,并判断两者是否相等;如果不相等,则OPC UA服务器B对OPC UA客户端A的身份认证不通过,直接终止通信;反之,OPC UA服务器B产生一个新的随机数R3,并计算服务器临时公钥L1,L1=R3G和V1=R3+R4m,其中,m为OPC UA服务器B的私钥,并利用带密钥的散列函数生成消息鉴别码MAC(V1,L1,M),把V1||L1||MAC(V1,L1,M)发送到OPC UA客户端A;7)OPC UA客户端A收到V1||L1||MAC(V1,L1,M)后,首先利用相同的方式计算消息鉴别码MAC(V1,L1,M)1,将MAC(V1,L1,M)和MAC(V1,L1,M)1作比较,如果两者不相同,则终止通信;反之,OPC UA客户端A计算V1G和R4M+L1,并判断两者是否相等,如果不相等,则OPC UA客户端A对OPC UA服务器B的身份认证不通过,直接终止通信;反之,OPC UA客户端A和服务器B完成了双向的身份认证,这保证了通信双方身份的合法性。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于重庆邮电大学,未经重庆邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610906053.9/,转载请声明来源钻瓜专利网。