如何確保非開源程序真正使用端到端加密?
在不深入數學的情況下,有沒有辦法確保非開源程序(如 WhatsApp、FaceTime、Zoom 等)真正使用端到端加密,而不僅僅是“正常加密”(即伺服器具有密鑰)?
有沒有辦法確保非開源程序真正使用端到端加密?
只有通過深度逆向工程。這很難,而且可能是非法的。此外,這些應用程序是一個移動的目標:它們每週都在變化。而且,使用端到端加密並不能證明不可能進行攔截:這種加密(或其密鑰生成)可能很弱,可能是偶然的、故意的,也可能是偷偷摸摸的。最後,沒有實用的方法¹。
真實故事:我是這款² 調製解調器的首席工程師,該調製解調器能夠通過使用智能卡協商會話密鑰進行端到端加密,於 1990 年發布,在法國銷售並取得了一些成功。我們公司的一位董事堅持要求我們獲得當局對這些功能的批准,因為這是在與我們的主要經銷商 Apple France 的一次談話中提出的。不久之後(1991 年中),我的辦公室裡有一個人以軍銜自我介紹,並解釋說法律要求對於出售給公眾的加密設備,必須有一種方法可以找到密鑰,最多需要進行一次測試2 40腳步。他要求對協議進行詳細描述。我認為改變它會破壞互操作性。這傢伙提議添加一個洩漏會話密鑰的側通道,這樣如果一端正在使用被操縱的設備,會話密鑰將可用於截獲線路信號並知道方法的人。我有一個明顯的印象,這是標準程序。最後,我創建了一個舊設備忽略的新數據包類型,其中包含 RSA 加密的會話密鑰,以更不規則的間隔發送,而新模型就是這樣做的。我記得那傢伙是來做展示的。為了自己的安全,我堅持不知道生產私鑰。我仍然有該設備的原始碼,在 8051 程序集中。
注意:該設備的點對點加密的主要特點是,當您製作了一組智能卡並將其插入調製解調器時,您可以確信只有持有該組智能卡的人才能連接。正如法國法律沒有要求的那樣,此功能並未受到損害。
¹ 沒有切實可行的方法可以確信存在有效的端到端加密。有時可以證明不存在端到端加密。例如,如果數據通過使用伺服器證書保護的 https 連結通過中央伺服器,並且通過使用本地代理(設備上的標準黑客攻擊)破壞該 https 加密來顯示使用者消息,那麼我們確信存在沒有端到端加密。
² 向下滾動並點擊寬圖片或向右箭頭以獲取更多資訊,包括內部結構。
我與這個網站沒有任何联系。
在原始問題中:
非開源程序,如 WhatsApp、FaceTime、Zoom 等
我認為您真正要問的是您是否可以相信某些東西正在使用您沒有親自安裝和託管的端到端加密。
我認為這並不實用,即使對於開源軟體也是如此。原因是,如果您使用其他人的執行 jitsi 或 BigBlueButton 的服務,您假設他們執行的正是公共儲存庫中提供的內容。誰真的知道這是否屬實。
所以在我看來,你最好的選擇是找到一個使用你信任的某種形式的外部驗證(審計)的服務,或者自己執行它。