本申請涉及消息層大規模群組加密,特別是涉及一種自信任群組密鑰協商方法、系統、計算機設備及存儲介質。
背景技術:
1、在大規模動態用戶的長期數據流加密通信場景中,消息層加密傳輸協議(mls)憑借群組密鑰易構建、支持組員動態更新、具備前向安全等特性,成為核心技術選擇,顯著優于傳統?tls?協議。mls?的核心是群組密鑰協商方法。當前?ietf?推行的相關框架草案,雖在密碼算法通用性、密鑰安全性、用戶動態管理擴展性上有解決方案,但存在明顯局限:協商過程復雜導致交互慢、開銷大;且要求用戶預先與組管理者完成身份證書交互和認證。這使得該框架在低帶寬、大規模自組織網絡中難以適用,此類網絡中,有限的帶寬資源無法承載復雜交互,節點的動態性也與預設的證書認證流程沖突,亟需一種無需依賴預先證書交互的自信任密鑰協商方案,以適配場景需求。
技術實現思路
1、基于此,有必要針對上述技術問題,提供一種能夠在帶寬資源有限,且大規模的自組織網絡群組中的自信任群組密鑰協商方法、系統、計算機設備及存儲介質。
2、一種自信任群組密鑰協商方法,所述方法實施于多個用戶之間,各用戶均持有由私鑰生成機構頒發的自信任標識私鑰,并將身份標識作為自信任公鑰,在各所述用戶之中確定一用戶作為群主,所述方法實施于群主,包括:
3、發布自身身份標識和群組編碼;
4、接收請求加入群組的申請信息,根據申請信息中的用戶身份標識以及接收到的申請信息數量,構建群組密鑰協商樹,以組成自信任群組,在構建所述群組密鑰協商樹時,生成葉子節點數量與群組成員總數一致的二叉樹,對所述二叉樹的各葉子節點,根據對應的成員的身份標識生成公私鑰對,并逐層向上通過密鑰運算生成各層級父節點的公私鑰對,直至得到根節點密鑰;
5、向自信任群組中其他成員通告與所述群組密鑰協商樹相關的狀態信息,使得各成員根據所述狀態信息中與自身相關的狀態信息計算得到群組通信密鑰,并根據所述群組通信密鑰與自信任群組內的其他成員進行通信。
6、在其中一實施例中,所述私鑰生成機構,根據用戶的身份標識采用雙線性映射友好的橢圓曲線群運算構造所述自信任標識私鑰。
7、在其中一實施例中,在構建所述群組密鑰協商樹時:
8、根據自信任群組中成員數量得到所述二叉樹的葉子節點數量與深度;
9、將各葉子節點從左至右的順序對群主和各成員進行編號,將第一個葉子節點表示群主,建立成員身份標識與葉子節點編號的雙向映射關系,并生成對應的身份標識與編號表;
10、根據隨機參數,生成群主自身對應葉子節點的公私鑰對,根據各成員的身份標識通過雙線性映射運算生成對應編碼的葉子節點的私鑰,對所述私鑰進行基礎點運算得到對應的公鑰;
11、從二叉樹的葉子節點開始,將相鄰的兩個節點作為一對兄弟節點,利用兄弟節點的公私鑰對進行dh運算和哈希運算計算,得到上一層中對應父節點的公私鑰對,直至得到所述群組根節點密鑰。
12、在其中一實施例中,各成員根據與所述群組密鑰協商樹相關的狀態信息中與自身相關的狀態信息,計算群組通信密鑰時:
13、所述群組密鑰協商樹的狀態信息包括:所述身份標識與編號表、群組公鑰樹、群組更新周期以及群組更新序號;
14、各成員根據群主身份標識以及己方的自信任標識私鑰進行bdh運算,得到對應葉子節點的私鑰;
15、在所述身份標識與編號表中,根據各成員自身的身份標識查找到對應的編號,依據編號在所述群組公鑰樹中查詢從對應葉子節點到根節點的路徑節點集合,對于所述路徑節點集合中的每個節點,查詢其對應的兄弟節點并形成列表;
16、根據所述列表中的兄弟節點的公鑰,依次進行dh運算和哈希運算,得到所述群組根節點密鑰;
17、根據所述群組根節點密鑰以及群組更新序號進行計算,得到群組通信密鑰。
18、在其中一實施例中,所述方法還包括:按照所述群組更新周期對所述群組通信密鑰,通過更新所述群組更新序號進行周期性更新。
19、在其中一實施例中,所述方法包括當有新用戶加入到所述自信任群組中時:
20、所述新用戶,向所述群主發送請求加入群組的申請信息;
21、所述群主,根據所述群組公鑰樹和新成員編號,對所述群組密鑰協商樹進行更新,并向所述自信任群說組中的其他成員和新成員,通告更新后的群組密鑰協商樹。
22、在其中一實施例中,所述方法包括當有成員動態離開所述自信任群組時:
23、所述群主,接收到離開信息后,根據對應編號將離開成員對應的葉子節點密鑰進行更新,并更新所述群組密鑰協商樹,并向所述自信任群組中的其他成員,通告更新后的群組密鑰協商樹。
24、本申請還提供了一種自信任群組密鑰協商系統,其所述系統包括多個用戶,各用戶均持有由私鑰生成機構頒發的自信任標識私鑰,并將身份標識作為自信任公鑰,在各所述用戶之中確定一用戶作為群主,在所述系統中實施上述的自信任群組密鑰協商方法。
25、一種計算機設備,包括存儲器和處理器,所述存儲器存儲有計算機程序,所述處理器執行所述計算機程序時實現上述的自信任群組密鑰協商方法中的步驟。
26、一種計算機可讀存儲介質,其上存儲有計算機程序,所述計算機程序被處理器執行時實現上述的自信任群組密鑰協商方法中的步驟。
27、上述自信任群組密鑰協商方法、系統、計算機設備及存儲介質,通過在多個用戶中確定一用戶為群組,由該群組發布自身身份標識和群組編碼,之后,根據請求加入群組的申請信息中的用戶身份標識以及接收到的申請信息數量,構建群組密鑰協商樹,以組成自信任群組,在構建群組密鑰協商樹時,生成葉子節點數量與群組成員總數一致的二叉樹,對二叉樹的各葉子節點,根據對應的成員的身份標識生成公私鑰對,并逐層向上通過密鑰運算生成各層級父節點的公私鑰對,直至得到根節點密鑰,向自信任群組中其他成員通告與群組密鑰協商樹相關的狀態信息,使得各成員根據所述狀態信息中與自身相關的狀態信息計算得到群組通信密鑰,并根據群組通信密鑰與自信任群組內的其他成員進行通信。采用本方法群主不再需要單獨對各群組發送相應的信息,而是通告相同的信息,以適應低寬帶、大規模的自組織群組加密通信。
1.一種自信任群組密鑰協商方法,其特征在于,所述方法實施于多個用戶之間,各用戶均持有由私鑰生成機構頒發的自信任標識私鑰,并將身份標識作為自信任公鑰,在各所述用戶之中確定一用戶作為群主,所述方法實施于群主,包括:
2.根據權利要求1所述的自信任群組密鑰協商方法,其特征在于,所述私鑰生成機構,根據用戶的身份標識采用雙線性映射友好的橢圓曲線群運算構造所述自信任標識私鑰。
3.根據權利要求1所述的自信任群組密鑰協商方法,其特征在于,在構建所述群組密鑰協商樹時:
4.根據權利要求3所述的自信任群組密鑰協商方法,其特征在于,各成員根據與所述群組密鑰協商樹相關的狀態信息中與自身相關的狀態信息,計算群組通信密鑰時:
5.根據權利要求4所述的自信任群組密鑰協商方法,其特征在于,所述方法還包括:按照群組更新周期對所述群組通信密鑰,通過更新所述群組更新序號進行周期性更新。
6.根據權利要求4所述的自信任群組密鑰協商方法,其特征在于,所述方法包括當有新用戶加入到所述自信任群組中時:
7.根據權利要求4所述的自信任群組密鑰協商方法,其特征在于,所述方法包括當有成員動態離開所述自信任群組時:
8.一種自信任群組密鑰協商系統,其特征在于,所述系統包括多個用戶,各用戶均持有由私鑰生成機構頒發的自信任標識私鑰,并將身份標識作為自信任公鑰,在各所述用戶之中確定一用戶作為群主,在所述系統中實施權利要求1至7任一項所述的自信任群組密鑰協商方法。
9.一種計算機設備,包括存儲器和處理器,所述存儲器存儲有計算機程序,其特征在于,所述處理器執行所述計算機程序時實現權利要求1至7中任一項所述方法的步驟。
10.一種計算機可讀存儲介質,其上存儲有計算機程序,其特征在于,所述計算機程序被處理器執行時實現權利要求1至7中任一項所述的方法的步驟。