安全套接字层(SSL)协议是一种传输层安全协议,用来建立客户端和服务端两者间的安全通道。该协议主要借助公开密钥体制与X.509数字证书技术保证安全性,包括服务器认证、客户认证、SSL链路上的数据完整性与保密性。
SSL协议在TCP/IP协议和所有应用层协议之间,给出可信任的端到端安全服务。对于信息应用系统来说,SSL在传输层向网络连接实施加密,可保证在网络传输时数据不存在被截取与窃听。SSL借助加密传输保障数据的机密性,利用MAC机制维护信息的完整性,用数字证书对发送与接收者的身份实施认证。
SSL协议用来维护正常运行在TCP上的所有应用协议,诸如HTTP、FTP、SMTP或Telnet的通信,在应用层协议前就已将加密算法、通信密钥的协商与服务器的认证完成了。以后应用层协议传送的数据均会被加密,因而确保通信的安全性。
SSL协议最常见的是用其保障HTTP的通信。SSL是HTTPS(安全超文本传输协议)的安全基础。HTTPS是Netscape开发的并内置在浏览器中,用来压缩与解压数据,还会返回网络上传回的结果。HTTPS事实上用了Netscape的安全套接字层做HTTP应用层的子层。HTTPS与SSL符合用X.509数字认证。HTTPS是将安全当目标的HTTP通道,简而言之就是安全版的HTTP。
SSL协议含两个子层协议:
(1)SSL记录协议:它建立在可信任的传输协议之上,给高层协议如数据封装、压缩、加密等功能的支持。
(2)SSL握手协议:它构建于SSL记录协议上,用在实际的数据传输开始前,通信双方的身份认证、协商加密算法、交换加密密钥等。
SSL协议的长处是它是和应用层协议没有关系的。高层的应用层协议可以透明地建立在SSL协议上面。SSL协议在应用层协议通信前就已完成加密算法、通信密钥的协商及服务器认证。之后应用层协议传送的数据均会被加密,因而确保了通信的私密性。此外,SSL用一个经通信双方协商定下的加密算法与密钥,对安全级别不一样的应用均能找到不一样的加密算法,从而用于数据加密。所以,对监听与中间人攻击的防范性相对较高。