HTTPS 加密传输原理

在面试后端、Java 开发、网络安全时,HTTPS 加密过程 几乎是必考题。很多同学能说出 "加密",但一深入到对称加密、非对称加密、数字证书、公钥私钥就开始混乱。

这篇文章用最通俗、最直白、最适合面试的方式,带你彻底搞懂 HTTPS 到底是怎么加密的。


一、HTTPS 是什么?

HTTPS = HTTP + SSL/TLS

  • HTTP:明文传输,不安全,数据容易被窃听、篡改、伪造
  • HTTPS:在 HTTP 下层加入加密层,保证传输安全

一句话总结:HTTPS 不是新协议,而是给 HTTP 穿了一件 "加密防弹衣"。


二、先搞懂两种加密:对称 & 非对称

HTTPS 之所以安全,是因为它同时使用了两种加密,各司其职。

1. 对称加密

  • 加密、解密用同一个密钥
  • 优点:速度极快,适合大量数据传输
  • 缺点:密钥在网络上传输不安全,一旦被截获就全泄露

2. 非对称加密(公钥 & 私钥)

  • 一对钥匙:公钥(公开)、私钥(自己留)
  • 规则:
    • 公钥加密 → 只能私钥解密
    • 私钥加密 → 只能公钥解密(数字签名)
  • 优点:极其安全,私钥永不传输
  • 缺点:速度慢,不适合大量数据

三、HTTPS 最核心思想:混合加密

面试必背这句话:HTTPS 使用非对称加密,安全交换对称密钥; 之后全程使用对称密钥加密传输数据。

简单理解:

  • 非对称加密:只负责 "安全递暗号"
  • 对称加密:负责 "真正聊天加密"

四、HTTPS 完整加密流程(面试直接背)

1. 客户端发起 HTTPS 请求

浏览器访问 https://xxx.com,告诉服务器:我支持哪些加密套件。

2. 服务器返回数字证书

服务器下发数字证书,里面包含:

  • 服务器的公钥
  • 域名、有效期
  • CA 机构的数字签名(防伪造)

3. 客户端验证证书

浏览器使用系统内置的 CA 公钥 验证证书签名:

  • 验证通过 → 公钥可信
  • 验证失败 → 提示 "不安全"

4. 客户端生成随机对称密钥

浏览器生成一个临时对称密钥,这是后续真正加密数据的密钥。

5. 用服务器公钥加密对称密钥

客户端使用服务器公钥加密对称密钥,发送给服务器。

6. 服务器用私钥解密

服务器使用自己的私钥解密,得到对称密钥。

7. 双方使用对称密钥通信

从这一步开始:

  • 所有网页、图片、接口数据
  • 全部使用对称密钥加密传输
  • 速度快、安全性高

五、数字证书到底有什么用?

如果没有证书:黑客可以伪造公钥发给你,你用假公钥加密,黑客直接用私钥解密,这叫中间人攻击。

数字证书 = 网站公钥的身份证

  • 由权威机构 CA 颁发
  • 证明这个公钥真的属于这个网站
  • 浏览器验证 CA 签名,确保不被掉包

六、面试终极总结(背会这一段)

HTTPS 采用对称加密与非对称加密结合 的方式:服务器通过下发数字证书 证明身份,客户端验证证书后获取合法公钥 ;使用公钥加密对称密钥 完成安全交换,后续通信全程使用对称密钥加密数据;既保证了密钥传输的安全性,又保证了数据传输的效率,实现防窃听、防篡改、防伪造。


七、高频面试题

  1. HTTPS 用的是对称加密还是非对称加密?→ 混合加密。非对称交换密钥,对称加密数据。

  2. 公钥和私钥在 HTTPS 里的作用?→ 公钥加密对称密钥,私钥解密对称密钥。

  3. 数字证书的作用?→ 证明公钥真实有效,防止中间人攻击。

  4. 为什么不直接用非对称加密传所有数据?→ 速度太慢,对称加密效率更高。

相关推荐
发光小北2 小时前
四路can转WIFI在现场应用中有什么问题?
网络协议
zxanz17 小时前
网站为什么需要 SSL 证书来实现 https?
https
长按助力退休9 小时前
HTTP缓存从强缓存到协商缓存,前端性能优化第一步
http
Lsetea12 小时前
curl报58 unable to set private key file:客户端证书与私钥加载排查
运维·https·ssl证书·openssl·curl
Lsetea12 小时前
OpenSSL报certificate is not yet valid:error 9与notBefore时间排查
linux·运维·https·ssl证书·openssl
2501_9159090613 小时前
iOS应用从开发到上架App Store的完整发布流程与步骤指南
android·ios·小程序·https·uni-app·webview
刘马想放假13 小时前
网络链路备份与高可用技术详解:从 Dual-WAN、LACP 到 SD-WAN 与 MPTCP
网络协议
Zelman13 小时前
第07章-数据中心网络
后端·网络协议
Smoothcloud润云15 小时前
GPU服务器租用实例DNS与HTTPS下载排障实战
大数据·运维·服务器·人工智能·https·gpu算力
网络小江16 小时前
上网第四十八课:抓包实战入门——Wireshark 读懂第一个包
网络协议