在TSL / SSL握手中,如何使用ClientHello中发送的密码套件信息?

时间:2018-01-07 10:22:36

标签: security ssl https network-protocols handshake

https://en.wikipedia.org/wiki/Transport_Layer_Security#Protocol_details

我正在研究SSL / TSL握手是如何工作的,虽然我得到了非对称加密部分的要点,但在握手期间我并不了解密码套件信息。

以下是我握手的简要总结。

  1. 客户问好 发送会话信息,可用的密码套件和随机字符串。

  2. 服务器你好
    发送证书信息,选择密码套件和随机字符串。


  3. 的客户端
    • 从证书中提取公钥
    • 将两个随机字符串放在一起,并用它们创建一个预先掌握的秘密
    • 使用公钥
    • 加密预先掌握的秘密
    • 发送加密的预先掌握的秘密

  4. 服务器
    • 使用私钥解密预先掌握的秘密
  5. 客户&服务器

    • 两者都自己从预先掌握的秘密生成主秘密
    • 使用Master密码,都会生成要使用的对称密钥
  6. 客户更改密码套件

    • “(未加密)现在改变密码套件”,“(加密)完成。”消息类型
  7. 服务器更改密码套件

    • “(未加密)现在改变密码套件”,“(加密)完成。”消息类型
  8. 安全连接

  9. 初始密码套件信息如何与此交换相关?

    如果我对TSL / SSL握手有任何错误的理解,请纠正我。谢谢!

1 个答案:

答案 0 :(得分:0)

密码套件为此密钥交换,消息加密和消息身份验证的TLS握手定义了一组算法。 The article in wikipedia解释得非常好。