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