首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

基于轻量级国密SM9的MQTT协议身份认证的加密通信方法 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:电子科技大学

摘要:本发明提供一种基于轻量级国密SM9的MQTT协议身份认证的加密通信方法,适用于嵌入式领域或者边缘计算、物联网通信中提供身份认证,并采用MQTT协议进行加密通信。该方法包括:在设备进行MQTT通信之前,使用该方法提供的轻量级SM9算法对客户端和服务端进行身份验证从而获取会话秘钥,并通过获得的会话秘钥对MQTT协议中客户端身份验证信息、发布的主题内容通过SM4进行对称加密;该方法的优点在于采取基于标识的密码算法的轻量级SM9算法,公钥可由设备的对应身份唯一确定,因此不需要证书基础设施,具有密钥管理简单,部署灵活的优势。减少双线性对校验的次数大大缩短了身份验证的时间,解决了传统MQTT协议中的安全问题。

主权项:1.基于轻量级国密SM9的MQTT协议身份认证的加密通信方法,其特征在于,包括步骤:1密钥对生成获取:客户端和服务端根据自身设备的CPU序列号和MAC地址去哈希Hash生成设备ID,并通过设备ID取哈希值生成各自的设备公钥Keypub;之后,客户端和服务端设备通过其唯一设备ID在密钥生成中心KGC中获取对应的设备私钥Keysec;2轻量级SM9身份认证:客户端生成随机数nD和验证信息并将客户端认证信息发送给服务端;其中,分别表示客户端的第一验证信息和第二验证信息,IDD为客户端的设备ID,下标D表示客户端;服务端将接收到客户端的认证信息进行双线性对校验,校验通过后服务端则生成随机数nS和认证信息其中,分别表示服务端的第一验证信息和第二验证信息,IDS为服务端的设备ID,下标S表示服务端,同时服务端生成会话密钥skS,再通过哈希函数Hash计算会话密钥哈希值skS_Hash: 服务端将服务端认证信息{IDs,φs,σs}和会话密钥哈希值skS_Hash发送给客户端;客户端将接收到的服务端认证信息后进行双线性对校验,校验通过后客户端则生成会话密钥skD和会话密钥哈希值skD_Hash: 若有skD_Hash=skS_Hash则客户端对服务端的身份认证成功,客户端发送会话密钥哈希值skD_Hash给服务端;服务端检验是否满足skD_Hash=skS_Hash,若是,则服务端对客户端的身份认证成功,将skD,skS作为客户端和服务端之间用于加密通信的SM4对称会话密钥sksession;3主题密钥的派生以及分发阶:客户端对用户名user和用户密码password和当前时间戳timeStamp的组合{user,password,timeStamp}使用会话密钥sksession进行SM4加密生成密文Cverify,再将{IDD,Cverify}放入请求连接CONNECT数据包中发送给服务端;服务端接收到CONNECT数据包后,提取{IDD,Cverify},使用会话密钥sksession对获取客户端的IDD对应的Cverify进行解密从而获取得到{user,password,timeStamp},并检查时间戳timeStamp,若在时间在规定范围内则认为该Cverify为有效数据,并将得到的用户名user和用户密码password进行MQTT协议身份验证,若验证成功且时间戳timeStamp在规定范围,则返回确认连接请求CONNACK数据包至客户端;否则服务端向客户端返回MQTT身份验证失败消息;当MQTT协议身份验证成功后,客户端确定订阅或者发布主题topic,发送{topic,IDD}至服务端,服务端利用设备私钥KeyS_sec生成主题密钥Keytopic=Hashtopic||KeyS_sec,并将Keytopic和时间戳timeStamp使用会话密钥sksession进行SM4加密得到密文Ckey;将Ckey发送给客户端,客户端通过会话密钥sksession对Ckey进行解密得到主题密钥Keytopic,从而完成主题密钥Keytopic的分发;4MQTT数据加密传输以及解密:客户端发送订阅SUBSCRIBE数据包给服务端,从而订阅主题内容;作为发布端的客户端将发布主题对应的信息Cdata和时间戳timeStamp{Cdata,timeStamp}采用主题密钥Keytopic进行SM4加密后得到密文Ctopic并生成摘要HashCdata,组成客户端发送发布PUBLISH数据包中发布的内容{Ctopic,HashCdata}并向服务端发送;服务端收到PUBLISH数据包后,采用主题密钥Keytopic对Ctopic解密得到Cdata,再将该PUBLISH数据包转发到作为该主题订阅端的客户端处,订阅端通过主题密钥Keytopic对Ctopic进行解密得到{Cdata,timeStamp},而后检查PUBLISH数据包的时间timeStamp戳是否在规定范围内,若在规定范围内则对获得的Cdata进行取哈希得到Cdata_hash,得到的哈希值和从PUBLISH数据包中提取的HashCdata进行比较,若一致则确定获得主题公布的明文消息为Cdata。

全文数据:

权利要求:

百度查询: 电子科技大学 基于轻量级国密SM9的MQTT协议身份认证的加密通信方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。

相关技术
相关技术
相关技术
相关技术