科普 | 憑證真假難辨,去中心化身份體系有妙招(一)

 

 

衆所周知,憑證造假的現象在當今社會屢見不鮮,然而去中心化身份領域有關可驗證憑證的創新讓大家感到興奮不已。本期小編爲大家翻譯了 Rebooting Web of Trust 組織在 RWOT IX — Prague, 2019會議上的一篇論文《Alice Attempts to Abuse a Verifiable Credential》,讓我們共同來了解下目前的去中心化系統是如何防止欺詐的。

原文:https://github.com/WebOfTrustInfo/rwot9-prague/blob/master/final-documents/alice-attempts-abuse-verifiable-credential.md

作者:P. Dingle, S. Hammann, D. Hardman, C. Winczewski, S. Smith

 

 

1、引言

可驗證憑證(Verifiable Credentials, VC)是去中心化身份(Decentralized Identity, DID)領域中一項令人興奮的創新。可驗證憑證將憑證持有人接收和顯示數字文檔時允許的數據格式標準化,體現了在數據控制方面的進步,同時還允許權威信息流通。可驗證憑證能夠使遠程交互成爲可能,但對於是否可以保護這一過程也存在一些合理的關注點。可驗證憑證很容易被複制,保護它們的密鑰也很容易被共享。因此物理憑證存在的老問題更加迫切:系統存在哪些防止欺詐的機制?

在本文中,我們探索了欺詐問題的一個子集:與惡意憑證持有者相關的漏洞。我們虛構了一個關於 Alice 的故事。在這個故事中,Alice 將處方作爲可驗證憑證。不過 Alice 沉迷於處方藥,渴望快速賺錢,漠視法律,因此她有多種動機用自己的憑證以不同的方式作惡。

 

2、假設條件

我們不想隨意發表對現實世界中藥物成癮問題的看法,也不想讓處方專家對當今處方系統的細節是否會導致某種藥物濫用行爲更加不可信而感到困惑。因此,我們進一步虛構,假設 Alice 會在未來某個時間沉迷於藥物 melange(在《沙丘》的科幻世界中推動銀河經濟發展的虛構香料)。在 Alice 的世界中,可驗證憑證很常見,支持它們的軟件已經相當成熟,法律程序可能也與我們瞭解的有所差別。

爲簡單起見,假設系統由三類參與者組成:發行者持有者驗證者。假設發行者和驗證者是誠實的 -- 醫生具有執業許可,藥房有資格分發 melange,只有持有人(Alice)有惡意行爲。

         

 

3、Alice 的作惡行爲

3.1  Alice 篡改憑證

首先,Alice 從她醫生處以可驗證憑證的形式獲得了一份有效的 melange 處方,但她對劑量不滿意。於是她決定篡改憑證,增加可購買的 melange 數量。她將憑證中的劑量值從250 mg 更改爲500 mg,然後將修改後的憑證提供給藥房。

 

圖 | 網絡

傳統的簽名憑證

如果 Alice 擁有傳統的簽名憑證,那麼當她向藥房出示該憑證時,藥房會按如下流程驗證其簽名:

1. 使用憑證中指定的算法(如 SHA 256等)在本地計算憑證的哈希值

2. 取得醫生(發行者)的 DID 及其公鑰

3. 利用本地計算的哈希值和公鑰在本地計算簽名

4. 將本地簽名與憑證中的簽名進行比較 

此時,驗證將失敗。因爲由於 Alice 在步驟1中篡改了數據,本地計算得到的哈希值與頒發證書時計算得到的哈希值不同。因此簽名驗證不會通過,Alice 的篡改憑證被拒絕。

【譯者注】:一般來說,簽名的驗證不像上述步驟所述。簽名的驗證算法把公鑰、本地計算的哈希值以及憑證中的簽名值作爲輸入,輸出一個比特,以說明該簽名是否正確。

啓用 ZKP 的憑證

如果 Alice 持有啓用零知識證明(Zero-knowledge proof, ZKP)的憑證,那麼藥房將期望獲得一個證明(proof),以此證明 Alice 是某個憑證的持有人。一般可通過證明人的簽名來證明未做修改的憑證內容。由於 Alice 更改了證明的內容,因此簽名與內容不再匹配,且她無法生成有效的證明,無效證明會被藥房拒絕。

另外,Alice 可嘗試出具其劑量值是500 mg 而不是250 mg 的證明。但由於這不是她憑證中的實際內容,因此她也無法對此出具有效的證明。

 

3.2 Alice 假裝醫生僞造新處方

Alice 嘗試爲 melange 僞造新的處方憑證,但她已經知道藥房會執行簽名驗證。因此,如果憑證中的簽名無效或缺失,憑證將會無效。不過,這也無法阻止 Alice。她最近參加了有關 DID 和可驗證憑證的課程,甚至知道藥房會在公有鏈上查找醫生的公鑰。因此,她使用自己的 DID 和密鑰對創立了一個醫生辦公室,並在區塊鏈上註冊了該 DID(譯者注:例如可在本體區塊鏈上註冊 DID)。然後,她使用僞造的醫生 DID 作爲發行者,爲自己發行新的處方證書。可以看到,此憑證具有有效的簽名。那麼,她的惡意行爲會成功嗎?

 

圖 | 網絡

無論 Alice 持有哪種類型的憑證,當她向藥房出示該憑證時,藥房都會解析發行者的 DID 並驗證簽名。這再次挫敗了 Alice 的邪惡計劃,因爲藥房的驗證不會通過,同時顯示“憑證不是由經認證的醫生辦公室簽發的”錯誤。驗證依賴於信任框架,即所有利益相關者共同認同發佈的行爲協議。在這個故事中,我們假定存在一個信任框架,用於管理與醫療相關的憑證(例如處方)的發行,且信任框架可指定授權哪些發行者可以發行處方憑證。Alice 僞造的醫生辦公室不屬於此發行人列表,因此她的僞造證書會被拒絕。

 

3.3 Alice 試圖使用過期處方

Alice 記得她有個舊處方,去年從未用過。第一次嘗試得知修改憑證失敗後,她決定不更改日期,但希望不檢查日期。因此,她便將該處方提交給藥房。

傳統的簽名憑證

對於藥房來說,這很容易檢測。雖然憑證具有認證醫生的正確簽名,但藥房還會對照今天的日期來檢查過期日期,並拒絕過期的憑證。Alice 再次失敗。

啓用 ZKP 的憑證

啓用 ZKP 的憑證可以公開過期日期,這種情況可適用於上一段所述的傳統簽名憑證的邏輯。或者藥房可以讓 Alice 證明其處方還沒有過期。但由於 Alice 的舊證書已過期,因此她並不能提供此類證明。

 

3.4 Alice 企圖用截圖矇騙過關

Alice 注意到,當她在藥房使用處方時,她的手機上顯示一個綠色的對勾標記。她想知道僅綠色的對勾標記是否可以讓她能得到額外的 melange。她將顯示成功的應用程序屏幕截圖展示給藥房代理。

結果依舊行不通。藥房已對其所有員工進行了培訓,他們只相信經其系統確認的數據,因此 Alice 的截圖並不管用。憑證必須在可驗證憑證的展示中體現,表示已傳輸到藥房的系統並通過了評估。

 

4、結語

屢屢失敗,Alice 還有別的作惡手段嗎?魔高一尺,道高一丈,請關注下期連載,看看 Alice 還有哪些招數。

BTW,本體一直以來致力於去中心化身份應用框架 ONT ID 的研究,建立多維度可信身份認證,讓用戶得以重新掌握身份和數據,且能夠有效避免濫用數據的情況發生。如果你想了解更多,歡迎查閱《看完這篇文章,我馬上註冊了一個ONT ID》:

https://news.huoxing24.com/20191018114842641064.html

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