認証付き暗号

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索

認証付き暗号 (AE: Authenticated Encryption) とは、データの秘匿性完全性、および認証性を同時に提供する暗号利用モードである。利用の容易な API ひとつでこうした特性が提供されるうえ、復号すると同時に完全性も検証される。

AE の必要性が明らかになったのは、秘匿用モード認証用モードを安全に合成するのが困難であろうとの報告による。[1][2] このことは、実際に運用されているプロトコルやアプリケーションにおいて認証の不適切な実装や実装の欠如によって、実用的な攻撃経路がいくつも入りこんできたことで実証されている (SSL/TLS はその一例である)。[3]

6種類の異なるモード(OCB 2.0, Key Wrap, CCM, EAX, Encrypt-then-MAC (EtM), and GCM)がISO/IEC 19772:2009によって標準化され[4]、さらにNISTによって開発がすすめられた[5]Sponge functions can be used in duplex mode to provide authenticated encryption.[6]

AE モードの典型的な API は次のような関数を提供する:

  • 暗号化
    • 入力: 平文、場合によりヘッダ — これは平文で、暗号化はされないが認証保護の対象である;
    • 出力: 暗号文認証タグ (MAC)
  • 復号
    • 入力: 暗号文認証タグ、場合によりヘッダ;
    • 出力: 平文、あるいは、認証タグ暗号文ヘッダに合致しない場合はエラー

ヘッダ部はネットワークや記録の目的で使われるメタデータの認証や完全性保護のためにあるので、秘匿する必要はなく、認証する必要がある。

秘匿性と完全性の保護に加えて、認証付き暗号は平文既知性 (PA: plaintext awareness) を備えており、選択暗号文攻撃に対して安全である。この種の攻撃で敵は、よく考えられた暗号文を "復号オラクル" に渡して復号結果を分析することで、暗号システムの攻略ヒント (たとえば秘密鍵に関する情報など) を得ようとする。認証付き暗号システムは不適切に細工された暗号文を識別して復号を拒否することができる。これはつまり、適切に暗号化アルゴリズムを使って生成しない限り暗号文の復号要求を防ぐということであり、適切に生成したということは平文をすでに知っているということを意味する。適切に実装されていれば、これにより攻撃者がすでに知っている以上の有用な情報を復号オラクルで取り出せないようになる。

共通鍵ブロック暗号で使うための認証付き暗号専用のモードも数多く開発されているが、一般的に認証付き暗号は、暗号システムとメッセージ認証符号 (MAC) を組み合わせて構成する。その場合、暗号システムは選択平文攻撃のもとで強秘匿性を有し、MAC 関数は選択メッセージ攻撃のもとで偽造不可でなければならない。Bellare and Namprempre (2000) はこうしたプリミティブの組み合わせを三通り考察し、暗号と MAC 双方の関数が必要な性質を満たす場合は、メッセージを暗号化してから暗号文に MAC を計算すること (EtM: Encrypt-then-MAC) で適応的選択暗号文攻撃に対し安全であることを実証した。

In 2013 a competition has been announced to encourage design of authenticated encryption modes.[7]

認証付き暗号の手法[編集]

  • Encrypt-then-Mac (EtM): ISO/IEC 19772:2009 に準拠する標準的な手法。[4] これは AE で最高水準の安全性を達成できる唯一の手法であるが、その達成のためには使用する MAC が「強偽造不可」(Strongly Unforgeable)[8] でなければならない。
  • Encrypt-and-Mac (E&M): SSHGrain 128a などで利用される。E&M 自体は強偽造不可だと証明されていないが、[8]この手法でも少しの修正で SSH を強偽造不可にすることは可能である。[9]
  • Mac-then-Encrypt (MtE): SSL/TLS などで利用される。MtE 自体は強偽造不可だと証明されていないが、[8] SSL/TLS 実装は Krawczyk により強偽造不可であることが証明されている。SSL/TLS は、MtE と同時に使用するエンコーディングのおかげで事実上安全である。[10]

関連項目[編集]

脚注[編集]

  • Bellare, M.; Namprempre, C. (2000), T. Okamoto, ed., “Authenticated Encryption: Relations among notions and analysis of the generic composition paradigm”, Extended abstract in Advances in Cryptology: Asiacrypt 2000 Proceedings, Lecture Notes in Computer Science (Springer-Verlag) 1976: 531, doi:10.1007/3-540-44448-3_41, ISBN 978-3-540-41404-9 
  1. ^ "伝統的な (秘匿のみの) 暗号方式とメッセージ認証符号 (MAC) をくっつけようとするとき、みんなは幾分まずいやり方をしていた", in: M. Bellare, P. Rogaway, D. Wagner. “A Conventional Authenticated-Encryption Mode”. NIST. 2013年3月12日閲覧。
  2. ^ "ちょっとうっかりしただけで、安全な暗号方式と安全な MAC を結合したのに危険な認証付き暗号方式になってしまいかねない", in: T. Kohno, J. Viega, and D. Whiting. “The CWC Authenticated Encryption (Associated Data) Mode”. NIST. 2013年3月12日閲覧。
  3. ^ Failures of secret-key cryptography”. Daniel J. Bernstein. 2013年3月12日閲覧。
  4. ^ a b Information technology -- Security techniques -- Authenticated encryption”. 19772:2009. ISO/IEC. 2013年3月12日閲覧。
  5. ^ Encryption modes development”. NIST. 2013年4月17日閲覧。
  6. ^ The Keccak Team. “Duplexing The Sponge”. 2013年11月30日閲覧。
  7. ^ CAESAR: Competition for Authenticated Encryption: Security, Applicability, and Robustness”. 2013年3月12日閲覧。
  8. ^ a b c Authenticated Encryption: Relations among notions and analysis of the generic composition paradigm”. M. Bellare and C. Namprempre. 2013年4月13日閲覧。
  9. ^ OpenSSH 6.1 からの変更点”. 春山征吾. 2013年12月1日閲覧。
  10. ^ The Order of Encryption and Authentication for Protecting Communications (Or: How Secure is SSL?)”. H. Krawczyk. 2013年4月13日閲覧。