从内到外确保 HTTPS:防止客户端拦截攻击

主要观点:HTTPS 虽常用但仍可被攻击,需关注客户端作为攻击者的情况,从提供者(服务器/供应商)和消费者(用户)两方面阐述预防机制。
关键信息

  • HTTPS 常见但易被攻击,部分 HTTPS 服务器易受 MITM 攻击。
  • MITM 攻击涉及客户端、服务器和拦截者三方,通常受害者不知通信被拦截。
  • 客户端类型有厚(原生)客户端和浏览器客户端,防御需求不同。
  • 常用工具如 mitmproxy、Fiddler、SSLsplit 使 HTTPS MITM 易实施。
  • 预防机制从提供者和消费者角度考虑,包括证书固定、应用层签名加密、无漏洞工作流等。
    重要细节
  • 在厚(原生)客户端方面,证书固定可将服务器证书或公钥固定在应用内,通过验证防止代理拦截;应用层可签名请求和响应,包括 HMAC 或非对称签名,如需机密性可在应用层加密,还需注意密钥管理和防止客户端逻辑被逆向工程。在浏览器客户端方面,要设计无漏洞服务器工作流,避免用户侧修改带来优势。
  • 消费者方面,浏览器用户要防止安装恶意根证书,使用浏览器扩展工具检测;原生客户端用户要避免安装未知根证书并保持应用更新。
  • 实际建议包括强制服务器验证敏感业务逻辑、实现证书固定等多种措施,并规划证书轮换。
阅读 18
0 条评论