SSL是Secure Sockets Layer (安全套接层)的简写,SSL协议是为网络通信提供安全的一种安全协议,继任者为TLS,即 Transport Layer Security传输层安全。
1. 初识SSL/TLS
1.1. SSL/TLS协议版本
SSL的版本如下图所示, 可以看到从SSLv3.1以后,名称都改为TLS。
SSL版本 | SSLv2 | SSLv3 | SSLv3.1 | SSLv3.2 | SSLv3.3 | SSLv3.4 |
TLS版本 | TLS1.0 | TLS1.1 | TLS1.2 | TLS1.2 | ||
使用情况 | 淘汰 | 淘汰 | 不建议使用 | 在用 | 建议使用 | 将来使用 |
1.2. SSL/TLS协议与OSI模型
SSL协议位于OSI七层模型的第五层和第六层, 底层为传输层的TCP协议, 上层为HTTP、SIP....等应用层协议.
SSL协议自身可分为两层, SSL记录协议和SSL握手协议/SSL告警协议/SSL加密参数修改协议, 如下图所示。
记录协议为高层协议提供数据封装、压缩、加密等基本功能的支持.
握手协议建立在记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等.
告警协议也是建立在记录协议之上, 用于在通信双方出现异常时使用.
加密参数修改协议也是建立在记录协议之上, 用于明确指出通信双方从非对称加密切换到对称加密, 不过该协议在TLS1.3中被废除.
1.3. SSL/TLS协议的应用场景
从上图可以看到TLS协议中的应用层数据有HTTP, 当然除了HTTP外,还可以是SIP、 SMTP、POP等协议, 除了给应用层协议提供安全性保证外, 还有就是可以用于VPN,例如SSL VPN。
另外