數字身份(digital identity),或自主身份(self-sovereign identity) 是一種利用非對稱性加密技術為網絡交易提供認證,並確保交易的完整性和不可拒付性的技術。它是若干互聯網活動的先決條件,如發證書、私人信息傳遞、當然還有金融業務。
網絡身份的興起
密碼還是密鑰
“密鑰作為身份”這個想法上世紀就已經存在了。然而,數字身份在當時並沒有被普通用戶廣泛接受。主要原因無疑是使用這種系統太複雜了。非技術人員要如何方便、安全地把私鑰保存在自己手上?他們無法做到。
結果是,當web2.0 出現時,網絡公司需要驗證它們的用戶,它們決定採用賬戶密碼模式而不是公-私密鑰對模式。在註冊新賬戶時,用戶創建他們自己記得住的密碼,網絡公司保存密碼。之後,它們使用一種“大腦對數據庫(brain to database)”的驗證方式來登錄。
安全與中心化危機
這種簡單模式行得通,但它也帶來一系列安全問題。因為記住多套密碼是很累的,用戶傾向於在每個地方重複使用他們的密碼。如果其中一個服務商以不安全的方式(例如沒有“加鹽”、使用不安全的哈希函數等)存儲用戶的密碼,並被攻破了,那麼所有其他的服務都會陷入危險。
(譯者註,在密碼學中,在密碼任意固定位置插入特定的字符串,讓散列後的結果和使用原始密碼的散列結果不相符,這種過程稱之為“加鹽(salt)”。這種處理可以增加額外的安全性。)
身份驗證
OAuth 的發明就是為了解決這個問題。它使得小公司可以依賴現有的服務供應商。它們不需要運行它們自己的認證服務器,而只需要把這部分工作委託給一個用戶已經擁有賬戶的第三方公司。儘管如此,即使像Facebook 這樣的巨頭公司也有被發現存儲密碼純文本並被洩露的情況。且不說中心化風險,很多采用OAuth 的公司都受不斷變化的政策影響。一旦一家公司被OAuth 供應商禁止,整個業務都會崩塌。
數字身份的回歸
如今,在這個行業裡的人開始再次討論賬戶-密碼這種模式的替代方案。像 biometric、SMS 和OTP 這些無需密碼的解決方案是可行的,但在身份方面,密鑰對似乎仍然是最終目標。我們相信區塊鏈,即以太坊,將使數字身份得以復興。理由如下:
區塊鏈用戶友好的加密貨幣基礎設施
如前所述,可用性是基於密鑰對身份的首要問題。要求外行人用一個命令行工具對交易簽名是不現實的。在使用一個去中心化系統時完全對保存密鑰負責對他們來說也是非常可怕的。
用於存儲私鑰的商業級錢包
在加密貨幣領域的人都已經對所有這些概念非常熟悉了。隨著工具的成熟,使用私鑰進行簽名從未如此簡單。
多虧了Dapp 和以太坊,越來越多的人有了擁有私鑰並用它對交易簽名的第一次體驗。人們構建了大量瀏覽器擴展程序、移動應用、和硬件設備來滿足不斷增長的需求。這些便於使用的工具有利於數字身份的普及,即便這些工具不是為它而構建的。
區塊鏈的狀態
不同於密碼驗證,公鑰加密本身是無狀態的,這意味著加密簽名的有效性是和環境無關的。然而,在一些高級場景中,數字身份還是需要“狀態”的。很多GPG 用戶會與一個(某種程度上) 中心化的密鑰服務器交互,以註冊/替代/撤銷他們的公鑰。總的來說,我們仍然需要狀態來豐富數字身份的可用性和表達力。
(譯者註:GPG 是GNU Privacy Guard 的縮寫,它是美國軟件公司賽門鐵可推出的PGP 加密軟件套件的免費軟件替代品)
身份的鏈上記錄
區塊鏈能完美滿足為你的身份提供狀態這個需求。不同於用MIT 的服務器存儲密鑰記錄,以太坊這個分佈式賬本在全世界有大約5000 個副本。所有的記錄都是可審計、防篡改和有經濟確定性(economical finality) 的。像ENS 這樣的項目正在為你的身份提供一個鏈上註冊表。你可以為你的身份鏈接海外賬戶和添加元數據,實現這些都是無需許可的。
由私鑰控制的賬戶vs. 由代碼控制的賬戶
此外,通過用智能合約實現訪問控制,你在以太坊上的身份就是可編程的了。你可以為你的根身份(root identity) 添加多簽、社交式恢復,甚至失能開關(dead man’s switch) 這樣的功能,同時保持日常使用的簡易性。
數字身份+ OAuth
儘管我們已經有許多用戶擁有私鑰了,但要讓數字身份被更多人採用,我們在服務供應商方面還沒有通用的解決方法。幸運的是,OAuth 已經被很多供應商採用了。把OAuth 與基於密鑰的驗證結合起來,web2 公司可以用他們習慣的方式集成數字身份。
Eauth 是一個基於以太坊的,兼容OAuth 的認證服務。集成者可以無縫地把數字身份作為OAuth 的一個選項,而不需要任何密碼學和web3 錢包的知識。儘管使用OAuth 通常意味著要把控制權交給第三方,但通過Eauth 認證的身份將始終保持非託管狀態。
用戶、錢包和web2 服務供應商通過Eauth 溝通
走向去中心化的路線圖
無可否認,web2+以太坊登錄並不能完美實現去中心化。去中心化的世界應該是完全無需許可和去信任的,但目前大多數的網絡活動都仍然在web2 服務器上進行。很可能的情況是web2 和web3 世界要並行一段時間。期間,Eauth 可以成為連接兩個世界的橋樑。
來源| medium.com/pelith
作者| Ping Chen