在通过对HTTPS的建立过程(SSL建立安全会话的过程)进行了解学习后,对客户端、服务器、CA三方在这个过程中的交互做了一个简单的图。因为涉及的东西较多,下面只对建立过程进行一个整体认识。
另一个图
其实客户端生成随机数密码(对称密钥/协商密钥)依赖于随机数random_C、随机数random_S、随机数Pre-Master。
此外,服务器还有一个对对称密钥的验证过程。
根据进一步学习了解,绘制了个比前面“一个图”复杂但是更准确点的“另一个图”。
服务器和客户端的验证过程其实就是使用Hash算法计算握手信息,并使用对称密钥解密对方发过来的信息,对两者进行比较,如果一致则说明己方的对称密钥跟对方是一致的,即正确的。
(这里的握手信息指的是双方的通信信息/参数,是双方都存有的数据。)
一开始客户端和服务器协商的加密算法其实是一个加密套件,其中包括了认证算法 Au (身份验证)、密钥交换算法 KeyExchange(密钥协商)、对称加密算法 Enc (信息加密)和信息摘要 Mac(完整性校验)。