デジタル署名とは

デジタル署名(電子署名)とは、インターネットを介して送信される電子文書やメールにおいて、「本当に本人が作成して送信したものか(なりすましの防止)」と「途中で内容が書き換えられていないか(改ざんの防止)」を証明するための技術です。公開鍵暗号方式の仕組みを応用しており、送信者は自分だけの「秘密鍵」を使って文書のハッシュ値(データから生成した短い値)を暗号化して署名を作成し、受信者は送信者の「公開鍵」を使ってそれを復号・検証することで、正当性を確認します。
具体例
例えば、役所がオンラインで発行する証明書や、企業間の電子契約書を交わす場面で使われます。契約書のPDFファイルに社長がデジタル署名を付与して相手に送信します。受け取った側は、そのPDFをパソコンで開くと「この文書は社長の秘密鍵で署名されており、署名されてから一切改ざんされていません」という検証結果が表示されます。これにより、紙の契約書に押す「実印」や「サイン」と同じ法的な効力を持たせることができます。
もう少し詳しく
デジタル署名の作成と検証の具体的なメカニズムは以下の通りです。 【署名の作成手順(送信者側)】 1. 送信者は、送信する電子文書を「ハッシュ関数」に入力し、文書特有の固定長データである「ハッシュ値」を算出します。 2. 送信者は、自分だけが持っている「秘密鍵」を使って、算出したハッシュ値を暗号化します。この暗号化されたハッシュ値が「デジタル署名」となります。 3. 電子文書本体に、このデジタル署名を添付して相手に送信します。 【署名の検証手順(受信者側)】 1. 受信者は、受け取った文書本体を同じハッシュ関数に入力し、ハッシュ値(A)を算出します。 2. 同時に、受け取ったデジタル署名を送信者の「公開鍵」を使って復号し、元のハッシュ値(B)を得ます。 3. (A)と(B)の値を比較します。両者が完全に一致すれば、「送信者の秘密鍵で作成された署名であること(本人の確認)」および「送信後にデータが1文字も改ざんされていないこと(完全性の確認)」が同時に証明されます。 ただし、送信者の公開鍵自体が偽物である可能性に対処するため、「認証局(CA)」が発行する「デジタル証明書(公開鍵証明書)」を利用して公開鍵の正当性を保証する仕組み(PKI: 公開鍵基盤)が併せて使われます。
試験でのポイント
試験では、デジタル署名における「鍵の使い方」と「得られる効果(証明できる内容)」が繰り返し出題されます。鍵の使い方については、公開鍵暗号方式の暗号通信とは逆になり、「送信者の秘密鍵で署名(暗号化)を作成し、送信者の公開鍵で署名(復号)を検証する」というプロセスを正確に選べるかどうかがポイントです。また、デジタル署名によって「送信元が本人であること(なりすましの防止)」と「データが改ざんされていないこと(改ざんの防止)」を証明できる一方で、「データ本体を暗号化して盗聴を防ぐ効果はない(署名はハッシュ値のみを暗号化したものなので、文書自体は平文で読める)」という引っ掛けパターンも非常によく問われます。さらに、データの一方向の要約値を作る「ハッシュ関数」の役割についても整理しておきましょう。
関連する用語
デジタル署名に関連する用語には、データの要約値を出力する「ハッシュ関数」、公開鍵の正当性を証明する機関「認証局(CA)」、そして暗号技術と信頼の基盤となる「PKI(公開鍵基盤)」があります。これらを繋げることでデジタル社会の信頼の仕組みが理解できます。