署名鍵/検証鍵 【signing key/validation key】 署名生成鍵/署名検証鍵
概要
署名鍵/検証鍵(signing key/validation key)とは、公開鍵暗号を応用した電子署名(デジタル署名)で、一対の鍵のうち署名を作成するための鍵(署名鍵)と署名を検証するための鍵(署名鍵)。署名鍵が秘密鍵に、検証鍵が公開鍵に対応する。公開鍵暗号は数学的に簡単に解けない問題を利用して一対の値のペアを作成し、片方で暗号化、もう一方で復号する暗号方式である。鍵の持ち主は暗号化に用いる鍵は公開して相手方に渡し、復号に用いる鍵は誰にも知られないよう手元で秘匿して保管する。前者を「公開鍵」、後者を「秘密鍵」という。
デジタル署名ではこの公開鍵暗号の原理を応用し、鍵ペアの持ち主は手元の署名鍵(秘密鍵)を用いてメッセージから一定の計算手順で署名データを作成する。署名を受け取った検証者は、持ち主が公開している検証鍵(公開鍵)をデジタル証明書などの形で取り寄せ、受信したメッセージの内容から所定の計算手順で署名データを算出する。これが持ち主の送ってきた署名に一致すれば、その署名は確かに持ち主しか知らない署名鍵で作成され、メッセージも改竄されていないと確認できる。
署名鍵と検証鍵は巨大な素数同士の積など数学的に関連した値のペアとなっており、ある署名鍵で作成された署名が、ペアの検証鍵以外の値で検証されることはない。また、受信したメッセージや署名、公開されている検証鍵をもとに、対になる署名鍵を算出する効率的な方法は見つかっておらず、現実的な時間で署名鍵を割り出すことはできないようになっている。
(2022.4.6更新)