マナビング情報セキュリティマネジメント

公開鍵暗号と共通鍵暗号を4つの観点で比べる

情報セキュリティマネジメント試験 令和5年度 問4 / セキュリティ › 情報セキュリティ

過去問にチャレンジ

令和5年度 問4

暗号方式に関する記述のうち,適切なものはどれか。

  1. ア

    公開鍵暗号方式,共通鍵暗号方式ともに,大きな合成数の素因数分解が困難であることが安全性の根拠である。

  2. イ

    公開鍵暗号方式では原則としてセッションごとに異なる鍵を利用するが,共通鍵暗号方式では一度生成した鍵を複数のセッションに繰り返し利用する。

  3. ウ

    公開鍵暗号方式は仕様が標準化されているが,共通鍵暗号方式はベンダーによる独自の仕様で実装されることが一般的である。

  4. エ

    大量のデータを短い時間で暗号化する場合には,公開鍵暗号方式よりも共通鍵暗号方式が適している。

会話形式の解説

講師講師
今回は、公開鍵暗号方式と共通鍵暗号方式の比較です。選択肢は、安全性の根拠、鍵の使い方、標準化の状況、処理速度という4つの観点に分かれています。観点ごとに、両方式の特徴を一つずつ照らし合わせていきましょう。
受験者受験者
共通鍵暗号は暗号化と復号に同じ鍵を使い、公開鍵暗号は公開鍵と秘密鍵のペアを使う、というところまでは覚えています。ただ、ほかの観点になると自信がありません。
講師講師
その基本の対比があれば十分に解けます。まず安全性の根拠から見ます。素因数分解が難しいことを根拠にしている暗号を知っていますか。
受験者受験者
RSA暗号です。なので、両方式とも素因数分解を根拠にしているという記述は正しいように見えました。
講師講師
RSAは公開鍵暗号の一つです。大きな合成数の素因数分解が難しいことを根拠にしているのは、RSAなど一部の公開鍵暗号に限られます。AESのような共通鍵暗号は素因数分解を根拠にしていません。両方式ともそうだと言っている時点で誤りです。
受験者受験者
次はセッションごとに鍵を変えるという記述ですね。公開鍵暗号は鍵ペアを作るのが大変そうなので、一度作った鍵を使い回すのは公開鍵の側だと思いました。そうすると、この記述は逆ではないでしょうか。
講師講師
その読みで合っています。セッションごとに使い捨てる鍵をセッション鍵といいますが、これは共通鍵です。公開鍵暗号で共通鍵を相手に受け渡し、その共通鍵で本文を暗号化するハイブリッド方式がまさにこの使い方です。選択肢は両方式の役割を入れ替えているので誤りです。
受験者受験者
標準化の記述はどう考えればよいですか。共通鍵暗号がベンダー独自の仕様というのは、なんとなく違う気がしますが、根拠が出てきません。
講師講師
さきほど名前の出たAESが根拠になります。AESは標準化された共通鍵暗号です。暗号アルゴリズムの国際標準であるISO/IEC 18033もあり、主要なアルゴリズムは公開鍵暗号、共通鍵暗号のどちらも標準化されています。共通鍵暗号は独自仕様が一般的という説明は誤りです。
受験者受験者
残るのは、大量のデータを短い時間で暗号化するなら共通鍵暗号が向いている、という記述です。共通鍵暗号は処理が速いので、これが正しいということですね。
講師講師
そのとおりです。共通鍵暗号は処理が単純で計算量が少ないため、高速に暗号化できます。公開鍵暗号は処理が重いので、大量のデータの暗号化には向きません。これが正解です。
受験者受験者
整理すると、速さが必要な本文の暗号化は共通鍵暗号、鍵の受け渡しは公開鍵暗号で、セッション鍵は共通鍵、ということですね。
講師講師
よく整理できています。補足すると、公開鍵暗号は処理が重いぶん、鍵配送や鍵交換、電子署名のような小さなデータの処理に使われます。共通鍵暗号には相手に鍵を安全に渡す鍵配送という課題があり、それを公開鍵暗号で補うという関係で覚えると、似た問題にも対応しやすくなります。
講師講師
もう一つ、公開鍵暗号ならすべて素因数分解が根拠、というわけでもありません。たとえば楕円曲線暗号は離散対数問題を根拠にしています。RSAと素因数分解の組み合わせだけを丸暗記しないように注意してください。

まとめ

この問題は、公開鍵暗号方式と共通鍵暗号方式を、安全性の根拠、鍵の使い方、標準化、処理速度の4つの観点で比べるものです。共通鍵暗号は処理が単純で高速なので、大量のデータを短い時間で暗号化する用途に向いており、これが正解です。素因数分解の困難性を根拠にしているのはRSAなど一部の公開鍵暗号だけで、共通鍵暗号には当てはまりません。セッションごとに使い捨てるセッション鍵は共通鍵で、公開鍵暗号で共通鍵を受け渡すハイブリッド方式がその典型です。また、AESのように共通鍵暗号にも標準化された方式があります。

解答・解説

正解はエです

この問題のテーマ

公開鍵暗号方式と共通鍵暗号方式の違いを問う問題です。安全性の根拠、鍵の使い方、標準化の状況、処理速度の4つの観点で、両方式を正しく比べられるかが問われています。

解き方の考え方

まず「共通鍵暗号は同じ鍵で暗号化と復号を行い、処理が速い」「公開鍵暗号は鍵ペアを使い、処理が重い」という基本の対比を思い出します。そのうえで各選択肢に誤りが含まれていないかを確認します。アやウのように「ともに」「一般的に独自仕様」と言い切る記述や、イのように両方式の役割を入れ替えた記述は、誤りを含んでいることが多いので注意して読みます。

選択肢ごとの解説

  1. ×ア  公開鍵暗号方式,共通鍵暗号方式ともに,大きな合成数の素因数分解が困難であることが安全性の根拠である。
    大きな合成数の素因数分解が難しいことを安全性の根拠にしているのは、RSAなど一部の公開鍵暗号です。AESなどの共通鍵暗号は素因数分解を根拠にしていないので、「ともに」とする記述は誤りです。
  2. ×イ  公開鍵暗号方式では原則としてセッションごとに異なる鍵を利用するが,共通鍵暗号方式では一度生成した鍵を複数のセッションに繰り返し利用する。
    セッションごとに異なる鍵(セッション鍵)を使うのは、共通鍵暗号の側の運用です。公開鍵暗号で共通鍵を受け渡し、その共通鍵で本文を暗号化するハイブリッド方式がこの形にあたります。選択肢の記述は両方式の役割が逆になっています。
  3. ×ウ  公開鍵暗号方式は仕様が標準化されているが,共通鍵暗号方式はベンダーによる独自の仕様で実装されることが一般的である。
    共通鍵暗号にもAESのように標準化された方式があり、主要なアルゴリズムは公開鍵暗号、共通鍵暗号のどちらも標準化されています。共通鍵暗号はベンダー独自の仕様で実装するのが一般的、という説明は誤りです。
  4. ○エ  大量のデータを短い時間で暗号化する場合には,公開鍵暗号方式よりも共通鍵暗号方式が適している。
    共通鍵暗号方式は処理が単純で計算量が少ないため、高速に暗号化できます。公開鍵暗号方式は処理が重いので、大量のデータを短い時間で暗号化する用途には共通鍵暗号方式が適しています。

補足

公開鍵暗号のすべてが素因数分解を根拠にしているわけではありません。たとえば楕円曲線暗号は離散対数問題を根拠にしています。また、共通鍵暗号の課題は相手に鍵を安全に渡す「鍵配送」で、それを解決する手段として公開鍵暗号を組み合わせる、という関係も押さえておくと似た問題に対応しやすくなります。

POINT

  • 共通鍵暗号方式は暗号化と復号に同じ鍵を使い、処理が高速なので大量データの暗号化に向いています。
  • 公開鍵暗号方式は処理が重いため、鍵配送や鍵交換、電子署名などの小さなデータの処理に使われます。
  • 実務では、公開鍵暗号で共通鍵を共有し、本文は共通鍵暗号で暗号化するハイブリッド方式が使われます。
  • 素因数分解の困難性を安全性の根拠にしているのはRSAなど一部の公開鍵暗号で、共通鍵暗号には当てはまりません。
  • セッションごとに使い捨てるセッション鍵は共通鍵です。

※出典:令和5年度 情報セキュリティマネジメント試験 科目A 問4