Q
SSL握手過程
0
A
回答
1
鏈接到的帖子中的描述只是對協議的簡單說明。
客戶端生成預主密鑰,並使用服務器的公鑰對其進行加密,作爲握手過程的一部分。然後雙方根據RFC 6101中的方法推導出對稱密鑰材料,包括IV和MAC密鑰。
1
下面是一篇優秀文章的鏈接,描述了SSL/TLS握手(包括客戶端和服務器使用預主密鑰生成主密鑰,用於生成一組會話密鑰爲MAC和加密):
1
說,瀏覽器生成對稱密鑰僅僅是一個簡化的(至少比說的加密與證書完成)更好。您可能對Security.SE上的this answer感興趣:
密碼套件然後確定這些對稱密鑰最終如何共享。 SSL/TLS握手的直接目的是在客戶端和服務器之間建立一個分享預主祕密。這更廣泛地被稱爲key-exchange (see RFC 4346 Appendix F.1.1, and perhaps Section 7.4.7)。
這屬於兩個類別(不包括匿名密鑰交換):
- RSA密鑰交換(例如
TLS_RSA_WITH_AES_128_CBC_SHA
):客戶端加密使用服務器的公鑰(證書中找到的)前主祕密。 - DH(E)密鑰交換(例如
TLS_DHE_RSA_WITH_AES_256_CBC_SHA
):發生Diffie-Hellman密鑰交換。服務器簽署DH參數,客戶端根據服務器證書中的公鑰驗證簽名。 (具有基於RSA的證書並不意味着是RSA密鑰交換)
在握手,使用取這兩個步驟結束後,客戶端和服務器都持有一個共同的預主祕密,從中得出主祕密(見RFC 4346 Section 8.1)。
從該主祕密,雙方可以導出加密密鑰(和MAC祕密),如RFC 4346 Section 6.3中所述。
相關問題
- 1. SSL握手過程中出錯qt
- 2. Soap SSL握手
- 3. SSL握手異常
- 4. SSL握手問題
- 5. 調試SSL握手
- 6. SSL握手超時
- 7. SSL握手失敗
- 8. TCP握手過程
- 9. Axis2的2路SSL握手URL過濾
- 10. iOS應用程序SSL握手失敗
- 11. 如何追蹤「SSL握手期間的連接timout」和「ssl握手過程中連接關閉」錯誤
- 12. XMPP SSL握手失敗
- 13. Java中的SSL握手
- 14. SSL握手連接設置
- 15. Selenium SSL握手問題
- 16. SSL無法進行握手
- 17. SSL握手異常 - RESTEASY004655
- 18. javax.net.ssl.SSLHandshakeException:javax.net.ssl.SSLProtocolException:SSL握手中止:SSL = 0x52e57148:
- 19. SSL握手失敗錯誤
- 20. OSX Jaspersoft Studio SSL握手
- 21. Java SSL握手失敗(SSLPoke)
- 22. Weblogic SSL握手失敗
- 23. Cloudflare - 525 SSL握手失敗
- 24. SSL握手從服務器
- 25. Java SSL握手失敗
- 26. WebLogic SSL握手錯誤
- 27. 壞SSL握手澤西
- 28. iOS SSL握手失敗
- 29. Java SSL握手警報no_negotiation
- 30. SVN和SSL握手失敗
您可以鏈接到TLS規範(1.0或更高版本)。這個SSLv3規範最近才作爲歷史記錄發佈。 – Bruno