區塊鏈與分散式身份

買賣虛擬貨幣
身份的定義和形態《漢語大詞典》中關於“身份”定義的第一條為“出身和社會地位”。國際標準組織ISO(International Organization for Standardization)將“身份”定義為“一組與實體關聯的屬性”(ISO/IEC 24760-1:2019——“set of attributes related to an entity”),其中“實體”定義為“操作某個特定域的相關項,具有物理或邏輯形態,包括自然人、組織、裝置、SIM卡、護照、網絡卡、應用軟體、服務或網站”。

可以看出,《漢語大詞典》中這條關於身份的定義是針對於人的,包含了一個人與生俱來的“出身”以及後天的“社會地位”,前者透過籍貫、姓名、身份證號等“自然屬性”去標識一個“人”,而後者透過某種社會共識或過程去認證一個“人”,賦予這個“人”更多的社會屬性。ISO的定義則將身份的範圍擴大到包含人在內的各類實體,並且抽象出“某個實體”+“一組屬性”的模型,“出身和社會地位”實際也是這個模型的一個例項。

我們今天所說的分散式身份,來源於數字身份的演進。數字身份的發展是與計算機網際網路的發展息息相關的。隨著網際網路的普及和發展,數字身份早已融入到了我們生活中的方方面面,例如微訊號、QQ號、手機號、電子健康碼、網路遊戲賬號、電子郵箱等等。從數字身份出現,到後來隨著使用者對身份控制和自我保護意識的增強,數字身份先後產生了四種形態,分別是:

1.    中心化身份;
2.    聯盟身份;
3.    以使用者為中心的身份;
4.    去中心化/分散式身份。

它們具體的含義不在此贅述,在此只說結論,從技術上和法律上來看,前3種數字身份資訊的所有權其實都不屬於使用者,在本質上都難以解決使用者隱私問題和授權問題。隨著使用者資料洩露和濫用的日益增加,使用者有權在數字世界中擁有和控制他們的身份,同時他們的數字身份資訊可以被安全地儲存並實現隱私保護成為越來越強烈的需求。從2018年被稱為史上最嚴格的歐洲的《通用資料保護法案》 (GDPR),到2020年7月3日,第十三屆全國人大常委會第二十次會議審議的《中華人民共和國資料安全法(草案)》無不體現著這個趨勢的到來。與此同時,強調匿名性隱私性、密碼學控制的區塊鏈技術的應用熱潮似乎也在呼應著這個趨勢。因此利用區塊鏈技術來解決前三種數字身份的弊端、實現分散式身份成為了一個可選項。

分散式身份的特徵

那麼,站在設計者的角度,作為一種擺脫前三種數字身份弊端的分散式身份,應該具有哪些特徵呢?

首先,使用者應該能夠獲得和控制一個全球唯一的ID。這個ID的產生可以完全不依賴於某一箇中心機構,使用者只要遵從某個公開的標準(透過軟體/硬體)即可自行產生,完成身份定義裡的“標識”任務,也就是對實體在一定範圍內獨一無二的標識作用,並且還能夠控制這個ID以及能夠證明自己對這個ID的控制。需要注意的是,為了使ID在某個名稱空間——例如全球——是唯一的,那麼需要具備兩個條件,一個是公開,一個是時間戳。“公開”使得後續產生的、因為某種原因重複的ID不再被大家接受,而時間戳使得ID被公開的先後順序有保障。作為分散式的身份,同時也為了保護隱私,並不適宜使用類似由權威中心頒發的身份證號等可能洩露隱私的ID作為身份的主索引。

因此,“一套ID產生演算法”+“一套用於繫結ID並證明對其控制權的公私鑰產生演算法” + “一個能公開訪問的、有時間戳的、不被某個中心權威控制的、難以被篡改的登錄檔”就構成了這個解決方案的部分要素。

其次,識別符號ID的產生問題解決了,還需要解決“屬性”的問題。屬性問題的解決實際要分成兩個層面:

1.解決各種各樣屬性與ID的關聯問題,使得屬性/ID持有者透過ID可以管理和它關聯的屬性,也可以讓屬性的賦予者/頒發者能夠對屬性進行狀態的變更;

2.解決從ID到屬性的訪問入口問題,畢竟我們希望這種數字身份能夠在網路世界中可信地傳輸並且快速驗證,從而構建身份持有者與身份驗證者(往往也是服務提供者)之間的信任。

第一個層面的問題,實際是頒發者向一個申請者ID頒證的過程及對發出的憑證的認證和維護能力。在頒證過程中,首先需要使用者以此ID向頒發者申請,並證明自己是ID的控制者;憑證的頒發者以使用者自主產生的ID為核心對其進行屬性描述,最後加上頒發者對這個描述的簽名認證。對於憑證的吊銷/停用等維護,除了頒發者能夠對屬性進行變更,也需要一個公開的、可信的渠道來進行公告,便於驗證者核驗。

第二個層面的問題,作為使用者自我控制的身份,其入口也應當由使用者進行公告和維護。畢竟使用身份的目的是為了與外部進行互動,因此我們可以用一個公開的文件來描述與ID有關的metadata,放入使用者自己產生並控制的公鑰的資訊、放入驗證ID的密碼學方案、更重要的是放入與ID相關的屬性訪問入口、互動方式。

需要特別指出的是,這個ID與ID的metadata資訊都是使用者自己產生的、自我控制的,是一個自認證,並沒有一個類似CA的信任根為其做中心化的權威證明。因此我們需要一個機制去讓整個分散式系統對使用者的自認證達成一致,且不可被惡意篡改,才能實現對這個身份的分散式信任。為了保障metadata與ID的繫結關係和建立自認證的信任基,我們可以在不可篡改的分散式系統中同時公佈ID及metadata,並以它們的首次公開記錄作為信任基,從而後續metadata的更迭能夠以此建立一個信任鏈。回過頭來看,這個metadata實際上就是ID持有者自認證的一組屬性。

總結上面兩個層面的需求,可以看到,我們需要一個這種自認證提供渠道來完成類似PKI的功能,公佈ID與公私鑰的繫結關係,公佈ID相關的metadata描述ID併為外部提供與ID互動的方法。即我們需要一個分散式PKI(DPKI)完成對ID的解析。

第三,作為分散式的身份,不被某個中心化機構控制,必然需要一個分散式系統作為上述機制的承載者,最重要的是,這個承載設施一定能夠讓身份相關的多方(身份持有者、頒發者、驗證者等)對其信任。因此,這個分散式系統應當是公開透明的、防篡改的,並能夠正確記錄哪些資料由哪些實體控制。

綜合以上三點,我們發現,能夠實現分散式身份的基礎設施至少是一個分散式的PKI,是一個公開的登錄檔,能夠支援:

1.  使用者自主產生和註冊ID
2.  使用者自主產生公私鑰並與ID完成繫結,證明對ID的控制
3.  能夠公開ID有關的加密材料、驗證方法和各類服務(如訪問各類屬性)的入口以方便被外部訪問
4.  驗證方能夠透過ID不依賴第三方而自主解析出相關的後設資料從而展開進一步的訪問
5.   記錄的資料不可篡改,贏得所有參與方的信任

區塊鏈技術賦能分散式身份

作為一種新的分散式系統形態,區塊鏈技術透過其公開透明、不可篡改、去中心化維護等特性,極好地匹配了上述分散式身份系統對其支撐框架的需求,因此當前世界上幾乎所有的分散式身份的探索都基於區塊鏈技術展開。

騰訊雲區塊鏈的分散式身份解決方案也依託於騰訊雲先進的區塊鏈服務TBaaS平臺實現了在廣東省教育卡、安徽省立醫院醫聯體電子健康卡等專案的落地,並在金融、政務、教育、醫療等領域持續進行探索和實踐。

分散式身份與區塊鏈的結合正在解決傳統中心化身份帶來的可移植性、合規性、敏感資訊洩露等問題,將身份的主權交回使用者手中。在這類體系下,第三方權威機構如CA等不再作為使用者身份認證的信任根,僅僅作為使用者控制下諸多憑證中某一個憑證的頒發者,驗證者對使用者身份的驗證不再依賴於CA等權威中心,而是依賴於區塊鏈這個信任機器構建的自認證機制。

希望未來能夠攜手更多的合作伙伴,共同探索和挖掘區塊鏈分散式身份的價值。

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;