ディジタル署名で作成と検証に使う鍵の正しい組合せ
情報セキュリティマネジメント試験 令和元年度秋期 午前 問20 / セキュリティ › 情報セキュリティ
過去問にチャレンジ
ディジタル署名に用いる鍵の組みのうち、適切なものはどれか。

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