マナビングITパスポート

ハイブリッド暗号方式で本文と鍵を暗号化する鍵の種類を整理する

ITパスポート試験 令和5年度 問86 / セキュリティ › 情報セキュリティ対策・実装技術

過去問にチャレンジ

令和5年度 問86

ハイブリッド暗号方式を用いてメッセージを送信したい。メッセージと復号用の鍵の暗号化手順を表した図において,メッセージの暗号化に使用する鍵を(1)とし,(1)の暗号化に使用する鍵を(2)としたとき,図のa,bに入れる字句の適切な組合せはどれか。

令和5年度 問86の図
令和5年度 問86の図
  1. ア

    a:共通,b:公開

  2. イ

    a:共通,b:秘密

  3. ウ

    a:公開,b:共通

  4. エ

    a:公開,b:秘密

会話形式の解説

講師講師
この問題では、ハイブリッド暗号方式の図を読み解きます。ハイブリッド暗号方式は、共通鍵暗号方式と公開鍵暗号方式を組み合わせた方式です。図のaの鍵がメッセージの暗号化に使われ、そのaの鍵自体も受信者のbの鍵で暗号化されて送られます。それぞれどの種類の鍵が入るかを考えてみましょう。
受験者受験者
「公開」と「秘密」がペアなのは分かるのですが、どちらを何に使うのかで迷います。bは受信者の鍵なので、受信者だけが持つ秘密鍵かなと思いました。
講師講師
そこが一番の引っかけです。暗号化しているのは送信者だという点に注目してください。受信者の秘密鍵は受信者本人しか持っていないので、送信者は使えません。送信者が使えるのは、誰でも入手できる受信者の公開鍵です。
受験者受験者
なるほど、送信者の手元にある鍵でしか暗号化できないということですね。それなら、bを秘密とする組合せは外れます。
講師講師
そのとおりです。公開鍵で暗号化したものは、対になる秘密鍵でしか復号できません。だから受信者の公開鍵で暗号化すれば、取り出せるのは受信者だけになります。なお、秘密鍵で暗号化する使い方は、主に電子署名で見られるものです。
受験者受験者
では、aはどうでしょうか。公開鍵のほうが安全そうなので、メッセージ本文も公開鍵で暗号化すればよいように思えます。
講師講師
公開鍵暗号は処理が重いので、データ量の多い本文を暗号化すると負荷が高くなります。そこで本文は、処理が速く大量のデータに向いた共通鍵で暗号化します。例えばAESが共通鍵暗号、RSAが公開鍵暗号の代表例です。
受験者受験者
aを公開、bを共通にした組合せは、本文用の鍵と、鍵を暗号化する鍵の種類が入れ替わっているわけですね。
講師講師
はい。しかも、鍵を別の共通鍵で暗号化すると、今度はその共通鍵をどう相手に渡すかという鍵配送の問題が残ります。共通鍵暗号の弱点である鍵の受け渡しを、公開鍵暗号で補うのがハイブリッド暗号方式のねらいです。
受験者受験者
整理すると、本文は速い共通鍵で暗号化し、その共通鍵を受信者の公開鍵で暗号化して一緒に送ります。受信者は自分の秘密鍵で共通鍵を取り出し、その共通鍵でメッセージを復号します。だから、aが共通、bが公開の組合せが正解です。
講師講師
正確です。最後にもう一つ、aを公開、bを秘密とする組合せは、本文に公開鍵を使う点も、送信者が受信者の秘密鍵を使う点も誤りで、二重に外れています。
講師講師
関連知識として、電子署名では送信者が自分の秘密鍵で署名し、受信者が送信者の公開鍵で検証します。機密を守る暗号化とは鍵の使い方が逆なので、「誰の」「どの」鍵かを分けて覚えると引っかけを避けられます。ハイブリッド暗号方式は、TLSやS/MIMEといった身近な技術でも使われています。

まとめ

ハイブリッド暗号方式では、データ量の多いメッセージ本文を処理の速い共通鍵で暗号化し、その共通鍵を受信者の公開鍵で暗号化して一緒に送ります。受信者は自分の秘密鍵で共通鍵を取り出し、その共通鍵で本文を復号します。送信者は受信者の秘密鍵を持っていないので、暗号化に秘密鍵を使う選択肢は誤りです。本文に公開鍵を使うと処理の負荷が高く、鍵を共通鍵で暗号化すると鍵配送の問題が残ります。電子署名では送信者の秘密鍵で署名し送信者の公開鍵で検証するので、使い方を区別して覚えることが大切です。

解答・解説

正解はアです

この問題のテーマ

ハイブリッド暗号方式で、メッセージ本文を暗号化する鍵と、その鍵を暗号化するための鍵の種類を組み合わせる問題です。共通鍵暗号方式と公開鍵暗号方式を、それぞれどこで使うかを理解しているかが問われます。

解き方の考え方

図をたどると、(1)のa鍵はメッセージの暗号化に使われ、同時に受信者のb鍵で暗号化されて「暗号化されたa鍵」として、暗号化されたメッセージと一緒に送られます。ハイブリッド暗号方式では、データ量の多い本文は処理の速い共通鍵で暗号化します。その共通鍵は、受信者だけが取り出せるように受信者の公開鍵で暗号化します。受信者は自分の秘密鍵で共通鍵を復号し、その共通鍵でメッセージを復号します。したがって、aは共通、bは公開になります。

選択肢ごとの解説

  1. ○ア  a:共通,b:公開
    aを共通、bを公開とする組合せは、本文を共通鍵で暗号化し、その共通鍵を受信者の公開鍵で暗号化するというハイブリッド暗号方式の手順どおりです。共通鍵暗号の速さと、公開鍵暗号による安全な鍵の受け渡しを組み合わせた形になっています。
  2. ×イ  a:共通,b:秘密
    aを共通とする点は合っていますが、bを受信者の秘密鍵とする点が誤りです。受信者の秘密鍵は受信者本人しか持っていないので、送信者が暗号化に使うことはできません。秘密鍵で暗号化する使い方は、主に電子署名で見られるものです。
  3. ×ウ  a:公開,b:共通
    aを公開鍵、bを共通鍵とする組合せは、役割が逆になっています。本文は共通鍵で暗号化するのが基本で、大きなメッセージを公開鍵で暗号化すると処理の負荷が高くなります。また、鍵を別の共通鍵で暗号化しても、その共通鍵をどう渡すかという鍵配送の問題が残ってしまいます。
  4. ×エ  a:公開,b:秘密
    aを公開鍵とする点は、本文に高速な共通鍵暗号を使うというハイブリッド暗号方式の特徴に合いません。さらに、bを受信者の秘密鍵とする点も誤りで、送信者は受信者の秘密鍵を使えません。

補足

電子署名では、送信者が自分の秘密鍵で署名し、受信者が送信者の公開鍵で検証します。機密を守るための暗号化とは鍵の使い方が逆なので、「誰の」「どの」鍵を使うのかを分けて覚えるのが引っかけ対策になります。ハイブリッド暗号方式は、TLSやS/MIMEといった身近な技術でも使われています。

POINT

  • ハイブリッド暗号方式は、共通鍵暗号方式と公開鍵暗号方式を組み合わせた方式です。
  • メッセージ本文は、処理が高速で大量のデータに向いた共通鍵で暗号化します。
  • その共通鍵は受信者の公開鍵で暗号化して送り、受信者は自分の秘密鍵で取り出します。
  • 機密を守るための暗号化では、送信者は「受信者の公開鍵」を使い、受信者の秘密鍵は使えません。

※出典:令和5年度 ITパスポート試験 問86(一部改変)