電力安全生產是一種多業務部門、多工區與多業務系統協同工作的複雜工程,涉及到電網各部門工作人員跨本業務部門、跨本工區協作完成對電力的安全生產,其中嚴格 身份認證機制是保證工作人員跨部門、跨工區安全生產的必需措施。
目前,各交叉業務部門根據自身業務需求獨立建設分散式身份認證系統,實現對 本部門工區工作人員身份註冊和身份認證,有效防止了無關人員進入本工區和操作本部門 的業務系統。
但是,各交叉業務部門身份認證系統之間相互獨立,並且身份資料不能共享融合, 難以滿足跨部門工作人員的跨域身份認證要求。
問題拆分
該方法中,由第一分散式身份客戶端生成與使用者在其所屬部門的原有 身份認證系統中的身份標識具有差異的跨域分散式身份識別符號及跨域公私鑰對,然後由第一分 布式公證人客戶端及第一公證人服務節點將跨 域分散式身份識別符號和跨域公鑰寫入區塊鏈分 布式跨域公證身份賬本上,實現使用者的跨域身份 資料的共享;最後獲取跨域身份令牌和跨越身份 憑證以便在第二公證人所在的業務部門進行安全身份驗證。並且,透過生成與原有身份認證系統中的身份標識具有差異的跨域分散式身份標 識符和跨域公私鑰,保證各交叉業務部門原有身份認證系統的獨立性,保持各部門的原有資料身份相對其他業務部門的隱私性。
問題解決
1 .一種基於區塊鏈的跨域分散式身份認證方法,其特徵在於,包括: 第一分散式身份客戶端在其所屬部門的使用者進行跨域註冊時,生成所述使用者的跨域分 布式身份識別符號和跨域公私鑰對,所述跨域分散式身份識別符號與所述使用者在其所屬部門的 原有身份認證系統中已註冊身份識別符號具有差異; 所述第一分散式身份客戶端利用所述跨域公私鑰對中的跨域私鑰對所述跨域分散式 身份識別符號和時間戳進行簽名,生成跨域分散式身份識別符號簽名,並將包含所述已註冊身 份識別符號、所述跨域分散式身份識別符號、所述跨域分散式身份識別符號簽名和所述跨域公私 鑰對中跨域公鑰的跨域註冊請求傳送至第一分散式公證人客戶端; 所述第一分散式公證人客戶端將所述跨域分散式身份識別符號和所述跨域公鑰傳送給 其所屬部門的第一公證人服務節點; 所述第一公證人服務節點將所述跨域分散式身份識別符號和所述跨域公鑰註冊到區塊 鏈分散式跨域公證身份賬本上; 所述第一分散式公證人客戶端生成身份令牌,並將所述身份令牌傳送給所述第一分佈 式身份客戶端,所述身份令牌包含所述使用者所屬部門的資訊、生成身份令牌的公證人標識 符、所述跨域分散式身份識別符號、有效期、各交叉業務部門的公證人簽名信息; 所述第一分散式身份客戶端儲存所述身份令牌,並向第二分散式公證人客戶端出示所 述身份令牌,所述第二分散式公證人客戶端與所述第一分散式公證人客戶端屬於不同部 門; 所述第二分散式公證人客戶端根據公證人組執行機制驗證所述身份令牌,在驗證透過 後,根據跨域身份憑證頒發執行機制生成跨域身份憑證,並將所述跨域身份憑證傳送給所 述第一分散式身份客戶端; 所述第一分散式身份客戶端儲存所述跨域身份憑證,並在所述使用者需要操作被訪問設 備時,向第三分散式公證人客戶端出示所述身份令牌和所述跨域身份憑證,所述第三分佈 式公證人客戶端為被訪問裝置的分散式公證人客戶端; 所述第三分散式公證人客戶端按照身份認證執行機制驗證所述身份令牌和所述跨域 身份憑證,在驗證通過後,給予所述使用者訪問所述被訪問裝置的許可權。
2 .根據權利要求1所述的方法,其特徵在於,所述第一分散式公證人客戶端將所述跨域 分散式身份識別符號和所述跨域公鑰傳送給其所屬部門的第一公證人服務節點,包括: 所述第一分散式公證人客戶端解析所述跨域註冊請求,獲得所述已註冊身份識別符號、 所述跨域分散式身份識別符號、所述跨域分散式身份識別符號簽名和所述跨域公鑰; 所述第一分散式公證人客戶端在所述第一分散式公證人客戶端所屬部門的原有身份 認證系統中查詢所述已註冊身份識別符號,若查詢到,則確認所述使用者的身份合法; 所述第一分散式公證人客戶端利用所述跨域公鑰對所述跨域分散式身份識別符號簽名 進行驗籤,若驗籤透過,則向所述第一分散式公證人客戶端所屬公證人組中其它分散式公 證人客戶端廣播所述跨域註冊請求; 所述第一分散式公證人客戶端所屬公證人組中其它各個分散式公證人客戶端分別獲 得所述跨域公鑰、所述跨域分散式身份識別符號及所述跨域分散式身份識別符號簽名,並利用 所述跨域公鑰對所述跨域分散式身份識別符號簽名進行驗籤,若驗籤透過,則利用其私鑰對 所述跨域註冊請求進行簽名,生成跨域註冊請求籤名,並將所述跨域註冊請求籤名傳送給所述第一分散式公證人客戶端; 所述第一分散式公證人客戶端在接收到所述跨域註冊請求籤名時,透過所述第一公證 人服務節點在所述區塊鏈分散式跨域公證身份賬本上查詢其接收到的跨域註冊請求籤名 所屬分散式公證人客戶端的公鑰,並利用查詢到的公鑰對所述跨域註冊請求籤名進行驗 籤,若驗籤透過,則將所述跨域註冊請求籤名標記為有效; 所述第一分散式公證人客戶端在標記為有效的跨域註冊請求籤名的個數達到第一設 定個數時,將所述跨域分散式身份識別符號和所述跨域公鑰傳送給其所屬部門的第一公證人 服務節點。
3 .根據權利要求2所述的方法,其特徵在於,所述第一分散式公證人客戶端生成身份令 牌,包括: 所述第一分散式公證人客戶端根據各個有效的所述跨域註冊請求籤名生成所述使用者 的身份令牌; 所述第一分散式身份客戶端儲存所述身份令牌,包括: 所述第一分散式身份客戶端透過所述第一公證人服務節點在所述區塊鏈分散式跨域 公證身份賬本上查詢各個有效的所述跨域註冊請求籤名所屬公證人的公鑰,並利用查詢到 的公鑰對有效的所述跨域註冊請求籤名進行驗籤,若驗籤透過,則將所述身份令牌儲存在 其內建的身份密包中,且將所述跨域分散式身份識別符號和所述跨域公私鑰對儲存在其內建 的身份密包中。
4 .根據權利要求1所述的方法,其特徵在於,所述向第二分散式公證人客戶端出示身份 令牌,包括: 利用所述跨域公私鑰對中的跨域私鑰對所述跨域分散式身份識別符號和時間戳進行籤 名,生成跨域分散式身份識別符號簽名,並向第二分散式公證人客戶端傳送包含身份令牌、所 述跨域分散式身份識別符號及所述跨域分散式身份識別符號簽名的跨域身份憑證頒發請求; 所述第二分散式公證人客戶端根據公證人組執行機制驗證所述身份令牌,包括: 所述第二分散式公證人客戶端從所述跨域身份憑證頒發請求中解析出所述身份令牌、 所述跨域分散式身份識別符號及所述跨域分散式身份識別符號簽名; 所述第二分散式公證人客戶端透過其所屬部門的第二公證人服務節點在所述區塊鏈 分散式跨域公證身份賬本中查詢所述使用者的跨域公鑰,並利用查詢到的所述使用者的跨域公 鑰對所述跨域分散式身份識別符號簽名進行驗籤,若驗籤透過,則向所述第二分散式公證人 客戶端所屬公證人組中其它分散式公證人客戶端廣播所述身份令牌。
5 .根據權利要求4所述的方法,其特徵在於,所述根據跨域身份憑證頒發執行機制生成 跨域身份憑證,並將所述跨域身份憑證傳送給所述第一分散式身份客戶端,包括: 所述第二分散式公證人客戶端所屬公證人組中其它各個分散式公證人客戶端分別獲 得所述身份令牌,並從所述身份令牌中解析出自身的跨域註冊請求籤名,並利用其公鑰對 所述自身的跨域註冊請求籤名進行驗籤,若驗籤透過且同意頒發,則利用其私鑰對所述驗 籤透過且同意頒發的結果進行簽名,生成結果簽名,並將所述結果簽名傳送給所述第二分 布式公證人客戶端; 所述第二分散式公證人客戶端接收來自於其它各個分散式公證人客戶端的結果簽名, 並在所述區塊鏈分散式跨域公證身份賬本上查詢其它各個分散式公證人客戶端的公鑰,並利用查詢到的公鑰對所述結果簽名進行驗籤,在驗籤通過後,將所述結果簽名標記為有效; 所述第二分散式公證人客戶端在標記為有效的結果簽名的個數達到第二設定個數時, 生成跨域身份憑證,並將所述跨域身份憑證傳送給所述第一分散式身份客戶端。
6 .根據權利要求5所述的方法,其特徵在於,所述第一分散式身份客戶端儲存所述跨域 身份憑證,包括: 所述第一分散式身份客戶端在接收到所述跨域身份憑證時,在所述區塊鏈分散式跨域 公證身份賬本上查詢所述第二分散式公證人客戶端的公鑰,並透過查詢到的公鑰對所述跨 域身份憑證進行驗證,若驗證透過,則將所述跨域身份憑證儲存在其身份密包中。
7 .根據權利要求6所述的方法,其特徵在於,所述第三分散式公證人客戶端按照身份認 證執行機制驗證所述身份令牌和所述跨域身份憑證,在驗證通過後,給予所述使用者訪問所 述被訪問裝置的許可權,包括: 所述第三分散式公證人客戶端透過所述第二公證人服務節點在所述區塊鏈分散式跨 域公證身份賬本上查詢其所屬部門的公證人的公鑰和跨域身份憑證定義,並接收所述第二 公證人服務節點查詢到的公鑰和跨域身份憑證定義,並利用查詢到的公鑰和跨域身份憑證 定義對所述跨域身份憑證進行驗籤,若驗籤透過且所述跨域身份憑證在有效期內,則將所 述身份令牌廣播給其所屬公證人組中其它分散式公證人客戶端; 所述第三分散式公證人客戶端所屬公證人組中其它分散式公證人客戶端解析所述身 份令牌,得到其在所述身份令牌的簽名信息,並利用其公鑰對其在所述身份令牌的簽名信 息進行驗籤,若驗籤透過且所述身份令牌在有效期內,則將驗籤透過結果傳送給所述第三 分散式公證人客戶端; 所述第三分散式公證人客戶端若接收到其所屬公證人組中其它各個分散式公證人客 戶端返回的驗簽結果均為透過,則確定所述身份令牌有效,並確定所述使用者為合法使用者,給 予所述使用者訪問所述被訪問裝置的許可權。
8 .一種基於區塊鏈的跨域分散式身份認證系統,其特徵在於,包括:區塊鏈分散式跨域 公證身份賬本、多個部門的分散式身份客戶端、分散式公證人客戶端及公證人服務節點; 第一分散式身份客戶端,用於在其所屬部門的使用者進行跨域註冊時,生成所述使用者的 跨域分散式身份識別符號和跨域公私鑰對,所述跨域分散式身份識別符號與所述使用者在其所屬 部門的原有身份認證系統中已註冊身份識別符號具有差異,所述第一分散式身份客戶端為所 述基於區塊鏈的跨域分散式身份認證系統中的其中一個部門的分散式身份客戶端; 所述第一分散式身份客戶端,還用於利用所述跨域公私鑰對中的跨域私鑰對所述跨域 分散式身份識別符號和時間戳進行簽名,生成跨域分散式身份識別符號簽名,並將包含所述已 註冊身份識別符號、所述跨域分散式身份識別符號、所述跨域分散式身份識別符號簽名和所述跨 域公私鑰對中跨域公鑰的跨域註冊請求傳送至第一分散式公證人客戶端; 所述第一分散式公證人客戶端,用於將所述跨域分散式身份識別符號和所述跨域公鑰發 送給其所屬部門的第一公證人服務節點,所述第一分散式公證人客戶端為所述第一分散式 身份客戶端所屬部門的分散式公證人客戶端; 所述第一公證人服務節點,用於將所述跨域分散式身份識別符號和所述跨域公鑰註冊到 區塊鏈分散式跨域公證身份賬本上; 所述第一分散式公證人客戶端,還用於生成身份令牌,並將所述身份令牌傳送給所述第一分散式身份客戶端,所述身份令牌包含所述使用者所屬部門的資訊、生成身份令牌的公 證人識別符號、所述跨域分散式身份識別符號、有效期、各交叉業務部門的公證人簽名信息; 所述第一分散式身份客戶端,還用於儲存所述身份令牌,並向第二分散式公證人客戶 端出示所述身份令牌,所述第二分散式公證人客戶端與所述第一分散式公證人客戶端屬於 不同部門; 所述第二分散式公證人客戶端,用於根據公證人組執行機制驗證所述身份令牌,在驗 證通過後,根據跨域身份憑證頒發執行機制生成跨域身份憑證,並將所述跨域身份憑證發 送給所述第一分散式身份客戶端; 所述第一分散式身份客戶端,還用於儲存所述跨域身份憑證,並在所述使用者需要操作 被訪問裝置時,向第三分散式公證人客戶端出示所述身份令牌和所述跨域身份憑證,所述 第三分散式公證人客戶端為被訪問裝置的分散式公證人客戶端; 所述第三分散式公證人客戶端,用於按照身份認證執行機制驗證所述身份令牌和所述 跨域身份憑證,在驗證通過後,給予所述使用者訪問所述被訪問裝置的許可權。
9 .根據權利要求8所述的系統,其特徵在於,所述第一分散式公證人客戶端,具體用於: 解析所述跨域註冊請求,獲得所述已註冊身份識別符號、所述跨域分散式身份識別符號、所 述跨域分散式身份識別符號簽名和所述跨域公鑰; 在所述第一分散式公證人客戶端所屬部門的原有身份認證系統中查詢所述已註冊身 份識別符號,若查詢到,則確認所述使用者的身份合法; 利用所述跨域公鑰對所述跨域分散式身份識別符號簽名進行驗籤,若驗籤透過,則向所 述第一分散式公證人客戶端所屬公證人組中其它分散式公證人客戶端廣播所述跨域註冊 請求,以使所述第一分散式公證人客戶端所屬公證人組中其它各個分散式公證人客戶端分 別獲得所述跨域公鑰、所述跨域分散式身份識別符號及所述跨域分散式身份識別符號簽名,並 利用所述跨域公鑰對所述跨域分散式身份識別符號簽名進行驗籤,若驗籤透過,則利用其私 鑰對所述跨域註冊請求進行簽名,生成跨域註冊請求籤名,並將所述跨域註冊請求籤名發 送給所述第一分散式公證人客戶端; 在接收到所述跨域註冊請求籤名時,透過所述第一公證人服務節點在所述區塊鏈分佈 式跨域公證身份賬本上查詢其接收到的跨域註冊請求籤名所屬分散式公證人客戶端的公 鑰,並利用查詢到的公鑰對所述跨域註冊請求籤名進行驗籤,若驗籤透過,則將所述跨域注 冊請求籤名標記為有效; 在標記為有效的跨域註冊請求籤名的個數達到第一設定個數時,將所述跨域分散式身 份識別符號和所述跨域公鑰傳送給其所屬部門的第一公證人服務節點。
10 .根據權利要求9所述的系統,其特徵在於,所述第一分散式公證人客戶端,具體用 於: 所述第一分散式公證人客戶端根據各個有效的所述跨域註冊請求籤名生成所述使用者 的身份令牌; 所述第一分散式身份客戶端,具體用於: 所述第一分散式身份客戶端透過所述第一公證人服務節點在所述區塊鏈分散式跨域 公證身份賬本上查詢各個有效的所述跨域註冊請求籤名所屬公證人的公鑰,並利用查詢到 的公鑰對有效的所述跨域註冊請求籤名進行驗籤,若驗籤透過,則將所述身份令牌儲存在其內建的身份密包中,且將所述跨域分散式身份識別符號和所述跨域公私鑰對儲存在其內建 的身份密包中。