SSL 和 TLS 到底是不是一回事?HTTPS 加密原理一次说清
很多人把 SSL 和 TLS 当成两个东西,其实它们是同一套协议的前后两代。
SSL 是老名字,TLS 是它的继任者。
地址栏里那把小锁、网址前面的 https,背后靠的就是这套协议在干活。
SSL 和 TLS 是什么?
SSL(Secure Sockets Layer,安全套接层)和 TLS(Transport Layer Security,传输层安全)是同一类加密协议,作用是给网络通信加一层保护。
SSL 由网景公司在上世纪 90 年代搞出来。
后来标准化工作交给了 IETF,新版本改名叫 TLS,从此 SSL 这个名字就停在了 3.0。
说白了,现在大家嘴里说的 SSL 证书、SSL 加密,技术上跑的几乎都是 TLS。
名字没改过来,是因为叫顺口了。
这套协议干三件事:加密传输内容、验证服务器身份、保证数据没被中途篡改。
版本演进:哪些还能用,哪些早该扔了
下面这张表把主要版本捋清楚了。
| 版本 | 发布年份 | 当前状态 |
|---|---|---|
| SSL 2.0 | 1995 | 已废弃,存在严重漏洞 |
| SSL 3.0 | 1996 | 已废弃,2014 年被 POODLE 攻击攻破 |
| TLS 1.0 | 1999 | 2021 年正式弃用 |
| TLS 1.1 | 2006 | 2021 年正式弃用 |
| TLS 1.2 | 2008 | 主流,仍在大量使用 |
| TLS 1.3 | 2018 | 最新版,更快更安全 |
原文里只提到 SSL 3.0 和 TLS 1.0、1.1、1.2,这其实漏掉了关键的一版。
2018 年发布的 TLS 1.3(RFC 8446)才是现在该优先用的。
它砍掉了一堆不安全的老算法,握手次数也减少了,连接建立更快。
IETF 在 2021 年的 RFC 8996 里明确把 TLS 1.0 和 1.1 标记为弃用。
如果服务器还开着 SSL 3.0,等于把门虚掩着。
HTTPS 是怎么工作的
HTTPS 就是 HTTP 套上 TLS,默认走 443 端口。
它能加密信息,避免敏感数据被第三方截获,所以银行、邮箱这类对安全要求高的服务基本都强制用 HTTPS。
核心思路其实很巧妙。
非对称加密安全但慢,对称加密快但密钥不好传。
那就用非对称加密去安全地传一把对称密钥,之后的数据收发全用对称加密。
两者搭配,既安全又不拖速度。
下面这张图把整个流程画出来了。
把图里的步骤翻译成人话:
-
客户端访问
https://www.example.com,发起请求。 -
服务器把自己的公钥(藏在数字证书里)发回来。
-
客户端验证证书是否可信,不可信就弹安全警告,这一步最容易被忽略,却是防中间人攻击的关键。
-
验证通过后,客户端生成一个随机的对称密钥。
-
用服务器的公钥把这把随机密钥加密,传过去。
-
服务器用自己的私钥解密,拿到这把对称密钥。
-
之后双方就用这把对称密钥加密通信内容,往来数据全程加密。
整个握手里,公钥私钥只负责安全地交换那把对称密钥。
真正的数据传输靠的是对称加密,因为它快。
对称加密和非对称加密的区别
这俩概念是理解 TLS 的门槛,单独拎出来说一下。
对称加密:加密和解密用同一把钥匙,速度快,问题是钥匙怎么安全送到对方手里。
非对称加密:一对钥匙,公钥加密、私钥解密,公钥可以随便公开,安全性高但运算慢。
| 对比项 | 对称加密 | 非对称加密 |
|---|---|---|
| 密钥 | 同一把 | 公钥 + 私钥一对 |
| 速度 | 快 | 慢 |
| 主要用途 | 加密实际数据 | 安全交换对称密钥、验证身份 |
| 常见算法 | AES、ChaCha20 | RSA、ECDSA |
TLS 的设计就是让两者各干各擅长的活。
数字证书为什么重要
光加密还不够,你得确认对面真的是它声称的那个网站。
数字证书由 CA(证书颁发机构)签发,相当于一张盖了章的身份证明。
浏览器内置了一批受信任的 CA。
证书对不上、过期、或者签发机构不被信任,浏览器就会拦下来报警。
没有证书这一环,加密做得再好也防不住中间人冒充。
常见问题
Q1. SSL 和 TLS 有什么区别?
它们是同一套协议的不同代。
SSL 是早期版本,最高到 3.0;
TLS 是它的标准化继任者,从 1.0 一路到 1.3。
现在实际使用的全是 TLS,SSL 这个叫法只是习惯保留了下来。
Q2. 网站还在用 SSL 安全吗?
不安全。
SSL 2.0 和 3.0 都已被攻破并废弃,SSL 3.0 在 2014 年栽在 POODLE 攻击上。
现在应该至少用 TLS 1.2,条件允许直接上 TLS 1.3。
Q3. HTTPS 一定就安全吗?
HTTPS 保证传输过程被加密、服务器身份被验证,但它不保证网站本身是好人。
钓鱼网站照样可以申请到合法证书挂上 HTTPS。
那把小锁只说明"连接是加密的",不代表"这家网站值得信任"。
Q4. 为什么不全程用非对称加密,更安全不是更好?
因为太慢。
非对称加密的运算开销比对称加密大得多,全程用它会让网页慢到没法用。
所以 TLS 只在握手阶段用非对称加密换密钥,正式数据传输切回对称加密。
总结
SSL 和 TLS 不是两套东西,是一套协议的新旧两代,现在能用的只有 TLS。
HTTPS 的精髓在于"非对称换密钥、对称传数据"这套组合拳,既守住了安全,又没牺牲速度。
记住一点就够:看到小锁只代表连接加密了,网站可不可信还得自己判断。
如果你对 TLS 1.3 的握手细节或者证书链验证还有疑问,欢迎在评论区一起聊聊~~~
版权声明
未经授权,禁止转载本文章。
如需转载请保留原文链接并注明出处。即视为默认获得授权。
未保留原文链接未注明出处或删除链接将视为侵权,必追究法律责任!
本文原文链接: https://fiveyoboy.com/articles/ssl-tls-https-explained/
备用原文链接: https://blog.fiveyoboy.com/articles/ssl-tls-https-explained/