隨著數字化活動的普及,數字身份作為數字化活動的基礎顯得尤為重要。傳統的中心化身份管理系統存在諸多弊端,如數字身份的擁有者沒有實際的控制自己的身份,存在著身份信息容易泄露及濫用的風險。區塊鏈技術的各種優點,正好可以解決中心化數字身份存在的問題。因此,在分析數字身份由中心化到去中心化轉型的必要性后,重點研究基于區塊鏈的分布式數字身份技術,以某單位新入職員工入職流程為例,建立去中心化數字身份模型,并搭建區塊鏈基礎網絡,對模型進行身份驗證。
當今世界,各個國家大力發展數字化經濟。如今,大數據、云計算等技術逐步成熟,很多企業開發的云上課堂、疫情防控二維碼層出不窮,萬物互聯的時代已經來臨。各種數字化活動的基礎是數字化身份,只有確保人、物的數字身份真實無誤,人、物關聯的各種信息、產生的各種線上交易才能確保真實有效。
隨著數據的爆炸式增長,各種安全問題隨之而來。登錄第三方網站注冊的個人信息,往往由于第三方互聯網企業缺乏安全意識、缺乏信息保護的技術手段,導致用戶真實的身份信息被非法機構入侵獲取并加以販賣。同時,用戶的個人信息不由用戶自己支配,無授權下的濫用場景頻發。2021年315晚會爆出了科勒衛浴、寶馬等商業店鋪內安裝的人臉識別攝像頭,采集了大量顧客人臉,并進行人臉分析記錄,從而針對顧客實行定制的商業計劃,即大量的人臉信息在沒有征求用戶同意的情況下被非法獲取。以上各種身份問題頻發,暴露出用戶數字身份管理的重要性,急需對用戶身份信息進行安全保護。
區塊鏈技術憑借其去中心化、多方共識、公開透明、防篡改以及可追溯等特征,給數字身份的安全轉型提供了可信的解決方案。該技術恰好可以解決數字身份當前的痛點,使得身份所有者對自己的數字身份有著絕對的話語權。
1.數字身份演進
當前普遍存在的身份管理都是中心化的管理。中心化身份管理系統的本質是中央集權化的身份或者授權機構掌握著身份數據,數字身份持有者在日常活動的認證、授權過程受中心化機構的管理,身份不由用戶自己控制。不同的中心化網站(如淘寶、京東等)有一套自己的身份系統,同一用戶在不同網站使用的身份信息不相通,所以用戶訪問不同的網站時都需要重新注冊新賬戶。
為了解決這個問題,1999年微軟提出了聯盟身份的概念,即各個網站組成聯盟,聯盟內身份可以互認。在聯盟身份體系推出后,用戶的數字身份在多個網站之間形成了共享。聯盟身份的代表產物就是使用微信、QQ等一些常見的社交賬戶一鍵關聯登錄。隨著聯盟身份的逐步成熟,數字身份開始向去中心化轉型。雖然很多網站支持微信、QQ第三方登錄,但是其用戶體驗并不是很好,登錄成功后還需要用戶進行手機號碼的再次綁定。
綜上所述,中心化集權管理的身份系統存在著兩個難以解決的問題:一是身份擁有者本身其實對自己的身份信息沒有絕對的支配地位;二是各個中心化身份管理系統相互隔離,身份信息無法實現共享。
隨著區塊鏈技術迅速的發展,政策、技術、市場也引導區塊鏈技術改變了人們的生活方式,一種新的數字身份模式(分布式數字身份)應運而生。該數字身份模式改變了中心化數字身份集權控制的弊端,真正讓身份擁有者控制自己身份,通過數字身份所有權回歸的方式徹底改變了身份濫用和泄露問題。
2.分布式數字身份
數字身份最通用的模型是代表實體的身份標識符及與之關聯的屬性聲明。同理,分布式數字身份(Decentralized ID,DID)包括分布式數字身份標識符和數字身份憑證(聲明集合)兩部分。
W3C制定了DID生成的相關標準,如圖1所示。標準指出,DID可以分為基礎層和應用層兩個層次。基礎層主要側重DID的規范,包括DID標識符號和DID文檔;應用層主要是可驗證聲明Verifiable Credentials,簡寫為VC。
圖1 DID的組成模型
2.1 DID的基礎層
DID基礎層是一個全局鍵值對數據庫。DID標識符是鍵,DID文檔是值。在DID標識中,example字段表示這個數據庫要么是某個DID兼容的區塊鏈,要么是某個DID兼容的分布式賬本,或者是某個DID兼容的去中心化網絡。
DID標識符是一段特殊的字符串,具有全網唯一、可以分離解析和加密可驗證性的特點。W3C規定的DID標識的基本格式為did:example:123xxx,其中example代表區塊鏈、分布式賬本或者去中心化網絡。當前已有很多,如微眾銀行該字段為weid。
DID文檔是一個JSON-LD格式的數據,包括6個部分。每個部分用戶可以選擇性披露,其中的加密材料和服務端點等屬性往往和DID的標識符關聯起來,從而達到建立安全通道的目的。
表1 DID文檔的基本內容
2.2 DID的應用層
DID的應用層主要是可驗證聲明VC。VC提供了一種規范來表征用戶實體具有的某種屬性。DID的實體可以向其他實體出示自己的VC證明自己某些屬性的真實性。常見的VC模型一般由四個角色組成:
(1)發行者(Issuer):擁有用戶某些屬性的證明數據,并具有開具用戶VC能力的實體機構,如提供身份證明的公安部門、提供學歷證明的學校、提供培訓證明的機構等。
(2)驗證者(Inspector-Verifier,IV):需要驗證用戶信息的機構,具有接受VC的能力,驗證成功后可以提供給用戶相關的服務。
(3)持有者(Holder):向Issuer提出請求、收到、持有VC的實體;向IV出示VC;開具的VC可以委托代理存儲,方便再次使用。
(4)標識符注冊機構(Identifier Registry):提供用戶DID標識申請的代理,如某條區塊鏈、分布式賬本或者相關的分布式網絡。該機構可以在IV驗證用戶的DID身份時訪問該數據庫。
VC的提供要本著以泄露用戶信息最少為原則。比如,用戶A想要注冊網約車司機,此時網約車注冊網站需要用戶提供駕駛車輛3年以上證明和車子與車主關系證明。按照當前網約車系統使用的方法,用戶需要上傳駕駛證原件和行駛證原件到網約車企業網站,這樣個人信息的主動權交到網約車企業手中。如果網約車企業網站管理不當,就存在泄露的風險。有了VC的概念后,用戶A可以從Issuer(車輛管理所)申請VC。VC內容只需披露“用戶A駕齡>3年,車輛屬于本人”,用戶A提供給Inspector(網約車注冊機構),該VC就可以進行驗證,用戶A就可以成功注冊網約車司機。
最理想的VC就是回復給驗證者“是”或者“否”,這樣能泄露最少的信息給IV。
3.場景分析及建模
一般來說,DID應用可以概括以下幾個步驟:
(1)為參與業務的各個機構搭建區塊鏈網絡(其中包括人和機構);
(2)基于W3C規范生成相關的實體的DID并上鏈;
(3)對業務中需要的各類證明生成可驗證數字憑證(Credential),通過區塊鏈技術的私鑰管理和不可篡改的數字化證明特性,進行可信登記、授權流轉及真實性驗證。
下面就新員工入職某軍工單位為例。為了保證新員工提供的材料真實且無篡改,企業需要聯系第三方機構去驗證,分析DID技術在其中的作用。
員工入職前,單位要求員工提供畢業證、學位證、離職證明、無犯罪證明及現實表現證明等一系列證明才能辦理入職手續,且每個證件都要由不同的部門提供。新單位要想核實各種證明的真實性也比較麻煩。有了DID技術后,該問題可得到很好地解決。
如圖2所示:
(1)各個證明的提供者作為issuer,將要入職的單位為verifer;
(2)各個憑證的發行方、新員工、新單位搭建區塊鏈網絡,并分別注冊自己的DID;
(3)用戶可將自己的信息托管給用戶代理,用戶代理可以是App的模式或者是Web等模式;
(4)新員工向各個證明提供方申請自己的憑證信息,此時憑證發行方要通過DID驗證新員工身份的真實性,身份真實則發放憑證;
(5)新員工得到憑證后托管到代理中并計算憑證的hash值,上鏈;
(6)新單位獲取到新員工出示的材料后,通過鏈上信息即可以驗證出示資料的真實性。
圖2 新員工入職建模
4.模型驗證
WeIdentity是國內首家互聯網銀行微眾銀行開發的一套基于區塊鏈技術的分布式多中心數字身份解決方案。該解決方案提供了數字身份技術相關的基礎層和外部接口函數,開發者可以在其基礎上進行二次開發,以實現數字實體對象(人或物)之間的認證授權和可信數據交換等。
BCOS是聚焦企業級應用的區塊鏈開源平臺,由微眾銀行、萬向區塊鏈、矩陣元三家公司合作研發,為企業級用戶打造的分布式應用平臺。2017年金鏈盟開源工作組在BCOS的基礎上推出了面向金融行業的定制版本FISCO BCOS。到目前為止,FISCO BCOS已在互聯網行業形成了強大的國產開源聯盟鏈生態圈。該平臺已經經過數百個項目的檢驗,覆蓋各行業的眾多領域。
本文采用WeIdentity+FISCO BCOS的開源框架作為基礎框架,在其基礎上對所述的軍工單位新員工入職場景進行驗證,主要步驟如下:
(1)搭建FISCO BCOS的區塊鏈網絡,如圖3所示;(2)issuer發布憑證,如圖4所示;(3)新員工委托用戶代理持有VC,如圖5所示;(4)新單位對基本信息進行驗證,如圖6所示。
圖3 搭建區塊鏈網絡
圖4 issuer產生VC
圖5 用戶代理生成
圖6 驗證者驗證成功
5.結語
本文在研究分布式去中心化數字身份理論的基礎上搭建區塊鏈網絡,對實際問題進行建模和驗證。分布式數字身份技術借助區鏈技術的發展,在數字生活中將得到廣泛的應用,但是該數字身份的推廣還處在起步階段也存在一定的不足。如何保證上鏈傳輸過程中的安全、鏈上數據的真實可信等問題,都是后續需要研究的方向。