全球知名加密通訊應用程序Signal計劃使用英特爾Skylake芯片內置的DRM(數字版權管理)Secure Enclave隱藏用戶的連接方式。
Signal由此解決了追蹤端對端加密通訊的隱私薄弱環節。這種弱點表現在:當用戶希望了解其它聯系人是否也使用相同的服務時,可以使用常規的通訊應用程序咨詢中心“社交圖譜”查看使用相同服務的聯系人。而Signal自身的加密功能會阻止通過這種方式讀取用戶的消息,因此能結束暴露聯系人的更多信息。
Signal加密工作原理
Signal不使用自己的集中化社交圖譜,而是通過用戶的通訊錄解決問題。
要了解在使用Signal的聯系人,Singal首先會將號碼變成刪減版的SHA256哈希,與中心哈希目錄匹配對比(與密碼驗證方式類似)。試圖攔截流量或入侵該目錄的任何人只會看到哈希碼,而非電話號碼。
黑客要利用被竊哈希碼的唯一方式是猜測電話號碼。黑客需猜測號碼,通過哈希算法運行號碼,并查看是否與被竊哈希匹配。若不匹配,就得繼續嘗試,直到匹配成功。
Signal開發商OpenWhisperSystems表示,這種做法存在一個問題,因為10位數的預映射空間(Pre-image Space)較小,轉化這些哈希基本上就算是一種直接的字典式攻擊,換句話講,計算機可能會快速猜測出電話號碼,打破哈希的安全性。
字典式攻擊:
指在破解密碼或密鑰時,逐一償試用戶自定義詞典中的單詞或短語的攻擊方式。
Signal不會保存用戶執行的查詢記錄,這讓用戶表示放心。
如果用戶信任Signal服務運行的是官方開源服務器源代碼,用戶就會認為就算遭遇黑客入侵,Signal也不會持久獲取用戶的“社交圖譜”。但如果實際上運行的并非Signal開源服務器源代碼,畢竟黑客可能會修改服務來記錄用戶的發現聯系人(Contact Discovery)請求。即使Signal毫無執行這類操作的動機,但入侵Signal的黑客可能會修改該代碼來記錄用戶的尋找聯系人請求,亦或一些政府機構可能會要求Signal修改服務,以記錄發現聯系人的請求。
Open Whisper Systems的創始人Moxie Marlinspike(莫西·馬琳斯巴克)將英特爾芯片內置的“軟件防護擴展”(Software Guard Extensions,SGX)功能視為DRM的Secure Enclave。
英特爾現代芯片支持“軟件防護擴展”(Software Guard Extensions,SGX)功能。SGX允許應用程序提供與主機操作系統和內核隔離的Secure Enclave,其與ARM的信任區技術類似。SGX區域還支持遠程認證功能,即為在遠程運行的代碼提供加密保證。
由于Secure Enclave會驗證遠程運行的軟件,以及遠程服務器和操作系統看不到Enclave的內容,這幾乎相當于客戶端設備在本地執行請求。
因此Signal加密通訊應用能夠進行更好的端對端佳迷通訊及隱私保護。