SSL
安全套接层(英语:Secure Sockets Layer,缩写:SSL)是一种安全协议,由网景通信公司(Netscape)在1990年代中期开发,旨在为互联网通信提供保密性和数据完整性保障[1][2]。SSL协议位于TCP/IP协议栈的传输层与应用层之间,为诸如HTTP(即HTTPS)、FTP、SMTP等高层应用协议提供加密通信服务[3][4]。SSL 3.0于1996年发布,是SSL协议的最终版本[5][6]。由于存在严重的安全漏洞,SSL协议的所有版本均已被其继任者传输层安全协议(TLS)取代,并被IETF正式废弃[7][6]。尽管如此,“SSL”一词仍被广泛用于指代其数字证书(即SSL证书),尽管这些证书目前实际使用的是TLS协议[8]。
历史
SSL协议由网景通信公司开发,旨在保障其网景导航者(Netscape Navigator)浏览器与Web服务器之间的通信安全。
SSL 1.0
网景于1994年设计了SSL协议的1.0版本,但由于存在严重的安全缺陷,该版本从未公开发布[5][9]。
SSL 2.0
1995年,网景发布了SSL 2.0版[5][7]。这是第一个公开发行的版本,但很快被发现存在多个严重漏洞,并于2011年通过RFC 6176被正式弃用[9][7]。
SSL 3.0
1996年,网景与密码学家保罗·科赫(Paul Kocher)合作设计了SSL 3.0版[5][6]。该版本解决了SSL 2.0的诸多安全问题,获得了广泛认可和应用[5]。2011年,IETF将SSL 3.0的规范整理为RFC 6101发布,作为该协议的历史记录[6]。然而,SSL 3.0随后被发现存在POODLE等安全漏洞,于2015年被正式弃用[5][7]。
协议架构
SSL被设计为一种两层协议,建立在可靠的传输层协议(如TCP)之上[4]:
- SSL记录层(SSL Record Layer):位于底层,负责对来自上层的数据进行分块、压缩、加密和封装,并添加消息认证码(MAC)以保证数据的完整性和机密性[4][2]。
- SSL握手协议(SSL Handshake Protocol):位于记录层之上,是SSL协议的核心。它允许客户端和服务器在传输应用数据之前,相互验证身份、协商加密算法和会话密钥[4][2]。
安全服务
- 信息保密(Confidentiality):通过使用公开密钥和对称密钥技术,对客户端和服务器之间传输的所有数据进行加密,防止被第三方窃听[4]。
- 信息完整性(Data Integrity):通过使用共享密钥和哈希函数,确保传输的信息在传递过程中不被篡改或破坏[4]。
- 双向认证(Authentication):允许客户端和服务器在握手阶段交换数字证书,以验证彼此的身份,防止冒名顶替[4]。
与TLS的关系
传输层安全协议(TLS)是SSL协议的继任者,其设计基于SSL 3.0[9][8]。
- 继承与演进:TLS 1.0于1999年由IETF发布,可被视为SSL 3.1[9][2]。此后,IETF继续发布了TLS 1.1(2006年)、TLS 1.2(2008年)和TLS 1.3(2018年)[9][7]。
- 核心差异:与SSL相比,TLS提供了更强的安全性、更现代的加密算法,并修复了SSL协议中存在的诸多已知漏洞[8][7]。
- 现状:截至2022年,所有版本的SSL协议均已被废弃,TLS 1.2和TLS 1.3是当前推荐使用的安全协议版本[7]。
应用与影响
SSL协议是互联网上最早被广泛采用的通信安全协议,为电子商务、网上银行等应用的兴起奠定了基础[3]。尽管SSL本身已被淘汰,但其核心设计思想被TLS协议完整继承。同时,“SSL”这一术语作为安全套接层技术的代名词被保留下来,“SSL证书”的称呼沿用至今,尽管这些证书实际提供的是TLS加密[8]。
参考文献
- ↑ OpenSSL — 百度百科
- ↑ 2.0 2.1 2.2 2.3 传输层安全协议 — 百度百科
- ↑ 3.0 3.1 3.2 安全套接层协议(SSL)简介 — IT168
- ↑ 4.0 4.1 4.2 4.3 4.4 4.5 4.6 4.7 安全套接层 — 百度百科
- ↑ 5.0 5.1 5.2 5.3 5.4 5.5 SSL协议版本历史
- ↑ 6.0 6.1 6.2 6.3 RFC 6101: The Secure Sockets Layer (SSL) Protocol Version 3.0 — IETF
- ↑ 7.0 7.1 7.2 7.3 7.4 7.5 7.6 SSL 与 TLS 协议的区别详解 — Baeldung
- ↑ 8.0 8.1 8.2 8.3 SSL和TLS到底啥区别? — GlobalSign
- ↑ 9.0 9.1 9.2 9.3 9.4 SSL/TLS协议安全系列:SSL/TLS概述 — Seebug