暗号文単独攻撃(あんごうぶんたんどくこうげき、ciphertext-only attackCOA)または既知暗号文攻撃(きちあんごうぶんこうげき、known ciphertext attack)とは、暗号解読における攻撃モデルの一つで、攻撃者は暗号文にのみアクセス可能であるという仮定のもとで行われる攻撃である。

暗号文から、対応する平文あるいはを導けることができれば、その攻撃は完全に成功したと言える。また、元となる平文の情報を少しでも取得することができれば、それだけでも攻撃は成功と見なされる。例えば、攻撃対象がトラフィック流保護のため暗号文を定期的に送信している場合、本物のメッセージと空のメッセージとを区別できれば非常に有用である。また、本物のメッセージの存在の有無が推測できるというだけでもトラフィック解析の助けとなる。

暗号史において、紙とペンとで行われていた初期の暗号は、暗号文だけをもとに破られることがよくあった。暗号分析者は頻度分析などの統計的手法を利用して暗号を破る方法を編み出したが、エニグマのような機械式暗号装置の登場により、このような攻撃は難しくなった(ただし、歴史的には、ポーランドの暗号分析者はプロトコル上の脆弱性を突くことでエニグマに対する暗号文単独攻撃を成功させることができた)。

現代の暗号はどれも暗号文単独攻撃への耐性を持つように設計されている。 新しい暗号規格の選定は数年かけて行われるが、剪定作業には大量の暗号文を使用した徹底的なテストが含まれており、これにより暗号文とランダムノイズとが統計的な性質の点で区別できないことを確認する(AES暗号選定プロセスも参照のこと)。また、ステガノグラフィーの分野においては、あるデータに他のデータの統計的性質を取り込むMimic functionなどの手法の開発により一部で発展が見られた。それでもなお、誤った暗号の使用法や、念入りな精査が行われていない自家製の暗号アルゴリズムへの依存のせいで、コンピュータ時代の暗号システムの中にも暗号文単独攻撃の対象となるものが数多く存在する。例を以下に挙げる。

  • マイクロソフト PPTP VPNソフトウェアでは、送信側と受信側で同じRC4キーを使用していた[1](後のバージョンにはまた別の問題がある)。いかなる場合でも、RC4のようなストリーム暗号で同じ鍵を2度使用すれば暗号文単独攻撃を許してしまう。ストリーム暗号攻撃も参照のこと。
  • Wired Equivalent Privacy(WEP)は初のWi-Fi向けセキュリティプロトコルであるが、いくつかの攻撃法に対して脆弱であることが判明しており、その多くが暗号文単独攻撃である。
  • 近年設計された暗号の中にも、後に暗号文単独攻撃に対して脆弱であることが明らかになったものがある。Akelarreも参照のこと。
  • 暗号の鍵空間が十分に小さい場合、暗号文にさえアクセスできればあとは単純にすべての鍵を試行すればよい(総当たり攻撃)。この場合、何らかの方法でランダムノイズと正しい平文とを区別する必要があるが、これは平文が自然言語で、かつ暗号文の長さが判別距離より長ければ容易に行える。例としてはDESがあり、これは鍵の長さが56ビットしかない。またよくあるケースとしては、商用のセキュリティ製品において、暗号鍵の作成にAESのような堅固な方法ではなくユーザの入力したパスワードを使用しているものがある(例えば、Windows NT 4.0のPPTPにおいて、セッションキーはユーザの入力したパスワードから生成される[2])。ユーザの入力したパスワードが暗号の鍵空間と同程度の情報エントロピーを持っていることは稀であるため、そのような暗号はこの方法で突破できることがよくある。DVDに使用されているCSS暗号は鍵の長さが40ビットしかないため、MPEG-2のデータにさえアクセス出来れば後はこの方法だけで突破が可能である。

参考文献編集

  1. ^ Bruce Schneier, Cryptanalysis of Microsoft's PPTP Authentication Extensions (MS-CHAPv2), October 19 1999.
  2. ^ Understanding PPTP (Windows NT 4.0)”. Microsoft. 2011年12月25日閲覧。 “The RSA RC4 standard is used to create this 40-bit session key based on the client password.”
  • Alex Biryukov and Eyal Kushilevitz, From Differential Cryptanalysis to Ciphertext-Only Attacks, CRYPTO 1998, pp72-88;

関連項目編集