説明

情報処理装置、鍵更新方法、及びプログラム

【課題】更新前の署名鍵で生成された電子署名を無効にせずに鍵更新することが可能な情報処理装置を提供すること。
【解決手段】検証鍵KVに対応する署名鍵KSを用いて電子署名σを生成する署名生成部と、前記署名生成部で電子署名σが付された電子文書mに対し、当該電子署名σの正当性を検証可能な代用検証鍵KV’(KV’≠KV)、及び当該代用検証鍵KV’に対応する代用署名鍵KS’(KS’≠KS)を生成する代用鍵生成部と、を備え、所定の場合に前記検証鍵KV及び署名鍵KSを前記代用鍵生成部で生成した代用検証鍵KV’及び代用署名鍵KS’に更新する、情報処理装置が提供される。

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

…(1)

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

…(2)

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

…(3)

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

…(4)

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

…(5)

【0052】
以上説明したように、SC08方式では、署名者と代用鍵生成者とが対話を行うことにより、署名鍵skで生成した電子文書mに対する電子署名σを受理する代用検証鍵pk’を生成している。SC08方式は、そもそも鍵更新方法を実現するために考案されたものではなく、署名者とは異なるエンティティ(代用鍵生成者)に代用鍵を安全に生成させるための技術である。SC08方式では、勝手に代用鍵を生成されないよう、真の署名者との対話を代用鍵生成の要件としている。そのため、代用鍵の生成工程に関しては、上記のように入力情報の種類に工夫を凝らした対話的な手法が用いられているのである。以下、この代用鍵生成方法について、より具体的な例を示しながら詳細に説明する。
【0053】
(1−3−2:代用鍵生成方法)
まず、図5を参照する。図5は、SC08方式の代用鍵生成アルゴリズム<ORG(sk),SUB>における処理の大まかな流れを示した説明図である。図5に示すように、署名者及び代用鍵生成者の双方に共有情報として検証鍵pk、電子文書m、電子署名σが入力されているものとする。また、署名者側では、署名鍵skも利用される。但し、代用鍵生成者が署名者の電子署名を偽造できないようにするため、署名鍵skが代用鍵生成者に提供されることはない点に注意されたい。
【0054】
まず、代用鍵生成者により代用署名鍵sk’が生成され、その代用署名鍵sk’の情報を用いて代用検証鍵pk’の一部情報が生成される。上記の通り、代用検証鍵pk’は、署名鍵skで生成された電子署名σを受理すべきものである。そのため、署名鍵skの情報を知らない代用鍵生成者は、署名鍵skの情報を知得せずに代用検証鍵pk’を生成することはできない。また、代用検証鍵pk’は、代用署名鍵sk’で生成された電子署名σ’(σ’≠σ)を受理すべきものである。そのため、代用検証鍵pk’に代用署名鍵sk’に関する情報が含まれている必要がある。こうした理由から、上記のように代用検証鍵pk’に含める一部情報が代用鍵生成者により生成されるのである。
【0055】
代用鍵生成者により生成された代用検証鍵pk’に含める一部情報は、代用鍵生成者から署名者に提供される(S12)。次いで、代用検証鍵pk’の一部情報を取得すると、署名者は、乱数を発生させ、その乱数を代用鍵生成者に提供する(S14)。署名者から乱数を取得すると、代用鍵生成者は、取得した乱数を利用し、代用検証鍵pk’の生成に必要な代用署名鍵sk’の情報を署名者に提供する(S16)。上記の通り、代用検証鍵pk’は、代用署名鍵sk’で生成された電子署名σ’をも受理する必要がある。そのため、代用署名鍵sk’に関する情報を署名者に提供する必要が生じる。
【0056】
しかし、代用署名鍵sk’が署名者に知られると、代用署名鍵sk’で生成される電子署名σ’が勝手に利用されてしまう。そこで、代用鍵生成者は、乱数を利用して代用署名鍵sk’が署名者に特定されず、かつ、代用検証鍵pk’を生成することが可能な形にして代用署名鍵sk’に関する情報を署名者に提供するのである。このような代用署名鍵sk’に関する情報を取得すると、署名者は、代用検証鍵pk’を生成する(S18)。次いで、署名者は、生成した代用検証鍵pk’を代用鍵生成者に提供する。つまり、SC08方式では、代用鍵生成者とは言うものの、実質的に署名者が代用検証鍵pk’を生成しているのである。
【0057】
以上説明した方法により、代用署名鍵sk’及び代用検証鍵pk’が生成される。ここまで、図5を参照しながらSC08方式における代用鍵生成処理の大まかな流れについて説明してきた。しかし、上記説明の中では具体的な演算方法について説明していない。そこで、図5で示した各処理ステップの内容を実現するための具体的な演算アルゴリズムについて以下で詳細に説明する。
【0058】
(1−3−3:アルゴリズム)
まず、代用鍵生成アルゴリズムの具体的な演算内容について説明するに先立ち、SC08方式のシステムパラメータ生成アルゴリズム、鍵生成アルゴリズム、署名生成アルゴリズム、及び署名検証アルゴリズムについて説明する。これらのアルゴリズムは相互に関係するものであり、代用鍵生成アルゴリズムを実現するためのSC08方式に特徴的な構成を含んでいる。
【0059】
(システムパラメータ生成アルゴリズム)
まず、図6を参照しながら、上記の式(1)で示したシステムパラメータ生成アルゴリズムについて説明する。図6は、システムパラメータ生成アルゴリズムの具体的な演算内容について、その一例を示す説明図である。なお、システムパラメータ生成アルゴリズムは、システム管理者により実行される。
【0060】
システムパラメータ生成アルゴリズムにおいては、まず、素数q=3(mod 4)に対し、下記の式(6)を満たすλビットの素数pが選択される(S30)。次いで、位数pとなるZの元gが選択される(S32)。但し、Zは素数pを法とする整数の有限体を意味し、Zはその乗法群を意味する。次いで、素数p、元gを含むシステムパラメータcp=(g,p)が設定される(S34)。ここまでがシステムパラメータ生成アルゴリズムの内容である。このようにしてシステムパラメータcpを生成すると、システム管理者は、システムパラメータcpを各エンティティに提供する(S36)。以下の説明においては各エンティティにシステムパラメータcpが提供されているものとする。
【0061】
【数6】

…(6)

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

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

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

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

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

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

【0086】
以上、SC08方式について詳細に説明した。以下では、本手法に係る鍵更新方法について説明する。なお、本手法の代用鍵生成方法は、SC08方式に係る代用鍵生成方法の基本的なアイデアを踏襲しつつ、鍵更新に適用するための工夫を加えたものである。従って、以上説明したSC08方式の代用鍵生成方法を念頭に置きつつ、本手法の鍵更新方法に用いる代用鍵生成方法について詳細に説明していくことにする。
【0087】
[1−4:本手法]
本手法は、電子署名に用いる署名鍵が露呈した場合においても、その署名鍵で過去に生成した電子署名を無効にせずに、その署名鍵を代用署名鍵に更新する方法を提案するものである。代用鍵を用いるという点でSC08方式と共通する部分があるが、上記のSC08方式とは異なり、本手法はあくまでも鍵更新方法である点に注意されたい。
【0088】
(1−4−1:システム構成)
まず、本手法に係るシステム構成について説明する。本手法では、電子署名システムのモデルとして、4つのエンティティが想定されている。本手法で想定しているエンティティは、図10に示すように、システム管理者、署名者(代用鍵生成者)、検証者、認証局の4つである。SC08方式では、代用鍵生成者として身代わり署名者を想定していたが、本手法では署名者が代用鍵生成者のエンティティとして機能する。システム管理者は、システムパラメータ生成アルゴリズム(Setup)を用いてシステムパラメータcpを生成するエンティティである。
【0089】
署名者は、鍵生成アルゴリズム(Gen)を用いて各署名者固有の署名鍵sk及び当該署名鍵skとペアを成す検証鍵pkを生成するエンティティである。また、署名者は、署名生成アルゴリズム(Sig)を用いて電子文書mに対する電子署名σを生成する。さらに、署名者は、代用鍵生成アルゴリズムを用いて代用署名鍵sk’及び当該代用署名鍵sk’とペアを成す代用検証鍵pk’を生成する。検証者は、署名検証アルゴリズム(Ver)を用いて電子文書mに付された電子署名σの正当性を検証するエンティティである。認証局は、署名者が生成した検証鍵又は代用検証鍵の正当性を保証するための証明書を発行するエンティティである。
【0090】
これらのエンティティは、図11に示すような手続きを実行し、署名鍵sk及び検証鍵pkの生成、電子署名σの生成、代用署名鍵sk’及び代用検証鍵pk’の生成、電子署名σの検証を行う。なお、システム管理者によりシステムパラメータ生成アルゴリズム(Setup)を用いてシステムパラメータcpが既に生成されているものとする。また、Setupを用いてcpを生成することを下記の式(36)のように表現する。但し、1λはセキュリティパラメータである。
【0091】
【数13】

…(36)

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

…(37)

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

…(38)

【0096】
(署名者による代用鍵生成工程)
次に、署名者が行う代用鍵生成手続きについて、その概要を説明する。なお、この手続きは、署名鍵skが露呈した際に行われるものとしてもよいし、事前に行われるものとしてもよい。まず、署名者は、電子文書m、電子署名σ、電子署名σの生成に用いた署名鍵sk、署名鍵skとペアを成す検証鍵pkを用意する。次いで、署名者は、用意した電子文書m、電子署名σ、署名鍵skを代用鍵生成アルゴリズムに入力し、代用検証鍵pk’及び代用署名鍵sk’のペアを生成する。次いで、署名者は、代用署名鍵sk’と代用検証鍵pk’のペアを保管する。次いで、署名者は、必要に応じて検証鍵pkを廃止するように認証局に依頼し、代用検証鍵pk’を新たに認証局に登録して証明書を受け取る。
【0097】
(検証者による署名検証工程)
次に、検証者が行う手続きについて説明する。まず、検証者は、署名者から電子署名σ、電子文書m、及び検証鍵pkを取得する。次いで、検証者は、必要に応じて、検証鍵pkが本当に署名者の検証鍵であるか否かを認証局の証明書で確認する。次いで、検証者は、署名検証アルゴリズム(Ver)に検証鍵pk、電子文書m、電子署名σを入力し、検証結果vout=0(エラー)又は1(受理)を算出する。なお、Verによりvoutを算出することを下記の式(39)のように表現する。次いで、検証者は、下記の式(39)で算出された検証結果voutに応じてvout=1ならば(σ,m)を受理し、vout=0ならば拒否する。なお、代用検証鍵pk’を用いた検証手続きを行う場合についても同様である。
【0098】
【数16】

…(39)

【0099】
以上説明したように、本手法は、代用署名鍵sk’及び代用検証鍵pk’を用いてオリジナルの署名鍵sk及び検証鍵pkを更新する。そのため、署名鍵sk及び検証鍵pkが廃止されても、過去に署名者が署名鍵skで生成した電子署名σを有効なまま維持することができる。ここで、一般的な電子署名方式の鍵更新方法と本手法とを対比し、本手法の有効性について述べておくことにする。
【0100】
(1−4−2:鍵更新方法の対比)
図12を参照する。まず、Aとして、一般的な電子署名方式の鍵更新手法を模式的に示した。Aの場合、更新前の署名鍵skを用いて電子文書mに対して生成された電子署名σは、鍵更新前の検証鍵pkで受理されるものの、鍵更新後の検証鍵pkで受理されない。そのため、鍵更新後は、更新後の署名鍵sk’を用いて電子文書m’に対して生成された電子署名σ’は有効であるが、更新前の電子署名σは無効になる。もちろん、鍵更新後の電子署名σ’は、鍵更新後の検証鍵pk’で受理される。
【0101】
次に、Bを参照する。Bとして、期限付き電子署名方式の鍵更新手法を模式的に示した。Bの場合、期間毎に署名鍵が更新される。一方、検証鍵pkは全期間で更新されない。また、期間1の署名鍵sk1を用いて生成された電子署名σ1は期間1の署名として受理される。同様に、期間2の署名鍵sk2を用いて生成された電子署名σ2は期間2の署名として受理される。従って、期間1の署名鍵sk1が廃止されても、期間2の署名鍵sk2で生成された電子署名σ2は有効なまま維持される。しかしながら、期間1の電子署名σ1は無効になってしまう。この問題については図21を参照しながら既に述べた通りである。
【0102】
次に、Cを参照する。Cは、本手法に係る鍵更新手法を模式的に示したものである。Cに示すように、本手法を適用すると、鍵更新前の署名鍵skを用いて電子文書mに対して生成された電子署名σは、鍵更新後の検証鍵pk’(代用検証鍵pk’)により受理される。そのため、鍵更新前の署名鍵sk及び検証鍵pkが廃止されたとしても、鍵更新前の電子署名σの有効性が失われずに済むのである。このような効果は、上記A及びBのような鍵更新手法をどのように用いても得ることができないものである。以上説明した本手法の技術的特徴を踏まえ、以下では本手法の具体的なアルゴリズムについて説明する。
【0103】
(1−4−3:アルゴリズム)
ここでは、本手法に係る鍵生成アルゴリズム、署名生成アルゴリズム、署名検証アルゴリズム、及び代用鍵生成アルゴリズムについて説明する。なお、システムパラメータ生成アルゴリズムについてはSC08方式と実質的に同じであるため説明を省略する。これらのアルゴリズムは相互に関係するものであり、いずれのアルゴリズムにも本手法の代用鍵生成アルゴリズムを実現するための特徴的な構成が含まれている。
【0104】
(鍵生成アルゴリズム、署名生成アルゴリズム)
まず、図13を参照しながら、上記の式(37)で示した鍵生成アルゴリズム、及び上記の式(38)に示した署名生成アルゴリズムについて説明する。なお、鍵生成アルゴリズム及び署名生成アルゴリズムは、署名者により実行される。図13は、鍵生成アルゴリズム及び署名生成アルゴリズムの具体的な演算内容について、その一例を示す説明図である。従って、本手法のアイデアを踏襲する範囲内において適宜変更を加えることが可能である。そして、こうした変更を行ったとしても、変更後の構成は本手法の技術的範囲に含まれる点に注意されたい。
【0105】
はじめに、鍵生成アルゴリズムについて説明する。鍵生成アルゴリズムにおいては、まず、ランダムにZの元x1、x2が選択される(S130)。次いで、選択されたx1、x2を用いて、下記の式(40)及び式(41)に示すようにy1、y2が算出される(S132)。次いで、ランダムにZの元αが選択される(S134)。なお、ステップS134の処理順序は適宜変更可能である。ここまでが鍵生成アルゴリズムの内容である。以上の演算により、下記の式(42)に示す検証鍵pk、及び下記の式(43)に示す署名鍵skが生成される。なお、下記の式(42)に示す検証鍵pkの構成がSC08方式とは異なる点に注意されたい。
【0106】
【数17】

…(40)


…(41)


…(42)


…(43)

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

【0111】
(署名検証アルゴリズム)
次に、図14を参照しながら、上記の式(39)に示した署名検証アルゴリズムについて説明する。図14は、署名検証アルゴリズムの具体的な演算内容について、その一例を示す説明図である。なお、署名検証アルゴリズムは、検証者により実行される。
【0112】
まず、検証者は、公開されている検証鍵pk(式(42)を参照)を取得する(S150)。さらに、検証者は、署名者から電子署名σ(式(48)を参照)、及び電子文書mを取得する(S152)。検証者は、これらの取得した情報を署名検証アルゴリズムに入力して電子署名σを検証する。なお、システムパラメータcpも予め取得しているものとする。
【0113】
署名検証アルゴリズムにおいては、まず、上記の式(45)及び式(46)によりパラメータc、yが算出される(S154)。次いで、算出したパラメータが下記の式(49)に示す検証式Aに代入され、検証式Aの成否が確認される(S156、S158)。検証式Aが成り立つ場合、その電子署名σが正当であるとみなし、「受理」を示す出力値vout=1を出力して(S160)、一連の処理を終了する。一方、検証式Aが不成立の場合、エラーを示す出力値vout=0を出力して(S162)、一連の処理を終了する。以上の演算により、電子文書mに対する電子署名σの正当性が検証される。なお、下記の式(49)に示す検証式Aは、SC08方式の検証式Aと同じ形である。従って、検証式Aの形に依存してSC08方式が担保する安全性は本手法にも踏襲される。
【0114】
【数19】

【0115】
(代用鍵生成アルゴリズム)
次に、図15を参照しながら、本手法に係る代用鍵生成アルゴリズムについて説明する。図15は、代用鍵生成アルゴリズムの具体的な演算内容について、その一例を示す説明図である。本手法の代用鍵生成アルゴリズムはSC08方式と異なり、身代わり署名者のエンティティが存在しないことから対話形式ではない。そのため、本手法では、代用署名鍵sk’の情報を署名者(代用鍵生成者本人)に秘匿しておくための構成を省くことができる。例えば、SC08方式では、署名者が秘密にすべきパラメータkを代用鍵生成者に秘匿するために、パラメータkを二重化してk1、k2とし、パラメータdを導入していた。しかし、本手法ではこれらの構成を省くことができる。以下、詳細に説明する。
【0116】
代用鍵生成アルゴリズムにおいては、まず、ランダムにZの元x1’,x2’が選択される(S170)。次いで、下記の式(50)及び式(51)に示すy1’、y2’が算出される(S172)。なお、x1’、x2’は、代用署名鍵sk’に含めるパラメータである。また、y1’、y2’は、代用検証鍵pk’に含めるパラメータである。次いで、上記の式(45)及び式(46)に基づいてc、yが算出される(S174)。次いで、算出されたc、yを用いて上記の式(47)を満たすkが算出される(S176)。署名者は、パラメータkを保管していないことが多い。そのため、ここではパラメータkを再計算したのである。
【0117】
もちろん、パラメータkを保持している場合には、これらの演算を省略することができる。次いで、下記の式(52)に基づいてc’が算出され、下記の式(53)に基づいてy’が算出される(S178)。次いで、算出されたパラメータc’、y’を利用し、下記の式(54)を満たすα’を算出する(S180)。このパラメータα’とパラメータy1’、y2’とを組み合わせることで代用検証鍵pk’が生成される(S182)。なお、代用署名鍵sk’にα’を含めることとすれば、この時点で代用署名鍵sk’も生成されることになる(S182)。
【0118】
【数20】

【0119】
以上説明した方法により代用鍵が生成される。この代用鍵を用いて鍵更新を行うことで、署名鍵skを知る攻撃者であっても、代用署名鍵sk’を知ることはできない。つまり、鍵更新後の代用検証鍵pk’については電子署名σ’を偽造不可能であることが保証される。この点について説明を補足する。
【0120】
更新前の署名鍵をsk、検証鍵をpk、更新後の署名鍵(代用署名鍵)をsk’、検証鍵(代用検証鍵)をpk’とする。また、署名鍵skにより電子文書mに対して生成された電子署名をσとする。上記の通り、本手法に係る鍵生成アルゴリズム及び代用鍵生成アルゴリズムにおいては、署名鍵sk及び代用検証鍵sk’に含まれるパラメータx、x’がそれぞれ二重化(x1,x2)、(x1’,x2’)されている。また、上記の式(54)に含まれるパラメータc’は検証鍵及び電子署名に依存するパラメータである。そのため、攻撃者が更新前の署名鍵skを知ったとしても、上記の式(54)の1つからは、2つの未知の変数x1’、x2’を特定することはできない。さらに、代用検証鍵pk’が受理する電子署名を生成するには、x1’+c’*x2’の情報が必要となるが、これを計算するにはx1’、x2’が必要であるため、代用検証鍵pk’が受理するような電子署名を偽造することはできない。従って、本手法に係る鍵更新方法を用いると、露呈した署名鍵に対応する電子署名が付された電子署名を無効にせずに、安全に鍵更新することができる。
【0121】
(1−4−4:端末の機能構成)
ここで、図16を参照しながら、上記の各アルゴリズムを実行可能な本手法のシステム構成について簡単に説明する。図16には、署名者が利用する署名者端末100、及び検証者が利用する検証者端末200の機能構成が示されている。また、署名者端末100と検証者端末200とはネットワーク10で接続されているものとする。なお、システム管理者及び認証局の端末については記載を省略した。
【0122】
(署名者端末100)
まず、署名者端末100の機能構成について説明する。図16に示すように、署名者端末100は、主に、記憶部102と、鍵生成部104と、署名生成部106と、通信部108と、代用鍵生成部110と、更新制御部112とを有する。
【0123】
記憶部102は、システムパラメータcp、電子文書m、及び各アルゴリズムを実行するためのプログラムを格納するための手段である。鍵生成部104は、記憶部102からシステムパラメータcp、及び鍵生成アルゴリズムの実行プログラムを読み出し、署名鍵sk及び検証鍵pkを生成する。鍵生成部104で生成された署名鍵sk及び検証鍵pkは、署名生成部106に入力される。署名生成部106は、記憶部102からシステムパラメータcp、及び署名生成アルゴリズムの実行プログラムを読み出し、入力された署名鍵sk(検証鍵pk)及び電子文書mを用いて当該電子文書mに付する電子署名σを生成する。署名生成部106で生成された電子署名σ及び電子文書mは、通信部108によりネットワーク10を介して検証者端末200に提供される。
【0124】
なお、署名鍵skが露呈した場合、更新制御部112の制御を受けて鍵更新が実施される。まず、更新制御部112は、代用鍵生成部110に対し、署名生成部106で生成された署名鍵sk及び検証鍵pkに代わる代用署名鍵sk’及び代用検証鍵pk’を生成させる。このとき、代用鍵生成部110は、記憶部102から代用鍵生成アルゴリズムの実行プログラムを読み出し、露呈した署名鍵skで署名された電子文書m及び電子署名σを用いて代用署名鍵sk’及び代用検証鍵pk’を生成する。代用鍵生成部110で生成された代用署名鍵sk’は署名生成部106に入力され、鍵更新後の署名生成に用いられる。一方、代用検証鍵pk’は公開される。このように、署名者端末100には、本手法に係る上記の署名者が実行すべき各アルゴリズムを実行する機能が搭載される。その結果、署名者端末100を用いることで、本手法による鍵更新方法が実現される。
【0125】
(検証者端末200)
次に、検証者端末200の機能構成について説明する。図16に示すように、検証者端末200は、主に、通信部202と、パラメータ生成部204と、記憶部206と、検証処理部208とを有する。記憶部206には、システムパラメータcpの他、検証者が実行すべきアルゴリズムの実行プログラム等が格納される。
【0126】
通信部202によりネットワーク10を介して署名者端末100から電子文書m及び電子署名σが取得されると、それら電子文書m及び電子署名σは、パラメータ生成部204に入力される。パラメータ生成部204では、検証式に入力するために必要なパラメータが算出される。例えば、パラメータ生成部204は、電子文書m及び電子署名σに依存する上記の式(45)等で示されるパラメータcを算出する。パラメータ生成部204で算出されたパラメータは、検証処理部208に入力される。検証処理部208では、パラメータ生成部204で算出されたパラメータ、検証鍵pk、電子文書m、及び電子署名σを検証式に入力し、検証式の成否に基づいて電子署名σの受理/拒否を判断する。このように、検証者端末200には、本手法に係る上記の検証者が実行すべき各アルゴリズムを実行する機能が搭載されている。その結果、検証者端末200を用いることで、本手法による鍵更新方法が実現される。
【0127】
以上、本手法に係る鍵更新方法について説明した。本手法を用いると、「ある電子署名を生成するために使用された署名鍵が露呈した場合、その電子署名は無効になってしまう」という問題を解決し、「ある電子署名を生成するために使用された署名鍵が露呈した場合でも、その電子署名を無効にすることなく」電子署名の署名鍵と検証鍵の更新を実現することが可能になる。
【0128】
[1−5:拡張方式]
上記の本手法に係る技術は、1組の電子文書及び電子署名に対して代用署名鍵及び代用検証鍵を生成する方法に関するものであった。そこで、以上説明した本手法の技術を拡張し、複数組の電子文書及び電子署名に対する代用署名鍵及び代用検証鍵を生成する方法(以下、拡張方式)を提案する。以下の説明においては、N組(N≧2)以下の任意数の電子文書及び電子署名の組(m,σ)、…、(m,σ)、n≦Nに対する代用署名鍵sk’及び代用検証鍵pk’を生成する方法について考える。
【0129】
(1−5−1:アルゴリズム)
以下、拡張方式に係る鍵生成アルゴリズム、署名生成アルゴリズム、署名検証アルゴリズム、及び代用鍵生成アルゴリズムについて順次説明する。なお、システムパラメータ生成アルゴリズムについてはSC08方式と実質的に同じであるため説明を省略する。これらのアルゴリズムは相互に関係するものであり、いずれのアルゴリズムにも拡張方式の代用鍵生成アルゴリズムを実現するための特徴的な構成を含んでいる。
【0130】
(鍵生成アルゴリズム、署名生成アルゴリズム)
まず、図17を参照しながら、拡張方式に係る鍵生成アルゴリズム及び署名生成アルゴリズムについて説明する。なお、当該鍵生成アルゴリズム及び署名生成アルゴリズムは、署名者により実行される。図17は、鍵生成アルゴリズム及び署名生成アルゴリズムの具体的な演算内容について、その一例を示す説明図である。従って、拡張方式のアイデアを踏襲する範囲内において適宜変更を加えることが可能である。そして、こうした変更を行ったとしても、変更後の構成は当該拡張方式の技術的範囲に含まれる点に注意されたい。
【0131】
はじめに、鍵生成アルゴリズムについて説明する。鍵生成アルゴリズムにおいては、まず、ランダムにZqの元x、…、xL+1(L≧2)が選択される(S200)。次いで、選択されたx、…、xL+1を用いて、下記の式(55)に示すようにy(j=1,…,L+1)が算出される(S202)。次いで、ランダムにZの元α、…、αが選択される(S204)。なお、ステップS204の処理順序は適宜変更可能である。ここまでが鍵生成アルゴリズムの内容である。以上の演算により、下記の式(56)に示す検証鍵pk、及び下記の式(57)に示す署名鍵skが生成される。
【0132】
【数21】

【0133】
次に、署名生成アルゴリズムについて説明する。署名生成アルゴリズムには、鍵生成アルゴリズムで生成された署名鍵sk、及び電子文書mが入力される。但し、検証鍵pkも既に算出されていることから、検証鍵pkを入力値に加えてもよい。このように入力値を変更すると、例えば、署名生成アルゴリズムに上記の式(55)で示されるy(j=1,…,L+1)と同じ演算式が含まれている場合、その演算処理を行わずに済む。以下の説明においては、上記の式(55)と同じ演算式が含まれている部分をそれぞれy(j=1,…,L+1)と表記することにする。
【0134】
署名生成アルゴリズムにおいては、まず、ランダムにZの元kが選択される(S206)。次に、選択されたkを用いて下記の式(58)に示すrが算出される(S208)。次いで、電子署名σを付す電子文書m、上記の演算により算出されたパラメータr、及び検証鍵pkに含まれるy、…、yL+1(但し、x、…、xL+1から生成可能。)を用いて下記の式(59)に示すパラメータc(j=1、…、L)が算出される(S210)。但し、h1(…)はハッシュ関数である。また、パラメータm、r、y、…、yL+1は、例えば、連結されてから入力される。なお、パラメータの入力時に行う処理に関しては、連結に限定されない点に注意されたい。
【0135】
次いで、算出されたパラメータc、…、cを用いて下記の式(60)に示すYと式(61)に示すαが算出される(S210)。次いで、ステップS200〜S210において得られたパラメータを用いて下記の式(62)を満たすZの元sが算出される(S212)。但し、H(…)はハッシュ関数である。また、パラメータr、Y、c、…、cは、例えば、連結されてから入力される。なお、パラメータの入力時に行う処理に関しては、連結に限定されない点に注意されたい。以上の演算により、下記の式(63)に示す電子署名σが得られる。
【0136】
【数22】

【0137】
(署名検証アルゴリズム)
次に、図18を参照しながら、拡張方式に係る署名検証アルゴリズムについて説明する。図18は、署名検証アルゴリズムの具体的な演算内容について、その一例を示す説明図である。なお、署名検証アルゴリズムは、検証者により実行される。
【0138】
まず、検証者は、公開されている検証鍵pk(式(56)を参照)を取得する(S220)。さらに、検証者は、署名者から電子署名σ(式(63)を参照)、及び電子文書mを取得する(S222)。検証者は、これらの取得した情報を署名検証アルゴリズムに入力して電子署名σを検証する。なお、システムパラメータcpも予め取得しているものとする。
【0139】
署名検証アルゴリズムにおいては、まず、上記の式(59)、式(60)、及び式(61)によりパラメータc、…、c、Y、αが算出される(S224)。次いで、算出したパラメータが下記の式(64)に示す検証式Bに代入され、検証式Bの成否が確認される(S226、S228)。検証式Bが成り立つ場合、その電子署名σが正当であるとみなし、「受理」を示す出力値vout=1を出力して(S230)、一連の処理を終了する。一方、検証式Bが不成立の場合、エラーを示す出力値vout=0を出力して(S232)、一連の処理を終了する。以上の演算により、電子文書mに対する電子署名σの正当性が検証される。
【0140】
【数23】

【0141】
(代用鍵生成アルゴリズム)
次に、図19を参照しながら、拡張方式に係る代用鍵生成アルゴリズムについて説明する。図19は、代用鍵生成アルゴリズムの具体的な演算内容について、その一例を示す説明図である。
【0142】
代用鍵生成アルゴリズムにおいては、まず、ランダムにZの元x’,…,xM+1’が選択される(S240)。但し、Mは、M≧nとなる整数とする。ここで、検証鍵と署名鍵を固定長に限定する場合には、M=Lとすればよい。次いで、下記の式(65)に示すy’(j=1,…,n+1)が算出される(S242)。なお、x’、…、xM+1’は、代用署名鍵sk’に含めるパラメータである。また、y’、…、yM+1’は、代用検証鍵pk’に含めるパラメータである。次いで、下記の式(66)、式(67)、及び式(68)に基づいてcij、Y、α”(i=1,…,n、j=1,…,L)が算出される(S244)。次いで、算出されたcij、Y、α”(i=1,…,n、j=1,…,L)を用いて下記の式(69)を満たすkが算出される(S246)。但し、下記の式(69)に含まれるsは、代用鍵生成アルゴリズムに入力されるn個の電子文書mと電子署名σの組において、電子署名σ=(r,s)に含まれるパラメータである。署名者は、パラメータkを保管していないことが多い。そのため、ここではパラメータk(i=1,…,n)を再計算したのである。
【0143】
次いで、下記の式(70)に基づいてcij’(i=1,…,n、j=1,…,M)が算出され、下記の式(71)に基づいてY’(i=1,…,n)が算出される(S248)。次いで、算出されたパラメータcij’、Y’(i=1,…,n、j=1,…,M)に基づいて、下記の式(72)を満たすαi(3)(i=1,…,n)が算出される(S249)。次いで、算出されたパラメータcij’、αi(3)(i=1,…,n、j=1,…,M)に基づいて、下記の式(73)に示す連立1次方程式を満たすα’,…,α’が算出される(S250)。このとき、下記の式(73)に示す連立1次方程式の解が存在するか否かを判定し(S252)、存在しない場合にはステップS240の処理に戻る。解が存在する場合にはステップS254の処理に進行する。ステップS254に進行した場合、下記の式(74)及び式(75)のように代用検証鍵pk’及び代用署名鍵sk’が設定される(S254)。
【0144】
【数24】

【0145】
以上説明した方法を用いることで、複数組の電子署名及び電子文書に対して代用鍵を生成することが可能になる。その結果、複数組の電子署名及び電子文書を対象とする鍵更新においても、代用鍵を用いることが可能になる。また、複数組の電子署名及び電子文書に対する代用鍵を利用できるようにすることで、鍵更新を効率化することが可能になる。
【0146】
[1−6:端末のハードウェア構成]
上記の署名者端末100、検証者端末200が有する各構成要素の機能は、例えば、図20に示す情報処理装置のハードウェア構成を用いて実現することが可能である。つまり、当該各構成要素の機能は、コンピュータプログラムを用いて図20に示すハードウェアを制御することにより実現される。なお、このハードウェアの形態は任意であり、例えば、パーソナルコンピュータ、携帯電話、PHS、PDA等の携帯情報端末、ゲーム機、又は種々の情報家電がこれに含まれる。但し、上記のPHSは、Personal Handy−phone Systemの略である。また、上記のPDAは、Personal Digital Assistantの略である。
【0147】
図20に示すように、このハードウェアは、主に、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の略である。
【0148】
CPU902は、例えば、演算処理装置又は制御装置として機能し、ROM904、RAM906、記憶部920、又はリムーバブル記録媒体928に記録された各種プログラムに基づいて各構成要素の動作全般又はその一部を制御する。ROM904は、CPU902に読み込まれるプログラムや演算に用いるデータ等を格納する手段である。RAM906には、例えば、CPU902に読み込まれるプログラムや、そのプログラムを実行する際に適宜変化する各種パラメータ等が一時的又は永続的に格納される。
【0149】
これらの構成要素は、例えば、高速なデータ伝送が可能なホストバス908を介して相互に接続される。一方、ホストバス908は、例えば、ブリッジ910を介して比較的データ伝送速度が低速な外部バス912に接続される。また、入力部916としては、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチ、及びレバー等が用いられる。さらに、入力部916としては、赤外線やその他の電波を利用して制御信号を送信することが可能なリモートコントローラが用いられることもある。
【0150】
出力部918としては、例えば、CRT、LCD、PDP、又はELD等のディスプレイ装置、スピーカ、ヘッドホン等のオーディオ出力装置、プリンタ、携帯電話、又はファクシミリ等が用いられる。つまり、出力部918は、取得した情報を利用者に対して視覚的又は聴覚的に通知する手段である。但し、上記のCRTは、Cathode Ray Tubeの略である。また、上記のLCDは、Liquid Crystal Displayの略である。そして、上記のPDPは、Plasma DisplayPanelの略である。さらに、上記のELDは、Electro−Luminescence Displayの略である。
【0151】
記憶部920は、各種のデータを格納するための装置である。記憶部920としては、例えば、ハードディスクドライブ(HDD)等の磁気記憶デバイス、半導体記憶デバイス、光記憶デバイス、又は光磁気記憶デバイス等が用いられる。但し、上記のHDDは、Hard Disk Driveの略である。
【0152】
ドライブ922は、例えば、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体928に記録された情報を読み出し、又はリムーバブル記録媒体928に情報を書き込む装置である。リムーバブル記録媒体928は、例えば、DVDメディア、Blu−rayメディア、HD DVDメディア、各種の半導体記憶メディア等である。もちろん、リムーバブル記録媒体928は、例えば、非接触型ICチップを搭載したICカード、又は電子機器等であってもよい。但し、上記のICは、Integrated Circuitの略である。
【0153】
接続ポート924は、例えば、USBポート、IEEE1394ポート、SCSI、RS−232Cポート、又は光オーディオ端子等のような外部接続機器930を接続するためのポートである。外部接続機器930は、例えば、プリンタ、携帯音楽プレーヤ、デジタルカメラ、デジタルビデオカメラ、又はICレコーダ等である。但し、上記のUSBは、Universal Serial Busの略である。また、上記のSCSIは、Small Computer System Interfaceの略である。
【0154】
通信部926は、ネットワーク932に接続するための通信デバイスであり、例えば、有線又は無線LAN、Bluetooth(登録商標)、又はWUSB用の通信カード、光通信用のルータ、ADSL用のルータ、又は各種通信用のモデム等である。また、通信部926に接続されるネットワーク932は、有線又は無線により接続されたネットワークにより構成され、例えば、インターネット、家庭内LAN、赤外線通信、可視光通信、放送、又は衛星通信等である。但し、上記のLANは、Local Area Networkの略である。また、上記のWUSBは、Wireless USBの略である。そして、上記のADSLは、Asymmetric Digital Subscriber Lineの略である。
【0155】
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明は係る例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【符号の説明】
【0156】
10 ネットワーク
100 署名者端末
102 記憶部
104 鍵生成部
106 署名生成部
108 通信部
110 代用鍵生成部
112 更新制御部
200 検証者端末
202 通信部
204 パラメータ生成部
206 記憶部
208 検証処理部

【特許請求の範囲】
【請求項1】
検証鍵KVに対応する署名鍵KSを用いて電子署名σを生成する署名生成部と、
前記署名生成部で電子署名σが付された電子文書mに対し、当該電子署名σの正当性を検証可能な代用検証鍵KV’(KV’≠KV)、及び当該代用検証鍵KV’に対応する代用署名鍵KS’(KS’≠KS)を生成する代用鍵生成部と、
を備え、
所定の場合に前記検証鍵KV及び署名鍵KSを前記代用鍵生成部で生成した代用検証鍵KV’及び代用署名鍵KS’に更新する、情報処理装置。
【請求項2】
前記署名生成部によりN個(N≧2)の電子文書m(j=1,…,N)に対してN個の電子署名σが生成されている場合、前記代用鍵生成部は、N個の前記電子文書及び電子署名の組み合わせ(m,σ)(j=1,…,N)のうち、M個(2≦M≦N)の当該組み合わせについて前記電子署名の正当性を検証可能な代用検証鍵KV’及び当該代用検証鍵に対応する代用署名鍵KS’を生成する、請求項1に記載の情報処理装置。
【請求項3】
前記署名鍵KSが露呈した場合又は所定期間が経過した場合に前記代用鍵生成部により代用検証鍵KV’及び代用署名鍵KS’を生成し、前記検証鍵KV及び署名鍵KSを当該代用検証鍵KV’及び代用署名鍵KS’に更新する、請求項1又は2に記載の情報処理装置。
【請求項4】
前記代用署名鍵KS’が露呈した場合又は所定期間が経過した場合に前記代用鍵生成部により代用検証鍵KV”(KV”≠KV’,KV”≠KV)及び代用署名鍵KS”(KS”≠KS’,KS”≠KS)を生成し、前記代用検証鍵KV’及び代用署名鍵KS’を当該代用検証鍵KV”及び代用署名鍵KS”に更新する、請求項3に記載の情報処理装置。
【請求項5】
前記代用鍵生成部は、
前記代用署名鍵KS’に含める複数の第1要素を任意に選択する第1要素選択部と、
複数の前記第1要素を用いて前記代用検証鍵KV’に含める複数の第2要素を算出する第2要素算出部と、
前記第1及び第2要素に対応する前記検証鍵KV及び署名鍵KSの要素に関し、前記検証鍵KVを用いて前記電子署名σの正当性を検証するための検証式に含まれる当該要素を前記第1及び第2要素に置き換えた、前記第1及び第2要素に対応しない前記検証鍵KV及び署名鍵KSの要素を未知数とする方程式の解を算出する要素計算部と、
少なくとも前記第1要素選択部で選択した第1要素を含む代用署名鍵KS’と、少なくとも前記第2要素選択部で選択した第2要素及び前記要素計算部の算出結果を含む代用署名鍵KV’を算出する代用鍵算出部と、
を有する、請求項1又は2に記載の情報処理装置。
【請求項6】
前記電子署名σが2つのパラメータr、sを含み、前記第2要素に対応する前記検証鍵KVの要素及び前記電子文書mに関するパラメータをy、前記要素計算部の算出結果に対応する前記検証鍵KVの要素をα、前記電子文書m及び前記パラメータr、yに関するハッシュ値をuとすると、前記検証式は、g=yr*α*ry*s mod p(pは素数)で与えられる、請求項5に記載の情報処理装置。
【請求項7】
検証鍵KVに対応する署名鍵KSを用いて電子署名σを生成する署名生成ステップと、
前記署名生成ステップで電子署名σが付された電子文書mに対し、当該電子署名σの正当性を検証可能な代用検証鍵KV’(KV’≠KV)、及び当該代用検証鍵KV’に対応する代用署名鍵KS’(KS’≠KS)を生成する代用鍵生成ステップと、
所定の場合に前記検証鍵KV及び署名鍵KSを前記代用鍵生成ステップで生成した代用検証鍵KV’及び代用署名鍵KS’に更新する更新ステップと、
を含む、鍵更新方法。
【請求項8】
検証鍵KVに対応する署名鍵KSを用いて電子署名σを生成する署名生成機能と、
前記署名生成機能により電子署名σが付された電子文書mに対し、当該電子署名σの正当性を検証可能な代用検証鍵KV’(KV’≠KV)、及び当該代用検証鍵KV’に対応する代用署名鍵KS’(KS’≠KS)を生成する代用鍵生成機能と、
所定の場合に前記検証鍵KV及び署名鍵KSを前記代用鍵生成機能により生成した代用検証鍵KV’及び代用署名鍵KS’に更新する更新機能と、
をコンピュータに実現させるためのプログラム。

【図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


【公開番号】特開2010−262109(P2010−262109A)
【公開日】平成22年11月18日(2010.11.18)
【国際特許分類】
【出願番号】特願2009−112080(P2009−112080)
【出願日】平成21年5月1日(2009.5.1)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】