本發明屬于多無人系統相互認證,具體涉及一種基于數據分發服務的多無人系統相互認證方法。
背景技術:
1、在一個多無人系統中,通常包括一個地面控制站以及一組或多組智能體,智能體可以是機器人、無人機或無人車。當遠離地面控制站的智能體與周圍智能體進行協同作業時,為確認周圍智能體是否在任務群中,需對其進行身份確認。
2、基于中心化證書頒發機構(ca,centralized?certificate?authority)的認證體系被廣泛采用,該方法通過中心服務器為每個智能體頒發數字證書,并在通信時要求智能體向地面控制站提交證書驗證請求以確認身份合法性。例如,多無人系統中的每個智能體需預先從地面控制站獲取證書,并在執行任務的過程中實時與地面控制站交互以完成身份核驗。
3、但是,在復雜的自然環境下,由于地面控制站以及各智能體的移動速度不一致,無法保證智能體在任務期間與地面控制站通信網絡的連續性與穩定性。所以,現有方法僅能在智能體與地面控制站能夠通信的情況下進行身份認證,無法在網絡中斷或離線場景下完成智能體之間的身份認證。
技術實現思路
1、本發明的目的是提供一種基于數據分發服務的多無人系統相互認證方法,以在智能體與地面控制站無法通信的情況下,完成智能體之間的身份認證。
2、本發明采用以下技術方案:
3、一種基于數據分發服務的多無人系統相互認證方法,包括以下步驟:
4、當接收到待認證智能體的連接請求時,向通信范圍內廣播安全參數的獲取請求;
5、接收 t-1個安全參數;其中, t-1個安全參數包括待認證智能體的安全參數和通信范圍內的至少 t-2個已認證智能體的安全參數;
6、基于 t-1個安全參數以及當前智能體的安全參數計算虛擬公鑰;其中,安全參數包括假名、公鑰和過期時間;
7、當虛擬公鑰與群公鑰相同時,向待認證智能體發送通信密鑰,并將待認證智能體加入通信列表;其中,群公鑰為所有已認證智能體共享的密鑰,用于生成公鑰, t表示恢復群公鑰所需智能體的第一數量。
8、進一步地,向通信范圍內廣播安全參數的獲取請求之前包括:
9、向待認證智能體發送過期時間的獲取請求;
10、接收待認證智能體發送的過期時間,將過期時間與當前時間進行比對;檢查待認證智能體的假名是否在注銷信息表中;
11、若過期時間晚于當前時間且假名不在注銷信息表中,則繼續執行。
12、進一步地,若過期時間早于當前時間或假名在注銷信息表中,則終止執行。
13、進一步地,群公鑰的具體生成方法為:
14、基于sm2橢圓曲線公鑰密碼算法選取橢圓曲線參數,橢圓曲線參數包括生成元;
15、基于shamir門限秘密共享方案設置恢復群公鑰所需智能體的第一數量 t;
16、根據第一數量 t,隨機構造 t-1次多項式;
17、選擇 t-1次多項式中的常數項作為群私鑰,利用群私鑰和生成元構造群公鑰。
18、進一步地,公鑰的具體生成方法為:
19、選取隨機數;
20、將隨機數作為智能體的假名,并將隨機數作為變量代入 t-1次多項式,計算智能體的門限密鑰;
21、隨機生成時間圍欄私鑰;
22、利用時間圍欄私鑰和生成元構造時間圍欄公鑰;
23、利用門限密鑰、過期時間和時間圍欄私鑰計算私鑰,表示為:
24、?,
25、其中, sk表示私鑰, y表示門限密鑰, t表示智能體的過期時間, skt表示時間圍欄私鑰;
26、利用私鑰和生成元構造公鑰。
27、進一步地,基于 t-1個安全參數以及當前智能體的安全參數計算虛擬公鑰包括:
28、利用 t-1個安全參數以及當前智能體的安全參數計算拉格朗日系數,表示為:
29、?,
30、其中,表示假名為 i的智能體的拉格朗日系數, i表示任一智能體的假名, j表示除 i以外的其它智能體的假名;
31、利用拉格朗日系數計算虛擬公鑰,表示為:
32、,
33、其中, a表示虛擬公鑰, pk i表示假名為 i的智能體的公鑰, t i表示假名為 i的智能體的過期時間, pkt表示時間圍欄公鑰。
34、進一步地,向待認證智能體發送過期時間的獲取請求之前包括:
35、向待認證智能體發送假名的獲取請求;
36、接收假名,并向通信范圍內廣播假名對應的待認證智能體的通信密鑰的獲取請求;
37、若接收到通信密鑰,則將待認證智能體加入通信列表。
38、進一步地,若未接收到通信密鑰,則繼續執行。
39、進一步地,若過期時間晚于當前時間且假名不在注銷信息表中,執行以下步驟:
40、向待認證智能體發送公鑰和第一信息的獲取請求;第一信息由待認證智能體的私鑰加密;第一信息包括當前時間和當前時間的簽名;
41、接收公鑰和第一信息;
42、利用公鑰驗證當前時間的簽名,得到第二信息;
43、利用當前時間計算傳輸時間;
44、若第二信息與當前時間相同且傳輸時間小于最大允許傳輸時間,則繼續執行。
45、進一步地,若第二信息與當前時間不相同或傳輸時間大于等于最大允許傳輸時間,則終止執行。
46、本發明的有益效果是:本發明基于安全參數計算虛擬公鑰,將虛擬公鑰與群公鑰進行比對,從而對待認證智能體進行身份認證,通過一定數量的安全參數對群公鑰進行恢復實現了智能體之間的身份認證,使得智能體在與地面控制站斷聯的情況下能夠自主完成身份認證,使多無人系統在復雜的任務環境下仍能維持可靠的協作關系,大幅提升了系統抗毀性和任務連續性,為多無人系統在多個領域的應用提供了重要技術保障。