HTTPS加密原理通俗讲解:SSL/TLS握手到底在做什么

a
admin
作者
2026-07-13
发布日期
约 6 分钟
阅读时间

HTTPS 用一句话说清楚

HTTPS = HTTP + 加密

普通HTTP传输是明文的,中间路由器、运营商、咖啡店WiFi都能看到你的密码、聊天内容。HTTPS把这些内容加密成一串乱码,别人截获也看不懂。

SSL/TLS就是实现加密的那套协议。SSL是老名字,TLS是新版(SSL 3.0的升级版叫TLS 1.0),现在说的”SSL证书”实际都是TLS证书。

握手过程:两个人怎么建立加密通信

用通俗类比解释TLS握手。假设Alice(浏览器)要和Bob(服务器)秘密通话:

第一步:打招呼(ClientHello)

Alice说:”你好Bob,我想和你加密聊天。我支持的加密算法有这些:AES、ChaCha20…我这边生成的随机数是 #1。”

这一步是明文。算法列表和第一个随机数先发过去。

第二步:服务器回应(ServerHello)

Bob回复:”好的Alice,我们用ChaCha20加密吧。我的随机数是 #2。这是我的证书,证明我是Bob。”

证书里包含Bob的公钥(公钥可以公开,私钥Bob自己保管)。

第三步:验证证书

Alice检查证书:

  • 证书是可信CA签发的吗?(浏览器内置CA列表里查)
  • 域名对得上吗?(证书里的域名 = 我访问的域名)
  • 过期了吗?

全部通过,Alice才相信对面真的是Bob。

第四步:生成会话密钥

Alice用Bob的公钥加密一个预主密钥(Pre-Master Secret)发过去。Bob用私钥解密拿到预主密钥。

现在双方都有三个随机数:#1、#2、预主密钥。用同一套算法计算出会话密钥(Session Key)。

关键点:会话密钥双方一样,但全程没明文传输过。即使有人截获所有通信,没有Bob的私钥也算不出这个会话密钥。

第五步:开始加密通信

后续所有数据用会话密钥对称加密。对称加密速度快,适合大量数据传输。

为什么要分两套加密

握手过程用了两种加密,分工不同:

非对称加密(RSA/ECDHE) — 用于握手阶段

  • 用公钥加密,私钥解密
  • 安全但,不适合加密整个会话
  • 作用:安全地交换会话密钥

对称加密(AES/ChaCha20) — 用于数据传输

  • 双方用同一个密钥加解密
  • ,适合大量数据
  • 作用:加密实际通信内容

这就是TLS的精妙之处:用慢但安全的非对称加密,安全地交换一个快但需要保密的对称密钥。两全其美。

TLS 1.3 的改进

TLS 1.2 握手要 2 个往返(RTT),TLS 1.3 简化到 1 个往返,还支持 0-RTT 模式(连接过的服务器可以立即发数据)。

TLS 1.3 的其他改进

  • 删除了不安全的算法(RSA密钥交换、SHA-1、CBC模式)
  • 强制使用前向安全(ECDHE),即使私钥泄露,旧通信也无法解密
  • 握手消息加密,中间人看不到扩展信息

前向安全(Forward Secrecy)很重要:如果攻击者录制了所有加密通信,以后拿到私钥也不能解密,因为每次会话的密钥都是临时生成的。

证书的作用:防中间人攻击

没有证书的加密通信是不安全的。设想场景:

Alice想连Bob,但中间有个Mallory伪装成Bob。如果Alice不验证证书,就会和Mallory建立加密,Mallory再和Bob建立另一条加密,全程Alice和Bob都以为在直接通信,但内容都被Mallory看到。

证书防止这个攻击

  • Mallory拿不到Bob的私钥,无法伪造Bob的证书
  • Alice验证证书时发现”这个证书不是Bob的”,断开连接

所以证书的核心作用不是加密,是身份验证。加密用密钥就行,但你要确认密钥确实是对面那个人的,不是中间人的。

为什么自签证书不安全

自签证书 = 自己给自己发证书,没有可信CA背书。

  • 加密能力和正规证书一样
  • 但浏览器无法验证身份,报”未知颁发机构”
  • 中间人可以伪造自签证书,用户看不出来差别

正规证书的可信度来自CA的审核。CA在签发证书前要验证域名所有权(DV)甚至公司资质(OV/EV),确保证书发给真正的主人。

一个形象的总结

把HTTPS通信比作寄信:

  • HTTP = 明信片,邮递员、分拣员都能看到内容
  • HTTPS = 装在密封信封里的信,只有收件人能拆开
  • 证书 = 信封上的身份戳,证明这个信确实是你寄给银行的,不是骗子截下来换的

加密保证内容不被偷看,证书保证对方身份不被冒充。两者结合才是完整的HTTPS安全。

理解原理对运维SSL有帮助。证书报错时,知道是握手哪一步出问题,排查方向就清晰多了。

本文到此结束