你的隱私,巨人的善良:從 Zoom 事件看通訊隱私的信任戰爭何時止歇

作者 | 發布日期 2020 年 05 月 12 日 7:45 | 分類 區塊鏈 Blockchain , 網路 , 資訊安全 line share follow us in feedly line share
你的隱私,巨人的善良:從 Zoom 事件看通訊隱私的信任戰爭何時止歇


你是否曾有這樣的疑慮,像 LINE 這類通訊軟體,如果他們願意,有辦法偷看我們傳給朋友的訊息或圖片嗎?

筆者想大部分人的答案是肯定的。只是,這些通訊軟體大家都在用,雖然偶爾覺得心裡毛毛的,但好像也只能選擇「相信廠商」,並告訴自己:「像 LINE 這樣的大公司應該不敢做壞事吧?」

越來越多「商業溝通」甚至「政府會議」透過即時通訊傳遞,COVID-19 疫情爆發以來,Google Meet 每日使用量成長 30 倍,單日參與 Google Meet 會議的人數超過 1 億人。

如果有一天,人們心中的天秤產生了動搖,人類的技術已經準備好可以不依賴 Google 的善良了嗎?

當問題從「資安漏洞」變成「信任崩潰」

今年 4 月視訊會議軟體 Zoom 被質疑將資料傳送至中國,加上創辦人袁征的華裔身分,觸動許多人的敏感神經,包含台灣,許多國家及組織下令禁用 Zoom,改以其他視訊軟體替代,如 Cisco Webex、微軟 Teams 或 Google Meet。

資訊安全的目標是保護資訊及資訊系統免受未經授權的進入或破壞,通常並不考慮主人自己作惡的可能性。

這次事件之所以引起市場這麼大反應,不只所謂的程式漏洞(其他大廠每年漏洞又何曾少過),筆者認為更大程度是:人們心中對 Zoom 這間公司的天秤發生變化,與其說是「資安漏洞」更像「信任崩潰」。

正因為我們對通訊服務廠商的內心契約是「相信你不會這麼做」而非「相信你無法這麼做」,所以當有一天,人們開始不信任服務商時,恐怕就不是資訊安全層級的事了。

難道廠商就不能透過技術手段,徹底證明自己就算想作惡也辦不到嗎?

信任的極致,是不需仰賴對任何單一主體的信任(Trustless),亦可與之合作。

像 Zoom 這樣的服務商,是否能像金庸筆下葵花寶典「欲練神功,引刀自宮」,對自己加諸若干限制,從邏輯直接證明自己不可能作惡?以下我們將花一些篇幅來探討這個重要的議題。

端對端加密

通訊隱私並不是什麼新鮮訴求,WhatsApp、iMessage、LINE 等主流通訊服務近年來也都不約而同提出「端對端加密」當作技術解方。我們不妨順著前人的思路,探討端對端加密的機制是否真能證明廠商無法作惡。如果你對「端對端加密」有基本了解,可以跳過這一段。

訊息加密:服務商讓自己變成只是加密訊息的傳輸者。

似乎不難想像,假設小明與小美用 Zoom 開啟視訊會議,只要小明這端在視訊內容傳出前都先加密,小美這端收到後再解密,便可防止傳輸過程有人偷看。

這便是「對稱加密法」──目前應用最廣泛的加密法,成員之間「共享同一把密鑰」,密鑰用來加解或解密傳輸內容,只要保證密鑰安全,那麼成員之間通訊基本上就安全了。

重點並不在於 Zoom 有沒有儲存資料或把資料傳到哪裡,而是資料是否經過加密,以及密鑰是否只有會議成員知道。

問題是……密鑰怎麼給對方?

密鑰一旦涉及傳送,就又會回到老問題:中途被偷看了怎麼辦?

難道小明和小美每次溝通密鑰時,都得見上一面?(1970 年代,大銀行還真的有專門職位,提著保險箱,飛到全世界各地送鑰匙給客戶)

為了解決密鑰傳輸時被竊的風險,後來人們想到了一個方法:利用「非對稱加密法」處理一開始的密鑰溝通。現今我們每天使用的各種網路服務,數據加密過程都少不了這個環節,例如網頁的傳輸安全協定 HTTPS。

接下來,為了讓所有讀者能理解「無信任(Trustless)端對端加密」的可能性,以下先簡單介紹非對稱加密法應用溝通密鑰的原理。

首先,小明和小美會各自電腦端,生成一組非對稱金鑰;金鑰一組兩把,透過數學算法同時產生,一把稱為公鑰,另一把稱為私鑰(下圖)。

非對稱加密法有以下特性:若小明使用他的公鑰加密資料,則全世界只有小明的私鑰才解得開;相反的,若小明使用私鑰加密(應用上常當作簽名),全世界只有小明的公鑰才能解開。

這個方法實行時,所有人都得把自己的公鑰公開,好讓其他人找得到。我們就先假定大家把自己的公鑰上傳到服務商 Zoom,並因為服務商知道你是小明或小美,所以這把公鑰會跟小明或小美的身分綁定(下圖)。

當要交換密鑰時,小明先到服務商查詢得到「小美公鑰」,接著利用「小美公鑰」加密密鑰,再把結果用「小明私鑰」加密一次,然後透過服務商傳送給小美(下圖)。

這時候小美可利用從服務商取得的「小明公鑰」解開第一層,如果成功解密,根據密碼學原理,就代表資訊必定是小明私鑰加密,因此驗證資訊由小明發出。接著,小美再用自己的私鑰解開第二層,獲得最終資訊──也就是小明要給小美的密鑰。只要確保小美私鑰只有她自己擁有,那就能確保任何人包括服務商 Zoom 也無法解開(下圖)。

至此,小明和小美終於溝通好密鑰,可以利用那把密鑰展開加密傳訊了。當然,實作有更多細節和變化,但大致不脫這個概念。

但只要通訊服務商宣稱採用端對端加密,就可以確保他們無法解密通訊內容了嗎?

非對稱加密神奇解決了密鑰溝通的問題。這時候,我們已經可以斷定廠商從此無法窺探通訊隱私了嗎?仔細思考一下,好像哪裡怪怪的……

從密碼學邏輯來看,剛剛那套加密機制若要完全發揮效果,還有以下兩個條件必須先成立:

  1. 服務商不可以拿到小明和小美的私鑰。
  2. 小明查詢小美公鑰時拿到的那把,必須真的是小美的。

1. 服務商不可以拿到小明和小美的私鑰

這一點沒有技術難度,只要公私鑰是在使用者的本地端產生,例如使用者手上的 App,且本地端的程式碼必須開源,確保沒有任何後門程式偷偷上傳私鑰,便可以確保服務商拿不到私鑰。

雖然本地端程式開源這個要求,對軟體公司來講有點為難,即使 2014 年就開始致力端對端加密的 WhatsApp 都沒有做到,不過市面還是有像 Telegram 或 Signal 這種既採用端對端加密又開源客戶端的服務。因此我們可以說,要滿足第一點已不具備任何技術障礙。

題外話,Signal 是連 Edward Snowden 及密碼學大師 Bruce Schneier 都掛保證的通訊軟體。如果你對私密通訊有興趣,那一定不能錯過 Signal 創辦人 Marlinspike 創立的非營利組織 Open Whisper Systems。

2. 小明查詢小美公鑰時拿到的那把,必須真的是小美的

這恐怕就沒有第一點容易了,假設所有使用者都把公鑰上傳給服務商,且查詢公鑰都找服務商詢問,那便永遠無法確保服務商給你的是真的小美公鑰,甚至服務商可以同時假冒小美與小明,從中竊取或修改訊息內容(即中間人攻擊,下圖)。後端程式是運行在服務商環境,非用戶手上,所以即便開源,意義也不大。

這麼一來,似乎又繞回問題的原點「我們還是得信任服務商」,信任他們會誠實保管所有使用者的公鑰,並誠實回答所有使用者對公鑰的查詢。

只要服務商願意,還是「能」竊聽使用者間的私密通訊!

這個結論確實有點令人沮喪……但世界還是可以運作

可以這麼說,通訊軟體服務商應該是全世界知道最多祕密的團體了。現今我們仰賴的網路服務,確實完全建立在服務商不會作惡的基本假設之下:

Google 這麼大,應該不會為了我個人這一點小小的隱私,就自毀前程吧!

服務商跟客戶之間就靠這薄弱博弈心理達到納許均衡:相對於作惡,不作惡對服務商更有利;相對於拒絕使用,睜一隻眼閉一隻眼用下去,對使用者更有利。這個地基搭起的商業信任,還是相當牢固,支撐了世界許許多多商業行為。

難道這就是人類協作技術的極限嗎?

當然不是,這只是中心化解法的極限。

我們回顧一下問題核心,最終欠缺完美的公鑰佈告欄(即公鑰基礎建設 Public Key Infrastructure,PKI),按照剛才邏輯:

PKI 要可審計追蹤(Audit trail),最好公開透明,因為公鑰不怕偷看,就怕偷偷改掉;必須確保高度的可使用性(High Availability and Replication),不可拒絕使用者查詢公鑰,因為一旦查不到公鑰,對方就等於失去身分。

這不正是區塊鏈最擅長的事嗎?區塊鏈有紀錄透明、可追溯、不可竄改、多節點共同確保 Fault Tolerance、任何節點都可提供查詢等特性;若將 PKI 搭建在區塊鏈上,就可確保公鑰不被調包且一定查得到,完全可以從技術層面直接限制單一主體作惡的可能性,使通訊服務達到真正的 Trustless(筆者所在公司 BSOS 便曾與重量級客戶合作,共同嘗試「公鑰基礎建設結合區塊鏈」的可行性)。

區塊鏈解法和傳統解法,最大差別在哪裡?

從商業角度來看,這兩種解法最大差別在於「維持信任所需的成本」。

當企業與用戶的關係是建立在「信任企業」基礎上,就注定企業必須不斷透過各種「間接」方式撐起信任,且隨著天秤另一端持續累積,這成本恐將永無止境擴大。常見的信任成本有:

  • 企業的品牌或商譽。
  • 合規(企業每年都花費大量支出在符合 ISO27001 這類規範標準)。
  • 交由第三方處理(第三方同樣也需付出大量成本以維持可信任)。
  • 企業使自己越來越大(這是最常見的方式,但效益卻逐步遞減)。

相反的,Trustless 的信任成本並不是逐年攀升的無底洞。以上述區塊鏈 PKI 來說,可能只需要數十個參與者擔任節點,也就是約數十台伺服器的運作成本,就可搭起一個可信的區塊鏈 PKI,服務一家甚至多家企業。若 PKI 是建置在以太坊這類公有鏈,甚至可省去初期搭建成本,改為紀錄上鏈時支付手續費。如此一來,這些「引刀自宮」的企業,信任成本幾乎可恆定,不再需要耗費那麼龐大的資源取信客戶。

Trustless 實現,不只降低大企業維持信任的成本,更有價值的是,降低小規模創新服務為人們信任的門檻,整個社會的交易成本及創新價值都可能重新建構。

再擴展一下想像空間

利用區塊鏈為公鑰基礎建設,也是做到「自主身分」(Self-Sovereign Identity,SSI)的重要路徑之一,關乎民眾是否能「真正擁有」對身分的支配權及數位行為的控制權。例如:跟著人走的醫療數據、可信賴的公民投票……等,這些常被提起的未來理想,都有賴於可信的公鑰基礎建設。

關於區塊鏈 PKI 或 SSI 議題,雖技術趨近完備,但達成的路途卻十分遙遠,如「使用者的社會身分如何綁定公鑰」執行難度就非常高,甚至需要政府或公民組織共同參與打造基礎建設。本文僅就通訊服務商 trustless 的可能性,提供一條新的思路,未來有機會也可以專文探討 SSI。

區塊鏈思維

筆者因工作關係,經常在回答朋友這個問題:區塊鏈可以做什麼?

這個問題不易回答的原因在於,區塊鏈解法並不在人們過去熟悉的問題解決框架內,就如同本文提及,中心化解法到達極限、商業信任成本不可承受時,區塊鏈才翩然而至,以分散式的方式化解信任危機。關於區塊鏈思維,BSOS 樂意與大家共同交流。

這篇文章的目的,主要是希望藉由 Zoom 的事件,創造一個場景脈絡,與讀者共同思考:區塊鏈技術碰撞的,到底是什麼樣的問題(雖然 PKI 只是眾多區塊鏈應用之一),且提供衡量區塊鏈應用價值的「商業視角」:

降低信任成本(降低交易成本)。

區塊鏈到底是虛幻炒作,還是征服宇宙的黑科技?

看到這裡的讀者,答案是什麼呢?在第一線從業人員眼中,區塊鏈肯定不是 YouTuber 老高口中說的「21 世紀最大謎團」。對我們來說,區塊鏈一點都不神祕,甚至有時候還有點枯燥,但可以肯定的是,它所要解決的,的確是扎扎實實的硬問題,且這兩三年來,全球已有許多像 BSOS 的公司正以區塊鏈思維,解決某些特定問題,並不斷推廣這個領域的疆界。

(作者:BSOS CEO Daniel Huang