首页/安全/加密与证书速查/MAC 与加密的组合方式(MtE/EtM/AEAD)
加密算法基础95 条

MAC 与加密的组合方式(MtE/EtM/AEAD)

认证与加密的三种组合安全性不同:先加密后 MAC(Encrypt-then-MAC)优于 MAC-then-Encrypt;TLS 1.3 直接使用 AEAD 消除组合问题。

加密与证书速查安全更新于 2026-10-12

三种组合方式

方式顺序典型协议要点
MAC-then-Encrypt先 MAC 再加密TLS 1.0-1.2 CBC 套件历史攻击面较多(Lucky13 类)
Encrypt-then-MAC先加密再 MACIPsec ESP、SSH 部分模式先验 MAC 再解密,错误统一
Encrypt-and-MAC并行计算SSH 早期模式MAC 可能泄漏明文信息

检查服务端是否仍协商 CBC 套件

检查服务端是否仍协商 CBC 套件
openssl s_client -connect example.com:443 -tls1_2 -cipher 'ECDHE-RSA-AES128-CBC-SHA' </dev/null | Select-String 'Cipher'
TLS 1.2 的 CBC 套件属于 MtE 家族,是历史协议攻击的来源;新部署移交给 AEAD,存量系统可用 EtM 扩展过渡。

易错点

  • EtM 的要点是「先验证 MAC 再解密」,顺序写反等于没有防护
  • 自研协议里用「加密后再拼接 MAC」但复用同一密钥派生,会削弱密钥分离原则

数据来源与参考

  • Bellare & Namprempre, Authenticated Encryption(ASIACRYPT 2000)
  • RFC 7366
  • RFC 8446 附录 B
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌