SSL安全套接层:

是一种在两台机器之间提供安全通道的协议,它具有保护传输数据识别通信机器的功能。

 

SSL协议由两层组成:

SSL记录协议(它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持

SSL握手协议(它建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等

 

ssl握手主要是为了得到会话密钥,握手本身属于非对称加密,当得到会话密钥后,以后的数据传输都会使用对称算法进行

 

SSL握手过程:

SSL安全套接层_server

1.客户端发送client hello消息(消息中包括,ssl版本、加密算法列表、随机数)

2.服务端回应server hello消息(消息中包括,确认ssl版本、确认加密算法、随机数、server证书)

3.客户端收到消息后,首先检查证书的有效期,证书链,CRL等,确认身份,客户端再次生成随机数,然后利用证书公钥将3个随机数进行加密并发送给server

4.服务端收到消息后,利用私钥将加密信息解密得到三个随机数,并生成会话密钥

 

利用ssl的通信分为单向认证和双向身份认证,这个取决于客户端是否存在自己的证书。