安全套接层(SSL)是给网络通信给出安全与数据完整性的安全协议的一种。SSL协议在应用层与传输层协议之间,给数据通信安全支持。SSL协议分成两层,一是SSL记录协议,它建于可靠的传输协议之上,支持高层协议进行数据封装、压缩、加密等基础功能;二是SSL握手协议,它建于SSL记录协议之上。
SSL协议由两层组成,在这两层上确定握手协议、改变密码规格协议、告警协议和SSL记录协议。
SSL协议的好处是它和应用层协议没有关系。高层的应用层协议能透明地构建在SSL协议之上。SSL协议在应用层协议通信前就已实现加密算法、通信密钥的协商及服务器认证。应用层协议传送的数据均要被加密,因此达到了通信的机密性。
SSL协议给出的服务主要有如下几个:①认证用户与服务器;②加密数据来避免数据在过程中遭受窃取;③维护数据的完整性,保证其在传输时不被改变。
SSL协议的工作流程如下:
(1)服务器认证阶段。①客户端给服务器发一个开始消息,为了方便一个新的会话连接;②服务器由客户的消息考虑是不是要产生新的主密钥,如果需要,那么服务器在响应客户信息时,会含生成主密钥需要的信息;③客户由收到的服务器响应信息得到一个主密钥,并拿服务器的公开密钥在加密以后传向服务器;④服务器恢复此主密钥,并向客户返回认证的信息,以此让客户认证服务器。
(2)用户认证阶段:通过认证的服务器向客户发送一个提问,客户返回签名了的提问与他的公开密钥,从而给服务器进行认证。