普通端到端加密可能并不那么安全
譯文【51CTO.com快譯】消息平臺(tái)真的是固若金湯嗎?
普通用戶可能會(huì)天真地認(rèn)為:像WhatsApp和Signal之類流行的社交聊天工具,對(duì)于消息的加密一定十分地周全,而對(duì)于業(yè)務(wù)交流以及隱私的管控一定非常的完美。可是事實(shí)恰好相反。由于加密通信的復(fù)雜性,和即時(shí)通訊的實(shí)時(shí)并發(fā)性,各大企業(yè)級(jí)消息應(yīng)用平臺(tái)可能會(huì)讓海量的消息變得更加容易泄露,也更加容易遭到黑客的攻擊。
平心而論,WhatsApp和Signal之類的應(yīng)用已經(jīng)啟用了諸如H-256等高級(jí)加密技術(shù),并且能夠根據(jù)與用戶之間的協(xié)定,在保留了一段時(shí)間后,銷毀掉平臺(tái)上存儲(chǔ)的消息。但是正所謂“道高一尺、魔高一丈”,黑客們的技術(shù)也是在逐日遞增,不斷迭代。因此,實(shí)時(shí)消息被截獲、讀取、甚至是篡改的風(fēng)險(xiǎn),一直都存在著。
端到端加密(E2EE)為您保駕護(hù)航
為了保護(hù)消息的機(jī)密性和內(nèi)容的隱私性,平臺(tái)往往在消息的傳輸過程中采用端到端的加密技術(shù)。它的基本原理是:從服務(wù)器發(fā)出消息之后,端到端加密方法會(huì)將消息、或流媒體轉(zhuǎn)換為不可追蹤的數(shù)據(jù)塊,也就是我們通常所說的“密文”。密文消息在通信渠道上沿路被傳輸,直至到達(dá)接收對(duì)端才被解密。這樣我們就保護(hù)了消息中的數(shù)據(jù)信息,不會(huì)遭受到未經(jīng)授權(quán)的訪問或窺探。
為了方便起見,您可以將端到端加密理解為一個(gè)“保鏢”。他從您的家中接到您,幫您帶上面具,陪您一起乘坐各種交通工具,最終與您一起步行到達(dá)目的地的入口。下圖展示了在一個(gè)消息傳輸平臺(tái)內(nèi)部,整個(gè)端到端加密是如何流轉(zhuǎn)和實(shí)現(xiàn)的過程。
企業(yè)級(jí)消息傳輸平臺(tái)需要的不只是端到端加密
在聯(lián)邦調(diào)查局(FBI)最近一次的調(diào)查中,他們發(fā)現(xiàn)FBI特工能夠輕松地接入聊天進(jìn)程,并從加密服務(wù)器上訪問到由前參議院情報(bào)委員會(huì)助手James Wolfe在Signal平臺(tái)上發(fā)送的消息記錄。這些加密消息中的某些內(nèi)容甚至被披露到了《紐約時(shí)報(bào)》上。
FBI到底是如何找到破解密碼的后門,又是如何取得加密消息平臺(tái)的信任,目前尚不得而知(有分析認(rèn)為他們利用了Pegasus之類的軟件技術(shù))。但是值得注意的是:當(dāng)前技術(shù)界存在著一些被低估的協(xié)議和操作系統(tǒng),例如OMEMO和RattleSnake OS。它們專為橫跨多種設(shè)備的安全消息傳輸場(chǎng)景而設(shè)計(jì)。在目前的市場(chǎng)上,像MirrorFly之類的公司,就能夠針對(duì)消息傳輸應(yīng)用提供上述加密協(xié)議與操作系統(tǒng)。
如下圖所示,OMEMO是一種使用了Double Ratchet(雙棘輪)算法,來為多個(gè)客戶端(端點(diǎn))提供加密服務(wù)的協(xié)議。
OMEMO協(xié)議的基本功能包括:
- 對(duì)稱的端到端加密:使用相同的密鑰在發(fā)方進(jìn)行消息加密,并在收方執(zhí)行消息的解密。對(duì)稱算法的最大優(yōu)勢(shì)在于簡(jiǎn)化了密鑰交換的復(fù)雜性。
- 獨(dú)立密鑰更新:在該協(xié)議算法中,我們不需要對(duì)等或公鑰基礎(chǔ)設(shè)施(PKI)來獲取新的密鑰,只要通過密鑰派生函數(shù)(key derivation function,KDF),使用偽隨機(jī)函數(shù)從密鑰值(如:主密鑰)中導(dǎo)出一個(gè)或多個(gè)密鑰即可。
- 前向保密性(Forward Secrecy):由于為每一條消息都分配并使用了唯一的臨時(shí)密鑰,因此就算某個(gè)特定的消息集被破解,所有使用了不同密鑰的其他消息仍然可以“保守秘密”。
- 合理的隱蔽性(Plausible Deniability):即使某條消息被成功截獲,窺探者也無法確定是誰發(fā)送了該消息。
- 無亂序消息或消息丟失:每條消息都在其頭部被嵌入了會(huì)話號(hào)。就算某條消息未傳輸成功,也不會(huì)擾亂整條密鑰的派生鏈(derivation chain)。
Double Ratchet算法的工作原理
如下圖所示,在我們使用AES-256算法加密消息時(shí),雖然算法本身牢不可破,但是最困難的部分是:如何讓多個(gè)接收方在不安全的通道上共享密鑰。
在一對(duì)一的通信場(chǎng)景中,Double Ratchet算法的處理過程是由Diffie Hellman(DH)密鑰交換來進(jìn)行的。Double Ratchet算法是同時(shí)執(zhí)行多個(gè)Diffie Hellman密鑰交換的理想方法。因此,整個(gè)通信是通過并行地運(yùn)行兩個(gè)Ratchet算法來實(shí)現(xiàn)的,即:
- 根鏈
- 發(fā)方與收方鏈
而上文提到的RattleSnake OS主要被用于防御性的通信場(chǎng)景之中。它利用跨平臺(tái)工具,使用AWS基礎(chǔ)設(shè)施來構(gòu)建自己的操作系統(tǒng)。
RattleSnake OS在消息傳輸平臺(tái)上的優(yōu)勢(shì)
- 就像iOS和Android兩種移動(dòng)端系統(tǒng)那樣,我們可以在RattleSnake OS上構(gòu)建可自定義的聊天通道。
- RattleSnake OS支持Google Pixel、以及其他品牌的智能手機(jī)硬件。
- 它包含許多增強(qiáng)的安全性功能。
- 基于RattleSnake OS構(gòu)建的消息傳輸平臺(tái),可以充當(dāng)端到端加密和系統(tǒng)功能的混合安全層。
總結(jié)
綜上所述,我們?cè)谶x用即時(shí)通訊工具、特別是企業(yè)級(jí)消息傳輸平臺(tái)時(shí),不可盲目跟風(fēng),從而導(dǎo)致用戶面臨未知的風(fēng)險(xiǎn),以及高級(jí)攻擊者的威脅。我們應(yīng)當(dāng)通過充分評(píng)估,采用類似RattleSnake OS之類更為安全的加密標(biāo)準(zhǔn),來全面地管控自己的消息應(yīng)用程序和服務(wù)。
原文標(biāo)題:End-to-End Encryption Isn’t as Safe as You Think!,作者:Parthiba
【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文譯者和出處為51CTO.com】