LoginSignup
4
6

More than 5 years have passed since last update.

Encrypt-then-MAC, MAC-then-Encrypt, Encrypt-and-MAC

Last updated at Posted at 2015-02-03

共通鍵暗号とメッセージ認証コードを組み合わせてメッセージを送るときの方式は EtM、MtE、E&M の3通りがある。

どういう違いがあるか、簡単に把握したかったので http://crypto.stackexchange.com/questions/202/should-we-mac-then-encrypt-or-encrypt-then-mac を抄訳してみた。

  • Encrypt-then-MAC (EtM)
    • 暗号文の完全性が提供される
    • 平文の完全性が提供される
    • MAC が不正な暗号文を弾いてくれる (暗号を復号しなくても不正かどうかわかる)
    • MAC から平文を推測することが不可能
  • MAC-then-Encrypt (MtE)
    • 暗号文の完全性が提供されないので、暗号文を復号するまでメッセージが正しいものなのか偽造されたものなのか分からない。
    • 平文の完全性は提供される
    • 偽造した暗号文を弾くことができないため、メッセージを偽造できてしまう (復号化後に判別できる)
    • MAC は暗号化されてしまっているので、MAC から平文を得ることはできない
  • Encrypt-and-MAC (E&M)
    • MAC は平文に対して適用されているので、暗号文の完全性は提供しない。このせいで選択暗号文攻撃 (Chosen-ciphertext attack; CCA) に対して脆弱となる場合がある
    • 暗号文の中身の差し替えが可能となってしまう。復号時に完全性を確認できるため。
    • 平文の完全性は確認できる
    • 理論上、MACから平文を推測できる(かも)

EtM が MtE, E&M よりも良い……ということになる。各種プロトコルの状況は以下の通り。

  • SSH: E&M。
    • OpenSSH 6.2 (2013/03/22 リリース) が独自に EtM に対応している。対応しているバージョンの OpenSSH 同士ならばデフォルトで EtM が使われる。ssh_config(5) を参照するべし。
  • TLS/SSL: MtE。
  • IPsec: EtM。
4
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
6