您好,登錄后才能下訂單哦!
有一朋友這樣問到“dh是密鑰協商交換用的,為什么只有在服務器上有dh.pem文件,而客戶端里沒有,我就不明白了,客戶端與服務器都有rsa公私鑰了,可以傳輸對稱密鑰了,為什么還需要dh算出對稱密鑰呢?”
我們先一下,Open×××的man幫助是如何說dh選項的。
--dh file
File containing Diffie Hellman parameters in .pem format (required for --tls-server only).
Set file=none to disable Diffie Hellman key exchange (and use ECDH only). Note that this requires peers to be using an SSL library that supports ECDH TLS cipher suites(e.g. OpenSSL 1.0.1+, or mbed TLS 2.0+).
Use openssl dhparam -out dh3048.pem 2048 to generate 2048-bit DH parameters. Diffie Hellman parameters may be considered public.
1、使用階段不同:DH用于TLS握手期間,RSA是用于數據通信階段。
2、如果沒有這個選項,啟動Open×××服務器會出錯 Options error: You must define DH file (--dh)
那么什么是Diffie-Hellman參數文件?
迪菲·赫爾曼密鑰交換(Diffie–Hellman key exchange,簡稱「D–H」) 是一種安全協議。它可以讓雙方在完全沒有對方任何預先信息的條件下通過不安全信道創建起一個密鑰。這個密鑰可以在后續的通訊中作為對稱密鑰來加密通訊內容。這個DH參數不是安全敏感的,所以只要在Open×××服務器有一份就可以了,而且即使被第三方拿到了,也無所謂。
如果想深入一些,可以這樣來理解:
1、RSA和DH都基于非對稱算法。
2、RSA: 常用的示例是Alice向Bob發送消息,并使用Bob的公鑰加密消息。向Bob發送消息。鮑勃用他的私鑰解密。驗證簽名以確保Alice發送簽名。該消息將成為對稱加密密鑰。這是用于保護連接的內容。
3、DH Diffie Hellman交換依賴于生成秘密值的兩個單獨實體。通過一些數學算法,他們都能夠產生共同的密鑰值。這是一個對稱密鑰。
4、使用RSA,可以進行加密和簽名的密鑰對。使用DH,只執行加密,沒有簽名機制。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。