SSL/TLS是Secure Socket Layer/Transport Layer Security的缩写。SSL协议最初是Netscape开发的,1994年11月有了SSL v2.0版本。1996年3月在对SSLv2.0进行重大改进的基础上,推出SSL v3.0版本,它解决了SSL v2.0中有的许多问题,改进了它的许多局限性且支持更多的加密算法。ETF于1999年1月推出TLS v1.0协议。TLS v1.0是一个Internet标准,完全在SSL v3.0协议的基础上,又叫SSL v3.1协议。TLS v1.0解决了SSL v3.0有的一些问题,并改进了某些方面。其实,TLS v1.0和SSL v3.0差异不是很大,但这些差异也足以令二者不具备互操作性。然而TLS v1.0协议给出了支持运行SSL v3.0协议的机制。
在两台机器之间,SSL/TLS协议给出了端到端的数据保密性、完整性服务及通信两方的身份认证服务。SSL协议的好处在于它是与应用层协议没有关系的,高层的应用协议可以公开地建在SSL协议上。
TCP/IP协议模型的网络层与应用层之间是SSL协议,用TCP给出一种可靠的端到端的安全服务,它可让客户/服务器应用间的通信不受窃听,且从始至终对服务器认证,还可选择认证客户。在应用层通信之前,SSL协议做到了加密算法、密钥的协商及服务器认证,之后,应用层协议传输的数据均被加密。
事实上,SSL是由一起工作的两层协议构成的,如下图所示。从体系结构图可看出,SSL安全协议是握手协议、改变密码约定协议、警告协议、应用数据协议和记录协议组成的协议簇。
握手协议 |
警告协议 |
改变密码约定协议 |
应用数据协议 |
记录协议
|
|||
TCP |
|||
IP |