(57)【要約】【課題】  利用の際の手続きの煩雑さを軽減させるとともに、署名鍵が盗難された場合でも署名鍵の無効化処理負担を不要もしくは軽減するデジタル署名技術を提供する。【解決手段】鍵センタ装置と当該鍵センタ装置に接続された署名者端末とを有するシステムにおいて、署名者端末が、署名者の識別子と署名有効条件とを含む署名鍵要求情報を鍵センタ装置に送信し、鍵センタ装置が、署名者端末から受信した署名鍵要求情報と、保持している鍵生成検証公開情報及び鍵生成秘密情報とから、当該署名鍵要求情報と鍵生成検証公開情報を含む情報を用いることによってのみ検証可能なように署名鍵を作成し、当該署名鍵を署名者端末に送信し、署名者端末が、鍵センタ装置から受信した署名鍵を用いて、署名対象文書のデジタル署名を作成し、署名対象文書と、作成したデジタル署名と、署名者の識別子と、署名有効条件とを含む情報を検証者端末に送信する。【選択図】    図１
2005311531.tif 000002
【特許請求の範囲】
【請求項１】
鍵センタ装置と、当該鍵センタ装置に通信ネットワークを介して接続された署名者端末とを有するシステムにおいて、デジタル署名を作成、送信するためのデジタル署名処理方法であって、
鍵センタ装置は、鍵生成検証公開情報と鍵生成秘密情報を保持しており、
署名者端末が、署名者の識別子と署名有効条件とを含む署名鍵要求情報を鍵センタ装置に送信するステップと、
鍵センタ装置が、署名者端末から受信した署名鍵要求情報と、保持している鍵生成検証公開情報及び鍵生成秘密情報とから、当該署名鍵要求情報と鍵生成検証公開情報を含む情報を用いることによってのみ検証可能なように署名鍵を作成し、当該署名鍵を署名者端末に送信するステップと、
署名者端末が、鍵センタ装置から受信した署名鍵を用いて、署名対象文書のデジタル署名を作成し、署名対象文書と、作成したデジタル署名と、署名者の識別子と、署名有効条件とを含む情報を検証者端末に送信するステップと
を有することを特徴とするデジタル署名処理方法。
【請求項２】
前記署名有効条件は、署名対象文書に所定のハッシュ関数を作用させた情報、デジタル署名の有効期限、署名対象文書の送信先情報のうちのいずれか１つ又は複数を含むものである請求項１に記載のデジタル署名処理方法。
【請求項３】
鍵センタ装置と、当該鍵センタ装置に通信ネットワークを介して接続された署名者端末とを有するシステムにより作成されたデジタル署名を、検証者端末が検証するためのデジタル署名処理方法であって、
鍵センタ装置は、
鍵生成検証公開情報と鍵生成秘密情報を保持する手段と、
署名者端末から受信した署名者の識別子と署名有効条件とを含む署名鍵要求情報と、保持している鍵生成検証公開情報及び鍵生成秘密情報とから、当該署名鍵要求情報と鍵生成検証公開情報を含む情報を用いることによってのみ検証可能なように署名鍵を作成し、当該署名鍵を署名者端末に送信する手段とを有し、
署名者端末は、
前記署名鍵要求情報を鍵センタ装置に送信する手段と、
鍵センタ装置から受信した署名鍵を用いて、署名対象文書のデジタル署名を作成し、署名対象文書と、作成したデジタル署名と、署名鍵要求情報とを含む情報を検証者端末に送信する手段とを有し、
前記デジタル署名処理方法は、
検証者端末が、署名対象文書と、デジタル署名と、署名鍵要求情報とを署名者端末から受信するステップと、
署名者端末から受信した署名者の識別子と、別に取得した当該署名者の識別子とを比較することにより、署名者端末から取得した前記署名者の識別子の正当性を検証するステップと、
署名鍵要求情報と鍵生成検証公開情報とを含む情報を用いることによって、デジタル署名を検証するステップと
を有することを特徴とするデジタル署名処理方法。
【請求項４】
前記署名有効条件が、署名対象文書に所定のハッシュ関数を作用させた情報を含む場合において、
デジタル署名の検証をするステップの前に、検証者端末が、署名者端末から受信した署名対象文書に前記ハッシュ関数を作用させた情報と、署名者端末から受信した前記署名有効条件に含まれる、署名対象文書にハッシュ関数を作用させた情報とを比較することにより、署名有効条件が署名対象文書に対応しているか否かを検証するステップを更に有する請求項３に記載のデジタル署名処理方法。
【請求項５】
前記署名有効条件が、署名対象文書に所定のハッシュ関数を作用させた情報を含む場合において、
署名者端末は、前記ハッシュ関数を作用させた情報を除いた署名鍵要求情報を含む情報を検証者端末に送信し、検証者端末は、署名対象文書に所定のハッシュ関数を作用させた情報を作成し、その情報を含む情報を用いてデジタル署名の検証をする請求項３に記載のデジタル署名処理方法。
【請求項６】
コンピュータを、鍵センタ装置と当該鍵センタ装置に通信ネットワークを介して接続された署名者端末とを有するシステムにおいて使用される当該署名者端末として機能させるプログラムであって、
鍵センタ装置は、
鍵生成検証公開情報と鍵生成秘密情報を保持する手段と、
署名者端末から受信した署名者の識別子と署名有効条件とを含む署名鍵要求情報と、保持している鍵生成検証公開情報及び鍵生成秘密情報とから、当該署名鍵要求情報と鍵生成検証公開情報を含む情報を用いることによってのみ検証可能なように署名鍵を作成し、当該署名鍵を署名者端末に送信する手段とを有し、
前記プログラムは、前記コンピュータを、
前記署名鍵要求情報を作成し、鍵センタ装置に送信する手段、
鍵センタ装置から受信した署名鍵を用いて、署名対象文書のデジタル署名を作成し、署名対象文書と、作成したデジタル署名と、署名者の識別子と、署名有効条件とを含む情報を検証者端末に送信する手段
として機能させることを特徴とするプログラム。
【請求項７】
コンピュータを、鍵センタ装置と当該鍵センタ装置に通信ネットワークを介して接続された署名者端末とを有するシステムにより作成されたデジタル署名を検証するための検証者端末として機能させるプログラムであって、
鍵センタ装置は、
鍵生成検証公開情報と鍵生成秘密情報を保持する手段と、
署名者端末から受信した署名者の識別子と署名有効条件とを含む署名鍵要求情報と、保持している鍵生成検証公開情報及び鍵生成秘密情報とから、当該署名鍵要求情報と鍵生成検証公開情報を含む情報を用いることによってのみ検証可能なように署名鍵を作成し、当該署名鍵を署名者端末に送信する手段とを有し、
署名者端末は、
前記署名鍵要求情報を鍵センタ装置に送信する手段と、
鍵センタ装置から受信した署名鍵を用いて、署名対象文書のデジタル署名を作成し、署名対象文書と、作成したデジタル署名と、署名者の識別子と、署名有効条件とを含む情報を検証者端末に送信する手段とを有し、
前記プログラムは、前記コンピュータを、
署名対象文書と、デジタル署名と、署名者の識別子と、署名有効条件とを署名者端末から受信する手段、
署名者端末から受信した署名者の識別子と、別に取得した当該署名者の識別子とを比較することにより、署名者端末から取得した前記署名者の識別子の正当性を検証する手段、
前記署名鍵要求情報と鍵生成検証公開情報とを含む情報を用いることによって、デジタル署名を検証する手段
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子文書に対して署名を行うデジタル署名技術に関し、特に利用者の手続負担を軽減させるデジタル署名技術に関する。
【背景技術】
【０００２】
従来のデジタル署名技術として、ＰＫＩ(Public Key Infrastructure)を用いたデジタル署名技術がある。この技術では、署名者は署名鍵（秘密鍵）と公開鍵をペアで生成し、認証局（ＣＡ）に公開鍵についてのデジタル証明書を発行してもらう。そして、署名鍵を用いて文書のデジタル署名を作成し、当該文書にデジタル署名とデジタル証明書を付して検証者に送信する。検証者は、認証局の公開鍵を用いてデジタル証明書を検証することにより署名者の公開鍵の正当性を確認し、文書データと署名者の公開鍵を用いてデジタル署名を検証する。
【０００３】
従って、署名者にとっては、署名鍵と公開鍵とデジタル証明書を生成、取得、管理するという煩雑な手間が生じる。また、検証者にとっては、認証局の公開鍵を正しく入手する手間が生じる。
【０００４】
また、各署名者が個別に認証局に公開鍵を登録してデジタル証明書の発行を受けるので、複数の署名者が同一の署名鍵を正当に保有する場合が起こり得る（これを重複登録という）。この場合、例えば、検証者が特定の署名者のデジタル署名を検証したつもりが、実際は別人のデジタル署名であったということが起こり得る。
【０００５】
また、署名者の署名鍵が盗難にあった場合、その署名者の文書が偽造される恐れがある。従って、署名者は、署名鍵を厳重に管理する必要があり、盗難にあった場合には、遅滞なく認証局に通知し、当該署名鍵を無効にしてもらう手続きをとる必要がある。また、このように署名鍵が無効になっている場合があることから、検証者は、署名者からデジタル証明書を受領したとしてもそれが有効かどうかを認証局に問い合わせる必要がある。認証局にとっては、利用者の特定の署名鍵が無効となっているかいないかの問い合わせに遅滞無く答えるために、無効化した鍵のリスト（CRL）を管理しなければならない。
【０００６】
また、署名鍵が盗まれたことが判明して署名鍵を無効にした場合、盗まれる前に作成された文書およびその署名も、鍵を盗まれた後で作成された文書およびその署名と区別することはできなくなるので、過去に遡ってその署名鍵で署名した文書は有効でない可能性がある。従って、検証者は、一旦署名鍵の有効性を認証局に確認した後も、確認を継続する必要がある。
【０００７】
一方、このような署名鍵の無効化が可能であると、署名者は、署名鍵を盗まれたことにして故意に無効化することにより署名を否認できる余地がある。このような否認を防止するために、有効な署名鍵により署名された文書を、中立・公正な第三者（公証局）に保管することが考えられるが、公証局運営のコストがかかってしまう。
【０００８】
従来のＰＫＩ(Public Key Infrastructure)を用いたデジタル署名方式には以上説明したような問題がある。
【０００９】
また、従来のデジタル署名技術として、非特許文献１に記載されたＩＤベースのデジタル署名方法がある。
【００１０】
ＩＤベースのデジタル署名方法は、署名鍵を生成する時に署名者の名前等の識別子を署名鍵自身に埋め込む方法である。このＩＤベースのデジタル署名方法によれば、識別子により、署名鍵と署名者との対応付けができるため、デジタル証明書が不要となる。また、他の署名者と異なる識別子を用いれば、重複登録の恐れはない。
【００１１】
しかし、ＩＤベースのデジタル署名方法でも、署名鍵の盗難に関しては、従来のＰＫＩ方式のデジタル署名方法と同様の問題がある。
【非特許文献１】辻井重男、笠原正雄  編著、「暗号とセキュリティ」昭晃堂、p140〜p142
【発明の開示】
【発明が解決しようとする課題】
【００１２】
本発明は、上記の問題点に鑑みてなされたものであり、利用の際の手続きの煩雑さを軽減させるとともに、署名鍵が盗難された場合でも署名鍵の無効化処理負担を不要もしくは軽減することを可能とするデジタル署名技術を提供することを目的とする。
【課題を解決するための手段】
【００１３】
上記の課題は、鍵センタ装置と、当該鍵センタ装置に通信ネットワークを介して接続された署名者端末とを有するシステムにおいて、デジタル署名を作成、送信するためのデジタル署名処理方法であって、
鍵センタ装置は、鍵生成検証公開情報と鍵生成秘密情報を保持しており、
署名者端末が、署名者の識別子と署名有効条件とを含む署名鍵要求情報を鍵センタ装置に送信するステップと、
鍵センタ装置が、署名者端末から受信した署名鍵要求情報と、保持している鍵生成検証公開情報及び鍵生成秘密情報とから、当該署名鍵要求情報と鍵生成検証公開情報を含む情報を用いることによってのみ検証可能なように署名鍵を作成し、当該署名鍵を署名者端末に送信するステップと、
署名者端末が、鍵センタ装置から受信した署名鍵を用いて、署名対象文書のデジタル署名を作成し、署名対象文書と、作成したデジタル署名と、署名者の識別子と、署名有効条件とを含む情報を検証者端末に送信するステップと
を有することを特徴とするデジタル署名処理方法により解決される。
【発明の効果】
【００１４】
本発明によれば、署名者の識別子と署名有効条件とを署名鍵に組み込むようにしたので、署名者の識別子と署名鍵との対応付けのための従来のデジタル証明書が不要になるとともに、署名有効条件を適宜設定することにより署名鍵の無効化処理負担を不要もしくは軽減できる。
【００１５】
署名有効条件としては、署名対象文書に所定のハッシュ関数を作用させた情報、デジタル署名の有効期限、署名対象文書の送信先情報等を使用できる。例えば、署名有効条件として、署名対象文書に所定のハッシュ関数を作用させた情報を使用すれば、署名鍵はその署名対象文書に用いたときにのみ検証可能となり、他の文書には使用できない。従って、署名鍵が盗難にあったとしても、署名鍵の無効化は不要となる。
【発明を実施するための最良の形態】
【００１６】
以下、図面を参照して本発明の実施の形態について説明する。以下、デジタル署名を付加する対象となる文書にデジタル署名を付加する者を署名者と呼び、そのデジタル署名を検証する者を検証者と呼ぶ。また、本実施の形態では、署名者Ａがデジタル署名を付加し、検証者Ｂがそのデジタル署名を検証する場合について説明する。以下、署名者Ａについては、ID_Aのように“Ａ”の記号を用い、検証者Ｂについては、ID_Bのように“Ｂ”の記号を用いる。
【００１７】
本実施の形態におけるシステムは、図１に示すように、署名者Ａが使用する署名者端末１、検証者Ｂが使用する検証者端末３、及び署名者端末１からの要求に基づき署名者Ａの署名鍵を生成して署名者端末１に署名鍵を配布する鍵センタ装置５が通信ネットワーク７により接続された構成をとる。
【００１８】
署名者端末１、検証者端末３は、例えばＰＣ（パーソナルコンピュータ）等の一般的なコンピュータにより実現されるものである。また、鍵センタ装置５は、署名鍵生成及びデジタル署名検証に必要な鍵生成検証公開情報、鍵生成秘密情報等を保持するコンピュータである。本実施形態で用いる所定のハッシュ関数は鍵センタ装置５が提供するものとする。なお、ハッシュ関数は用途に応じて選択できるよう複数用意することができる。
【００１９】
（動作概要）
まず、図１のシステムにおける動作の概要について説明する。なお、ここではデジタル署名作成、検証に係る概要を説明し、事前登録等を含む詳細については後に説明する。
【００２０】
まず、署名者端末１が、署名者Ａの識別子と鍵生成条件（署名有効条件ともいう）とを含む署名鍵要求情報を鍵センタ装置５に送信する（ステップＳ１）。鍵センタ装置５は、その署名鍵要求情報を受信し、その署名鍵要求情報と、保持している鍵生成検証公開情報及び鍵生成秘密情報とから、当該署名鍵要求情報と鍵生成検証公開情報を含む情報を用いることによってのみ検証可能なように署名鍵を作成し、当該署名鍵を含む情報を署名者端末１に送信する（ステップＳ２）。そして、署名者端末１は、鍵センタ装置５から受信した署名鍵を用いて、署名対象となる文書のデジタル署名を作成し、その文書と、作成したデジタル署名と、署名者の識別子と、鍵生成条件とを含む情報を検証者端末３に送信する（ステップＳ３）。検証者端末３は、署名対象文書と、デジタル署名と、署名者の識別子と、鍵生成条件とを含む情報を署名者端末１から受信すると、署名者の識別子の正当性を検証し（ステップＳ４）、署名者の識別子と鍵生成条件とを含む情報と、鍵センタ装置５から取得した鍵生成検証公開情報を用いることによって、デジタル署名を検証する（ステップＳ５）。
【００２１】
鍵生成条件としては、署名対象文書に鍵センタ装置５から取得したハッシュ関数を作用させたダイジェスト、デジタル署名の有効期限、署名対象文書の送信先情報等を使用することができ、例えば、鍵生成条件として署名対象文書のダイジェストを使用する場合には、検証者端末３は、署名者端末１から受信した署名対象文書にハッシュ関数を作用させた情報と、署名者端末１から受信した当該ダイジェストとを比較することにより、ダイジェストが署名対象文書に対応しているか否かを検証してからデジタル署名の検証を行う。鍵生成条件として署名対象の文書の情報を用いることにより、署名鍵が盗難にあったとしても、その署名鍵は、そのダイジェストに対応する特定の文書でしか使用できないので、第三者が自分の文書を署名者Ａの文書であると偽ることは不可能となり、従来は必要であった無効化の処理が不要となる。
【００２２】
なお、鍵センタ装置５も鍵生成条件を付加することや、署名者端末１と鍵センタ装置５間での通信の安全を確保するために情報の暗号化をすること等の動作を行うことが可能であるが、詳細については後に説明する。
【００２３】
（装置構成）
次に、図２〜図４を参照して、各装置の機能構成について説明する。なお、以下説明する機能手段は、主に各装置で実行されるプログラムにより実現されるものである。
【００２４】
本実施の形態のデジタル署名処理を実施するには、事前登録等の準備が必要であるが、以下の図に示す構成は、その準備が終了した後の構成である。
【００２５】
図２に、署名者端末１の構成を示す。図２に示すように署名者端末１は、鍵センタ装置５及び検証者端末３と情報の送受信を行うための通信手段１１、鍵生成条件決定手段１２、デジタル署名生成付加手段１３、署名鍵格納手段１４、及び処理に必要な情報を格納する情報格納手段１５を有している。
【００２６】
鍵生成条件決定手段１２は、例えば署名者Ａに、鍵生成条件の選択肢を提示し、いずれかを選択させる手段である。また、署名者Ａに鍵生成条件を入力させる手段としてもよい。デジタル署名生成付加手段１３は、鍵センタ装置５から暗号化された署名鍵を受信した場合にはそれを復号し、復号して得た署名鍵を用いて文書のデジタル署名を作成し、検証者端末３に送信すべき情報を生成する手段である。署名鍵格納手段１４は、署名鍵を秘匿して保持する手段である。情報格納手段１５は、鍵生成検証公開情報Ko、ハッシュ関数f、鍵センタ装置５に送信する情報を暗号化する場合に使用する公開鍵Kp、暗号化された署名鍵を鍵センタ装置５から受信する場合に、署名鍵を復号するために使用する復号用鍵Ktr_A、鍵センタ装置５が署名者Aに対してパスワード認証を行う場合に鍵センタ装置５に送信するための認証パスワードを格納している。これらの情報のうち、鍵生成検証公開情報Ko、ハッシュ関数f、公開鍵Kpは、鍵センタ装置５から予め入手しておくものである。この情報は、署名者端末１にインストールすべきソフトウェアに組み込むようにしてもよい。なお、ハッシュ関数は用途別に選択できるよう複数ある場合もある。また、復号用鍵Ktr_Aと認証パスワードは、鍵センタ装置５との間で決めるものであり、例えば鍵センタ装置５が署名者端末１に対して付与するものである。復号用鍵Ktr_Aと認証パスワードは情報格納手段１５に秘密に保持される。
【００２７】
図３に、検証者端末３の構成を示す。図３に示すように検証者端末３は、署名者端末１等と情報の送受信を行うための通信手段３１、デジタル署名の検証を行うデジタル署名検証手段３２、鍵生成検証公開情報Koとハッシュ関数fを保持する情報格納手段３３を有している。鍵生成検証公開情報Koとハッシュ関数fは、鍵センタ装置５から取得して格納しておく。この情報は、検証者端末３にインストールすべきソフトウェアに組み込むようにしてもよい。なお、ハッシュ関数は用途別に選択できるよう複数ある場合もある。
【００２８】
図４に、鍵センタ装置５の構成を示す。図４に示すように鍵センタ装置５は、署名者端末１等と情報の送受信を行うための通信手段５１、署名鍵を生成し、署名者端末１に送信する情報を作成する署名鍵生成手段５２、鍵生成検証公開情報Ko、鍵生成秘密情報Ks、ハッシュ関数f、暗号用公開鍵Kp、暗号用秘密鍵Kdを保持する情報格納手段５３、利用者識別子等の利用者情報を格納する利用者管理データベース５４、利用者管理データベース５４に格納される利用者情報を登録するための利用者登録手段５５を有している。なお、ハッシュ関数は用途別に選択できるよう複数ある場合もある。利用者登録手段５５は、例えば署名者端末１に利用者登録用のインタフェース画面を表示し、入力された情報を利用者管理データベース５４に格納する機能を有している。また、利用者管理データベース５４は、どの署名者にどの署名鍵を送信したかの鍵送信記録を有しており、この記録に基づき、署名者からの要求に応じて無効化処理を行うこともできる。また、署名対象文書のダイジェストを鍵生成条件の中に含む場合は、署名者が署名鍵を要求し、それを受け取ったという事実が一旦確定すれば、その後署名鍵が盗まれたり暴露されたりしても署名の有効性は失われない。要求と受取の事実をより確実に法的にも証明するために、署名鍵発行の事実を内容証明郵便などで署名者に通知することが考えられ、そのため鍵センタサーバは出力手段５６を備える。
【００２９】
上記の鍵生成検証公開情報Koは、署名鍵を生成するときに用いる情報のうち、公開し、検証者端末３におけるデジタル署名検証にも用いる情報である。鍵生成秘密情報Ksは、署名鍵を生成するときに用いる情報のうち、鍵センタ装置５が秘密に保持する情報である。KoとKsの組は複数の署名鍵生成に共通に使用されるものである。公開のハッシュ関数fは、署名対象文書のダイジェストや、鍵生成条件のダイジェストを作成するためのハッシュ関数であり、１ビットでも異なる２つの情報に対し、全く異なるダイジェストを出力し、出力情報から入力情報を推定することが極めて困難であるという性質を持つ関数である。
【００３０】
なお、上記の各機能手段をプログラムとともに実現する手段として、各装置は、CPU、メモリ、記憶装置、入出力装置、ネットワーク通信装置等の、コンピュータが通常備えているハードウェア資源を備えている。
【００３１】
（動作詳細）
以下、各装置の詳細動作について説明する。
（１）事前登録
署名者Aが鍵センタ装置５に対して行う事前登録内容について説明する。
【００３２】
署名者Aは本人情報（名前、住所、所属など）と本人の識別子（ID_A）（例えば署名者Aのメールアドレス）を鍵センタ装置５に登録する。その際に、鍵センタ装置５の運営者に対し、必要に応じて署名者Aの本人性の証明を行う。本人性の証明方法としては、例えば「氏名」と「住所」を確認できる情報を提示する方法等がある。また、鍵センタ装置５が署名鍵を署名者端末１に送付する際に署名鍵を暗号化するために使用する暗号化鍵に対応する復号用鍵を鍵センタ装置５から取得しておく。これらの鍵は、鍵センタ装置５と署名者端末１とで秘密に格納される。その他、鍵センタ装置５側のセキュリティポリシーに基づく情報を登録する。例えば、鍵センタ装置５が、署名鍵要求受信時にパスワードによる署名者本人認証を行うこととした場合には、認証のためのパスワードを鍵センタ装置５に登録する。なお、パスワードは鍵センタ装置５が署名者Aに付与するようにしてもよい。
（２）署名鍵の要求
以下、フローチャートを参照して、署名鍵の要求から、デジタル署名の検証までの各装置の処理を詳細に説明する。まず、署名鍵の要求について図５を参照して説明する。
【００３３】
事前登録終了の後、署名者Aは署名鍵の条件として鍵生成条件１を決め、署名者端末１に入力する。署名者端末１は、予め鍵センタ装置から取得したハッシュ関数fを用いて、鍵生成条件１のダイジェストCond1 =f(鍵生成条件1)を算出する（ステップＳ１１）。なお、鍵生成条件１が長大でない場合は、ハッシュ関数fによる情報圧縮をせずに、鍵生成条件1をそのままCond1としてもよい。
【００３４】
鍵生成条件１として、例えば署名対象の文書Docにハッシュ関数fを施したダイジェストDigを使用することができる。鍵生成条件１としてDigを使用することにより、その文書Docに対してのみ有効な署名鍵を作成することができる。また、特定の記述を含む文書のみに有効な署名鍵を作成したい場合には、例えば、その記述内容にハッシュ関数fを施したダイジェストを用いる。この場合、検証者B側では、その記述内容が署名対象文書に含まれることを確認した後に、署名検証を行うことになる。なお、DigをCond1 =f(鍵生成条件1)の中の鍵生成条件1とする代わりに、Cond1=f (鍵生成条件１)+Digとしてもよい。この場合の鍵生成条件１は、Digでもよいし他の条件でもよい。
【００３５】
また、他の鍵生成条件１として、デジタル署名の有効期限、文書のあて先情報等を用いることもできる。デジタル署名の有効期限を設定することにより、当該デジタル署名を付した文書の検証者Ｂは、その文書の有効期限を確認でき、署名検証が成功すればその有効期限内の有効な文書であることを確認できる。署名者Ａは、その有効期限まで署名鍵を管理すればよい。このようなデジタル署名が有効な例としては、例えば提案書、プライスリスト等がある。また、検証者Ｂが署名者Ａから文書を受信した時に、転送途中に文書の改竄が行われていないことを確認するためだけに署名検証を行うのであれば、鍵の有効期間は短くて良く、いわゆる使い捨ての署名鍵を実現できる。
【００３６】
また、文書のあて先を鍵生成条件1とする場合には、そのあて先以外の受信者が署名付き文書を受け取ったとしても、その受信者は鍵生成条件1を確認することにより、自分に対しては有効な文書でないことがわかる。そのあて先の受信者が署名付き文書を受け取った場合は、鍵生成条件1により自分に対する文書であることを確認し、検証が成功すれば、署名者による自分宛の正しい文書であることを確認できる。従って、文書のあて先を鍵生成条件1とすることにより、特定の受信者に対してのみ有効なデジタル署名を実現できる。また、あて先情報として、特定のグループ内で共通の情報を使用することにより、特定のグループに属するあて先に対してのみ有効な署名鍵を実現できる。その他、フリーフォーマットで任意の条件を指定することができる。
【００３７】
次に、署名者端末１は、署名者Aの識別子（以下、ID_Aと表記する）とCond1を結合し、X = ID_A+Cond1を作成する（ステップＳ１２）。なお、識別子としては例えば署名者のメールアドレスを使用することができる。また、結合の方法は特に限定されず、結合した文字列からIDとCond1の情報を分離抽出できる方法ならばどのような方法を用いてもよい。このような方法による情報の結合を「+」で表記する。そして、署名者端末１はXを鍵センタ装置５に送信する（ステップＳ１３）。
【００３８】
署名者端末１は、Xをそのまま鍵センタ装置５に送信してもよいが、第三者による成りすましや盗聴を防止するという観点から、鍵センタ装置５が送信元を認証できるような方法で送信してもよい。この場合、例えば、署名者Aが署名者Aのパスワードを鍵センタ装置５に安全な方法で登録しておき、Xとともにそのパスワードを鍵センタ装置５の公開鍵Kpで暗号化して送信する。そして、鍵センタ装置５は、公開鍵Kpに対応する秘密鍵Kdを用いて受信した情報を復号し、当該パスワードが、登録されたパスワードと一致することを確認することにより署名者Aの認証を行う。なお、第三者が署名者に成りすまして、署名鍵を要求しても、署名鍵は署名者Ａでしか復号できない形で暗号化されて署名者端末１に送られることから、上記の処理を行うことは必須ではない。また、上記の処理において、公開鍵Kpによる暗号化を行うが、パスワードによる認証を行わないこととしてもよい。また、ID_Aとして署名者Ａのメールアドレスを用い、署名鍵をそのメールアドレス宛に送信することにすれば、本人に届くことから、それを以って認証に代えることも考えられる。
【００３９】
（３）署名鍵の作成
次に、Xを受信した鍵センタ装置５は、署名鍵を作成する処理を行う。この処理を図６を参照して説明する。まず、鍵センタ装置５は、Xに含まれるID_Aを抽出し、ID_Aが既に登録された識別情報であるか否かを確認する（ステップＳ１４）。ID_Aが既に登録されているものであることの確認ができれば、鍵センタ装置５は鍵生成条件２を作成する（ステップＳ１５）。また、確認ができなかった場合は、例えば鍵センタ装置５はエラーメッセージを署名者端末１に送信する。
【００４０】
上記の鍵生成条件２は、任意に定める鍵センタ装置５側のセキュリティポリシーに応じて作成する。例えば、鍵生成条件２は、署名鍵生成時刻、一意に識別できる鍵の識別子等である。鍵生成条件２として署名鍵生成時刻を使用した場合、検証者Ｂは署名鍵の新しさを確認できる。また、鍵生成条件２は鍵の無効化処理を受け付けるか否かの情報とすることもできる。
【００４１】
続いて、鍵センタ装置５は、ハッシュ関数fを用いて鍵生成条件２のダイジェスト（Cond2）を作成する（ステップＳ１６）。すなわち、Cond2 = f(鍵生成条件２)である。Cond2の作成にあたり、鍵生成条件２が長大でない場合は、ハッシュ関数fによる情報圧縮をせずに、鍵生成条件２をそのままCond2としてもよい。
【００４２】
次に、鍵センタ装置５は、XにCond2を付け加えたX’（= X+Cond2）を作成する（ステップＳ１７）。なお、X’が長大であればハッシュ関数により圧縮してもよい。そして、X’を署名鍵生成情報として用い、更に鍵生成秘密情報Ksと鍵生成検証公開情報Koとを用いることにより、署名鍵Ks(X’)を作成する（ステップＳ１８）。署名鍵生成情報X’と鍵生成秘密情報Ksと鍵生成検証公開情報Koとを用いて署名鍵Ks(X’)を作成する方法自体は公知であり、例えば非特許文献１に記載されている。
【００４３】
そして、鍵センタ装置５は、署名鍵Ks(X’)と鍵生成条件２とX’とを、署名者Aに対応して予め登録した暗号鍵（Ktr_A）を用いて暗号化し、暗号化した情報を署名者端末１に送信する（ステップＳ１９）。
【００４４】
（４）署名の作成、送付
次に、署名者端末１におけるデジタル署名の作成、送付処理について図７を参照して説明する。
【００４５】
署名者端末１は、鍵センタ装置５から送付された署名鍵Ks(X’)と鍵生成条件２とX’とを受信する（ステップＳ２０）。署名者端末１は、鍵生成条件２と、X’に含まれるCond2とが対応することを確認した後、署名鍵Ks(X’)で文書Docのデジタル署名を作成する（ステップＳ２１）。すなわち、文書DocのダイジェストDigをS Ks(X’)への入力としてデジタル署名Sgnを作成する。ここでSKは鍵Kで署名計算をする関数を示す。この計算はSgn = S Ks(X’)(Dig)と表記することができる。なお、デジタル署名Sgnを計算するための文書Docのダイジェストは鍵生成条件１に含めるダイジェストと異なるように、別のハッシュ関数を選択して計算する方式としても良い。
【００４６】
その後、署名者端末１は、文書Doc、デジタル署名Sgn、署名鍵生成情報X’、鍵生成条件１、及び鍵生成条件２を合わせて検証者端末３に送信する（ステップＳ２２）。送信にあたっては、送信する情報を暗号化することが望ましい。なお、文書DocのダイジェストDigは必ずしも検証者端末３に送信する必要はない。
【００４７】
（５）署名検証
次に、検証者端末３におけるデジタル署名の検証処理について図８を参照して説明する。まず、検証者端末３は、署名者端末１から送信された文書Doc、デジタル署名Sgn、署名鍵生成情報X’、鍵生成条件１、及び鍵生成条件２を受信する（ステップＳ２３）。そして、検証者Bは、鍵生成条件１、２を必要に応じて確認する。例えば、鍵生成条件１があて先を指定するものであれば、自分がそのあて先であるか否かを確認する。
【００４８】
次に、検証者端末３は、f(鍵生成条件１)、f(鍵生成条件２)を計算し、その結果がそれぞれCond1、Cond2と一致するか否かを検証する（ステップＳ２４）。ここで、鍵生成条件１に文書Docのダイジェスト(Dig)を含ませることとしている場合には、鍵生成条件１に含まれるDigがf(Doc)と一致するか否かを検証する。Digを、Cond1=f(鍵生成条件１)+Digの形で含めた場合には、X’の中のCond1におけるDigがf(Doc)と一致するか否かを検証する。なお、署名者端末１から受信した情報に文書Docのダイジェスト(Dig)が含まれていない場合は、検証者端末３が文書Docにハッシュ関数を作用させてダイジェスト(Dig)を生成する。
【００４９】
続いて、検証者端末３は、X’に含まれるID_Aが、当該文書の署名者Aの識別子かどうか確認する（ステップＳ２５）。例えば、当該署名者Aの識別子として予め検証者端末３に格納していた識別子とID_A とを比較する。また、ID_Aが署名者Aのメールアドレスである場合であって、文書情報を署名者Aからメールで受信した場合には、送信元のメールアドレスとID_Aとを比較するようにしてもよい。
【００５０】
以上の検証処理により、署名鍵生成情報X’が署名者Aのものであることを確認する。以上の検証項目のうち、一つでも失敗した場合には、例えばエラーメッセージを検証者端末３の画面に表示して、以降の処理を中止する。
【００５１】
次に、検証者端末３は、署名鍵生成情報X’と、予め取得している鍵センタ装置５の鍵生成検証公開情報Ko等を用いて検証演算を行う（ステップＳ２６）。これにより文書Docと署名Sgnと鍵生成情報X’が整合しているかどうかを確認する。検証演算の一例として、非特許文献１に記載された方法を用いることができる。
【００５２】
このように検証が成功すれば、（ア）このデジタル署名はまさしくID_Aと鍵生成条件１、２を元に作られた署名鍵を文書Docに作用させて作成されたものであるということと、（イ）署名作成者が署名者Ａであることを確認できる。（イ）が確認できるのは、鍵生成秘密情報Ksを持つ鍵センタ装置５が、ID_Aが署名者Ａの識別子であることを確認し、署名者Ａにしか復号できない形で署名鍵を作成しているからである。
（署名計算方法の具体的な一例）
次に、署名計算の具体的一例を説明する。以下の例は非特許文献１に記載された方法に基づくものである。この例において鍵センタ装置５が保持する情報は以下の通りである。
【００５３】
鍵生成秘密情報Ks：    極めて大きな２つの異なる素数の組  (p, q)
鍵生成検証公開情報Ko ：N (= pq)、e （＝オイラー関数Φ(N)と互いに素な大きな素数）
ハッシュ関数f ：ダイジェスト作成のためのハッシュ関数
鍵センタ装置５は、X’を正整数xと見なして、以下の方程式を解き、gを求める。
【００５４】
ge ≡ x mod N
このgがKs(X’)となる。上記の方程式を解けるのはNの因数分解を知る鍵センタ装置５のみである。
【００５５】
署名者端末１は次の計算により文書Docのデジタル署名Sgnを作成する。
【００５６】
（１）乱数 r を任意に選択し、t ≡ re mod N を計算する。
【００５７】
（２）Dig=f (Doc)を求め、鍵センタより受けたg (=Ks(x’))により、
s ≡ g・r f(t, Dig)  mod N
を計算する。（s, t）が文書Dogの署名Sgnとなる。
【００５８】
検証者端末３は、Sgn=(s, t)、x、Docを得るので、Dig=f (Doc)を計算し、以下の式が成立するかどうか確認する。
【００５９】
se ≡ x・t f(t, Dig) mod N
この式の成立が確認できれば検証成功である。
【００６０】
上記のように、本実施の形態で説明した方式によれば、特に鍵生成条件として文書のダイジェストを選択した場合において、その特定の文書以外には署名鍵を有効に使用できなくなるので、署名鍵が盗難されたとしても署名鍵の無効化が不要となる。また、この署名鍵による署名が正しく検証された場合、その署名が付された文書は、署名者による鍵生成要求時に当該署名者が鍵生成条件として署名鍵に組み込むように指定した文書に他ならないことが検証されるので、署名者は「その文書は、鍵を盗んだ他人が作成したものだ」という否認ができなくなる。
【００６１】
また、鍵生成条件として有効期間を限定する条件を指定した場合は、その有効期間内は署名鍵の盗難が無いことを前提とすれば、それ以外の期間に署名鍵が盗難にあったとしても、署名鍵の無効化を不要とすることができる。
【００６２】
また、署名文書の宛先を限定するように鍵生成条件を定めた場合には、署名鍵が盗難されても、その署名鍵が無効であることをその宛先に通知するのみでよく、不特定多数相手に無効鍵リストを管理することは不要になり、無効化の負担を軽減できる。
【００６３】
なお、本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。
【図面の簡単な説明】
【００６４】
【図１】本発明の実施の形態におけるシステム構成図である。
【図２】本発明の実施の形態における署名者端末１の構成図である。
【図３】本発明の実施の形態における検証者端末３の構成図である。
【図４】本発明の実施の形態における鍵センタ装置５の構成図である。
【図５】署名者端末１による署名鍵の要求処理のフローチャートである。
【図６】鍵センタ装置５による署名鍵の作成処理のフローチャートである。
【図７】署名者端末１による署名の作成、送付処理のフローチャートである。
【図８】検証者端末３による署名検証処理のフローチャートである。
【符号の説明】
【００６５】
１  署名者端末
１１  通信手段
１２  鍵生成条件決定手段
１３  デジタル署名生成付加手段
１４  署名鍵格納手段
１５  情報格納手段
３  検証者端末
３１  通信手段
３２  デジタル署名検証手段
３３  情報格納手段
５  鍵センタ装置
５１  通信手段
５２  署名鍵生成手段
５３  情報格納手段
５４  利用者管理データベース
５５  利用者登録手段
５６  出力手段
７  ネットワーク
【図１】
2005311531.tif 000003
【図２】
2005311531.tif 000004
【図３】
2005311531.tif 000005
【図４】
2005311531.tif 000006
【図５】
2005311531.tif 000007
【図６】
2005311531.tif 000008
【図７】
2005311531.tif 000009
【図８】
2005311531.tif 000010