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

Monisa Kwan
Sep 6, 2018 · 10 min read

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

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

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

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

為何我們需要可靠的DID?

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

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

圖片來源: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🌐 官方網站📮電郵

RedSo

Technical Posts from our soldiers

Monisa Kwan

Written by

Blockchain technology & design • https://www.redso.com.hk

RedSo

RedSo

Technical Posts from our soldiers

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade