去中心化數字身份DID簡介——五、DID的應用

上一篇文章中,我們給出了一種零知識證明的方法,解決用戶身份屬性的隱私問題,下面我們再來談談基於DID技術,我們都能在什麼場景去應用。

0x.0 無密碼安全登錄

這個使用場景大家應該都很熟悉了,就類似於微信掃碼登錄,當我們要註冊或者登錄一個網站時,不需要再填寫用戶名、密碼、郵箱之類的信息,只需要用手機裏的數字身份APP掃描登錄頁的二維碼,然後在APP中彈出掃碼後的信息,選擇確認登錄即可。使用DID的APP與傳統的微信掃碼登錄不同之處就在於DID中用戶的身份信息是用戶自己掌握的,而微信掃碼登錄的身份信息是騰訊掌握的,如果哪一天騰訊封禁了你的微信賬號,那麼你將無法登錄所有之前使用微信登錄的網站。而DID不會有這個問題,因爲沒有人能夠封禁你的DID。使用DID實現無密碼登錄的流程如下:

  1. 用戶打開要登錄的網站,網站服務器生成一個包含隨機分配的ID、網站DID、網站服務器URL的二維碼。
  2. 用戶解鎖手機中的DID APP,並掃描網站上的二維碼。
  3. APP獲得二維碼中的ID和服務器提交URL,生成登錄請求,並使用網站DID去區塊鏈查詢DID文檔,獲得網站服務器的公鑰,用公鑰加密請求數據,發送到網站服務器。
  4. 網站服務器用私鑰解密登錄請求,並在區塊鏈中查詢DID對應的DID文檔,從中獲得公鑰,用公鑰驗證簽名,確保DID爲對應的用戶。
  5. 網站服務器驗證通過,刷新登錄頁面爲已登錄狀態。

從整個流程中我們可以看到,服務器並不知道用戶的密碼,而且也無法獲得除用戶的DID和DID文檔以外的任何信息,從而保證了用戶隱私數據的安全。從此再也不用擔心XX網站用戶信息泄露或者密碼被黑客撞庫,登錄了其他網站盜取有用信息的情況發生。

0x.1 身份認證

在大量的涉及價值的網絡中,尤其是金融產品的網絡,都要求做好KYC和AML。尤其是KYC,需要獲得用戶的一些身份信息,而每註冊一個金融網站就需要認證一次身份信息十分繁複,使用DID進行身份認證可以簡化這個流程。以某互聯網金融APP爲例,如果一個新用戶想在上面做投資,那麼需要提供手機驗證碼、身份證照片驗證、人臉識別驗證、錄製視頻等手續。而如果該用戶又去另一個互聯網金融的APP裏面,又得再次進行相關的驗證,非常的麻煩。而如果基於DID,可以將身份認證的手續大爲簡化。當然要進行身份認證的前提是:公安機關、大學等身份信息、證書頒發機構已經將VC生成,併發到了用戶手中。用戶將VC存儲在自己的雲空間或者自己的手機中。

在用戶通過無密碼登錄APP後,進行實名認證的過程如下:

  1. 用戶登錄到網站或者APP或者商家點擊認證按鈕。
  2. 服務器根據業務需求,生成需要認證的信息的請求,並將請求以二維碼或者其他方式發送給用戶DID的APP。
  3. DID APP收到認證請求後,查詢本DID是否有滿足要求的VC,是否有對應的字段等,如果滿足要求,顯示認證的內容,並請求用戶通過指紋或者密碼解鎖私鑰進行簽名,以生成VP。
  4. 用戶在確認信息無誤後,解鎖私鑰,生成VP,並將VP以二維碼或者直接回傳商家服務器的形式,發送到商家服務器。
  5. 商家服務器收到VP後,驗證VP簽名無誤,滿足驗證的要求,顯示驗證通過。商家服務器將VP保存,並關聯用戶DID。

除了金融場景要求的KYC之外,前面我們也舉例過的公司入職時要驗證學歷、酒店入住的時候要驗證身份、買菸酒時要驗證年齡大於18歲,在購買景區門票時驗證學生身份享受學生折扣等。

 

0x.2 電子簽名

在傳統的電子簽名方案中,用戶需要預製一個U盾,該U盾中含有分配給該用戶的私鑰還有給該用戶頒發的證書,每次簽名需要插入U盾,安裝插件,才能正常使用。而基於U盾的電子簽名方案具有以下幾個問題:

1.需要很長的時間來準備U盾(製作證書),所以不能立刻申請,立刻使用。

2.U盾必須隨身攜帶,而用戶一般只有隨身帶手機的習慣,沒有隨身帶U盾的習慣。

3.簽名方在首次簽名後可以對原文件進行修改,然後重新簽名,仍然驗證通過的。

基於數字身份DID的電子簽名方案可以很好的解決前面提到的三個問題。其使用流程如下:

  1. 用戶通過自己的手機創建好DID後,先向可信發證方發起請求,獲得VC,並將VC存儲在用戶端。該VC就相當於傳統PKI體系的證書文件。
  2. 用戶在審閱文檔確認沒問題後,計算文檔Hash,將文檔Hash和其他摘要信息通過二維碼或者其他方式發送到DID APP中。
  3. DID APP請求用戶解鎖私鑰,並用私鑰對文檔哈希進行簽名,並同時將:DID、文檔Hash、簽名值上鍊。
  4. PC端檢索區塊鏈,獲得上一步驟上鍊的DID、簽名值等信息,驗證通過,將簽名結果展示在文檔中。

以上步驟中,因爲VC的生成和下載都是軟件實現,所以不需要長時間等待U盾製作;而且私鑰通過加密保存到手機中,不用單獨再隨身帶個U盾;簽名結果直接上鍊,防止篡改,預防簽名方多次簽名同一個文檔多個版本的情況。

0x3 個人隱私保護

這個我在前面兩篇文章,用戶身份屬性的選擇性披露和零知識證明中已經詳細講到了,用戶在亮證的時候只披露驗證方需要的信息,而不會把整個證件的所有信息暴露,從而實現了個人隱私保護的目的。

另外還有進一步的一種叫PDC(個人數據中心)的方案,個人數據都加密保存在個人的數據中心中並與個人的DID關聯,每個人對自己的數據負責,當需要獲取用戶的某些隱私數據時,需要該DID的授權才能解密訪問。這屬於一個比較新,而且還沒有真正應用起來的方案,細節就不再贅述。

0x4 物聯網標識

前面提到的幾個應用場景都是針對人的身份,實際上IOT也可以與DID進行緊密結合,我們給每個IOT設備都分配其獨一無二的IDD,基於物聯網+區塊鏈+DID構建:商品溯源、車聯網、智能製造、智慧城市等應用場景。

以製造業中的製造機器爲例,每個機器都有一個DID,該DID是由機器的製造商生成並賦予每臺機器的,當機器運轉時會產生大量的生產數據,該機器會將數據簽名,將非敏感生產數據、簽名結果和DID上鍊。機器的製造商可以根據鏈上數據得知機器的運行情況,便於更好的售後保養服務。當企業需要貸款時,銀行可以根據區塊鏈上的生產數據,並結合機器製造商的背書,判斷企業的生產經營情況,評估貸款風險。

我們再以高價值商品的物聯網防僞溯源爲例,當每個商品被製造出來時,商家就爲其IOT設備生產私鑰並創建唯一的DID。因爲私鑰無法複製導出,所以只有在區塊鏈上登記了DID的商品纔是正品。而且商品的DID可以映射對應的非同質化通證,以數字化的形式表現商品的流轉過程。

0x5 總結

DID技術是一個具有廣泛應用場景的技術,尤其在關於居民身份信息的電子政務領域具有明顯的優勢,但是該技術需要公安部門之類的背書,目前還沒有真正應用起來的場景。但是在不久的將來,隨着個人隱私數據的保護立法和人民羣衆隱私保護意識的加強,DID必然會大放異彩。除了人的身份外,隨着物聯網技術,車聯網技術,尤其是新興的AIoT技術的發展,物品的身份標識也越來越重要,並以物聯網標識爲基礎可以拓展出大量的應用場景。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章