端對端加密可防止訊息服務監視使用者之間的私人通訊。
閱讀本文後,您將能夠:
複製文章連結
端對端加密 (E2EE) 是一種傳訊類型,它使訊息對所有人保持私密,包括訊息服務。使用 E2EE 時,訊息僅在傳送訊息的人和接收訊息的人面前以解密形式出現。傳訊者是對話的一個「端」,而接收者是另一個「端」;因此得名「端對端」。
將端對端加密想像成一封信,它在密封的信封中進行郵寄。寄信的人可以閱讀它,收信的人可以開啟信封並閱讀它。郵政服務員工無法閱讀這封信,因為它仍然密封在信封中。
許多傳訊服務提供加密通訊,但並不是真正的端對端加密。訊息在從傳訊者到服務的伺服器的過程中,以及從伺服器到接收者的過程中是加密的,但是當它到達伺服器時,它會短暫解密,然後再重新加密。(常見的加密通訊協定 TLS 就是這種情況,請閱讀下文瞭解更多資訊。)
想像一下,如果有一家郵政服務機構,在接受某人的投遞信件後,開啟信封並將信件轉移到一個新信封中,然後再將其遞送給收件人。這封信的內容可能會暴露給郵政服務的員工。
該服務可能承諾不會閱讀解密形式的郵件——就像上面範例中的郵政服務可能承諾其員工在將信件轉移到新信封時永遠不會閱讀一樣。但是傳送訊息的人只能被迫相信訊息服務會信守承諾。
E2EE 是「端對端」的,因為中間的任何人都不可能解密訊息。使用者不必去信任他們正在使用的服務不會閱讀他們的訊息:服務根本無法做到。想像一下,如果有人不是用信封寄信,而是把它放在一個只有他們有鑰匙的鎖著的盒子裡寄出。現在,除了預期的收件人之外,任何人都無法閱讀這封信。這就是 E2EE 的運作方式。
加密的運作原理是更改資料,以便只有擁有特定知識(即金鑰)的人才能解譯資料。假設 Alice 向 Bob 傳送了一條訊息,但 Chuck 在訊息到達 Bob 的途中竊取了該訊息。如果 Alice 使用她和 Bob 都擁有的金鑰對訊息進行加密,Chuck 就無法讀取它,而 Alice 的訊息仍然是安全的。相反,如果訊息到達 Bob 處,Bob 能夠使用他擁有的金鑰解密訊息,然後他可以閱讀訊息。
金鑰可以在不同的環境中採用不同的形式。在上面的範例中,金鑰可能就是一組用於解密 Alice 訊息的指令,十分簡單。對於網際網路上的通訊,金鑰是一串位元,它在用於加密和解密資料的複雜數學方程式中發揮作用。
使用 E2EE,可以加密和解密訊息的金鑰仍然儲存在使用者的裝置上。如果 Alice 和 Bob 使用一個 E2EE 傳訊應用程式,該應用程式會在 Alice 的手機上儲存一個金鑰,在 Bob 的手機上儲存一個金鑰。Alice 的手機用金鑰加密她的訊息,然後將加密的訊息傳輸到 Bob 的手機。Bob 的手機會自動套用金鑰並解密訊息,從而允許 Bob 閱讀它。
端對端加密使用一種專門的加密形式,稱為公開金鑰加密(有時也稱為非對稱加密)。公開金鑰加密使雙方能夠進行通訊,而不必透過不安全的渠道傳送金鑰。
公開金鑰加密使用兩個金鑰而不是一個:一個公開金鑰和一個私密金鑰。雖然包括訊息服務在內的任何人都可以檢視公開金鑰,但只有一個人知道私密金鑰。用公開金鑰加密的資料只能用私密金鑰(不是公開金鑰)解密。這與對稱加密形成對比,對稱加密只使用一個金鑰來加密和解密。
假設 Alice 和 Bob 需要變更他們用來加密通訊的金鑰。Alice 是否應該簡單地向 Bob 傳送一個新金鑰?不,因為 Chuck 可能會在傳遞給 Bob 的途中竊取並複制新金鑰,然後他可以解密他們未來的所有通訊。相反,Alice 和 Bob 決定使用公開金鑰加密。Alice 為自己保留了一個私密金鑰,並將公開金鑰傳送給 Bob——這樣一來,Chuck 是否在傳輸過程中竊取了金鑰並不重要,因為只有 Alice 擁有私密金鑰。
Transport Layer Security (TLS) 是一種加密通訊協定,與 E2EE 一樣,它使用公開金鑰加密並確保沒有任何中間方可以讀取訊息。
但是,TLS 是在使用者和伺服器之間實作的,而不是在兩個使用者之間實作。這可以保證資料在進出伺服器的傳輸過程中是安全的,但伺服器本身上的資料是解密的形式。這通常是必要的——例如,如果使用者正在使用 Web 應用程式,則伺服器需要存取他們的資料才能使應用程式執行。但是,從隱私的角度來看,這並不適用於所有情況。例如,如果使用者想要互相傳送訊息,他們可能不希望服務提供者能夠看到他們的訊息。
E2EE 確保除了正在相互通訊的兩個人之外,沒有人可以看到訊息(前提是他們使用的裝置沒有遭到入侵或被盜)。如果實施得當,它不需要使用者相信服務會正確處理他們的資料。因此,E2EE 讓人們可以完全控制誰可以閱讀他們的訊息,從而使他們能夠保持訊息的私密性。
E2EE 確保訊息在傳輸過程中的安全(當它們從一個人傳遞到另一個人時)。但是一旦訊息到達目的地,它就不會再保護它們。
假設 Alice 和 Bob 正在使用 E2EE 應用程式,但 Chuck 偷了 Bob 的手機。現在 Chuck 可以看到 Alice 給 Bob 的訊息了。如果 Chuck 不想費心去偷 Bob 的手機,他也可以偷偷溜到 Bob 身後,越過他的肩膀查看 Alice 的訊息。或者,他可以嘗試用惡意程式碼感染 Bob 的手機,以竊取 Alice 的訊息。不管怎樣,僅 E2EE 並不能保護 Bob 免受此類攻擊。
最後,E2EE 不能保證是面向未來的。如果實作得當,現代加密方法足以抵抗來自世界上最強大的電腦的加密破解工作。但未來電腦可能會變得更強大。量子電腦如果得到發展,將能夠破解現代加密演算法。使用 E2EE 目前能夠保證訊息的安全,但可能無法永久保證訊息的安全。
在網路安全中,後門程式是繞過系統正常安全措施的一種方式。想像一棟完全安全的建築物,所有門上都有多把鎖,只有後面的一扇隱藏門沒有上鎖,而且只有少數人知道這扇門。加密後門程式有點像這樣;這是一種存取已被加密「鎖定」的資料的秘密方式。一些加密後門程式實際上是故意內建到服務中的,以允許服務提供者查看加密資料。
曾經有過這麼一些案例,服務聲稱提供安全的 E2EE 傳訊,但實際上已經在其服務中構建了後門程式。他們可能出於多種原因這樣做:存取使用者訊息並掃描它們是否存在欺詐或其他非法活動,或者全面監視他們的使用者。如果使用者希望將訊息保密,則應確保仔細查看服務的服務條款和金絲雀安全聲明。
一些人認為,E2EE 服務提供者應在其加密中建立後門程式,以便執法機構在必要時可以檢視使用者訊息。資料隱私倡導者往往不同意,因為後門程式會削弱加密並減少使用者隱私。
Cloudflare 的《金絲雀安全聲明》表示:「Cloudflare 從未應執法部門或其他第三方要求,削弱、破壞或推翻其任何加密。」請參閱 Cloudflare 透明度報告瞭解更多詳情。
入門
關於隱私
其他隱私權主題
隱私與合規
字彙