中級
Digital Signature (デジタル署名)
デジタル署名とは、電子文書が本物であることを証明するための、電子的な署名だ。
#セキュリティ#暗号化#認証#データ完全性
公開: 2025年9月4日更新: 2025年9月6日
デジタル署名とは、電子文書における「印鑑」や「サイン」に相当する技術的な仕組みだ。公開鍵暗号方式を応用し、その文書が「正当な作成者によって作られたものであること(認証)」、「途中で改ざんされていないこと(完全性)」、そして「作成者が後からその事実を否認できないこと(否認防止)」の3点を同時に証明する。
デジタル署名の仕組み
デジタル署名は、ハッシュ関数と公開鍵暗号という2つの暗号技術の組み合わせで成り立っている。
- ハッシュ化: まず、送信者は元の文書(メッセージ)からハッシュ関数を用いて「ハッシュ値」という固定長の文字列を生成する。ハッシュ値は文書のダイジェスト(要約)であり、1文字でも文書が異なれば全く異なる値になるという特徴を持つ。
- 暗号化: 次に、送信者は自身の「秘密鍵」でこのハッシュ値を暗号化する。この暗号化されたハッシュ値こそが「デジタル署名」となる。
- 送信: 送信者は、元の文書とデジタル署名をセットで受信者へ送る。
デジタル署名の検証
受信者側では、以下の手順で署名が本物かどうかを検証する。
- ハッシュ化: 受信者は、受け取った元の文書を、送信者と同じハッシュ関数を使ってハッシュ化し、新しいハッシュ値を生成する。
- 復号: 同時に、受け取ったデジタル署名を、送信者の「公開鍵」を使って復号する。復号に成功すると、元のハッシュ値が得られる。
- 比較: 最後に、1で生成したハッシュ値と、2で復号したハッシュ値を比較する。両者が完全に一致すれば、その文書は「確かにその送信者が作成し、かつ改ざんされていない」ことが数学的に証明される。
もし第三者が途中で文書を改ざんした場合、1のハッシュ値が変化するため、2の値と一致しなくなり、不正が検知される。また、送信者本人しか持ち得ない秘密鍵で暗号化されているため、なりすましや否認は不可能だ。この仕組みを理解することは、情報セキュリティの基本中の基本だ。