(57)【特許請求の範囲】
【請求項１】
第１の利用者端末の利用者に固有の識別情報に基づく署名鍵を用いた電子署名方法であって、
鍵管理サーバが、複数の利用者端末が所属する集団に対して、データベースを用いて、署名鍵の更新回数の各々と一意に対応付けられた関数によって構成される関数の族と、前記利用者端末の各々に対して発行された前記署名鍵の更新回数とを前記集団に公開するステップＡと、
前記集団に所属する前記第１の利用者端末が、発行要求送信部を用いて、前記第１の利用者端末に対する署名鍵の発行要求を前記鍵管理サーバに送信するステップＢと、
前記鍵管理サーバが、情報更新部を用いて、前記第１の利用者端末に対する署名鍵の更新回数を更新するステップＣと、
前記鍵管理サーバが、鍵発行部を用いて、前記発行要求に応じて前記第１の利用者端末に対する署名鍵の更新回数に対応付けられた前記関数を選択し、選択された前記関数と前記利用者に固有の識別情報とに基づいて、前記利用者に固有の識別情報に基づく電子署名を行うことができる所定の方法により前記第１の利用者端末に対する署名鍵を発行するステップＤと、
前記鍵管理サーバが、鍵送信部を用いて、前記ステップＤにおいて発行された前記署名鍵を前記第１の利用者端末に送信するステップＥと、
前記第１の利用者端末が、情報送信部を用いて、第１の利用者端末に対する署名鍵を用いて署名付き情報を生成し、前記署名付き情報を前記集団に所属する第２の利用者端末に送信するステップＦと、
前記第２の利用者端末が、判定部を用いて、前記第１の利用者端末に対する署名鍵の更新回数に対応付けられた前記関数を選択し、選択された前記関数と、前記利用者に固有の識別情報と、前記第１の利用者端末に対する署名鍵に対となる検証鍵とに基づいて、前記署名付き情報が前記第１の利用者端末によって生成されたか否かであることを判定するステップＧと
を備えることを特徴とする電子署名方法。
【請求項２】
前記鍵管理サーバが、前記鍵発行部を用いて、前記第１の利用者端末に対する署名鍵の更新回数に対応付けられた前記関数を選択し、選択された前記関数と前記利用者に固有の識別情報とに基づいて、前記所定の方法により前記第１の利用者端末に対する署名鍵に対となる検証鍵を発行するステップと、
前記鍵管理サーバが、前記鍵送信部を用いて、前記検証鍵を前記第２の利用者端末に送信するステップと
をさらに備え、
前記第２の利用者端末は、前記ステップＧにおいて、前記判定部を用いて、前記第１の利用者端末に対する署名鍵の更新回数に対応付けられた前記関数を選択し、選択された前記関数と前記利用者に固有の識別情報と、前記鍵管理サーバによって送信された前記検証鍵とに基づいて、前記署名付き情報が前記第１の利用者端末によって生成されたか否かであることを判定することを特徴とする請求項１に記載の電子署名方法。
【請求項３】
前記関数の族は、所定の誤り訂正符号によって符号化された前記利用者に固有の識別情報と前記誤り訂正符号によって誤り訂正の可能な（Ｎ＋１）個の異なるランダムなノイズｒ０，…，ｒＮとにより、式ｈｉ（ｘ）＝ｘ＋ｒｉ（ただし、ｘは前記利用者に固有の識別情報であり、ｉは０≦ｉ≦Ｎ）を用いて構成されることを特徴とする請求項１または２に記載の電子署名方法。
【請求項４】
鍵管理サーバと第１の利用者端末と第２の利用者端末とを具備し、前記第１の利用者端末の利用者に固有の識別情報に基づく署名鍵を用いた電子署名システムであって、
前記鍵管理サーバは、
複数の利用者端末が所属する集団に対して、署名鍵の更新回数の各々と一意に対応付けられた関数によって構成される関数の族と、前記利用者端末の各々に対して発行された前記署名鍵の更新回数とを公開する情報公開手段と、
前記集団に所属する第１の利用者端末から、前記第１の利用者端末に対する署名鍵の発行要求を受信する発行要求受信手段と、
前記第１の利用者端末に対する署名鍵の更新回数を更新する更新手段と、
前記発行要求に応じて、前記第１の利用者端末に対する署名鍵の更新回数に対応付けられた前記関数を選択し、選択された前記関数と前記利用者に固有の識別情報とに基づいて、前記利用者に固有の識別情報に基づく電子署名を行うことができる所定の方法により前記第１の利用者端末に対する署名鍵を発行する署名鍵発行手段と、
前記署名鍵発行手段によって発行された前記署名鍵を前記第１の利用者端末に送信する署名鍵送信手段と
を備え、
前記第１の利用者端末は、
前記第１の利用者端末に対する署名鍵の発行要求を前記鍵管理サーバに送信する発行要求送信手段と、
前記鍵管理サーバよって送信された前記第１の利用者端末に対する署名鍵を受信する鍵受信手段と、
前記第１の利用者端末に対する署名鍵を用いて署名付き情報を生成し、前記署名付き情報を前記集団に所属する第２の利用者端末に送信する情報送信手段と
を備え、
前記第２の利用者端末は、
前記第１の利用者端末によって送信された前記署名付き情報を受信する情報受信手段と、
前記第１の利用者端末に対する署名鍵の更新回数に対応付けられた前記関数を選択し、選択された前記関数と、前記利用者に固有の識別情報と、前記第１の利用者端末に対する署名鍵に対となる検証鍵とに基づいて、前記署名付き情報が前記第１の利用者端末によって生成されたか否かであることを判定する判定手段とを備えることを特徴とする電子署名システム。
【請求項５】
前記鍵管理サーバは、
前記第１の利用者端末に対する署名鍵の更新回数に対応付けられた前記関数を選択し、選択された前記関数と前記利用者に固有の識別情報とに基づいて、前記所定の方法により前記第１の利用者端末に対する署名鍵に対となる検証鍵を発行する検証鍵発行手段と、
前記検証鍵を前記第２の利用者端末に送信する検証鍵送信手段と
をさらに備え、
前記第２の利用者端末は、前記検証鍵を受信する検証鍵受信手段をさらに備え、
前記判定手段は、前記第１の利用者端末に対する署名鍵の更新回数に対応付けられた前記関数を選択し、選択された前記関数と、前記利用者に固有の識別情報と、前記検証鍵受信手段が受信した前記検証鍵とに基づいて、前記署名付き情報が前記第１の利用者端末によって生成されたか否かであることを判定することを特徴とする請求項４に記載の電子署名システム。
【請求項６】
前記関数の族は、所定の誤り訂正符号によって符号化された前記利用者に固有の識別情報と前記誤り訂正符号によって誤り訂正の可能な（Ｎ＋１）個の異なるランダムなノイズｒ０，…，ｒＮとにより、式ｈｉ（ｘ）＝ｘ＋ｒｉ（ただし、ｘは前記利用者に固有の識別情報であり、ｉは０≦ｉ≦Ｎ）を用いて構成されることを特徴とする請求項４または５に記載の電子署名システム。
【請求項７】
利用者に固有の識別情報に基づく署名鍵を用いた電子署名システムにおける鍵管理サーバであって、
複数の利用者端末が所属する集団に対して、署名鍵の更新回数の各々と一意に対応付けられた関数によって構成される関数の族と、前記利用者端末の各々に対して発行された前記署名鍵の更新回数とを公開する情報公開手段と、
前記利用者端末から、前記利用者端末に対する署名鍵の発行要求を受信する発行要求受信手段と、
前記利用者端末に対する署名鍵の更新回数を更新する更新手段と、
前記発行要求に応じて、前記利用者端末に対する署名鍵の更新回数に対応付けられた前記関数を選択し、選択された前記関数と前記利用者に固有の識別情報とに基づいて、前記利用者に固有の識別情報に基づく電子署名を行うことができる所定の方法により前記利用者端末に対する署名鍵を発行する署名鍵発行手段と、
前記署名鍵発行手段によって発行された前記署名鍵を前記利用者端末に送信する署名鍵送信手段と
を備えることを特徴とする鍵管理サーバ。
【請求項８】
前記鍵管理サーバは、
前記利用者端末に対する署名鍵の更新回数に対応付けられた前記関数を選択し、選択された前記関数と前記利用者に固有の識別情報とに基づいて、前記所定の方法により前記利用者端末に対する署名鍵に対となる検証鍵を発行する検証鍵発行手段と、
前記検証鍵を前記集団に所属する他の利用者端末に送信する検証鍵送信手段と
をさらに備えることを特徴とする請求項７に記載の鍵管理サーバ。
【請求項９】
前記関数の族は、所定の誤り訂正符号によって符号化された前記利用者に固有の識別情報と前記誤り訂正符号によって誤り訂正の可能な（Ｎ＋１）異なるランダムなノイズｒ０，…，ｒＮとにより、式ｈｉ（ｘ）＝ｘ＋ｒｉ（ただし、ｘは前記利用者に固有の識別情報であり、ｉは０≦ｉ≦Ｎ）を用いて構成されることを特徴とする請求項７または８に記載の鍵管理サーバ。
【請求項１０】
署名鍵の更新回数に対応付けられた関数と利用者に固有の識別情報とに基づいて、前記利用者に固有の識別情報に基づく電子署名を行うことができる所定の方法により発行される署名鍵を用いた電子署名システムにおいて用いられる移動通信端末であって、
前記署名鍵を発行する鍵管理サーバに対して、前記移動通信端末に対する署名鍵の発行要求を送信する発行要求送信手段と、
前記鍵管理サーバから、前記移動通信端末に対する署名鍵を受信する鍵受信手段と、
前記移動通信端末に対する署名鍵を用いて署名付き情報を生成し、前記署名付き情報を他の移動通信端末に送信する情報送信手段と
を備えたことを特徴とする移動通信端末。
【請求項１１】
署名鍵の更新回数に対応付けられた関数と利用者に固有の識別情報とに基づいて、前記利用者に固有の識別情報に基づく電子署名を行うことができる所定の方法により発行される署名鍵を用いた電子署名システムにおいて用いられる移動通信端末であって、
他の移動通信端末によって送信された署名付き情報を受信する情報受信手段と、
前記署名鍵を発行する鍵管理サーバによって公開されている前記他の移動通信端末に対する署名鍵の更新回数と、その更新回数に対応付けられた関数とを選択し、選択された前記関数と、前記他の移動通信端末の利用者に固有の識別情報と、前記他の移動通信端末に対する署名鍵に対となる検証鍵とに基づいて、前記署名付き情報が前記他の移動通信端末によって生成されたか否かであることを判定する判定手段と
を備えることを特徴とする移動通信端末。
【請求項１２】
前記他の移動通信端末に対する署名鍵に対となる検証鍵を受信する検証鍵受信手段をさらに備え、
前記判定手段は、前記更新回数に対応付けられた前記関数を選択し、選択された前記関数と、前記他の移動通信端末の利用者に固有の識別情報と、前記検証鍵受信手段が受信した前記検証鍵とに基づいて、前記署名付き情報が前記他の移動通信端末によって生成されたか否かであることを判定することを特徴とする請求項１１に記載の移動通信端末。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えば電子メールアドレスや電話番号等の利用者に固有の識別情報（ID）に基づく電子署名方法及び電子署名システムに関する。
【０００２】
【従来の技術】
従来から利用されている電子署名方式では、利用者が検証鍵（公開鍵）の値を自由に指定することができないため、利用者と公開鍵の結びつきを認証局が保証する形態を採っている。また、このような電子署名方式では、利用者が署名鍵を漏洩もしくは紛失してしまった場合、利用者は、認証局にその旨を申請し、新たな公開鍵、署名鍵のペアを作成しなければならない。認証局は、新たに発行された公開鍵と利用者の関係を確認した後、新たな鍵証明書を発行する。さらに、認証局は、これまで利用者が使用していた公開鍵の鍵証明書を無効化する旨を鍵証明書無効化リスト（CRL）に記載し、当該リストをすべての利用者に通知する。
【０００３】
このような電子署名方式では、電子署名の検証者は、まず、署名者の公開鍵と、認証局によって発行される電子的な鍵証明書とを取得する。次に、検証者は、当該鍵証明書の正当性を検証した上で、取得した公開鍵によって当該電子署名が署名者によって正規になされたものか否かを検証する。このため、認証局と検証者との間において余分な通信コストが発生するとともに、検証者による鍵証明書等の計算コストが発生する。特に、鍵証明書の検証には、通常、大きな計算コストが掛かることが問題となっていた。
【０００４】
このような問題を解決するため、利用者に固有の識別情報（ID）そのものを公開鍵とすることが可能な方式（IDに基づく電子署名方式）の必要性が、１９８４年に提唱され、それ以降、具体的な実現方式が提案されてきた。
【０００５】
IDに基づく電子署名方式においては、まず、鍵の発行及び管理を行うセンタが、マスター鍵mstを生成し、mstに対応する公開情報pubを公開する。次に、任意の文宇列charとmstとを作用させ、当該文字列に対する署名鍵dcharを生成する（便宜上、このような署名鍵dcharを「charに基づく署名鍵」と呼ぶ）。dcharを用いて作成された電子署名は、char及びpubを用いて検証することができる。
【０００６】
通常、charに対応する署名鍵の保持者となる利用者（利用者１）の電子メールアドレス等がcharとして利用される。この場合、利用者１がメッセージMに対して電子署名を作成する際、検証者（利用者２）は利用者１の電子メールアドレス及びpubを用いてMに対する電子署名を検証することができる。
【０００７】
このような機能を提供する具体的な方式として、例えば、Shamir方式（非特許文献１参照）が知られている。以下、Shamir方式を用いたIDに基づく電子署名方法の概要について説明する。
【０００８】
センタは、二つの大きい素数p， qの積である合成数nを作成し、また、ed=1 mod lcm(p-1, q-1)となるe, dを作成する。ここで、lcm（p-1，q-1）はp-1とq-1の最小公倍数を表す。dがセンタの持つマスター鍵となり、e, nが公開情報となる。次に、センタは文字列charとマスター鍵dを作用させ、charに基づく署名鍵をdchar：=chard mod nにより導出する。dcharを用いて、メッセージMに対する電子署名｛s, t｝は次のように作成される。まず、乱数rを選び、t：=re mod nを求め、また、s：=dcharrh(t,M) mod nを導出する。ここで、hは一方向性ハッシュ関数とする。メッセージM及び電子署名｛s，t｝の検証者は、se=char th(t,m) mod n（検証鍵）が成立した場合、｛s，t｝がdcharの持ち主によりMに対してなされた署名であることを確認することができる。
【０００９】
このようなIDに基づく電子署名方式においては、公開鍵の取得や正当性の検証にコストが掛からないという利点がある。
【００１０】
【非特許文献１】
Lecture Notes in Computer Science, Vol. 196, Springer-Verlag, pp. 47-53, 1984
【００１１】
【発明が解決しようとする課題】
しかしながら、上述した従来のIDに基づく電子署名方式では、署名鍵が利用者に固有のIDに基づいて生成されるため、当該IDを変更しない限り鍵を更新することができないといった問題があった。また、このような従来のIDに基づく電子署名方式では、従来の電子署名方式のようなCRLを用いて当該署名鍵に対となる公開鍵を無効化することができないといった問題があった。
【００１２】
そこで、本発明は、以上の点に鑑みてなされたもので、鍵の更新を可能とするIDに基づく電子署名方法及び電子署名システムを提供することをその目的とする。
【００１３】
【課題を解決するための手段】
本発明の第１の特徴は、利用者に固有の識別情報に基づく署名鍵を用いた電子署名方法であって、複数の利用者端末が所属する集団におけるセンタが、署名鍵の更新回数の各々と一意に対応付けられた関数によって構成される関数の族と、センタによって利用者端末の各々に対して発行された署名鍵の更新回数とを集団に公開するステップＡと、集団に所属する第１の利用者端末が、第１の利用者端末に対する署名鍵の発行要求を送信するステップＢと、センタが、第１の利用者端末に対する署名鍵の更新回数を更新するステップＣと、センタが、発行要求に応じて第１の利用者端末に対する署名鍵の更新回数に対応付けられた関数を選択し、選択された関数と利用者に固有の識別情報とに基づいて、所定の方法により第１の利用者端末に対する署名鍵を発行するステップＤと、センタが、ステップＤにおいて発行された署名鍵を第１の利用者端末に送信するステップＥと、第１の利用者端末が、第１の利用者端末に対する署名鍵を用いて署名付き情報を生成し、署名付き情報を集団に所属する第２の利用者端末に送信するステップＦと、第２の利用者端末が、第１の利用者端末に対する署名鍵の更新回数に対応付けられた関数を選択し、選択された関数と、利用者に固有の識別情報と、第１の利用者端末に対する署名鍵に対となる検証鍵とに基づいて、署名付き情報が第１の利用者端末によって生成されたか否かであることを判定するステップＧとを備えることを要旨とする。
【００１４】
かかる特徴によれば、署名鍵の更新回数の各々と一意に対応付けられた関数によって構成される関数の族と、利用者端末の各々に対して発行された署名鍵の更新回数とを用いて新たな署名鍵を発行するため、利用者に固有のIDに基づく電子署名において、鍵の更新を行うことができる。
【００１５】
本発明の第２の特徴は、本発明の第１の特徴において、センタが、第１の利用者端末に対する署名鍵の更新回数に対応付けられた関数を選択し、選択された関数と利用者に固有の識別情報とに基づいて、所定の方法により第１の利用者端末に対する署名鍵に対となる検証鍵を発行するステップと、センタが、検証鍵を第２の利用者端末に送信するステップとをさらに備え、第２の利用者端末は、ステップＧにおいて、第１の利用者端末に対する署名鍵の更新回数に対応付けられた関数を選択し、選択された関数と利用者に固有の識別情報と、センタによって送信された検証鍵とに基づいて、署名付き情報が第１の利用者端末によって生成されたか否かであることを判定することが好ましい。
【００１６】
かかる特徴によれば、センタが署名鍵に対となる検証鍵を発行し、その検証鍵を利用者端末に対して送信するため、署名鍵の更新された場合においても検証鍵を確実に取得することができる。
【００１７】
本発明の第３の特徴は、本発明の第１または第２の特徴において、関数の族が、所定の誤り訂正符号によって符号化された利用者に固有の識別情報と誤り訂正符号によって誤り訂正の可能な（N+１）個の異なるランダムなノイズr0,…,rNとにより、式hi（x）=x+ri（ただし、ｘは利用者に固有の識別情報であり、iは0≦i≦N）を用いて構成されることが好ましい。
【００１８】
かかる特徴によれば、関数として、hi（x）=x+riを用い、かつx及びriを所定の誤り訂正符号によって表現された値を用いるため、当該関数を用いて生成された利用者に固有のIDに基づく値と、他の利用者に用いられる値とが同一となることがないため、異なる利用者に対して同一の署名鍵が発行されるような事態を避けることができ、より高い安全性を確保することができる。
【００１９】
本発明の第４の特徴は、鍵管理サーバと第１の利用者端末と第２の利用者端末とを具備する、利用者に固有の識別情報に基づく署名鍵を用いた電子署名システムであって、鍵管理サーバが、複数の利用者端末が所属する集団に対して、署名鍵の更新回数の各々と一意に対応付けられた関数によって構成される関数の族と、利用者端末の各々に対して発行された署名鍵の更新回数とを公開する情報公開手段と、集団に所属する第１の利用者端末から、第１の利用者端末に対する署名鍵の発行要求を受信する発行要求受信手段と、第１の利用者端末に対する署名鍵の更新回数を更新する更新手段と、発行要求に応じて、第１の利用者端末に対する署名鍵の更新回数に対応付けられた関数を選択し、選択された関数と利用者に固有の識別情報とに基づいて、所定の方法により第１の利用者端末に対する署名鍵を発行する署名鍵発行手段と、署名鍵発行手段によって発行された署名鍵を第１の利用者端末に送信する署名鍵送信手段とを備え、第１の利用者端末が、第１の利用者端末に対する署名鍵の発行要求を鍵管理サーバに送信する発行要求送信手段と、鍵管理サーバよって送信された第１の利用者端末に対する署名鍵を受信する鍵受信手段と、第１の利用者端末に対する署名鍵を用いて署名付き情報を生成し、署名付き情報を集団に所属する第２の利用者端末に送信する情報送信手段とを備え、第２の利用者端末が、第１の利用者端末によって送信された署名付き情報を受信する情報受信手段と、第１の利用者端末に対する署名鍵の更新回数に対応付けられた関数を選択し、選択された関数と利用者に固有の識別情報と、第１の利用者端末に対する署名鍵に対となる検証鍵に基づいて、署名付き情報が第１の利用者端末によって生成されたか否かであることを判定する判定手段とを備えることを要旨とする。
【００２０】
本発明の第５の特徴は、本発明の第４の特徴において、鍵管理サーバが、第１の利用者端末に対する署名鍵の更新回数に対応付けられた関数を選択し、選択された関数と利用者に固有の識別情報とに基づいて、所定の方法により第１の利用者端末に対する署名鍵に対となる検証鍵を発行する検証鍵発行手段と、検証鍵を第２の利用者端末に送信する検証鍵送信手段とをさらに備え、第２の利用者端末が、検証鍵を受信する検証鍵受信手段をさらに備え、判定手段が、第１の利用者端末に対する署名鍵の更新回数に対応付けられた関数を選択し、選択された関数と、利用者に固有の識別情報と、検証鍵受信手段が受信した検証鍵とに基づいて、署名付き情報が第１の利用者端末によって生成されたか否かであることを判定することを要旨とする。
【００２１】
本発明の第６の特徴は、本発明の第４または第５の特徴において、関数の族が、所定の誤り訂正符号によって符号化された利用者に固有の識別情報と誤り訂正符号によって誤り訂正の可能な（N+1）個の異なるランダムなノイズr0,…,rNとにより、式hi(x)=x+ri（ただし、xは利用者に固有の識別情報であり、iは0≦i≦N）を用いて構成されることを要旨とする。
【００２２】
本発明の第７の特徴は、利用者に固有の識別情報に基づく署名鍵を用いた電子署名システムにおける鍵管理サーバであって、複数の利用者端末が所属する集団に対して、署名鍵の更新回数の各々と一意に対応付けられた関数によって構成される関数の族と、利用者端末の各々に対して発行された署名鍵の更新回数とを公開する情報公開手段と、利用者端末から、利用者端末に対する署名鍵の発行要求を受信する発行要求受信手段と、利用者端末に対する署名鍵の更新回数を更新する更新手段と、発行要求に応じて、利用者端末に対する署名鍵の更新回数に対応付けられた関数を選択し、選択された関数と利用者に固有の識別情報とに基づいて、所定の方法により利用者端末に対する署名鍵を発行する署名鍵発行手段と、署名鍵発行手段によって発行された署名鍵を利用者端末に送信する署名鍵送信手段とを備えることを要旨とする。
【００２３】
本発明の第８の特徴は、本発明の第７の特徴において、鍵管理サーバが、利用者端末に対する署名鍵の更新回数に対応付けられた関数を選択し、選択された関数と利用者に固有の識別情報とに基づいて、所定の方法により利用者端末に対する署名鍵に対となる検証鍵を発行する検証鍵発行手段と、検証鍵を集団に所属する他の利用者端末に送信する検証鍵送信手段とをさらに備えることを要旨とする。
【００２４】
本発明の第９の特徴は、本発明の第７または第８の特徴において、関数の族が、所定の誤り訂正符号によって符号化された利用者に固有の識別情報と誤り訂正符号によって誤り訂正の可能な（N+1）異なるランダムなノイズr0,…,rNとにより、式hi（x）=x+ri（ただし、xは利用者に固有の識別情報であり、iは0≦i≦N）を用いて構成されることを要旨とする。
【００２５】
本発明の第１０の特徴は、署名鍵の更新回数に対応付けられた関数と利用者に固有の識別情報とに基づいて、所定の方法により発行される署名鍵を用いた電子署名システムにおいて用いられる移動通信端末であって、署名鍵を発行する鍵管理サーバに対して、移動通信端末に対する署名鍵の発行要求を送信する発行要求送信手段と、鍵管理サーバから、移動通信端末に対する署名鍵を受信する鍵受信手段と、移動通信端末に対する署名鍵を用いて署名付き情報を生成し、署名付き情報を他の移動通信端末に送信する情報送信手段とを備えたことを要旨とする。
【００２６】
本発明の第１１の特徴は、署名鍵の更新回数に対応付けられた関数と利用者に固有の識別情報とに基づいて、所定の方法により発行される署名鍵を用いた電子署名システムにおいて用いられる移動通信端末であって、他の移動通信端末によって送信された署名付き情報を受信する情報受信手段と、署名鍵を発行する鍵管理サーバによって公開されている他の移動通信端末に対する署名鍵の更新回数と、その更新回数に対応付けられた関数とを選択し、選択された関数と他の移動通信端末の利用者に固有の識別情報と、他の移動通信端末に対する署名鍵に対となる検証鍵に基づいて、署名付き情報が他の移動通信端末によって生成されたか否かであることを判定する判定手段とを備えることを要旨とする。
【００２７】
本発明の第１２の特徴は、本発明の第１１の特徴において、他の移動通信端末に対する署名鍵に対となる検証鍵を受信する検証鍵受信手段をさらに備え、判定手段が、更新回数に対応付けられた関数を選択し、選択された関数と、他の移動通信端末の利用者に固有の識別情報と、検証鍵受信手段が受信した検証鍵とに基づいて、署名付き情報が他の移動通信端末によって生成されたか否かであることを判定することを要旨とする。
【００２８】
【発明の実施の形態】
（本実施形態に係る電子署名システムの全体構成）
本発明の実施形態について図面を参照しながら説明する。図１は、本実施形態に係る電子署名システムの全体構成図である。
【００２９】
同図に示すように、本実施形態に係る電子署名システムは、通信ネットワーク１と、データベース１０と、鍵管理サーバ２０と、利用者端末３０ａと、利用者端末３０ｂとから構成されている。
【００３０】
通信ネットワーク１は、鍵管理サーバ２０と、データベース１０と、利用者端末３０ａと、利用者端末３０ｂとを接続するものである。通信ネットワーク１としては、例えばインターネットを用いることができる。なお、ここでいうインターネットとは、RFC791等において規定されるIPv4またはRFC2460等において規定されるIPv6であってもよい。
【００３１】
データベース１０は、本実施形態では、利用者端末３０ａ，３０ｂに対して発行された署名鍵の更新回数及び関数の族を記憶するとともに、記憶した署名鍵の更新回数及び関数の族を利用者端末３０ａ，３０ｂに対して公開するものである。
【００３２】
鍵管理サーバ２０は、本実施形態では、利用者端末３０ａ，３０ｂに対して署名鍵または検証鍵を発行するとともに、利用者端末３０ａ，３０ｂに対して発行した署名鍵の更新回数及び署名鍵を生成するため等に用いられる関数の族を管理するものである。また、鍵管理サーバ２０は、署名鍵の更新回数や関数の族をデータベース１０上に公開させる機能を有している。
【００３３】
なお、本実施形態では、データベース１０と鍵管理サーバ２０とは、分離された形態となっているが、データベース１０と鍵管理サーバ２０とを一体のハードウェア・ソフトウェアによって実現してもよい。
【００３４】
利用者端末３０ａは、本実施形態では、鍵管理サーバ２０によって発行される署名鍵を用いて、平文に対して署名を付加した署名付き情報を送信するものである。また、利用者端末３０ｂは、本実施形態では、利用者端末３０ａから署名付き情報を受信し、データベース１０上に公開されている署名鍵の更新回数及び関数の族と、利用者端末３０ａに対する署名鍵に対となる検証鍵とに基づいて、受信した署名付き情報の正当性を判定するものである。
【００３５】
利用者端末３０ａ，３０ｂとしては、例えば、パーソナルコンピュータ、携帯情報端末（PDA）、携帯電話端末等を用いることができる。
【００３６】
図２は、データベース１０、鍵管理サーバ２０、利用者端末３０ａ，３０ｂそれぞれの構成を示すブロック構成図である。
【００３７】
データベース１０は、本実施形態では、利用者端末３０ａ，３０ｂに対して、署名鍵の更新回数の各々と一意に対応付けられた関数によって構成される関数の族と、利用者端末３０ａ，３０ｂの各々に対して発行された署名鍵の更新回数とを公開する情報公開手段を構成する。
【００３８】
具体的には、データベース１０上に公開される関数として、例えば、hi（x）=x+riを用いることができる。ここで、xは、誤り訂正符号によって符号化された利用者に固有のIDである。rは、当該誤り訂正符号によって訂正可能なランダムなノイズであり、署名鍵の最大更新回数Nに対し、（N+1）個のr0,…,rNから構成される。また、iは、署名鍵の更新回数であり、0≦i≦Nとする。よって、hi（x）は、IDがxである利用者の利用者端末に対するi回目の署名鍵の更新及びその更新された署名鍵によって生成された署名付き情報を検証する場合に用いられる関数を示している。
【００３９】
なお、利用者に固有の識別情報としては、当該利用者の電子メールアドレスや電話番号等を用いることができる。また、上述した誤り訂正符号とは、ビット誤りを訂正できる符号であればよく、例えば、CRCやハミング符号等を用いることができる。また、上述した関数と異なる関数を用いて関数の族を構成してもよい。
【００４０】
関数の族テーブル１１は、上述した関数により表現される複数の関数｛h0(・), h1(・),..., hN(・)｝と、署名鍵の更新回数との対応付けを示している。ここで、(・)は、各利用者のIDに対応することを示している。このように関数の族を構成することにより、例えば、電子メールアドレスがUである利用者端末３０ａの利用者Uに対して初めて署名鍵が発行される場合には、鍵管理サーバ２０は、h0(・)を選択し、h0(U)を取得する。また、鍵管理サーバ２０は、利用者Uに対してi回目（1≦i≦N）の署名鍵が発行される場合には、hi(・)を選択し、hi(U)を取得する。
【００４１】
また、データベース１０は、本実施形態では、利用者端末３０ａの利用者Uに対して発行された署名鍵の更新回数を示す更新回数情報pを鍵管理サーバ２０から受信し、更新回数情報pを利用者端末３０ａ,３０ｂに対して公開することができる。
【００４２】
更新回数情報テーブル１２は、更新回数情報pの内容の例を示しており、各々の利用者のIDと、当該利用者に対して発行された署名鍵の更新回数とが対応付けられている。
【００４３】
鍵管理サーバ２０は、本実施形態では、発行要求受信部２１と、秘密情報生成部２２と、鍵発行部２３と、鍵送信部２４と、情報更新部２５とから構成されている。
【００４４】
以下、上述したShamir方式（所定の方法）を用いた利用者に固有のIDに基づく電子署名を例として各部の構成を説明する。
【００４５】
発行要求受信部２１は、本実施形態では、利用者端末３０ａから、利用者端末３０ａに対する署名鍵の発行要求を受信するものである。具体的には、発行要求受信部２１は、利用者端末３０ａの利用者Uから、利用者UのIDに基づく署名鍵の発行要求を受信し、受信した当該発行要求を鍵発行部２３へ送信するものである。
【００４６】
秘密情報生成部２２は、本実施形態では、所定の方法に基づいて秘密情報を生成するものである。
【００４７】
具体的には、秘密情報生成部２２は、二つの大きい素数p， qの積である合成数nと、ed=1 mod lcm(p-1, q-1)となるe, dとを生成する。秘密情報生成部２２は、生成されたd（マスター鍵）を秘密情報とし、鍵発行部２３に送信する。ここで、e及びnは、利用者端末３０ａ,３０ｂに対して公開されるものとする。なお、e及びnは、データベース１０上において公開させてもよい。
【００４８】
鍵発行部２３は、本実施形態では、利用者端末３０ａからの署名鍵の発行要求に応じて、利用者端末３０ａに対する署名鍵の更新回数を示す更新回数情報pに対応付けられた関数を｛h0(・), h1(・),…, hN(・)｝の中から選択し、選択された関数と利用者端末３０ａの利用者Uの電子メールアドレスUとに基づいて、所定の方法により利用者端末３０ａに対する署名鍵を発行する署名鍵発行手段を構成する。
【００４９】
また、鍵発行部２３は、本実施形態では、利用者端末３０ａに対する署名鍵の更新回数を示す更新回数情報pに対応付けられた関数を｛h0(・), h1(・),…, hN(・)｝の中から選択し、選択された関数と利用者端末３０ａの利用者Uの電子メールアドレスUとに基づいて、所定の方法により前記利用者端末３０ａに対する署名鍵に対となる検証鍵を発行する検証鍵発行手段を構成する。
【００５０】
本実施形態に係る鍵発行部２３は、発行要求受信部２１によって受信された利用者端末３０ａからの発行要求を受信する。さらに、鍵発行部２３は、データベース１０上に公開されている更新回数情報pを参照し、利用者端末３０ａに対する署名鍵の更新回数と、更新回数に対応付けられた関数を｛h0(・), h1(・),…, hN(・)｝の中から選択する。具体的には、鍵発行部２３は、例えば、利用者端末３０ａが初めての署名鍵の発行を要求している場合、データベース１０上に公開されている更新回数情報pに利用者端末３０ａに対する署名鍵の更新記録がないため、h0(・)を選択し、利用者Uの電子メールアドレスUからh0（U）を取得する。
【００５１】
さらに、本実施形態に係る鍵発行部２３は、式dchar=chard mod nを用いて署名鍵を生成する。ここで、charには、取得されたh0（U）が用いられる。dは、秘密情報生成部２２によって生成されたマスター鍵（秘密情報）であり、nは、素数p， qの積の合成数である。このようにして、鍵発行部２３は、利用者のIDに基づく最初の署名鍵を発行することができる。
【００５２】
また、本実施形態に係る鍵発行部２３は、署名鍵に対となる検証鍵se=char th(t,M) mod nを生成することができる。ここで、charには、取得されたh0（U）が用いられる。s, tは、平文Mに対して付加されている署名であり、hは、一方向性ハッシュ関数である。また、e及びnは、秘密情報生成部２２が生成した値である。このようにして、鍵発行部２３は、利用者のIDに基づく最初の検証鍵を発行することができる。
【００５３】
また、鍵発行部２３は、例えば、利用者端末３０ａがi回目（1≦i≦N）の署名鍵の更新を要求している場合、データベース１０上に公開されている更新回数情報pから利用者端末３０ａに対する署名鍵の更新回数を参照してhi(・)を選択し、利用者Uの電子メールアドレスUからhi（U）を取得することができる。さらに、鍵発行部２３は、上述した署名鍵と同様に、利用者Uの電子メールアドレスUに対応するi回目の署名鍵を発行することができる。また、鍵発行部２３は、上述した検証鍵と同様に、利用者Uの電子メールアドレスUに対応するi回目の検証鍵を発行することができる。
【００５４】
鍵発行部２３は、利用者Uからの発行要求に基づいて発行した署名鍵または検証鍵を鍵送信部２４に送信するとともに、署名鍵または検証鍵を発行したことを情報更新部２５に通知することができる。
【００５５】
鍵送信部２４は、本実施形態では、鍵発行部２３が発行した署名鍵を利用者端末３０ａに送信する署名鍵送信手段を構成する。また、鍵送信部２４は、本実施形態では、鍵発行部２３が発行した検証鍵を利用者端末３０ｂに送信する検証鍵送信手段を構成する。
【００５６】
情報更新部２５は、本実施形態では、利用者端末３０ａ，３０ｂに対する署名鍵の更新回数を示す更新回数情報pを更新する更新手段を構成する。
【００５７】
具体的には、情報更新部２５は、鍵発行部２３から通知された署名鍵の更新回数を取得し、データベース１０によって公開されている利用者Uの更新回数情報pを更新することができる。
【００５８】
利用者端末３０ａは、本実施形態では、発行要求送信部３１と、鍵受信部３２と、情報送信部３３とから構成されている。
【００５９】
発行要求送信部３１は、本実施形態では、利用者端末３０ａに対する署名鍵の発行要求を鍵管理サーバ２０に送信するものである。
【００６０】
鍵受信部３２は、本実施形態では、利用者端末３０ａに対する署名鍵または検証鍵を鍵管理サーバ２０から受信するものである。具体的には、鍵受信部３２は、鍵管理サーバ２０から署名鍵を受信し、受信した署名鍵を保存しておくことができる。また、鍵受信部３２は、情報送信部３３と接続されている。
【００６１】
情報送信部３３は、本実施形態では、鍵受信部３２によって受信された署名鍵を用いて署名付き情報を生成し、当該署名付き情報を利用者端末３０ｂに送信するものである。
【００６２】
具体的には、情報送信部３３は、署名鍵を用いて、平文Mに対する署名s, tを、t：=re mod n、s：=dcharrh(t,M) mod nにより生成する。ここで、dcharは、鍵発行部２３が生成した署名鍵である。rは適当な乱数であり、hは一方向性ハッシュ関数である。e及びnは、秘密情報生成部２２が生成した値であり、利用者端末３０ａ,３０ｂに公開されているものである。このようにして、情報送信部３３は、平文Mに対する署名付き情報を利用者端末３０ｂに送信することができる。
【００６３】
利用者端末３０ｂは、本実施形態では、情報受信部３４と、判定部３５とから構成されている。
【００６４】
情報受信部３４は、本実施形態では、利用者端末３０ａによって送信された署名付き情報を受信する情報受信手段を構成する。また、情報受信部３４は、本実施形態では、検証鍵を受信する検証鍵受信手段を構成する。
【００６５】
具体的には、情報受信部３４は、利用者端末３０ａによって送信された署名付き情報を受信することができる。また、情報受信部３４は、鍵管理サーバ２０によって送信された検証鍵を受信することができる。さらに、情報受信部３４は、データベース２０に対してアクセスし、データベース１０上に公開されている更新回数情報p及び更新回数と対応付けられた関数を取得する機能を有している。
【００６６】
なお、情報送信部３３と情報受信部３４との当該署名付き情報の送受には、例えばRFC821等において規定されるSMTPを用いることができる。
【００６７】
判定部３５は、本実施形態では、利用者端末３０ａに対する署名鍵の更新回数情報pに対応する関数を｛h0(・), h1(・),…, hN(・)｝の中から選択し、選択された関数と、利用者端末３０ａの利用者Uの電子メールアドレスUとに基づいて、利用者端末３０ａによって送信された署名付き情報が利用者端末３０ａの利用者Uによって生成されたか否かであることを判定するものである。
【００６８】
具体的には、判定部３５は、情報受信部３４を介して、データベース１０上に公開されている更新回数情報pを参照し、利用者端末３０ａに対する署名鍵の更新回数に対応付けられた関数を｛h0(・), h1(・),…, hN(・)｝の中から選択する。判定部３５は、例えば、更新回数情報pから、利用者Uがi回の署名鍵の更新を行っている場合、hi(・)を選択し、利用者Uの電子メールアドレスUに基づいてhi(U)を取得する。
【００６９】
また、判定部３５は、受信した署名付き情報に基づいて、鍵送信部２４によって送信された検証鍵が示す式se=char th(t,M) mod nが成立するか否かを検証する。ここで、charには、取得したhi(U)が用いられる。s, tは、署名付き情報を構成する署名であり、Mは署名付き情報を構成する平文である。また、hは一方向性ハッシュ関数である。また、e及びnは、秘密情報生成部２２が生成した値であり、利用者端末３０ａ,３０ｂに公開されているものである。このようにして、判定部３５は、受信した署名付き情報が利用者端末３０ａの利用者Uによって生成されたか否かを判定することができる。
【００７０】
なお、上述した発行要求送信部３１、鍵受信部３２、情報送信部３３、情報受信部３４、判定部３５のすべてを、一つの利用者端末に具備させることもできる。
【００７１】
（本実施形態に係る電子署名システムによる電子署名方法）
次に、本実施形態に係る電子署名システムによる電子署名方法について説明する。図３乃至図５は、本実施形態に係る電子署名方法のシーケンスを示している。
【００７２】
まず、鍵管理サーバ２０は、所定の式（ed=1 mod lcm(p-1, q-1)）に基づいて、秘密情報（d）を生成する（Ｓ１）。なお、秘密情報とともに生成されたe, nは、利用者端末３０ａ，３０ｂに対して公開される。
【００７３】
また、鍵管理サーバ２０は、利用者端末３０ａ，３０ｂに対する署名鍵の更新の回数を示す更新回数情報pをデータベース１０上に公開する（Ｓ２）。さらに、鍵管理サーバ２０は、例えば、所定の式（hi（x）=x+ri）によって求めることのできる関数の族｛h0(・), h1(・),..., hN(・)｝をデータベース１０上に公開する（Ｓ３）。
【００７４】
利用者端末３０ａは、署名鍵の発行要求を鍵管理サーバ２０に送信する（Ｓ４）。
【００７５】
鍵管理サーバ２０は、利用者端末３０ａから、初回の署名鍵の発行要求を受信する（Ｓ５）。次いで、鍵管理サーバ２０は、利用者Uの電子メールアドレスUに基づいて、データベース１０によって公開されている関数の族の中からh0(・)を選択し、h0(U)を取得する（Ｓ６）。
【００７６】
さらに、鍵管理サーバ２０は、ステップＳ１において生成された秘密情報（d）とh0(U)を用いて、所定の式（dchar=chard mod n）により求めることのできる初回の署名鍵（dcharまたはr0,U）を発行する（Ｓ７）。
【００７７】
鍵管理サーバ２０は、ステップＳ７において発行された署名鍵（r0,U）を利用者端末３０ａに送信する（Ｓ８）。
【００７８】
利用者端末３０ａは、ステップＳ７において発行された署名鍵r0,Uを受信する（Ｓ９）。
【００７９】
次いで、利用者端末３０ａは、i回目の署名鍵の発行要求を鍵管理サーバ２０に送信する（Ｓ１０）。なお、利用者端末３０ａが、署名鍵の更新を行う事由としては、例えば署名鍵の漏洩や紛失等がある。
【００８０】
鍵管理サーバ２０は、利用者端末３０ａから、i回目の署名鍵の発行要求を受信する（Ｓ１１）。次いで、鍵管理サーバ２０は、利用者端末３０ａの利用者Uがi回目の署名鍵の更新を行うことに伴い、利用者Uの更新回数情報pを更新する（Ｓ１２）。
【００８１】
次いで、鍵管理サーバ２０は、ステップＳ１２において更新された更新回数情報pをデータベース１０上に公開する（Ｓ１３）。また、鍵管理サーバ２０は、データベース１０上に公開されている更新回数情報pを参照し、利用者Uに対する署名鍵の更新回数と対応付けられた関数hi(・)を選択し、電子メールアドレスUに基づいてhi(U)を取得する（Ｓ１４）。
【００８２】
さらに、鍵管理サーバ２０は、ステップＳ１において生成された秘密情報（d）とhi(U)とを用いて、所定の式（dchar=chard mod n）により求めることのできるi回目の署名鍵（dcharまたはri,u）を発行する（Ｓ１５）。
【００８３】
鍵管理サーバ２０は、ステップＳ１５において発行された署名鍵（ri,u）を利用者端末３０ａに送信する（Ｓ１６）。
【００８４】
利用者端末３０ａは、ステップＳ１５において発行された署名鍵（ri,u）を受信する（Ｓ１７）。
【００８５】
次いで、利用者端末３０ａは、署名鍵を用いて所定の式（t：=re mod n、s：=dcharrh(t,M) mod n）により求めることのできる署名（s, t）を生成し、生成された署名を付加した署名付き情報｛m, α｝を生成する（Ｓ１８）。さらに、利用者端末３０ａは、ステップＳ１８において生成された署名付き情報｛m, α｝を利用者端末３０ｂに送信する（Ｓ１９）。
【００８６】
利用者端末３０ｂは、ステップＳ１９において送信された署名付き情報｛m, α｝を受信する（Ｓ２０）。
【００８７】
次いで、利用者端末３０ｂは、データベース１０上に公開されている更新回数情報pを取得し（Ｓ２１）、また、利用者端末３０ｂは、ステップＳ２１において取得された更新回数情報pから、利用者Uがこれまでに行った署名鍵の更新回数iを取得する（Ｓ２２）。さらに、利用者端末３０ｂは、利用者Uの電子メールアドレスU及び取得した更新回数iから値hi(U)を取得する（Ｓ２３）。
【００８８】
次いで、利用者端末３０ｂは、ステップＳ２３において取得した値hi(U)を用いて、ステップＳ２０において受信した署名付き情報を所定の式（se=char th(t,M) mod n）により判定する（Ｓ２４）。
【００８９】
利用者端末３０ｂは、ステップＳ２４における判定結果から、受信した署名付き情報によって、所定の式（se=char th(t,M) mod n）が成立するか否かを検証する（Ｓ２５）。
【００９０】
利用者端末３０ｂは、ステップＳ２５における検証の結果、所定の式が成立した場合、利用者Uによる正当な署名である（Ｓ２６）とし、当該署名付き情報を受理する（Ｓ２７）。
【００９１】
一方、利用者端末３０ｂは、ステップＳ２５における検証の結果、所定の式が成立しない場合、不当な署名である（Ｓ２８）とし、当該署名付き情報｛m, α｝を受理しない（Ｓ２９）。
【００９２】
以上、本実施形態に係る電子署名システム及び電子署名方法について、Shamir方式（所定の方法）を用いた利用者に固有のIDに基づく電子署名を例として説明したが、本実施形態に係る電子署名システム及び電子署名方法において用いることのできる署名方式は、Shamir方式に限定されるものではなく、勿論他の方式を用いて利用者に固有のIDに基づく電子署名を行うこともできる。
【００９３】
（電子署名システム及び電子署名方法による作用・効果）
本実施形態に係る電子署名システム及び電子署名方法によれば、利用者Uの電子メールアドレスUと更新回数に対応付けられた関数の族｛h0(・), h1(・),..., hN(・)｝から求められる値（例えばhi(U)）に基づいて署名鍵または検証鍵を生成して発行するため、従来のIDに基づく電子署名では困難であった鍵の更新を行うことができる。
【００９４】
本実施形態によれば、鍵管理サーバ２０が、利用者Uからの発行要求に応じて、利用者に固有のIDに対応する署名鍵を更新するため、利用者端末３０ａの利用者Uは、当該IDを変更することなく、署名鍵の漏洩や紛失に伴う署名鍵の更新を随時かつ迅速に行うことができる。
【００９５】
また、本実施形態によれば、鍵管理サーバ２０が、署名鍵に対となる検証鍵を生成して発行し、その検証鍵を利用者端末３０ｂに送信するため、署名鍵が更新された場合においても検証鍵を確実に取得することができる。
【００９６】
さらに、本実施形態によれば、データベース１０上に公開される署名鍵（検証鍵）を生成するための関数として、hi（x）=x+riを用い、かつx（利用者に固有のID）及びri（ランダムノイズ）を所定の誤り訂正符号によって表現された値を用いることにより、利用者Uの電子メールアドレスUに基づく値hi(U)と、他の利用者に用いられる値とが同一となることがないため、異なる利用者に対して同一の署名鍵（検証鍵）が発行されるような事態を避けることができ、より高い安全性を確保することができる。
【００９７】
【発明の効果】
以上説明したように本発明によれば、鍵の更新を可能とするIDに基づく電子署名方法及び電子署名システムを提供することができる。
【図面の簡単な説明】
【図１】本発明の実施形態に係る電子署名システムの全体構成図である。
【図２】本発明の実施形態に係るデータベース、鍵管理サーバ及び利用者端末のブロック構成を示す図である。
【図３】本実施形態に係る電子署名方法を示すシーケンス図である。
【図４】本実施形態に係る電子署名方法を示すシーケンス図である。
【図５】本実施形態に係る電子署名方法を示すシーケンス図である。
【符号の説明】
１…通信ネットワーク
１０…データベース
２０…鍵管理サーバ
２１…発行要求受信部
２２…秘密情報生成部
２３…鍵発行部
２４…鍵送信部
２５…情報更新部
３０ａ，３０ｂ…利用者端末
３１…発行要求送信部
３２…鍵受信部
３３…情報送信部
３４…情報受信部
３５…判定部
【図１】
0003895244.tif 000002
【図２】
0003895244.tif 000003
【図３】
0003895244.tif 000004
【図４】
0003895244.tif 000005
【図５】
0003895244.tif 000006