身份管理(ID)是計算機技術(shù)基礎(chǔ)設施的組成部分,但是因為其簡單而且無處不在,因此經(jīng)常被大家理解為想當然的存在而被忽略。就像生活中我們一出生就默認有了身份一樣。但是,一旦我們丟失了ID之后或者像《諜影重重》電影里面的主人公被政府剝奪身份后,就會發(fā)現(xiàn)我們寸步難行。
(相關(guān)資料圖)
正像現(xiàn)實世界里面ID是生活的基礎(chǔ)組成部分,ID技術(shù)也是計算機的基礎(chǔ)設施。我們打開電腦的時候,第一步就是要輸入用戶名和密碼登陸系統(tǒng),我們訪問任何網(wǎng)站的時候,大部份的操作需要輸入用戶名和密碼。
人類社會進入文明社會以來,這世界上的大多國家都建立了完整的身份管理系統(tǒng)。國內(nèi)用身份證或者駕照或者社會保險號,國際旅行用護照。互聯(lián)網(wǎng)大概遵循了同樣的發(fā)展道路:
從1996年的“在互聯(lián)網(wǎng)網(wǎng)上沒有人知道對方是條狗”的匿名時代,發(fā)展到了2004年Facebook成立后的實名社交時代?;ヂ?lián)網(wǎng)也從一種信息獲取手段發(fā)展到了電子商務和電子政務等重要工作效率手段。
可以預測到,區(qū)塊鏈也會從現(xiàn)在完全匿名的狀態(tài),在未來一個周期發(fā)展到由DID去中心化身份(Decentralized Identity)支持的實名階段。區(qū)塊鏈至今缺乏對用戶身份的支持,因此被過度的金融化而無法進入實用場景。而且,正如互聯(lián)網(wǎng)的發(fā)展,網(wǎng)絡平臺效應在由用戶控制的共享情況下產(chǎn)生的效用,要遠遠高于完全被公司控制(如Facebook)或者完全公有被政府控制(如道路)的機制。
當然,ID不僅僅包括人,還包括各種主體,比如:公司有營業(yè)執(zhí)照和D-U-N-S®代碼,手機有mac地址,我們可以統(tǒng)一將這些稱為主體(subject)。
因此我們使用ID這個術(shù)語的時候,我們應該小心,有些人認為權(quán)威機構(gòu)頒發(fā)的才叫ID,有些人認為任何一個機構(gòu)都可以頒發(fā)由自己認證的ID。本文討論的DID用的廣泛意義的ID,比如用戶自主生成的公密鑰對就可以作為ID。
事實上,任何一個用戶已經(jīng)在使用DID,因為用戶進入加密世界的第一步就是生成錢包,在比特幣鏈上,你的比特幣地址就是一個你的DID(比特幣的設計并不友好,因為每一次交易都變更地址為了保護隱私);在以太坊上,每個用戶都擁有一個以公鑰為地址的DID。不管廣義還是狹義的ID,ID都必須在一定范圍(namespace)內(nèi)保證唯一性,而且生成ID的意義一般綁定一定的使用環(huán)境(context)。
和DID緊密相關(guān)但是又沒有必然關(guān)系的一個概念是Verified Credential(VC)。VC代表了一個由中心化主體(issuer)對一個主體(subject)發(fā)行(issue)的證書(credential)。傳統(tǒng)上因為這個證書無法保真,因此issuer必須提供相應的查詢驗證服務,比如:在中國教育部提供了學歷查詢驗證服務網(wǎng)站。因此,如果查詢驗證必須線下進行不夠便利,就會刺激偽造證書和影響證書的使用效率;如果發(fā)行主體停止提供服務,就會影響證書的使用;如果證書有有效期經(jīng)常需要更新,就會更麻煩。
但如果基于加密技術(shù)的證書,就可以通過發(fā)行主體(issuer)的數(shù)字簽名對證書進行簽名,驗證可以在加密算法數(shù)學的支持下單獨進行,subject可以將VC放入自己的數(shù)字存儲介質(zhì)(repository,包括錢包)里面,在需要的時候提供給第三方(verifier)查看和驗證。
雖然w3協(xié)議明確說明DID協(xié)議和其VC協(xié)議是完全分開的,可以獨立存在的協(xié)議,但是其DID假設用戶自主生成的公密鑰對必須結(jié)合權(quán)威機構(gòu)頒發(fā)的VC使用才有意義。w3的DID協(xié)議里面的公密鑰對只是作為DID架構(gòu)的支撐部分而存在,用來鏈接一個用戶擁有的不同VC,以及解耦合VC查詢,驗證,展示對于發(fā)證機關(guān)的依賴。
而且,DID的存在不需要區(qū)塊鏈,區(qū)塊鏈技術(shù)支撐的DID地址解析和數(shù)據(jù)登記只是作為DID生態(tài)的一部分。但是,本文作者認為,作為數(shù)字原生的元宇宙的組成部分,一個subject可以完全脫離VC而存在,根據(jù)subject的元宇宙行為而獨立于VC存在。就像在DeFi熱潮中,大量用戶根據(jù)公鑰地址作為DAPP的賬戶系統(tǒng)參與DeFi交互,雖然不方便,用戶還是通過Nansen等錢包地址標簽來進行交流。
我認為,加密世界里面的NFT、gameFi、DeFi等大量的應用場景為原生的DID以及對應的鏈上信譽提供了足夠的市場應用場景。這些設計哲學方面的不同,導致了w3的DID和區(qū)塊鏈原教旨的DID有很大的不同。鑒于整個去中心化身份的技術(shù)剛剛起步,各個技術(shù)流派需要互相借鑒,本文的討論不區(qū)分w3 DID和區(qū)塊鏈原生DID技術(shù)。
另外,一個subject可以有多個ID,即一個人可以有多個身份;persona是一個相對概念,比如在國內(nèi)使用身份證,跨國使用護照,那么護照和身份證相對于同一個主體就是不同的persona。
經(jīng)常和ID管理聯(lián)系在一起的概念還包括驗證(authentication)和授權(quán)(authorization)。驗證指第三方(verifier)通過issuer或者加密算法驗證主體身份的過程;驗證身份之后,第三方根據(jù)自己的政策(policy)授予主體對應的權(quán)利范圍,這個過程稱為授權(quán)(authorization),簡單舉例,當我們登陸一個論壇的時候,輸入用戶名和密碼的過程稱為驗證,網(wǎng)站會根據(jù)我們是管理員還是普通用戶會授予我們相應的讀帖和刪貼的權(quán)利。對用戶權(quán)利管理的政策經(jīng)常會被稱為Access Control List(ACL)。
一個ID可以有很多屬性(attributes),一組屬性可以定義角色(roles),這樣提供ID應用場景的管理員可以方便的基于自己定義的訪問限制列表(Access Control List),按照不同的屬性或者角色授予(autherize)不同的ID不同的權(quán)限。
比如:Tom(subject)第一天入職公司Big(issuer),領(lǐng)到了66的工號(ID),他的名字Tom為屬性(attribute),分配的工作崗位為信息管理員(roles),賦予(authorize)了相應的可以進出機房的權(quán)利(ACL)。
在DID出現(xiàn)之前,所有的ID都是由一個中心主體(issuer)基于某種政策(policy)授予一個主體,這個中心主體因此有權(quán)利授予或者取消某個個體獲得ID的權(quán)利;有時候,這個中心主體必須為第三方(verifier)提供對應的驗真查詢服務(比如Tom更換工作后,新的雇主希望做背景調(diào)查核實Tom是否真的為Big工作過)。因此,subject依賴于issuer的服務,issuer如果停止服務或者拒絕服務,就會對subject使用ID的權(quán)利造成影響。
我們無法低估DID帶給人類的意義,因為人是社會動物,而身份是社會關(guān)系的起點,不依賴于發(fā)行方的身份自由是自由的起點,有了身份,才能討論包括財產(chǎn)權(quán)的各種權(quán)利,就如同注冊賬戶后才能使用網(wǎng)站的權(quán)利。當我們擁有一個不依賴于任何主體而生成和使用的身份主體的時候,才能討論建立數(shù)據(jù)擁有權(quán)。因此DID的設計理念經(jīng)常被稱為自我主權(quán)身份(SSI, Self-Sovereigh Identity)。
因為沒有了一個中心化的身份發(fā)行方提供查詢驗證服務,DID與傳統(tǒng)ID管理技術(shù)(IAM)最大的區(qū)別是,誰來生成這個ID?以及當你聲稱(claim)你擁有或者控制這個ID的時候,你如何證明你是你自己?
DID是人類歷史上第一次給予了subject自己證明是自己的一個技術(shù)。
DID基于密碼學技術(shù)自我生成一對公密鑰,公鑰作為自己的ID,密鑰作為自己控制對應公鑰的證明。為了關(guān)聯(lián)自己的其他中心化的身份,如果發(fā)行主體提供VC服務,就可以非常簡單的通過驗證簽名VC來關(guān)聯(lián);如果發(fā)行主體不提供,則subject可以聲明(claim)擁有某個中心化ID或者鏈下身份,然后通過第三方驗證(attestation)服務來關(guān)聯(lián)。
我們小結(jié)一下,DID的特征和術(shù)語:
ID代表的主體(subject)可以是人,公司或者任何一個物體;
ID在一個范圍(namespace)內(nèi)必須是唯一的;
ID一定有一個發(fā)行方(issuer或者傳統(tǒng)IAM中稱為Identity Provider),DID的發(fā)行方是subject自己;
issuer需要為第三方(verifier或者傳統(tǒng)IAM中Relying Party)提供查詢和驗證服務,DID的驗證由加密算法的數(shù)學公式提供;
一個聲明(claim或者statement或者assertion)包括自我聲明或者第三方聲明,需要提供對應的驗證(verify或者attest)機制;這種驗證機制有時候是確定性的,比如一個人聲明他擁有1個比特幣,可以通過驗證他是否控制一個超過一個比特幣的地址驗證;驗證機制有時候是概率性的,比如一個人聲明他擁有Java編程能力,這個聲明需要以前的同事背書,雖然擁有編程能力的熟練程度是一個概率;
身份天生具有場景特征,人們在不同的場景使用不同的身份(persona);而職能(role)定義了一個屬性(attributes)集合,代表了一類用戶經(jīng)過認證(authenticate)后被賦予不同的權(quán)利范圍(ACL)。
由于DID和VC的技術(shù)基于加密算法,這給零知識證明的應用提供了空間。當用戶需要驗證年齡需要出示自己身份證的時候,不再需要擔心驗證者順便看到了自己的家庭住址;當用戶需要證明自己的資產(chǎn)滿足某個條件對時候不需要讓對方知道準確的資產(chǎn)總額。
網(wǎng)站首頁 |網(wǎng)站簡介 | 關(guān)于我們 | 廣告業(yè)務 | 投稿信箱
Copyright © 2000-2020 hngelin.com All Rights Reserved.
中國網(wǎng)絡消費網(wǎng) 版權(quán)所有 未經(jīng)書面授權(quán) 不得復制或建立鏡像
聯(lián)系郵箱:920 891 263@qq.com
南召县| 拜城县| 富宁县| 常山县| 阿拉善左旗| 全椒县| 遵化市| 墨竹工卡县| 许昌市| 呼和浩特市| 云龙县| 安吉县| 靖州| 苗栗市| 霸州市| 吉安市| 达州市| 普定县| 汤阴县| 新野县| 建阳市| 民县| 德清县| 宿迁市| 永济市| 太保市| 高台县| 安化县| 大安市| 潞西市| 铜山县| 兰州市| 安远县| 措美县| 固始县| 宜川县| 日照市| 平泉县| 大连市| 宁城县| 太仆寺旗|