暗号アルゴリズムの危殆(たい)化を説明したものはどれか。
ア 外国の輸出規制によって,十分な強度をもつ暗号アルゴリズムを実装した製品が利用できなくなること
イ 鍵の不適切な管理によって,鍵が漏えいする危険性が増すこと
ウ 計算能力の向上などによって,鍵の推定が可能になり,暗号の安全性が低下すること
エ 最高性能のコンピュータを用い,膨大な時間やコストを掛けて暗号強度をより確実なものにすること
「危殆化」という言葉の意味を理解しているかを問う問題。まずは「危殆化」という言葉に関する解説をしてから、問題の解説を行います。
危殆化の解説
危殆化とは状況の変化が原因で危険に晒されることです。ITの世界では暗号分野でこの言葉がよく使われます。
危殆化の原因についていくつか例をあげて解説します。
アルゴリズムの弱点がバレて危殆化
RSAやAESといったよく使われる暗号は、アルゴリズムを公開していろいろな人のチェックを受け、今のところ致命的な穴が指摘されていないために使用されています。
しかし、絶対に致命的な穴が無いことが証明されているわけではありません。今後どこかの天才ハッカーに効率の良い画期的な攻撃方法を見つけられてしまうかもしれません。そうなると、もうその暗号はもう使い物になりませんね。
「今までは安全な暗号として扱っていたけど、弱点がバレて使い物にならなくなった」。これが暗号の危殆化の例の一つです。暗号そのものは変化していないけど、「弱点がバレた」という状況の変化で暗号アルゴリズムが危険に晒されてしまったというわけです。
致命的な弱点がバレてしまうともうその暗号は使えません。別のアルゴリズムを考えるしかなくなります。過去にはDESが線形解読法などの弱点バレで使い物にならなくなり、AESの誕生につながった、という例があります。。
性能アップによるごり押し耐性の低下で危殆化
また、暗号のアルゴリズムそのものには問題が無くても、今まで十分だと思っていた鍵のサイズがコンピュータの性能向上によって十分ではなくなる、という場合もあります。
ムーアの法則に示されているように、コンピュータの性能は時間とともに急上昇しています。現在の暗号は解読が不可能なわけではなく、解読しようとするとどうしようもないくらい時間がかかることが安全性を支えています。
例えばRSAの場合は素因数分解をすれば解読できますし、どんな暗号でもブルートフォース攻撃を仕掛ければいつかは暗号を解読することができます。ただし、時間的に現実的ではなく、暗号解読にかける時間やお金といったコストが解読によって得られるリターンよりもずっと小さいため、解読に成功する人はいないのです。理論上は可能でも現実的に無理だから安全、というわけですね。
しかし、コンピュータの性能が向上すると、どうしようもないくらいの時間がかかっていたものが、現実的な時間で暗号の解読に成功してしまうようになる場合があります。これも暗号アルゴリズムの危殆化の例です。
ポケモンでいえば相性が悪くてもレベル差があればごり押しできてしまうのと同じです。解読者側のレベルが高くなって、効率的な方法をとらなくてもゴリ押しで暗号を突破できるようになってしまうのです。
こちらの場合は鍵長さを長くするなどで対応可能です。計算速度が向上したのなら、計算量を増やしてやればよい、そうすれば計算時間は以前と同等を維持できます。レベル差で勝てないなら暗号側のレベルを上げればよいのです。
過去にはRSA暗号の鍵長さとして1024ビットがよく使われていましたが、もうこれでは通用しないという事で2048ビットへの移行が行われました。いずれはもっと大きくなると思います。
(おまけ)装置やソフトウェアのバグによる危殆化
この問題は暗号”アルゴリズム”の危殆化について問われているので、装置の危殆化については関係ありませんが、おまけで説明します。
暗号アルゴリズムは計算装置にプログラミングにより実装されます。アルゴリズムが完璧でも、装置が雑魚だと解読されるリスクが発生します。
装置側に新しくバグが見つかったり、OSのアップデートとの相性が悪かったり、逆にアップデートをさぼっていたりすると、危殆化につながる恐れがあります。
危殆化の解説はこんな感じです。それでは選択肢を一つずつみていきましょう。
アの解説
ア 外国の輸出規制によって,十分な強度をもつ暗号アルゴリズムを実装した製品が利用できなくなること
アルゴリズム自体がダメになったわけではないです。製品が使えないだけで、「十分な強度をもつ」というアルゴリズム自体の評価は変わりません。したがってアは×。
イの解説
イ 鍵の不適切な管理によって,鍵が漏えいする危険性が増すこと
ちゃんと管理すれば危険性が増すことはないので、暗号アルゴリズムが危殆化したわけではないです。したがってイは×。
ウの解説
ウ 計算能力の向上などによって,鍵の推定が可能になり,暗号の安全性が低下すること
これはさっき解説した「性能アップによるごり押し耐性の低下で危殆化」ってやつですね。ウが正解です。
エの解説
エ 最高性能のコンピュータを用い,膨大な時間やコストを掛けて暗号強度をより確実なものにすること
この説明では暗号が危険に晒されていませんね。むしろ強化されています。したがってエは×。
暗号の鍵長が長くなれば解読にかかる時間が長くなりますが、暗号化や復号化にかかる時間も長くなってしまいます。暗号化や復号化の際に使用するコンピュータの性能が高ければ、普段では使わないようなクソデカ鍵長を操ることが可能になり、暗号の強度は増します。
また、「暗号強度は高いんだけど、処理時間が長かったり求められるし性能が高かったりしてあまり使われない」という暗号アルゴリズムを使用することも可能になります。ハーソウェアやソフトウェアに投資をする、ということもできますね。