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支持后量子算法,所述長期密鑰對包含長期公鑰...
【專利技術屬性】
技術研發人員:馮凱,黃蕾蕾,
申請(專利權)人:正則量子北京技術有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。