
1) 【一句话结论】HTTPS握手过程中,攻击者可截获通信双方消息,冒充服务器/客户端,通过伪造证书或利用信任链漏洞篡改通信内容,核心风险是客户端对服务器的身份验证被绕过,导致数据泄露或篡改。
2) 【原理/概念讲解】老师口吻解释:HTTPS握手是客户端与服务器建立安全连接的流程,包含ClientHello、ServerHello、证书交换、密钥协商等步骤。中间人攻击时,攻击者位于客户端与服务器之间,截获客户端的ClientHello,修改为指向攻击者的ServerHello(伪造证书),发送给客户端;客户端验证攻击者的证书(若攻击者证书由可信CA签发,或客户端信任自签名),通过后,攻击者再转发服务器的真实ServerHello。攻击者随后可篡改数据(如注入恶意代码)或窃取密钥。类比:快递员在快递箱上贴假标签,客户收到后以为是原快递,实际内容被篡改。
3) 【对比与适用场景】
| 验证策略 | 定义 | 特性 | 使用场景 | 注意点 |
|---|---|---|---|---|
| 信任根CA | 客户端信任CA颁发的证书 | 依赖CA公信力 | 大多数网站(如HTTPS网站) | 若CA被攻击,所有证书失效 |
| 自签名证书 | 服务器自己签发的证书 | 无CA验证 | 内部测试、私有网络 | 客户端需手动信任,风险高 |
| 证书链验证 | 证书包含上级CA证书 | 确保链完整 | 企业内网、可信环境 | 需维护CA根证书库 |
4) 【示例】伪代码示例(客户端C→攻击者M→服务器S):
5) 【面试口播版答案】(约90秒)
“HTTPS握手时,中间人攻击的核心是攻击者冒充服务器/客户端,篡改通信。流程是:客户端发起连接,攻击者截获ClientHello,伪造ServerHello(含自签名证书),客户端验证后(若信任攻击者CA),攻击者再转发服务器的真实消息。攻击者可窃取密钥或篡改数据。防护机制:1. 严格证书链验证,确保证书由可信CA签发;2. 使用HSTS强制HTTPS;3. 协议升级到TLS 1.3,增强密钥交换安全性;4. 客户端存储CA根证书,定期更新;5. 检测证书颁发机构(CA)的信任状态,若CA被攻击,立即移除。比如,客户端验证证书链时,检查每个证书的颁发者是否在信任列表中,若发现自签名或无效链,拒绝连接。这样可有效防止中间人攻击。”
6) 【追问清单】
7) 【常见坑/雷区】