https://en.wikipedia.org/wiki/Transport_Layer_Security#Protocol_details
我正在研究 SSL/TSL 握手的工作原理,虽然我了解了非对称加密部分的要点,但我不了解握手过程中的密码套件信息。
下面是我对握手所做的简要总结。
客户您好
发送 session 信息、可用的密码套件和随机字符串。
服务器问候
发送其证书信息,选择密码套件和随机字符串。
客户
- 从证书中提取公钥
- 将两个随机字符串放在一起并用它们创建一个预掌握的 secret
- 使用公钥加密预先掌握的 secret
- 发送加密的预掌握 secret
服务器
客户端和服务器
- 他们自己从预掌握的 secret 中生成主 secret
- 有了Master secret,两者都会生成一个对称 key 以供使用
客户端更改密码套件
- “(未加密)好的,现在更改密码套件”,“(加密)完成。”消息类型
服务器更改密码套件
- “(未加密)好的,现在更改密码套件”,“(加密)完成。”消息类型
安全连接
初始密码套件信息与此交换有何关联?
如果我对TSL/SSL Handshake的理解有误,请指正。谢谢!
我是一名优秀的程序员,十分优秀!