SSL建立连接的过程

1.client向server发送请求https://baidu.com,然后连接到server的443端口,发送的信息主要是随机值1和客户端支持的加密算法。
2.server接收到信息之后给予client响应握手信息,包括随机值2和匹配好的协商加密算法,这个加密算法一定是client发送给server加密算法的子集。
3.随即server给client发送第二个响应报文是数字证书,里面包含了服务器的公钥。
4.客户端解析证书,这部分工作是由客户端的TLS来完成的。主要是验证数字证书中的服务器公钥是否正确。如果证书没有问题,那么就生成一个随即值3。
5.客户端认证证书通过之后,接下来是通过随机值1、随机值2和随机值3组装会话秘钥。然后通过证书的公钥加密会话秘钥。
6.传送加密信息,这部分传送的是用证书加密后的会话秘钥,目的就是让服务端使用秘钥解密得到随机值1、随机值2和随机值3。
6.服务端解密得到随机值1、随机值2和随机值3,然后组装会话秘钥,跟客户端会话秘钥相同。
7.客户端通过会话秘钥加密一条消息发送给服务端,主要验证服务端是否正常接受客户端加密的消息。
8.同样服务端也会通过会话秘钥加密一条消息回传给客户端,如果客户端能够正常接受的话表明SSL层连接建立完成了。

整个过程使用了混合加密的方式(对称加密+非对称加密)
1.非对称加密用于加密三个随机值组成的密钥,客户端用服务器的公钥对其加密,服务器用自己的私钥对其解密。
2.而密文的传输是对称加密的,这个密钥就是三个随机值组成的密钥。

参考:https://blog.csdn.net/xiaoming100001/article/details/81109617

发布了141 篇原创文章 · 获赞 27 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/a13602955218/article/details/105329795