System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術涉及區塊鏈,具體而言,涉及一種分布式數字身份的驗證方法及其裝置、電子設備。
技術介紹
1、分布式數字身份是一種基于區塊鏈技術構建的新型身份認證體系,利用區塊鏈等分布式賬本技術,賦予每個用戶唯一且不可篡改的標識符,使得用戶能夠自主控制和管理自己的身份信息,實現身份數據的自主驗證、安全存儲及隱私保護。
2、當前的分布式數字身份系統,依據w3c(world?wide?web?consortium,即世界萬維網聯盟)聯盟制定的規范,主要由發證方、持證方和驗證方協同操作,完成數字身份的憑證發放、注冊以及驗證流程,實現了身份信息的分布式管理,增強了身份驗證的安全性和隱私保護。
3、然而,在遇到多級授權或一對多授權的復雜場景時,當前的分布式數字身份系統每次驗證都需要逐一核實多個發證方的簽名,這種線性的驗證方式拖慢了整體流程,降低了系統性能,尤其在涉及大量發證方的情況下,這一問題變得尤為突出,對用戶體驗和系統吞吐量造成不利影響。
4、針對上述的問題,目前尚未提出有效的解決方案。
技術實現思路
1、本專利技術實施例提供了一種分布式數字身份的驗證方法及其裝置、電子設備,以至少解決相關技術中同時對多個數字身份進行驗證的效率較低的技術問題。
2、根據本專利技術實施例的一個方面,提供了一種分布式數字身份的驗證方法,包括:控制預設代理服務端的注冊模塊接收代理請求,其中,所述代理請求至少來自于一個預設發證服務端,所述代理請求至少攜帶代理數據,所述代理數據
3、進一步地,在控制預設代理服務端的注冊模塊接收代理請求之前,包括:控制每個所述預設發證服務端接收所述客戶端發送的申請發證請求,其中,所述申請發證請求至少攜帶申請數據,所述申請數據至少包括:所述客戶端的證書類型數據;基于所述申請數據,采用預設私鑰對所述證書類型數據所指示的所述預設發證服務端的證書數據進行加密,得到所述加密數字簽名。
4、進一步地,基于每個所述預設發證服務端發送的所述加密數字簽名,確定預設標簽的步驟,包括:控制所述預設代理服務端的簽名模塊接收所述注冊模塊發送的所述加密數字簽名;將每個所述預設發證服務端的所述加密數字簽名加入至數字簽名集合;基于所述數字簽名集合,確定所述預設標簽。
5、進一步地,基于所述數字簽名集合,確定所述預設標簽的步驟,包括:將所述數字簽名集合中每個所述加密數字簽名表征為葉子節點,并計算每個所述葉子節點的哈希值;基于每個所述葉子節點的所述哈希值,構建默克爾樹數據;基于所述默克爾樹數據,確定所述預設標簽,其中,所述預設標簽包括:所述葉子節點到根節點路徑上的所有哈希值。
6、進一步地,基于每個所述葉子節點的所述哈希值,構建默克爾樹數據的步驟,包括:將每兩個所述葉子節點進行合并,得到多個合并葉子節點,并計算所述合并葉子節點的合并哈希值;對每兩個所述合并葉子節點進行合并,直到剩余一個所述合并葉子節點,并將剩余的所述合并葉子節點表征為所述根節點;計算所述根節點的根節點哈希值;基于每個所述葉子節點的所述哈希值、合并后的所述合并葉子節點的所述合并哈希值以及所述根節點的所述根節點哈希值,構建所述默克爾樹數據。
7、進一步地,控制預設驗證服務端的驗證模塊基于每個所述預設發證服務端上的公開證書數據,對所述數字身份證書進行驗證的步驟,包括:基于每個所述預設發證服務端上的預設公鑰,對所述數字簽名集合中每個所述加密數字簽名進行解密,得到解密后的所述證書數據;對于每個解密后的所述證書數據,判斷所述證書數據與所述證書數據對應的所述預設發證服務端上的所述公開證書數據是否相同;在所有所述證書數據與所述證書數據對應的所述預設發證服務端上的所述公開證書數據相同的情況下,基于所述數字簽名集合,對所述數字身份證書進行驗證。
8、進一步地,基于所述數字簽名集合,對所述數字身份證書進行驗證的步驟,包括:基于所述數字簽名集合,重新計算所述根節點的哈希值,得到所述根節點的驗證哈希值;判斷所述根節點的所述驗證哈希值與所述根節點的所述根節點哈希值是否相同,在所述驗證哈希值與所述根節點哈希值相同的情況下,確定對所述數字身份證書驗證通過。
9、根據本專利技術實施例的另一方面,還提供了一種分布式數字身份的驗證裝置,包括:控制單元,用于控制預設代理服務端的注冊模塊接收代理請求,其中,所述代理請求至少來自于一個預設發證服務端,所述代理請求至少攜帶代理數據,所述代理數據至少包括:所述預設發證服務端的加密數字簽名;確定單元,用于基于每個所述預設發證服務端發送的所述加密數字簽名,確定預設標簽;生成單元,用于基于所述預設標簽,生成數字身份證書;驗證單元,用于在檢測到在客戶端上使用所述數字身份證書的情況下,控制預設驗證服務端的驗證模塊基于每個所述預設發證服務端上的公開證書數據,對所述數字身份證書進行驗證。
10、進一步地,所述驗證裝置包括:第一控制模塊,用于在控制預設代理服務端的注冊模塊接收代理請求之前,控制每個所述預設發證服務端接收所述客戶端發送的申請發證請求,其中,所述申請發證請求至少攜帶申請數據,所述申請數據至少包括:所述客戶端的證書類型數據;第一加密模塊,用于基于所述申請數據,采用預設私鑰對所述證書類型數據所指示的所述預設發證服務端的證書數據進行加密,得到所述加密數字簽名。
11、進一步地,所述確定單元包括:第二控制模塊,用于控制所述預設代理服務端的簽名模塊接收所述注冊模塊發送的所述加密數字簽名;第一處理模塊,用于將每個所述預設發證服務端的所述加密數字簽名加入至數字簽名集合;第一確定模塊,用于基于所述數字簽名集合,確定所述預設標簽。
12、進一步地,所述第一確定模塊包括:第一處理子模塊,用于將所述數字簽名集合中每個所述加密數字簽名表征為葉子節點,并計算每個所述葉子節點的哈希值;第一構建子模塊,用于基于每個所述葉子節點的所述哈希值,構建默克爾樹數據;第一確定子模塊,用于基于所述默克爾樹數據,確定所述預設標簽,其中,所述預設標簽包括:所述葉子節點到根節點路徑上的所有哈希值。
13、進一步地,所述第一構建子模塊包括:第二處理子模塊,用于將每兩個所述葉子節點進行合并,得到多個合并葉子節點,并計算所述合并葉子節點的合并哈希值;第三處理子模塊,用于對每兩個所述合并葉子節點進行合并,直到剩余一個所述合并葉子節點,并將剩余的所述合并葉子節點表征為所述根節點;第一計算子模塊,用于計算所述根節點的根節點哈希值;第二構建子模塊,用于基于每個所述葉子節點的所述哈希值、合并后的所述合并葉子節點的所述合并哈希值以及所述根節點的所述根節點哈希值,構建所述默克爾樹數據。
14、進一步本文檔來自技高網...
【技術保護點】
1.一種分布式數字身份的驗證方法,其特征在于,包括:
2.根據權利要求1所述的分布式數字身份的驗證方法,其特征在于,在控制預設代理服務端的注冊模塊接收代理請求之前,包括:
3.根據權利要求2所述的分布式數字身份的驗證方法,其特征在于,基于每個所述預設發證服務端發送的所述加密數字簽名,確定預設標簽的步驟,包括:
4.根據權利要求3所述的分布式數字身份的驗證方法,其特征在于,基于所述數字簽名集合,確定所述預設標簽的步驟,包括:
5.根據權利要求4所述的分布式數字身份的驗證方法,其特征在于,基于每個所述葉子節點的所述哈希值,構建默克爾樹數據的步驟,包括:
6.根據權利要求5所述的分布式數字身份的驗證方法,其特征在于,控制預設驗證服務端的驗證模塊基于每個所述預設發證服務端上的公開證書數據,對所述數字身份證書進行驗證的步驟,包括:
7.根據權利要求6所述的分布式數字身份的驗證方法,其特征在于,基于所述數字簽名集合,對所述數字身份證書進行驗證的步驟,包括:
8.一種分布式數字身份的驗證裝置,其特征在于,包括:
9.一種計算機程序產品,其特征在于,包括非易失性計算機可讀存儲介質,所述非易失性計算機可讀存儲介質存儲計算機程序,所述計算機程序被處理器執行時實現權利要求1至7中任意一項所述的分布式數字身份的驗證方法。
10.一種電子設備,其特征在于,包括一個或多個處理器和存儲器,所述存儲器用于存儲一個或多個程序,其中,當所述一個或多個程序被所述一個或多個處理器執行時,使得所述一個或多個處理器實現權利要求1至7中任意一項所述的分布式數字身份的驗證方法。
...【技術特征摘要】
1.一種分布式數字身份的驗證方法,其特征在于,包括:
2.根據權利要求1所述的分布式數字身份的驗證方法,其特征在于,在控制預設代理服務端的注冊模塊接收代理請求之前,包括:
3.根據權利要求2所述的分布式數字身份的驗證方法,其特征在于,基于每個所述預設發證服務端發送的所述加密數字簽名,確定預設標簽的步驟,包括:
4.根據權利要求3所述的分布式數字身份的驗證方法,其特征在于,基于所述數字簽名集合,確定所述預設標簽的步驟,包括:
5.根據權利要求4所述的分布式數字身份的驗證方法,其特征在于,基于每個所述葉子節點的所述哈希值,構建默克爾樹數據的步驟,包括:
6.根據權利要求5所述的分布式數字身份的驗證方法,其特征在于,控制預設驗證服務端的驗證模塊基于每個所述預設發證服務...
【專利技術屬性】
技術研發人員:趙玉霞,李勁松,于明亮,王剛,楊雯,周煊,范修偉,甘寧,
申請(專利權)人:中國民航信息網絡股份有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。