SSL安全套接层:
是一种在两台机器之间提供安全通道的协议,它具有保护传输数据识别通信机器的功能。
SSL协议由两层组成:
SSL记录协议(它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持)
SSL握手协议(它建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等)
ssl握手主要是为了得到会话密钥,握手本身属于非对称加密,当得到会话密钥后,以后的数据传输都会使用对称算法进行
SSL握手过程:
1.客户端发送client hello消息(消息中包括,ssl版本、加密算法列表、随机数)
2.服务端回应server hello消息(消息中包括,确认ssl版本、确认加密算法、随机数、server证书)
3.客户端收到消息后,首先检查证书的有效期,证书链,CRL等,确认身份,客户端再次生成随机数,然后利用证书公钥将3个随机数进行加密并发送给server
4.服务端收到消息后,利用私钥将加密信息解密得到三个随机数,并生成会话密钥
利用ssl的通信分为单向认证和双向身份认证,这个取决于客户端是否存在自己的证书。
本文转自 红色的菠萝 51CTO博客,原文链接:http://blog.51cto.com/10460741/1860059