Rsa

如果我的伺服器使用基於 RSA 的證書,為什麼 firefox 認為我使用的是 Diffie Hellman?

  • February 8, 2019

我不是加密的初學者,但離它不遠,所以請溫柔。

我負責為我生成 SSL 證書的 Web 伺服器應用程序,並使用 RSA 公鑰/私鑰對。

通過 firefox 40.0.3 連接到網路應用程序時,它不允許我,錯誤程式碼:ssl_error_weak_server_ephemeral_dh_key

據我了解,使用 RSA 或 Diffie Hellman 進行會話密鑰交換做了類似的事情,但完全分開。

那麼如果我不使用 Diffie Hellman 漏洞怎麼辦?

PS Web 應用程序是基於 jboss 的 HP Network Automation 9.20。

抱歉,如果這是錯誤的交換,我看到的其他問題看起來比應用加密更純粹基於數學。

SSL/TLS 伺服器可以通過兩種不同的方式使用 RSA 證書。

在“經典”RSA 密碼套件中,客戶端隨機選擇一個秘密值,使用伺服器證書中的公鑰對其進行加密並將其發送到伺服器。伺服器使用私鑰對其進行解密。所以客戶端和伺服器現在有一個共享的秘密。

這種方法的缺點是它不提供“前向保密”,如果伺服器的私鑰後來被盜,那麼所有以前的會話都可以解密。

為了解決這個問題,引入了“臨時”密碼套件,其中用於密鑰交換的密鑰是為給定會話生成的,然後被丟棄。原則上,臨時 RSA 密碼套件是可能的,但出於性能原因(生成 RSA 密鑰的計算量很大),沒有現代密碼套件使用該技術。

因此,在現代“臨時” cipersuites 中,客戶端使用臨時 DH 或 ECDH 交換來同意共享秘密。證書中的 RSA(或 DSA 或 ECDSA)密鑰用於簽署密鑰交換,以便客戶端知道它正在與正確的伺服器通信。這些密碼套件的名稱類似於 TLS_DHE_RSA_(something) 或 TLS_ECDHE_RSA_(something) 。

用於密鑰交換本身的 DH 或 ECDH 密鑰的強度與用於驗證密鑰交換的 RSA 密鑰的強度無關。一些較舊的伺服器預設為 1024 位或更差的 768 位 DH 參數。

首選選項是將您的伺服器設置為使用 2048 位或更強的 DH 參數。如果由於某種原因不可能,您應該禁用 DHE 密碼套件,但請注意,這可能會導致您失去某些客戶端的前向保密性。

該連接可能正在協商 DHE_RSA 密碼套件。RSA 簽名用於驗證用於實際密鑰交換的臨時 Diffie-Hellman 密鑰。這是一件好事,因為使用 RSA 進行身份驗證和密鑰交換的密碼套件不提供前向保密

要解決這個問題,您應該確保伺服器使用 2048 位 Diffie-Hellman 密鑰,或者改用橢圓曲線。

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