Rsa

TLS 中的完美前向保密

  • April 13, 2014

我讀到 TLS 使用 Diffie Hellman 進行 PFS。但是,即使沒有證書也可以使用 DH - 那麼 DHE-RSA 比普通 DHE 有什麼優勢呢?

DHE 是一種不安全的算法,需要 DHE-RSA 嗎?

不,DHE 是安全的,允許在兩方之間通過不安全的通道共享一個共同的秘密。但是你不知道,如果你分享秘密的人是你想要的人(DHE 容易受到中間人的攻擊)。因此,DHE-RSA 使用 DHE 共享一個公共秘密並與 RSA 簽署通信以確保雙方都與正確的其他人進行通信。

簡而言之:DHE 不提供真實性。DHE-RSA 可以。

要使用正確的術語:在TLS中,包含“some Diffie-Hellman”的密碼套件是:

  • 匿名 Diffie-Hellman:DH_anon
  • 靜態 Diffie-Hellman:DH-RSA、DH-DSS…
  • 短暫的 Diffie-Hellman:AND-RSA、AND-DSS …

TLS 中沒有“普通 DHE”密碼套件;它被稱為“DH_anon”。顧名思義,使用 DH_anon,伺服器是“匿名的”:你真的不知道你在和誰說話。您與某人安全地交談,但某人可能是積極的攻擊者,因此必須對“安全地”一詞持保留態度。DH_anon 對被動攻擊者(聽但不說話)有很強的抵抗力,但攻擊者只能是被動的情況很少見。

沒有人使用靜態 DH,因為靜態 DH 涉及到其中包含 DH 公鑰的證書,而這在任何地方都幾乎不受支持(實際上每個人都使用 RSA,少數有冒險精神的人希望在中期將來切換到 ECDSA)。

Ephemeral Diffie-Hellman(“DHE”密碼套件本身)類似於 DH_anon,只是伺服器也有一個證書並簽署其 DH 公鑰(它剛剛生成並且很快就會忘記的 DH 公鑰,因此是“短暫的”);並且客戶端驗證該證書和該簽名。這帶來了身份驗證(客戶端現在知道它目前正在與誰交談)並因此帶來安全性。

引用自:https://crypto.stackexchange.com/questions/15562