現今全球半數以上的網路流量都經過加密處理,但這些連接的密鑰交換及驗證技術在近 20 年來卻沒什麼太大變化。
目前網路的機制依靠全球數位憑證認證機構(Certificate Authority,簡稱 CA)來驗證安全網站的公鑰及擁有者。但 CA 因容易產生單點故障而長期受到批評,不幸地這些故障確曾於某些事件中出現過。
有些人認為,區塊鏈技術將可能是個安全的替代方案。
最初的概念
如同區塊鏈一樣,CA 起初是用來促進互聯商務(connected commerce)的一個方法。協助設立第一個憑證認證機構 VeriSign 的資深開發人員 Christopher Allen 表示,他想像過一個系統中包含了數個 CA,而用戶可以選擇要相信哪一個。
然而,隨著系統的不斷擴大,要日常用戶積極去管理對各個 CA 的信任就變得不太可能。現在大多數用戶都只依賴瀏覽器的預設值,所以瀏覽器公司能有效地控制用戶的信任,使這些公司在憑證產業有著巨大的影響力。 Allen 說:
這些大型瀏覽器公司因此而建立了新的中心地位。
現今的風險
雖然「信任」已被集中控制,但 CA 的數量仍在增加。現時世界各國有數百個認證機構,而只要其中一個出錯就會破壞整個制度。
迄今為止最糟糕的事件要數荷蘭憑證機構 DigiNotar 在 2011 年宣布破產。 DigiNotar 被駭客攻擊而導致約 30 萬伊朗 Gmail 帳戶被監控,並使許多荷蘭政府的在線服務被迫暫時關閉。
從那時起,已有數十種事故發生過,例如 CA 被發現發行未經驗證的憑證、使用不合規範的安全性,甚至試圖欺騙瀏覽器公司。而這些事件沒有像 DigiNotar 一樣,而自 2011 年起該產業已多次提高安全性標準,但仍有人認為是時候該尋找 CA 的長期替代方案了。
2015 年,在 Allen 主辦的「重啟網路信任(Rebooting Web of Trust)」研討會中的一份白皮書概述了其中一項替代方案。該文件設定了一些目標,以建設一個去中心化公鑰基礎設施(decentralized public key infrastructure,簡稱 DPKI),去取代目前的中心化系統。其中提到:
DPKI 的目標是確保… 沒有任何第三方可以危及整體系統的完整性及安全性。
當前網路系統的網域所有權是記錄在網域名稱系統(Domain Name System,簡稱 DNS),而密鑰由 CA 認證。「重啟網路信任」設想了一個安全的命名空間來取代現有系統,其中網域註冊及每個網域的密鑰將被記錄在區塊鏈上。
新的命名空間
以太坊命名系統(Ethereum Name System,簡稱 ENS)正嘗試為以太坊社群建構相同類型的安全命名空間。這次 ENS 的嘗試正讓大眾了解實現這個想法的機會以及要面對的挑戰。
開發人員 Alex Van de Sande 說,他的團隊經常以三明治作比喻來解釋 ENS 的設計。 ENS 三明治中的「麵包」是兩個簡單的合約,其中一個合約定立規則:如果某人擁有一個域名(domain),則他有權獲得其子域名(subdomain)。而另一個合約負責處理付款事宜。
像三明治一樣,ENS 複雜的部份也是夾在中間,亦即制定「名稱註冊規則」的合約。 ENS 希望避免域名佔用的問題,而這在初始的網絡域名繁盛時期經常發生。
他們同時也追求「最不意外原則」,也就是說人們不該對某人擁有某域名而感到意外。舉例來說:美國銀行(Bank of America)擁有網域名「bankofamerica.eth」的優先使用權應該是很理所當然。但 Van de Sande 指出,要設計一個能實踐這原則的系統是非常具挑戰性,甚至不切實際。
他補充,ENS 將把重啟(ENS 之前已在 Test Net 上進行過 2 次 BETA)後的第一年視為學習如何改進註冊規則的機會。如果規則改變,域名擁有者可選擇更改名稱,或是交出他們的域名並且申請退款。
Van de Sande 表示,他希望 ENS 能成為一個典範,並衍生出更多類似的用途,他補充說:
ENS 反映出我們心目中的網路該是甚麼樣子,但並不表示它實際上會照這樣子發展。
Blockstack 模型
要將安全線上通訊背後的基礎建設去中心化的另一種方法,是要確保用戶能驗證他們所接收到的訊息,而不是試圖保護伺服器與用戶之間的連線。
參與過 2015 年「重啟網路信任」白皮書工作的工程師 Jude Nelson 告訴記者,這套方法正是他創立的紐約初創公司 Blockstack 的目標。
Blockstack 系統目前是 alpha 版本,允許用戶在比特幣區塊鏈上記錄其唯一的名稱和密鑰,然後查找另一名用戶以驗證他們收到的訊息。
Nelson 說:
我們試圖讓開發人員透過 Blockstack 去開發免伺服器、去中心化的應用程式,用戶可以保有他們的資料而不需要密碼,開發者亦不用去管理任何東西。
終有一天,可能不再需要網路加密。
主權身份及其障礙
這些計畫都在反映同樣的最終目標:減少第三方的存在,並給予用戶更多的控制權。
自 2015 年起,Allen 每半年召開一次「重啟網路信任」研討會,他正致力於研發提供用戶真正主權的技術。
現今網路上代表著每個人身份的字母和數字都註冊到了第三方機構,Allen 說:
你不是真正的買下它,你只是租用它,你並沒有真正的主權。
同時 Allen 也看到面前存在著許多挑戰,其中之一就是可用性。一般使用者大多依賴程式的預設值,而且還沒準備好去選擇該信任的人,因此講求技術熟練的系統可能無法擴展成普及應用。 Allen 表示:
經驗告訴我們,給使用者選擇往往是不可行的。
同時,中心化的系統也正在改變。 Google 正在推出關於 CA 系統缺陷的解決方案,一個名為「憑證透明度(Certificate Transparency)」的計畫,它要求 CA 把所有受信任的憑證公開地記錄。
Google 表示這個系統利用 Merkle trees 演算法來驗證憑證記錄檔以及其可信度,而該系統已讓研究人員找出不良的憑證。
Google 的想法是保留第三方機構,但移除其信任機制。而建基區塊鏈技術的項目則是希望能同時擺脫這兩者。顯然雙方將會成為長期的競爭對手。