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

ディジタル署名で作成と検証に使う鍵の正しい組合せ

情報セキュリティマネジメント試験 令和元年度秋期 午前 問20 / セキュリティ › 情報セキュリティ

過去問にチャレンジ

令和元年度秋期 午前 問20

ディジタル署名に用いる鍵の組みのうち、適切なものはどれか。

令和元年度秋期 午前 問20の図
  1. ア

    作成に用いる鍵:共通鍵,検証に用いる鍵:秘密鍵

  2. イ

    作成に用いる鍵:公開鍵,検証に用いる鍵:秘密鍵

  3. ウ

    作成に用いる鍵:秘密鍵,検証に用いる鍵:共通鍵

  4. エ

    作成に用いる鍵:秘密鍵,検証に用いる鍵:公開鍵

会話形式の解説

講師講師
今回は、ディジタル署名を「作るとき」と「確かめるとき」に、それぞれどの鍵を使うかを選ぶ問題です。選択肢には共通鍵、秘密鍵、公開鍵の3種類が出てくるので、まずどの方式の鍵なのかに注目してください。
受験者受験者
私は暗号化通信の「公開鍵で暗号化して、秘密鍵で復号する」という流れを覚えているので、作成に公開鍵、検証に秘密鍵の組合せが正しいように思えてしまいます。
講師講師
その組合せは、署名の目的から考えると成り立ちません。ディジタル署名の目的は「署名できるのは本人だけで、検証は誰でもできる」ことです。公開鍵は誰でも入手できる鍵です。そのため、作成に使うと誰でも署名できてしまい、本人が作ったことを確認できなくなります。
受験者受験者
なるほど。本人しか持っていない鍵で作らないと、署名の意味がないということですね。そうすると、作成には秘密鍵を使うのですか。
講師講師
そのとおりです。署名者の秘密鍵で作成し、対になる署名者の公開鍵で検証します。秘密鍵は本人しか持っていないので、公開鍵で検証できれば、本人が送ったことと、改ざん(内容の書き換え)がないことの2点を確認できます。
受験者受験者
作成に秘密鍵、検証に共通鍵という組合せもありました。作成の鍵が合っているので、検証は共通鍵でもよいのではと迷いました。
講師講師
そこが紛らわしいところです。共通鍵は共通鍵暗号方式(送る側と受ける側が同じ鍵を使う方式)の鍵で、署名に使う公開鍵暗号方式の鍵ペアとは別の仕組みです。秘密鍵とペアになるのは公開鍵だけなので、共通鍵では検証が成立しません。
受験者受験者
作成に共通鍵、検証に秘密鍵という組合せも、同じ理由で外れますね。共通鍵だと誰が作ったのか分からない気がします。
講師講師
はい。共通鍵は共有している全員が同じ操作をできるので、誰が作成したのかを証明できず、否認防止(後から「送っていない」と言えなくすること)にもなりません。ディジタル署名は秘密鍵と公開鍵の鍵ペアを使う、と押さえれば、共通鍵を含む選択肢はまとめて外せます。
受験者受験者
整理すると、署名は「署名者の秘密鍵で作成し、署名者の公開鍵で検証」、暗号化通信は「受信者の公開鍵で暗号化し、受信者の秘密鍵で復号」で、鍵の使い方が逆になるということですね。
講師講師
よく整理できています。この2つを混同させる選択肢はよく出題されるので、誰の鍵を使うのかまで意識して覚えてください。補足すると、実際の署名ではメッセージのハッシュ値に秘密鍵で署名する流れが一般的です。また、検証に使う公開鍵が本当に本人のものかどうかは、PKI(公開鍵基盤)や電子証明書で保証する必要があります。

まとめ

ディジタル署名は、共通鍵ではなく公開鍵暗号方式の鍵ペア(秘密鍵と公開鍵)を使う仕組みです。署名は本人しか持たない署名者の秘密鍵で作成し、誰でも入手できる署名者の公開鍵で検証します。これにより、改ざんされていないことと署名者本人であることの2点を確認できます。共通鍵は複数の人が同じ鍵を持つため署名者を特定できず、署名には向きません。暗号化通信の「受信者の公開鍵で暗号化し、受信者の秘密鍵で復号」とは鍵の使い方が逆になるので、混同しないよう注意が必要です。

解答・解説

正解はエです

この問題のテーマ

ディジタル署名(本人が作ったことを示す電子的な印)を作るときと確かめるときに、どの鍵を使うかを選ぶ問題です。公開鍵暗号方式の秘密鍵と公開鍵が、それぞれ何に使われるかを問われています。

解き方の考え方

最初に、選択肢に共通鍵が含まれていないかを確かめます。ディジタル署名は公開鍵暗号方式の鍵ペア(秘密鍵と公開鍵)を使うので、共通鍵を含むアとウは外れます。次に、署名の目的「署名できるのは本人だけ、検証は誰でもできる」と照らします。本人しか持たない秘密鍵で作成し、誰でも入手できる公開鍵で検証する組み合わせを選びます。したがって、エが正解です。

選択肢ごとの解説

  1. ×ア  作成に用いる鍵:共通鍵,検証に用いる鍵:秘密鍵
    作成に共通鍵、検証に秘密鍵を使うという組み合わせです。共通鍵は共有している全員が同じ操作をできるため、誰が作成したのかを証明できず、否認防止(あとから「自分は作っていない」と言えないこと)にもなりません。また、検証に使うのは秘密鍵ではありません。したがって、誤りです。
  2. ×イ  作成に用いる鍵:公開鍵,検証に用いる鍵:秘密鍵
    作成に公開鍵、検証に秘密鍵を使うという組み合わせです。これは正しい形と鍵の役割が逆です。公開鍵は誰でも入手できるので、作成に使うと誰でも署名でき、本人が作ったことを確認できません。したがって、誤りです。
  3. ×ウ  作成に用いる鍵:秘密鍵,検証に用いる鍵:共通鍵
    作成に秘密鍵、検証に共通鍵を使うという組み合わせです。作成に秘密鍵を使う点は正しいものの、秘密鍵と対になるのは公開鍵です。共通鍵とは対応関係がないため、検証できません。したがって、誤りです。
  4. ○エ  作成に用いる鍵:秘密鍵,検証に用いる鍵:公開鍵
    作成に秘密鍵、検証に公開鍵を使うという組み合わせです。秘密鍵は本人しか持たないため、対応する公開鍵で検証できれば、本人が送ったことと改ざんされていないことを確認できます。これが署名での正しい鍵の使い方です。したがって、正しい組み合わせです。

補足

公開鍵暗号で暗号化通信をする場合は「受信者の公開鍵で暗号化し、受信者の秘密鍵で復号」します。署名とは鍵の使い方が逆になるため、この2つを混同させる選択肢がよく出題されます。実際の署名では、メッセージのハッシュ値に秘密鍵で署名する流れが一般的です。また、検証に使う公開鍵が本当に本人のものかどうかは、PKIや電子証明書によって保証する必要があります。

POINT

  • ディジタル署名には、公開鍵暗号方式の鍵ペア(秘密鍵と公開鍵)を使います。
  • 署名の作成には署名者の秘密鍵を使い、検証には署名者の公開鍵を使います。
  • ディジタル署名で確認できるのは、改ざんされていないことと署名者本人であることの2点です。
  • 共通鍵は複数の人が同じ鍵を持つため、署名者を特定する用途には向きません。

※出典:令和元年度秋期 情報セキュリティマネジメント試験 午前 問20(一部改変)