戦国IT - 情報処理技術者試験の過去問対策サイト
ブログお知らせお問い合わせ料金プラン

情報セキュリティマネジメント 2017年 秋期 午前(科目A)24


問題文

ディジタル署名における署名鍵の使い方と、ディジタル署名を行う目的のうち、適切なものはどれか。

選択肢

受信者が署名鍵を使って、暗号文を元のメッセージに戻すことができるようにする。
送信者が固定文字列を付加したメッセージを署名鍵を使って暗号化することによって、受信者がメッセージの改ざん部位を特定できるようにする。
送信者が署名鍵を使って署名を作成し、その署名をメッセージに付加することによって、受信者が送信者を確認できるようにする。(正解)
送信者が署名鍵を使ってメッセージを暗号化することによって、メッセージの内容を関係者以外に分からないようにする。

🔒 解説は解答すると表示されます

ディジタル署名の役割【情報セキュリティマネジメント解説】

正解の理由

送信者が自分の署名鍵(秘密鍵:private key)で署名を作成し、その署名をメッセージに付加することで、受信者は送信者の公開鍵(public key)を使って「そのメッセージが確かにその送信者によって作られた」ことと「メッセージが改ざんされていない」ことを確認できます。これが設問の選択肢の中で最も適切な説明であり、したがって が正解です。
補足説明:
  • 署名鍵(ここでは秘密鍵)と公開鍵は対になった鍵で、これは公開鍵暗号方式(public-key cryptography:公開鍵と秘密鍵を用いる暗号方式)による仕組みです。
  • 実際はメッセージそのものではなく、メッセージのハッシュ(ハッシュ関数:入力を固定長の値に変換する関数)に秘密鍵で署名をして、それを受信者が公開鍵で検証します。これにより本人性(送信者確認)と完全性(改ざん検出)、および否認防止(送信者が後で「自分が署名していない」と主張しにくくする)が得られます。

解法ステップ

  1. 「署名鍵を使って…」とある場合、まず鍵が「署名(認証・完全性)」を目的とするものか「暗号化(機密性)」を目的とするものかを区別する。
  2. 公開鍵暗号方式の基本を思い出す:署名は通常「送信者の秘密鍵で作成、受信者は送信者の公開鍵で検証」する。暗号化(機密性)は「受信者の公開鍵で暗号化し、受信者が自分の秘密鍵で復号する」。
  3. 選択肢を読んで、目的(送信者確認=認証、改ざん検出=完全性、機密性=内容秘匿)と鍵の使い方が整合している記述を選ぶ。
  4. 合致するのは の説明(送信者が署名鍵で署名を作成し、受信者が送信者を確認できる)だけである。

選択肢別の誤答解説

  • ア: 「受信者が署名鍵を使って、暗号文を元のメッセージに戻す」
    誤り。暗号文の復号(機密性の回復)は受信者の秘密鍵で行う(または共通鍵)。署名鍵は復号のための鍵ではなく、署名の作成に使う秘密鍵であり、復号に用いない。
  • イ: 「固定文字列を付加して署名鍵で暗号化し、受信者が改ざん部位を特定できるようにする」
    誤り。署名はメッセージのハッシュに署名して改ざんの有無を検出する仕組みであり、改ざんされた「部位(どの位置が改ざんされたか)」までは特定できません。また「固定文字列を付加して署名鍵で暗号化する」という手順は一般的なデジタル署名の説明と合致しません。
  • エ: 「送信者が署名鍵を使ってメッセージを暗号化することで機密性を保つ」
    誤り。送信者が自分の秘密鍵でメッセージを暗号化しても、受信者は送信者の公開鍵でそれを復号できてしまい、第三者に内容が漏れる可能性があります(公開鍵は公開されているため)。機密性を確保するには受信者の公開鍵で暗号化するか、共通鍵暗号を用います。署名は主に認証・完全性のためです。

よくある誤解

  • 誤解1:署名=暗号化と思い込む。
    多くの人は「鍵で暗号化すれば内容が守られる」と混同しますが、署名は「誰が作ったか」と「改ざんの有無」を示すもので、内容を隠すものではありません。
  • 誤解2:署名で改ざん箇所がわかると思う。
    署名は「一致するかどうか」を教えますが、どの部分が改ざんされたかを自動的に示す仕組みではありません。差分検査など別の手順が必要です。
  • 誤解3:公開鍵は秘密にすべきだと思う。
    公開鍵はその名の通り公開するものです。公開鍵が公開されていても安全に署名の検証ができます。秘密にするのは秘密鍵の方です。

補足コラム

実際の処理の流れ(簡単なイメージ):
  1. 送信者はメッセージMからハッシュ値H(M)を計算する。
  2. 送信者は自分の秘密鍵でH(M)に対して署名操作を行い、署名Sを作る。
  3. メッセージMと署名Sを受信者に送る。
  4. 受信者は自分でH(M)を計算し、送信者の公開鍵でSを検証して一致すれば正当性を確認する。
用途の例:
  • 電子契約書や報告書の「誰が承認したか」を証明する。
  • ソフトウェア配布で「配布元が正しい」ことを示す(コード署名)。
  • 電子メールで送信者の正当性を示す(S/MIMEなど)。
運用面の注意点(職場でのイメージ):
  • 鍵管理が重要です。秘密鍵は厳重に保管し、漏えいしたらすぐに失効手続き(公開鍵基盤:PKIでの失効リスト)を行う必要があります。
  • 署名は法的証拠にもなる場合があるため、誰がどの鍵をいつ使ったかの管理ログを残すとよいです。

FAQ

Q1: ディジタル署名はメッセージを隠せますか?
A1: いいえ。署名は送信者確認と改ざん検出のためで、メッセージを秘匿する機能はありません。機密性は暗号化(受信者の公開鍵で暗号化するなど)で確保します。
Q2: 署名を検証したら完全に安全ですか?
A2: 基本的な確認はできますが、秘密鍵が漏れていたり、ハッシュアルゴリズムに弱点があると偽造される可能性があります。鍵の管理とアルゴリズムの更新が重要です。
Q3: 署名で改ざんされた箇所を知る方法はありますか?
A3: 署名自体は「一致/不一致」しか示しません。改ざん箇所を特定するには、元のメッセージのバックアップとの比較や差分検査が必要です。

関連キーワード: ディジタル署名、公開鍵暗号方式、秘密鍵、公開鍵、ハッシュ関数、完全性、認証、否認防止、署名検証、鍵管理
← 前の問題へこの年度をクイズで解く次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

情報セキュリティマネジメント
クイズ形式で学習しませんか?

クイズ画面へ遷移する

すぐに利用可能!

©︎2026 情報処理技術者試験対策アプリ

このサイトについてブログプライバシーポリシー利用規約特商法表記開発者について