認証付き暗号 【AE】 Authenticated Encryption / AEAD / Authenticated Encryption with Associated Data
通常、暗号化を行うとメッセージの秘匿性が確保され、途中で第三者が暗号文を盗み見ても内容を盗み取られないようにすることができる。しかし、通信相手が「なりすまし」ではなく本物であること(認証性)や、伝送途上で改竄されていないこと(完全性)を受信側で検証することはできない。
認証付き暗号はこの3つの性質を同時に満たすことができるように設計された暗号利用モードで、平文と暗号鍵から暗号文に加えてメッセージ認証コード(MAC)を生成して暗号文と一緒に送信する。受信者は暗号文を復号し、同時にコードを検証することで、送信者の確認と改竄の検知を行うことができる。
暗号化と認証コード(MAC)生成の順番や組み合わせ方はいくつかの手順が提唱されている。「EtM」(Encrypt-then-MAC)は平文からまず暗号文を生成し、暗号文から生成したMACと暗号文を連結して送信する。IPsecやTLS、DTLSの拡張仕様として利用することができる。
「E&M」(Encrypt-and-MAC)は平文から暗号文とMACを生成して連結する方式で、SSHなどで利用できる。「MtE」(MAC-then-Encrypt)は平文からMACを生成して連結し、平文+MACを暗号化する。TLSではEtMではなくこちらを選択することもできる。
(2024.7.15更新)