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

情報セキュリティマネジメント 2016年 春期 午前(科目A)23


問題文

送信者Aが文書ファイルと、その文書ファイルのディジタル署名を受信者Bに送信したとき、受信者Bができることはどれか。ここで、受信者Bは送信者Aの署名検証鍵Xを保有しており、受信者Bと第三者は送信者Aの署名生成鍵Yを知らないものとする。

選択肢

ディジタル署名、文書ファイル及び署名検証鍵Xを比較することによって、文書ファイルに改ざんがあった場合、その部分を判別できる。
文書ファイルがウイルスに感染していないことを認証局に問い合わせて確認できる。
文書ファイルが改ざんされていないこと、及びディジタル署名が署名生成鍵Yによって生成されたことを確認できる。(正解)
文書ファイルとディジタル署名のどちらかが改ざんされた場合、どちらが改ざんされたかを判別できる。

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

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

正解の理由

送信者Aが持つ署名生成鍵(秘密鍵、Y)で作られた署名は、対応する署名検証鍵(公開鍵、X)で検証できます。受信者Bはその公開鍵Xを使って、受け取った文書と署名が整合しているかを確認できます。つまり、受信者Bは文書が改ざんされていないこと、かつ署名が送信者の秘密鍵Y(正確にはYに対応する鍵)によって生成されたことを確認できます。これが選択肢のに対応します。
ポイントを簡単に言うと:
  • ディジタル署名(digital signature)は「文書の改ざん検出」と「作成者の証明(なりすまし防止)」を提供します。
  • 受信者は公開鍵Xで署名を検証することで、その2つを確かめられます。
(用語注)
  • 公開鍵(Public Key、署名検証鍵X):誰でも知ってよい鍵で、署名の検証に使う。
  • 秘密鍵(Private Key、署名生成鍵Y):本人だけが持つ鍵で、署名の生成に使う。

解法ステップ

  1. 問題文の前提を整理する:受信者Bは送信者Aの署名検証鍵Xを持ち、署名生成鍵Yは知らない。
  2. ディジタル署名の基本機能を思い出す:署名は「ハッシュ関数(hash function:文書の要約を作る関数)」で作った要約を秘密鍵で変換して付ける仕組み。検証は公開鍵で元に戻し、受信文書のハッシュと比較する。
  3. 検証の結果から何が分かるかを判断する:一致すれば文書は改ざんされておらず、その署名は対応する秘密鍵で作られたと判断できる。よってが正しい。
  4. その他の選択肢が主張する能力(改ざん箇所の特定、ウイルス検査など)が署名検証だけで可能かを検討する。不可であれば誤り。

選択肢別の誤答解説

  • ア: 「改ざんがあった場合、その部分を判別できる」
    • 誤り。署名検証は「整合するか(yes/no)」を示すだけで、どのバイトやどの段落が改ざんされたかを教えてくれません。改ざん箇所の特定には差分比較やログ、バージョン管理など別の仕組みが必要です。
  • イ: 「文書がウイルスに感染していないことを認証局に問い合わせて確認できる」
    • 誤り。認証局(CA:Certificate Authority)は鍵の所有者を証明する機関であり、ウイルス検査は行いません。ウイルス検査はアンチウイルスソフトやサンドボックスなど別の対策が必要です。
  • : 「文書が改ざんされていないこと、及びディジタル署名が署名生成鍵Yによって生成されたことを確認できる」
    • 正しい。公開鍵Xでの検証により、文書の整合性と署名が対応する秘密鍵で作られたことを確認できます(前提としてXが確かにAの公開鍵であることが信頼されている場合)。
  • エ: 「どちらかが改ざんされた場合、どちらが改ざんされたかを判別できる」
    • 誤り。署名と文書のどちらが改ざんされたかを単独で識別することはできません。例えば署名が改ざんされていれば検証は失敗しますが、失敗の原因が署名か文書かは検証だけで判別できません。

よくある誤解

  1. 「署名検証でウイルスも検出できる」
    • 誤解です。署名はファイルの整合性と送信者の証明に役立ちますが、マルウェアの有無は検出できません。ウイルス対策は別途実施します。
  2. 「検証に成功すれば絶対に安全」
    • 部分的に正しいですが不完全です。署名検証が成功しても、公開鍵X自体が偽物だったり(鍵のなりすまし)、秘密鍵Yが漏れている場合は安全とは言えません。公開鍵の出所確認(証明書の検証や失効確認)が必要です。
  3. 「検証で改ざん箇所まで分かる」
    • これも誤解です。検証は一致/不一致を返すだけです。改ざん箇所を突き止めるには差分解析やログが必要です。

補足コラム

ディジタル署名の内部では通常、まずハッシュ関数で文書の要約(ダイジェスト)を作ります。ハッシュは小さな固定長の値で、元の文書が少し変わるだけで出力が大きく変わる性質があります。署名生成はそのハッシュを秘密鍵で処理する操作、検証は公開鍵で処理して得られたハッシュと受信文書のハッシュを比較する操作です。
運用上の注意点(職場での実務イメージ):
  • 受信者は単に公開鍵を持っているだけでなく、その公開鍵が確かにAのものであることを確認する必要があります。通常は送信者の公開鍵を証明書で受け取り、認証局(CA)が発行した証明書チェーンや失効情報(CRL/OCSP)を確認します。
  • 秘密鍵は強固に保護されるべきです(ハードウェアトークンやHSM:Hardware Security Moduleの利用)。秘密鍵が漏れると署名の信頼性は失われます。

FAQ

Q: 受信者が公開鍵Xだけ持っていれば、署名生成鍵Yが何かを知る必要はありますか?
A: いいえ。公開鍵Xだけで検証できます。秘密鍵Yの中身を知らなくても、対応関係(鍵ペア)さえ正しければ署名がYによって作られたかどうかを確認できます。
Q: 検証に失敗したとき、まず何を調べればよいですか?
A: まず公開鍵Xが正当なものか(正しい送信者のものか、証明書の有効性)を確認します。それが正しいなら、文書か署名のどちらかが改ざんまたは途中で破損した可能性があります。ウイルス感染や転送時のエラーも疑います。
Q: ディジタル署名はなりすまし防止と否認防止(non-repudiation)になる?
A: はい。署名を作成できるのは秘密鍵の所有者だけのはずなので、「その人が作った」ことの証拠になります。ただし、秘密鍵が漏れていたり、公開鍵の所有者確認が甘いと否認防止は弱まります。

関連キーワード: ディジタル署名、公開鍵暗号、ハッシュ関数、署名検証、認証局(CA)、改ざん検知、秘密鍵保護
← 前の問題へこの年度をクイズで解く次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

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

クイズ画面へ遷移する

すぐに利用可能!

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

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