基本情報技術者 2010年 春期 午前(科目A) 問40
問題文
ディジタル署名付きのメッセージをメールで受信した。受信したメッセージのディジタル署名を検証することによって、確認できることはどれか。
選択肢
ア:メールが、不正中継されていないこと
イ:メールが、漏えいしていないこと
ウ:メッセージが、改ざんされていないこと(正解)
エ:メッセージが、特定の日時に再送信されていないこと
🔒 解説は解答すると表示されます
ディジタル署名の検証【午前解説】
正解の理由
ディジタル署名はメッセージ本文から算出したハッシュ値を送信者の秘密鍵で暗号化して付加する技術です。受信側は送信者の公開鍵で署名を復号して得たハッシュ値と、自身で計算したメッセージのハッシュ値を比較します。一致すればメッセージは改ざんされていない(整合性が保たれている)ことが確認できます。また、公開鍵が正しく送信者に紐づく(信頼できる)場合には送信者の真正性や非否認性もある程度担保されます。したがって選択肢の中では「ウ: メッセージが、改ざんされていないこと」が正解です。
解法ステップ
- 問題文で「ディジタル署名を検証することによって、確認できること」を正確に把握する。
- ディジタル署名の基本機能(ハッシュ化+秘密鍵での署名、公開鍵での検証)を想起する。
- 各選択肢が「整合性」「機密性」「経路」「再送」のどれを表しているか対応づける。
- 署名で直接確認できるのは「整合性(改ざんの有無)」のみであるため、該当する選択肢を選ぶ。
選択肢別の誤答解説
- ア: メールが、不正中継されていないこと — 誤り。署名はメッセージ改ざんや送信者証明に寄与するが、メールがどの経路を通ったか(中継されたか)を検出する手段ではありません。経路制御やトレーシングは別技術(ログ、トレース、MTAの認証)で行います。
- イ: メールが、漏えいしていないこと — 誤り。漏えい(第三者による傍受)は機密性の問題であり、署名は機密性を提供しません。機密性は暗号化(例えばS/MIMEでの暗号化)により確保します。
- ウ: メッセージが、改ざんされていないこと — 正解。署名検証が成功すれば、メッセージ本文が送信時の状態から改ざんされていない(ハッシュ一致)ことが確認できます。
- エ: メッセージが、特定の日時に再送信されていないこと — 誤り。再送(リプレイ)検出にはタイムスタンプ、シーケンス番号、nonce等の追加情報やプロトコルが必要です。単純な署名だけでは再送の事実を否定できません。
よくある誤解
- 署名=暗号化と混同する誤解:署名は整合性と送信者証明を目的とし、メッセージの機密性(漏えい防止)を直接提供するものではありません。
- 署名で経路や中継の有無を判断できると考える誤解:署名はメッセージ内容の改ざん検出や署名者の証明に有効ですが、メールがどの経路を通ったか、中継されたかは分かりません。
- タイムスタンプがなくても再送(リプレイ)を防げるという誤解:再送やリプレイ攻撃の検出にはタイムスタンプや一意な識別子(nonce)など追加の仕組みが必要です。
補足コラム
- 本当の「送信者の証明」には公開鍵の正当性(その公開鍵が本当にその送信者に属するか)を確認する必要があります。これがPKI(認証局)や証明書の役割です。公開鍵が偽装されていれば署名検証は意味を成しません。
- 署名とメッセージの暗号化は別の操作です。メールで安全性を高めるには、署名(整合性・非否認性)と暗号化(機密性)を両方使うのが一般的です(例:S/MIME、PGP)。
- タイムスタンプ付き署名(RFC 3161 等のタイムスタンプサービス)を併用すれば、署名が生成された時刻の証明が得られ、一定のリプレイ防止や証拠性向上に役立ちます。
FAQ
Q1. 署名検証で「送信者が確かにその人」と言えますか?
A1. 公開鍵が確実にその送信者に紐づいている場合は送信者のキー保持が確認できますが、鍵の配布・管理が信頼できることが前提です。認証局や直接の鍵交換が重要です。
A1. 公開鍵が確実にその送信者に紐づいている場合は送信者のキー保持が確認できますが、鍵の配布・管理が信頼できることが前提です。認証局や直接の鍵交換が重要です。
Q2. 署名があればメールの内容を第三者に見られても問題ないですか?
A2. いいえ。署名は改ざん検出と送信者証明のためであり、内容の秘匿(漏えい防止)は暗号化が必要です。
A2. いいえ。署名は改ざん検出と送信者証明のためであり、内容の秘匿(漏えい防止)は暗号化が必要です。
Q3. 署名が検証できない場合は必ず改ざんされていますか?
A3. 必ずしも改ざんとは限らず、公開鍵の誤り、鍵の破損、署名の取り扱いミスなどの原因も考えられます。原因を切り分ける必要があります。
A3. 必ずしも改ざんとは限らず、公開鍵の誤り、鍵の破損、署名の取り扱いミスなどの原因も考えられます。原因を切り分ける必要があります。
関連キーワード: ディジタル署名、公開鍵暗号、ハッシュ関数、整合性、真正性、非否認性、タイムスタンプ、S/MIME、PGP、PKI、認証局、リプレイ攻撃、機密性

\ せっかくなら /
基本情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

