Signature
如果伺服器和我有可能簽署我們交換的加密消息,那麼使用 TLS 仍然有用嗎?
假設忽略:
- 中間的人攻擊。
- 對稱加密優於非對稱加密的效率
如果雙方在沒有 TLS 的情況下交換加密和簽名的消息(即 <ciphertext, signature>),我無法理解 TLS 在安全性方面的用處。
- 使用 TLS 的安全通信是否與不使用 TLS 的發送 <ciphertext, signature> 相同?
- 在沒有 TLS 的情況下發送 <ciphertext, signature> 時,在 TLS 下發送消息對流量分析是否更具彈性?
例如,如果我將加密選票 (ElGamal) 發送到投票基礎設施,額外的 TLS 加密是否有助於進一步防止 ISP 知道我發送的內容?
與僅對每條消息進行加密和簽名相比,TLS(具有適當的密碼套件)具有許多優勢:
- 它可以防止抑制、重放或重新排序單個消息/數據包的攻擊(例如,允許對手用重放的以前“是”答案替換“否”答案;或使一方相信它發送的消息已被另一方接收)派對,當它真的被壓制時)。
- 它提供了前向保密性,即如果一方在未來洩露他們的私鑰,那麼過去通信的保密性是安全的。
- 當只有一方(例如伺服器)擁有私鑰時,TLS 仍然允許雙向加密(因為它使用非對稱密鑰交換)。
- 在具有許多消息的典型使用中,計算工作量和交換的數據量會降低。那是因為相對昂貴的非對稱加密僅在會話建立時使用,然後更有效的對稱認證加密可以用於其餘部分。
- TLS 通常帶有一個基礎設施,通過證書頒發機構的代理自動對伺服器進行身份驗證。
注意:但是,該身份驗證的安全級別通常相當低。這是因為它依賴於如此多的證書頒發機構中的任何一個,以至於州級行為者甚至有組織的犯罪都可能會破壞一個頒發機構並獲得流氓證書。當該身份驗證不充分時,可以說它給人一種錯誤的安全感。對於瀏覽器中涉及 Javascript 的政治投票應用程序來說,這將是一個很大的問題。
在 TLS 下發送消息是否對流量分析更具彈性?
是的,因為整個流量都是加密和簽名的(包括例如伺服器發送的 Javascript 程式碼)。雖然它遠非完美,即使忽略證書基礎設施的低安全性:ISP 仍然可以獲得 Web 伺服器的 IP 地址,通常是 FQDN(
crypto.stackexchange.com
對於目前頁面),所有互動的大小和確切時間,包括查詢。例如,在線上投票應用程序中,即使使用 TLS,ISP 也可能仍然可以判斷是否已從給定設備進行投票。