(57)【特許請求の範囲】
【請求項１】
電子的な情報を取得した者が電子的な情報に付加されたデジタル署名から電子的な情報の提供者を確認する提供者確認システムにおいて、
提供者固有の情報を取得して提供者の秘密鍵と公開鍵を生成するとともに、生成した提供者の秘密鍵を登録する登録局側装置と、
前記登録局側装置によって生成された提供者の秘密鍵を用いて暗号化されたデジタル署名を生成し、生成したデジタル署名を電子的な情報に付加する提供者側装置と、
提供者の公開鍵を登録するとともに、該提供者の公開鍵を電子的な情報の取得者に提供する認証局側装置と、
電子的な情報に付加された提供者を特定する情報に基づいて前記認証局側装置から提供者の公開鍵を取得し、取得した提供者の公開鍵を用いて電子的な情報に付加されたデジタル署名を復号化する取得者側装置とを有し、
前記登録局側装置は、提供者の新しい秘密鍵と公開鍵を生成した場合に、提供者の新しい秘密鍵を前記提供者側装置に送信するとともに、提供者の新しい公開鍵と提供者の発行済みの公開鍵との差分を算出した補正情報を自身に登録しておき、
前記取得者側装置は、前記認証局側装置から提供者の発行済みの公開鍵を取得するとともに、前記登録局側装置から補正情報を取得することにより、提供者の発行済みの公開鍵を補正して提供者の新しい公開鍵を取得することを特徴とする提供者確認システム。
【請求項２】
前記登録局側装置は、所定回数内または所定時間内に限って補正情報を前記取得者側装置に送信できることを特徴とする請求項１記載の提供者確認システム。
【請求項３】
電子的な情報を取得した者が電子的な情報に付加されたデジタル署名から電子的な情報の提供者を確認する提供者確認方法において、
提供者側装置が、秘密鍵と公開鍵を生成する登録局側装置に提供者固有の情報を送信する工程と、
前記登録局側装置が提供者の秘密鍵と公開鍵を生成する工程と、
前記登録局側装置が生成した提供者の秘密鍵を自身に登録する工程と、
前記提供者側装置が前記登録局側装置から提供者の秘密鍵を取得し、取得した提供者の秘密鍵を用いて暗号化されたデジタル署名を生成するとともに、暗号化されたデジタル署名を電子的な情報に付加する工程と、
取得者側装置が、前記登録局側装置によって生成された提供者の公開鍵が登録されている認証局側装置に提供者の公開鍵を要求する工程と、
前記認証局側装置が提供者の公開鍵を前記取得者側装置に送信する工程と、
前記取得者側装置が提供者の公開鍵を用いて電子的な情報に付加されたデジタル署名を復号化する工程とを有し、
前記登録局側装置は、提供者の新しい秘密鍵と公開鍵を生成した場合に、提供者の新しい秘密鍵を前記提供者側装置に送信するとともに、提供者の新しい公開鍵と提供者の発行済みの公開鍵との差分を算出した補正情報を自身に登録し、
前記取得者側装置は、前記認証局側装置から提供者の発行済みの公開鍵を取得するとともに、前記登録局側装置から補正情報を取得することにより、提供者の発行済みの公開鍵を補正して提供者の新しい公開鍵を取得することを特徴とする提供者確認方法。
【請求項４】
前記登録局側装置は、所定回数内または所定時間内に限って補正情報を前記取得者側装置に送信できることを特徴とする請求項３記載の提供者確認方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えば文書や画像、音声などの電子的な情報を取得した者（以下、取得者と表記する）が電子的な情報に付加されたデジタル署名からその情報を提供した者（以下、提供者と表記する）を確認する提供者確認システムに関する。
【０００２】
【従来の技術】
例えば、従来より、ネットワークを介して、例えば電子文書（絵画や医療カルテ、住民票や戸籍抄本などを信号化した情報）や、動画像や静止画像、電子商取引で利用される情報などの電子的な情報を遠隔地に送信する通信機器がある。このような通信機器の中には、電子的な情報の取得者が誰から電子的な情報を取得したのかを確認できるように構成されたものがある。以下、その一例を電子文書を通信するシステムに基づいて説明する。なお、以下の説明では、提供者を送信者として、また取得者を受信者と表記する。
【０００３】
システムは、データを送信する送信者側装置と、送信者が本人であることを認証する認証局（Certification Authority）側装置と、データを受信する受信者側装置とから構成される。なお、ここでは、認証局側装置は送信者が本人であることを認証するために供される送信者の公開鍵を受信者側装置に提供するものとして説明する。
【０００４】
まず、送信者は事前にデータを暗号化／復号化する際に必要となる鍵（秘密鍵および公開鍵）を生成して、秘密鍵を自身で保管するとともに、公開鍵を認証局に送信してそこに登録させる。
【０００５】
そして送信者は、電子文書を受信者に送信する場合に、任意の関数を用いて電子文書のハッシュ値（要約情報）を算出し、それを秘密鍵を用いて暗号化してデジタル署名を生成する。そしてデジタル署名とハッシュ値の算出に用いた関数を特定する情報（以下、関数情報と表記する）を電子文書に付加して受信者に送信する。
【０００６】
デジタル署名が付加された電子文書を受信した受信者は、認証局にアクセスしてそこから送信者の公開鍵を取得し、送信者の公開鍵を用いて電子文書に付加されたデジタル署名を復号化して送信者が算出したハッシュ値を取得するとともに、関数情報により特定された関数を用いて受信した電子文書のハッシュ値を算出する。そして、これらにより得られた２つのハッシュ値を比較して送信者が本人であることを確認する。
【０００７】
【発明が解決しようとする課題】
上記のシステムにおいて、仮に送信者の秘密鍵が第三者に漏洩した場合に、第三者は、送信者になりすまして送信者の偽のデジタル署名を付加した電子文書を送信することが可能となる。そのため、送信者は、自身の秘密鍵が第三者に漏洩しないように、秘密鍵を厳重に保管しなければならなかった。また、送信者は自身で秘密鍵や公開鍵を生成しなければならないが、その作業が煩わしいものであった。そのため、これらの要因により、上記のシステムはなかなか普及できないでいた。
【０００８】
本発明は、送信者が秘密鍵を厳重に保管しなければならないという課題および送信者が鍵を生成しなければならないという課題を解決し、もって安全性や利便性を向上させたシステムを提供することを目的とする。
【０００９】
【課題を解決するための手段】
上記課題を解決するために第１の発明は、電子的な情報を取得した者が電子的な情報に付加されたデジタル署名から電子的な情報の提供者を確認する提供者確認システムにおいて、提供者固有の情報を取得して提供者の秘密鍵と公開鍵を生成するとともに、生成した提供者の秘密鍵を登録する登録局側装置と、前記登録局側装置によって生成された提供者の秘密鍵を用いて暗号化されたデジタル署名を生成し、生成したデジタル署名を電子的な情報に付加する提供者側装置と、提供者の公開鍵を登録するとともに、該提供者の公開鍵を電子的な情報の取得者に提供する認証局側装置と、電子的な情報に付加された提供者を特定する情報に基づいて前記認証局側装置から提供者の公開鍵を取得し、取得した提供者の公開鍵を用いて電子的な情報に付加されたデジタル署名を復号化する取得者側装置とを有し、前記登録局側装置は、提供者の新しい秘密鍵と公開鍵を生成した場合に、提供者の新しい秘密鍵を前記提供者側装置に送信するとともに、提供者の新しい公開鍵と提供者の発行済みの公開鍵との差分を算出した補正情報を自身に登録しておき、前記取得者側装置は、前記認証局側装置から提供者の発行済みの公開鍵を取得するとともに、前記登録局側装置から補正情報を取得することにより、提供者の発行済みの公開鍵を補正して提供者の新しい公開鍵を取得することを特徴とする。
【００１０】
また、第２の発明は、第１の発明に加え、前記登録局側装置は、所定回数内または所定時間内に限って補正情報を前記取得者側装置に送信できることを特徴とする。
【００１７】
また、第３の発明は、電子的な情報を取得した者が電子的な情報に付加されたデジタル署名から電子的な情報の提供者を確認する提供者確認方法において、提供者側装置が、秘密鍵と公開鍵を生成する登録局側装置に提供者固有の情報を送信する工程と、前記登録局側装置が提供者の秘密鍵と公開鍵を生成する工程と、前記登録局側装置が生成した提供者の秘密鍵を自身に登録する工程と、前記提供者側装置が前記登録局側装置から提供者の秘密鍵を取得し、取得した提供者の秘密鍵を用いて暗号化されたデジタル署名を生成するとともに、暗号化されたデジタル署名を電子的な情報に付加する工程と、取得者側装置が、前記登録局側装置によって生成された提供者の公開鍵が登録されている認証局側装置に提供者の公開鍵を要求する工程と、前記認証局側装置が提供者の公開鍵を前記取得者側装置に送信する工程と、前記取得者側装置が提供者の公開鍵を用いて電子的な情報に付加されたデジタル署名を復号化する工程とを有し、前記登録局側装置は、提供者の新しい秘密鍵と公開鍵を生成した場合に、提供者の新しい秘密鍵を前記提供者側装置に送信するとともに、提供者の新しい公開鍵と提供者の発行済みの公開鍵との差分を算出した補正情報を自身に登録し、前記取得者側装置は、前記認証局側装置から提供者の発行済みの公開鍵を取得するとともに、前記登録局側装置から補正情報を取得することにより、提供者の発行済みの公開鍵を補正して提供者の新しい公開鍵を取得することを特徴とする。
【００１８】
更に、第４の発明は、第３の発明に加え、前記登録局側装置は、所定回数内または所定時間内に限って補正情報を前記取得者側装置に送信できることを特徴とする。
【００２４】
【発明の実施の形態】
本発明では、送信者の生体特徴情報（例えば虹彩や指紋などの模様や、声紋などの波形を所定のアルゴリズムに基づいてコード化したデータ）と送信者の秘密鍵とが送信者毎に対応付けて登録される登録局（Registration Authority）ＲＡが設けられている。本発明では、例えば電子文書を通信する場合に、各装置は以下のように動作する。
【００２５】
なお、以下の説明では、電子的な情報がネットワークを介して送受されるため、情報の提供者を送信者、情報の取得者を受信者と表記する。ただし、電子的な情報はネットワークを介して送受しない場合もある。例えば、提供者はフロッピーディスクやＣＤ−ＲＯＭ、ＤＶＤ、ＩＣチップなどの記憶媒体を用いて電子的な情報を取得者に提供することができる。この場合、提供者側装置と取得者側装置はネットワークで接続する必要がない。本発明はこのような場合の構成も含むものである。
【００２６】
まず、送信者は、事前に自身の生体特徴情報を取得して、それを登録局ＲＡに送信してそこに登録させる。このとき、登録局ＲＡは送信者の秘密鍵と公開鍵を生成して、秘密鍵を送信者の生体特徴情報と対応付けて登録するとともに、公開鍵を送信者に送信する。送信者は登録局ＲＡから受信した公開鍵を認証局ＣＡに送信してそこに登録させる。
【００２７】
そして送信者は、電子文書を受信者に送信する場合に、あらためて生体特徴情報を取得して、それを登録局ＲＡに送信する。すると、登録局ＲＡは受信した送信者の生体特徴情報と自身に登録されている当該送信者の生体特徴情報とを比較して送信者が本人であることを確認する。登録局ＲＡは送信者が本人であることを確認したら、当該送信者の生体特徴情報に対応付けて登録された秘密鍵を送信者に送信する。
【００２８】
この後、送信者は、任意の関数を用いて電子文書のハッシュ値を算出し、それを秘密鍵を用いて暗号化してデジタル署名を生成するとともに、関数情報も秘密鍵を用いて暗号化する。そして暗号化されたデジタル署名と関数情報を電子文書に付加して受信者に送信する。
【００２９】
電子文書を受信した受信者は、認証局ＣＡにアクセスしてそこから送信者の公開鍵を取得し、送信者の公開鍵を用いて電子文書に付加されたデジタル署名を復号化して送信者が算出したハッシュ値を取得するとともに、関数情報も送信者の公開鍵を用いて復号化してそれにより特定された関数を用いて受信した電子文書のハッシュ値を算出する。そして、これらにより得られた２つのハッシュ値を比較して送信者が本人であることを確認する。
【００３０】
以下、図面を参照して本発明の実施の形態を説明する。なお、各図はこの発明を理解できる程度に概略的に示してあるにすぎない。また、各図において、共通する要素については、同一の符号を付し、説明を省略する。
【００３１】
＜第１実施例＞
図１は第１実施例の構成図である。
【００３２】
図に示すように、送信者Ａ側装置１０１は生体特徴取得部１０２、共通鍵生成部１０３、公開鍵暗号化部１０４、共通鍵復号化部１０５、署名生成部１０６および通信部１０７を備えている。登録局ＲＡ側装置１０８は秘密鍵復号化部１０９、本人確認部１１０、秘密鍵・公開鍵生成部１１１、共通鍵暗号化部１１２、通信部１１３および個人情報データベース１１４を備えている。認証局ＣＡ側装置１１５は公開鍵登録部１１６、公開鍵提供部１１７、通信部１１８および公開鍵データベース１１９を備えている。受信者Ｂ側装置１２０は公開鍵要求部１２１、署名確認部１２２および通信部１２３を備えている。なお、登録局ＲＡと認証局ＣＡは一体化させることも可能ではある。しかしながら、本実施例のように分散させた方が、秘密鍵Ｓ１を生成する仕組みを知る者を限定することができるので、機密の漏洩を防止しやすくなり、セキュリティが向上する。そのため、こちらの方が好適である。
【００３３】
以下、まず、送信者Ａ側装置１０１の構成について説明する。なお、このシステムでは、事前に、登録局ＲＡの装置１０８が秘密鍵・公開鍵生成部１１１により自身の秘密鍵Ｓ０と公開鍵Ｐ０を生成し、秘密鍵Ｓ０を自身で保管するとともに、公開鍵Ｐ０を外部（送信者Ａや認証局ＣＡ、受信者Ｂなど）に送信しているものとする。これにより、送信者Ａやその他は、公開鍵Ｐ０を用いてデータを暗号化／復号化して登録局ＲＡと通信することができる。
【００３４】
生体特徴取得部１０２は、例えばカメラ（またはセンサ）および画像処理装置などにより構成され、送信者Ａの生体特徴情報Ｄを取得する部位である。なお、本実施例では、生体特徴取得部１０２は送信者の目を撮影して目の中の虹彩の模様をコード化することにより生体特徴情報Ｄを取得するものとして説明する。
【００３５】
共通鍵生成部１０３は送信者Ａと登録局ＲＡとの暗号通信に用いる共通鍵Ｃ１を生成する部位である。公開鍵暗号化部１０４は登録局ＲＡで生成された登録局ＲＡの公開鍵Ｐ０を用いて送信者Ａの生体特徴情報Ｄと共通鍵Ｃ１を暗号化する部位である。なお、公開鍵暗号化部１０４で暗号化された送信者Ａの生体特徴情報Ｄと共通鍵Ｃ１は登録局ＲＡ側装置１０８に送信されることになる。共通鍵復号化部１０５は共通鍵Ｃ１を用いて登録局ＲＡから送信された送信者Ａの秘密鍵Ｓ１（暗号化されている）を復号化する部位である。復号化された秘密鍵Ｓ１はデジタル署名Ｇ１の生成に用いられる。署名生成部１０６は、任意の関数を用いて電子文書Ｅのハッシュ値を算出し、それを秘密鍵Ｓ１を用いて暗号化してデジタル署名Ｇ１を生成するとともに、関数情報Ｆも秘密鍵Ｓ１を用いて暗号化し、暗号化されたデジタル署名Ｇ１と関数情報Ｆを電子文書Ｅに付加する部位である。通信部１０７は外部との通信を行う部位である。電子文書Ｅはここから受信者Ｂ側装置１２０に送信されることになる。
【００３６】
次に登録局ＲＡ側装置１０８の構成について説明する。なお、登録局ＲＡの個人情報データベース１１４には送信者Ａによって送信者Ａの個人情報（例えば装置１０８が送信者Ａに対して付したシリアルな番号（以下、ＩＤ番号と表記する）や氏名、生体特徴情報Ｄなど）が事前に登録されているものとする。なお、本実施の形態では、認証局ＣＡ側装置１１５や受信者Ｂ側装置１２０は送信者を特定する情報としてＩＤ番号を用いるものとして説明する。秘密鍵復号化部１０９は、秘密鍵Ｓ０を用いて送信者Ａ側装置１０１から受信した生体特徴情報Ｄと共通鍵Ｃ１（ともに公開鍵暗号化部１０４により暗号化されている）を復号化する部位である。本人確認部１１０は復号化した送信者Ａの生体特徴情報Ｄと個人情報データベース１１４に登録されている当該送信者の生体特徴情報Ｄとを照合する部位である。本人確認部１１０は２つの生体特徴情報Ｄが許容範囲内で一致したときに、送信者Ａが本人であることを認証する信号（以下、認証信号と表記する）を出力する。
【００３７】
秘密鍵・公開鍵生成部１１１は送信者Ａの秘密鍵Ｓ１および公開鍵P１を生成する部位である。共通鍵暗号化部１１２は、送信者Ａの秘密鍵Ｓ１と公開鍵Ｐ１を暗号化する部位である。なお、秘密鍵Ｓ１は、後述するように、例えば署名生成処理時に共通鍵Ｃ２が用いられて暗号化／復号化される。また公開鍵Ｐ１は、後述するように、例えば利用者（送信者）登録処理時に共通鍵Ｃ１が用いられて暗号化／復号化される。通信部１１３は外部との通信を行う部位である。個人情報データベース１１４は送信者毎に送信者Ａの個人情報（ＩＤ番号や氏名、生体特徴情報Ｄ、秘密鍵Ｓ１など）を登録する部位である。
【００３８】
次に認証局ＣＡ側装置１１５の構成について説明する。公開鍵登録部１１６は送信者Ａの公開鍵Ｐ１を公開鍵データベース１１９に登録する部位である。公開鍵提供部１１７は受信者Ｂからの提供要求に基づいて、送信者Ａの公開鍵Ｐ１を受信者Ｂ側装置１２０に送信する部位である。通信部１１８は外部との通信を行う部位である。公開鍵データベース１１９は送信者Ａの公開鍵Ｐ１を登録する部位である。
【００３９】
次に受信者Ｂ側装置１２０の構成について説明する。公開鍵要求部１２１は送信者Ａの公開鍵Ｐ１の提供を認証局ＣＡに要求する部位である。署名確認部１２２は、認証局ＲＡから受信した送信者Ａの公開鍵Ｐ１を用いて送信者Ａから受信した電子文書Ｅに付加されたデジタル署名Ｇ１を復号化して送信者Ａが算出したハッシュ値を取得するとともに、関数情報Ｆも送信者Ａの公開鍵Ｐ１を用いて復号化してそれにより特定された関数を用いて受信した電子文書Ｅのハッシュ値を算出し、２つのハッシュ値を比較する部位である。署名確認部１２２は２つのハッシュ値が一致したときに、送信者Ａが本人であることを認証する信号（以下、認証信号と表記する）を出力する。通信部１２３は外部との通信を行う部位である。
【００４０】
以下に、システム間を送受信される情報の流れを説明する。図８は送信者Ａ側装置１０１と登録局ＲＡ側装置１０８と認証局ＣＡ側の１１５との間で送受信される情報の流れを示す図であり、図９は送信者Ａ側装置１０１と受信者Ｂ側装置１１２０と認証局ＣＡ側の１１５との間で送受信される情報の流れを示す図である。
【００４１】
図８に示すように、送信者Ａ側装置１０１から登録局ＲＡ側装置１０８へは氏名、共通鍵Ｃ１、生体特徴情報Ｄが送信され、登録局ＲＡ側装置１０８から送信者Ａ側装置１０１へはＩＤ番号、登録局ＲＡの公開鍵Ｐ０、送信者Ａの秘密鍵Ｓ１、送信者Ａの公開鍵Ｐ１が送信される。なお、登録局ＲＡは、後述するように、登録局ＲＡの公開鍵Ｐ０を利用者（送信者）登録処理時や署名生成処理時の前に送信し、また、送信者Ａの秘密鍵Ｓ１を署名生成処理時に送信し（利用者（送信者）登録処理時には送信しない）、送信者Ａの公開鍵Ｐ１を利用者（送信者）登録処理時に送信する（署名生成処理時には送信しない）ことになる。また、送信者Ａ側装置１０１から認証局ＣＡ側装置１１５へはＩＤ番号、公開鍵Ｐ１が送信される。
【００４２】
他方、図９に示すように、送信者Ａ側装置１０１から受信者Ｂ側装置１２０へはＩＤ番号、電子文書Ｅ、デジタル署名Ｇ１が送信される。また、受信者Ｂ側装置１２０から認証局ＣＡ側装置１１５へはＩＤ番号が送信され、認証局ＣＡ側装置１１５から受信者Ｂ側装置１２０へは公開鍵Ｐ１が送信される。
【００４３】
図２〜図４は、それぞれ、利用者（送信者）登録処理のフローチャート、署名生成処理のフローチャート、署名確認処理のフローチャートである。
【００４４】
以下、第１実施例の動作について、利用者（送信者）登録処理時、署名生成処理時、署名確認処理時の３つのに分けて説明する。なお、以下の動作では秘密鍵や公開鍵の生成、暗号化や復号化、およびデジタル署名の生成や確認の方法については従来方式を利用するものとして説明する。
【００４５】
まず、利用者（送信者）登録処理時の動作について、図２を用いて説明する。なお、このシステムでは、上述したように、事前に、登録局ＲＡの装置１０８が秘密鍵・公開鍵生成部１１１により自身の秘密鍵Ｓ０と公開鍵Ｐ０を生成し、秘密鍵Ｓ０を自身に登録するとともに、公開鍵Ｐ０を外部（送信者Ａや認証局ＣＡ、受信者Ｂなど）に送信している。
【００４６】
送信者Ａ側装置１０１は、初めにステップ（以下、Ｓと表記する）２０１において生体特徴取得部１０２により送信者Ａの生体特徴情報Ｄを取得する。次にＳ２０２において共通鍵生成部１０３により共通鍵Ｃ１を生成する。なお、Ｃ１は乱数などを用いることができる。次にＳ２０３において公開鍵暗号化部１０４により生体特徴情報Ｄおよび共通鍵Ｃ１、氏名を登録局ＲＡの公開鍵Ｐ０を用いて暗号化し、それを登録局ＲＡに送信する。
【００４７】
登録局ＲＡ側装置１０８は、Ｓ２０４において秘密鍵復号化部１０９により登録局ＲＡの秘密鍵Ｓ０を用いて送信者Ａ側装置１０１から受信した生体特徴情報Ｄと共通鍵Ｃ１、氏名を復号化する。次にＳ２０５において秘密鍵・公開鍵生成部１１１により送信者Ａの秘密鍵Ｓ１および公開鍵Ｐ１を生成する。次にＳ２０６において送信者Ａの生体特徴情報Ｄおよび秘密鍵Ｓ１を個人情報データベース１１４に登録する。そしてＳ２０７において共通鍵暗号化部１１２により共通鍵Ｃ１を用いて公開鍵Ｐ１を暗号化し、それを送信者Ａに送信する。
【００４８】
送信者Ａ側装置１０１は、Ｓ２０８において共通鍵復号化部１０５により登録局ＲＡから受信した公開鍵Ｐ１を復号化し、Ｓ２０９において公開鍵Ｐ１とＩＤ番号を認証局ＣＡ側装置１１５に送信して認証局ＣＡに登録するよう指示する。
【００４９】
認証局ＣＡ側装置１１５は、Ｓ２１０において公開鍵登録部１１６により送信者Ａの公開鍵P１とＩＤ番号を公開鍵データベース１１９に登録する。
【００５０】
次に署名生成処理時の動作について、図３を用いて説明する。
【００５１】
送信者Ａ側装置１０１は、初めにＳ３０１において生体特徴取得部１０２により送信者Ａの生体特徴情報Ｄを取得する。次にＳ３０２において共通鍵生成部１０３により共通鍵Ｃ２を生成する。なお、共通鍵Ｃ２は送信者Ａの利用者（送信者）登録処理時に用いた共通鍵Ｃ１と異なっても良いものであり、乱数などを用いることができる。次にＳ３０３において公開鍵暗号化部１０４により登録局ＲＡの公開鍵暗号Ｐ０を用いて生体特徴情報Ｄと共通鍵Ｃ２を暗号化し、それを登録局ＲＡ側装置１０８に送信する。
【００５２】
登録局ＲＡ側装置１０８は、Ｓ３０４において秘密鍵復号化部１０９により自身の秘密鍵Ｓ０を用いて登録局ＲＡの装置１０８から受信した生体特徴情報Ｄと共通鍵Ｃ２を復号化する。次にＳ３０５において本人確認部１１０により送信者Ａ側装置１０１から受信した生体特徴情報Ｄと個人情報データベース１１４に登録されている生体特徴情報Ｄとを比較して本人確認を行う。本人と確認された場合に、Ｓ３０６において共通鍵暗号化部１１２により共通鍵Ｃ２を用いて個人情報データベース１１４に登録されている送信者Ａの秘密鍵Ｓ１を暗号化し、それを送信者Ａ側装置１０１に送信する。
【００５３】
送信者Ａ側装置１０１は、Ｓ３０７において共通鍵復号化部１０５により共通鍵Ｃ２を用いて登録局ＲＡ側装置１０８から受信した秘密鍵Ｓ１を復号化する。次にＳ３０８において署名生成部１０６により任意の関数を用いて電子文書Ｅのハッシュ値を算出し、それを秘密鍵Ｓ１を用いて暗号化してデジタル署名Ｇ１を生成するとともに、関数情報Ｆも秘密鍵Ｓ１を用いて暗号化する。そして、ＩＤ番号と暗号化されたデジタル署名Ｇ１と関数情報Ｆを電子文書Ｅに付加して受信者Ｂ側装置１２０に送信する。
【００５４】
次に署名確認処理時の動作について、図４を用いて説明する。受信者Ｂ側装置１２０は、送信者Ａ側装置１０１から電子文書Ｅとデジタル署名が送信された場合に、Ｓ４０１において公開鍵要求部１２１により認証局ＣＡに対して電子文書Ｅに付加されたＩＤ番号を送信して送信者Ａの公開鍵Ｐ１の提供を要求する。
【００５５】
認証局ＣＡ側装置１１５は、Ｓ４０２において受信したＩＤ番号により公開鍵データベース１１９に登録されている送信者ａを特定し、送信者Ａの公開鍵P１を受信者Ｂ側装置１２０に送信する。
【００５６】
受信者Ｂ側装置１２０は、Ｓ４０３において認証局ＣＡ側装置１１５から送信者Ａの公開鍵Ｐ１を取得する。次にＳ４０４において署名確認部１２２により認証局ＲＡから受信した送信者Ａの公開鍵Ｐ１を用いて送信者Ａから受信した電子文書Ｅに付加されたデジタル署名Ｇ１を復号化して送信者Ａが算出したハッシュ値を取得するとともに、関数情報Ｆも送信者Ａの公開鍵Ｐ１を用いて復号化してそれにより特定された関数を用いて受信した電子文書Ｅのハッシュ値を算出し、２つのハッシュ値を比較する。これにより送信者がＡ本人であることを確認する。
【００５７】
以上説明したように、第１実施例によれば、送信者Ａが自身の生体特徴情報Ｄを登録局ＲＡに送信することにより、登録局ＲＡが送信者Ａの秘密鍵Ｓ１や公開鍵Ｐ１を生成するとともに、デジタル署名生成時に、送信者Ａがあらためて自身の生体特徴情報Ｄを登録局ＲＡに送信することにより、登録局ＲＡが送信者Ａの秘密鍵Ｓ１を送信者Ａに送信する。そのため、送信者Ａは秘密鍵Ｓ１や公開鍵Ｐ１を発行する際の手間を省くことができる上、自身の秘密鍵Ｓ１を厳重に管理する煩わしさをなくすことができる。しかも、ハッシュ値の算出に用いた関数を特定する情報（関数情報）も送信者Ａの秘密鍵Ｓ１と公開鍵Ｐ１で暗号化／符号化されているので、関数情報に対するセキュリティも向上させることができる。そのため、デジタル署名を利用するシステムの利便性を向上させることができる。
【００５８】
＜第２実施例＞
第２実施例は、秘密鍵Ｓ１の不正利用を回避するために、随時、登録局ＲＡが新たな秘密鍵を生成して送信者Ａに送信するようにしたものである。なお、新たに秘密鍵を生成するタイミングは任意であるが、例えば送信者Ａがデジタル署名を発行するたびに（すなわち、デジタル署名を付加した電子文書Ｅを受信者Ｂに送信するたびに）行なってもよい。受信者Ｂは、登録局ＲＡから公開鍵Ｐ１を補正する情報Ｒ１を取得して公開鍵Ｐ１を補正することによりデジタル署名の復号化に必要な新たな公開鍵Ｐ２を取得する。
【００５９】
図５は第２実施例の構成図である。第２実施例は、第１実施例に対し、登録局ＲＡ側装置１０８に補正情報生成部５０１および補正情報提供部５０２を加えるとともに、受信者Ｂ側装置１２０に補正情報要求部５０３および公開鍵補正部５０４を加えたものである。
【００６０】
補正情報生成部５０１は、送信者Ａの古い公開鍵Ｐ１から送信者Ａの新たな公開鍵Ｐ２を算出するための補正情報Ｒ１を生成する部位である。補正情報提供部５０２は、補正情報Ｒ１を送信者Ａに送信するための部位である。補正情報要求部５０３は、登録局ＲＡに対して送信者Ａの補正情報Ｒ１の提供を要求する部位である。公開鍵補正部５０４は、補正情報Ｒ１を用いて送信者Ａの古い公開鍵Ｐ１から送信者Ａの新たな公開鍵Ｐ２を算出する部位である。
【００６１】
第２実施例の動作は、署名生成処理時および署名確認処理時に第１実施例と相違する。そこで、以下に、これらの動作について説明する。
【００６２】
まず、署名生成処理時の動作について、図６を用いて説明する。図６は署名生成処理のフローチャートである。
【００６３】
送信者Ａ側装置１０１は、初めにＳ６０１において生体特徴取得部１０２により送信者Ａの生体特徴情報Ｄを取得する。次にＳ６０２において共通鍵生成部１０３により共通鍵Ｃ２を生成する。なお、共通鍵Ｃ２は送信者Ａの利用者（送信者）登録処理時に用いた共通鍵Ｃ１と異なっても良いものであり、乱数などを用いることができる。次にＳ６０３において公開鍵暗号化部１０４により登録局ＲＡの公開鍵暗号P０を用いて生体特徴情報Ｄと共通鍵Ｃ２を暗号化し、それを登録局ＲＡ側装置１０８に送信する。
【００６４】
登録局ＲＡ側装置１０８は、Ｓ６０４において秘密鍵復号化部１０９により自身の秘密鍵Ｓ０を用いて送信者Ａ側装置１０１から送信された生体特徴情報Ｄと共通鍵Ｃ２を複号化する。次にＳ６０５において本人確認部１１０により送信者Ａ側装置１０１から送信された生体特徴情報Ｄと個人情報データベース１１４に登録されている生体特徴情報Ｄとを照合して本人確認を行う。本人と確認された場合に、Ｓ６０６において秘密鍵・公開鍵生成部１１１により送信者Ａの秘密鍵Ｓ２と公開鍵Ｐ２を新たに生成する。これらの鍵は送信者Ａの登録時や前回の署名生成処理時に生成した秘密鍵や公開鍵と異なっていることが望ましい。次にＳ６０７において補正情報生成部５０１により補正情報Ｒ１を生成し、個人情報データベース１１４に登録する。なお、補正情報Ｒ１は新たに生成した送信者Ａの公開鍵Ｐ２と個人情報データベースに登録されている送信者Ａの公開鍵Ｐ１を用いて以下の式１により算出したものである。また個人情報データベース１１４に登録する補正情報Ｒ１は常に最新のものだけとする。
【００６５】
【数１】
0004655358.tif 000002
【００６６】
次にＳ６０８において共通鍵暗号化部１１２により共通鍵Ｃ２を用いて秘密鍵Ｓ２を暗号化し、それを送信者Ａ側装置１０１に送信する。
【００６７】
送信者Ａ側装置１０１は、Ｓ６０９において共通鍵復号化部１０５により共通鍵Ｃ２を用いて登録局ＲＡ側装置１０８から受信した秘密鍵Ｓ２を復号化する。次にＳ６１０において署名生成部１０６により任意の関数を用いて電子文書Ｅのハッシュ値を算出し、それを秘密鍵Ｓ１を用いて暗号化してデジタル署名Ｇ１を生成するとともに、関数情報Ｆも秘密鍵Ｓ１を用いて暗号化する。そして、ＩＤ番号と暗号化されたデジタル署名Ｇ１と関数情報Ｆを電子文書Ｅに付加して受信者Ｂ側装置１２０に送信する。
【００６８】
次に署名確認処理時の動作について、図７を用いて説明する。図７は署名確認処理のフローチャートである。
【００６９】
受信者Ｂ側装置１２０は、送信者Ａ側装置１０１から電子文書Ｅとデジタル署名が送信された場合に、Ｓ７０１において公開鍵要求部１２１により認証局ＣＡに対して電子文書Ｅに付加されたＩＤ番号を送信して送信者Ａの公開鍵Ｐ１の提供を要求する。
【００７０】
認証局ＣＡ側装置１１５は、Ｓ７０２において受信したＩＤ番号により公開鍵データベース１１９に登録されている送信者Ａを特定し、送信者Ａの公開鍵P１を受信者Ｂ側装置１２０に送信する。
【００７１】
受信者Ｂ側装置１２０は、Ｓ７０３において認証局ＣＡ側装置１１５から送信者Ａの公開鍵Ｐ１を取得する。次にＳ７０４において補正情報要求部５０３により登録局ＲＡ側装置１０８に対して電子文書Ｅに付加されたＩＤ番号を送信して送信者Ａの補正情報Ｒ１の提供を要求する。
【００７２】
登録局ＲＡ側装置１０８は、Ｓ７０５において鍵補正情報提供部５０２により個人情報データベース１１４に登録されている送信者Ａの最新の補正情報Ｒ１を受信者Ｂ側装置１２０に送信する。この際、秘密鍵Ｓ２の再利用を防ぐため、補正情報提供部５０２は個人情報データベース１１４から補正情報Ｒ１を抹消する。
【００７３】
受信者Ｂ側装置１２０は、Ｓ７０６において登録局ＲＡ側装置１０８から補正情報Ｒ１を取得する。次にＳ７０７において公開鍵補正部５０４により公開鍵Ｐ１を補正する。なお、補正により得られる公開鍵Ｐ２は認証局ＣＡから取得した送信者Ａの公開鍵Ｐ１と登録局ＲＡから取得した送信者Ａの最新の補正情報Ｒ１を用いて以下の式２により算出したものである。
【００７４】
【数２】
0004655358.tif 000003
【００７５】
次にＳ７０８において署名確認部１２２により算出した送信者Ａの公開鍵Ｐ２を用いて送信者Ａから受信した電子文書Ｅに付加されたデジタル署名Ｇ１を復号化して送信者Ａが算出したハッシュ値を取得するとともに、関数情報Ｆも送信者Ａの公開鍵Ｐ２を用いて復号化してそれにより特定された関数を用いて受信した電子文書Ｅのハッシュ値を算出し、２つのハッシュ値を比較する。これにより送信者がＡ本人であるであることを確認する。
【００７６】
以上説明したように、本発明の第２実施例によれば、署名生成処理時に登録局ＲＡが新たに秘密鍵Ｓ２を生成するので、過去の署名生成処理時に用いた秘密鍵を繰り返し使用することを防ぐことができる。そのため、秘密鍵の漏洩による第三者の不正利用（例えばなりすましなど）を回避することができる。その上、受信者Ｂは送信者Ａの公開鍵Ｐ１と補正情報Ｒ１とをそれぞれ別々の機関から取得する必要があるため、情報を暗号化・復号化させるプロセスの機密を厳重に秘匿することができ、システムのセキュリティを向上させることができる。
【００７７】
＜第３実施例＞
第３実施例は、秘密鍵の再利用を最大Ｎ回まで許す構成にしたものである。なお、これに合わせて補正情報提供部５０２はシステムの求めるセキュリティレベルや利用者の利便性などを考慮して適宜調整してある。
【００７８】
図１０は第３実施例の構成図である。第３実施例は、第２実施例に対し、登録局ＲＡ側装置１０８にアクセスカウンタ部１００１を加えたものである。
【００７９】
アクセスカウンタ部１００１は、登録局ＲＡ側装置１０８から送信者Ａ側装置１０１に提供した秘密鍵の回数や受信者Ｂ側装置１２０に提供した補正情報の回数を記録する部位である。
【００８０】
第３実施例の動作は、署名生成処理時に第２実施例と相違する。そこで、以下に、図１１を用いてこの動作について説明する。なお、図１１は署名生成処理のフローチャートである。
【００８１】
送信者Ａ側装置１０１は、初めにＳ１１０１において生体特徴取得部１０２により送信者Ａの生体特徴情報Ｄを取得する。次にＳ１１０２において共通鍵生成部１０３により共通鍵Ｃ２を生成する。なお、共通鍵Ｃ２は送信者Ａの利用者（送信者）登録処理時に用いた共通鍵Ｃ１と異なっても良いものであり、乱数などを用いることができる。次にＳ１１０３において公開鍵暗号化部１０４により登録局ＲＡの公開鍵暗号P０を用いて生体特徴情報Ｄと共通鍵Ｃ２を暗号化し、それを登録局ＲＡ側装置１０８に送信する。
【００８２】
登録局ＲＡ側装置１０８は、Ｓ１１０４において秘密鍵復号化部１０９により自身の秘密鍵Ｓ０を用いて送信者Ａ側装置１０１から送信された生体特徴情報Ｄと共通鍵Ｃ２を複号化する。次にＳ１１０５において本人確認部１１０により送信者Ａ側装置１０１から送信された生体特徴情報Ｄと個人情報データベース１１４に登録されている生体特徴情報Ｄとを照合して本人確認を行う。本人と確認された場合に、Ｓ１１０６において、アクセスカウンタ部１００１に記録されている送信者Ａの最新の秘密鍵Ｓ２を提供した回数が、所定回数内であるのかをチェックする。所定回数内であれば、Ｓ１１０７においてアクセスカウンタ部１００１に記録されているカウント数を１つアップさせて、動作をＳ１１１１に進める。所定回数を超えていれば、動作をＳ１１０８に進める。
【００８３】
Ｓ１１０８において秘密鍵・公開鍵生成部１１１により送信者Ａの秘密鍵Ｓ２と公開鍵Ｐ２を新たに生成する。これらの鍵は送信者Ａの登録時や前回の署名生成処理時に生成した秘密鍵や公開鍵と異なっていることが望ましい。次にＳ１１０９において補正情報生成部５０１により補正情報Ｒ１を生成し、個人情報データベース１１４に登録する。なお、補正情報Ｒ１は新たに生成した送信者Ａの公開鍵Ｐ２と個人情報データベースに登録されている送信者Ａの公開鍵Ｐ１を用いて以下の式３により算出したものである。また個人情報データベース１１４に登録する補正情報Ｒ１は常に最新のものだけとする。
【００８４】
【数３】
0004655358.tif 000004
【００８５】
次にＳ１１１０においてアクセスカウンタ部１００１のカウント数を初期化、すなわち０にする。
【００８６】
次にＳ１１１１において共通鍵暗号化部１１２により共通鍵Ｃ２を用いて秘密鍵Ｓ２を暗号化し、それを送信者Ａ側装置１０１に送信する。
【００８７】
送信者Ａ側装置１０１は、Ｓ１１１２において共通鍵復号化部１０５により共通鍵Ｃ２を用いて登録局ＲＡ側装置１０８から受信した秘密鍵Ｓ２を復号化する。次にＳ１１１３において署名生成部１０６により任意の関数を用いて電子文書Ｅのハッシュ値を算出し、それを秘密鍵Ｓ１を用いて暗号化してデジタル署名Ｇ１を生成するとともに、関数情報Ｆも秘密鍵Ｓ１を用いて暗号化する。そして、ＩＤ番号と暗号化されたデジタル署名Ｇ１と関数情報Ｆを電子文書Ｅに付加して受信者Ｂ側装置１２０に送信する。
【００８８】
以上説明したように、本発明の第３実施例によれば、１回の本人確認で生成した鍵を、所定回数内に限り、複数の署名に利用できるため、一定水準以上のシステムのセキュリティを確保した状態で鍵を提供する速度を速めることができ、システムの利便性を向上させることができる。
【００８９】
＜第４実施例＞
第４実施例は、第３実施例では登録局ＲＡ側装置１０８が発行済み秘密鍵Ｓ２の流用回数を管理するのに対し、送信者Ａ側装置１０１が管理するように構成にしたものである。
【００９０】
図１２は第４実施例の構成図である。第４実施例は、第３実施例に対し、送信者Ａ側装置１０８に秘密鍵記憶部１２０１を加えたものである。
【００９１】
秘密鍵記憶部１２０１は、登録局ＲＡ側装置１０８から送信者Ａ側装置１０１に提供された秘密鍵Ｓ２を記録する部位である。送信者Ａ側装置１０１は、秘密鍵記憶部１２０１に記録された秘密鍵Ｓ２を流用してデジタル署名Ｇ１を生成することになる。なお、送信者Ａ側装置１０１は、署名生成部１０６により秘密鍵記憶部１２０１に記録された秘密鍵Ｓ２を流用した回数をカウントしている。そして、流用した回数が所定回数を越える場合に、送信者Ａ側装置１０１は、送信者Ａの生体特徴情報Ｄを取得してそれを登録局ＲＡ側装置１０８に送信し、登録局ＲＡ側装置１０８に送信者Ａの新たな秘密鍵Ｓ２を生成させる。
【００９２】
第４実施例の動作は、署名生成処理時および署名確認処理時に第３実施例と相違する。そこで、以下に、これらの動作について説明する。
【００９３】
まず、署名生成処理時の動作について、図１３を用いて説明する。図１３は署名生成処理のフローチャートである。
【００９４】
送信者Ａ側装置１０１は、初めにＳ１３０１において秘密鍵記憶部１２０１に記録されている送信者Ａの発行済みの秘密鍵Ｓ２を流用するのかを判断する。流用するのであれば、Ｓ１３０２において秘密鍵記憶部１２０１から送信者Ａの秘密鍵Ｓ２を読み出し、動作をＳ１３１４に進める。流用しないのであれば、動作をＳ１３０３に進める。
【００９５】
Ｓ１３０３において生体特徴取得部１０２により送信者Ａの生体特徴情報Ｄを取得する。次にＳ１３０４において共通鍵生成部１０３により共通鍵Ｃ２を生成する。なお、共通鍵Ｃ２は送信者Ａの利用者（送信者）登録処理時に用いた共通鍵Ｃ１と異なっても良いものであり、乱数などを用いることができる。次にＳ１３０５において公開鍵暗号化部１０４により登録局ＲＡの公開鍵暗号P０を用いて生体特徴情報Ｄと共通鍵Ｃ２を暗号化し、それを登録局ＲＡ側装置１０８に送信する。
【００９６】
登録局ＲＡ側装置１０８は、Ｓ１３０６において秘密鍵復号化部１０９により自身の秘密鍵Ｓ０を用いて送信者Ａ側装置１０１から送信された生体特徴情報Ｄと共通鍵Ｃ２を複号化する。次にＳ１３０７において本人確認部１１０により送信者Ａ側装置１０１から送信された生体特徴情報Ｄと個人情報データベース１１４に登録されている生体特徴情報Ｄとを照合して本人確認を行う。
【００９７】
本人と確認された場合に、Ｓ１３０８において秘密鍵・公開鍵生成部１１１により送信者Ａの秘密鍵Ｓ２と公開鍵Ｐ２を新たに生成する。これらの鍵は送信者Ａの登録時や前回の署名生成処理時に生成した秘密鍵や公開鍵と異なっていることが望ましい。次にＳ１３０９において補正情報生成部５０１により補正情報Ｒ１を生成し、個人情報データベース１１４に登録する。なお、補正情報Ｒ１は新たに生成した送信者Ａの公開鍵Ｐ２と個人情報データベースに登録されている送信者Ａの公開鍵Ｐ１を用いて以下の式４により算出したものである。また個人情報データベース１１４に登録する補正情報Ｒ１は常に最新のものだけとする。
【００９８】
【数４】
0004655358.tif 000005
【００９９】
次にＳ１３１０においてアクセスカウンタ部１００１のカウント数を初期化、すなわち０にする。
【０１００】
次にＳ１３１１において共通鍵暗号化部１１２により共通鍵Ｃ２を用いて秘密鍵Ｓ２を暗号化し、それを送信者Ａ側装置１０１に送信する。
【０１０１】
送信者Ａ側装置１０１は、Ｓ１３１２において共通鍵復号化部１０５により共通鍵Ｃ２を用いて登録局ＲＡ側装置１０８から受信した秘密鍵Ｓ２を復号化する。Ｓ１３１３において秘密鍵Ｓ２を秘密鍵記憶部１２０１に記録する。次にＳ１３１４において署名生成部１０６により任意の関数を用いて電子文書Ｅのハッシュ値を算出し、それを秘密鍵Ｓ１を用いて暗号化してデジタル署名Ｇ１を生成するとともに、関数情報Ｆも秘密鍵Ｓ１を用いて暗号化する。そして、ＩＤ番号と暗号化されたデジタル署名Ｇ１と関数情報Ｆを電子文書Ｅに付加して受信者Ｂ側装置１２０に送信する。
【０１０２】
なお、以降の署名生成処理動作は、秘密鍵記憶部１２０１に記憶された秘密鍵Ｓ２を流用することで、Ｓ１３０３からＳ１３１３までの動作を省くことができる。この場合、秘密鍵Ｓ２を流用するのか、否か（すなわち、登録局ＲＡ側装置１０８に新規に生成させるのか）は、送信者Ａ側装置１０１が秘密鍵Ｓ２の流用回数に基づいて判断することになる。
【０１０３】
次に署名確認処理時の動作について、図１４を用いて説明する。図１４は署名確認処理のフローチャートである。なお、本実施例では、登録局ＲＡ側装置１０８は受信者Ｂ側装置１２０からの送信者Ａの補正情報Ｒ１の提供を要求回数をカウントしている。そして、要求回数が所定回数を越える場合に、登録局ＲＡ側装置１０８は、受信者Ｂ側装置１２０への送信者Ａの補正情報Ｒ１の提供を中止する。これにより登録局ＲＡ側装置１０８は、一定水準以上のシステムのセキュリティを確保している。
【０１０４】
受信者Ｂ側装置１２０は、送信者Ａ側装置１０１から電子文書Ｅとデジタル署名が送信された場合に、Ｓ１４０１において公開鍵要求部１２１により認証局ＣＡに対して電子文書Ｅに付加されたＩＤ番号を送信して送信者Ａの公開鍵Ｐ１の提供を要求する。
【０１０５】
認証局ＣＡ側装置１１５は、Ｓ１４０２において受信したＩＤ番号により公開鍵データベース１１９に登録されている送信者Ａを特定し、送信者Ａの公開鍵P１を受信者Ｂ側装置１２０に送信する。
【０１０６】
受信者Ｂ側装置１２０は、Ｓ１４０３において認証局ＣＡ側装置１１５から送信者Ａの公開鍵Ｐ１を取得する。次にＳ１４０４において補正情報要求部５０３により登録局ＲＡ側装置１０８に対して電子文書Ｅに付加されたＩＤ番号を送信して送信者Ａの補正情報Ｒ１の提供を要求する。
【０１０７】
登録局ＲＡ側装置１０８は、Ｓ１４０５において、アクセスカウンタ部１００１に記録されている送信者Ａの最新の補正情報Ｒ１を提供した回数が、所定回数内であるのかをチェックする。所定回数内であれば、アクセスカウンタ部１００１に記録されているカウント数を１つアップさせて、動作をＳ１２０６に進め、所定回数を越えていれば、送信者Ａの補正情報Ｒ１を提供できない旨を受信者Ｂ側装置１２０に送信する。
【０１０８】
Ｓ１４０６において鍵補正情報提供部５０２により個人情報データベース１１４に登録されている送信者Ａの最新の補正情報Ｒ１を受信者Ｂ側装置１２０に送信する。この際、アクセスカウンタ部１００１に記録されている送信者Ａの最新の補正情報Ｒ１を提供した回数が所定回数に達した場合には、秘密鍵Ｓ２の再利用を防ぐため、補正情報提供部５０２は個人情報データベース１１４から補正情報Ｒ１を抹消する。
【０１０９】
受信者Ｂ側装置１２０は、Ｓ１４０７において登録局ＲＡ側装置１０８から補正情報Ｒ１を取得する。次にＳ１４０８において公開鍵補正部５０４により公開鍵Ｐ１を補正する。なお、補正により得られる公開鍵Ｐ２は認証局ＣＡから取得した送信者Ａの公開鍵Ｐ１と登録局ＲＡから取得した送信者Ａの最新の補正情報Ｒ１を用いて以下の式５により算出したものである。
【０１１０】
【数５】
0004655358.tif 000006
【０１１１】
次にＳ１４０９において署名確認部１２２により算出した送信者Ａの公開鍵Ｐ２を用いて送信者Ａから受信した電子文書Ｅに付加されたデジタル署名Ｇ１を復号化して送信者Ａが算出したハッシュ値を取得するとともに、関数情報Ｆも送信者Ａの公開鍵Ｐ２を用いて復号化してそれにより特定された関数を用いて受信した電子文書Ｅのハッシュ値を算出し、２つのハッシュ値を比較する。これにより送信者がＡ本人であるであることを確認する。
【０１１２】
以上説明したように、本発明の第４実施例によれば、送信者Ａ側装置１０１は、以前取得した鍵をデジタル署名Ｇ１の生成に流用する。そのため、送信者Ａ側装置１０１は、登録局ＲＡ側装置１０８と通信しなくてもよいので、第３実施例よりも早く電子的な情報を受信者Ｂ側装置１２０に提供することができる。
【０１１３】
＜第５実施例＞
第５実施例は、秘密鍵の再利用を所定時間内に限って許す構成にしたものである。なお、これに合わせて補正情報提供部５０２はシステムの求めるセキュリティレベルや利用者の利便性などを考慮して適宜調整してある。
【０１１４】
図１５は第５実施例の構成図である。第５実施例は、第３実施例に対し、アクセスカウンタ部１００１の代わりに時間記録部１５０１を設けたものである。
【０１１５】
時間記録部１５０１は、登録局側ＲＡ装置１０８から送信者Ａ側装置１０１に秘密鍵を生成した時間や提供した時間、受信者Ｂ側装置１２０に補正情報を提供した時間等を記録する部位である。
【０１１６】
第５実施例の動作は、署名生成処理時に第３実施例と相違する。そこで、以下に、図１６を用いてこの動作について説明する。なお、図１６は署名生成処理のフローチャートである。
【０１１７】
送信者Ａ側装置１０１は、初めにＳ１６０１において生体特徴取得部１０２により送信者Ａの生体特徴情報Ｄを取得する。次にＳ１６０２において共通鍵生成部１０３により共通鍵Ｃ２を生成する。なお、共通鍵Ｃ２は送信者Ａの利用者（送信者）登録処理時に用いた共通鍵Ｃ１と異なっても良いものであり、乱数などを用いることができる。次にＳ１６０３において公開鍵暗号化部１０４により登録局ＲＡの公開鍵暗号P０を用いて生体特徴情報Ｄと共通鍵Ｃ２を暗号化し、それを登録局ＲＡ側装置１０８に送信する。
【０１１８】
登録局ＲＡ側装置１０８は、Ｓ１６０４において秘密鍵復号化部１０９により自身の秘密鍵Ｓ０を用いて送信者Ａ側装置１０１から送信された生体特徴情報Ｄと共通鍵Ｃ２を複号化する。次にＳ１６０５において本人確認部１１０により送信者Ａ側装置１０１から送信された生体特徴情報Ｄと個人情報データベース１１４に登録されている生体特徴情報Ｄとを照合して本人確認を行う。本人と確認された場合に、Ｓ１６０６において、現在の時刻が時間記録部１３０１に記録されている送信者Ａの最新の秘密鍵Ｓ２を生成した時間から所定時間内であるのかをチェックする。所定時間内であれば、動作をＳ１６０９に進める。所定時間を超えていれば、動作をＳ１６０７に進める。
【０１１９】
Ｓ１６０７において秘密鍵・公開鍵生成部１１１により送信者Ａの秘密鍵Ｓ２と公開鍵Ｐ２を新たに生成する。これらの鍵は送信者Ａの登録時や前回の署名生成処理時に生成した秘密鍵や公開鍵と異なっていることが望ましい。次にＳ１６０８において補正情報生成部５０１により補正情報Ｒ１を生成し、補正情報Ｒ１を個人情報データベース１１４に登録する。なお、補正情報Ｒ１は新たに生成した送信者Ａの公開鍵Ｐ２と個人情報データベースに登録されている送信者Ａの公開鍵Ｐ１を用いて以下の式６により算出したものである。また個人情報データベース１１４に登録する補正情報Ｒ１は常に最新のものだけとする。
【０１２０】
【数６】
0004655358.tif 000007
【０１２１】
次にＳ１６０９において時間記録部１５０１に時刻を記録させる。このとき時間記録部１５０１は、、動作がＳ１６０６から進んだ場合であれば、送信者Ａの最新の秘密鍵Ｓ２を送信者Ａ側装置１０１に提供した時刻を記録し、動作がＳ１６０８から進んだ場合であれば、送信者Ａの最新の秘密鍵Ｓ２を生成した時刻を記録することになる。
【０１２２】
次にＳ１６１０において共通鍵暗号化部１１２により共通鍵Ｃ２を用いて秘密鍵Ｓ２を暗号化し、それを送信者Ａ側装置１０１に送信する。
【０１２３】
送信者Ａ側装置１０１は、Ｓ１６１１において共通鍵復号化部１０５により共通鍵Ｃ２を用いて登録局ＲＡ側装置１０８から受信した秘密鍵Ｓ２を復号化する。次にＳ１６１２において署名生成部１０６により任意の関数を用いて電子文書Ｅのハッシュ値を算出し、それを秘密鍵Ｓ１を用いて暗号化してデジタル署名Ｇ１を生成するとともに、関数情報Ｆも秘密鍵Ｓ１を用いて暗号化する。そして、ＩＤ番号と暗号化されたデジタル署名Ｇ１と関数情報Ｆを電子文書Ｅに付加して受信者Ｂ側装置１２０に送信する。
【０１２４】
以上説明したように、本発明の第５実施例によれば、１回の本人確認で生成した鍵を、所定時間内に限り、複数の署名に利用できるため、一定水準以上のシステムのセキュリティを確保した状態で鍵を提供する速度を速めることができ、システムの利便性を向上させることができる。
【０１２５】
＜第６実施例＞
第６実施例は、第５実施例では登録局ＲＡ側装置１０８が発行済み秘密鍵Ｓ２の流用する時刻を管理するのに対し、送信者Ａ側装置１０１が管理するように構成にしたものである。
【０１２６】
図１７は第６実施例の構成図である。第６実施例は、第５実施例に対し、送信者Ａ側装置１０８に秘密鍵記憶部１７０１を加えたものである。
【０１２７】
秘密鍵記憶部１７０１は第４実施例で説明した秘密鍵記憶部１２０１と同様の部位である。すなわち、秘密鍵記憶部１７０１は、登録局ＲＡ側装置１０８から送信者Ａ側装置１０１に提供された秘密鍵Ｓ２を記録する部位である。送信者Ａ側装置１０１は、秘密鍵記憶部１７０１に記録された秘密鍵Ｓ２を流用してデジタル署名Ｇ１を生成することになる。なお、送信者Ａ側装置１０１は、署名生成部１０６により秘密鍵Ｓ２を秘密鍵記憶部１２０１に記録した時刻を監視している。そして、記録した時刻から所定時間経過している場合に、送信者Ａ側装置１０１は、送信者Ａの生体特徴情報Ｄを取得してそれを登録局ＲＡ側装置１０８に送信し、登録局ＲＡ側装置１０８に送信者Ａの新たな秘密鍵Ｓ２を生成させる。
【０１２８】
第６実施例の動作は、署名生成処理時および署名確認処理時に第５実施例と相違する。そこで、以下に、これらの動作について説明する。
【０１２９】
まず、署名生成処理時の動作について、図１８を用いて説明する。なお、図１８は署名生成処理のフローチャートである。
【０１３０】
送信者Ａ側装置１０１は、初めにＳ１８０１において秘密鍵記憶部１７０１に記録されている送信者Ａの発行済みの秘密鍵Ｓ２を流用するのかを判断する。流用するのであれば、Ｓ１８０２において秘密鍵記憶部１７０１から送信者Ａの秘密鍵Ｓ２を読み出し、動作をＳ１８１４に進める。流用しないのであれば、動作をＳ１８０３に進める。
【０１３１】
Ｓ１８０３において生体特徴取得部１０２により送信者Ａの生体特徴情報Ｄを取得する。次にＳ１８０４において共通鍵生成部１０３により共通鍵Ｃ２を生成する。なお、共通鍵Ｃ２は送信者Ａの利用者（送信者）登録処理時に用いた共通鍵Ｃ１と異なっても良いものであり、乱数などを用いることができる。次にＳ１８０５において公開鍵暗号化部１０４により登録局ＲＡの公開鍵暗号P０を用いて生体特徴情報Ｄと共通鍵Ｃ２を暗号化し、それを登録局ＲＡ側装置１０８に送信する。
【０１３２】
登録局ＲＡ側装置１０８は、Ｓ１８０６において秘密鍵復号化部１０９により自身の秘密鍵Ｓ０を用いて送信者Ａ側装置１０１から送信された生体特徴情報Ｄと共通鍵Ｃ２を複号化する。次にＳ１８０７において本人確認部１１０により送信者Ａ側装置１０１から送信された生体特徴情報Ｄと個人情報データベース１１４に登録されている生体特徴情報Ｄとを照合して本人確認を行う。
【０１３３】
本人と確認された場合に、Ｓ１８０８において秘密鍵・公開鍵生成部１１１により送信者Ａの秘密鍵Ｓ２と公開鍵Ｐ２を新たに生成する。これらの鍵は送信者Ａの登録時や前回の署名生成処理時に生成した秘密鍵や公開鍵と異なっていることが望ましい。次にＳ１８０９において補正情報生成部５０１により補正情報Ｒ１を生成し、個人情報データベース１１４に登録する。なお、補正情報Ｒ１は新たに生成した送信者Ａの公開鍵Ｐ２と個人情報データベースに登録されている送信者Ａの公開鍵Ｐ１を用いて以下の式７により算出したものである。また個人情報データベース１１４に登録する補正情報Ｒ１は常に最新のものだけとする。
【０１３４】
【数７】
0004655358.tif 000008
【０１３５】
次にＳ１８１０において時間記録部１３０１に送信者Ａの最新の秘密鍵Ｓ２を生成した時刻を記録させる。
【０１３６】
次にＳ１８１１において共通鍵暗号化部１１２により共通鍵Ｃ２を用いて秘密鍵Ｓ２を暗号化し、それを送信者Ａ側装置１０１に送信する。
【０１３７】
送信者Ａ側装置１０１は、Ｓ１８１２において共通鍵復号化部１０５により共通鍵Ｃ２を用いて登録局ＲＡ側装置１０８から受信した秘密鍵Ｓ２を復号化する。Ｓ１８１３において秘密鍵Ｓ２を秘密鍵記憶部１２０１に記録する。なお、このときの時刻も秘密鍵記憶部１２０１に記録する。次にＳ１８１４において署名生成部１０６により任意の関数を用いて電子文書Ｅのハッシュ値を算出し、それを秘密鍵Ｓ１を用いて暗号化してデジタル署名Ｇ１を生成するとともに、関数情報Ｆも秘密鍵Ｓ１を用いて暗号化する。そして、ＩＤ番号と暗号化されたデジタル署名Ｇ１と関数情報Ｆを電子文書Ｅに付加して受信者Ｂ側装置１２０に送信する。
【０１３８】
なお、以降の署名生成処理動作は、秘密鍵記憶部１７０１に記憶された秘密鍵Ｓ２を流用することで、Ｓ１８０３からＳ１８１３までの動作を省くことができる。この場合、秘密鍵Ｓ２を流用するのか、否か（すなわち、登録局ＲＡ側装置１０８に新規に生成させるのか）は、送信者Ａ側装置１０１が秘密鍵Ｓ２の提供を受けてからの経過時間に基づいて判断することになる。
【０１３９】
次に署名確認処理時の動作について、図１９を用いて説明する。図１９は署名確認処理のフローチャートである。なお、本実施例では、登録局ＲＡ側装置１０８は受信者Ｂ側装置１２０からの送信者Ａの補正情報Ｒ１の提供を要求した時刻を監視している。そして、送信者Ａの秘密鍵Ｓ２を送信者Ａ側装置１０１に提供した時刻から所定時間経過している場合に、登録局ＲＡ側装置１０８は、受信者Ｂ側装置１２０への送信者Ａの補正情報Ｒ１の提供を中止する。これにより登録局ＲＡ側装置１０８は、一定水準以上のシステムのセキュリティを確保している。
【０１４０】
受信者Ｂ側装置１２０は、送信者Ａ側装置１０１から電子文書Ｅとデジタル署名が送信された場合に、Ｓ１９０１において公開鍵要求部１２１により認証局ＣＡに対して電子文書Ｅに付加されたＩＤ番号を送信して送信者Ａの公開鍵Ｐ１の提供を要求する。
【０１４１】
認証局ＣＡ側装置１１５は、Ｓ１９０２において受信したＩＤ番号により公開鍵データベース１１９に登録されている送信者Ａを特定し、送信者Ａの公開鍵P１を受信者Ｂ側装置１２０に送信する。
【０１４２】
受信者Ｂ側装置１２０は、Ｓ１９０３において認証局ＣＡ側装置１１５から送信者Ａの公開鍵Ｐ１を取得する。次にＳ１９０４において補正情報要求部５０３により登録局ＲＡ側装置１０８に対して電子文書Ｅに付加されたＩＤ番号を送信して送信者Ａの補正情報Ｒ１の提供を要求する。
【０１４３】
登録局ＲＡ側装置１０８は、Ｓ１９０５において、送信者Ａの秘密鍵Ｓ２を送信者Ａ側装置１０１に提供した時刻から所定時間内であるのかをチェックする。所定時間内であれば、動作をＳ１９０６に進め、所定時間経過していれば、送信者Ａの補正情報Ｒ１を提供できない旨を受信者Ｂ側装置１２０に送信する。なお、所定時間経過している場合には、秘密鍵Ｓ２の再利用を防ぐため、補正情報提供部５０２は個人情報データベース１１４から補正情報Ｒ１を抹消する。
【０１４４】
Ｓ１９０６において鍵補正情報提供部５０２により個人情報データベース１１４に登録されている送信者Ａの最新の補正情報Ｒ１を受信者Ｂ側装置１２０に送信する。
【０１４５】
受信者Ｂ側装置１２０は、Ｓ１９０７において登録局ＲＡ側装置１０８から補正情報Ｒ１を取得する。次にＳ１９０８において公開鍵補正部５０４により公開鍵Ｐ１を補正する。なお、補正により得られる公開鍵Ｐ２は認証局ＣＡから取得した送信者Ａの公開鍵Ｐ１と登録局ＲＡから取得した送信者Ａの最新の補正情報Ｒ１を用いて以下の式８により算出したものである。
【０１４６】
【数８】
0004655358.tif 000009
【０１４７】
次にＳ１９０９において署名確認部１２２により算出した送信者Ａの公開鍵Ｐ２を用いて送信者Ａから受信した電子文書Ｅに付加されたデジタル署名Ｇ１を復号化して送信者Ａが算出したハッシュ値を取得するとともに、関数情報Ｆも送信者Ａの公開鍵Ｐ２を用いて復号化してそれにより特定された関数を用いて受信した電子文書Ｅのハッシュ値を算出し、２つのハッシュ値を比較する。これにより送信者がＡ本人であるであることを確認する。
【０１４８】
以上説明したように、本発明の第６実施例によれば、送信者Ａ側装置１０１は、以前取得した鍵をデジタル署名Ｇ１の生成に流用する。そのため、送信者Ａ側装置１０１は、登録局ＲＡ側装置１０８と通信しなくてもよいので、第５実施例よりも早く電子的な情報を受信者Ｂ側装置１２０に提供することができる。
【０１４９】
本発明は上記の実施例に限定されることなく、本発明の要旨を逸脱しない範囲で種々の応用及び変形が考えられる。
【０１５０】
例えば、本発明は、様々な電子情報の発行者を保証する仕組みとして利用することができる。例えば、電子商取引における注文書の発行者や、戸籍謄本や住民票などの公文書の発行者、その他ネットワークによる電子申請における電子情報の発行者を保証する仕組みに利用できる。
【０１５１】
また、登録局ＲＡ側装置は、個人情報データベース１１４に登録されている送信者Ａの生体特徴情報Ｄを用いて送信者Ａの秘密鍵Ｓ１や公開鍵Ｐ１、補正情報Ｒ１を生成することが可能である。図８に示すように、個人情報データベース１１４には、送信者Ａの生体特徴情報Ｄが登録されている。
【０１５２】
例えば氏名「山田太郎」の場合、生体特徴情報Ｄは「１０１１１００１００１０」である。生体特徴情報Ｄは、本実施例のようにアイリスから取得した場合、数十〜数百バイトの大きさである。この規模の大きさの情報であれば、様々な値を抽出することができ、例えば値「１」の個数（図８の例では、氏名「山田太郎」の場合、６個）や値「０」の個数（同、６個）、値「１」が連続する箇所の個数（同、１個）、値「０」が連続する箇所の個数（同、２個）などを抽出することができる。そのため、登録局ＲＡ側装置は、任意のアルゴリズムに基づいて生体特徴情報Ｄを用いて送信者Ａの秘密鍵Ｓ１や公開鍵Ｐ１、補正情報Ｒ１を生成することが可能となる。
【０１５３】
また、システムが生体特徴情報Ｄによる本人確認を行うことにより利用が可能になるように構成されている場合、本人確認を行う認証装置が登録局ＲＡの役割を担うことが可能である。このように構成されたシステムは、システムの利用が可能になった時点で生体特徴情報Ｄが取得されているので、この時点で生体特徴情報Ｄを登録局ＲＡに伝送しておけば署名生成処理時に生体特徴情報Ｄを取得する工程を省略することができる。
【０１５４】
また、上記の実施例において、送信者Ａ側装置１０１は、登録局ＲＡ側装置１０８から秘密鍵Ｓ１，Ｓ２を受信する際に共通鍵Ｃ１，Ｃ２を用いているが、共通鍵Ｃ１，Ｃ２の代わりに公開鍵Ｐ１，Ｐ２やその他を用いるように構成することも可能である。例えば、送信者Ａが別途新たな秘密鍵Ｓ’および公開鍵Ｐ’を生成して公開鍵Ｐ’を登録局ＲＡに伝送するとともに、登録局ＲＡはその公開鍵Ｐ’を用いて秘密鍵Ｓ’を暗号化して送信者Ａに送信する。そして、送信者Ａは登録局ＲＡから送信された秘密鍵Ｓ’を復号化し、復号化した秘密鍵Ｓ’を用いてデジタル署名を生成するように構成することも可能である。
【０１５５】
また、認証局ＣＡ側装置１１５や受信者Ｂ側装置１２０は送信者を特定する情報としてＩＤ番号を用いているが、生体特徴情報やその他の情報を用いることも可能である。
【０１５６】
また、上記の実施例では、登録局ＲＡにおける本人確認を生体特徴情報Ｄを用いて行っているが、この代わりに従来より用いられているパスワードやＩＣカードを利用するようにすることも可能である。
【０１５７】
【発明の効果】
以上説明した本発明には、次の効果がある。
【０１５８】
すなわち、送信者Ａは秘密鍵や公開鍵を発行する際の手間を省くことができる上、自身の秘密鍵を厳重に管理する煩わしさをなくすことができる。そのため、デジタル署名を利用する通信の利便性を向上させることができる。
【図面の簡単な説明】
【図１】第１実施例の構成図である。
【図２】利用者登録処理のフローチャートである。
【図３】署名生成処理のフローチャートである。
【図４】署名確認処理のフローチャートである。
【図５】第２実施例の構成図である。
【図６】署名生成処理のフローチャートである。
【図７】署名確認処理のフローチャートである。
【図８】情報の流れを示す図である。
【図９】情報の流れを示す図である。
【図１０】第３実施例の構成図である。
【図１１】署名生成処理のフローチャートである。
【図１２】第４実施例の構成図である。
【図１３】署名生成処理のフローチャートである。
【図１４】署名確認処理のフローチャートである。
【図１５】第５実施例の構成図である。
【図１６】署名生成処理のフローチャートである。
【図１７】第６実施例の構成図である。
【図１８】署名生成処理のフローチャートである。
【図１９】署名確認処理のフローチャートである。
【符号の説明】
１０１  送信者Ａ側装置
１０２  生体特徴取得部
１０３  共通鍵生成部
１０４  公開鍵暗号化部
１０５  共通鍵復号化部
１０６  署名生成部
１０７  通信部
１０８  登録局ＲＡ側装置
１０９  秘密鍵復号化部
１１０  本人確認部
１１１  秘密鍵・公開鍵生成部
１１２  共通鍵暗号化部
１１３  通信部
１１４  個人情報データベース
１１５  認証局ＣＡ側装置
１１６  公開鍵登録部
１１７  公開鍵提供部
１１８  通信部
１１９  公開鍵データベース
１２０  受信者Ｂ側装置
１２１  公開鍵要求部
１２２  署名確認部
１２３  通信部
【図１】
0004655358.tif 000010
【図２】
0004655358.tif 000011
【図３】
0004655358.tif 000012
【図４】
0004655358.tif 000013
【図５】
0004655358.tif 000014
【図６】
0004655358.tif 000015
【図７】
0004655358.tif 000016
【図８】
0004655358.tif 000017
【図９】
0004655358.tif 000018
【図１０】
0004655358.tif 000019
【図１１】
0004655358.tif 000020
【図１２】
0004655358.tif 000021
【図１３】
0004655358.tif 000022
【図１４】
0004655358.tif 000023
【図１５】
0004655358.tif 000024
【図１６】
0004655358.tif 000025
【図１７】
0004655358.tif 000026
【図１８】
0004655358.tif 000027
【図１９】
0004655358.tif 000028