微軟也在做!使用區塊鏈令個人資料更安全!

Monisa Kwan
RedSo
Published in
10 min readSep 6, 2018

--

當你透過手機或電腦點進Medium,並且在閱覽這篇文章的時候,也許會感概時代變遷:與過往那個要在書店買紙本書閱讀的時代已經截然不同

沒錯,想必你已經感受到世界正在經歷數位化轉型。在數字和現實相交錯的現代生活裡,我們的個人資料在網絡世界裡快速流竄,因此我們需要更安全的隱私保護。利用區塊鏈技術建構的去中心化數位身分(Decentralized identifier, 下稱“數位身分”或DID)就是其中一個方法。

🔖 完整閱讀時間:15分鐘 | 重點閱讀時間:7分鐘

想快速閱讀重點請按這裡,或向下滑至“區塊鏈與數位身分 — 如何實踐?”

為何我們需要可靠的DID?

1. 安全性

如果有留意新聞的話,你會發現個人資料被盜的案例不絕於耳。今年大概3月,Facebook因個人資料外洩風波,導致多達8,700萬用戶受影響,CEO更被多次召到國會聽證會;不久後的4月,香港寬頻遭駭客入侵,約38萬客戶的隱私被盜取,涉及資料包括姓名、電郵、地址、電話號碼、身份證號碼及信用卡資料等。

2. 多個帳戶的繁複性

不知道你是否會有以下的煩惱 — 每次在不同網頁、應用程式、銀行等註冊帳號時,都會因他們官方不同的限制、或已被使用,而申請了不同帳號。而官方為了保護你的隱私,對建立密碼的繁複要求更不用説了,忘記各個服務的帳戶或密碼已是家常便飯。

圖片來源:9Gag

傳統的個人資料收集暗藏危機

有規模的企業如銀行,在與客戶建立關係時,都會進行名為Know your customer(KYC)的身分確認程序,以防止身分冒認、詐騙、洗黑錢、或協助恐怖組織等罪案的發生。

在傳統的KYC過程中,一個企業需要花費時間與金錢去驗證該客戶資料的真確性,再將客戶的個人資料間接變成企業的資產。但當同一個客戶再往其他企業開戶的時候,就算明明是同一個人,由於已驗證的個人資料歸另一企業所有,驗證過程又要再從頭開始,變相浪費了用戶時間和企業資源。

收集KYC錯誤的風險很高……你需要至少每12個月對主要客戶進行一次嚴格的測試,這非常昂貴。 — Joachim von Hänisch,渣打銀行前董事

企業驗證客戶、或開始客戶關係的時候,大部分會儲存客戶的個人可識別資訊(Personally identifiable information, PII)。在你使用個人資料申請不同企業的服務的同時,就等於同意將非常敏感、屬於個人的資料交由眾多企業保管。如客戶與多家企業有關係的話,等於PII會複製好幾次。PII大量散佈的後果可想而知 — 我們的個人資訊隨時都有被盜竊的風險

數位身分離你不遠了!

數位身分並不是一個全新的題材,實際上,香港政府早在2000年推出近似數位身分的香港郵政電子證書,證書能用以從事使用個人數碼簽署的商務運作;而微軟(Microsoft)近年亦致力探討建基於區塊鏈上的身分識別系統,Microsoft Authenticator更會在不久的將來改為使用區塊鏈技術來核實身份。

Microsoft Authenticator介面(圖片擷取自mspoweruser)

------------------------------重點閱讀開始-------------------------------

區塊鏈與數位身分 — 如何實踐?

公鑰、私鑰和數位簽名

我們來回想一下在現實世界裡怎樣驗證自己的身分:每當我們看醫生、入住酒店或是在機場辦理登機的時候,都會從錢包取出健保卡、身分證,這些證照都是由可信的機構(如政府部門)發出的。那麼在網路世界中,你的身分又可以怎樣被驗證呢?一般情況下,我們使用公鑰基礎建設(PKI)

圖1

在PKI的運行中,有公鑰(public key)、私鑰(private key)、地址(Address)和數位簽名(digital signature)。公鑰和私鑰是成對而且不相同的密鑰,各自可以加密或解鎖;公鑰是能被公開的,私鑰則只屬於一個人,每一把公鑰只會配對一把私鑰,反之亦然。以下有幾個應用場景:

  1. 公鑰加密,私鑰解密

即當其他人想向你傳送加密訊息,或你自己想建立私密文件的時候。

假設你的公鑰是ABC、私鑰是CBA (實際上是一串很長的字符,可參考圖4),然後你公布了你的公鑰。接下來你可以用公鑰加密你的私密文件,就算大家有公鑰也沒辦法看文件內容,因為私鑰才是用來解密的,而他們不知道你的私鑰是CBA。當你的朋友想傳送加密訊息給你時,他也可以用你的公鑰ABC加密,和上面道理相同,因為只有你有私鑰,所以只有你看到訊息內容。

圖2

2. 私鑰加密,公鑰解密

也許你會想到,用私鑰加密的訊息,大家都可以以公鑰解密並查看,那有什麼用?

假設你收到朋友的訊息後,懷疑有人冒充他。你的朋友的公鑰是XYZ,私鑰是ZYX。首先,你朋友可以告訴你他的公鑰,然後他以自己的私鑰加密。這樣你查看他的訊息時,就可以用他的公鑰解密,解密成功的話就代表發訊息的確實是他 — 因為公鑰XYZ能解密的只有經他私鑰ZYX加密過的資訊,而有私鑰ZYX的只有他。使用私鑰加密的過程稱為數位簽名,你用公鑰解密的過程則驗證了朋友的身分。

圖3

雖然公鑰是能被公開的,可是你也許不想讓和你沒有關係的人也得到你的公鑰,而且公鑰太長了,所以就有了通過公鑰的摘要算法獲得的地址。地址是簡短版本的公鑰,有如帳戶號碼一樣可以給別人進行交易。經過摘要算法的地址無法追溯到公鑰。(點按這裡可嘗試生成公私鑰和地址)

圖4: 公私鑰和地址的例子

從區塊鏈取得去數位身分的具體過程

有各種形式將上述的公私鑰概念套入數位身分的區塊鏈裡,我們來看看其中一個:

1你的PII提交給有公信力的單位驗證真偽,如金融、政府機構和公用事業公司等

2 查實後,單位會為你創造一張PII電子證書,並用他們的私鑰加密證書,簽署數位簽名

✓ 快速驗證真偽:有需要的機構只需使用單位的公鑰解密,解密成功變能得知該PII證書並非偽造的
圖5

3你生成了自己私鑰公鑰地址,地址正是你的數位身分DID

沒有外界干涉:你的私鑰、公鑰和DID是都是你透過演算法生成的,無須交予任何中介(如幫你驗證身分的單位)管理

4 你使用自己的私鑰在證書上連署你的數位簽名

圖6

5 經過你同意後,單位會在區塊鏈中新增名為DID文件的資料夾,將證書、 驗證明細(如日期時間)及單位的公鑰放進裡面,公開可見

資料保密:只有PII證書會進入區塊鏈網絡,換言之,你的個人資料依然是私密的,就算企業使用公鑰解密了你的PII證書,也只會看到其所需的證明。例如便利店查看買酒人士的證書時,只會看到他是否滿18歲,而不會看到他的出生日期。

6 你可將你的DID、公鑰也放在DID文件中(自願性)

圖7

7 DID文件會利用分散式帳本技術(Distributed Ledger)儲存

高效率:在分散式帳本上的資訊是共享的,當你將DID發送給機構時,他們可實時看到相應PII證明,不同機構無須再費時重複審核同一個人,也不需儲存你的PII;你亦無須遞交有自己全部個資的身分證明文件。難以入侵:分散式帳本儲存在區塊鏈的所有節點上,駭客需要同時駭進大多數節點內,才有機會讓系統癱瘓。

8 你申請不同服務時,可以生成多個假名DID(Pseudonymous DID)連接同一份PII證明,並給不同機構不同的DID

無法追溯:DID其實就是地址,假如每次交易都用同一地址,帳戶很容易會暴露。與電話號碼、身分證號碼不同,一個人可以生成上千個假名DID,並為每個交易生成新的假名DID,這種匿名性大幅增加了安全度。比如説你在網上購物,你可以給商家你的假名DID(不需給信用卡號碼),如果商家被駭客入侵了,你可以馬上生成新的DID繼續交易,駭客也無法從假名DID得知到底是誰。

9 這些機構獲得你的DID後,便可查看你的DID文件。你給他們你的公鑰以解密PII證書,查實證書持有人是你;再用單位的公鑰解密,確保證書是單位認可的。解密的同時,他們也會看到需要的身分證明。

全面掌控:你可以自行決定把DID和公鑰給誰,沒有公鑰就無法解密並獲取你的PII證明

小結:以後要申請帳號,大部分時候只需要給機構你的假名DID,無須花時間填寫一列表的個人資料。客戶許可並給予DID後,機構亦可快速檢閱由可信單位認證的客戶身分,達至資訊共享,不用自己掏腰包驗證。最重要的是,你的身分由你自己保管,要讓誰得到全憑你作主。

------------------------------重點閱讀結束-------------------------------

改變?不只是更安全

看完上面略為複雜的解釋後,也許你還是留有一點疑問,接下來會以問答的方式為大家解開一些比較普遍的疑問。

  • 駭客有辦法篡改DID文件的資料而不被發現嗎?

不可以。DID文件儲存在區塊鏈的分散式帳本內,每個節點(連接區塊鏈的設備,如電腦)都有分散式帳本的備份,並會持續檢查資料。相對於傳統單一伺服器把關,區塊鏈由眾多的節點同時把關,駭客如要更改資料,相當於要騙過整個網絡,花費的功夫自然就更大。區塊鏈的可追溯性可以令駭客的紀錄無所遁形。

  • 企業需要PII的詳細資訊而不是證明,可以怎樣取得?

PII的詳細資料需要在一個安全加密網絡區塊鏈外構建一個點對點加密(P2P)、私人的網絡頻道,在聊天室裡交換的PII資訊會由雲端從DID區塊鏈中抽取檢查,確認PII資訊經過可信的單位認證,再允許傳遞。

圖8
  • DID如何解決多個帳戶及密碼的問題?

在一個完善的DID系統裡,一個DID平台可以檢視並管理多個帳號。你甚至可以以生物資訊(如指紋解鎖和臉部識別)登入,再選擇使用的DID,達成無密碼登入。

  • DID可以用在哪裡?

用在任何牽涉到身分的範疇。例如:網上付費、全球流通的醫療紀錄、KYC,政府機構也可用以發出數位身分證。台灣已經有成功的案例,利用區塊鏈記錄病歷資料,令醫療服務更加安全和便利,今後病人就可以透過平台,將病歷與有需要的醫護人員分享,而又不需要顧慮資訊安全的問題。

謝謝你的閱讀!

想更深入研究DID的話,可以閱讀萬維網聯盟(W3C)對DID作出的詳細說明(只有英文版本)。

想要了解更多區塊鏈的應用,可以看一下我們之前的文章

如果你覺得這篇文章還不錯,可以送claps作鼓勵哦(長按最多可以發送50claps👏)~希望成為合作夥伴的話,歡迎聯繫我們!

💬 Facebook🌐 官方網站📮電郵

--

--