応用情報技術者試験の暗号応用技術:デジタル署名とは?
デジタル署名(Digital Signature)とは、電子的な文書の「作成者の正当性」と「内容の改ざんがないこと」を保証する技術です。
公開鍵暗号方式とハッシュ関数を組み合わせて実現され、送信者の認証・改ざん検出・否認防止などの目的で使用されます。
デジタル署名の目的
- 真正性の確認: 送信者が本物であることを証明する
- 改ざん検出: 途中で内容が変更されていないことを確認する
- 否認防止: 送信者が送った事実を後から否定できないようにする
デジタル署名の仕組み
- 送信者が文書にハッシュ関数を適用し、ハッシュ値(ダイジェスト)を作成
- このハッシュ値を送信者の秘密鍵で暗号化する → これが「デジタル署名」
- 文書と署名を受信者に送信
- 受信者は、送信者の公開鍵で署名を復号し、ハッシュ値を取り出す
- 文書に同じハッシュ関数を適用し、ハッシュ値を比較 → 一致すれば正当性が確認できる
図で表すと
【送信者】
文章 → ハッシュ関数 → ハッシュ値 → 秘密鍵で暗号化 → デジタル署名作成
↓
【文書 + 署名】を受信者へ送付
↓
【受信者】
公開鍵で署名を復号 → ハッシュ値(送信者が作成した)
文書にハッシュ関数を適用 → ハッシュ値(受信者が計算した)
→ 両者が一致すれば「改ざんなし」「本人の署名」だと確認できる
公開鍵と秘密鍵の使い方
- 暗号化通信(秘匿)では:受信者の公開鍵で暗号化 → 秘密鍵で復号
- デジタル署名(証明)では:送信者の秘密鍵で署名 → 公開鍵で検証
電子証明書との関係
- 送信者の公開鍵が本物かどうかを保証するのが「電子証明書」
- 電子証明書は認証局(CA)によって発行される
- 証明書があれば、公開鍵を安心して信頼できる
デジタル署名の活用例
- 電子契約書・電子申請
- ソフトウェアの正当性確認(コード署名)
- メールの署名(S/MIMEなど)
応用情報技術者試験での出題ポイント
- 署名と暗号化の使い分け(鍵の役割)
- ハッシュ関数と署名の組み合わせ
- 署名の検証手順と、なぜ正しいかの理屈
- 電子証明書や認証局との関係
学習のコツ
- 「誰がどの鍵を使うのか?」を図で整理する
- 署名の目的(本人確認・改ざん検出)を意識する
- 「デジタル署名 ≠ 電子署名」ではなく、「電子署名の実現手段の1つ」がデジタル署名だと理解する
まとめ
- デジタル署名: 文書の送信者と改ざんの有無を確認する技術
- 秘密鍵で署名し、公開鍵で検証
- ハッシュ関数+公開鍵暗号で構成される
- 試験では「仕組み」「鍵の使い方」「電子証明書との関係」が頻出
デジタル署名は、電子的な信頼を保証する上で欠かせない仕組みです。
応用情報技術者試験では、署名の流れ・目的・技術的背景(ハッシュ関数や公開鍵暗号方式)を総合的に理解することが求められます。