Encrypt-then-MAC
暗号化と完全性保護が本当に両立するかどうかを分ける、処理の順序。
暗号とMACの組み合わせ方は3通りある。Encrypt-then-MACは先に暗号化し、その暗号文に対して認証する。受信側は復号に手を付ける前にタグを検証できる。MAC-then-encryptとencrypt-and-MACは、数多くの脆弱性を生んできた。2013年のLucky Thirteenは、TLS-CBCにおけるパディングとMACの処理時間の差を突いたもので、暗号化の前にMACを計算する設計の直接の帰結だった。
先にタグを確認すれば、偽造された暗号文やパディングの誤った暗号文はパディングを調べる前に拒否され、パディングオラクルは観測する対象を失う。現代のプロトコルの多くがこの順序を採用しており、独自の組み合わせではなくAEADを推奨する規格が増えているのもそのためだ。