ITパスポート 2009年 春期 問86
問題文
ディジタル署名に関する記述のうち、適切なものはどれか。
選択肢
ア:署名付き文書の公開鍵を秘匿できる。
イ:データの改ざんが検知できる。(正解)
ウ:データの盗聴が防止できる。
エ:文書に署名する自分の秘密鍵を圧縮して通信できる。
🔒 解説は解答すると表示されます
ディジタル署名に関する記述【ITパスポート 解説】
正解の理由
ディジタル署名は、送ったデータが途中で改ざんされていないかを受け手が確かめる仕組みです。具体的には、送信側が文書の「要約(ハッシュ)」を作り、それを自分の秘密鍵(プライベートキー)で暗号化して署名を作ります。受信側は公開鍵(パブリックキー)でその署名を復号(復元)し、文書から自分で計算したハッシュと照合します。照合が一致すれば、文書が改ざんされていないことが分かります。したがって、改ざん検出を示す選択肢である イ が正しいです。
(用語の簡単な説明)
- ディジタル署名(digital signature:電子的にデータの送信者確認と改ざん検出を行う仕組み)
- 秘密鍵(private key:本人だけが持つ暗号鍵で、署名や復号などに使う)
- 公開鍵(public key:誰でも使える暗号鍵で、署名の検証や暗号化に使う)
- ハッシュ関数(hash function:データを短い固定長の要約にする関数。わずかな変更でも結果が大きく変わる)
解法ステップ
- 問題文で「ディジタル署名」の目的を思い出す。ポイントは「改ざん検出」と「送信者の確認(なりすまし防止)」であること。
- 各選択肢がその目的に合うかをチェックする。
- 改ざんが検知できるか? → 合う(イ)
- 公開鍵を秘匿する?、盗聴防止?、秘密鍵を送る? → これらはディジタル署名の目的や運用と矛盾する。
- 正しい選択肢を選ぶ。理由は「署名の検証手順(ハッシュ化+秘密鍵で署名、公開鍵で検証)」に基づく。
(考え方の要点)
- 署名は「文書そのものを暗号化する」ものではなく、「文書の要約を署名する」ことで効率的に改ざんを検出する。
- 秘密鍵は本人のみが保持し、公開鍵は検証のために公開される。
選択肢別の誤答解説
-
ア: 署名付き文書の公開鍵を秘匿できる。
公開鍵(public key)は「公開するため」の鍵です。公開鍵を隠してしまうと誰も署名を検証できなくなります。公開鍵自体を隠すことは運用上意味がありません(公開鍵を配布しないなら署名の利点が失われます)。したがって不適切です。 -
イ: データの改ざんが検知できる。
正しい。ディジタル署名は、送信者がハッシュを秘密鍵で署名し、受信者が公開鍵で検証することで、改ざんがあったかどうかを確かめられます。これによりデータの整合性(改ざんの有無)と送信者の確認が可能です。 -
ウ: データの盗聴が防止できる。
間違い。盗聴(eavesdropping:第三者が通信内容を覗くこと)を防ぐためには暗号化(encryption:内容を読めないようにする)が必要です。ディジタル署名はデータの正当性と整合性を保証しますが、内容を秘密にする(機密性を保つ)ものではありません。暗号化と署名は別の目的です。ただし、署名と暗号化を併用すれば両方の効果が得られます。 -
エ: 文書に署名する自分の秘密鍵を圧縮して通信できる。
間違い。秘密鍵(private key)は絶対に他人に渡してはいけません。秘密鍵を送ると、その鍵で誰でも署名できるようになり、なりすましや重大なセキュリティ侵害を招きます。秘密鍵は端末内に安全に保管して使うもので、圧縮して送信するという運用は誤りです。署名は秘密鍵を使ってローカルで作成し、署名データそのもの(または署名付き文書)を送ります。
よくある誤解
-
「ディジタル署名はデータを暗号化するから内容が見えない」
→ 実際は署名は整合性と認証が目的で、機密性(内容を隠すこと)は暗号化の役割です。署名だけでは盗聴を防げません。 -
「公開鍵は秘密にしていい」または「秘密鍵はネットで渡しても大丈夫」
→ 公開鍵は検証のために広く公開することが前提です。逆に秘密鍵は厳重に保護し、他人に渡してはいけません。 -
「署名を見れば送信者が確実にその人だと分かる」
→ 署名はその秘密鍵を持つ人が作ったことを示しますが、公開鍵とその所有者を結びつける仕組み(証明書や認証局)がなければ、公開鍵自体が本当にその人のものか確認できません。認証のためには公開鍵基盤(PKI:Public Key Infrastructure)などが必要です。
補足コラム
-
署名の仕組み(簡易図)
- 送信者:文書 → ハッシュ関数で要約(短い固定長) → 秘密鍵で暗号化 → 署名を付けて送信
- 受信者:受け取った文書 → 同じハッシュ関数で要約 → 送られてきた署名を公開鍵で復号 → 2つのハッシュが一致すれば改ざんなし
-
実際の利用例
- ソフトウェアの配布で「このファイルは改ざんされていない」と示すコード署名。
- 電子メールの署名(例:S/MIME)。
- 電子契約書や電子申請での本人確認。
-
代表的なアルゴリズム
- RSA(公開鍵暗号の一種)やECDSA(楕円曲線を使う方式)がよく使われます。どちらも「秘密鍵で署名し、公開鍵で検証する」流れは同じです。
FAQ
Q. ディジタル署名と電子署名は同じですか?
A. 「電子署名」は広い意味で電子データに対する署名全般を指し、「ディジタル署名」は数学的な公開鍵暗号やハッシュを使った方法を指すことが多いです。試験ではディジタル署名=公開鍵を使った署名方式を想定することが多いです。
A. 「電子署名」は広い意味で電子データに対する署名全般を指し、「ディジタル署名」は数学的な公開鍵暗号やハッシュを使った方法を指すことが多いです。試験ではディジタル署名=公開鍵を使った署名方式を想定することが多いです。
Q. 署名を付ければ絶対に改ざんされない?
A. 署名自体は改ざん検出に強いですが、秘密鍵が漏れると不正な署名が作られるので危険です。秘密鍵の管理(パスフレーズ、専用ハードウェアなど)が重要です。
A. 署名自体は改ざん検出に強いですが、秘密鍵が漏れると不正な署名が作られるので危険です。秘密鍵の管理(パスフレーズ、専用ハードウェアなど)が重要です。
Q. 署名と暗号化はどちらを先にするべき?
A. 実務では「署名してから暗号化」することが多いです。こうすると受信者はまず暗号化を解除してから署名を検証できます。順番に注意が必要です。
A. 実務では「署名してから暗号化」することが多いです。こうすると受信者はまず暗号化を解除してから署名を検証できます。順番に注意が必要です。
関連キーワード: ディジタル署名、公開鍵暗号、秘密鍵、公開鍵、ハッシュ関数、整合性、認証、機密性、署名検証、PKI

\ せっかくなら /
ITパスポートを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

