你傳的訊息會被 LINE 看光光嗎?從通訊軟體的隱私議題,看中心化解法的極限

2020.06.12 by
Daniel Huang
Daniel Huang 查看更多文章

區塊鏈公司BSOS(灣谷科技)共同創辦人。曾創立AI語音公司OneTalk,2017年獲全球最大手機輸入法公司收購。熱愛探索事物的本質、突破認知的疆界;把創業當作一種生活態度,希望能為世界帶來一些價值。

你傳的訊息會被 LINE 看光光嗎?從通訊軟體的隱私議題,看中心化解法的極限
Kasin via shutterstock
對個人隱私的重視,讓民眾對科技公司的信任逐漸瓦解,而解開這道隱私難題的鑰匙,或許就在區塊鏈身上。

你是否曾有過這樣的疑慮?像LINE這樣的通訊軟體,如果他們願意,有辦法偷看我們傳給朋友的訊息或圖片嗎?我想大部分人的答案是肯定的。只是,這些通訊軟體大家都在用,雖然偶爾覺得心裡毛毛的,但好像也只能選擇「相信廠商」,並告訴自己:「像LINE這樣的大公司應該不敢做壞事吧?!」

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

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

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

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

推薦閱讀:Zoom隱私風波不斷,遭用戶投訴、美國聯邦貿易委員會介入調查

資訊安全的目標是保護資訊及資訊系統免受未經授權的進入或破壞,通常並不考慮主人自己作惡的可能性。這次事件之所以引起市場這麼大的反應,不只是所謂的程式漏洞(其它大廠每年的漏洞又何曾少過),筆者認為更大程度是:人們心中對Zoom這間公司的天秤發生了變化,與其說是「資安漏洞」更像是「信任崩潰」。

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

欲練神功,引刀自宮

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

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

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

端對端加密

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

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

似乎不難想像,假設小明與小美在Zoom開啟了視訊會議,只要小明這一端在視訊內容傳出前都先加密,小美這一端收到後再解密,便可防止傳輸過程中有人偷看。這便是「對稱加密法」,目前應用最廣泛的加密法,成員之間「共享同一把密鑰」,密鑰用來對傳輸內容做加密或解密,只要保證密鑰安全,那麼成員之間通訊基本上就是安全的。

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

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

密鑰一旦涉及傳送,就又會回到老問題:中途被偷看了怎麼辦?難道小明和小美每次溝通密鑰時,都得見上一面?(在70年代的大銀行還真有專門的職位,提著保險箱,飛到全世界各地給客戶送鑰匙。)

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

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

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

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

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

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

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

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

只要「端對端加密」,就可以確保他們無法解密了嗎?

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

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

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。

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

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

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

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

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

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

再擴展一下想像空間……

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

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

區塊鏈思維

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

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

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

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

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

責任編輯:陳建鈞

《數位時代》長期徵稿,針對時事科技議題,需要您的獨特觀點,歡迎各類專業人士來稿一起交流。投稿請寄edit@bnext.com.tw,文長至少800字,請附上個人100字內簡介,文章若採用將經編輯潤飾,如需改標會與您討論。

(觀點文章呈現多元意見,不代表《數位時代》的立場

每日精選科技圈重要消息