SSL是Secure Sockets Layer (安全套接层)的简写. SSL协议是为网络通信提供安全的一种安全协议,.继任者为TLS, 即 Transport Layer Security, 传输层安全.
1. SSL/TLS协议版本
SSL的版本有SSLv2、SSLv3、SSLv3.1(TLS1.0)、 SSLv3.2(TLS1.1)、 SSLv3.3(TLS1.2)、SSLv3.4(TLS1.3), 可以看到从SSLv3.1以后,名称都改为TLS。
SSLv2、 SSLv3、TLS1.0安全性太差,一般不建议使用。目前主流的都是TLS1.1和TLS1.2。 最新的TLS1.3是2006年提出来的,目前还没有被正式发布。
| SSL版本 | SSLv2 | SSLv3 | SSLv3.1 | SSLv3.2 | SSLv3.3 | SSLv3.4 |
| TLS版本 | TLS1.0 | TLS1.1 | TLS1.2 | TLS1.2 | ||
| 使用情况 | 淘汰 | 淘汰 | 不建议使用 | 在用 | 建议使用 | 将来使用 |
| 安全性 | 差 | 差 |
2. SSL/TLS协议与OSI模型
SSL协议位于OSI七层模型的第五层和第六层, 底层为传输层的TCP协议, 上层为HTTP、SIP....等应用层协议.
SSL协议自身可分为两层, SSL记录协议和SSL握手协议/SSL告警协议/SSL加密参数修改协议, 如下图所示。
记录协议为高层协议提供数据封装、压缩、加密等基本功能的支持.
握手协议建立在记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加***等.
告警协议也是建立在记录协议之上, 用于在通信双方出现异常时使用.
加密参数修改协议也是建立在记录协议之上, 用于明确指出通信双方从非对称加密切换到对称加密, 不过该协议在TLS1.3中被废除.
3. SSL/TLS协议的应用场景
从上图可以看到TLS协议中的应用层数据有HTTP, 当然除了HTTP外,还可以是SIP、 SMTP、POP等协议, 除了给应用层协议提供安全性保证外, 还有就是可以用于v*n,例如SSL v*n。
另外TLS协议底层除了是TCP外,还可以是EAP,这点在网络准入里面的EAP-TLS、 EAP-TTLS、EAP-PEAP里面可以看到。
当然了,最开始TLS协议的设计初衷是保证TCP的数据安全性,其实现在还有位于UDP协议上的TLS协议,那就是DTLS协议。对于此协议可能做无线的同学比较熟悉, 在无线通信中的瘦AP和AC之间的通信协议CAPWAP就是采用DTLS协议来保证数据的安全传输。