暗号技術の基礎と応用

CBCモードで暗号化したデータを受け取るサーバが、復号した後のパディングが正しくないときと、パディングは正しいが中身の検査に失敗したときとで、異なるエラーを返していた。この状況についての説明として、正しいものはどれか。

  1. A攻撃者は暗号文を書き換えて送り、エラーの違いを手掛かりに、鍵を知らずに平文を1バイトずつ求められるおそれがある
  2. Bエラーの違いから分かるのはパディングの長さだけなので、鍵が漏れない限り、平文の内容そのものが漏れるおそれはない
  3. C鍵をAES-128からAES-256に変えれば、エラーの違いから平文を求められるおそれはなくなる
答えと解説を見る

正解:A. 攻撃者は暗号文を書き換えて送り、エラーの違いを手掛かりに、鍵を知らずに平文を1バイトずつ求められるおそれがある

CBCモードの復号では、ある暗号文ブロックのビットを反転させると、次のブロックの復号結果の同じ位置のビットが反転します。攻撃者は、直前のブロックの最後のバイトを変えながら送り、「パディングが正しい」と判定される値を探すことで平文の最後のバイトを求め、これを繰り返して1バイトずつ平文を明らかにできます。これがパディングオラクル攻撃で、エラーの種類や応答時間の違いが手掛かり(オラクル)になります。対策の基本は、GCMのような認証付き暗号を使うか、暗号文に付けたMACを先に検証して、改ざんされた暗号文は復号の前に一律に拒否することです。

  • A. 正しい。パディングの正誤が分かるだけの応答から、平文を1バイトずつ求められます。
  • B. パディングの正誤が分かることと暗号文の書き換えを組み合わせると、平文そのものを求められます。
  • C. この攻撃は鍵を求めずに、CBCモードの性質とエラーの違いを使うので、鍵長を変えても防げません。
この分野を解く 分野ページへ

暗号技術の基礎と応用の参考書を探す PR

Amazonの検索結果へのリンクです。Amazonのアソシエイトとして、半導体教室は適格販売により収入を得ています。

暗号技術の基礎と応用のほかの問題

  1. ブロック暗号のCTRモード(カウンタモード)の特徴として、正しいものはどれか。
  2. CTRモードで、誤って同じ鍵と同じナンスを使い、2つのメッセージを暗号化した。ある位置のバイトについて、1つ目の平文 P₁ は 01001000(ASCIIの「H」)、その暗号文 C₁ は 01110100、2つ目の暗号文 C₂ は 01010101 である。攻撃者が P₁ を知っているとき、同じ位置の2つ目の平文 P₂ はどれか。
  3. AES-GCMのような認証付き暗号(AEAD)が、1つの処理で提供するものとして正しいものはどれか。
  4. AES-GCMで使う96ビットのナンス(IV)についての説明として、正しいものはどれか。
  5. ある装置で、56ビットの鍵をすべて試す総当たりに約20時間かかる。同じ装置で、64ビットの鍵をすべて試すのにかかる時間に最も近いものはどれか。

この分野の比較