当前位置: 首页 > news >正文

HTTPS加密原理:图解安全传输全流程

引言

前面三篇我们讲的都是 HTTP——纯明文传输的协议。明文意味着什么?你在咖啡厅连上公共 WiFi,登录网站输入密码——旁边任何一个稍微懂点技术的人,用抓包工具就能看到你的密码。

HTTPS 就是来解决这个问题的。它在 HTTP 和 TCP 之间加了一层TLS(Transport Layer Security)加密层,让传输的数据变成密文,即使被截获也无法解读。

本文将用大量图解,讲透 HTTPS 的核心加密原理:对称加密、非对称加密、混合加密、中间人攻击、证书和 CA 体系。

第一部分:HTTP 的三大安全风险

HTTPS 通过三种机制解决这三个问题:

问题解决方案技术
窃听加密对称加密 + 非对称加密
篡改完整性校验消息认证码(MAC)
冒充身份认证数字证书 + CA

第二部分:对称加密

一、什么是对称加密

加密和解密使用同一把密钥。就像你和朋友约定一个暗号,写信时用暗号加密,读信时用同样的暗号解密。

常见对称加密算法

算法密钥长度速度安全性
DES56 位❌ 已被破解
3DES168 位⚠️ 逐渐淘汰
AES128/192/256 位✅ 当前主流
ChaCha20256 位✅ 移动端常用

二、对称加密的核心问题

对称加密无法解决密钥传输问题。这就是为什么需要非对称加密。


第三部分:非对称加密

一、什么是非对称加密

两把不同的密钥:公钥加密,私钥解密。公钥可以公开给所有人,私钥只有服务器自己知道。

常见非对称加密算法

算法密钥长度用途
RSA2048/4096 位密钥交换、数字签名
ECDHE256 位密钥交换(更快、支持前向安全)
ECDSA256 位数字签名

二、非对称加密的优缺点

优点缺点
✅ 解决密钥传输问题(公钥可公开)非常慢(比对称加密慢 100~1000 倍)
✅ 支持数字签名❌ 加密数据长度有限

第四部分:混合加密

一、为什么需要混合加密

对称加密快但无法安全传递密钥,非对称加密安全但太慢。HTTPS 的做法是结合两者

第五部分:中间人攻击与证书

一、中间人攻击(MITM)

混合加密看起来很完美?但有一个致命漏洞——公钥传输过程可能被篡改

核心问题:浏览器怎么知道收到的公钥真的是服务器的,而不是中间人伪造的?

二、数字证书

答案:让一个权威第三方(CA)来证明"这个公钥确实属于这个网站"

三、证书验证流程

浏览器和操作系统内置了受信任的根 CA 列表。打开 Chrome → 设置 → 隐私与安全 → 安全 → 管理证书,就能看到。

四、证书链

第六部分:HTTPS 完整通信流程

第七部分:面试题

1. Q:HTTPS 和 HTTP 的区别?

A:HTTP 明文传输,HTTPS = HTTP + TLS 加密。HTTPS 默认端口 443,HTTP 默认 80。HTTPS 需要 CA 证书。

2. Q:HTTPS 用了什么加密方式?

A:混合加密。非对称加密(RSA/ECDHE)交换对称密钥,对称加密(AES)传输数据。

3. Q:为什么不用非对称加密传输所有数据?

A:非对称加密太慢了,比对称加密慢 100~1000 倍。所以只用它来交换密钥。

4. Q:中间人攻击是什么?HTTPS 怎么防止?

A:中间人拦截通信,把自己的假公钥发给客户端。HTTPS 通过 CA 签发的数字证书来防止——证书由权威 CA 签名,浏览器内置 CA 公钥来验证,中间人无法伪造。

5. Q:抓包工具(Fiddler/Charles)为什么能解密 HTTPS?

A:它们在本地安装了自己的 CA 证书,充当"合法的中间人"。浏览器信任了这个假 CA → 工具用假证书和浏览器通信 → 工具再和真实服务器通信 → 中间可以看到明文。这就是为什么不要在设备上安装不信任的证书。


总结

一、HTTPS 安全机制

安全目标技术原理
防窃听加密非对称加密交换密钥 + 对称加密传输数据
防篡改消息认证码(MAC)接收方验证数据是否被修改
防冒充数字证书 + CA权威第三方证明网站身份

二、一句话记忆

HTTPS 用非对称加密安全地交换对称密钥,然后用对称加密高效地传输数据。数字证书由 CA 签发,证明公钥属于这个网站。浏览器用内置的 CA 公钥验证证书,防止中间人攻击。

http://www.jsqmd.com/news/983016/

相关文章:

  • 2024年Adobe Substance 3D Designer
  • 嵌入式音频系统低功耗设计:I2S/SAI接口时序参数深度解析与工程实践
  • Docker Swarm和K8S有什么区别?一图看懂复杂
  • 暗黑破坏神2存档编辑器完整指南:5分钟打造完美角色体验
  • 内核级硬件伪装技术实战指南:Windows驱动开发深度解析
  • Spring AI 实战指南(二):RAG、向量数据库、Tool Calling、Agent 企业级开发实战
  • 拷贝漫画第三方客户端终极指南:打造纯净高效的Android漫画阅读体验
  • LangChain4j 开发Java Agent智能体- 嵌入模型与向量数据库
  • i.MX 8ULP ADC/DAC/CMP电气特性深度解析与实战设计指南
  • QNAP 存算一体:理顺航空航天精密铸造车间 MES 报工与工艺参数闭环数据总线
  • 告别内存焦虑:用STM32H7的FMC+SDRAM给项目扩容,保姆级CubeMX配置避坑指南
  • 终极开源AI自瞄指南:5分钟完成YOLOv8智能瞄准部署
  • 时序数据库选型:吞吐、压缩与查询延迟的均衡之术
  • 别再为hiprint表格数据绑定头疼了!Vue项目里一个关键配置让你秒通
  • 嵌入式开发实战:深度解析MCU模拟与数字接口电气特性与设计
  • Claude归零层:语义保真度校验环的工程级移除与确定性重构
  • 9种字重完整字体库:Outfit字体解决品牌视觉统一难题的终极指南
  • context - mode:为AI编程减负,降成本98%、提记忆力至3小时,GitHub获超1.5万Star!
  • 嵌入式硬件设计基石:从MCU数据手册电气特性到可靠系统实现
  • Win11下MATLAB 2021b连接USRP X310避坑指南(解决UHD 3.15.0报错)
  • 15天Python入门系列 · 序
  • 收藏!程序员转行AI:大模型应用开发入门指南,轻松拿高薪!
  • 【简单易懂】电脑端 AI 工具 OpenClaw 解压安装与运行指南(包含安装包)
  • 电商团队如何人效提升效率?测评工具给出专业电商剪辑提效方案
  • 040、StructuredOutput 结构化输出:让子代理返回 JSON Schema 验证的数据
  • 如何用AI自瞄技术提升你的FPS游戏体验:基于YOLOv8的智能瞄准解决方案
  • Python开发中的数据处理艺术:从清洗到分析
  • AI Newsletter实战指南:从信息过载到决策燃料
  • AI意识提问:一种诊断大模型认知能力的技术探针
  • 完整指南:Akagi麻将AI辅助工具 - 从新手到高手的智能学习伙伴