恒美微站
首页
关于我们
建站服务
主题模板
案例展示
资讯中心
联系我们
10:三十年的攻防进化——从裸奔到 ECH 加密一切
首页
资讯中心
/
10:三十年的攻防进化——从裸奔到 ECH 加密一切
10:三十年的攻防进化——从裸奔到 ECH 加密一切
发布时间:2026/8/10 10:31:05
抓包原理探秘 10三十年的攻防进化——从裸奔到 ECH 加密一切大家好我是毛衣哥。这是第一卷的完结篇。我们从 1994 年 SSL 第一次被发明一直聊到 2026 年的 ECH——三十年加密协议跟中间人打了一架又一架。请坐稳这场猫鼠游戏的终局来了。这是「抓包原理探秘」第一卷的完结篇。我们从前九篇的知识点里抽身出来站在 2026 年的时间节点上回看 HTTPS 和中间人这三十年互相升级的历程。1994 年Netscape 发布了 SSL 1.0。全世界第一次有了给 HTTP 加密的想法。此后三十年中间人和加密协议的设计者一直在玩一场猫鼠游戏攻击者发现一个可观测的信息 → 协议设计者把它加密 → 攻击者去找下一个可观测的信息 → 再加密 → 直到今天。第一阶段HTTP 裸奔时代1991-1994可观测的信息一切。全部明文。在这个阶段中间人甚至不是一个专业术语——你不需要做任何攻击你只需要在网络路径上放一台监听设备就能直接读到所有的 HTTP 请求和响应。当时的互联网协议栈里没有加密这个概念。HTTP 被设计出来的时候设计者的目标是让全世界的研究机构分享文档——没有人想到有一天人们会在上面用信用卡购物、发私信、查银行余额。攻防状态攻击者完胜。因为根本没有防守。第二阶段SSL 1.0/2.0/3.0 时代的尝试1994-1999可观测的信息域名SNI 在 ClientHello 中明文出现从最开始就有。Netscape 发明了 SSLSecure Sockets Layer。SSL 1.0 从未公开发布——因为被发现存在严重的漏洞。SSL 2.0 于 1995 年发布——但很快被发现可以在握手过程中被降级。SSL 3.0 于 1996 年发布——这才是第一个真正可用的加密协议。这个阶段攻防的特点加密的是内容HTTP 请求和响应但不加密握手过程——中间人可以看到证书、域名、密码套件列表密码套件很弱RC4、DES、3DES 等今天来看全部可以破解SSL 3.0 的设计已经包含了 CA 证书的概念——从第一天起HTTPS 就依赖于受信任的第三方来确认服务器身份。这个设计选择一直延续到了 2026 年。第三阶段TLS 1.0 标准化1999-2006IETF 接管了 SSL 的标准化工作改名为 TLS。主要变化标准化了协议规范RFC 2246增加了更多的密码套件修复了 SSL 3.0 中的已知漏洞这个阶段的中间人主要的攻击形式是网络监听——被动地记录流量尝试破解弱密码套件CA 体系开始受到关注——VeriSign 等第一家 CA 开始商业化运营大部分网站还没有使用 HTTPS只在登录页面和支付页面启用第四阶段TLS 1.1 / 1.2 时代——加密基线大幅提升2006-2018TLS 1.2 于 2008 年发布一直用到 2018 年。主要变化AEADAuthenticated Encryption with Associated Data密码套件引入GCM 模式SHA-256 取代 SHA-1 成为默认哈希算法ECDHE 密钥交换开始普及但 RSA 仍然是默认选项真正的攻防升级发生在这个阶段攻击方2009 年Moxie Marlinspike 演示 SSL Strip —— 不需要证书的中间人攻击。2011 年BEAST 攻击 —— 针对 TLS 1.0 的 CBC 模式。2014 年Heartbleed —— OpenSSL 的心脏出血漏洞可以读出服务器内存中的私钥。防御方2012 年HSTS 正式成为 RFC 标准 —— 强制 HTTPS。2015 年Google 推动 Certificate Transparency —— 公开日志化证书。2015 年SSL 3.0 被正式弃用POODLE 攻击后。攻防特点中间人学会了专门攻击弱密码套件和不正确的实现。防御方开始淘汰弱算法、引入更严格的检查。第五阶段TLS 1.3——加密几乎一切2018-2022主要变化握手从 2-RTT 降到 1-RTT0-RTT 可选移除 RSA 密钥交换Forward Secrecy 强制加密更多握手消息Certificate 不再明文移除弱密码套件37 种砍到 5 种引入降级保护攻防状态中间人的处境变难了。Certificate 加密了中间人不能直接读取证书信息强制 Forward Secrecy中间人无法事后解密抓包记录密码套件选择少了攻击面小了但中间人仍然能看到SNI明文域名ClientHello 中的所有扩展列表IP 地址必须的被加密的信息越来越多可观测的信息越来越少。第六阶段ECH / DoH / 全链路加密2022-至今这个阶段被称为加密一切阶段。ECHEncrypted Client Hello以前叫 ESNI这是目前 HTTPS 加密的最后一公里。SNI 是 ClientHello 中最后一块还未加密的信息。ECH 要把这块也加密了。ECH 的原理服务器在 DNS 记录中发布自己的公钥通过 HTTPS DNS 记录客户端用这个公钥加密 SNI服务器用自己的私钥解密 SNI中间人看不到你访问的域名只能看到 IP 地址ECH 的部署现状2026 年Chrome 和 Firefox 已经支持Cloudflare 已经默认启用但 ECH 仍然需要 CDN 和浏览器的配合全球部署还在进行中DoHDNS-over-HTTPSDNS 查询本身也是明文的。中间人通过观察 DNS 查询也能知道你访问了哪些网站。DoH 把 DNS 查询包装在 HTTPS 请求中加密传输。传统 DNS你 → 明文 DNS 查询 → 运营商 DNS → 返回 IP中间人能看到你查了什么 DoH你 → 加密的 HTTPS 请求 → DNS 服务器 → 返回 IP中间人看到是 HTTPS 加密流量不知道具体查了什么这条加密进化的主线是什么回头看这三十年的进化你会发现一条非常清晰的主线每一层信息被攻击者利用 → 协议设计者把这一层加密 → 攻击者去利用下一层可观测的信息 → 再加密 → 直到所有层都被加密。1994内容加密SSL 2008算法升级TLS 1.2 2015证书加密Certificate Transparency 2018更多握手消息加密TLS 1.3 2022域名加密ECH 至今DNS 查询加密DoH最终剩下什么IP 地址。IP 地址不能被加密——因为路由器需要它来把数据包送到目的地。所以中间人永远能知道你跟哪个 IP 通信。但 Mixnet混合网络、Tor 和多跳中继已经在尝试解决这个问题——通过多重加密 中继节点使观察者无法从 IP 地址推断出你在跟谁通信。那中间人攻击会彻底失效吗不会。中间人攻击分两种。我们说的 ECH、TLS 1.3、DoH 防的是第一种无授权的、恶意的中间人。这种中间人不能在你的系统里安装 CA 证书、不能修改你的浏览器配置。第二种中间人——用户授权的中间人抓包工具永远能工作。原因很简单你主动装了它的 CA你主动配了它的代理。ECH 加密的 SNI 对 Charles 无效——因为 Charles 是在你配好代理之后拦截了 TLS 握手它在跟服务器通信时自己发起了新的 ClientHello它不需要看你的原始 SNI——因为 SNI 已经在代理层面被替换了。所以ECH 防的是运营商、国家防火墙、WiFi 上的攻击者ECH不防你主动安装的抓包工具一个表格总结这三十年的旅程年代 协议 中间人能看到的 防御方做了什么 ───── ───────── ────────────────────────────── ───────────────── 1991-94 HTTP 全部内容请求、响应、密码 没有任何防御 1994-99 SSL 2/3 域名 证书内容 少量弱加密数据 开始加密传输内容 2006-08 TLS 1.0/1.1 域名 证书 弱套件 加密数据(可破) 淘汰最弱算法 2008-18 TLS 1.2 域名 证书 强加密数据(不可破) HSTS/CT引入 2018-22 TLS 1.3 域名明文SNI 加密的证书和数据 加密握手消息 2022-26 TLS 1.3ECH (未来)只有IP地址 加密SNI你可能会问如果我们把 IP 地址也加密了互联网还能工作吗答案是不能。如果你连 IP 地址都藏起来了路由器就不知道怎么转发数据了。所以 IP 地址是最后一个明文层——它暴露了你跟哪个服务器通信但你跟服务器之间说了什么是完全加密的。所以中间人攻击的最终形态不是什么都看不到了而是能看到你跟谁说话但不知道你们说了什么。对于大多数用户来说不知道说了什么就已经足够安全了。第一卷小结十期近五万字。我们从 HTTP 裸奔讲到了 ECH。第二卷我们将进入另一个完全不同的世界——抓包工具的底层原理。tcpdump 是怎么不配代理不装证书也能看到网络流量的BPF 虚拟机到底是什么eBPF 和 XDP 怎么在网卡驱动层面就给你把包处理了准备好了吗我们下周见。DumpAny 怎么做站在 DumpAny 的产品视角看这三十年的攻防——一个好的抓包工具需要在协议设计者和攻击者的博弈中找到平衡。既要支持最新的加密特性TLS 1.3、ECH让开发者在最新环境中调试又要向前兼容让用户能调试那些还在用 TLS 1.0 的遗留系统。这也是 DumpAny 选择模块化协议引擎的原因——每个协议独立实现、独立升级。「抓包原理探秘」第一卷 · 完1991-1994HTTP 裸奔时代全部内容明文可见1994-1999SSL 2/3 时代内容开始加密但握手明文2006-2008TLS 1.0/1.1密码套件增多仍有弱算法2008-2018TLS 1.2 时代ECDHE兴起ForwardSecrecy普及2009Moxie Marlinspike发布 SSL Strip2012HSTS 成为 RFC 标准2015CertificateTransparency 上线2018-2022TLS 1.3握手消息加密降级保护2022-2026ECH DoH域名也加密DNS也加密HTTPS 攻防进化史TLS 1.3 ECHIPTLS 1.3IP 域名TLS 1.2IP 域名 证书 密码套件HTTPIP 域名 路径 参数 Cookie 响应体交互演示文章中的 SSL Strip、ECH/ESNI 等攻防手段在 SSL Strip Attack 动画 里有时序演示——攻击者、受害者、服务器三方互动HSTS 如何反杀。 聊几句TLS 握手七步中你觉得最关键的是哪一步为什么你平时会去看 TLS 握手的细节吗还是在用工具一键搞定如果有一天互联网的 CA 体系崩塌了你觉得会发生什么你有没有遇到过证书相关的线上问题怎么排查的上面聊的这些在 DumpAny 里基本都帮你封装好了。装个证书、开个代理直接看请求明文——不用手动处理 TLS 握手、不用自己写协议解析器。官网 dumpany.com开源免费。