デジタル署名とは(全体像)
デジタル署名とは、公開鍵暗号のしくみを応用して、「その文書を本当に本人が作ったか」「途中で改ざんされていないか」を確かめる、電子的な署名(サイン)のことだ。
ポイントは、鍵の使い方が、暗号化のときとは逆になること。
- 署名するとき … 送信者が、自分の秘密鍵で署名する
- 検証するとき … 受信者が、送信者の公開鍵で確かめる
ここで一番のポイント。デジタル署名は、秘密鍵で署名し、公開鍵で検証する。「公開鍵で署名する」と思い込むと誤りで、署名できるのは秘密鍵をもつ本人だけ、確認はだれでも公開鍵でできる、という関係だ。
詳しく:暗号化と逆の鍵づかいと、3つの効果
ここが心臓部。ポイントを表で押さえよう。
デジタル署名のポイント
| 項目 | やさしい意味 |
|---|---|
| 署名 | 送信者が自分の秘密鍵で署名する |
| 検証 | 受信者が送信者の公開鍵で確かめる |
| 暗号化との違い | 鍵の使い方が逆(署名は秘密鍵) |
| 3つの効果 | 本人性・非改ざん性・否認防止 |
デジタル署名には、3つの効果がある。本人性(本人が作ったと分かる)・非改ざん性(途中で変えられていないと分かる)・否認防止(あとで「やっていない」と言い逃れできない)だ。
ここで一番のポイント。署名に使うのは秘密鍵、検証に使うのは公開鍵で、暗号化(公開鍵で暗号化・秘密鍵で復号)とは逆だ。「署名でも、暗号化と同じ鍵づかいだ」と思い込むと誤りになる。なお、デジタル署名は、法律(電子署名法)によって、手書きの署名や押印と同じように扱われる場合がある。
わかりやすく言い換えると
身近なたとえで整理しよう。
デジタル署名は、「本人にしか押せないハンコ(秘密鍵)を押し、だれでも本物か確かめられる(公開鍵)しくみ」のイメージ。要するに、本人確認と改ざんチェックを両立する。
暗号化と逆の鍵づかいは、「暗号化は公開鍵でかけるが、署名は秘密鍵でする」こと。つまり、目的によって鍵の役割が入れかわる。
3つの効果は、「本人が作った・変えられていない・あとで否定できない、を保証すること」こと。
試験のツボ
🔴 一番出る:秘密鍵で署名・公開鍵で検証
①送信者が秘密鍵で署名し、受信者が公開鍵で検証する
②暗号化(公開鍵で暗号化)とは鍵づかいが逆
🔴 次に出る:3つの効果
①本人性(本人が作った)・非改ざん性(変えられていない)
②否認防止(あとで「やっていない」と言えない)
🟡 押さえると安定:ハッシュとの関係
①署名は、データのハッシュ値に対して行う
②電子署名法で、手書き署名・押印と同等に扱われる場合がある
よくある間違い
①「デジタル署名は、公開鍵で署名する」→ ✗ 署名は秘密鍵で行い、検証を公開鍵で行う。鍵づかいが逆。
②「署名でも、暗号化と同じ鍵づかいをする」→ ✗ 暗号化は公開鍵でかけるが、署名は秘密鍵でする。逆になる。
③「デジタル署名は、データを秘密にするためのものだ」→ ✗ 秘密にする(暗号化)ではなく、本人確認と改ざん検知のためのもの。
試験での出題パターン
実際の問題でたしかめてみよう。
オリジナル問題1(デジタル署名の正体)
デジタル署名に関する次の記述のうち、最も適切なものはどれか。
- 送信者が秘密鍵で署名し、受信者が公開鍵で検証するしくみである
- 社員の出退勤を記録して、毎月の給与を計算するためのしくみだ
- 取引先へ毎月の請求書を郵送する、決まった事務作業のことを指す
- 完成したシステムを宣伝して、より多く売るための広告活動である
解答は 1 である。
デジタル署名は、送信者が秘密鍵で署名し、受信者が公開鍵で検証するしくみじゃ。本人にしか押せぬハンコと心得るがよい。
選択肢2は給与計算、選択肢3は請求書の事務、選択肢4は広告ゆえ、どれも違うのじゃ。
| 選択肢 | 判定 | 理由 |
|---|---|---|
| 1 | ✓ | 秘密鍵で署名・公開鍵で検証で正しい |
| 2 | ✗ | 給与計算のしくみではない |
| 3 | ✗ | 請求書の事務の話 |
| 4 | ✗ | 広告活動ではない |
オリジナル問題2(3つの効果)
デジタル署名の効果に関する次の記述のうち、最も適切なものはどれか。
- 社員の給与を計算するときだけ、現れるとされているものである
- 本人性・非改ざん性・否認防止という3つの効果があるものだ
- 取引先への請求書の枚数しだいで、決まるとされているのである
- システムの動きが、少しだけ速くなるとされているものである
解答は 2 である。
デジタル署名には、本人性・非改ざん性・否認防止の3つの効果があるのじゃ。本人確認と改ざんチェックを両立すると心得るがよい。
選択肢1の給与、選択肢3の請求書、選択肢4の「速くなる」は、いずれも違うのじゃ。
| 選択肢 | 判定 | 理由 |
|---|---|---|
| 1 | ✗ | 給与計算で現れるのではない |
| 2 | ✓ | 本人性・非改ざん性・否認防止で正しい |
| 3 | ✗ | 請求書の枚数で決まるのではない |
| 4 | ✗ | 速くなるものではない |
オリジナル問題3(鍵の使い方)
デジタル署名の鍵の使い方に関する次の記述のうち、最も適切なものはどれか。
- 社員の給与を計算するときだけ、使われるとされているものだ
- 取引先への請求書の枚数しだいで、決まるとされているのである
- 署名は秘密鍵で行い、暗号化とは鍵の使い方が逆になるのだ
- 公開鍵で署名し、秘密鍵で検証するものだとされているのだ
解答は 3 である。
署名は秘密鍵で行い、検証は公開鍵じゃ。暗号化(公開鍵で暗号化)とは鍵づかいが逆と心得るがよい。
選択肢1の給与、選択肢2の請求書、選択肢4の「公開鍵で署名」は、いずれも違うのじゃ。
| 選択肢 | 判定 | 理由 |
|---|---|---|
| 1 | ✗ | 給与計算のときだけではない |
| 2 | ✗ | 請求書の枚数で決まるのではない |
| 3 | ✓ | 署名は秘密鍵・暗号化と逆で正しい |
| 4 | ✗ | 秘密鍵で署名・公開鍵で検証が正しい |
まとめ
押さえどころ
- 🔴 鍵の使い方 = 送信者が秘密鍵で署名し、受信者が公開鍵で検証する。暗号化(公開鍵で暗号化)とは鍵づかいが逆。
- 🔴 3つの効果 = 本人性(本人が作った)・非改ざん性(変えられていない)・否認防止(あとで否定できない)。
- 🟡 ハッシュ・法律との関係 = 署名はデータのハッシュ値に対して行う。電子署名法で、手書き署名・押印と同等に扱われる場合がある。
次に学ぶ
- 公開鍵暗号(RSA・ECC) ── ペアの鍵を使う方式。デジタル署名は、この鍵を逆向きに応用する。
- ハッシュ関数(SHA-256) ── データを固定長の値に変換する関数。署名は、このハッシュ値に対して行う。
執筆: SikakuQuest編集部