研報 | 詳解DID:一種全新的身份標識技術

隨着元宇宙、Web3的快速發展,去中心化身份(DID)再次成為被熱議的話題之一。除元宇宙、Web3外,DID在數字城市等領域中,也具有很大應用潛力。但為什麼是DID?和傳統身份管理方案相比,DID的價值是什麼?技術發展瓶頸又是什麼?針對這些問題,萬向區塊鏈首席經濟學家辦公室王普玉進行了深入研究,以下為研究報告全文,供大家參考。

作者:萬向區塊鏈首席經濟學家辦公室王普玉
審核:萬向區塊鏈首席經濟學家鄒傳偉

近年來,大家對個人數據的隱私安全問題關注度明顯上升,本文將從身份管理角度討論該問題,主要包括四方面:第一,傳統身份管理方案有什麼問題?第二,DID是什麼?技術實現過程是怎麼樣的?第三,DID技術發展有什麼瓶頸?第四,區塊鏈技術和DID技術的結合能夠擦除什麼樣的火花?

一、身份管理

身份系統包括三個要素:身份、身份證明和身份驗證。我們結合三個要素,從物理世界和互聯網世界兩個維度分別討論身份管理。

1、身份系統

(1)身份

在物理世界中,每個人從出生就擁有獨一無二的身份特徵,包括外貌、體重、年齡、膚色、指紋等等;為了快速描述任何個體的身份特徵,我們使用姓名作為代號,可以幫助大家快速識別他人並聯想到關於對方的一切信息,這些內容被統稱為身份。

與物理世界相對應的還有一個互聯網世界,身份的概念完全不同。在互聯網世界,用戶完全可以根據自己的喜好設置想象中的“身份”,包括姓名、性別、身高、體重等;甚至可以隨時更改這些“身份特徵”,確切來說,此時的身份不同於傳統意義上的身份,因為不具有唯一性和確定性。

(2)身份證明

在物理世界中,由人構成的系統變得日益龐大,為了便於中心化機構的管理,出現了身份證明。中心化機構根據不同人的身份特徵簽發了唯一身份證明,用於證明主體擁有某項資產的所有權或申明其享有某種社會權益,同時在不同個體及組織之間交互時,可以用於定責、糾紛追溯和信任保障。身份證明使身份的特徵從隱性變為可視以及可追蹤,例如政府簽發的身份證、護照等,證明主體屬於某個國家的身份以及享有某種權益;再比如駕駛證,能夠證明某個身份具有車輛駕駛技能。

在互聯網世界中的主體身份證明完全不同於物理世界。在物理世界中,身份證明與身份有着直接的關聯,即通過身份證明就能映射到主體本人;但在最初的互聯網世界中,身份證明和身份之間並不存在映射關係,不同主體只需根據設想中的身份特徵(年齡、身高、姓名等)提交身份證明申請,而無需與物理世界身份特徵保持一致,因此僅憑互聯網身份證明是無法映射到主體本人。隨着互聯網世界的發展,匿名性和不可追溯性逐漸影響到了物理世界的治理和安全,多項規定要求平台方需做好用戶實名制驗證工作,這樣就出現了互聯網身份證明與物理世界身份證明映射的關係,進一步出現與主體身份映射的關係。

有意思的是,互聯網用戶的身份證明,需要依賴於物理世界身份證明的映射,來確定身份的唯一性和確定性。但互聯網世界中的網站卻完全不同,它從開始就有一套完整的身份證明體系,如圖1所示的統一資源標識符URI。每個網站擁有獨一無二的域名,域名的簽發(身份證明)是由國際域名管理中心統一管理,我國是由中國互聯網絡信息中心管理。

圖1:統一資源標識符架構

圖1:統一資源標識符架構

(3)身份驗證

在現代社會體系下,身份的驗證是信任建立的基礎。當個體或組織之間發生交互關係時,均需要進行身份的驗證,即證明某個體或組織擁有某項資源的所有權或享有某些權益,目的是通過身份驗證系統維護系統運行的基本規則和安全。

① 物理世界身份驗證

物理介質證明,如各種紙質文件或卡片證明,是人類發展史上依賴最長久的身份證明,包括身份證、護照、社會醫療保障卡、駕駛證等等。隨着技術的發展,物理介質證明作假越來越容易,且在身份驗證環節無法有效辨別,經常出現身份篡改、身份冒用等導致資產非法轉移及社會權益盜用等問題。因此,通過物理介質實現身份證明來維護原有的社會規則和安全難以持續下去。為了防止身份作假,各政府及組織從兩方面進行升級:第一方面是對身份證明的物理介質升級,增加了各種特徵可供驗證,如我國身份證上增加激光變色識別、增加微縮文字、視覺上呈現圖層疊放等;這些升級只是增加了非法分子的作假成本,一旦他們掌握了這些技術,依然可以複製出各種身份證明,而無法從根本上杜絕作假問題;第二方面是提升驗證手段,政府機構對接各類身份證明平台,能夠在某主體享有權益或處置資產前,通過比對物理介質證明與系統信息進行身份真偽識別,這種模式下存在兩方面問題,第一個問題是各類身份證明平台未全面聯通,數據孤島導致驗證信息不完整;第二個問題是企業及其他個體用戶無權對接身份識別平台,在日常交易合作中,無法通過該模式驗證身份真偽。

② 互聯網用戶身份驗證

在互聯網世界中,身份驗證主要依賴於用戶名和密碼。能夠輸入正確的信息,就意味着身份驗證通過。這種驗證體系存在兩種問題,第一種是用戶名和密碼容易被網絡攻擊者盜用;第二是中心化平台對用戶身份信息擁有絕對控制權,他們可以在未獲得用戶許可的情況下,根據自己的需要刪除、增加、更改、甚至交易用戶的身份信息。

2、身份信息安全問題

無論是物理世界還是互聯網世界,都存在身份管理方面的問題,而且兩個平行世界的身份證明逐漸融合。物理世界中的身份證明作假問題,藉助互聯網來加強身份驗證能力;而互聯網世界由於匿名信和不可追溯性導致的安全問題,通過與物理世界的身份映射方式來解決。我們解決了身份的真實性和可信性帶來的困擾,但同時也給我們帶來了新的麻煩,即身份的特徵和行為暴露在網絡中,被各個平台無視相關規定,肆意收集身份相關的行為信息並濫用這些信息。

圖2:用戶信息傳統數據庫管理模式

圖2:用戶信息傳統數據庫管理模式

如圖2所示,在中心化管理模式下,用戶信息被不同平台重複收集並存儲,在2021年第76期《從用戶畫像實現看數據隱私問題》一文中,我們指出其中的問題,包括用戶信息被過度採集、信息被不同平台交易、用戶對個人行為數據沒有控制權等問題。

3、其他

當前我們面對的不僅僅是上面所提到的關於人的身份管理問題,隨着互聯網技術及通信技術的發展,網絡連接萬事萬物,構築出一個與物理世界相平行的數字世界。數字世界里的參與者不僅僅是人,還有包括其他萬事萬物,如何定義數字世界里的這些萬事萬物所屬權,以及怎麼定義每一個數字對象的權益?這個問題關係著數字世界的正常秩序的維護以及信任的構建。前面提到的三要素“身份-身份證明-身份驗證”僅圍繞人來討論,但物理世界中,除人的身份以外,我們還有其他各種國際統一標識,比如商品相關的統一編碼(RFID,商品序列號,二維碼)等。未來我們需要管理數字世界中每一種要素,前提是做好這些要素的身份管理。進一步說,我們需要一項能夠統一維護不同身份標識方法的工具,能夠做到不同事物的“身份標識-身份證明-身份驗證”。

二、DID技術詳述

分佈式數字身份(Decentralized Identifiers,簡稱DIDs),在W3C的《DID V1.0》中,將DID定義為一種新的全球唯一標識符。這種標識符不僅可以用於人,也可以用於萬事萬物,包括一輛車、一隻動物,甚至是一台機器,本文主要以人為例來展開DID的討論。

下面我們從技術實現和應用兩個角度介紹DID技術,技術實現主要講述DID技術的構成要素;而應用主要圍繞“身份-身份證明-身份驗證”討論DID的實現。

1、技術實現

DID技術的核心構成要素包括三個:DID、DID Document和Verifiable Data Registry。

圖3:DID架構及相關構成要素之間的關係 (資料來源:W3C DID core)

圖3:DID架構及相關構成要素之間的關係 (資料來源:W3C DID core)

(1)DID

DID屬於統一資源標識符URI的一種,是一個永久不可變的字符串,它存在的意義有兩點,第一,標記任何目標對象(DID Subject),可以是一個人、一件商品、一台機器或者一隻動物等等;第二,DID是通過DID URL關聯到描述目標對象的文件(DID Document,簡稱DID Doc)唯一標識符,即通過DID能夠在數據庫中搜索到具體的DID Doc。

① DID標識方法

DID分為三個部分,如圖4所示,第一部分是DID Scheme(類似URL中的http,https,ftp等協議);第二部分是DID方法標識符(一般是DID方法的名稱);第三部分是DID方法中特定的標識符:在整個DID方法命名空間是唯一的。W3C只規範了DID的表示結構,即,但沒有規範三部分內容的具體標準,具體內容與DID Method有關,將在下面第2部分介紹。

圖4:DID簡單示例

圖4:DID簡單示例

② DID Method

DID Method是一組公開的操作標準,定義了DID的創建、解析、更新和刪除,並涵蓋了DID在身份系統中註冊、替換、輪換、恢復和到期等。目前沒有統一的操作標準,各個公司可以根據場景特徵自行設計,由W3C CCG工作組統一維護。截至2021年8月3日發布《DID V1.0》,在W3C登記的DID Method高達103項,均有不同的名稱和特定的標識符表示方法。

③ DID URL

為融合現有URI網絡位置標識方法,DID使用了DID URL表示資源的位置(如路徑、查詢和片段)。W3C對DID URL的語法描述ABNF規定如下:<did-url = did path-abempty [“?”query][“#”fragment]>。

(2)DID Document

DID Document(DID Doc)包含着所有與DID subject有關的信息,在Doc中有身份信息驗證方法(包括加密公鑰,相關地址等)。DID Doc是一個通用數據結構,通常是由DID controller負責數據寫入和更改,文件里包含與DID驗證相關的密鑰信息和驗證方法,提供了一組使DID控制者能夠證明其對應DID控制的機制。需要說明的是,這裡的管理DID Doc的DID Controller可能是DID subject本人,也有可能是第三方機構,不同DID Method對DID Doc的權限管理有所區別。

如圖5所示,是一個與圖4中的DID對應的DID Doc(用JSON-LD編寫的文件),存儲在所有人能控制的位置(可以是中心化的,也可以去中心化的),以便輕鬆查找。

圖5:DID Doc示例(資料來源:W3C DID白皮書)

圖5:DID Doc示例(資料來源:W3C DID白皮書)

DID Doc可以被看作是一個身份信息地圖,如圖6所示由兩部分組成,第一部分被稱為標籤,在DID Doc中可以查詢到並可以直接閱讀的內容,包括三部分:核心標籤(如id,controller,authentication等)、拓展標籤(如以太坊地址等)、以及一些未在W3C DID規範登記的標籤;第二部分是未在DID Doc列出,而是藉助URL等特定形式,鏈接到第三方平台或網站系統查詢相關身份信息;為了保證最大程度的互操作性和信息兼容性,W3C建立了DID Specification Registry,保證特定形式的內容在DID Doc中是可以被識別和解析的。當有新的標籤出現,相關平台或系統需要向DID Specification Registry登記。

圖6:DID Doc的身份特徵入口(資料來源:W3C DID白皮書)

圖6:DID Doc的身份特徵入口(資料來源:W3C DID白皮書)

不同DID之間可能存在信息交互關係,如圖7所示,在W3C中提出了Production & Consumption概念:創建一個DID Document的過程是Production,而將創建的這條Document引用至該DID Subject其他DID創建過程則是Consumption。在驗證過程中,每個DID對應的DID Document是獨立的,相當於對每個DID做了信息隔離。在驗證過程中,DID持有人可以根據需要對不同DID授權,驗證人只能閱讀到被授權的DID Doc,而無法獲得更多信息,從而達到DID Subject的信息保護目的。

圖7:DID生成和消耗的表示(資料來源:W3C DID白皮書)

圖7:DID生成和消耗的表示(資料來源:W3C DID白皮書)

(3)Verifiable Data Registries (VDR)

DID的初衷是將用戶身份信息管理權從平台交回用戶自己,這過程中用戶必須解決的問題是信息存儲在哪裡?以及需要驗證的時候去哪裡找到這些數據?怎麼保證數據的真實性?VDR討論的就是怎麼解決這些問題,我們將支持記錄DID數據且能夠在生成DID Doc時提供相關數據的系統稱為Verifiable Data Registry(VDR),這種系統包括分佈式賬本、分佈式文件系統、P2P網絡或其他可被信任的渠道;而且VDR與DID Method有着直接的關聯性,一般每個VDR都會基於W3C DID規範提出自己的DID Method。目前市場主推DID儲存媒介是錢包,分為託管錢包(如Coinbase)、普通錢包(如imtoken),以及智能錢包(Gnosis Safe, Dappe,Argent),具體哪種媒介能更有效的存儲DID信息,暫不在本文詳細討論。

2、DID的實現:“身份-身份證明-身份驗證”

我們基於第一部分的“身份-身份證明-身份驗證“,簡單討論DID如何實現這些功能的。

(1)身份

在DID方案中,每個人可以在不同場景、不同時間,因為不同目的,在任意可信的第三平台登記不同的DID,相關權益和資產所屬權與不同的DID直接綁定,而身份主體通過持有DID來證明其對資產的所有權或具體權益。DID沒有直接與物理世界身份生成映射關係,且DID信息維護也是由身份主體或可信第三方來維護,保證了信息的安全性。對於身份主體而言,需要做好DID的安全持有工作,同時維護好與DID對應的身份文件(DID Doc)。

(2)身份證明

DID只是一串帶有密鑰的隨機數值,在具體使用中第三方機構根據DID信息將身份證明寫入DID Doc,同時第三方機構會將自己的數字簽名加入文件中,方便後期身份驗證。例如,張三,需要證明自己具有駕駛能力,此時無需像傳統的中心化方法,由權威機構簽發一張駕駛證給張三,具體個人信息也無需存儲在權威機構的數據庫里;通過DID技術給出的解決方案是[1]:張三向車管所提供自己準備的DID或使用車管所提供的DID,車管所按照DID Doc的JSON-LD數據結構寫入相關信息(包括但不限於id,type,有效期,controller,驗證方法等),同時加入車管所的數字簽名。DID Doc可以儲存在車管所,可以儲存在張三的智能錢包里,或者其他存儲媒介。需要注意的是,此處DID並沒有泄露張三的身份特徵,沒有映射物理世界的其他身份證明,這個DID只是張三持有的眾多DID中的一個。因此,只要張三本人不出示DID證明,就沒有人能知道這份DID Doc是張三的,從而保護了張三的個人隱私。

(3)身份驗證

驗證的主要目的是為了證明目標主體可以合規的或有權限的進行某項程序,在W3C《DID V1.0白皮書》中從驗證目的進行了梳理,分為五類,分別是:驗證、申明、重要協議、性能調用和性能授權。根據五種不同目的,在DID Method中可以設計不同的方案。驗證信息的來源分為兩類,一類是DID Doc中列舉的數據;另一類是需要藉助於外部系統或平台的數據,對於材料的格式W3C做了要求(主要包括publicKeyJwk和publickeymultibase),以方便解析及識別。下面以“申明”為例說明,根據國家最新青少年網絡遊戲規定中要求每天限時一小時,傳統的方法則需要上傳身份證信息,但分佈式標識符解決方案中,只需要提供自己持有的DID,通過零知識證明驗證用戶是否超過18歲即可,而無需告知平台方用戶具體年齡。這只是眾多驗證方法中的一種。

三、DID的應用及發展

DID從提出到現在已經有四年時間,各行業協會、互聯網平台、基金會都在積極推動並完善DID技術。經過長時間探索,W3C於2021年8月3日發布了DID 1.0版白皮書。相比初期0.1版搭建了一個全新的身份標識體系,到1.0版開始考慮如何融合市場上已有的身份標識方法。其他協會、組織及企業也基於W3C的DID規範提出了多種DID Method,但距離DID技術落地應用,仍然有很多問題需要進一步去解決,主要包括:

1、如何滿足合規性要求?

互聯網最初只需要通過用戶名/密碼實現平台身份驗證即可,但為了滿足合規要求,增加了物理世界身份驗證。這種方法初衷是為了讓網絡用戶的行為可問責、可追溯,逐步建立網絡信任體系,但負面影響是造成大量個人信息泄露。DID有效解決了這些問題,但面臨的仍然是合規性問題。雖然當前未出台相關規定,但不遠將來肯定會面臨如何將不同的DID映射到具體主體的問題,同時需要考慮這種映射關係,是否會造成新一輪信息泄露問題?該問題有待進一步探討及觀察。

2、如何驗證DID與持有人之間的關係?

DID具有匿名性,當前主流DID技術給出的解決方案是:誰持有DID,誰就有權享受相關權益。這種方案無法驗證DID提供者是不是本人,也無法避免DID被盜取並用於非法目的。雖然部分DID Method提出將DID映射到中心化數據庫,通過中心化的一套方法驗證DID提供者是不是本人的問題,但這仍將給個人信息保護留下漏洞,例如是否能夠通過中心化數據庫倒推出DID持有人?

3、DID如何市場化推行?

DID市場化過程中,當前有兩方面瓶頸:第一方面,沒有企業願意主動放棄用戶數據;用戶數據如同平台護城河,產生了大量價值,如果同意DID的使用,就等於同意拆除護城河,對於互聯網企業是致命性打擊。第二方面,DID技術推行誰來買單?第一,不同用戶願不願意為自己的身份信息買單?換句話說,用戶是否願意向類似智能錢包這種供應方付費?雖然未來個人行為數據有機會變現,並足夠支付這部分費用,但商業模式不清晰的情況下,有多少人感興趣參與其中?第二,DID技術將打破各平台方原有數據管理結構,必定需要新增相關驗證平台,相關成本誰來承擔?這些瓶頸將會極大阻礙DID技術的推行,如何平衡相關方利益關係,目前仍沒有理想的方案。

4、密鑰管理風險大

DID的可信性主要依賴於密鑰技術,如果第三方機構的私鑰被竊取,會不會出現隨意簽發證書的行為?或者某個身份主體將私鑰無意丟失,是否永遠無法使用這些DID證書?這些問題目前沒有非常理想的解決方案,對於現實使用也會提出較大挑戰。

5、身份信息泄露風險

相比傳統身份信息管理手段,DID已經在很大程度上提升了數據的安全性,但在具體應用中仍有一定的風險,例如當第三方收集足夠量的個人DID數據時,有可能通過海量數據進行逆向推理,發現DID標識符之間的映射關係並推出物理世界的個人身份。這一問題的根本原因在於大多基於W3C的DID Method是靜態身份,而非動態身份;如果未來能夠設計一套動態身份管理體系,定期可以更新DID標識符,那麼即使第三方能夠收集到部分DID Subject的數據,但也無法通過海量數據發現DID之間的關聯關係。

四、區塊鏈與DID的結合

雖然區塊鏈不是DID技術的必選項,但區塊鏈技術能夠助力與DID技術的實施,避免很多爭端問題的發生,同時能夠以更低成本維護數據的可信性,主要體現在以下幾方面:

1、降低驗證成本

DID技術提倡的是將DID和DID Doc存儲在用戶端,但如何保證DID Doc不會在用戶端被篡改?如果不使用區塊鏈,則需要DID證書籤發者同步維護這些證書,增加了維護成本。當使用DID時,合作方可以將DID持有人的DID Doc與簽發方的數據庫進行一致性驗證,增加了驗證成本。但使用區塊鏈技術則能降低簽發方這部分成本,只要寫入持有人DID Doc的信息將被記錄在鏈上,無法做出修改,保證了信息的真實性和安全性;簽發人無需增加數據庫存儲及維護成本,而合作人也無需增加成本將持有人DID Doc與簽發方數據庫做一致性檢驗。

2、基於DID的信任體系的搭建

當前圍繞區塊鏈的方案大多沒有實現生態閉環,假如有人在區塊鏈生態中出現違約,仍需回歸到中心化模式下尋找法律解決方法,並沒有減輕政府治理壓力。未來是否會通過構建基於DID的信用記錄系統,來補齊這塊生態閉環構建的短板?該問題值得觀察。不同主體的行為信息會隨着DID被記錄在DID Doc中,也將成為不同相關方合作的重要參考,隨着數據的增加違約的成本也將增加,例如無法從銀行獲取貸款、無法找到工作、無法找到合作夥伴,因此,這種信任體系將會對生態治理起到非常積極影響。而這一切的基礎是可信數據,區塊鏈不能缺席。

附註:

[1]由於不同DID Method有不同操作建議,此處僅為舉例說明DID身份證明簽發的一種方法。

本文鏈接:https://www.8btc.com/article/6721910

轉載請註明文章出處

(0)
上一篇 2022-01-13 14:22
下一篇 2022-01-13 15:21

相关推荐