【情報セキュリティ】最強の解読条件!「選択暗号文攻撃」|情報処理問題1000本ノック
暗号解読のシナリオにおいて、攻撃者が「復号(元に戻す)プロセス」を自由に利用できる場合があります。攻撃者が最も優位に立つこの手法の脅威を攻略しましょう。
1. 問題:暗号解読の高度な攻撃モデル
【 問題 】 暗号解読における攻撃手法のうち、攻撃者が任意に選択した「暗号文」をターゲットのシステムに復号させ、それに対応する「平文」を入手することで、鍵の特定や情報の奪取を試みる手法はどれでしょうか?
ア、暗号文単独攻撃 イ、既知平文攻撃 ウ、選択平文攻撃 エ、選択暗号文攻撃
2. 正解:暗号攻撃手法に関する正解
正解: エ、選択暗号文攻撃(Chosen Ciphertext Attack / CCA)
3. 解説:復号器を「オラクル(神託)」として利用する
選択暗号文攻撃は、攻撃者が「中身(鍵)は分からないが、入力した暗号文を復号してくれる装置」を自由に使える極めて強力な攻撃モデルです。
【図解:選択暗号文攻撃のイメージ】
■ 攻撃の手順
1. 攻撃者が、解読したい暗号文を少しだけ加工した「偽の暗号文」を自由に作成する。
2. それをターゲットの復号システムへ送り、復号結果(平文)を入手する。
3. 得られた平文のパターンを分析し、そこから本物の暗号文を解くための「鍵」を数学的に割り出す。
■ なぜそんなことが可能なのか?
・例えば、サーバーが「復号に失敗した」というエラーメッセージを返したり、復号にかかった時間の差(サイドチャネル攻撃)を利用したりすることで、実質的に復号結果の一部を知ることができる場合があります。
■ 攻撃の手順
1. 攻撃者が、解読したい暗号文を少しだけ加工した「偽の暗号文」を自由に作成する。
2. それをターゲットの復号システムへ送り、復号結果(平文)を入手する。
3. 得られた平文のパターンを分析し、そこから本物の暗号文を解くための「鍵」を数学的に割り出す。
■ なぜそんなことが可能なのか?
・例えば、サーバーが「復号に失敗した」というエラーメッセージを返したり、復号にかかった時間の差(サイドチャネル攻撃)を利用したりすることで、実質的に復号結果の一部を知ることができる場合があります。
[ 攻撃手法の強さの階層 ]
★ 選択平文攻撃 (CPA):好きな平文を「暗号化」できる。
★ 選択暗号文攻撃 (CCA):好きな暗号文を「復号」できる。 ← 最も強力!
※ 現代の公開鍵暗号(RSAなど)は、このCCAに対して耐性を持つ「適応的選択暗号文攻撃 (IND-CCA2) 安全性」が求められます。
★ 選択平文攻撃 (CPA):好きな平文を「暗号化」できる。
★ 選択暗号文攻撃 (CCA):好きな暗号文を「復号」できる。 ← 最も強力!
※ 現代の公開鍵暗号(RSAなど)は、このCCAに対して耐性を持つ「適応的選択暗号文攻撃 (IND-CCA2) 安全性」が求められます。
1. 理解のコツ: 攻撃者が「魔法の翻訳機」をこっそり借りているような状態です。解読したい暗号文そのものは復号させてもらえなくても、それに似た暗号文を大量に試すことで、内部の鍵の仕組みを暴き出します。
2. 試験対策 of 視点: 「任意に選んだ暗号文」という言葉があれば、この選択暗号文攻撃が正解です。特にRSAなどの公開鍵暗号の脆弱性(パディング・オラクル攻撃など)と関連して議論されることが多いトピックです。
4. まとめ
「攻撃者が選んだ暗号文の復号結果を利用して解読する」。これが選択暗号文攻撃です。この攻撃に耐えられることが、現代の高度なセキュリティ製品における事実上の標準要件となっています。
PR