電子署名のモデル
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/06/20 17:58 UTC 版)
電子署名方式には鍵生成アルゴリズム、署名(生成)アルゴリズム、検証アルゴリズムという3つのアルゴリズムがある。 鍵生成アルゴリズムは事前準備にあたるアルゴリズムであって、署名をしたいと思うユーザは事前にこのアルゴリズムを実行する必要がある。ユーザがこのアルゴリズムを実行すると、アルゴリズムはそのユーザの公開鍵および秘密鍵(と呼ばれるデータ)を出力する。印鑑に例えていうと、秘密鍵は実印に対応するものであり、公開鍵は印鑑照合に使う台紙(印鑑登録証)に対応するものである。 ユーザは鍵生成アルゴリズムを実行するときに、セキュリティ・パラメータと呼ばれる値をこのアルゴリズムに入力する。セキュリティ・パラメータは、署名文を偽造することの困難さを表した尺度である。さらに鍵生成アルゴリズムには乱数も入力される。鍵生成アルゴリズムが実行されるたびに異なる乱数が選ばれるので、ユーザごとに異なる公開鍵・秘密鍵ペアが割り振られることになる。 各ユーザは秘密鍵(実印に相当)を他人が使用することができないように保管する一方、公開鍵(印鑑証明書に相当)を皆に公開する。ユーザの秘密鍵を知っている(使うことができる)のはユーザ自身だけであるのに対し、そのユーザの公開鍵は全てのユーザが容易に知りうることになる。公開鍵、秘密鍵をそれぞれ検証鍵、署名鍵ともいう。 一度事前準備をすませたユーザは、何度でも秘密鍵(署名鍵)を用いて電子文書に電子署名することができる。電子署名するには、まず署名生成アルゴリズムにメッセージを入力する。すると署名生成アルゴリズムはメッセージに対する署名者の署名文を出力する。署名を作成したユーザをその署名文に対する署名者という。 署名者は署名文を作成するときに、メッセージとともに自分の秘密鍵を入力する。署名者の秘密鍵を知っている(使うことができる)のは署名者本人だけのはずなので、署名者以外の人は同じ方法で同じ署名を作成することはできないことになり、この性質が電子署名を付した電子文書の作成者を識別する根拠になる。 署名者は、メッセージとそれに対する署名文を他のユーザに送る。 メッセージと署名文を受け取ったユーザ(検証者)は、これらを入力して検証アルゴリズムを実行することによって署名文が正しいかどうかを検証することができる。このとき、検証者は検証アルゴリズムに署名者(だと推定されるユーザ)の公開鍵(検証鍵)も入力する。(公開鍵は公開情報なので、検証者は署名者の公開鍵を知ることができる)。 検証アルゴリズムは署名文が本当にそのユーザによって作成されたか否かを判定し、その結果を出力する。検証アルゴリズムが署名文を正当 (valid) だと判断したことを、「検証アルゴリズムが署名文Aを受理 (accept) した」または「署名文が検証を通過した」という。それに対し、検証アルゴリズムが署名文を不当 (invalid) だと判断したことを、「検証アルゴリズムが署名文Aを棄却 (reject) した」または「署名文が検証を通過しなかった」という。
※この「電子署名のモデル」の解説は、「電子署名」の解説の一部です。
「電子署名のモデル」を含む「電子署名」の記事については、「電子署名」の概要を参照ください。
- 電子署名のモデルのページへのリンク