説明

情報処理装置、電子署名生成システム、電子署名用の鍵生成方法、情報処理方法、及びプログラム

【課題】代用検証者が生成する代用検証鍵の推定に十分な情報を署名者に知られずに署名者との対話の中で代用検証鍵を生成することが可能な情報処理装置を提供すること。
【解決手段】第1検証鍵KVに対応する第1署名鍵KSを保持する他装置に対し、当該第1署名鍵KSを用いて生成された電子署名σを検証することが可能な第2検証鍵KV’(KV’≠KV)の一部を成し、かつ、第2検証鍵KV’を特定不可能な第1部分情報を提供する第1部分情報提供部と、他装置により第1部分情報及び第1署名鍵KSを用いて生成され、第1署名鍵KSを特定不可能であり、かつ、第1部分情報を除く第2検証鍵KV’の残り部分を生成するための第2部分情報を取得する第2部分情報取得部と、第1部分情報及び第2部分情報に基づいて第2検証鍵KV’を生成する第2検証鍵生成部とを備える情報処理装置が提供される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、電子署名生成システム、電子署名用の鍵生成方法、情報処理方法、及びプログラムに関する。
【背景技術】
【0002】
通常、文書の作成者を証明するためには、その文書に作成者が署名や捺印等(以下、署名)を施す。この署名は、署名した者が当該文書の記載内容に対して責任を負うことを明示するものである。紙文書の場合、文書の作成者が手で署名を行う。一方、電子文書の場合、電子データに印鑑を押したり、署名者が手書きで署名を行うことが難しい。そのため、電子署名と呼ばれるデータを電子文書に付し、その電子署名により署名者を一意に特定する方法が用いられる。近年、様々な文書が電子化されており、電子署名の重要性が増している。こうした状況の中で、電子署名の偽造に対する耐性が問題となることが多い。紙文書に付される署名の場合も同様であるが、電子データの方が容易に複製可能な分だけ注意が必要になるのである。
【0003】
電子署名の仕組みとしては、例えば、ElGamal署名方式が良く知られている。この方式は、離散対数問題の困難性に基づくものである。まず、署名者は、電子署名を生成するための署名鍵と、電子署名の正当性を検証するための検証鍵とを生成する。さらに、署名者は、検証鍵を公開する。そして、署名鍵及び電子文書を用いて電子署名を生成し、電子文書と共に電子署名を検証者に提供する。そのため、検証者は、公開されている検証鍵を用いて電子署名を検証することができる。ElGamal署名方式の場合、検証鍵から署名鍵や電子署名を生成しようとすると、計算量的に解くことが困難な離散対数問題を解く必要が生じる。電子署名から署名鍵を生成しようとした場合についても同様である。これらの困難性が署名の偽造を防止している。
【0004】
しかしながら、何らかの理由で署名鍵が第3者に露呈してしまうと、第3者が自由に電子署名を偽造できてしまう。従って、署名鍵が露呈した場合、露呈した署名鍵で生成された電子署名は、真の署名者のものであるか、第3者が偽造したものであるか区別できなくなる。紙文書に付された署名の場合、複製したものと原本とは比較的容易に判別できるが、電子データの場合には全く同じものであるために区別できない。そのため、署名鍵の露呈が発覚した段階で電子署名、署名鍵、及び検証鍵を無効にする対策が採られる。このとき、その電子署名が付された電子文書も実質的に無効になってしまう。
【0005】
このような署名鍵の露呈に伴う被害を低減させるために様々な仕組みが考案されている。例えば、下記の特許文献1には、期間毎に署名鍵を設定し、各期間で生成された電子署名に対してのみ各署名鍵が有効になるようにする方法が開示されている(図21を参照)。この方法を用いると、署名鍵が露呈した場合に、その署名鍵を廃止したとしても、その署名鍵に対応する期間の前期間及び後期間に対応する署名鍵が有効なまま維持できる。そのため、露呈した署名鍵に対応する期間を除く他の期間において生成した電子署名、及びその電子署名が付された電子文書を無効にせず済む。その結果、無効化される電子文書の数を低減することができるのである。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特許第3640785号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、上記文献に記載の技術を用いたとしても、露呈した署名鍵に対応する期間において生成された電子署名は全て無効となり、当該電子署名が付された電子文書が実質的に全て無効になってしまう。もちろん、署名鍵が露呈していなくても、その署名鍵を無効にすべき理由が生じた場合には同様に無効となる電子文書が発生してしまう。上記の通り、電子署名の役割は、紙文書に付される署名と同じである。従って、電子文書であっても、その種類によっては再度電子署名を付してもらうのが容易でないこともある。
【0008】
そのため、署名鍵が露呈しないように厳重に管理し、電子署名を無効にしないようにすることが非常に重要になる。しかし、署名鍵が絶対に露呈しないという保証を与えることは難しい。そこで、ある電子署名の生成に用いた署名鍵が露呈した場合でも、その電子署名(及び電子文書)に対して有効な他の検証鍵を生成することができれば、その電子署名を無効にせずに済む。また、こうした理由以外の目的においても、ある電子署名及び電子文書に対して有効な複数の検証鍵を安全に生成することが可能な仕組みがあると便利な場合も考えられる。
【0009】
上記のような仕組みに関し、例えば、作本・田中による次のような研究成果(以下、SC08方式)の報告がある。SC08方式:「Koichi Sakumoto and Keisuke Tanaka,“Key−Substitutable Signature.”,The 2008 Symposium on Cryptography and Information Security, Miyazaki, Japan, Jan.22−25, 2008」。
【0010】
SC08方式は、署名者との対話を行うことが可能なエンティティ(以下、身代わり署名者)により、ある電子署名及び電子文書に対して有効な検証鍵(以下、代用検証鍵)を生成できるようにするというものである。SC08方式では、署名者との対話の中で代用検証鍵を生成する仕組み(以下、対話アルゴリズム)を提供することで、身代わり署名者以外の第3者が自由に代用検証鍵を生成できてしまうことを防止している。しかし、SC08方式では対話アルゴリズムの中で署名者が実質的に代用検証鍵を生成しており、代用検証鍵に対応する署名鍵を用いて身代わり署名者が生成した電子署名の安全性に不安が残る。
【0011】
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、より安全に対話アルゴリズムを用いて代用検証鍵を生成することが可能な、新規かつ改良された情報処理装置、電子署名生成システム、電子署名用の鍵生成方法、情報処理方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【0012】
上記課題を解決するために、本発明のある観点によれば、第1検証鍵KVに対応する第1署名鍵KSを保持する他装置に対し、当該第1署名鍵KSを用いて生成された電子署名σを検証することが可能な第2検証鍵KV’(KV’≠KV)の一部を成し、かつ、前記第2検証鍵KV’を特定不可能な第1部分情報を提供する第1部分情報提供部と、前記他装置により前記第1部分情報及び前記第1署名鍵KSを用いて生成され、前記第1署名鍵KSを特定不可能であり、かつ、前記第1部分情報を除く第2検証鍵KV’の残り部分を生成するための第2部分情報を取得する第2部分情報取得部と、前記第1部分情報及び前記第2部分情報に基づいて前記第2検証鍵KV’を生成する第2検証鍵生成部と、を備える、情報処理装置が提供される。
【0013】
また、前記第1署名鍵KSはN1個(N1≧2)のパラメータを含んで成り、前記第2部分情報取得部は、前記第1部分情報を用いて生成されるパラメータ及び前記第1署名鍵KSに含まれるN1個のパラメータを用いて生成され、当該第1署名鍵KSに含まれる個々のパラメータを特定不可能な前記第2部分情報を取得するように構成されていてもよい。
【0014】
また、前記第2検証鍵KV’はN2個(N2≧2)のパラメータを含んで成り、前記第1部分情報提供部は、前記第1部分情報として前記第2検証鍵KV’に含まれるM2個(M2<N2)のパラメータを提供するように構成されていてもよい。
【0015】
また、前記第2検証鍵KV’はN2個(N2≧2)のパラメータを含んで成り、前記第1部分情報提供部は、前記第2検証鍵KV’に含まれるM2個(M2<N2)のパラメータ、及び当該M2個のパラメータを除く(N2−M2)個のパラメータのハッシュ値を前記第1部分情報として提供するように構成されていてもよい。
【0016】
また、前記第2部分情報が生成される際に前記第1部分情報に対して前記他装置が生成した乱数に基づく所定の演算処理が施されている場合、前記第2部分情報取得部は、前記第2部分情報と共に前記他装置が生成した乱数を取得するように構成されていてもよい。この場合、前記第2検証鍵生成部は、前記第1部分情報、前記第2部分情報、及び前記乱数に基づいて前記第2検証鍵KV’を生成する。
【0017】
また、上記課題を解決するために、本発明の別の観点によれば、対を成す第1検証鍵KV及び第1署名鍵KSが格納された記憶部と、前記第1署名鍵KSを用いて生成された電子署名σを検証することが可能な第2検証鍵KV’(KV’≠KV)の一部を成し、かつ、前記第2検証鍵KV’を特定不可能な第1部分情報を取得する第1部分情報取得部と、前記第1部分情報取得部で取得された前記第1部分情報及び前記第1署名鍵KSを利用し、前記第1検証鍵KSを特定不可能であり、かつ、前記第1部分情報を除く第2検証鍵KV’の残り部分を生成するための第2部分情報を生成する第2部分情報生成部と、前記第1部分情報を提供した他装置に対し、前記第2部分情報生成部で生成された第2部分情報を提供する第2部分情報提供部と、を備える、情報処理装置が提供される。
【0018】
また、前記第1署名鍵KSはN1個(N1≧2)のパラメータを含んで成り、前記第2部分情報生成部は、前記第1部分情報を用いて生成されるパラメータ及び前記第1署名鍵KSに含まれるN1個のパラメータを利用し、当該第1署名鍵KSに含まれる個々のパラメータを特定不可能な前記第2部分情報を生成するように構成されていてもよい。
【0019】
また、前記第2検証鍵KV’はN2個(N2≧2)のパラメータを含んで成り、前記第1部分情報取得部は、前記第1部分情報として前記第2検証鍵KV’に含まれるM2個(M2<N2)のパラメータを取得するように構成されていてもよい。
【0020】
また、前記第2検証鍵KV’はN2個(N2≧2)のパラメータを含んで成り、前記第1部分情報取得部は、前記第2検証鍵KV’に含まれるM2個(M2<N2)のパラメータ、及び当該M2個のパラメータを除く(N2−M2)個のパラメータのハッシュ値を前記第1部分情報として取得するように構成されていてもよい。
【0021】
また、上記の情報処理装置は、乱数を発生させる乱数発生器と、前記乱数発生器で発生させた乱数を用いて前記第1部分情報に所定の演算処理を施す演算処理部と、をさらに備え、前記第2部分情報生成部は、前記演算処理部で所定の演算処理が施された第1部分情報及び前記第1署名鍵KSを利用して前記第2部分情報を生成し、前記第2部分情報提供部は、前記第2部分情報と共に前記演算処理部で用いた乱数を前記他装置に提供するように構成されていてもよい。
【0022】
また、上記課題を解決するために、本発明の別の観点によれば、対を成す第1検証鍵KV及び第1署名鍵KSが格納された記憶部と、前記第1署名鍵KSを用いて生成された電子署名σを検証することが可能な第2検証鍵KV’(KV’≠KV)の一部を成し、かつ、前記第2検証鍵KV’を特定不可能な第1部分情報を第2の情報処理装置から取得する第1部分情報取得部と、前記第1部分情報取得部で取得された前記第1部分情報及び前記第1署名鍵KSを利用し、前記第1検証鍵KSを特定不可能であり、かつ、前記第1部分情報を除く第2検証鍵KV’の残り部分を生成するための第2部分情報を生成する第2部分情報生成部と、前記第1部分情報を提供した前記第2の情報処理装置に対し、前記第2部分情報生成部で生成された第2部分情報を提供する第2部分情報提供部と、を有する、第1の情報処理装置と;前記第1の情報処理装置に対し、前記第1部分情報を提供する第1部分情報提供部と、前記第2部分情報を取得する第2部分情報取得部と、前記第1部分情報及び前記第2部分情報に基づいて前記第2検証鍵KV’を生成する第2検証鍵生成部と、を有する、第2の情報処理装置と;を含む、電子署名生成システムが提供される。
【0023】
また、上記課題を解決するために、本発明の別の観点によれば、第1検証鍵KVに対応する第1署名鍵KSを保持する他装置に対し、当該第1署名鍵KSを用いて生成された電子署名σを検証することが可能な第2検証鍵KV’(KV’≠KV)の一部を成し、かつ、前記第2検証鍵KV’を特定不可能な第1部分情報を提供する第1部分情報提供ステップと、前記他装置により前記第1部分情報及び前記第1署名鍵KSを用いて生成され、前記第1署名鍵KSを特定不可能であり、かつ、前記第1部分情報を除く第2検証鍵KV’の残り部分を生成するための第2部分情報を取得する第2部分情報取得ステップと、前記第1部分情報及び前記第2部分情報に基づいて前記第2検証鍵KV’を生成する第2検証鍵生成ステップと、を含む、電子署名用の鍵生成方法が提供される。
【0024】
また、上記課題を解決するために、本発明の別の観点によれば、対を成す第1検証鍵KV及び第1署名鍵KSのうち、前記第1署名鍵KSを用いて生成された電子署名σを検証することが可能な第2検証鍵KV’(KV’≠KV)の一部を成し、かつ、前記第2検証鍵KV’を特定不可能な第1部分情報を取得する第1部分情報取得ステップと、前記第1部分情報取得ステップで取得された前記第1部分情報及び前記第1署名鍵KSを利用し、前記第1検証鍵KSを特定不可能であり、かつ、前記第1部分情報を除く第2検証鍵KV’の残り部分を生成するための第2部分情報を生成する第2部分情報生成ステップと、前記第1部分情報を提供した他装置に対し、前記第2部分情報生成ステップで生成された第2部分情報を提供する第2部分情報提供ステップと、を含む、情報処理方法が提供される。
【0025】
また、上記課題を解決するために、本発明の別の観点によれば、第2の情報処理装置が、第1の情報処理装置に対し、対を成す第1検証鍵KV及び第1署名鍵KSのうち、前記第1署名鍵KSを用いて生成された電子署名σを検証することが可能な第2検証鍵KV’(KV’≠KV)の一部を成し、かつ、前記第2検証鍵KV’を特定不可能な第1部分情報を提供する第1部分情報提供ステップと、第1の情報処理装置が、前記第1部分情報を第2の情報処理装置から取得する第1部分情報取得ステップと、前記第1部分情報取得ステップで取得した前記第1部分情報及び前記第1署名鍵KSを利用し、前記第1検証鍵KSを特定不可能であり、かつ、前記第1部分情報を除く第2検証鍵KV’の残り部分を生成するための第2部分情報を生成する第2部分情報生成ステップと、前記第1部分情報を提供した第2の情報処理装置に対し、前記第2部分情報生成ステップで生成した第2部分情報を提供する第2部分情報提供ステップと、前記第2の情報処理装置が、前記第2部分情報を取得する第2部分情報取得ステップと、前記第1部分情報及び前記第2部分情報に基づいて前記第2検証鍵KV’を生成する第2検証鍵生成ステップと、を含む、電子署名用の鍵生成方法が提供される。
【0026】
また、上記課題を解決するために、本発明の別の観点によれば、第1検証鍵KVに対応する第1署名鍵KSを保持する他装置に対し、当該第1署名鍵KSを用いて生成された電子署名σを検証することが可能な第2検証鍵KV’(KV’≠KV)の一部を成し、かつ、前記第2検証鍵KV’を特定不可能な第1部分情報を提供する第1部分情報提供機能と、前記他装置により前記第1部分情報及び前記第1署名鍵KSを用いて生成され、前記第1署名鍵KSを特定不可能であり、かつ、前記第1部分情報を除く第2検証鍵KV’の残り部分を生成するための第2部分情報を取得する第2部分情報取得機能と、前記第1部分情報及び前記第2部分情報に基づいて前記第2検証鍵KV’を生成する第2検証鍵生成機能と、をコンピュータに実現させるためのプログラムが提供される。
【0027】
また、上記課題を解決するために、本発明の別の観点によれば、対を成す第1検証鍵KV及び第1署名鍵KSのうち、前記第1署名鍵KSを用いて生成された電子署名σを検証することが可能な第2検証鍵KV’(KV’≠KV)の一部を成し、かつ、前記第2検証鍵KV’を特定不可能な第1部分情報を取得する第1部分情報取得機能と、前記第1部分情報取得機能で取得された前記第1部分情報及び前記第1署名鍵KSを利用し、前記第1検証鍵KSを特定不可能であり、かつ、前記第1部分情報を除く第2検証鍵KV’の残り部分を生成するための第2部分情報を生成する第2部分情報生成機能と、前記第1部分情報を提供した他装置に対し、前記第2部分情報生成機能で生成された第2部分情報を提供する第2部分情報提供機能と、をコンピュータに実現させるためのプログラムが提供される。
【0028】
上記の情報処理装置に関し、前記他装置は認証局サーバであってもよい。また、上記の情報処理装置は、自装置を特定するためのID情報を前記他装置に通知するID通知部をさらに備えていてもよい。そして、上記の情報処理装置は、前記第1部分情報提供部、前記第2部分情報取得部、及び前記第2検証鍵生成部を用い、前記ID通知部による通知を受けて前記他装置により生成された前記ID情報を含む電子文書mID、及び当該電子文書mIDに対して前記第1署名鍵KSを用いて生成された電子署名σIDを受理する第2検証鍵KV’を生成し、前記第2検証鍵KV’の正当性を証明するための電子証明書として当該電子文書mID及び電子署名σIDを利用するように構成されていてもよい。
【0029】
上記の情報処理装置に関し、自装置は委任者の電子署名を代理する代理人が利用する代理人端末であってもよい。さらに、前記他装置は前記委任者が利用する委任者端末であってもよい。そして、上記の情報処理装置は、前記第1部分情報提供部、前記第2部分情報取得部、及び前記第2検証鍵生成部を用い、前記委任者が前記代理人に委譲する署名権限の内容を少なくとも含む電子文書m、及び当該電子文書mに対して前記第1署名鍵KSを用いて生成された電子署名σを受理する第2検証鍵KV’を生成し、前記第2検証鍵KV’が前記委任者に認められたものであることを証明するための証明書として当該電子文書m及び電子署名σを利用するように構成されていてもよい。
【0030】
また、上記課題を解決するために、本発明の別の観点によれば、上記の電子署名生成システムが有する機能をコンピュータに実現させることが可能なプログラムが提供されうる。また、上記課題を解決するために、本発明の別の観点によれば、上記の各プログラムが記録されたコンピュータにより読み取り可能な記録媒体が提供されうる。
【発明の効果】
【0031】
以上説明したように本発明によれば、より安全に対話アルゴリズムを用いて代用検証鍵を生成することが可能になる。
【図面の簡単な説明】
【0032】
【図1】電子署名を生成するための署名鍵が露呈した場合に生じる問題を模式的に示した説明図である。
【図2】鍵代用可能電子署名方式の一例であるSC08方式に関してエンティティの一構成例を示した説明図である。
【図3】SC08方式における代用鍵生成方法、電子署名の生成方法、及び電子署名の検証方法を示した説明図である。
【図4】代用検証鍵の特性を示した説明図である。
【図5】SC08方式における代用鍵生成方法の流れを示す説明図である。
【図6】SC08方式におけるシステムパラメータの生成方法を示す説明図である。
【図7】SC08方式における電子署名の生成方法を示す説明図である。
【図8】SC08方式における電子署名の検証方法を示す説明図である。
【図9】SC08方式における代用鍵生成方法を詳細に示す説明図である。
【図10】本発明の第1実施形態に係る代用鍵生成方法の流れを示す説明図である。
【図11】同実施形態に係る電子署名の生成方法を示す説明図である。
【図12】同実施形態に係る電子署名の検証方法を示す説明図である。
【図13】同実施形態に係る代用鍵生成方法を詳細に示す説明図である。
【図14】同実施形態に係る鍵更新システムの一構成例、署名者端末、検証者端末、及び代用鍵生成者端末の機能構成例を示す説明図である。
【図15】本発明の第2実施形態に係る電子署名の生成方法を示す説明図である。
【図16】同実施形態に係る電子署名の検証方法を示す説明図である。
【図17】同実施形態に係る代用鍵生成方法を詳細に示す説明図である。
【図18】本発明の第1及び第2実施形態の一変形例に係る代用鍵生成方法の流れを示す説明図である。
【図19】本発明の第1及び第2実施形態に係る署名者端末及び検証者端末のハードウェア構成例を示す説明図である。
【図20】期限付き電子署名方式に係る鍵更新方法を模式的に示した説明図である。
【図21】本発明の第1及び第2実施形態に係る代用鍵生成方法をPKIの認証局サーバとユーザ端末との間の鍵検証に応用する場合のシステム構成例を示す説明図である。
【図22】本発明の第1及び第2実施形態に係る代用鍵生成方法をPKIの認証局サーバとユーザ端末との間の鍵証明に応用する方法を示した説明図である。
【図23】本発明の第1及び第2実施形態に係る代用鍵生成方法を代理人署名方式の代理人証明に応用する場合のシステム構成例を示す説明図である。
【図24】本発明の第1及び第2実施形態に係る代用鍵生成方法を代理人署名方式の代理人証明に応用する方法を示した説明図である。
【発明を実施するための形態】
【0033】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【0034】
[説明の流れについて]
ここで、以下に記載する本発明の実施形態に関する説明の流れについて簡単に述べる。まず、図1を参照しながら、電子署名方式において署名鍵が露呈した場合に生じる問題について簡単に説明する。さらに、図21を併せて参照しながら、署名鍵の露呈に対する一般的な対策方法について簡単に説明し、その問題点について指摘する。
【0035】
次いで、図2、図3を参照しながら、SC08方式又は同実施形態に係る鍵代用可能電子署名方式のエンティティ構成、及び各エンティティが行う手続きについて説明する。次いで、図4を参照しながら、同実施形態に係る鍵更新方法にて用いる代用鍵の特性、及びその代用鍵に要求される条件について説明する。次いで、図5〜図9を参照しながら、SC08方式の代用鍵生成方法について詳細に説明する。この中で、SC08方式の問題点について言及する。
【0036】
次いで、図10〜図14を参照しながら、本発明の第1実施形態に係る鍵代用可能電子署名方式(以下、本手法1)、及び鍵更新システムの構成について詳細に説明する。この中で、同実施形態に係る鍵代用可能電子署名方式の具体的なアルゴリズムについても詳細に説明する。また、同実施形態に係る鍵更新システムのシステム構成、署名者端末、検証者端末、代用鍵生成者端末の機能構成についても説明する。
【0037】
次いで、図15〜図17を参照しながら、本発明の第2実施形態に係る鍵代用可能電子署名方式(以下、本手法2)、及び鍵更新システムの構成について詳細に説明する。この中で、同実施形態に係る鍵代用可能電子署名方式の具体的なアルゴリズムについても詳細に説明する。但し、同実施形態に係る鍵更新システムのシステム構成、署名者端末、検証者端末、代用鍵生成者端末の機能構成については上記の第1実施形態と実質的に同じであるため、説明を省略する。
【0038】
次いで、図18を参照しながら、上記の第1及び第2実施形態に係る代用鍵生成方法の一変形例について説明する。次いで、図20を参照しながら、同実施形態に係る署名者端末及び検証者端末のハードウェア構成例について説明する。次いで、図21、図22を参照しながら、上記第1及び第2実施形態に係る代用鍵生成方法をPKIへ応用する方法について説明する。次いで、図23、図24を参照しながら、上記第1及び第2実施形態に係る代用鍵生成方法を代理人署名方式へ応用する方法について説明する。次いで、上記第1及び第2実施形態に係る代用鍵生成方法を責任分担型の電子署名方式へ応用する方法について説明する。
【0039】
(説明項目)
1:はじめに
1−1:署名鍵の露呈について
1−2:期限付き署名方式について
1−3:システム構成について
1−4:代用検証鍵の特性について
1−5:SC08方式の代用鍵生成方法
1−6:SC08方式のアルゴリズム
2:第1実施形態
2−1:代用鍵生成方法
2−2:アルゴリズム
2−3:端末の機能構成
3:第2実施形態
3−1:アルゴリズム
4:第1及び第2実施形態に係る変形例
4−1:代用鍵生成方法
5:各端末のハードウェア構成例
6:応用例
6−1:PKIへの応用
6−2:代理人署名方式への応用
6−3:責任分担型電子署名への応用
【0040】
<1:はじめに>
はじめに、本発明に係る実施形態について詳細に説明するに先立ち、当該実施形態の技術的意義及び技術内容に関する理解を助けるべく、当該理解のために参考にすべき技術内容について簡単に説明する。この中で、同実施形態の技術を開発するに当たって基盤とされたSC08方式の代用鍵生成方法及びそのアルゴリズムについても詳細に説明する。
【0041】
[1−1:署名鍵の露呈について]
まず、図1を参照しながら、署名鍵の露呈について簡単に説明する。図1には、電子文書mに付した電子署名σを生成するための署名鍵skが露呈した場合に生じる問題点が模式的に示されている。
【0042】
図1に示すように、署名鍵skを用いて電子文書mに付された正当な電子署名σは、署名鍵skとペアを成す正当な検証鍵pkを用いて検証することができる。なお、検証鍵pkは公開されている。また、この検証には、所定の検証式が用いられる。つまり、検証者は、所定の検証式に対して電子文書m、電子署名σ、及び検証鍵pkの情報を入力し、所定の検証式の成否を判定することにより、電子署名σの正当性を検証する。このように、検証鍵pkについて、電子文書mに対する電子署名σが正当なものであると判定される場合、「検証鍵pkが電子署名σ及び電子文書mのペア(m,σ)を受理する」と言う。
【0043】
さて、署名鍵skは、署名者により秘密に管理され、通常、他人に知られることはない。もちろん、署名者は、検証者に対しても署名鍵skを知られないように管理する。しかし、署名鍵skが絶対に露呈しないということを保証することは難しい。例えば、署名者が利用する端末が攻撃を受け、その端末に保管していた署名鍵skの情報が漏れることも大いに考えられる。このように、何らかの理由で署名鍵skが他人(以下、攻撃者)に露呈した場合(S1)、攻撃者は、任意の電子文書に電子署名σを付すことが可能になる。つまり、電子署名σが偽造されてしまう。
【0044】
例えば、露呈した署名鍵skを用いて攻撃者が電子文書m1に電子署名σを付した場合について考えてみよう。この場合、電子文書m1に付された電子署名σは、正当な署名鍵skで生成されたものであるため、検証鍵pkにより受理される。つまり、攻撃者が生成した署名であるにも関わらず、正当な署名者の署名として受理されてしまうのである。例えば、電子文書m1が不動産の売買契約書であった場合、正当な署名者は、知らないところで自分が所有する不動産を勝手に売却されてしまう危険性があるということになる。
【0045】
そこで、正当な署名者は、署名鍵skの露呈が発覚すると、その署名鍵skを無効にする(S2)。署名鍵skが無効になると、その署名鍵skとペアを成す検証鍵pkも無効になる。さらに、その署名鍵skで生成された電子署名σも無効になる。例えば、電子文書mが契約書であった場合、電子署名σが無効になると、電子文書mを用いて交わされた契約が無効になってしまう。電子文書mが重要度の低い社内文書のようなものであれば、新たに生成した署名鍵sk’を用いて再び電子署名σ’を付せば良いが、第3者との間で交わされた契約書のような重要文書の場合には簡単に再署名できないことが多い。
【0046】
このような重要文書を多く扱っている場合、署名鍵skの露呈による被害は深刻である。なお、これまでも署名鍵skの露呈に伴って過去に生成された電子署名σが無効になってしまうという問題に対して様々な対策が考えられてきた。しかし、その多くは、署名鍵skの露呈に伴って電子署名σが無効になることによる影響を低減させるものであり、無効になる電子署名σを救済する手段ではない。そのような署名鍵skの露呈に対する対策の一例として、ここで、期限付き署名方式について紹介する。
【0047】
[1−2:期限付き署名方式について]
期限付き署名方式とは、図20に示すような方式である。この方式では、署名鍵skが所定期間毎に更新される。一方、検証鍵pkは全期間で共通のものとする。例えば、期間1(Period1)では署名鍵sk1が用いられ、期間1においてのみ有効な電子署名が生成される。時間が経過し、期間2に移ると、期間2においてのみ有効な署名鍵sk2が用いられ、期間2においてのみ有効な電子署名が生成される。この方式の場合、仮に期間2において署名鍵sk1による電子署名が生成されたとしても、その電子署名は検証鍵pkで受理されない。
【0048】
従って、図20のステップBに示すように署名鍵sk1、sk3、sk4が露呈し、ステップCに示すように期間1、3、4の電子署名が無効化されても、期間2、5、…の電子署名は有効なまま維持される。そのため、期間2、5、…の期間に署名鍵sk2、sk5、…を用いて生成された電子署名が付属する電子文書は無効化されずに済む。しかしながら、期間1、3、4において生成された電子署名が付属する電子文書は無効になってしまうため、上記問題の根本的な解決には至らない。やはり、上記問題の解決には、露呈前に署名鍵skで生成された電子署名σを救済する手段が必要になるのである。
【0049】
こうした理由に鑑み、本件発明者は、攻撃者が偽造した電子署名σは受理せず、正当な署名者が電子文書mに対して過去に付した電子署名σだけを受理するような他の検証鍵pk’を生成すればよいという考えに想到した。しかし、十分な安全性を確保しつつ、このような他の検証鍵pk’を生成することは容易ではない。但し、SC08方式に言う代用鍵を用いれば、このような他の検証鍵pk’を実現できる可能性がある。そこで、SC08方式に注目した。
【0050】
なお、後述するSC08方式は必ずしも上記の目的に用いるために開発されたものではなく、ある電子署名及び電子文書の組に対して安全な複数の検証鍵を生成できるようにすることを目的に開発されたものである。つまり、SC08方式は、その用途を限定して開発されたものではない。従って、SC08方式は様々な用途に用いることができる点に注意されたい。また、後述する各実施形態の技術はSC08方式に更なる工夫を加えて安全性を高めたものであるが、これについても同様に広範な用途に適用できる点に注意されたい。
【0051】
[1−3:システム構成]
ここで、SC08方式及び後述する各実施形態で想定する方式に係る電子署名システムのモデルについて説明する。これらの方式では、電子署名システムのモデルとして、5つのエンティティが想定されている。ここで想定しているエンティティは、図2に示すように、システム管理者、署名者、検証者、認証局、及び身代わり署名者(以下、代用鍵生成者)の5つである。
【0052】
システム管理者は、システムパラメータ生成アルゴリズム(SetupKSS)を用いてシステムパラメータcpを生成するエンティティである。署名者は、鍵生成アルゴリズム(GenKSS)を用いて各署名者固有の署名鍵sk及び当該署名鍵skとペアを成す検証鍵pkを生成するエンティティである。また、署名者は、署名生成アルゴリズム(SigKSS)を用いて電子文書mに対する電子署名σを生成する。
【0053】
検証者は、署名検証アルゴリズム(Ver)を用いて電子文書mに付された電子署名σの正当性を検証するエンティティである。代用鍵生成者は、代用鍵生成アルゴリズム<ORG(sk),SUB>を用いて代用署名鍵sk’及び当該代用署名鍵sk’とペアを成す代用検証鍵pk’を生成するエンティティである。但し、代用鍵生成者は、ある電子文書m及びその電子文書mに付された電子署名σに対する代用鍵を生成する際、その電子文書mに付された電子署名σの生成者である署名者との間で対話を行いながら代用鍵を生成する。また、認証局は、署名者又は代用鍵生成者が生成した検証鍵又は代用検証鍵の正当性を保証するための証明書を発行するエンティティである。
【0054】
これらのエンティティは、図3に示すような手続きを実行し、署名鍵sk及び検証鍵pkの生成、電子署名σの生成、代用署名鍵sk’及び代用検証鍵pk’の生成、電子署名σの検証を行う。なお、システム管理者によりシステムパラメータ生成アルゴリズム(SetupKSS)を用いてシステムパラメータcpが既に生成されているものとする。なお、SetupKSSを用いてcpを生成することを下記の式(1)のように表現する。但し、1λはセキュリティパラメータである。
【0055】
【数1】

【0056】
(署名者による鍵生成工程)
まず、署名者が行う鍵生成手続きについて説明する。図3に示すように、署名者は、鍵生成工程において、システム管理者からシステムパラメータcpを取得する。次いで、署名者は、鍵生成アルゴリズム(GenKSS)にシステムパラメータcpを入力し、署名鍵skと検証鍵pkのペアを生成する。なお、GenKSSを用いて(sk,pk)を生成することを下記の式(2)のように表現する。鍵生成アルゴリズムGenKSSを用いて署名鍵sk及び検証鍵pkを生成すると、署名者は、生成した署名鍵sk及び検証鍵pkをペアにして保管する。そして、署名者は、必要に応じて検証鍵pkを自身の検証鍵として認証局に登録し、その証明書を受け取る。
【0057】
【数2】

【0058】
(署名者による署名生成工程)
次に、署名者が行う署名生成手続きについて説明する。図3に示すように、署名者は、署名を付すべき電子文書m、及び保管している署名鍵skを用意する。次いで、署名者は、署名生成アルゴリズム(SigKSS)に署名鍵sk及び電子文書mを入力し、電子署名σを生成する。なお、SigKSSを用いてσを生成することを下記の式(3)のように表現する。次いで、署名者は、下記の式(3)で生成した電子署名σ(アルゴリズムの出力値)を電子文書mに対する電子署名σに設定する。
【0059】
【数3】

【0060】
(署名者及び代用署名者による代用鍵生成工程)
次に、署名者及び代用署名者が協働して行う代用鍵生成手続きについて、その概要を説明する。なお、代用鍵生成方法の詳細については後述する。まず、署名者は、電子文書m、電子署名σ、電子署名σの生成に用いた署名鍵sk、署名鍵skとペアを成す検証鍵pkを用意する。次いで、署名者は、用意した電子文書m、電子署名σ、検証鍵pkを代用鍵生成者に提供する。このとき、代用鍵生成者は、署名者から電子文書m、電子署名σ、検証鍵pkを取得する。
【0061】
次いで、署名者及び代用鍵生成者は、代用鍵生成アルゴリズム<ORG(sk),SUB>に共通パラメータとして検証鍵pk、電子文書m、及び電子署名σを入力する。さらに、署名者は、代用鍵生成者との対話の中で、電子文書m、電子署名σを受理する代用検証鍵pk’、及び当該代用検証鍵pk’とペアを成す代用署名鍵sk’を生成する。なお、後段において詳述するように、SC08方式では「実質的に署名者が代用鍵を生成」するのに対し、後述する各実施形態の方式では「代用鍵生成者が代用鍵を生成」する点に注意が必要である。この点こそが両方式の安全性の違いを決める大きな相違点だからである。
【0062】
また、<ORG(sk),SUB>を用いてsk’、pk’を生成することを下記の式(4)のように表現する。ここで、ORGは署名者に対応し、SUBは代用鍵生成者に対応する。つまり、ORG(sk)は、署名者が代用鍵生成アルゴリズムの中で署名鍵skを利用することを示すものである。但し、署名鍵skは、SUBである代用鍵生成者に開示されず、ORGである署名者側で閉じた演算に利用され、その演算結果のみが代用生成者に提供される。その詳細については後述する。下記の式(4)で代用署名鍵sk’及び代用検証鍵pk’を生成すると、代用鍵生成者は、必要に応じて代用検証鍵pk’を自身の検証鍵として認証局に登録し、その証明書を受け取る。
【0063】
【数4】

【0064】
(検証者による署名検証工程)
次に、検証者が行う手続きについて説明する。まず、検証者は、署名者から電子署名σ、電子文書m、及び検証鍵pkを取得する。次いで、検証者は、必要に応じて、検証鍵pkが本当に署名者の検証鍵であるか否かを認証局の証明書で確認する。次いで、検証者は、署名検証アルゴリズム(Ver)に検証鍵pk、電子文書m、電子署名σを入力し、検証結果vout=0(エラー)又は1(受理)を算出する。なお、Verによりvoutを算出することを下記の式(5)のように表現する。次いで、検証者は、下記の式(5)で算出された検証結果voutに応じてvout=1ならば(σ,m)を受理し、vout=0ならば拒否する。なお、代用検証鍵pk’を用いた検証手続きを行う場合についても同様である。
【0065】
【数5】

【0066】
以上説明したように、これらの方式では、署名者と代用鍵生成者とが対話を行うことにより、署名鍵skで生成した電子文書mに対する電子署名σを受理する代用検証鍵pk’を生成している。先に述べた通り、これらの方式は、そもそも鍵更新方法を実現するために考案されたものではなく、署名者とは異なるエンティティ(代用鍵生成者)に代用鍵を安全に生成させるための技術である。従って、勝手に代用鍵を生成されないよう、真の署名者との対話を代用鍵生成の要件としている。そのため、代用鍵の生成工程に関しては、上記のように入力情報の種類に工夫を凝らした対話的な手法が用いられているのである。
【0067】
[1−4:代用検証鍵の特性について]
ここで、図4を参照しながら、代用検証鍵pk’の特性について簡単に纏めておく。先に述べた通り、代用検証鍵pk’は、ある署名鍵skで生成された電子署名σ及び当該電子署名σが付された電子文書mを受理するものである。従って、代用検証鍵pk’は、電子文書m及び電子署名σのペアに対して生成される。当然のことながら、代用検証鍵pk’は、署名鍵skとペアを成す検証鍵pkとは異なるものである。
【0068】
また、代用検証鍵pk’には少なくとも次のような条件が課される。条件(1):代用検証鍵pk’は署名者との対話により生成可能であること。条件(2):代用鍵生成者以外が勝手に代用検証鍵を生成不可能であること。これらの条件により、代用検証鍵pk’を生成することが可能なエンティティが署名者と対話可能なエンティティに制限される。逆に言えば、署名者と対話可能なエンティティに対し、代用鍵の生成可能性を与えることができる。
【0069】
条件(3):代用鍵生成者は署名者の電子署名を偽造不可能であること。つまり、代用鍵生成者が対話の中で取得する情報を用いても、署名者の電子署名を偽造できないようにすることが要件として課される。この条件により、署名者の電子署名に対する偽造不可能性が確保される。条件(4):署名者は代用鍵生成者の電子署名を偽造不可能であること。つまり、対話の中で署名者が取得する情報を用いても、代用検証鍵pk’とペアを成す代用署名鍵sk’を用いて生成された電子署名σ’を偽造できないようにすることが要件として課される。この条件により、代用鍵生成者の電子署名に対する偽造不可能性が確保される。
【0070】
以上説明した条件(1)〜条件(4)を満たすことで、代用鍵を用いた電子署名システムにおける安全性が確保されることになる。そこで、これらの条件を満たすSC08方式の代用鍵生成方法、及びその具体的なアルゴリズムについて以下で説明する。
【0071】
[1−5:SC08方式の代用鍵生成方法]
まず、図5を参照する。図5は、SC08方式の代用鍵生成アルゴリズム<ORG(sk),SUB>における処理の大まかな流れを示した説明図である。図5に示すように、署名者及び代用鍵生成者の双方に共有情報として検証鍵pk、電子文書m、電子署名σが入力されているものとする。また、署名者側では、署名鍵skも利用される。但し、代用鍵生成者が署名者の電子署名を偽造できないようにするため、署名鍵skが代用鍵生成者に直接提供されることはない。
【0072】
まず、代用鍵生成者により代用署名鍵sk’が生成され、その代用署名鍵sk’の情報を用いて代用検証鍵pk’の一部情報が生成される。上記の通り、代用検証鍵pk’は、署名鍵skで生成された電子署名σを受理すべきものである。そのため、署名鍵skの情報を知らない代用鍵生成者は、署名鍵skの情報を知得せずに代用検証鍵pk’を生成することはできない。また、代用検証鍵pk’は、代用署名鍵sk’で生成された電子署名σ’(σ’≠σ)を受理すべきものである。そのため、代用検証鍵pk’に代用署名鍵sk’に関する情報が含まれている必要がある。そのため、上記のように代用検証鍵pk’に含める一部情報が代用鍵生成者により生成されるのである。
【0073】
代用鍵生成者により生成された代用検証鍵pk’に含める一部情報は、代用鍵生成者から署名者に提供される(S12)。次いで、代用検証鍵pk’の一部情報を取得すると、署名者は、乱数を発生させ、その乱数を代用鍵生成者に提供する(S14)。署名者から乱数を取得すると、代用鍵生成者は、取得した乱数を利用し、代用検証鍵pk’の生成に必要な代用署名鍵sk’の情報を署名者に提供する(S16)。上記の通り、代用検証鍵pk’は、代用署名鍵sk’で生成された電子署名σ’をも受理する必要がある。そのため、代用署名鍵sk’に関する情報を署名者に提供する必要が生じる。
【0074】
しかし、代用署名鍵sk’が署名者に知られると、代用署名鍵sk’で生成される電子署名σ’が勝手に生成されてしまう。そこで、代用鍵生成者は、乱数を利用して代用署名鍵sk’が署名者に特定されず、かつ、代用検証鍵pk’を生成することが可能な形にして代用署名鍵sk’に関する情報を署名者に提供するのである。このような代用署名鍵sk’に関する情報を取得すると、署名者は、代用検証鍵pk’(実際には代用検証鍵pk’を決定するための情報)を生成する(S18)。次いで、署名者は、生成した代用検証鍵pk’を代用鍵生成者に提供する。つまり、SC08方式では、代用鍵生成者とは言うものの、実質的に署名者が代用検証鍵pk’を生成しているのである。
【0075】
以上説明した方法により、代用署名鍵sk’及び代用検証鍵pk’が生成される。ここまで、図5を参照しながら、SC08方式における代用鍵生成処理の大まかな流れについて説明してきた。しかし、上記説明の中では具体的な演算方法について説明していない。そこで、図5で示した各処理ステップの内容を実現するための具体的な演算アルゴリズムについて以下で詳細に説明する。但し、ここに示す具体的な演算式等は一例であり、種々の変形が可能である点については注意されたい。
【0076】
[1−6:SC08方式のアルゴリズム]
まず、代用鍵生成アルゴリズムの具体的な演算内容について説明するに先立ち、SC08方式のシステムパラメータ生成アルゴリズム、鍵生成アルゴリズム、署名生成アルゴリズム、及び署名検証アルゴリズムについて順次説明する。これらのアルゴリズムは相互に関係するものであり、代用鍵生成アルゴリズムを実現するためのSC08方式に特徴的な構成を含んでいる。その後、代用鍵生成アルゴリズムについて説明する。
【0077】
(システムパラメータ生成アルゴリズム)
まず、図6を参照しながら、上記の式(1)で示したシステムパラメータ生成アルゴリズムについて説明する。図6は、システムパラメータ生成アルゴリズムの具体的な演算内容について、その一例を示す説明図である。なお、システムパラメータ生成アルゴリズムは、システム管理者により実行される。
【0078】
システムパラメータ生成アルゴリズムにおいては、まず、素数q=3(mod 4)に対し、下記の式(6)を満たすλビットの素数pが選択される(S30)。次いで、位数pとなるZの元gが選択される(S32)。但し、Zは素数pを法とする整数の有限体を意味し、Zはその乗法群を意味する。次いで、素数p、元gを含むシステムパラメータcp=(g,p)が設定される(S34)。ここまでがシステムパラメータ生成アルゴリズムの内容である。このようにしてシステムパラメータcpを生成すると、システム管理者は、システムパラメータcpを各エンティティに提供する(S36)。以下の説明においては各エンティティにシステムパラメータcpが提供されているものとする。
【0079】
【数6】

【0080】
(鍵生成アルゴリズム、署名生成アルゴリズム)
次に、図7を参照しながら、上記の式(2)で示した鍵生成アルゴリズム、及び上記の式(3)に示した署名生成アルゴリズムについて説明する。図7は、鍵生成アルゴリズム及び署名生成アルゴリズムの具体的な演算内容について、その一例を示す説明図である。なお、鍵生成アルゴリズム及び署名生成アルゴリズムは、署名者により実行される。
【0081】
まず、鍵生成アルゴリズムについて説明する。鍵生成アルゴリズムにおいては、まず、ランダムにZの元x1、x2が選択される(S40)。次いで、選択されたx1、x2を用いて、下記の式(7)及び式(8)に示すようにy1、y2が算出される(S42)。次いで、ランダムにZの元αが選択される(S44)。次いで、ランダムに{0,1}λの元wが選択される(S46)。なお、ステップS44、S46の処理順序は、適宜変更可能である。ここまでが鍵生成アルゴリズムの内容である。以上の演算により、下記の式(9)に示す検証鍵pk、及び下記の式(10)に示す署名鍵skが生成される。
【0082】
【数7】

【0083】
次に、署名生成アルゴリズムについて説明する。上記の式(3)に示した通り、署名生成アルゴリズムには、鍵生成アルゴリズムで生成された署名鍵sk、及び電子文書mが入力される。但し、検証鍵pkも既に算出されていることから、検証鍵pkを入力値に加えてもよい。このように入力値を変更すると、例えば、署名生成アルゴリズムに上記の式(7)又は式(8)で示されるy1、y2と同じ演算式が含まれている場合、その演算処理を行わずに済む。以下の説明においては、上記の式(7)又は式(8)と同じ演算式が含まれている部分をそれぞれy1、y2と表記することにする。
【0084】
署名生成アルゴリズムにおいては、まず、ランダムにZの元k1が選択される(S50)。次に、選択されたk1を用いて下記の式(11)に示すr1が算出される(S52)。次いで、r1、x1、x2を用いて下記の式(12)に示すk2が算出される(S54)。但し、h3(…)は、ハッシュ関数である。ハッシュ関数とは、あるビット列a∈{0,1}から一定範囲の数値を生成する関数である。また、あるビット列をハッシュ関数に適用して得られる値をハッシュ値と呼ぶ。なお、下記の式(12)において、パラメータとして与えられるr1、x1、x2は、例えば、連結してからハッシュ関数h3に入力される。なお、パラメータの入力時に行う処理に関しては、連結に限定されない点に注意されたい。
【0085】
次いで、算出されたk2を用いて下記の式(13)に示すr2が算出される(S56)。次いで、電子署名σを付す電子文書m、上記の演算により算出されたパラメータr1、r2、及び検証鍵pkに含まれるy1、y2(但し、x1、x2から生成可能。)を用いて下記の式(14)及び式(15)に示すパラメータc、dが算出される(S58)。但し、h1(…)、h2(…)はいずれもハッシュ関数である。また、パラメータm、r1、r2、y1、y2は、例えば、連結してから入力される。なお、パラメータの入力時に行う処理に関しては、連結に限定されない点に注意されたい。
【0086】
次いで、算出されたパラメータc、dを用いて下記の式(16)及び式(17)に示すy及びrが算出される(S60)。次いで、ステップS50〜S60において得られたパラメータを用いて下記の式(18)を満たすZの元sが算出される(S62)。但し、H(…)はハッシュ関数である。また、パラメータc、r、yは、例えば、連結してから入力される。なお、パラメータの入力時に行う処理に関しては、連結に限定されない点に注意されたい。以上の演算により、下記の式(19)に示す電子署名σが得られる。
【0087】
【数8】

【0088】
(署名検証アルゴリズム)
次に、図8を参照しながら、上記の式(5)で示した署名検証アルゴリズムについて説明する。図8は、署名検証アルゴリズムの具体的な演算内容について、その一例を示す説明図である。なお、署名検証アルゴリズムは、検証者により実行される。
【0089】
まず、検証者は、公開されている検証鍵pk(式(9)を参照)を取得する(S70)。さらに、検証者は、署名者から電子署名σ(式(19)を参照)、及び電子文書mを取得する(S72)。検証者は、これらの取得した情報を署名検証アルゴリズムに入力して電子署名σを検証する。なお、システムパラメータcpも予め取得しているものとする。
【0090】
署名検証アルゴリズムにおいては、まず、上記の式(14)、式(15)、式(16)、及び式(17)に基づいてパラメータc、d、y、rが算出される(S74)。次いで、算出したパラメータが下記の式(20)に示す検証式Aに代入され、検証式Aの成否が確認される(S76、S78)。検証式Aが成り立つ場合、その電子署名σが正当であるとみなし、「受理」を示す出力値vout=1を出力して(S80)一連の処理を終了する。一方、検証式Aが不成立の場合、エラーを示す出力値vout=0を出力して(S82)一連の処理を終了する。以上の演算により、電子文書mに対する電子署名σの正当性が検証される。
【0091】
【数9】

【0092】
(SC08方式のアイデアについて)
さて、電子署名方式は検証式の形により決まると言っても過言ではない。ちなみに、上記の検証式Aは、SC08方式に特有のものである。この検証式Aは、下記の式(21)に示すElGamal署名方式の検証式を改良して開発したものである。ElGamal署名方式の場合、p=2*q+1、かつ、q=3(mod4)となる素数q、pについて、位数qとなるZの元gをシステムパラメータに用いると、電子文書mと電子署名σのペアを受理する検証鍵pkは唯1つしか存在しない。そのため、ElGamal署名方式の検証式に基づいて署名生成システムを構成しようとすると、代用鍵を生成することができない。つまり、上記の条件(1)を満たさない。そこで考案されたのが、上記の式(20)に示したSC08方式の検証式Aである。以下、SC08方式のアイデアについて、もう少し詳しく説明する。
【0093】
【数10】

【0094】
まず、SC08方式では、検証鍵pkの要素を追加すると共に検証式を変形している。このとき、(1)正当な署名者との対話を行なえば代用鍵が生成できること、(2)正当な署名者との対話を行なわない限り、勝手に代用検証鍵を生成することができないことが考慮された。つまり、上記の条件(1)及び条件(2)を満たすように変形が施されているのである。
【0095】
作本らは、まず、ElGamal署名方式が「検証鍵を与えられても、検証式を満たすような電子署名を計算することはできない」という性質を持つことに着目した。そして、作本らは、このElGamal署名方式が持つ性質と上記の式(21)に示す検証式とを参照し、検証式中に現れる電子署名の要素rと検証鍵の要素yが対称的であれば「電子署名を与えられても検証式を満たすような検証鍵を計算することはできない」という性質を持つことに気づいた。ここで言う対称的とは、aの肩(べき乗部分)にbが、bの肩(べき乗部分)にaが乗るという形(a*b)を意味する。
【0096】
そこで、作本らは、このアイデアに基づき、下記の式(22)のように検証鍵pkにパラメータαを追加し、下記の式(23)のように検証式を変形した。検証鍵pkにパラメータαを追加したことで代用鍵の生成が可能になった。しかし、下記の式(22)に示す検証鍵pkに基づいて成立する下記の式(23)の検証式を用いると、代用鍵生成者がオリジナルの署名鍵skを計算できてしまう。例えば、代用署名鍵sk’=x’、代用検証鍵pk’=(y’,α’)とすると、代用鍵生成者は、下記の式(24)を知ることができるため、この式に基づいて署名者が秘密に保持すべきパラメータkを算出することができてしまう。さらに、オリジナルの署名鍵sk=xを用いて下記の式(25)が成り立つことが分かっているため、パラメータkを用いて下記の式(25)から署名鍵skを算出することができてしまう。
【0097】
【数11】

【0098】
そこで、作本らは、上記の式(9)及び式(10)に示すように、署名鍵sk及び検証鍵pkに含まれるパラメータを二重化し、代用鍵生成者がオリジナルの署名鍵skを生成することができないようにした。もちろん、代用署名鍵sk’及び代用検証鍵pk’についても、それらに含まれるパラメータが二重化されている。なお、SC08方式においては、代用鍵生成者が秘密に保持する代用署名鍵sk’を署名者が知得できないようにすること(上記の条件(4))も考慮されている。なお、代用鍵に関する上記の条件(3)、条件(4)に関しては、後述する代用鍵生成アルゴリズムにて実現される。以下、当該アイデアを具体化したSC08方式の代用鍵生成アルゴリズムについて説明する。
【0099】
(代用鍵生成アルゴリズム)
図9を参照しながら、上記の式(4)で示した代用鍵生成アルゴリズムについて説明する。図9は、代用鍵生成アルゴリズムの具体的な演算内容について、その一例を示す説明図である。なお、代用鍵生成アルゴリズムは対話プロトコルに基づくものであり、署名者と代用鍵生成者との対話を通じて実現されるものである。
【0100】
代用鍵生成アルゴリズムにおいては、まず、署名者により署名鍵skが入力される(S100)。但し、署名鍵skは代用鍵生成者に直接提供されない。また、代用鍵生成者によりランダムにZの元x1’,x2’が選択され、下記の式(26)及び式(27)に示すy1’、y2’が算出される(S102)。なお、x1’、x2’は、代用署名鍵sk’に含めるパラメータである。また、y1’、y2’は、代用検証鍵pk’に含めるパラメータである。次いで、代用鍵生成者から署名者にy1’、y2’が提供される(S104)。次いで、署名者は、ランダムにZの元w’を選択する(S106)。次いで、署名者から代用鍵生成者にw’が提供される(S108)。
【0101】
w’を取得すると、代用鍵生成者は、取得したw’を用いて下記の式(28)に示すc’、及び下記の式(29)に示すzを算出する(S110)。次いで、代用鍵生成者から署名者にzが提供される(S112)。このzには代用署名鍵sk’の一部を成すパラメータx1’、x2’が含まれているが、x1’、x2’を個々に特定できない形で署名者に提供されている点に注意されたい。次いで、zを取得すると、署名者は、上記の式(14)、式(15)、式(16)、式(17)に基づいてc、d、y、rを算出し、下記の式(30)を満たすkを算出する。署名者は、パラメータk1、k2を保管していないことが多い。そのため、ここではパラメータk1、k2を再計算しようとしているのである。
【0102】
もちろん、パラメータk1、k2を保持している場合には、これらの演算を省略することができる。次いで、署名者は、上記の式(12)を用いてk2を算出し、算出したk、k2を下記の式(31)に代入してk1を算出する。この段階でパラメータk1、k2が得られたことになる。次いで、署名者は、下記の式(28)に基づいてc’を算出する。さらに、署名者は、下記の式(32)に基づいてd’を算出する。次いで、署名者は、下記の式(33)、式(34)に基づいてy’、r’を算出する。さらに、署名者は、算出したy’を用いて式(35)が成立するか否かを検証する。このとき、下記の式(35)が不成立ならば署名者はエラーを出力して一連の処理を終了する。
【0103】
次いで、署名者は、下記の式(36)を満たすα’を算出する(S114)。そして、署名者から代用鍵生成者にパラメータα’が提供される。このパラメータα’と、パラメータy1’、y2’、w’とを組み合わせることで代用検証鍵pk’が生成される。なお、代用署名鍵sk’にα’を含めることとすれば、この時点で代用署名鍵sk’も生成される。また、署名者が代用検証鍵pk’を生成し、代用署名者に提供するように構成されていてもよい。SC08方式においては、以上説明した方法により、代用検証鍵pk’、及び代用署名鍵sk’が生成される。
【0104】
【数12】

【0105】
以上、SC08方式について詳細に説明した。ここで注意すべき点は、代用鍵生成者が代用検証鍵pk’を手にする以前に、署名者が対話の中で代用検証鍵pk’を生成するための十分な情報を手に入れているという事実にある(図5を参照)。このことは、代用鍵生成者が代用検証鍵pk’により確定される前に、代用署名鍵sk’の一部情報が攻撃者に伝わる可能性を意味する。その結果、SC08方式においては、代用鍵生成者が確定した代用検証鍵pk’に関する電子署名の偽造不可能性について安全性が保証されないということになる。
【0106】
この点について説明を補足する。SC08方式に関する安全性の一部根拠を成すElGamal署名方式で保証される安全性は次のような理想化された状況で保証される。ここで言う理想かされた状況とは、「まず、署名者が公開鍵pkを生成し、次に署名者が攻撃者に公開鍵pkを渡し、最後に攻撃者が公開鍵pkの受理する電子署名を生成できたら攻撃者の勝ちとする」という状況である。この理想化された状況において攻撃者が勝つことができないという意味合いにおいてElCamal署名方式の安全性は保証されている。逆に言えば、この制約を少しでも満たさない状況では安全性が保証されない。しかし、SC08方式では、署名者が公開鍵を知る以前に、攻撃者が署名者の公開鍵を知ることができる構造を持つ。そのため、ElGamal署名を基にした署名方式であっても、ElGamal署名で保証されている安全性から保証されるものの対象外となってしまうのである。
【0107】
上記の問題を解決すべく、本件発明者は、SC08方式に更なる工夫を加え、後述する各実施形態に係る代用鍵生成方法を考案した。当該各実施形態の技術は、上記の問題を解決すると共に、SC08方式よりも効率的な代用鍵生成方法を提供するものである。以下、本発明の実施形態に係る代用鍵生成方法について詳細に説明していくことにする。
【0108】
<2:第1実施形態>
まず、本発明の第1実施形態について説明する。本実施形態は、上記のSC08方式が抱える安全性に関する問題点を解決し、「代用鍵生成者が代用検証鍵pk’の一部しか確定させていない段階で、その後に代用検証者が生成する代用検証鍵pk’の残りの部分を含めた全体を推定するに十分な情報が署名者に提供されないようにする」技術に関する。つまり、代用検証鍵pk’以外の代用検証鍵を生成することは署名者にも可能なので、代用鍵生成者が代用検証鍵pk’’を生成する際に代用検証鍵pk’の一部分だけを確定させた段階で、その残りの部分を含めた代用検証鍵pk’の全体を署名者が代用検証者よりも早く知ってしまうことがないようにするのである。以下、当該技術(本手法1)について詳細に説明する。
【0109】
[2−1:代用鍵生成方法]
まず、図10を参照する。図10は、本手法1の代用鍵生成アルゴリズム<ORG(sk),SUB>における処理の大まかな流れを示した説明図である。図10に示すように、署名者及び代用鍵生成者の双方に共有情報として検証鍵pk、電子文書m、電子署名σが入力されているものとする。また、署名者側では、署名鍵skも利用される。但し、代用鍵生成者が署名者の電子署名を偽造できないようにするため、署名鍵skが代用鍵生成者に直接提供されることはない。
【0110】
まず、代用鍵生成者により代用署名鍵sk’が生成され、その代用署名鍵sk’の情報を用いて代用検証鍵pk’の一部情報が生成される。そして、代用鍵生成者により生成された代用検証鍵pk’に含める一部情報は、代用鍵生成者から署名者に提供される(S122)。但し、このステップで提供される一部情報は、最終的にできる代用検証鍵pk’を推定するのには不十分な情報である。
【0111】
次いで、代用検証鍵pk’の一部情報を取得すると、署名者は、乱数を発生させ、その乱数と共に代用検証鍵pk’を生成するのに必要な署名鍵skに関する情報を代用鍵生成者に提供する(S124)。但し、このステップで提供される署名鍵skに関する情報は、代用鍵生成者が署名鍵skを推定するのに不十分な情報である。署名鍵skに関する情報を取得すると、代用鍵生成者は、代用検証鍵pk’を生成する(S126)。
【0112】
以上説明した方法により、代用署名鍵sk’及び代用検証鍵pk’が生成される。このように、本手法1においては代用検証鍵pk’が代用鍵生成者により生成される。また、代用鍵生成者が代用検証鍵pk’を確定する以前に、代用検証鍵pk’を生成するに十分な情報は署名者に与えられない。そのため、本手法1を用いることで、既に説明したSC08方式が抱える問題は解消される。但し、上記説明の中では具体的な演算方法について説明していない。そこで、図10で示した各処理ステップの内容を実現するための具体的な演算アルゴリズムについて以下で詳細に説明する。但し、ここに示す具体的な演算式等は一例であり、種々の変形が可能である点については注意されたい。
【0113】
[2−2:アルゴリズム]
まず、代用鍵生成アルゴリズムの具体的な演算内容について説明するに先立ち、本手法1の鍵生成アルゴリズム、署名生成アルゴリズム、及び署名検証アルゴリズムについて順次説明する。なお、システムパラメータ生成アルゴリズムについてはSC08方式と実質的に同じであるため説明を省略する。また、これらのアルゴリズムは相互に関係するものであり、代用鍵生成アルゴリズムを実現するための本手法1に特徴的な構成を含んでいる。その後、代用鍵生成アルゴリズムについて説明する。
【0114】
(鍵生成アルゴリズム、署名生成アルゴリズム)
まず、図11を参照しながら、上記の式(2)で示した鍵生成アルゴリズム、及び上記の式(3)に示した署名生成アルゴリズムについて説明する。図11は、鍵生成アルゴリズム及び署名生成アルゴリズムの具体的な演算内容について、その一例を示す説明図である。なお、鍵生成アルゴリズム及び署名生成アルゴリズムは、署名者により実行される。
【0115】
まず、鍵生成アルゴリズムについて説明する。鍵生成アルゴリズムにおいては、まず、ランダムにZの元x1、x2が選択される(S130)。次いで、選択されたx1、x2を用いて、下記の式(37)及び式(38)に示すようにy1、y2が算出される(S132)。次いで、ランダムにZの元αが選択される(S134)。なお、ステップS134の処理順序は、適宜変更可能である。ここまでが鍵生成アルゴリズムの内容である。以上の演算により、下記の式(39)に示す検証鍵pk、及び下記の式(40)に示す署名鍵skが生成される。
【0116】
【数13】

【0117】
次に、署名生成アルゴリズムについて説明する。上記の式(3)に示した通り、署名生成アルゴリズムには、鍵生成アルゴリズムで生成された署名鍵sk、及び電子文書mが入力される。但し、検証鍵pkも既に算出されていることから、検証鍵pkを入力値に加えてもよい。このように入力値を変更すると、例えば、署名生成アルゴリズムに上記の式(37)又は式(38)で示されるy1、y2と同じ演算式が含まれている場合、その演算処理を行わずに済む。以下の説明においては、上記の式(37)又は式(38)と同じ演算式が含まれている部分をそれぞれy1、y2と表記することにする。
【0118】
署名生成アルゴリズムにおいては、まず、ランダムにZの元k1が選択される(S140)。次に、選択されたk1を用いて下記の式(41)に示すr1が算出される(S142)。次いで、r1、x1、x2を用いて下記の式(42)に示すk2が算出される(S144)。但し、h3(…)は、ハッシュ関数である。なお、下記の式(42)において、パラメータとして与えられるr1、x1、x2は、例えば、連結してからハッシュ関数h3に入力される。なお、パラメータの入力時に行う処理に関しては、連結に限定されない点に注意されたい。
【0119】
次いで、算出されたk2を用いて下記の式(43)に示すr2が算出される(S146)。次いで、電子署名σを付す電子文書m、上記の演算により算出されたパラメータr1、r2、及び検証鍵pkに含まれるy1、y2(但し、x1、x2から生成可能。)を用いて下記の式(44)及び式(45)に示すパラメータc、dが算出される(S148)。但し、h1(…)、h2(…)はいずれもハッシュ関数である。また、パラメータm、r1、r2、y1、y2は、例えば、連結してから入力される。なお、パラメータの入力時に行う処理に関しては、連結に限定されない点に注意されたい。
【0120】
次いで、算出されたパラメータc、dを用いて下記の式(46)及び式(47)に示すy及びrが算出される(S150)。次いで、ステップS130〜S150において得られたパラメータを用いて下記の式(48)を満たすZの元sが算出される(S152)。但し、H(…)はハッシュ関数である。また、パラメータc、r、yは、例えば、連結してから入力される。なお、パラメータの入力時に行う処理に関しては、連結に限定されない点に注意されたい。以上の演算により、下記の式(49)に示す電子署名σが得られる。
【0121】
【数14】

【0122】
以上、本手法1の鍵生成アルゴリズム、及び署名生成アルゴリズムについて説明した。鍵生成アルゴリズムにおいては、生成される検証鍵pkの構成がSC08方式から変更されている。一方、署名生成アルゴリズムにおいては、電子署名σの生成に用いるパラメータc、dの構成がSC08方式から変更されている。特に、パラメータdを生成する際に、ハッシュ関数h2に入力するパラメータの種類が変更されている点に注意されたい。この変更は、代用鍵生成者から署名者へと提供される情報がSC08方式よりも少ないことに起因する。逆に言えば、このような変更を行うことで、代用鍵生成者から署名者に提供される情報を低減させることができる。
【0123】
(署名検証アルゴリズム)
次に、図12を参照しながら、上記の式(5)で示した署名検証アルゴリズムについて説明する。図12は、署名検証アルゴリズムの具体的な演算内容について、その一例を示す説明図である。なお、署名検証アルゴリズムは、検証者により実行される。
【0124】
まず、検証者は、公開されている検証鍵pk(式(39)を参照)を取得する(S160)。さらに、検証者は、署名者から電子署名σ(式(49)を参照)、及び電子文書mを取得する(S162)。検証者は、これらの取得した情報を署名検証アルゴリズムに入力して電子署名σを検証する。なお、システムパラメータcpも予め取得しているものとする。
【0125】
署名検証アルゴリズムにおいては、まず、上記の式(44)、式(45)、式(46)、及び式(47)に基づいてパラメータc、d、y、rが算出される(S164)。次いで、算出したパラメータが下記の式(50)に示す検証式Aに代入され、検証式Aの成否が確認される(S166、S168)。検証式Aが成り立つ場合、その電子署名σが正当であるとみなし、「受理」を示す出力値vout=1を出力して(S170)一連の処理を終了する。一方、検証式Aが不成立の場合、エラーを示す出力値vout=0を出力して(S172)一連の処理を終了する。以上の演算により、電子文書mに対する電子署名σの正当性が検証される。なお、外見上、検証式Aの形が本手法1とSC08方式とで同じである点に注意されたい。
【0126】
【数15】

【0127】
(代用鍵生成アルゴリズム)
次に、図13を参照しながら、上記の式(4)で示した代用鍵生成アルゴリズムについて説明する。図13は、代用鍵生成アルゴリズムの具体的な演算内容について、その一例を示す説明図である。なお、代用鍵生成アルゴリズムは対話プロトコルに基づくものであり、署名者と代用鍵生成者との対話を通じて実現されるものである。但し、SC08方式とは異なり、本手法1においては代用検証鍵を代用鍵生成者の側で生成する。
【0128】
代用鍵生成アルゴリズムにおいては、まず、署名者により署名鍵skが入力される(S180)。但し、署名鍵skは代用鍵生成者に直接提供されない。また、代用鍵生成者によりランダムにZの元x1’が選択され、下記の式(51)に示すy1’が算出される(S182)。次いで、代用鍵生成者から署名者にy1’が提供される(S184)。ステップS184において署名者に提供されるパラメータy1’を用いても、署名者が代用検証鍵を生成できない点に注意されたい。次いで、署名者は、ランダムにZの元wを選択する(S186)。
【0129】
次いで、署名者は、上記の式(44)、式(45)、式(46)、式(47)に基づいてc、d、y、rを算出し、下記の式(52)を満たすkを算出する。署名者は、パラメータk1、k2を保管していないことが多い。そのため、ここではパラメータk1、k2を再計算しようとしているのである。もちろん、パラメータk1、k2を保持している場合には、これらの演算を省略することができる。
【0130】
次いで、署名者は、上記の式(42)を用いてk2を算出し、算出したk、k2を下記の式(53)に代入してk1を算出する。この段階でパラメータk1、k2が得られたことになる。次いで、署名者は、下記の式(54)に基づいてd”を算出する。さらに、署名者は、下記の式(55)に基づいてk”を算出し(S186)、乱数wと共に代用鍵生成者に提供する(S188)。この段階で署名者が保持する情報からは、代用鍵生成者が最終的に生成する代用検証鍵を推定できない点に注意されたい。
【0131】
署名者から乱数w、及びパラメータk”を取得すると、代用鍵生成者は、ランダムにZの元x2”を選択する。次いで、代用鍵生成者は、署名者から取得した乱数w、及び選択したパラメータx1’を用いて下記の式(56)に示すパラメータx1”を算出する。さらに、代用鍵生成者は、下記の式(57)、式(58)に基づいてパラメータy1”、y2”を算出する。このようにして得られたパラメータx1”、x2”は、代用署名鍵sk”に含めるものである。また、パラメータy1”、y2”は、代用検証鍵pk”に含めるものである。
【0132】
次いで、代用鍵生成者は、代用検証鍵pk”で受理されるべき電子署名σが付された電子文書m、電子署名σに含まれるパラメータr1、r2、代用検証鍵pk”に含めるべきパラメータy1”、y2”を用いて、下記の式(59)によりパラメータc”を算出する。さらに、代用鍵生成者は、下記の式(54)に基づいてパラメータd”を算出する。このとき、y1’に代えてy1”をハッシュ関数h2に代入するように構成されていてもよい。次いで、代用鍵生成者は、下記の式(60)、式(61)に基づいてパラメータy”、r”を算出する。
【0133】
さらに、代用鍵生成者は、これまでに得られたパラメータd”を用いて下記の式(61)が成り立つか否か、w∈Zであるか否かを検証する。いずれかの条件が満たされない場合、代用鍵生成アルゴリズムに係る一連の処理を終了する。両条件が満たされた場合、代用鍵生成者は、下記の式(63)を満たすα”を算出し(S190)、下記の式(64)、式(65)に示す代用検証鍵pk”、代用署名鍵sk”を確定する。以上説明した方法により、代用検証鍵pk”、及び代用署名鍵sk”が生成される。
【0134】
上記の通り、本手法1においては、代用鍵生成者から署名者に提供される情報は、パラメータy1’だけである。そのため、署名者は、代用鍵生成者が代用検証鍵pk”を確定する以前に、代用検証鍵pk”を推定するに足りる十分な情報を得ることができない。そのため、代用検証鍵pk”の確定前に、代用鍵生成者以外の者が代用検証鍵pk”を推定できてしまうというSC08方式の問題は解決されている。
【0135】
また、本手法1の場合、対話の中で署名者と代用鍵生成者との間の通信回数及び通信量が低減されている。図9に示したSC08方式の代用鍵生成アルゴリズムの場合、2往復のインタラクションが発生している。また、セキュリティパラメータのデータサイズをaとすると、SC08方式の場合、対話の中で送受信されるデータサイズは5*aである。その内訳は、代用鍵生成者から署名者に送信されるパラメータy1’、y2’、zの3つと、署名者から代用鍵生成者に送信されるパラメータw’、α’の2つである。
【0136】
一方、図13に示した本手法1の代用鍵生成アルゴリズムの場合、1往復のインタラクションしか発生していない。さらに、本手法1の場合、対話の中で送受信されるデータサイズは3*aで済んでいる。その内訳は、代用鍵生成者から署名者に送信されるパラメータy1’の1つと、署名者から代用鍵生成者に送信されるパラメータw、k’の2つである。また、SC08方式の代用検証鍵pk’と、本手法1の代用検証鍵pk”とを比較すると、代用検証鍵pk’のデータサイズが4*aであるのに対し、代用検証鍵pk”のデータサイズが3*aで済んでいる。
【0137】
このように本手法1はSC08方式に比べて効率化されており、通信負荷の観点や代用検証鍵のデータサイズの観点から見ても、SC08方式に比べて本手法1の方が有利である。
【0138】
【数16】


【0139】
[2−3:端末の機能構成]
ここで、図14を参照しながら、上記の各アルゴリズムを実行可能な本手法1のシステム構成について簡単に説明する。図14には、署名者が利用する署名者端末100、検証者が利用する検証者端末200、及び代用鍵生成者が利用する代用鍵生成者端末300の機能構成が示されている。また、署名者端末100、検証者端末200、代用鍵生成者端末300はネットワーク10で接続されているものとする。なお、システム管理者及び認証局の端末については記載を省略した。
【0140】
(署名者端末100)
まず、署名者端末100の機能構成について説明する。図14に示すように、署名者端末100は、主に、記憶部102と、鍵生成部104と、署名生成部106と、通信部108と、署名鍵関連情報生成部110とを有する。
【0141】
記憶部102は、システムパラメータcp、電子文書m、及び各アルゴリズムを実行するためのプログラムを格納するための手段である。鍵生成部104は、記憶部102からシステムパラメータcp、及び鍵生成アルゴリズムの実行プログラムを読み出し、署名鍵sk及び検証鍵pkを生成する。鍵生成部104で生成された署名鍵sk及び検証鍵pkは、署名生成部106に入力される。
【0142】
署名生成部106は、記憶部102からシステムパラメータcp、及び署名生成アルゴリズムの実行プログラムを読み出し、入力された署名鍵sk(検証鍵pk)及び電子文書mを用いて当該電子文書mに付する電子署名σを生成する。署名生成部106で生成された電子署名σ及び電子文書mは、通信部108によりネットワーク10を介して検証者端末200に提供される。
【0143】
署名鍵関連情報生成部110は、代用鍵が生成される際に、乱数wを生成し、代用検証鍵pk”の生成に用いるパラメータk”を算出する手段である。まず、署名鍵関連情報生成部110は、代用鍵生成者端末300(代用検証鍵生成部306)から代用検証鍵pk”に関連するパラメータy1’を取得し、そのパラメータy1’を利用してパラメータk”を生成する。そして、署名鍵関連情報生成部110は、パラメータk”、wを代用鍵生成者端末300に提供する。
【0144】
このように、署名者端末100には、本手法1に係る上記の署名者が実行すべき各アルゴリズムを実行する機能が搭載される。その結果、署名者端末100を用いることで、本手法による鍵更新方法が実現される。
【0145】
(検証者端末200)
次に、検証者端末200の機能構成について説明する。図14に示すように、検証者端末200は、主に、通信部202と、パラメータ生成部204と、記憶部206と、検証処理部208とを有する。記憶部206には、システムパラメータcpの他、検証者が実行すべきアルゴリズムの実行プログラム等が格納される。
【0146】
通信部202によりネットワーク10を介して署名者端末100から電子文書m及び電子署名σが取得されると、それら電子文書m及び電子署名σは、パラメータ生成部204に入力される。パラメータ生成部204では、検証式に入力するために必要なパラメータが算出される。パラメータ生成部204で算出されたパラメータは、検証処理部208に入力される。検証処理部208では、パラメータ生成部204で算出されたパラメータ、検証鍵pk、電子文書m、及び電子署名σを検証式に入力し、検証式の成否に基づいて電子署名σの受理/拒否を判断する。
【0147】
このように、検証者端末200には、本手法に係る上記の検証者が実行すべき各アルゴリズムを実行する機能が搭載されている。その結果、検証者端末200を用いることで、本手法による鍵更新方法が実現される。
【0148】
(代用鍵生成者端末300)
次に、代用鍵生成者端末300の機能構成について説明する。図14に示すように、代用鍵生成者端末300は、主に、記憶部302と、代用署名鍵生成部304と、代用検証鍵生成部306と、通信部308とを有する。記憶部302には、システムパラメータcpの他、代用鍵生成者が実行すべきアルゴリズムの実行プログラム等が格納される。
【0149】
代用署名鍵生成部304は、代用鍵を生成する際、記憶部302に格納されたシステムパラメータcpを読み出し、代用署名鍵sk”に関するパラメータx1’、x2”を生成する。代用署名鍵生成部304により生成されたパラメータx1’、x2”は、代用検証鍵生成部306に入力される。また、代用署名鍵生成部304は、代用検証鍵生成部306から代用署名鍵sk”の生成に十分な情報が入力された場合、その情報を用いて代用署名鍵sk”を生成する。
【0150】
代用署名鍵生成部304からパラメータx1’x2”が入力されると、代用検証鍵生成部306は、代用検証鍵生成アルゴリズムに基づいて署名者端末100(署名鍵関連情報生成部110)との間で対話を実行し、代用検証鍵pk”の生成に十分なパラメータk”、wを取得する。この対話の中で、代用検証鍵生成部306は、代用検証鍵pk”に関する情報としてパラメータy1’しか署名者端末100に提供しない。そのため、署名者端末100において、この後に確定される代用検証鍵pk”をこの段階で推定することはできない。
【0151】
署名者端末100からパラメータk”、wを取得すると、代用検証鍵生成部306は、パラメータk”、wを用いて代用検証鍵pk”を生成する。この生成工程において算出される代用署名鍵sk”に含めるべきパラメータは、代用検証鍵生成部306から代用署名鍵生成部304に入力される。また、代用検証鍵生成部306で生成された代用検証鍵pk”は、通信部308によりネットワーク10を介して検証者端末200に提供される。なお、図14には明示していないが、代用鍵生成者端末300には、例えば、代用署名鍵sk”を用いて電子署名を生成する署名生成手段等が更に設けられていてもよい。
【0152】
以上、本手法1に係る代用鍵生成方法について説明した。本手法1を用いると、SC08方式に比べて、より効率的で安全性の高い鍵代用可能電子署名システムが実現される。なお、上記説明の中で示した具体的な演算内容に関しては、本手法1のアイデアを承継可能な範囲内で任意に変更することが可能である。もちろん、その変更後の演算内容についても、本手法1の技術的範囲に属することは言うまでもない。
【0153】
<3:第2実施形態>
次に、本発明の第2実施形態について説明する。本実施形態は、上記の第1実施形態と同様に、SC08方式が抱える安全性に関する問題点を解決し、「代用鍵生成者が代用検証鍵pk’の一部しか確定させていない段階で、その後に代用検証者が生成する代用検証鍵pk’の残りの部分を含めた全体を推定するに十分な情報が署名者に提供されないようにする」ことを実現するものである。
【0154】
但し、本実施形態の方法は、代用検証鍵pk”に関する情報を秘匿した形で代用鍵生成者から署名者に提供する点において異なるアイデアを含んでいる。以下、当該技術(本手法2)について詳細に説明する。なお、本手法2は、技術的思想の基本的な部分で本手法1と共通しており、図10に示した代用鍵生成方法の大まかな流れや、本手法2に係る代用鍵生成方法を実現するための端末構成については上記の本手法1と実質的に同じである。従って、これらの重複部分については説明を省略する。
【0155】
[3−1:アルゴリズム]
まず、代用鍵生成アルゴリズムの具体的な演算内容について説明するに先立ち、本手法2の鍵生成アルゴリズム、署名生成アルゴリズム、及び署名検証アルゴリズムについて順次説明する。なお、システムパラメータ生成アルゴリズムについてはSC08方式と実質的に同じであるため説明を省略する。また、これらのアルゴリズムは相互に関係するものであり、代用鍵生成アルゴリズムを実現するための本手法2に特徴的な構成を含んでいる。その後、代用鍵生成アルゴリズムについて説明する。
【0156】
(鍵生成アルゴリズム、署名生成アルゴリズム)
まず、図15を参照しながら、上記の式(2)で示した鍵生成アルゴリズム、及び上記の式(3)に示した署名生成アルゴリズムについて説明する。図15は、鍵生成アルゴリズム及び署名生成アルゴリズムの具体的な演算内容について、その一例を示す説明図である。なお、鍵生成アルゴリズム及び署名生成アルゴリズムは、署名者により実行される。
【0157】
まず、鍵生成アルゴリズムについて説明する。鍵生成アルゴリズムにおいては、まず、ランダムにZの元x1、x2が選択される(S200)。次いで、選択されたx1、x2を用いて、上記の式(37)及び式(38)に示すようにy1、y2が算出される(S202)。次いで、ランダムにZの元αが選択される(S204)。なお、ステップS204の処理順序は、適宜変更可能である。ここまでが鍵生成アルゴリズムの内容である。以上の演算により、下記の式(39)に示す検証鍵pk、及び下記の式(40)に示す署名鍵skが生成される。このように、本手法2の鍵生成アルゴリズムは本手法1のものと同じである。
【0158】
次に、署名生成アルゴリズムについて説明する。上記の式(3)に示した通り、署名生成アルゴリズムには、鍵生成アルゴリズムで生成された署名鍵sk、及び電子文書mが入力される。但し、検証鍵pkも既に算出されていることから、検証鍵pkを入力値に加えてもよい。このように入力値を変更すると、例えば、署名生成アルゴリズムに上記の式(37)又は式(38)で示されるy1、y2と同じ演算式が含まれている場合、その演算処理を行わずに済む。以下の説明においては、上記の式(37)又は式(38)と同じ演算式が含まれている部分をそれぞれy1、y2と表記することにする。
【0159】
署名生成アルゴリズムにおいては、まず、ランダムにZの元k1が選択される(S210)。次に、選択されたk1を用いて上記の式(41)に示すr1が算出される(S212)。次いで、r1、x1、x2を用いて上記の式(42)に示すk2が算出される(S214)。次いで、算出されたk2を用いて上記の式(43)に示すr2が算出される(S216)。ここまでの処理ステップは本手法1のものと同じである。
【0160】
次いで、パラメータy2を用いて下記の式(66)に示すYを算出すると共に、電子署名σを付す電子文書m、上記の演算により算出されたパラメータr1、r2、及び検証鍵pkに含まれるy1、y2(但し、x1、x2から生成可能。)を用いて上記の式(44)及び下記の式(67)に示すパラメータc、dが算出される(S218)。但し、h4(…)はハッシュ関数である。このように、本手法2においては新たなパラメータYが導入される。
【0161】
次いで、算出されたパラメータc、dを用いて上記の式(46)及び式(47)に示すy及びrが算出される(S220)。次いで、ステップS200〜S220において得られたパラメータを用いて上記の式(48)を満たすZの元sが算出される(S222)。以上の演算により、上記の式(49)に示す電子署名σが得られる。
【0162】
【数17】

【0163】
以上、本手法1の鍵生成アルゴリズム、及び署名生成アルゴリズムについて説明した。上記の通り、本手法2においては、パラメータdを生成する際に新たなパラメータYが導入されている。このパラメータYは、上記の式(66)に示すように代用検証鍵pk”に関する情報である。但し、ハッシュ値に変換されている点に注意されたい。なお、ハッシュ値に変換する理由については代用鍵生成アルゴリズムの説明の中で述べる。
【0164】
また、上記の式(48)から理解される通り、パラメータdは、署名者が秘匿すべきパラメータk1、k2を特定されないようにするものである。本手法1においては、パラメータdを生成する際に、代用検証鍵pk”に関する情報としてパラメータy1のみが用いられていた。一方、本手法2においては、パラメータy1に加え、パラメータy2に関連するパラメータYが追加されている。そのため、本手法2を用いることで、パラメータdを特定するために知るべき情報が増えた分だけ、パラメータk1、k2に対する安全性が高まる。
【0165】
(署名検証アルゴリズム)
次に、図16を参照しながら、上記の式(5)で示した署名検証アルゴリズムについて説明する。図16は、署名検証アルゴリズムの具体的な演算内容について、その一例を示す説明図である。なお、署名検証アルゴリズムは、検証者により実行される。
【0166】
まず、検証者は、公開されている検証鍵pk(式(39)を参照)を取得する(S230)。さらに、検証者は、署名者から電子署名σ(式(49)を参照)、及び電子文書mを取得する(S232)。検証者は、これらの取得した情報を署名検証アルゴリズムに入力して電子署名σを検証する。なお、システムパラメータcpも予め取得しているものとする。
【0167】
署名検証アルゴリズムにおいては、まず、上記の式(44)、式(66)及び式(67)に基づいてパラメータc、Y、dが算出され、さらに、上記の式(46)、及び式(47)に基づいてパラメータy、rが算出される(S234)。次いで、算出したパラメータが上記の式(50)に示す検証式Aに代入され、検証式Aの成否が確認される(S236、S238)。なお、本手法2においても、上記の本手法1と同じ検証式Aが用いられている点に注意されたい。
【0168】
検証式Aが成り立つ場合、その電子署名σが正当であるとみなし、「受理」を示す出力値vout=1を出力して(S240)一連の処理を終了する。一方、検証式Aが不成立の場合、エラーを示す出力値vout=0を出力して(S242)一連の処理を終了する。以上の演算により、電子文書mに対する電子署名σの正当性が検証される。
【0169】
(代用鍵生成アルゴリズム)
次に、図17を参照しながら、上記の式(4)で示した代用鍵生成アルゴリズムについて説明する。図17は、代用鍵生成アルゴリズムの具体的な演算内容について、その一例を示す説明図である。なお、代用鍵生成アルゴリズムは対話プロトコルに基づくものであり、署名者と代用鍵生成者との対話を通じて実現されるものである。なお、本手法2においても、本手法1と同様に、代用検証鍵を代用鍵生成者の側で生成する。
【0170】
代用鍵生成アルゴリズムにおいては、まず、署名者により署名鍵skが入力される(S250)。但し、署名鍵skは代用鍵生成者に直接提供されない。また、代用鍵生成者によりランダムにZの元x1’、x2”が選択され、下記の式(68)、式(69)に示すパラメータy1’、y2”が算出される。さらに、下記の式(70)に基づいてパラメータY”が算出される(S252)。次いで、代用鍵生成者から署名者にパラメータy1’、Y”が提供される(S254)。
【0171】
本手法2においては、本手法1とは異なり、ステップS254において代用検証鍵pk”に含める2つのパラメータy1’、y2”に関する情報が署名者に提供される。代用検証鍵pk”に含まれるパラメータy1”は、署名者が提供するパラメータwにより生成可能である。そのため、一見するとSC08方式と同じ2つのパラメータy1”、y2”が署名者の手に渡っているように見える。しかし、パラメータy2”はハッシュ値Y”に変換されているため、ハッシュ値Y”とパラメータy1”から署名者が代用検証鍵pk”を生成することはできない。つまり、本手法1と同等の安全性が確保されている。
【0172】
さて、パラメータy1’、Y”を取得すると、署名者は、ランダムにZの元wを選択する。次いで、署名者は、上記の式(44)、式(66)、式(67)、式(46)、式(47)に基づいてc、Y、d、y、rを算出し、上記の式(52)を満たすkを算出する。署名者は、パラメータk1、k2を保管していないことが多い。そのため、ここではパラメータk1、k2を再計算しようとしているのである。もちろん、パラメータk1、k2を保持している場合には、これらの演算を省略することができる。
【0173】
次いで、署名者は、上記の式(42)を用いてk2を算出し、算出したk、k2を上記の式(53)に代入してk1を算出する。この段階でパラメータk1、k2が得られたことになる。次いで、署名者は、下記の式(71)に基づいてd”を算出する。さらに、署名者は、上記の式(55)に基づいてk”を算出し(S256)、乱数wと共に代用鍵生成者に提供する(S258)。この段階で署名者が保持する情報からは、代用鍵生成者が最終的に生成する代用検証鍵を推定できない点に注意されたい。
【0174】
署名者から乱数w、及びパラメータk”を取得すると、代用鍵生成者は、取得した乱数w、及び選択したパラメータx1’を用いて上記の式(56)に示すパラメータx1”を算出する。さらに、代用鍵生成者は、上記の式(57)、式(58)に基づいてパラメータy1”、y2”を算出する。このようにして得られたパラメータx1”、x2”は、代用署名鍵sk”に含めるものである。また、パラメータy1”、y2”は、代用検証鍵pk”に含めるものである。
【0175】
次いで、代用鍵生成者は、代用検証鍵pk”で受理されるべき電子署名σが付された電子文書m、電子署名σに含まれるパラメータr1、r2、代用検証鍵pk”に含めるべきパラメータy1”、y2”を用いて、上記の式(59)によりパラメータc”を算出する。さらに、代用鍵生成者は、上記の式(71)に基づいてパラメータd”を算出する。このとき、y1’に代えてy1”をハッシュ関数h2に代入するように構成されていてもよい。次いで、代用鍵生成者は、上記の式(60)、式(61)に基づいてパラメータy”、r”を算出する。
【0176】
さらに、代用鍵生成者は、これまでに得られたパラメータd”を用いて上記の式(61)が成り立つか否か、w∈Zであるか否かを検証する。いずれかの条件が満たされない場合、代用鍵生成アルゴリズムに係る一連の処理を終了する。両条件が満たされた場合、代用鍵生成者は、上記の式(63)を満たすα”を算出し(S260)、上記の式(64)、式(65)に示す代用検証鍵pk”、代用署名鍵sk”を確定する。以上説明した方法により、代用検証鍵pk”、及び代用署名鍵sk”が生成される。
【0177】
上記の通り、本手法2において、代用鍵生成者から署名者に提供される情報は、パラメータy1’、Y”である。しかし、パラメータY”は、代用検証鍵pk”に関する情報y2”のハッシュ値である。そのため、署名者は、代用鍵生成者が代用検証鍵pk”を確定する以前に、代用検証鍵pk”を推定するに足りる十分な情報を得ることができない。そのため、代用検証鍵pk”の確定前に、代用鍵生成者以外の者が代用検証鍵pk”を推定できてしまうというSC08方式の問題は解決されている。また、本手法2もSC08方式に比べて効率化されている。
【0178】
【数18】

【0179】
<4:第1及び第2実施形態に係る変形例>
これまで、本発明の第1及び第2実施形態に係る代用鍵生成方法について述べてきた。しかし、上記説明においては署名者側で用意した電子文書及び電子署名の組を受理する代用鍵の生成方法についてしか言及されていない。そこで、上記の第1及び第2実施形態に係る代用鍵生成方法を用いて、代用鍵生成者が用意した電子文書及びその電子文書に付される電子署名の組を受理する代用鍵の生成方法(以下、本変形例)について簡単に述べる。
【0180】
[4−1:代用鍵生成方法]
以下、図18を参照しながら、本変形例に係る代用鍵生成方法について簡単に説明する。図18に示すように、代用鍵生成者は、電子署名を付したい電子文書mを用意する。このとき、署名者も署名鍵skを用意する。まず、代用鍵生成者は、電子文書m、代用検証鍵pk’に含める一部情報を署名者に提供する(S272)。このとき提供される情報は、上記の本手法1、2と同様である。これら情報を取得した署名者は、自身の署名鍵skを用いて電子文書mに対する電子署名σを生成する(S274)。
【0181】
さらに、署名者は、代用鍵生成者から取得した代用検証鍵pk’に関する情報、及び署名鍵skに関する情報を用いて、代用検証鍵pk’を生成するのに必要な情報を算出し、電子署名σと共に代用鍵生成者に提供する(S276)。これら情報及び電子署名σを取得した代用鍵生成者は、代用検証鍵pk’を生成する(S278)。これらの処理を実行することにより、代用鍵生成者は、電子文書mに対する電子署名σ、当該電子文書m及び電子署名σを受理する代用検証鍵pk’、及び当該代用検証鍵pk’とペアを成す代用署名鍵sk’を得ることができる。
【0182】
このような構成にすることで、代用鍵生成者の側で用意した電子文書mに対する電子署名σについても代用鍵を生成することができる。こうした変形は実施の態様に応じて適宜行うことができる。また、当該変形例からも理解される通り、上記の本手法1、2で提案した技術的特徴を踏襲する範囲においては上記の本手法1、2と同等の効果が得られる。従って、こうした変形についても、本発明に係る第1及び第2実施形態の技術的範囲に属すると言える。
【0183】
<5:端末のハードウェア構成>
上記の署名者端末100、検証者端末200、代用鍵生成者端末300が有する各構成要素の機能は、例えば、図19に示す情報処理装置のハードウェア構成を用いて実現することが可能である。つまり、当該各構成要素の機能は、コンピュータプログラムを用いて図19に示すハードウェアを制御することにより実現される。なお、このハードウェアの形態は任意であり、例えば、パーソナルコンピュータ、携帯電話、PHS、PDA等の携帯情報端末、ゲーム機、又は種々の情報家電がこれに含まれる。但し、上記のPHSは、Personal Handy−phone Systemの略である。また、上記のPDAは、Personal Digital Assistantの略である。
【0184】
図19に示すように、このハードウェアは、主に、CPU902と、ROM904と、RAM906と、ホストバス908と、ブリッジ910と、を有する。さらに、このハードウェアは、外部バス912と、インターフェース914と、入力部916と、出力部918と、記憶部920と、ドライブ922と、接続ポート924と、通信部926と、を有する。但し、上記のCPUは、Central Processing Unitの略である。また、上記のROMは、Read Only Memoryの略である。そして、上記のRAMは、Random Access Memoryの略である。
【0185】
CPU902は、例えば、演算処理装置又は制御装置として機能し、ROM904、RAM906、記憶部920、又はリムーバブル記録媒体928に記録された各種プログラムに基づいて各構成要素の動作全般又はその一部を制御する。ROM904は、CPU902に読み込まれるプログラムや演算に用いるデータ等を格納する手段である。RAM906には、例えば、CPU902に読み込まれるプログラムや、そのプログラムを実行する際に適宜変化する各種パラメータ等が一時的又は永続的に格納される。
【0186】
これらの構成要素は、例えば、高速なデータ伝送が可能なホストバス908を介して相互に接続される。一方、ホストバス908は、例えば、ブリッジ910を介して比較的データ伝送速度が低速な外部バス912に接続される。また、入力部916としては、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチ、及びレバー等が用いられる。さらに、入力部916としては、赤外線やその他の電波を利用して制御信号を送信することが可能なリモートコントローラが用いられることもある。
【0187】
出力部918としては、例えば、CRT、LCD、PDP、又はELD等のディスプレイ装置、スピーカ、ヘッドホン等のオーディオ出力装置、プリンタ、携帯電話、又はファクシミリ等が用いられる。つまり、出力部918は、取得した情報を利用者に対して視覚的又は聴覚的に通知する手段である。但し、上記のCRTは、Cathode Ray Tubeの略である。また、上記のLCDは、Liquid Crystal Displayの略である。そして、上記のPDPは、Plasma DisplayPanelの略である。さらに、上記のELDは、Electro−Luminescence Displayの略である。
【0188】
記憶部920は、各種のデータを格納するための装置である。記憶部920としては、例えば、ハードディスクドライブ(HDD)等の磁気記憶デバイス、半導体記憶デバイス、光記憶デバイス、又は光磁気記憶デバイス等が用いられる。但し、上記のHDDは、Hard Disk Driveの略である。
【0189】
ドライブ922は、例えば、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体928に記録された情報を読み出し、又はリムーバブル記録媒体928に情報を書き込む装置である。リムーバブル記録媒体928は、例えば、DVDメディア、Blu−rayメディア、HD DVDメディア、各種の半導体記憶メディア等である。もちろん、リムーバブル記録媒体928は、例えば、非接触型ICチップを搭載したICカード、又は電子機器等であってもよい。但し、上記のICは、Integrated Circuitの略である。
【0190】
接続ポート924は、例えば、USBポート、IEEE1394ポート、SCSI、RS−232Cポート、又は光オーディオ端子等のような外部接続機器930を接続するためのポートである。外部接続機器930は、例えば、プリンタ、携帯音楽プレーヤ、デジタルカメラ、デジタルビデオカメラ、又はICレコーダ等である。但し、上記のUSBは、Universal Serial Busの略である。また、上記のSCSIは、Small Computer System Interfaceの略である。
【0191】
通信部926は、ネットワーク932に接続するための通信デバイスであり、例えば、有線又は無線LAN、Bluetooth(登録商標)、又はWUSB用の通信カード、光通信用のルータ、ADSL用のルータ、又は各種通信用のモデム等である。また、通信部926に接続されるネットワーク932は、有線又は無線により接続されたネットワークにより構成され、例えば、インターネット、家庭内LAN、赤外線通信、可視光通信、放送、又は衛星通信等である。但し、上記のLANは、Local Area Networkの略である。また、上記のWUSBは、Wireless USBの略である。そして、上記のADSLは、Asymmetric Digital Subscriber Lineの略である。
【0192】
<6:応用例>
ここで、上記の第1及び第2実施形態に係る代用鍵生成方法の応用例について述べる。当該代用鍵生成方法は、ある電子文書mに対し、ある署名鍵skと検証鍵pkとのペアを用いて生成された電子署名σを受理する代用検証鍵pk”の生成方法に関する。電子文書m、電子署名σの組(m,σ)を受理する代用検証鍵pk”の利用方法としては、例えば、署名鍵skが露呈した場合に、その署名鍵sk及び検証鍵pkを代用検証鍵pk”及び代用署名鍵sk”に置き換える鍵更新方法が考えられる。
【0193】
さらに、代用検証鍵pk”の特性を生かして、当該代用鍵生成方法を後述するPKIや代理人署名方式等に応用する方法が考えられる。もちろん、当該代用鍵生成方法の応用範囲はこれらの例に限定されるものではないが、当該代用鍵生成方法の適用範囲を拡充するための一助とすべく、ここでは具体例としてPKIへの応用、代理人署名方式への応用、責任分担型電子署名への応用について紹介する。なお、ここで紹介する応用例には、上記の第1及び第2実施形態に係る代用鍵生成方法の技術がいずれも適用可能である。
【0194】
[6−1:PKIへの応用]
まず、図21、図22を参照しながら、上記の第1及び第2実施形態に係る代用鍵生成方法をPKIへ応用する方法(以下、応用例1)について説明する。図21は、この応用例1に係る方法を実現することが可能なPKIシステムの一例を示す説明図である。また、図22は、この応用例1に係る全体的な処理の流れを示す説明図である。但し、応用例1は、認証局による公開鍵(検証鍵に相当)の証明方法に上記代用鍵生成方法を応用するものである。
【0195】
PKI(Public Key Infrastructure)とは、ある公開鍵pkを所有するユーザのID(Identity)について、認証局(CA)が審査を行い、ユーザのIDと公開鍵pkとをひも付けする仕組みのことを言う。なお、CAは、Certification Authorityの略である。応用例1におけるPKIの仕組みは、例えば、次のような6つのアルゴリズムの組で表現される。
【0196】
(A1)システムパラメータ生成アルゴリズム
(A2)CA鍵生成アルゴリズム
(A3)鍵登録アルゴリズム(対話プロトコル)
(A4)署名生成アルゴリズム
(A5)署名検証アルゴリズム
(A6)検証鍵検証アルゴリズム
【0197】
(A1)のシステムパラメータ生成アルゴリズムは、システム管理者により用いられるものであり、上記のSC08方式におけるシステムパラメータ生成アルゴリズムSetupKSS(図6を参照)に相当する。
【0198】
(A2)のCA鍵生成アルゴリズムは、認証局により用いられるものであり、認証局が利用する認証局固有の秘密鍵skと公開鍵pkの組を生成するアルゴリズムである。CA鍵生成アルゴリズムで生成された公開鍵pkは公開され、認証局が発行する証明書を検証するために用いられる。CA鍵生成アルゴリズムで生成された秘密鍵skは、認証局において秘密に管理される。
【0199】
また、認証局において秘密に管理される秘密鍵skは、後述するユーザ検証鍵pk”を生成する際に用いられる。なお、認証局が発行する証明書は、ユーザ検証鍵pk”とユーザIDとがひも付けられていることを証明するものである。また、CA鍵生成アルゴリズムは、上記の第1及び第2実施形態に係る鍵生成アルゴリズムGenKSS(図11、図15を参照)に相当するものである。但し、先の説明における署名者ではなく認証局が用いる点に注意されたい。
【0200】
(A3)の鍵登録アルゴリズムは、ユーザが利用するユーザ署名鍵sk”及びユーザ検証鍵pk”を生成すると共に、当該ユーザ検証鍵pk”の正当性を証明するための証明書を生成するアルゴリズムである。鍵登録アルゴリズムは、対話プロトコルに基づいて認証局とユーザとの間で実行される。鍵登録アルゴリズムで生成されたユーザ検証鍵pk”は公開され、ユーザ署名鍵sk”を用いて生成される電子署名の検証に用いられる。
【0201】
また、ユーザ署名鍵sk”は、ユーザにより秘密に管理される。なお、鍵登録アルゴリズムは、上記の第1及び第2実施形態に係る代用鍵生成アルゴリズム(図13、図17を参照)に相当するものである。但し、先の説明における署名者と代用署名者との間で利用されるのではなく、認証局とユーザとの間で利用される点に注意されたい。
【0202】
(A4)の署名生成アルゴリズムは、ユーザがユーザ署名鍵sk”を用いて電子文書mに対する電子署名σを生成するためのアルゴリズムである。なお、署名生成アルゴリズムは、上記の第1及び第2実施形態に係る署名生成アルゴリズムSigKSS(図11、図15を参照)に相当する。但し、ユーザ(代用鍵生成者に相当)が利用する点に注意されたい。
【0203】
(A5)の署名検証アルゴリズムは、ユーザの電子署名σが電子文書mに対する正当な電子署名であるか否かを検証するためのアルゴリズムである。署名検証アルゴリズムは、ユーザの電子署名σを検証する検証者により利用される。なお、ここで言う署名検証アルゴリズムは、上記の第1及び第2実施形態に係る署名検証アルゴリズムVer(図12、図16を参照)に相当する。
【0204】
(A6)の検証鍵検証アルゴリズムは、認証局が発行した証明書が正当な証明書であるか否かを検証すると共に、その証明書を用いてユーザ検証鍵pk”が正当な検証鍵であるか否かを検証するためのアルゴリズムである。ここで、(A6)の検証鍵検証アルゴリズムについて、より詳細に説明する。
【0205】
先に述べた通り、上記の第1及び第2実施形態に係る代用鍵生成方法は、ある電子文書mに対し、ある署名鍵skと検証鍵pkとのペアを用いて生成された電子署名σを受理する代用検証鍵pk”を生成する方法である。応用例1においては、署名鍵sk及び検証鍵pkが、認証局により生成される秘密鍵sk及び公開鍵pkに対応する。また、応用例1においては、電子文書mとして、ユーザIDが記載された電子文書mIDが用いられる。さらに、電子署名σとしては、電子文書mIDに対し、秘密鍵skに基づいて生成された電子署名σIDが用いられる。
【0206】
但し、この電子署名σIDは、認証局が発行するユーザ検証鍵pk”に対する証明書として用いられる。このユーザ検証鍵pk”は、上記の第1及び第2実施形態に係る代用鍵生成アルゴリズムで生成された代用検証鍵pk”に対応する。つまり、正しいユーザ検証鍵pk”は、電子文書mIDに対して生成された証明書σIDを受理する。逆に言えば、ユーザ検証鍵pk”が(mID,σID)の組を受理するか否かを検証することにより、ユーザ検証鍵pk”の正当性を確認することができるのである。
【0207】
また、証明書σIDの正当性についても、認証局により発行された公開鍵pkが(mID,σID)の組を受理するか否かを検証することにより確認することができる。このように、(A6)の検証鍵検証アルゴリズムは、認証局が生成した公開鍵pkが(mID,σID)を受理し、かつ、対話プロトコルに基づいて生成されたユーザ検証鍵pk”が(mID,σID)を受理することを検証することにより、認証局が発行する証明書σIDの正当性、及びユーザ検証鍵pk”を検証するのである。
【0208】
以下、応用例1に係るシステム構成、及び具体的な処理の流れについて説明する。
【0209】
(システム構成)
ここで、図21を参照する。図21に示すように、応用例1のシステムには、認証局に設けられる認証局サーバ130、検証者が利用する検証者端末230、及びユーザが利用するユーザ端末330が含まれる。また、認証局サーバ130、検証者端末230、ユーザ端末330は、ネットワーク10で接続されている。なお、システム管理者に関する構成は省略した。
【0210】
(認証局サーバ130)
まず、認証局サーバ130の機能構成について説明する。図21に示すように、認証局サーバ130は、主に、記憶部132と、鍵生成部134と、署名生成部136と、通信部138と、秘密鍵関連情報生成部140とを有する。
【0211】
記憶部132は、システムパラメータcp、電子文書m、及び各アルゴリズムを実行するためのプログラムを格納するための手段である。鍵生成部134は、記憶部132からシステムパラメータcp、及びCA鍵生成アルゴリズムの実行プログラムを読み出し、秘密鍵sk及び公開鍵pkを生成する。鍵生成部134で生成された秘密鍵sk及び公開鍵pkは、署名生成部136に入力される。また、公開鍵pkは、通信部138を介して公開され、検証者端末230に入力される。もちろん、ユーザ端末330も公開鍵pkを取得することが可能である。
【0212】
また、署名生成部136には、ユーザを特定するためのユーザIDが含まれた電子文書mIDが入力される。なお、秘密鍵sk及び公開鍵pkは、上記の第1及び第2実施形態において真の署名者が生成する署名鍵sk及び検証鍵pkに対応する。署名生成部136は、記憶部132からシステムパラメータcp、及び署名生成アルゴリズムの実行プログラムを読み出し、入力された秘密鍵sk及び電子文書mIDを用いて当該電子文書mIDに付する電子署名σIDを生成する。
【0213】
そして、署名生成部136で生成された電子署名σID及び電子文書mIDは、通信部138によりネットワーク10を介して検証者端末230に提供される。この電子文書mID及び電子署名σIDの組が後述するユーザ検証鍵pk”の証明書(mID,σID)となる。そのため、検証者端末230には、公開鍵pk及び証明書(mID,σID)が認証局サーバ130から提供されることになる。
【0214】
秘密鍵関連情報生成部140は、上記の鍵登録アルゴリズムを用いてユーザ検証鍵pk”を生成する際に必要となる秘密鍵skに関連する情報を生成する手段である。先に述べた通り、鍵登録アルゴリズムは上記の第1及び第2実施形態に係る代用鍵生成アルゴリズムに相当する対話プロトコルである。そのため、秘密鍵関連情報生成部140は、ユーザ端末330(ユーザ検証鍵生成部336)から、秘密鍵skに関連する情報を生成するのに必要な情報を取得し、取得した情報を用いて秘密鍵skに関連する情報を生成する。
【0215】
例えば、上記の第1実施形態に係る代用鍵生成アルゴリズム(図13を参照)に相当する対話プロトコルを用いる場合、秘密鍵関連情報生成部140は、乱数wを生成し、代用検証鍵pk”の生成に用いるパラメータk”を算出する。さらに、秘密鍵関連情報生成部140は、ユーザ端末330(ユーザ検証鍵生成部336)からユーザ検証鍵pk”に関連するパラメータy1’を取得し、そのパラメータy1’を利用してパラメータk”を生成する。
【0216】
このようにして生成されたパラメータk”、wは、秘密鍵関連情報生成部140からユーザ端末330に提供される。このように、対話プロトコルである鍵登録アルゴリズムの中で、認証局サーバ130からユーザ端末330にユーザ検証鍵pk”の生成に必要な情報が提供される。
【0217】
(検証者端末230)
次に、検証者端末230の機能構成について説明する。図21に示すように、検証者端末230は、主に、通信部202と、パラメータ生成部204と、記憶部206と、検証処理部232とを有する。記憶部206には、システムパラメータcpの他、検証者が実行すべきアルゴリズムの実行プログラム等が格納される。なお、ここでは認証局が公開した公開鍵pkも記憶部206に予め格納されているものとする。
【0218】
まず、通信部202によりネットワーク10を介して認証局サーバ130から証明書(mID,σID)が取得され、パラメータ生成部204に入力される。パラメータ生成部204では、署名検証アルゴリズム及び検証鍵検証アルゴリズムの実行に必要なパラメータが算出される。パラメータ生成部204で算出されたパラメータは、検証処理部232に入力される。
【0219】
検証処理部232は、まず、パラメータ生成部204で算出されたパラメータ、ユーザ検証鍵pk”、公開鍵pk、及び証明書(mID,σID)を検証鍵検証アルゴリズムに入力して証明書の正当性、及びユーザ検証鍵pk”の正当性を検証する。これらの正当性が確認された場合、検証処理部232は、パラメータ生成部204で算出されたパラメータ、ユーザ検証鍵pk”、ユーザが生成した電子文書m及び電子署名σを署名検証アルゴリズムに入力して電子署名σの正当性を検証する。
【0220】
このようにして、検証者端末230では、証明書及びユーザ検証鍵の検証が行われる。その結果、PKIにおけるユーザの公開鍵に相当するユーザ検証鍵と、ユーザIDに相当する電子文書mIDとの間のひも付けを確認することができる。そして、ひも付けが確認された場合に、そのユーザ検証鍵を用いて電子署名の検証が行われる。
【0221】
(ユーザ端末330)
次に、ユーザ端末330の機能構成について説明する。図21に示すように、ユーザ端末330は、主に、記憶部332と、ユーザ署名鍵生成部334と、ユーザ検証鍵生成部336と、通信部338と、署名生成部340とを有する。記憶部332には、システムパラメータcpの他、ユーザが実行すべきアルゴリズムの実行プログラム等が格納される。
【0222】
ユーザ署名鍵生成部334は、ユーザ署名鍵sk”を生成する手段である。例えば、上記の第1実施形態に係る鍵生成アルゴリズム(図11を参照)と同様のアルゴリズムを用いる場合、ユーザ署名鍵生成部334は、記憶部332に格納されたシステムパラメータcpを読み出し、ユーザ署名鍵sk”に関するパラメータx1’、x2”を生成する。
【0223】
そして、ユーザ署名鍵生成部334は、パラメータx1’、x2”をユーザ検証鍵生成部336に入力する。さらに、ユーザ署名鍵生成部334は、ユーザ検証鍵生成部336から代用署名鍵sk”の生成に必要な情報が入力された場合、その情報を加えて代用署名鍵sk”を生成する。ユーザ署名鍵生成部334で生成されたユーザ署名鍵は、署名生成部340に入力される。
【0224】
ユーザ署名鍵生成部334からパラメータx1’x2”が入力されると、ユーザ検証鍵生成部336は、認証局サーバ130(秘密鍵関連情報生成部140)との間で対話を実行し、代用検証鍵pk”の生成に必要なパラメータk”、wを取得する。この対話は、上記の第1及び第2実施形態に係る代用鍵生成アルゴリズムに相当する鍵登録アルゴリズムに基づいて実行される。例えば、上記の第1実施形態に係る代用鍵生成アルゴリズムに相当する鍵登録アルゴリズムを用いる場合、ユーザ検証鍵生成部336は、代用検証鍵pk”に関する情報としてパラメータy1’を認証局サーバ130に提供する。
【0225】
上記の通り、パラメータy1’の提供を受けると、認証局サーバ130の秘密鍵関連情報生成部140は、パラメータy1’に基づいてユーザ検証鍵pk”の生成に必要な情報(例えば、k”、w)をユーザ検証鍵生成部336に提供する。この段階では、認証局サーバ130において、この後に確定されるユーザ検証鍵pk”を推定することができない点に注意されたい。認証局サーバ130からパラメータk”、wを取得すると、ユーザ検証鍵生成部336は、パラメータk”、wを用いてユーザ検証鍵pk”を生成する。ユーザ検証鍵生成部336で生成されたユーザ検証鍵pk”は、通信部338によりネットワーク10を介して検証者端末230に提供される。
【0226】
このようなユーザ検証鍵pk”の生成工程において算出されるパラメータの一部をユーザ署名鍵sk”に含めてもよい。その場合、ユーザ署名鍵sk”に含めるべきパラメータは、この段階でユーザ検証鍵生成部336からユーザ署名鍵生成部334に入力される。上記の通り、ユーザ署名鍵生成部334は、入力されたパラメータを用いてユーザ署名鍵sk”を生成する。そして、ユーザ署名鍵生成部334で生成されたユーザ署名鍵sk”は、署名生成部340に入力される。
【0227】
署名生成部340は、ユーザ署名鍵生成部334から入力されたユーザ署名鍵sk”を用いてユーザの電子署名σを生成する手段である。署名生成部340は、上記の署名生成アルゴリズムを用いて、ある電子文書mに対する電子署名σを生成する。ここで生成された電子文書m及び電子署名σは、ユーザ検証鍵生成部336で生成されたユーザ検証鍵pk”により受理されるものである。署名生成部340で生成された電子文書mと電子署名σとの組は、通信部338を介して検証者端末230に提供される。
【0228】
以上、応用例1に係るシステム構成について説明した。次に、図22を参照しながら、応用例1に係る公開鍵証明方法に関し、その全体的な処理の流れについて簡単に説明する。
【0229】
(公開鍵の証明方法について)
図22を参照する。先に述べた通り、応用例1において登場するエンティティは、主に、システム管理者、認証局、ユーザ、検証者の4者である。図22には、システム管理者を除く、認証局、ユーザ、検証者の行う手続きが記載されている。この手続きについて説明する。
【0230】
(認証局の手続き:鍵生成工程)
まず、認証局による鍵生成処理について説明する。認証局は、まず、システム管理者からシステムパラメータcpを取得する。次いで、取得したシステムパラメータcpをCA鍵生成アルゴリズムに入力し、秘密鍵sk及び公開鍵pkのペアを生成する。次いで、認証局は、秘密鍵skと公開鍵pkのペアを保管する。
【0231】
(認証局及びユーザの手続き:ユーザ鍵生成工程)
次に、認証局及びユーザによるユーザ鍵生成処理について説明する。まず、ユーザは、自身のユーザIDを認証局に提供する。次いで、認証局は、鍵生成工程で生成した秘密鍵sk、公開鍵pk、及びユーザIDを含む電子文書mIDを用意する。次いで、認証局は、秘密鍵skを用いて電子文書mIDに対する電子署名σIDを生成する。次いで、認証局は、電子文書mID、電子署名σID、公開鍵pkをユーザに提供する。
【0232】
次いで、ユーザは、認証局から電子文書mID、電子署名σID、公開鍵pkを受領する。このようにして電子文書mID、電子署名σID、公開鍵pkが共有されると、認証局及びユーザは、上記の第1及び第2実施形態の代用鍵生成アルゴリズムに相当する鍵登録アルゴリズムに電子文書mID、電子署名σID、公開鍵pkを入力し、対話形式でユーザ検証鍵pk”、及びユーザ署名鍵sk”を生成する。なお、この対話の中で、認証局は、秘密鍵skをユーザに特定されないようにしつつ、秘密鍵skに関する情報をユーザに提供する。
【0233】
(検証者の手続き:署名検証工程)
次に、検証者による署名検証処理について説明する。検証者は、ユーザから電子文書m、電子署名σ、ユーザ検証鍵pk”を取得する。ここで取得される電子署名σは、電子文書mに対し、ユーザ署名鍵sk”を用いて生成されたものである。次いで、検証者は、必要に応じてユーザ検証鍵pk”の正当性を確認する。このとき、検証者は、検証鍵検証アルゴリズムを利用し、認証局から取得した証明書(mID,σID)を用いてユーザ検証鍵pk”の正当性を検証する。ユーザ検証鍵pk”の正当性が確認された場合、検証者は、署名検証アルゴリズムにユーザ検証鍵pk”、電子文書m、電子署名σを入力して電子署名σの検証を実施し、電子署名σの正当性を確認する。
【0234】
(検証者の手続き:検証鍵検証工程)
次に、検証者による検証鍵の検証処理について説明する。上記の署名検証工程の中で、検証者は、検証鍵検証アルゴリズムを利用してユーザ検証鍵pk”の正当性を検証していた。ここで説明する検証鍵検証工程は、この検証処理に関するものである。まず、検証者は、認証局から公開鍵pkを取得すると共に、ユーザ検証鍵pk”、証明書(mID,σID)を用意する。次いで、検証者は、検証鍵検証アルゴリズムにユーザ検証鍵pk”、証明書(mID,σID)を入力してユーザ鍵pk”及び証明書(mID,σID)の正当性を検証する。
【0235】
なお、検証鍵検証アルゴリズムは、上記の第1及び第2実施形態に係る署名検証アルゴリズムを応用することにより実現される。まず、証明書(mID,σID)の正当性を検証するには、認証局の公開鍵pk、証明書(mID,σID)を署名検証アルゴリズムに入力し、検証式が成り立つか否かを確認すればよい。同様に、ユーザ検証鍵pk”の正当性を検証するには、ユーザ検証鍵pk”、証明書(mID,σID)を署名検証アルゴリズムに入力し、検証式が成り立つか否かを確認すればよい。つまり、これらの処理を実行するのが検証鍵検証アルゴリズムである。上記2通りの入力に対して検証式が成り立つ場合にユーザ検証鍵pk”を受理する。
【0236】
以上、応用例1に係る公開鍵証明方法について説明した。このように、上記の第1及び第2実施形態に係る代用鍵の特性はPKIにおける公開鍵(ユーザ検証鍵)の認証に応用することができる。
【0237】
[6−2:代理人署名方式への応用]
次に、図23、図24を参照しながら、上記の第1及び第2実施形態に係る代用鍵生成方法を代理人署名方式へ応用する方法(以下、応用例2)について説明する。図23は、この応用例2に係る方法を実現することが可能な代理人署名システムの一例を示す説明図である。また、図24は、この応用例2に係る全体的な処理の流れを示す説明図である。
【0238】
代理人署名方式とは、委任者が代理人に対し、自身の署名生成権限の一部を委譲することを可能にする電子署名方式のことを言う。代理人署名方式は、例えば、次のような6つのアルゴリズムの組で表現される。
【0239】
(A1)システムパラメータ生成アルゴリズム
(A2)鍵生成アルゴリズム
(A3)代理人鍵生成アルゴリズム
(A4)署名生成アルゴリズム
(A5)署名検証アルゴリズム
(A6)代理人検証アルゴリズム
【0240】
(A1)のシステムパラメータ生成アルゴリズムは、システム管理者により用いられるものであり、上記のSC08方式におけるシステムパラメータ生成アルゴリズムSetupKSS(図6を参照)に相当する。
【0241】
(A2)の鍵生成アルゴリズムは、委任者により用いられるものであり、委任者が利用する委任者固有の署名鍵skと検証鍵pkの組を生成するアルゴリズムである。鍵生成アルゴリズムで生成された検証鍵pkは公開され、署名鍵skを用いて生成された電子署名σを検証するために用いられる。鍵生成アルゴリズムで生成された署名鍵skは、委任者において秘密に管理される。
【0242】
また、委任者において秘密に管理される署名鍵skは、後述する代用検証鍵pk”を生成する際に用いられる。また、鍵生成アルゴリズムは、上記の第1及び第2実施形態に係る鍵生成アルゴリズムGenKSS(図11、図15を参照)に相当するものである。但し、署名者ではなく委任者が用いる点に注意されたい。
【0243】
(A3)の代理人鍵生成アルゴリズムは、代理人が利用する代用署名鍵sk”及び代用検証鍵pk”を生成すると共に、委任者により代理人の正当性を証明するための証明書を生成するアルゴリズムである。代理人鍵生成アルゴリズムは、対話プロトコルに基づいて委任者と代理人との間で実行される。代理人鍵生成アルゴリズムで生成された代用検証鍵pk”は公開され、代用署名鍵sk”を用いて生成される電子署名の検証に用いられる。
【0244】
また、代用署名鍵sk”は、代理人により秘密に管理される。なお、代理人鍵生成アルゴリズムは、上記の第1及び第2実施形態に係る代用鍵生成アルゴリズム(図13、図17を参照)に相当するものである。また、署名者と代用署名者との間で利用されるのではなく、委任者と代理人との間で利用される。そして、委任者の証明書は、代理人の代用検証鍵が委任者によって認められたものであることを証明するものである。
【0245】
(A4)の署名生成アルゴリズムは、代理人が代用署名鍵sk”を用いて電子文書mに対する電子署名σを生成するためのアルゴリズムである。なお、署名生成アルゴリズムは、上記の第1及び第2実施形態に係る署名生成アルゴリズムSigKSS(図11、図15を参照)に相当する。但し、委任者及び代理人の双方が利用する点に注意されたい。
【0246】
(A5)の署名検証アルゴリズムは、電子署名σが電子文書mに対する正当な電子署名であるか否かを検証するためのアルゴリズムである。署名検証アルゴリズムは、委任者又は代理人の電子署名σを検証する検証者により利用される。なお、ここで言う署名検証アルゴリズムは、上記の第1及び第2実施形態に係る署名検証アルゴリズムVer(図12、図16を参照)に相当する。
【0247】
(A6)の代理人検証アルゴリズムは、代理人が委任者により認められた正当な代理人であるか否かを検証するためのアルゴリズムである。代理人の正当性を検証するために、代理人検証アルゴリズムは、委任者が発行した証明書が正当な証明書であるか否かを検証すると共に、その証明書を用いて代用検証鍵pk”が正当な検証鍵であるか否かを検証する。ここで、(A6)の代理人検証アルゴリズムについて、より詳細に説明する。
【0248】
先に述べた通り、上記の第1及び第2実施形態に係る代用鍵生成方法は、ある電子文書mに対し、ある署名鍵skと検証鍵pkとのペアを用いて生成された電子署名σを受理する代用検証鍵pk”を生成する方法である。応用例2においては、署名鍵sk及び検証鍵pkが、委任者により生成される署名鍵sk及び検証鍵pkに対応する。また、応用例2においては、電子文書mとして、委譲する権限の範囲や有効期限等を含む電子文書mが用いられる。さらに、電子署名σとしては、電子文書mに対し、署名鍵skに基づいて生成された電子署名σが用いられる。
【0249】
但し、この電子署名σは、委任者が発行する代用検証鍵pk”に対する証明書として用いられる。この代用検証鍵pk”は、上記の第1及び第2実施形態に係る代用鍵生成アルゴリズムで生成された代用検証鍵pk”に対応する。つまり、正しい代用検証鍵pk”は、電子文書mに対して生成された証明書σを受理する。逆に言えば、代用検証鍵pk”が(m,σ)の組を受理するか否かを検証することにより、代理人の代用検証鍵pk”が委任者により認められたものであるか否かを確認することができるのである。
【0250】
また、証明書σの正当性についても、委任者により発行された検証鍵pkが(m,σ)の組を受理するか否かを検証することにより確認することができる。このように、(A6)の代理人検証アルゴリズムは、委任者が生成した検証鍵pkが(m,σ)を受理し、かつ、対話プロトコルに基づいて生成された代用検証鍵pk”が(m,σ)を受理することを検証することにより、委任者が発行する証明書σの正当性、及び代用検証鍵pk”を検証するのである。
【0251】
以下、応用例2に係るシステム構成、及び具体的な処理の流れについて説明する。
【0252】
(システム構成)
ここで、図23を参照する。図23に示すように、応用例2のシステムには、委任者が利用する委任者端末150、検証者が利用する検証者端末250、及び代理人が利用する代理人端末350が含まれる。また、委任者端末150、検証者端末250、代理人端末350は、ネットワーク10で接続されている。なお、システム管理者に関する構成は省略した。
【0253】
(委任者端末150)
まず、委任者端末150の機能構成について説明する。図23に示すように、委任者端末150は、主に、記憶部152と、鍵生成部154と、署名生成部156と、通信部158と、署名鍵関連情報生成部160とを有する。
【0254】
記憶部152は、システムパラメータcp、電子文書m、及び各アルゴリズムを実行するためのプログラムを格納するための手段である。鍵生成部154は、記憶部152からシステムパラメータcp、及び鍵生成アルゴリズムの実行プログラムを読み出し、署名鍵sk及び検証鍵pkを生成する。鍵生成部154で生成された署名鍵sk及び検証鍵pkは、署名生成部156に入力される。また、検証鍵pkは、通信部158を介して公開され、検証者端末250に入力される。もちろん、代理人端末350も検証鍵pkを取得することが可能である。
【0255】
また、署名生成部156には、委譲する権限の範囲や有効期限等が含まれた電子文書mが入力される。なお、委任者の署名鍵sk及び検証鍵pkは、上記の第1及び第2実施形態において真の署名者が生成する署名鍵sk及び検証鍵pkに対応する。署名生成部156は、記憶部152からシステムパラメータcp、及び署名生成アルゴリズムの実行プログラムを読み出し、入力された署名鍵sk及び電子文書mを用いて当該電子文書mに付する電子署名σを生成する。
【0256】
そして、署名生成部156で生成された電子署名σ及び電子文書mは、通信部158によりネットワーク10を介して検証者端末250に提供される。この電子文書m及び電子署名σの組が委任者により認められた代用検証鍵pk”であることを証明するための証明書(m,σ)となる。そのため、検証者端末250には、検証鍵pk及び証明書(m,σ)が委任者端末150から提供されることになる。
【0257】
署名鍵関連情報生成部160は、上記の代理人鍵生成アルゴリズムを用いて代用検証鍵pk”を生成する際に必要となる署名鍵skに関連する情報を生成する手段である。先に述べた通り、代理人鍵生成アルゴリズムは上記の第1及び第2実施形態に係る代用鍵生成アルゴリズムに相当する対話プロトコルである。そのため、署名鍵関連情報生成部160は、代理人端末350(代用検証鍵生成部356)から、署名鍵skに関連する情報を生成するのに必要な情報を取得し、取得した情報を用いて署名鍵skに関連する情報を生成する。
【0258】
例えば、上記の第1実施形態に係る代用鍵生成アルゴリズム(図13を参照)に相当する対話プロトコルを用いる場合、署名鍵関連情報生成部160は、乱数wを生成し、代用検証鍵pk”の生成に用いるパラメータk”を算出する。さらに、署名鍵関連情報生成部160は、代理人端末350(代用検証鍵生成部356)から代用検証鍵pk”に関連するパラメータy1’を取得し、そのパラメータy1’を利用してパラメータk”を生成する。
【0259】
このようにして生成されたパラメータk”、wは、署名鍵関連情報生成部160から代理人端末350に提供される。このように、対話プロトコルである代理人鍵生成アルゴリズムの中で、委任者端末150から代理人端末350に代用検証鍵pk”の生成に必要な情報が提供される。
【0260】
(検証者端末250)
次に、検証者端末250の機能構成について説明する。図23に示すように、検証者端末250は、主に、通信部202と、パラメータ生成部204と、記憶部206と、検証処理部252とを有する。記憶部206には、システムパラメータcpの他、検証者が実行すべきアルゴリズムの実行プログラム等が格納される。なお、ここでは委任者から提供された検証鍵pkが記憶部206に予め格納されているものとする。
【0261】
まず、通信部202によりネットワーク10を介して委任者端末150から証明書(m,σ)が取得され、パラメータ生成部204に入力される。パラメータ生成部204では、署名検証アルゴリズム及び代理人検証アルゴリズムの実行に必要なパラメータが算出される。パラメータ生成部204で算出されたパラメータは、検証処理部252に入力される。
【0262】
検証処理部252は、まず、パラメータ生成部204で算出されたパラメータ、代用検証鍵pk”、検証鍵pk、及び証明書(m,σ)を代理人検証アルゴリズムに入力して代理人の正当性、及び代用検証鍵pk”の正当性を検証する。これらの正当性が確認された場合、検証処理部252は、パラメータ生成部204で算出されたパラメータ、代用検証鍵pk”、ユーザが生成した電子文書m及び電子署名σを署名検証アルゴリズムに入力して電子署名σの正当性を検証する。このようにして、検証者端末250では、代理人及び電子署名の検証が行われる。
【0263】
(代理人端末350)
次に、代理人端末350の機能構成について説明する。図23に示すように、代理人端末350は、主に、記憶部352と、代用署名鍵生成部354と、代用検証鍵生成部356と、通信部358と、署名生成部360とを有する。記憶部352には、システムパラメータcpの他、ユーザが実行すべきアルゴリズムの実行プログラム等が格納される。
【0264】
代用署名鍵生成部354は、代用署名鍵sk”を生成する手段である。例えば、上記の第1実施形態に係る鍵生成アルゴリズム(図11を参照)と同様のアルゴリズムを用いる場合、代用署名鍵生成部354は、記憶部352に格納されたシステムパラメータcpを読み出し、代用署名鍵sk”に関するパラメータx1’、x2”を生成する。
【0265】
そして、代用署名鍵生成部354は、パラメータx1’、x2”を代用検証鍵生成部356に入力する。さらに、代用署名鍵生成部354は、代用検証鍵生成部356から代用署名鍵sk”の生成に必要な情報が入力された場合、その情報を加えて代用署名鍵sk”を生成する。代用署名鍵生成部354で生成された代用署名鍵は、署名生成部360に入力される。
【0266】
代用署名鍵生成部354からパラメータx1’x2”が入力されると、代用検証鍵生成部356は、委任者端末150(署名鍵関連情報生成部160)との間で対話を実行し、代用検証鍵pk”の生成に必要なパラメータk”、wを取得する。この対話は、上記の第1及び第2実施形態に係る代用鍵生成アルゴリズムに相当する代理人鍵生成アルゴリズムに基づいて実行される。例えば、上記の第1実施形態に係る代用鍵生成アルゴリズムに相当する代理人鍵生成アルゴリズムを用いる場合、代用検証鍵生成部356は、代用検証鍵pk”に関する情報としてパラメータy1’を委任者端末150に提供する。
【0267】
上記の通り、パラメータy1’の提供を受けると、委任者端末150の署名鍵関連情報生成部160は、パラメータy1’に基づいて代用検証鍵pk”の生成に必要な情報(例えば、k”、w)を代用検証鍵生成部356に提供する。この段階では、委任者端末150において、この後に確定される代用検証鍵pk”を推定することができない点に注意されたい。委任者端末150からパラメータk”、wを取得すると、代用検証鍵生成部356は、パラメータk”、wを用いて代用検証鍵pk”を生成する。代用検証鍵生成部356で生成された代用検証鍵pk”は、通信部358によりネットワーク10を介して検証者端末250に提供される。
【0268】
このような代用検証鍵pk”の生成工程において算出されるパラメータの一部を代用署名鍵sk”に含めてもよい。その場合、代用署名鍵sk”に含めるべきパラメータは、この段階で代用検証鍵生成部356から代用署名鍵生成部354に入力される。上記の通り、代用署名鍵生成部354は、入力されたパラメータを用いて代用署名鍵sk”を生成する。そして、代用署名鍵生成部354で生成された代用署名鍵sk”は、署名生成部360に入力される。
【0269】
署名生成部360は、代用署名鍵生成部354から入力された代用署名鍵sk”を用いて代理人の電子署名σを生成する手段である。署名生成部360は、上記の署名生成アルゴリズムを用いて、ある電子文書mに対する電子署名σを生成する。ここで生成された電子文書m及び電子署名σは、代用検証鍵生成部356で生成された代用検証鍵pk”により受理されるものである。署名生成部360で生成された電子文書mと電子署名σとの組は、通信部358を介して検証者端末250に提供される。
【0270】
以上、応用例2に係るシステム構成について説明した。次に、図24を参照しながら、応用例2に係る代理権の証明方法に関し、その全体的な処理の流れについて簡単に説明する。
【0271】
(代理権の証明方法について)
図24を参照する。先に述べた通り、応用例2において登場するエンティティは、主に、システム管理者、委任者、代理人、検証者の4者である。図24には、システム管理者を除く、委任者、代理人、検証者の行う手続きが記載されている。この手続きについて説明する。
【0272】
(委任者の手続き:鍵生成工程)
まず、委任者による鍵生成処理について説明する。委任者は、まず、システム管理者からシステムパラメータcpを取得する。次いで、取得したシステムパラメータcpを鍵生成アルゴリズムに入力し、署名鍵sk及び検証鍵pkのペアを生成する。次いで、委任者は、署名鍵skと検証鍵pkのペアを保管する。
【0273】
(委任者及び代理人の手続き:代用鍵生成工程)
次に、委任者及び代理人による代用鍵生成処理について説明する。まず、委任者は、鍵生成工程で生成した署名鍵sk、検証鍵pk、及び委譲する代理権の範囲や有効期限等が含まれた電子文書mを用意する。次いで、委任者は、署名鍵skを用いて電子文書mに対する電子署名σを生成する。次いで、委任者は、電子文書m、電子署名σ、検証鍵pkを代理人に提供する。
【0274】
次いで、代理人は、委任者から電子文書m、電子署名σ、検証鍵pkを受領する。このようにして電子文書m、電子署名σ、検証鍵pkが共有されると、委任者及び代理人は、上記の第1及び第2実施形態の代用鍵生成アルゴリズムに相当する代理人鍵生成アルゴリズムに電子文書m、電子署名σ、検証鍵pkを入力し、対話形式で代用検証鍵pk”、及び代用署名鍵sk”を生成する。なお、この対話の中で、委任者は、署名鍵skを代理人に特定されないようにしつつ、署名鍵skに関する情報を代理人に提供する。
【0275】
(検証者の手続き:署名検証工程)
次に、検証者による署名検証処理について説明する。検証者は、代理人から電子文書m、電子署名σ、代用検証鍵pk”を取得する。ここで取得される電子署名σは、電子文書mに対し、代理人が代用署名鍵sk”を用いて生成したものである。次いで、検証者は、必要に応じて代用検証鍵pk”の正当性(代理人の正当性)を確認する。このとき、検証者は、代理人検証アルゴリズムを利用し、委任者から取得した証明書(m,σ)を用いて代用検証鍵pk”の正当性を検証する。代用検証鍵pk”の正当性が確認された場合、検証者は、署名検証アルゴリズムに代用検証鍵pk”、電子文書m、電子署名σを入力して電子署名σの検証を実施し、電子署名σの正当性を確認する。
【0276】
(検証者の手続き:代理人検証工程)
次に、検証者による代理人の検証処理について説明する。上記の署名検証工程の中で、検証者は、代理人検証アルゴリズムを利用して代用検証鍵pk”の正当性を検証していた。ここで説明する代理人検証工程は、この検証処理に関するものである。まず、検証者は、委任者から検証鍵pkを取得すると共に、代用検証鍵pk”、証明書(m,σ)を用意する。次いで、検証者は、代理人検証アルゴリズムに代用検証鍵pk”、証明書(m,σ)を入力して代理人鍵pk”及び証明書(m,σ)の正当性を検証する。
【0277】
なお、代理人検証アルゴリズムは、上記の第1及び第2実施形態に係る署名検証アルゴリズムを応用することにより実現される。まず、証明書(m,σ)の正当性を検証するには、委任者の検証鍵pk、証明書(m,σ)を署名検証アルゴリズムに入力し、検証式が成り立つか否かを確認すればよい。同様に、代用検証鍵pk”の正当性を検証するには、代用検証鍵pk”、証明書(m,σ)を署名検証アルゴリズムに入力し、検証式が成り立つか否かを確認すればよい。つまり、これらの処理を実行するのが代理人検証アルゴリズムである。上記2通りの入力に対して検証式が成り立つ場合に代用検証鍵pk”を受理し、代理人の正当性を認める。
【0278】
以上、応用例2に係る公開鍵証明方法について説明した。このように、上記の第1及び第2実施形態に係る代用鍵の特性は代理人署名方式に応用することができる。
【0279】
[6−3:責任分担型電子署名への応用]
次に、責任分担型電子署名への応用について簡単に説明する。通常の電子署名方式においては、1つの電子文書と電子署名との組を受理する検証鍵は1つである。そのため、ある電子文書と電子署名との組に対する責任は1人のユーザが持つことになる。しかし、上記の第1及び第2実施形態に係る代用鍵生成方法を利用すれば、1つの電子文書と電子署名との組を受理する新たな検証鍵(代用検証鍵)及び署名鍵(代用署名鍵)の組を生成することが可能になる。そのため、代用検証鍵と代用署名鍵との組を他のユーザに生成してもらえば、ある電子文書と電子署名との組に対する責任を他のユーザに分担してもらうことが可能になる。このように、上記の第1及び第2実施形態に係る代用鍵生成方法を用いることで責任分担型の電子署名方式が実現される。
【0280】
なお、責任分担型ではないが、署名者を特定されないようにする技術については、RONALD L.RIVESTらによる報告(RONALD L.RIVEST AND ADI SHAMIR AND YAEL TAUMAN,”How to Leadk a Secret”,Advances in Cryptology,ASIACRYPT 2001,7th International Conference on the Theory and Application of Cryptology and Information Security,Gold Coast,Australia,December 9−13,2001,Proceedings,Springer,Lecture Notes in Computer Science,Volume 2248;以下、リング署名方式と呼ぶ。)がある。
【0281】
上記のリング署名方式は、選択された複数の検証鍵の所有者のうち、誰が本当の署名者であるかを特定されないようにする技術に関する。そのため、内部告発等への利用が検討されている。リング署名方式を用いると、「あらかじめ最初に」複数の検証鍵を選択し、その選択した複数の検証鍵が受理するような電子署名(以下、リング署名)を生成することが可能になる。リング署名の検証は、選択した検証鍵の各々を用いて個別に行うのではなく、選択した複数の検証鍵の組がリング署名を受理するか否かを確認することで行われる。つまり、リング署名方式は、複数の検証鍵が受理するようなリング署名を生成可能な特殊な署名アルゴリズムと、そのリング署名を複数の検証鍵の組により検証する特殊な検証アルゴリズムとにより構成されるのである。
【0282】
一方で、上記の第1及び第2実施形態に係る代用鍵生成方法の場合、署名生成アルゴリズムは、1つの検証鍵が受理する電子署名を生成するアルゴリズムである。また、検証アルゴリズムは、電子署名を1つの検証鍵が受理することを検証するためのアルゴリズムである。そして、当該代用鍵生成方法は、「署名生成後に後付で」その電子署名を受理するような新たな検証鍵を生成するものである。従って、一度電子署名を生成した後に、その電子署名に対する責任を他のユーザに分担してもらうことが可能になるのである。このような責任分担は、上記のリング署名方式を如何に変形しても実現されないものである。ここでは参考までに上記の第1及び第2実施形態に係る代用鍵生成方法とリング署名方式との相違について述べ、同実施形態に係る技術の優位性について説明した。以上説明したように、上記の第1及び第2実施形態に係る代用鍵生成方法は様々な応用が可能である。
【0283】
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明は係る例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【符号の説明】
【0284】
10 ネットワーク
100、130、150 署名者端末
102、132、152 記憶部
104、134、154 鍵生成部
106、136、156 署名生成部
108、138、158 通信部
110、140、160 代用鍵生成部
200、230、250 検証者端末
202 通信部
204 パラメータ生成部
206 記憶部
208、232、252 検証処理部
300、330、350 代用鍵生成者端末
302、332、352 記憶部
304、334、354 代用署名鍵生成部
306、336、356 代用検証鍵生成部
308、338、358 通信部
340、360 署名生成部


【特許請求の範囲】
【請求項1】
第1検証鍵KVに対応する第1署名鍵KSを保持する他装置に対し、当該第1署名鍵KSを用いて生成された電子署名σを検証することが可能な第2検証鍵KV’(KV’≠KV)の一部を成し、かつ、前記第2検証鍵KV’を特定不可能な第1部分情報を提供する第1部分情報提供部と、
前記他装置により前記第1部分情報及び前記第1署名鍵KSを用いて生成され、前記第1署名鍵KSを特定不可能であり、かつ、前記第1部分情報を除く第2検証鍵KV’の残り部分を生成するための第2部分情報を取得する第2部分情報取得部と、
前記第1部分情報及び前記第2部分情報に基づいて前記第2検証鍵KV’を生成する第2検証鍵生成部と、
を備える、情報処理装置。
【請求項2】
前記第1署名鍵KSはN1個(N1≧2)のパラメータを含んで成り、
前記第2部分情報取得部は、前記第1部分情報を用いて生成されるパラメータ及び前記第1署名鍵KSに含まれるN1個のパラメータを用いて生成され、当該第1署名鍵KSに含まれる個々のパラメータを特定不可能な前記第2部分情報を取得する、請求項1に記載の情報処理装置。
【請求項3】
前記第2検証鍵KV’はN2個(N2≧2)のパラメータを含んで成り、
前記第1部分情報提供部は、前記第1部分情報として前記第2検証鍵KV’に含まれるM2個(M2<N2)のパラメータを提供する、請求項2に記載の情報処理装置。
【請求項4】
前記第2検証鍵KV’はN2個(N2≧2)のパラメータを含んで成り、
前記第1部分情報提供部は、前記第2検証鍵KV’に含まれるM2個(M2<N2)のパラメータ、及び当該M2個のパラメータを除く(N2−M2)個のパラメータのハッシュ値を前記第1部分情報として提供する、請求項2に記載の情報処理装置。
【請求項5】
前記第2部分情報が生成される際に前記第1部分情報に対して前記他装置が生成した乱数に基づく所定の演算処理が施されている場合、前記第2部分情報取得部は、前記第2部分情報と共に前記他装置が生成した乱数を取得し、
前記第2検証鍵生成部は、前記第1部分情報、前記第2部分情報、及び前記乱数に基づいて前記第2検証鍵KV’を生成する、請求項1に記載の情報処理装置。
【請求項6】
対を成す第1検証鍵KV及び第1署名鍵KSが格納された記憶部と、
前記第1署名鍵KSを用いて生成された電子署名σを検証することが可能な第2検証鍵KV’(KV’≠KV)の一部を成し、かつ、前記第2検証鍵KV’を特定不可能な第1部分情報を取得する第1部分情報取得部と、
前記第1部分情報取得部で取得された前記第1部分情報及び前記第1署名鍵KSを利用し、前記第1検証鍵KSを特定不可能であり、かつ、前記第1部分情報を除く第2検証鍵KV’の残り部分を生成するための第2部分情報を生成する第2部分情報生成部と、
前記第1部分情報を提供した他装置に対し、前記第2部分情報生成部で生成された第2部分情報を提供する第2部分情報提供部と、
を備える、情報処理装置。
【請求項7】
前記第1署名鍵KSはN1個(N1≧2)のパラメータを含んで成り、
前記第2部分情報生成部は、前記第1部分情報を用いて生成されるパラメータ及び前記第1署名鍵KSに含まれるN1個のパラメータを利用し、当該第1署名鍵KSに含まれる個々のパラメータを特定不可能な前記第2部分情報を生成する、請求項6に記載の情報処理装置。
【請求項8】
前記第2検証鍵KV’はN2個(N2≧2)のパラメータを含んで成り、
前記第1部分情報取得部は、前記第1部分情報として前記第2検証鍵KV’に含まれるM2個(M2<N2)のパラメータを取得する、請求項7に記載の情報処理装置。
【請求項9】
前記第2検証鍵KV’はN2個(N2≧2)のパラメータを含んで成り、
前記第1部分情報取得部は、前記第2検証鍵KV’に含まれるM2個(M2<N2)のパラメータ、及び当該M2個のパラメータを除く(N2−M2)個のパラメータのハッシュ値を前記第1部分情報として取得する、請求項7に記載の情報処理装置。
【請求項10】
乱数を発生させる乱数発生器と、
前記乱数発生器で発生させた乱数を用いて前記第1部分情報に所定の演算処理を施す演算処理部と、
をさらに備え、
前記第2部分情報生成部は、前記演算処理部で所定の演算処理が施された第1部分情報及び前記第1署名鍵KSを利用して前記第2部分情報を生成し、
前記第2部分情報提供部は、前記第2部分情報と共に前記演算処理部で用いた乱数を前記他装置に提供する、請求項6に記載の情報処理装置。
【請求項11】
対を成す第1検証鍵KV及び第1署名鍵KSが格納された記憶部と、
前記第1署名鍵KSを用いて生成された電子署名σを検証することが可能な第2検証鍵KV’(KV’≠KV)の一部を成し、かつ、前記第2検証鍵KV’を特定不可能な第1部分情報を第2の情報処理装置から取得する第1部分情報取得部と、
前記第1部分情報取得部で取得された前記第1部分情報及び前記第1署名鍵KSを利用し、前記第1検証鍵KSを特定不可能であり、かつ、前記第1部分情報を除く第2検証鍵KV’の残り部分を生成するための第2部分情報を生成する第2部分情報生成部と、
前記第1部分情報を提供した前記第2の情報処理装置に対し、前記第2部分情報生成部で生成された第2部分情報を提供する第2部分情報提供部と、
を有する、第1の情報処理装置と;
前記第1の情報処理装置に対し、前記第1部分情報を提供する第1部分情報提供部と、
前記第2部分情報を取得する第2部分情報取得部と、
前記第1部分情報及び前記第2部分情報に基づいて前記第2検証鍵KV’を生成する第2検証鍵生成部と、
を有する、第2の情報処理装置と;
を含む、電子署名生成システム。
【請求項12】
第1検証鍵KVに対応する第1署名鍵KSを保持する他装置に対し、当該第1署名鍵KSを用いて生成された電子署名σを検証することが可能な第2検証鍵KV’(KV’≠KV)の一部を成し、かつ、前記第2検証鍵KV’を特定不可能な第1部分情報を提供する第1部分情報提供ステップと、
前記他装置により前記第1部分情報及び前記第1署名鍵KSを用いて生成され、前記第1署名鍵KSを特定不可能であり、かつ、前記第1部分情報を除く第2検証鍵KV’の残り部分を生成するための第2部分情報を取得する第2部分情報取得ステップと、
前記第1部分情報及び前記第2部分情報に基づいて前記第2検証鍵KV’を生成する第2検証鍵生成ステップと、
を含む、電子署名用の鍵生成方法。
【請求項13】
対を成す第1検証鍵KV及び第1署名鍵KSのうち、前記第1署名鍵KSを用いて生成された電子署名σを検証することが可能な第2検証鍵KV’(KV’≠KV)の一部を成し、かつ、前記第2検証鍵KV’を特定不可能な第1部分情報を取得する第1部分情報取得ステップと、
前記第1部分情報取得ステップで取得された前記第1部分情報及び前記第1署名鍵KSを利用し、前記第1検証鍵KSを特定不可能であり、かつ、前記第1部分情報を除く第2検証鍵KV’の残り部分を生成するための第2部分情報を生成する第2部分情報生成ステップと、
前記第1部分情報を提供した他装置に対し、前記第2部分情報生成ステップで生成された第2部分情報を提供する第2部分情報提供ステップと、
を含む、情報処理方法。
【請求項14】
第2の情報処理装置が、第1の情報処理装置に対し、対を成す第1検証鍵KV及び第1署名鍵KSのうち、前記第1署名鍵KSを用いて生成された電子署名σを検証することが可能な第2検証鍵KV’(KV’≠KV)の一部を成し、かつ、前記第2検証鍵KV’を特定不可能な第1部分情報を提供する第1部分情報提供ステップと、
第1の情報処理装置が、
前記第1部分情報を第2の情報処理装置から取得する第1部分情報取得ステップと、
前記第1部分情報取得ステップで取得した前記第1部分情報及び前記第1署名鍵KSを利用し、前記第1検証鍵KSを特定不可能であり、かつ、前記第1部分情報を除く第2検証鍵KV’の残り部分を生成するための第2部分情報を生成する第2部分情報生成ステップと、
前記第1部分情報を提供した第2の情報処理装置に対し、前記第2部分情報生成ステップで生成した第2部分情報を提供する第2部分情報提供ステップと、
前記第2の情報処理装置が、
前記第2部分情報を取得する第2部分情報取得ステップと、
前記第1部分情報及び前記第2部分情報に基づいて前記第2検証鍵KV’を生成する第2検証鍵生成ステップと、
を含む、電子署名用の鍵生成方法。
【請求項15】
第1検証鍵KVに対応する第1署名鍵KSを保持する他装置に対し、当該第1署名鍵KSを用いて生成された電子署名σを検証することが可能な第2検証鍵KV’(KV’≠KV)の一部を成し、かつ、前記第2検証鍵KV’を特定不可能な第1部分情報を提供する第1部分情報提供機能と、
前記他装置により前記第1部分情報及び前記第1署名鍵KSを用いて生成され、前記第1署名鍵KSを特定不可能であり、かつ、前記第1部分情報を除く第2検証鍵KV’の残り部分を生成するための第2部分情報を取得する第2部分情報取得機能と、
前記第1部分情報及び前記第2部分情報に基づいて前記第2検証鍵KV’を生成する第2検証鍵生成機能と、
をコンピュータに実現させるためのプログラム。
【請求項16】
対を成す第1検証鍵KV及び第1署名鍵KSのうち、前記第1署名鍵KSを用いて生成された電子署名σを検証することが可能な第2検証鍵KV’(KV’≠KV)の一部を成し、かつ、前記第2検証鍵KV’を特定不可能な第1部分情報を取得する第1部分情報取得機能と、
前記第1部分情報取得機能で取得された前記第1部分情報及び前記第1署名鍵KSを利用し、前記第1検証鍵KSを特定不可能であり、かつ、前記第1部分情報を除く第2検証鍵KV’の残り部分を生成するための第2部分情報を生成する第2部分情報生成機能と、
前記第1部分情報を提供した他装置に対し、前記第2部分情報生成機能で生成された第2部分情報を提供する第2部分情報提供機能と、
をコンピュータに実現させるためのプログラム。
【請求項17】
前記他装置は認証局サーバであり、
自装置を特定するためのID情報を前記他装置に通知するID通知部をさらに備え、
前記第1部分情報提供部、前記第2部分情報取得部、及び前記第2検証鍵生成部を用い、前記ID通知部による通知を受けて前記他装置により生成された前記ID情報を含む電子文書mID、及び当該電子文書mIDに対して前記第1署名鍵KSを用いて生成された電子署名σIDを受理する第2検証鍵KV’を生成し、前記第2検証鍵KV’の正当性を証明するための電子証明書として当該電子文書mID及び電子署名σIDを利用する、請求項1に記載の情報処理装置。
【請求項18】
自装置は委任者の電子署名を代理する代理人が利用する代理人端末であり、
前記他装置は前記委任者が利用する委任者端末であり、
前記第1部分情報提供部、前記第2部分情報取得部、及び前記第2検証鍵生成部を用い、前記委任者が前記代理人に委譲する署名権限の内容を少なくとも含む電子文書m、及び当該電子文書mに対して前記第1署名鍵KSを用いて生成された電子署名σを受理する第2検証鍵KV’を生成し、前記第2検証鍵KV’が前記委任者に認められたものであることを証明するための証明書として当該電子文書m及び電子署名σを利用する、請求項1に記載の情報処理装置。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate


【公開番号】特開2010−278482(P2010−278482A)
【公開日】平成22年12月9日(2010.12.9)
【国際特許分類】
【出願番号】特願2009−124035(P2009−124035)
【出願日】平成21年5月22日(2009.5.22)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】