[TCP/IP] SSL的通讯原理

SSL:位于传输层和应用层之间,专门实现在传输之前加密,在接收端给应用层之前解密;使用非对称加密技术

SSL原理
1.客户端与服务端建立连接
2.互相Hello(包含支持的版本、算法;加上随机数)
3.服务端发送公钥
客户端发送公钥(双向验证才需要,单向跳过)
服务端验证客户端公钥(双向验证才需要,单向跳过)
4.客户端验证服务端公钥
5.交换DH参数(如果用DH密钥交换算法)
6.客户端使用公钥生成PreMaster Secret,并发送给服务端(DH根据随机数和参数直接算)
7.服务端使用私钥解密PreMaster Secret,得到对称密钥(DH根据随机数和参数直接算)
8.使用对称密钥通讯
SSL客户端(也是TCP的客户端)在TCP链接建立之后,发出一个ClientHello来发起握手,这个消息里面包含了自己可实现的算法列表和其它一些需要的消息,SSL的服务器端会回应一个ServerHello,这里面确定了这次通信所需要的算法,然后发过去自己的证书(里面包含了身份和自己的公钥)。Client在收到这个消息后会生成一个秘密消息,用SSL服务器的公钥加密后传过去,SSL服务器端用自己的私钥解密后,会话密钥协商成功,双方可以用同一份会话密钥来通信了。

 

TLS(传输层安全)是更为安全的升级版 SSL,TLS是升级版的SSL,但是还有按照传统称为了SSL

posted @ 2019-07-31 19:21  唯一客服系统开发笔记  阅读(1297)  评论(0编辑  收藏  举报