System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及车联网安全通信、物联网领域,特别是涉及一种基于kem实现量子安全mqtt的方法和装置。
技术介绍
1、车联网是物联网技术在交通系统领域的典型应用。车联网行业所涉及的相关
的融合布局与协同发展在某种程度上与物联网一脉相通。mqtt 协议是物联网领域当之无愧的主流协议,其凭借轻巧高效、可靠安全、双向通讯等特性在诸多行业的物联网平台搭建中得到了广泛的应用。
2、mqtt协议是基于发布/订阅模式的物联网通信协议,占据了物联网协议的半壁江山,该协议具有简单易实现、支持qos、报文体积小等特点。
3、然而,mqtt协议在默认情况下的安全性很低,因为它在数据传输过程中,不进行任何身份验证或报文加密。为了提升安全性,可以采用基于tls、abe或mqtt-sn(基于数字签名和密码学)的安全方案。然而,这些方案并没有考虑到量子安全,基于这三种安全方案之上增加后量子算法的方法所带来的优缺点如下。
4、(1)基于tls的mqtt安全方案:在tls握手阶段使用后量子公钥算法(如crystals-kyber、falcon等)生成和交换公私钥,替代现有tls在握手过程中使用的rsa等算法。该方法的优点是,可以提供后量子级别的安全性、保持tls与mqtt的集成优势、实现较为简单。缺点是后量子算法计算开销大,可能会增加tls的握手时间,且需要升级现有tls和mqtt实现,兼容性问题需要解决。
5、(2)基于abe的mqtt安全方案:使用后量子算法(如crystals-dilithium等)生成属
6、(3)基于数字签名和密码学的mqtt-sn安全方案:在数字签名和对称密钥交换过程中,使用后量子加密算法(如crystals-kyber、crystals-dilithium等)代替现有方案中的rsa、ecc等加密算法。该方法的优点是,可以提供后量子级别的安全性、保持数字签名和对称加密与mqtt-sn的集成优势、实现较为简单。缺点是后量子算法计算开销大,可能会增加数字签名和密钥的交换时间,且需要升级现有数字签名和mqtt-sn来实现,兼容性问题需要解决。
技术实现思路
1、本说明书一个或多个实施例描述了一种基于kem实现量子安全mqtt的方法和装置,可以在不修改mqtt协议的前提下,在不安全的公共通信信道上安全地传输加密密钥,实现了对随机数的加密和解密,确保发送方和接收方之间共享了相同的随机数,进而验证了双方的身份。
2、根据第一方面,提供了一种基于kem实现量子安全mqtt的方法,该方法应用于具有第一网络端和第二网络端的车联网场景,所述第一网络端持有基于kem生成的长期密钥对,所述kem支持后量子算法,所述长期密钥对包含长期公钥和长期私钥。
3、所述方法包括多轮密钥交换过程,其中第i轮密钥交换过程包括,由所述第一网络端执行的以下步骤:
4、生成第一临时共享密钥;
5、响应于接收到由所述第二网络端发来的第一消息,使用所述第一消息中包含的临时公钥,将所述第一临时共享密钥进行封装,获得第一密文,其中,所述临时公钥基于所述kem生成;
6、向所述第二网络端发送第二消息,所述第二消息包含所述第一密文;
7、响应于接收到由所述第二网络端发来的第三消息,使用所述长期私钥将所述第三消息解封装,获得第二临时共享密钥;
8、根据所述第一临时共享密钥和所述第二临时共享密钥,使用预设的算法计算得到共享密钥;
9、使用所述共享密钥,对所述第一消息、所述第二消息和所述第三消息分别进行hmac计算,得到第一消息验证码、第二消息挑战码和第三消息验证码,将所述第二消息挑战码发送至所述第二网络端;
10、响应于接收到由所述第二网络端发来的第一消息挑战码和第三消息挑战码,用所述第一消息验证码和第三消息验证码进行一致性验证;若一致,则密钥交换成功。
11、根据一种实施方式,所述后量子算法为kyber算法。
12、根据一种实施方式,所述方法还包括:每当向所述第二网络端发送消息时,重新生成随机数nonces,并将所述随机数nonces一并发送给所述第二网络端;
13、在接收由所述第二网络端发来的消息时,检查消息中的随机数noncec是否已存储于本地数据库;如果未存储,则存储该随机数noncec;如果已存储,则确定存在重放攻击。
14、根据一种实施方式,所述密钥交换成功,之后还包括:
15、每当对所述第二网络端发送下行消息时,使用所述共享密钥加密所述下行消息;
16、每当接收由所述第二网络端发来的上行消息时,使用所述共享密钥解密所述上行消息。
17、根据第二方面,提供了一种基于kem实现量子安全mqtt的方法,该方法应用于具有第一网络端和第二网络端的车联网场景,所述第一网络端持有基于kem生成的长期密钥对,所述kem支持后量子算法,所述长期密钥对包含长期公钥和长期私钥。
18、所述方法包括多轮密钥交换过程,其中第i轮密钥交换过程包括,由所述第二网络端执行的以下步骤:
19、基于所述kem生成临时密钥对,其中包含临时公钥和临时私钥;
20、向所述第一网络端发送第一消息,所述第一消息包含所述临时公钥;
21、响应于接收到由所述第一网络端发来的第二消息,使用所述临时私钥,将所述第二消息解封装,获得第一临时共享密钥;
22、生成第二临时共享密钥;
23、使用所述长期公钥将所述第二临时共享密钥进行封装,获得第二密文;
24、向所述第一网络端发送第三消息,所述第三消息包含所述第二密文;
25、根据所述第一临时共享密钥和所述第二临时共享密钥,使用预设的算法计算得到共享密钥;
26、使用所述共享密钥,对所述第一消息、所述第二消息和所述第三消息分别进行hmac计算,得到第一消息挑战码、第二消息验证码和第三消息挑战码,将所述第一消息挑战码和所述第三消息挑战码发送至所述第一网络端;
27、响应于接收到由所述第一网络端发来的第二消息挑战码,用所述第二消息验证码进行一致性验证;若一致,则密钥交换成功。
28、根据一种实施方式,所述长期公钥是由所述第一网络端通过带外的手段发送或配置到所述第二网络端的。所述后量子算法为kyber算法。
29、根据一种实施方式,所述方法还包括:
30、每当向所述第一网络端发送消息时,重新生成随机数noncec,并将所述随机数noncec一并发送给所述第一网络端;
31、在接收由所述第一网络端发来的消息时,检查消本文档来自技高网...
【技术保护点】
1.一种基于KEM实现量子安全MQTT的方法,其特征在于,应用于具有第一网络端和第二网络端的车联网场景,所述第一网络端持有基于KEM生成的长期密钥对,所述KEM支持后量子算法,所述长期密钥对包含长期公钥和长期私钥;
2.根据权利要求1所述的方法,其特征在于,所述后量子算法为Kyber算法。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
4.根据权利要求1所述的方法,其特征在于,所述密钥交换成功,之后还包括:
5.一种基于KEM实现量子安全MQTT的方法,其特征在于,应用于具有第一网络端和第二网络端的车联网场景,所述第一网络端持有基于KEM生成的长期密钥对,所述KEM支持后量子算法,所述长期密钥对包含长期公钥和长期私钥;
6.根据权利要求5所述的方法,其特征在于,包括:
7.根据权利要求5所述的方法,其特征在于,所述方法还包括:
8.根据权利要求5所述的方法,其特征在于,所述密钥交换成功,之后还包括:
9.一种基于KEM实现量子安全MQTT的装置,其特征在于,所述装置部署于
10.一种基于KEM实现量子安全MQTT的装置,其特征在于,所述装置部署于具有第一网络端的车联网场景,所述第一网络端持有基于KEM生成的长期密钥对,所述KEM支持后量子算法,所述长期密钥对包含长期公钥和长期私钥;
...【技术特征摘要】
1.一种基于kem实现量子安全mqtt的方法,其特征在于,应用于具有第一网络端和第二网络端的车联网场景,所述第一网络端持有基于kem生成的长期密钥对,所述kem支持后量子算法,所述长期密钥对包含长期公钥和长期私钥;
2.根据权利要求1所述的方法,其特征在于,所述后量子算法为kyber算法。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
4.根据权利要求1所述的方法,其特征在于,所述密钥交换成功,之后还包括:
5.一种基于kem实现量子安全mqtt的方法,其特征在于,应用于具有第一网络端和第二网络端的车联网场景,所述第一网络端持有基于kem生成的长期密钥对,所述kem支持后量子算法,所述长期密钥对包含长期公钥...
【专利技术属性】
技术研发人员:冯凯,黄蕾蕾,
申请(专利权)人:正则量子北京技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。