数字身份的一些应用和方案
當前身份處理的項目:
1.eID
eID類似于身份證號,每個人綁定一個eID。比如住酒店,我們只需要向酒店提供這個eID,酒店負責登記信息的應用向連接“公民網絡身份識別系統”的服務機構發出請求,公民網絡身份識別系統會回應這個人有沒有資格入住酒店,比如他是個逃犯就不能入住。同時,公民網絡身份識別系統會向酒店登記信息應用發送一個網絡身份應用標識,這個標識代表這個人在這個應用系統里面的ID,用于酒店管理和統計等,比如酒店可以給這個ID辦會員卡。這樣一來,酒店知道的就是我們的酒店ID和我們有沒有資格入住這兩個信息,完全拿不到我們的個人數據。同時,你登錄其它網站,會得到另外一個網絡身份應用標識,不同的應用得到的應用標識不一樣,每個應用都通過專屬的網絡身份應用標識來管理他們的用戶。這樣一來,當你登錄淘寶的時候,淘寶只能知道你的網絡身份淘寶ID,然后再登錄百度的時候,百度想通過你的網絡身份百度ID向你推送廣告是不可能的,因為他根本不知道你網絡身份百度ID對應的是哪個網絡身份淘寶ID,避免了大數據殺熟。應用到區塊鏈去中心化身份里,就是每個人一個DID.避免了我們的身份數據被聯系起來。
eID同樣支持簽名,芯片內部設置了公私鑰,簽名時輸入密碼或錄入指紋就可使用私鑰進行簽名,因為可能是他人偷盜了你的手機,所以在使用公私鑰簽名之前需要加上密碼或者指紋這么一層措施。
如果我制作了一個應用,如何使用eID呢?見接入流程
數據只有流動才會產生價值!,但是數據流需要管控!
eID雖然把用戶在不同應用下的數據隔離了開來,但也形成了數據孤島。這樣大數據企業就沒法搞了,我們的數據也就難以產生價值了。后來eID推出了eID數據身份鏈,有效解決了這個問題。
eID數據身份鏈的作用是,在依法依規保護個人用戶數據權利的前提下,助力開放數據資源,有效激活數據價值。數據需求方節點可以在獲得用戶eID簽名授權后直接得到服務節點提供的數據。
我對這個圖的理解:
底層:eID管理中心給不同的應用比如淘寶、qq、微博頒發了不同的應用ID。
第二層:用戶使用淘寶、qq、微博產生的數據分別存放在淘寶、qq、微博的數據庫中。
第三層:淘寶可以申請獲取原始數據,數據來源不止局限于淘寶的數據庫,如果有授權的話還可以從QQ上拿,但是得向用戶本人申請。
第四層:用戶登錄淘寶app,就會使用它的eID,會從eID管理中心那里獲取淘寶的appID。通過淘寶的appID獲取第三層淘寶服務器上的數據,也可以獲取再訪問此eID對應的qq的appID來獲取qq服務器上的數據。這個時候相當于淘寶可以訪問QQ了,實現互操作性。
區塊鏈部分:數據索引上鏈,用戶授權獲取信息后,在區塊鏈上進行授權記錄存證,第三方通過存證來訪問數據。
eID我認為存在的問題:
- 網站只能得到一個應用標識,說明鑒權通過了,但是它是怎么鑒權的呢,比如他如何鑒定當前用戶的年齡大于18歲?整個鑒定的流程是怎么樣的,支不支持這種驗證方式,還是后臺直接把身份證交給了網站?
- eID的如果要全國通用,那么它的驗證系統每日需要處理非常大的訪問量,需要要足夠穩健強大,而且是一個中心化的設施,容易造成單點故障。
- eID目前第三方網站接入的積極性不高,誰會愿意放棄對用戶信息的控制?所以只有政府等網站使用率較高。
- 支付寶有自己的一套身份驗證系統,并沒有使用eID,它是如何實現的?
- 在國際上,大量的難民甚至沒有身份證,這時候eID解決不了。
- 以上可參考:eID在我國應用并不廣泛,尚未達到設計預期
和eID存在直接競爭關系的是CTID,CTID是公安部第一研究生頒發的,eID是公安部第三研究生頒發的,eID需要一個硬件芯片,手機上想使用eID得裝上芯片(現在很多手機都內置了,詳見eID官網)。目前可以在華為錢包等使用。
CTID不需要硬件,只是單純一個軟件。因此目前好像比較流行一些,已經內置在微信、支付寶里邊。
2.DID
用戶DID不是由單一機構賦予的,而是根據確定的算法(DID Spec)生成,同時還會生成一對秘鑰(公鑰和私鑰),其中公鑰與DID綁定在分布式存儲(IPFS)上,私鑰則保存在用戶的設備(比如手機)。
與DID相關的個人數據不上鏈,而是加密存儲在發證方,用發證方頒發的聲明來證明用戶的隱私屬性(比如姓名、年齡、職業、郵箱地址等),但需經用戶授權才能讀取。這是與中心化數字身份的區別。
DID的隱私保護方案有:
一個人可以創建多個DID、私有數據不上鏈、選擇性披露、零知識證明。
問題:
DID 技術棧的優勢在于治理結構、獨立的存儲空間、不易受到網絡故障的影響等7個優點,但也存在私鑰可丟失風險、可拓展性受限、TPS不足、用戶可接受性差等缺陷。
3.百度智能云CloudDID
CloudDID 是百度智能云于 2019 年 11 月推出的一款智能小程序,其核心是基于企業區塊鏈平臺天鏈的可信數字身份解決方案,為企業 / 用戶提供數字身份服務。百度 CloudDID 的項目運行原理與微軟 DID 項目基本一樣。
4.uPort
uPort 是 ConsenSys 建立在以太坊區塊鏈上的身份管理應用,基本符合 W3C 制定的關于 DID 的標準。屬于用戶的代理,即 Holder 角色,會幫助用戶去進行可驗證聲明 VC 的申請、儲存和授權,以及 DID 在區塊鏈上的注冊。總之也是DID的一種實現。
5.井證 J_DID
井證有兩個產品:
第一個產品Jpassword是一個密碼管理軟件,用于用于保存用戶名、密碼、私鑰和其他個人隱私數據;可以把個人的qq、微信、微博等賬號密碼交給它管理。
第二個產品J-DID,也是DID的一種實現。用戶的J-DID和私鑰存儲在SIM卡安全芯片,類似于eID。與DID相關的隱私數據保存在IPFS分布式存儲平臺。用戶的數據由自己控制,為未來的數據確權和交易奠定基礎。
6.HyperLedger Indy
IBM 與 HyperLedger 共同發起的 HyperLedger Indy 項目 Soverin 是企業級方案的先行者,對企業需要立刻部署基于開源技術的 DID 具有優勢。打造了一個專門的區塊鏈負責處理身份信息。
7.OAUTH協議、OpenID等。(我覺得類似聯盟身份)
聯盟身份是有一個身份提供商,用戶在這個身份提供商注冊身份,這個身份可以在聯盟中的其它企業進行登錄,登錄時其它企業會訪問這個身份提供商確認身份信息。
OAUTH協議解決的是第三方登錄的問題,比如想要使用CSDN提供的服務,但又不想重新注冊一個CSDN賬號。想使用QQ的賬號進行登錄,這樣你就不用記住兩個賬號和密碼了。這種方式需要做到不能讓CSDN知道你的QQ密碼,不然CSDN就可以登錄你的qq修改你的數據了。
想要達成這個做法,需要QQ使用OAUTH協議,開放相關接口進行支持。
CSDN只需你的部分QQ數據,因此需要你本人的授權,授權讓CSDN去QQ服務器訪問你的QQ的部分數據。一般來說是在CSDN登錄界面點擊使用QQ登錄,然后就會跳到QQ的某一個頁面上,在這個頁面上你輸入用戶密碼登錄QQ,并點擊授權,這樣CSDN就會通過提前放置的回調地址就可以獲取授權碼,通過這個授權碼就可以訪問QQ服務器上你的部分QQ數據了。
詳見:
你能聽懂的 OAuth2 協議簡介
理解OAuth 2.0
缺點:
容易形成身份信息寡頭壟斷的格局!這種情況下,QQ這種大的服務商掌握著你的所有數據。第三方其實也掌控著你的部分數據,他們可能會泄露你的數據。用戶并沒有掌控自己的數據。
一旦QQ服務器的數據被刪了,那么你使用的所有第三方的數據全都沒了。
8.Microsoft DID:ION(Identity Overlay Network)
2019年5月13日,微軟發布了其 DID 的實現——ION(Identity Overlay Network)。ION 是一個基于比特幣的雙層網絡,通過 Sidetree 協議訪問比特幣網絡。ION 通過在第二層網絡進行批量合并的方式,將大量 DID 操作合并成一個上鏈操作,并通過將數據存于 IPFS,而通過將數據的哈希存在比特幣網絡上的方式,從而實現 DID 數據的可信存儲。ION 規避了比特幣網絡的性能問題,可以支持每秒數千甚至數萬的數據吞吐量。
9.Civic
Civic和shoCard類似。首先用戶注冊時需要掃描身份證、進行人臉識別、填寫身份信息等把數據保存在手機中,并且把每項數據的哈希值使用自己的私鑰簽名進行上鏈。
Civic目標在于對于需要通過身份認證才能提供服務的企業,他們依靠 Civic 系統能更加有效以及低成本的完成用戶的身份認證,同時能起到防偽的作用來提升服務質量。用戶在 Civic 系統內能掌控自己的身份信息所有權,并且在生態系統內能便捷地享受完成身份認證后的各種服務。
因為數據已經保存在手機上,每次進行身份認證的時候就不需要填寫身份信息了。也不需要注冊,直接拿手機上現有的數據進行登錄。
Civic在驗證身份信息時,有一個Validator的角色,相當于可信第三方,用戶在使用服務機構比如銀行的服務時,把數據交給Validator來進行驗證,Validator負責對數據取哈希并和區塊鏈上的hash進行比對,并把驗證結果告知銀行和用戶。這樣銀行并不會拿到個人數據。
缺點:取決于中心化機構Validator的可信性和安全性。
10.ShoCard
shoCard比較無腦,直接把數據給第三方?
按照我的理解:是的!
shoCard是一個系統,在安卓和蘋果上都有自己的shoCard app。
用戶第一次下載使用shoCard app時,會生成一個shoCard ID.
shoCard把數據存放在終端上,比如手機,通過掃描你的身份證,得到你的身份證數據,然后取哈希值,使用自己的公鑰對哈希值進行簽名。然后放到區塊鏈上。
第三方驗證身份信息真實性的時候,第三方比如機場通過掃描你手機上ShoCard應用顯示的二維碼。由于你的身份數據都在手機上,然后機場就得到了你的身份數據,通過對你的數據進行取哈希,再使用你的公鑰解密上面對應shoCard ID對應的哈希,一致的話身份驗證通過。這種搞法的話相當于把數據給了機場。
但是之后,機場就可以給這個shoCard ID頒發一個證書,并加密上鏈。等到下一個第三方機構進行身份驗證時,可以通過這個證書進行身份驗證,就無需再給自己的身份信息了,因為這個證書有權威部門進行驗證過了。**這個方案的目標是解決了重復KYC問題。**好處是可以不需要可信第三方(我理解為用戶收集到足夠的證書后,可信值就會上升,畢竟這個證書你不信,可以使用另外一個機構頒發的證書),生態逐漸完善后就比較健壯。
shoCard優勢:
一是可以不用注冊賬號,第三方可以不用搭建用戶密碼數據庫(但是如果需要用戶信息的話為什么不存起來呢?)第三方不搭密碼數據庫的話就不用擔心被黑客攻擊,如果每個第三方都有自己的密碼數據庫,用戶如果使用相同密碼,那某個第三方的數據庫被攻擊了之后,多個網站上的數據就會收到威脅,而且重置密碼也很麻煩。不用搭密碼數據庫帶來的優勢很大。
這種方式簡單來說就是把所有第三方的數據庫都使用同一個區塊鏈代替了!
二是shocard直接使用數字身份進行登錄,不需要注冊賬號。
三是第三方只掌握我們的部分數據
缺陷:還是存在信息泄露的風險。使用同一身份登錄各種第三方軟件,大數據有機會從各種第三方手上收集個人數據畫像。可以向eID那樣為每個應用搞一個專屬用戶ID。
11.劍橋區塊鏈(Cambridge Blockchain)
用戶自己制作VC,由發證部門(權威機構)進行背書,并加密后返回給用戶,用戶交給第三方(服務提供商)。整個操作過程上鏈。但是數據用戶數據不上鏈。
12.TEE可信執行環境
可用來保存處理私鑰信息或者身份信息。金融支付等。
總結
以上是生活随笔為你收集整理的数字身份的一些应用和方案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Hyperledger Indy 理解
- 下一篇: 关于去中心化身份的一点思考