HKGalden科技臺
發表文章發起投票
WhatsApp 真係有後門?
英國衛報星期五發表一篇報道,聲稱在 WhatsApp 裡發現「後門」,容許情報機關偷窺加密訊息。Gizmodo 跟進報道稱根本無咁嘅事,所謂後門是合理而且意料之內的設計。到底發生什麼事?

左右為難:遺失電話就遺失訊息,點算好?

整件事情的關鍵在於 WhatsApp 對這條問題的取態:當某人更改電話號碼、更換電話或者重新安裝應用程式時,系統應該如何處理他的加密訊息?

舉個例子,假設馬莎要發送一段訊息給國雄,她用國雄的鑰匙 K1 (keypair) 加密了這段訊息。馬莎的訊息會儲存在某台伺服器,直到國雄能夠連接上網並下載該訊息。即時通訊軟件需要這種暫時儲存的行為,才能容許非同步通訊(非同步即是在對方離線時讓你發送訊息的設計),所有流行的即時通訊軟件都有這種設計。

點知,國雄的電話剛好跌了落海。於是國雄買了新電話並重新安裝了 WhatsApp 。在這部新電話裡,軟件會製作一條新的鑰匙 K2。接下來,有兩種可行做法:
1.戴頭盔 (fail safe) 伺服器刪除暫存訊息,因為鑰匙 K1 已經消失,已加密的暫存訊息就不能被解密。國雄永遠不會看到刪除了的訊息。馬莎則會收到警告,通知她國雄換了新鑰匙。另外馬莎會得悉有關訊息無法遞送,她可以按重試重新發送。這是 Signal 的設計。
2.繼續 (proceed) 伺服器會通知馬莎的電話,國雄換了新鑰匙 K2,要求電話用鑰匙 K2 重新加密本來無法遞送的訊息。馬莎的電話會照做,國雄最後會收到馬莎的訊息。如果馬莎啟用了替換鑰匙警告功能,她亦會收到警告。這是 WhatsApp 的設計。

做法 2 會令服務更加可靠,因為少了一個讓訊息無法遞送的情況。然而,它同時會打開一個安全漏洞:伺服器不一定要讓國雄真的遺失了他的電話,才能做出相關處理。伺服器可以出於惡意,把自己製作的假鑰匙裝扮成國雄的新鑰匙,然後要求馬莎的電話重新加密並發送訊息。馬莎不會有機會去介入並阻止發送該訊息,馬莎的電話會自動照做,而伺服器一方則能夠偷窺該訊息。馬莎仍會收到國雄更換鑰匙的警告,她可以核對國雄新鑰匙的指紋,但為時已晚。到馬莎發現指紋不符的時候,訊息已經外洩。

至於做法 1 則能夠防範這項潛在的攻擊途徑。但在服務可靠性方面,則會令產生多一個讓訊息無法遞送的情況。

WhatsApp 用家應該點應對?

如果你是個高風險用家,你的安全會因一兩條訊息的外洩而受到威脅的話,你應該考慮改用其他即時通訊軟件。按照 EFF 的監控自衛術指引,無論是 iOS 版,還是 Android 版,一向都不建議使用 WhatsApp 作安全通訊之用。

但如果按照你的風險模型,你能夠容忍只在發生保安事故事後收到通知,WhatsApp 在保障你的通訊安全方面的努力依然值得稱讚。而且 WhatsApp 有龐大用戶人數,使用 WhatsApp 不會被視為參與秘密活動的直接證據。

如果你需要啟動 WhatsApp 的更換鑰匙警告,開啟設定 → 帳號 → 安全性,然後啟動「顯示安全通知」;go into Settings → Account → Security, and slide “Show security notifications” to the right.

為保安方面之取捨辯護

WhatsApp 與 Signal 的分歧在於採納什麼預設設定才合乎情理。Signal 被設計成把安全放在第一位的通訊工具。Signal 的用戶會接受較低的服務可靠性以換取較佳的安全性。經常使用 Signal 的用家會同意,林林總總的邊緣狀況加起來,讓 Signal 感覺上較為不可靠。

至於 WhatsApp,早在它加設端對端加密功能之前,已經是極為普遍的通訊軟件。WhatsApp的目標是讓用戶能夠享受加密,同時讓用戶毋須掛心,甚至察覺不到。若加密會令訊息更容易無法遞送,一般用戶會視之缺點。WhatsApp 不是 Signal 的市場對手,但它跟很多沒有端對端加密功能的即時通訊軟件競爭。Hangouts、Allo、Facebook Messenger 等軟件不用面對 WhatsApp 所作之取捨。我們應讚賞 WhatsApp 為所有人提供端對端加密,無論各用家是否知道有這樣的功能。

話雖如此,這仍算是 WhatsApp 的弱點,我們認為 WhatsApp 應該讓用戶選擇使用類似 Signal 的設定。

稱呼為現行做法為「後門」係不準確到不負責任的地步。

這是在保安範疇裏很典型的取捨。一切通訊系統都需要作取捨。完美的保安設定不會為公眾帶來好處,如果它的製成品難用到冇人會用。最出名的例子有 PGP , PGP 做了很少取捨,結果它的用家現在可謂瀕臨絕種。

理想是狀況是用家應該有最大程度的控制。但 WhatsApp 需要選擇一個預設設定,而他們的選擇係值得我們為其辯護。

以 Key Transparency 偵測不良行為

Google 最近剛好宣佈開展Key Transparency 透明報告計劃。新計劃坦然接受一項頗大的取捨:大多數用家都不會檢驗他們的聯絡人的加密鑰匙的指紋,及在遭受攻擊前率先發現有人企圖攻擊,此計劃提供途徑讓通訊協定增設保證功能,令伺服器的任何惡意行為在事後永久地公開。以即時通訊軟件為例,這表示你可以審核日誌記錄,檢查你的服務供應商在你的帳號名下發佈過什麼鑰匙,及在何時發佈。

這是一個非常強大的新概念,可以為文章開頭所述的情況提供額外的制衡:國雄或者有任何得到相應授權的人毋須直接檢驗指紋,就能夠得悉國雄的帳號有沒有遭遇濫用而令到馬莎的訊息外洩。

有一點要注意,透明報告不能制止伺服器作出攻擊,它只能確保攻擊能夠在事後變得顯眼,讓更多人更容易察覺到。對於一些用家,這並不足夠,他們應該繼續要求嚴格的設定來防範攻擊,並接受通訊工具更加難用的代價。但對於不能容忍而用戶體驗或服務可靠性受挫換取更佳安全的用家,透明報告可以是對付大規模監控的一帖良方。

我們距離一個可用而且安全的完美通訊軟件還有很遠的路,WhatsApp跟任何通訊軟件一樣,必須作出取捨。當安全通訊社羣逐步邁向某個理想的解決方案,我們不應把眼前不完美但認真的成果當作「後門」,抹煞這些努力。

作者:Joseph Bonneau, Erica Portnoy (EFF)
翻譯:鍵盤戰線https://medium.com/keyboard-frontline/whatsapp-真係有後門-e1d3007670a#.3eckfea13
Good2Bad0
2017/01/17, 2:27:49 下午
本貼文共有 0 個回覆
此貼文已鎖,將不接受回覆
發表文章發起投票