《數字極權時代生存手記》9.即時通訊應用泛論
1 IM 安全性判斷標準
「端到端加密」不是衡量使用一款即時通訊應用是否安全的唯一標準。「端到端加密」並不是全部,它對應的只是通信傳輸過程中的安全,而即時通訊(Instant Messaging, IM)應用的安全不只限於通信安全,還包括雲端安全和終端安全。另一方面,「端到端加密」能否真正發揮作用取決於服務商的做法。
1.1 通信安全
除微信以外的主流 IM 都支持「端到端加密」,其中 iMessage、WhatsApp、Line 和 Signal 等多數應用採用的默認端到端加密(always end-to-end encrypted),Telegram 和 Facebook Messenger 等提供選擇性端到端加密。
需要注意的是,與「端到端加密」相對應的是「一般性加密」,如 Telegram 對群聊和非私密模式的聊天都採用 MTProto 協議加密傳輸,不開啟「端到端加密」不等於不加密。
端到端加密的意义在於只有用戶才能讀取通信内容。非端到端加密只能防止 ISP 和公用 Wi-Fi 管理員等第三方的竊聽通信內容,端到端加密下就連通信服務提供者也無法解密用戶的通信內容。
實際上端到端加密和非端到端的加密可能使用的相同的算法(包括對稱加密:AES,非對稱加密:RSA),但端到端加密這麼值得推崇的價值就在於它帶來的社會層面的應用:讓密鑰跟著用戶走,除了密鑰的所有者誰也無法掌控TA的密鑰,就像物理世界里的鑰匙一樣。
很多安全软件服务商或开发者也为了更易用(或者有其他目的?)而对用户的密钥代为生成、管理(有时甚至不告诉用户关于TA的密钥的事)。这样就使得「端到端」的意义丧失,跟非端到端的技术没有区别了。服务商说,他使用的是端到端技术,说没有其他人(包括他们自己)能控制得了你的密钥,但你能做什么呢?你只能靠道义上的信任了。毕竟你的密钥是人家给你生成的,也放置在人家的服务器上。
——Matters|UglyBull:你真的了解端到端加密麼?
使用「端到端加密」也不意味著萬無一失,它有可能被中間人攻擊等手段規避突破。
1.2 雲端安全
對端到端加密而言,最安全的做法是不將數據存儲/備份在雲端服務器上。
WhatsApp 雖然默認開啓端到端加密,但仍會將用戶的通訊數據存儲和備份到 Google 等第三方雲端服務器上,以便用戶更換設備時從雲端下載之前的聊天記錄。然而,存儲在服務器上的用戶數據在政府情報部門和黑客面前是很脆弱的。「端到端加密」的使命在傳輸完成後就已終結,它的意義被雲端備份行為消解了。
Telegram 提供了普通模式 (Cloud Chats) 與私密模式 (Secret Chats) ,允許用戶自己在便利與安全之間做出選擇。Cloud Chats 基於一般性加密、雲存儲並且支持多設備同步,Secret Chats 基於端到端加密,通訊只建立在兩台終端設備之間,服務器本身不留存任何數據。相比 WhatsApp,Telegram 的優勢還在於使用自有的雲服務,無需依賴第三方。
Signal 的做法是默認端到端加密,不支持雲端備份和多設備同步,在選擇隱私與安全的同時捨棄了便利。
iMessage 和 Wire 是極少數同時支持端到端加密和多設備同步的應用。 至於臭名昭著的微信,它的言論審查早已不是什麼秘密,用戶的通信內容在後台網監那裡是明文裸奔的,毫無隱私可言。(弔詭的是微信在保存用戶通信內容的同時又不提供雲端備份和多設備同步,怎一個「爛」字了得)
1.3 終端安全
終端設備的安全也會影響即時通訊的安全,而無論通訊服務商還是「端到端加密」都無法對終端安全提供保障。 終端安全可以分為軟件安全和物理安全。軟件安全的例外是指你的設備中存在惡意軟件,你的系統、即時通訊應用本身或者其他應用(比如 WhatsApp)存在後門,或者他人對你的設備擁有遠程登陸權限,你的 Telegram 通訊內容會洩露。物理安全的例外是指你運行過 Telegram 的設備落入了他人之手,如果你的設備沒有設定密碼、你被迫解鎖設備或者警察使用取證設備破解了系統防護,他們將能看到你的 Telegram 通訊內容,取證設備還能恢復被刪除的私密聊天記錄。
2 是否選擇 Telegram
綜合功能、隱私、使用門檻和用戶規模等方面來看,Telegram 是最有可能取代微信和 WhatsApp 的大眾流行即時通訊應用。Telegram 的頻道和超級群組使之在信息傳播上有著同類產品無可比擬的優勢,這也是編者認為有必要在中國和香港進一步推廣 Telegram 的原因。
Telegram 只能為用戶提供有限的安全,它有著其他流行 IM 的通病:其一是必須通過手機號碼註冊,因而無法實現匿名(使用太空卡或虛擬號碼僅能提高追蹤難度和成本),其二是一旦設備落入他人之手便無法保證通信數據的安全。 然而目前支持匿名註冊的即時通訊應用都較為小眾,部分應用不提供移動客戶端,便捷性、功能豐富程度和學習成本都遜於 Telegram,難以大範圍普及,是故 Telegram 雖然在匿名性上做得不足,但仍是次優之選。
對於前線勇武手足而言,物理安全缺失相比匿名性缺失更為致命,因此 Telegram 並不是聯絡通信的可靠之選,但目前又尚無更好的替代品。編者對此的建議是明確個中風險,謹慎使用。
3 匿名即時通訊應用
3.1 Riot.im
Riot.im 是一款基於 Matrix 協議、自由開源的即時通訊客戶端,支持全平台客戶端、端到端加密、群組、頻道與檔案分享,用戶可以自行選擇連接的服務器,並可免翻牆使用。
使用 Riom.im 無需提供手機號或電子郵箱,支持匿名註冊。
3.2 Tox
Tox 是一個基於 P2P/對等式網路、端到端加密的即時通訊協議。使用 Tox core 的 qTox、uTox 等客戶端之間可以相互通信,支持匿名註冊。為了避免元數據洩露,Tox 在查找朋友過程中使用洋蔥路由。 目前 Tox 缺乏可用的 iOS 客戶端。(Antidote 已停止更新。支持 iOS/Android 的 TOK 疑似為間諜、抄襲軟件,且未被 Tox 官網收錄,不建議使用,參見:Telegraph – 爱谁谁|什么Tok?)
3.3 TorChat
TorChat 是一款基於 Tor 的去中心化、匿名的即時通訊應用。初次使用時客戶端會為每位用戶隨機生成 16 位字母數字組合的 ID。目前 TorChat 僅支持 Linux 和 Windows。
4 斷網時的選擇:Bridgefy
Bridgefy 是一款基於藍牙的移動通信應用,可以在政府切斷互聯網或者蜂窩移動網絡斷流等無網絡連接的情境下使用,同時也可以連網使用。 受制於藍牙通信的距離限制,Bridge 的「Nearby/Broadcast」模式要求兩台通信設備間的物理距離在 330 英尺(約 100 米)內,「Mesh Chat」模式通過將中間的第三台設備用作中繼來支援距離超過 300 英尺的通信。
小結
- 不要迷信「端到端加密」。
- Telegram 並不安全。
- WhatsApp 絕對不安全。
參見:
端到端加密 - 維基百科
Telegraph - Pavel Durov|Why Isn’t Telegram End-to-End Encrypted by Default?(2017-08-14)
Telegraph - Pavel Durov | Why WhatsApp Will Never Be Secure(2019-05-15)
Pavel Durov|A New Backdoor Was Quietly Found In WhatsApp(2019-11-20)
Telegraph - Pavel Durov | Why Using WhatsApp Is Dangerous(2020-01-30)
一天世界 | 聊天軟件安全圖例 v1.2(2017-07-19)
Solidot | 騰訊的QQ和微信被指毫無隱私(2016-10-22)
Solidot | 微信有隱私嗎?(2018-01-08)
Riot.im - 維基百科
Tox - 維基百科
TorChat - Wikipedia
Bridgefy - Wikipedia