中间人攻击
概述
中间人攻击(Man-in-the-Middle Attack)是一种主动攻击,攻击者在通信双方之间拦截、篡改和转发消息,使双方误以为在直接通信。
关键内容
攻击原理
攻击者 Mallory 同时冒充 Bob 与 Alice 通信、冒充 Alice 与 Bob 通信: 1. Mallory 与 Alice 建立共享密钥 K1 2. Mallory 与 Bob 建立共享密钥 K2 3. Alice 以为在和 Bob 通信,实际上所有消息都经过 Mallory 的中转
Diffie-Hellman 的弱点
DH 协议本身缺乏身份认证——双方只交换公开值,不验证对方身份。这使得中间人攻击成为 DH 协议的最大弱点。
防御方法
- 数字证书和 PKI:通过可信的证书颁发机构(CA)验证公钥归属
- 数字签名:对交换的公开值进行签名
- 信任首次使用(TOFU):SSH 采用的策略
- 指纹验证:通过其他安全信道验证公钥指纹
现实案例
- 不安全的 Wi-Fi 热点
- DNS 欺骗
- SSL 剥离攻击
- 恶意代理服务器
来源
- raw/books/计算机科学/11-diffie-hellman-new-directions.md
相关
- Diffie-Hellman 密钥交换 — 缺乏身份认证
- 公钥密码学 — 需要 PKI 防御
- 数字签名 — 可防御此攻击
- TCP-IP — TLS 使用证书防御