【でじたるしょめい】

デジタル署名 とは?

最終更新:
💡 秘密鍵で署名し、公開鍵で確かめる

秘密鍵でデータに署名を生成し、対応する公開鍵で検証する仕組み。署名後の変更の検知と署名者の確認に使う。署名者の身元の確認には、公開鍵と本人の対応を信頼できる方法で確かめる必要がある。

📌 このページのポイント
署名する側検証する側元データ秘密鍵署名を生成署名を付けるデータ+署名元データ公開鍵署名を検証変更を検知本人の確認には、公開鍵と身元の対応も確認署名だけでは内容を隠さない
秘密鍵で生成した署名を、元データと公開鍵を使って検証する。鍵と本人の対応の確認や秘密鍵の保護も必要。
ひよこ ひよこ
どういう仕組みなの?
ペンギン先生 ペンギン先生
署名する側が元データと秘密鍵を使って署名を作り、検証する側へ元データと署名を渡す。検証側は対応する公開鍵を使って確かめるよ。RSAやECDSAではデータのハッシュ値も使うけれど、署名全般を「秘密鍵で暗号化して公開鍵で復号する」と説明するのは正確ではないんだ。
ひよこ ひよこ
公開鍵があれば本人だと分かるの?
ペンギン先生 ペンギン先生
その公開鍵が誰のものかを確かめる必要があるよ。例えば信頼できる認証局の証明書で、公開鍵と署名者の身元の対応を確認する。秘密鍵を適切に守ることも大切で、盗まれると他人が署名できてしまうんだ。
ひよこ ひよこ
暗号化との違いは?
ペンギン先生 ペンギン先生
暗号化は内容を他人に読まれないようにするために使う。署名は署名者の確認やデータの変更の検知に使うよ。署名を付けても元データの内容は隠れないので、機密性も必要なら暗号化を組み合わせるんだ。
ひよこ ひよこ
「否認防止」って何?
ペンギン先生 ペンギン先生
後から「自分の署名ではない」と言われたときに、署名を証拠として確かめられるという考え方だよ。ただし鍵の管理や本人との対応も重要。検証失敗も、改ざんと決めつけず、公開鍵や署名形式が違う可能性などを調べる必要があるんだ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「デジタル署名」って出てきたら「秘密鍵で署名し、公開鍵で署名者や改ざんを確かめる仕組み」と思えばだいたいOK!
📖 おまけ:英語の意味
「Digital Signature」 = デジタルな署名
💬 手書きのサインになぞらえた言葉だけど、サインの画像を貼るのではなく、鍵を使った計算で生成・検証するんだ

参考資料

← 用語集にもどる