(57)【要約】【課題】更新前の署名鍵で生成された電子署名を無効にせずに鍵更新することが可能な情報処理装置を提供すること。【解決手段】検証鍵ＫＶに対応する署名鍵ＫＳを用いて電子署名σを生成する署名生成部と、前記署名生成部で電子署名σが付された電子文書ｍに対し、当該電子署名σの正当性を検証可能な代用検証鍵ＫＶ’（ＫＶ’≠ＫＶ）、及び当該代用検証鍵ＫＶ’に対応する代用署名鍵ＫＳ’（ＫＳ’≠ＫＳ）を生成する代用鍵生成部と、を備え、所定の場合に前記検証鍵ＫＶ及び署名鍵ＫＳを前記代用鍵生成部で生成した代用検証鍵ＫＶ’及び代用署名鍵ＫＳ’に更新する、情報処理装置が提供される。【選択図】図１６
2010262109.tif 000002
【特許請求の範囲】
【請求項１】
検証鍵ＫＶに対応する署名鍵ＫＳを用いて電子署名σを生成する署名生成部と、
前記署名生成部で電子署名σが付された電子文書ｍに対し、当該電子署名σの正当性を検証可能な代用検証鍵ＫＶ’（ＫＶ’≠ＫＶ）、及び当該代用検証鍵ＫＶ’に対応する代用署名鍵ＫＳ’（ＫＳ’≠ＫＳ）を生成する代用鍵生成部と、
を備え、
所定の場合に前記検証鍵ＫＶ及び署名鍵ＫＳを前記代用鍵生成部で生成した代用検証鍵ＫＶ’及び代用署名鍵ＫＳ’に更新する、情報処理装置。
【請求項２】
前記署名生成部によりＮ個（Ｎ≧２）の電子文書ｍｊ（ｊ＝１，…，Ｎ）に対してＮ個の電子署名σｊが生成されている場合、前記代用鍵生成部は、Ｎ個の前記電子文書及び電子署名の組み合わせ（ｍｊ，σｊ）（ｊ＝１，…，Ｎ）のうち、Ｍ個（２≦Ｍ≦Ｎ）の当該組み合わせについて前記電子署名の正当性を検証可能な代用検証鍵ＫＶ’及び当該代用検証鍵に対応する代用署名鍵ＫＳ’を生成する、請求項１に記載の情報処理装置。
【請求項３】
前記署名鍵ＫＳが露呈した場合又は所定期間が経過した場合に前記代用鍵生成部により代用検証鍵ＫＶ’及び代用署名鍵ＫＳ’を生成し、前記検証鍵ＫＶ及び署名鍵ＫＳを当該代用検証鍵ＫＶ’及び代用署名鍵ＫＳ’に更新する、請求項１又は２に記載の情報処理装置。
【請求項４】
前記代用署名鍵ＫＳ’が露呈した場合又は所定期間が経過した場合に前記代用鍵生成部により代用検証鍵ＫＶ”（ＫＶ”≠ＫＶ’，ＫＶ”≠ＫＶ）及び代用署名鍵ＫＳ”（ＫＳ”≠ＫＳ’，ＫＳ”≠ＫＳ）を生成し、前記代用検証鍵ＫＶ’及び代用署名鍵ＫＳ’を当該代用検証鍵ＫＶ”及び代用署名鍵ＫＳ”に更新する、請求項３に記載の情報処理装置。
【請求項５】
前記代用鍵生成部は、
前記代用署名鍵ＫＳ’に含める複数の第１要素を任意に選択する第１要素選択部と、
複数の前記第１要素を用いて前記代用検証鍵ＫＶ’に含める複数の第２要素を算出する第２要素算出部と、
前記第１及び第２要素に対応する前記検証鍵ＫＶ及び署名鍵ＫＳの要素に関し、前記検証鍵ＫＶを用いて前記電子署名σの正当性を検証するための検証式に含まれる当該要素を前記第１及び第２要素に置き換えた、前記第１及び第２要素に対応しない前記検証鍵ＫＶ及び署名鍵ＫＳの要素を未知数とする方程式の解を算出する要素計算部と、
少なくとも前記第１要素選択部で選択した第１要素を含む代用署名鍵ＫＳ’と、少なくとも前記第２要素選択部で選択した第２要素及び前記要素計算部の算出結果を含む代用署名鍵ＫＶ’を算出する代用鍵算出部と、
を有する、請求項１又は２に記載の情報処理装置。
【請求項６】
前記電子署名σが２つのパラメータｒ、ｓを含み、前記第２要素に対応する前記検証鍵ＫＶの要素及び前記電子文書ｍに関するパラメータをｙ、前記要素計算部の算出結果に対応する前記検証鍵ＫＶの要素をα、前記電子文書ｍ及び前記パラメータｒ、ｙに関するハッシュ値をｕとすると、前記検証式は、ｇｕ＝ｙｒ＊α＊ｒｙ＊ｓ  ｍｏｄ  ｐ（ｐは素数）で与えられる、請求項５に記載の情報処理装置。
【請求項７】
検証鍵ＫＶに対応する署名鍵ＫＳを用いて電子署名σを生成する署名生成ステップと、
前記署名生成ステップで電子署名σが付された電子文書ｍに対し、当該電子署名σの正当性を検証可能な代用検証鍵ＫＶ’（ＫＶ’≠ＫＶ）、及び当該代用検証鍵ＫＶ’に対応する代用署名鍵ＫＳ’（ＫＳ’≠ＫＳ）を生成する代用鍵生成ステップと、
所定の場合に前記検証鍵ＫＶ及び署名鍵ＫＳを前記代用鍵生成ステップで生成した代用検証鍵ＫＶ’及び代用署名鍵ＫＳ’に更新する更新ステップと、
を含む、鍵更新方法。
【請求項８】
検証鍵ＫＶに対応する署名鍵ＫＳを用いて電子署名σを生成する署名生成機能と、
前記署名生成機能により電子署名σが付された電子文書ｍに対し、当該電子署名σの正当性を検証可能な代用検証鍵ＫＶ’（ＫＶ’≠ＫＶ）、及び当該代用検証鍵ＫＶ’に対応する代用署名鍵ＫＳ’（ＫＳ’≠ＫＳ）を生成する代用鍵生成機能と、
所定の場合に前記検証鍵ＫＶ及び署名鍵ＫＳを前記代用鍵生成機能により生成した代用検証鍵ＫＶ’及び代用署名鍵ＫＳ’に更新する更新機能と、
をコンピュータに実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、鍵更新方法、及びプログラムに関する。
【背景技術】
【０００２】
通常、文書の作成者を証明するためには、その文書に作成者が署名や捺印等（以下、署名）を施す。この署名は、署名した者が当該文書の記載内容に対して責任を負うことを明示するものである。紙文書の場合、文書の作成者が手で署名を行う。一方、電子文書の場合、電子データに印鑑を押したり、署名者が手書きで署名を行うことが難しい。そのため、電子署名と呼ばれるデータを電子文書に付し、その電子署名により署名者を一意に特定する方法が用いられる。近年、様々な文書が電子化されており、電子署名の重要性が増している。こうした状況の中で、電子署名の偽造に対する耐性が問題となることが多い。紙文書に付される署名の場合も同様であるが、電子データの方が容易に複製可能な分だけ注意が必要になるのである。
【０００３】
電子署名の仕組みとしては、例えば、ＥｌＧａｍａｌ署名方式が良く知られている。この方式は、離散対数問題の困難性に基づくものである。まず、署名者は、電子署名を生成するための署名鍵と、電子署名の正当性を検証するための検証鍵とを生成する。さらに、署名者は、検証鍵を公開する。そして、署名鍵及び電子文書を用いて電子署名を生成し、電子文書と共に電子署名を検証者に提供する。そのため、検証者は、公開されている検証鍵を用いて電子署名を検証することができる。ＥｌＧａｍａｌ署名方式の場合、検証鍵から署名鍵や電子署名を生成しようとすると、計算量的に解くことが困難な離散対数問題を解く必要が生じる。電子署名から署名鍵を生成しようとした場合についても同様である。
【０００４】
しかしながら、何らかの理由で署名鍵が第３者に露呈してしまうと、第３者が自由に電子署名を偽造できてしまう。従って、署名鍵が露呈した場合、露呈した署名鍵で生成された電子署名は、真の署名者のものであるか、第３者が偽造したものであるか区別できなくなる。紙文書に付された署名の場合、複製したものと原本とは容易に判別できるが、電子データの場合には全く同じものであるために区別できない。そのため、署名鍵の露呈が発覚した段階で電子署名、署名鍵、及び検証鍵を無効にする対策が採られる。このとき、その電子署名が付された電子文書も実質的に無効になってしまう。
【０００５】
このような署名鍵の露呈に伴う被害を低減させるために様々な仕組みが考案されている。例えば、下記の特許文献１には、署名鍵に有効期限を設定し、有効期限が経過した署名鍵を廃止する方法が開示されている（図２１を参照）。この方法を用いると、署名鍵が露呈した場合に、その署名鍵を廃止したとしても、その署名鍵に対応する期間の前期間及び後期間に対応する署名鍵が有効なまま維持できる。そのため、露呈した署名鍵に対応する期間を除く他の期間において生成した電子署名、及びその電子署名が付された電子文書を無効にせず済む。その結果、無効になる電子文書を低減させることができるのである。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第３６４０７８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記文献に記載の技術を用いたとしても、露呈した署名鍵で生成した電子署名は全て無効となり、当該電子署名が付された電子文書が実質的に全て無効になってしまう。もちろん、署名鍵が露呈していなくても、その署名鍵を無効にすべき理由が生じた場合には同様に無効となる電子文書が発生してしまう。上記の通り、電子署名の役割は、紙文書に付される署名と同じである。従って、電子文書であっても、その種類によっては再度電子署名を付してもらうのが容易でないこともある。そのため、署名鍵が露呈しないように厳重に管理し、電子署名を無効にしないようにすることが非常に重要になる。しかし、署名鍵が絶対に露呈しないという保証を与えることは難しい。
【０００８】
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、ある電子署名の生成に用いた署名鍵が露呈した場合でも、その電子署名を無効にすることなく署名鍵及び検証鍵を更新することが可能な、新規かつ改良された情報処理装置、鍵更新方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明のある観点によれば、検証鍵ＫＶに対応する署名鍵ＫＳを用いて電子署名σを生成する署名生成部と、前記署名生成部で電子署名σが付された電子文書ｍに対し、当該電子署名σの正当性を検証可能な代用検証鍵ＫＶ’（ＫＶ’≠ＫＶ）、及び当該代用検証鍵ＫＶ’に対応する代用署名鍵ＫＳ’（ＫＳ’≠ＫＳ）を生成する代用鍵生成部と、を備え、所定の場合に前記検証鍵ＫＶ及び署名鍵ＫＳを前記代用鍵生成部で生成した代用検証鍵ＫＶ’及び代用署名鍵ＫＳ’に更新する、情報処理装置が提供される。
【００１０】
また、前記代用鍵生成部は、前記署名生成部によりＮ個（Ｎ≧２）の電子文書ｍｊ（ｊ＝１，…，Ｎ）に対してＮ個の電子署名σｊが生成されている場合に、Ｎ個の前記電子文書及び電子署名の組み合わせ（ｍｊ，σｊ）（ｊ＝１，…，Ｎ）のうち、Ｍ個（２≦Ｍ≦Ｎ）の当該組み合わせについて前記電子署名の正当性を検証可能な代用検証鍵ＫＶ’及び当該代用検証鍵に対応する代用署名鍵ＫＳ’を生成するように構成されていてもよい。
【００１１】
また、上記の情報処理装置は、前記署名鍵ＫＳが露呈した場合又は所定期間が経過した場合に前記代用鍵生成部により代用検証鍵ＫＶ’及び代用署名鍵ＫＳ’を生成し、前記検証鍵ＫＶ及び署名鍵ＫＳを当該代用検証鍵ＫＶ’及び代用署名鍵ＫＳ’に更新するように構成されていてもよい。
【００１２】
また、上記の情報処理装置は、前記代用署名鍵ＫＳ’が露呈した場合又は所定期間が経過した場合に前記代用鍵生成部により代用検証鍵ＫＶ”（ＫＶ”≠ＫＶ’，ＫＶ”≠ＫＶ）及び代用署名鍵ＫＳ”（ＫＳ”≠ＫＳ’，ＫＳ”≠ＫＳ）を生成し、前記代用検証鍵ＫＶ’及び代用署名鍵ＫＳ’を当該代用検証鍵ＫＶ”及び代用署名鍵ＫＳ”に更新するように構成されていてもよい。
【００１３】
また、前記代用鍵生成部は、前記代用署名鍵ＫＳ’に含める複数の第１要素を任意に選択する第１要素選択部と；複数の前記第１要素を用いて前記代用検証鍵ＫＶ’に含める複数の第２要素を算出する第２要素算出部と；前記第１及び第２要素に対応する前記検証鍵ＫＶ及び署名鍵ＫＳの要素に関し、前記検証鍵ＫＶを用いて前記電子署名σの正当性を検証するための検証式に含まれる当該要素を前記第１及び第２要素に置き換えた、前記第１及び第２要素に対応しない前記検証鍵ＫＶ及び署名鍵ＫＳの要素を未知数とする方程式の解を算出する要素計算部と；少なくとも前記第１要素選択部で選択した第１要素を含む代用署名鍵ＫＳ’と、少なくとも前記第２要素選択部で選択した第２要素及び前記要素計算部の算出結果を含む代用署名鍵ＫＶ’を算出する代用鍵算出部と、を含んでいてもよい。
【００１４】
また、前記電子署名σが２つのパラメータｒ、ｓを含み、前記第２要素に対応する前記検証鍵ＫＶの要素及び前記電子文書ｍに関するパラメータをｙ、前記要素計算部の算出結果に対応する前記検証鍵ＫＶの要素をα、前記電子文書ｍ及び前記パラメータｒ、ｙに関するハッシュ値をｕとすると、前記検証式は、ｇｕ＝ｙｒ＊α＊ｒｙ＊ｓ  ｍｏｄ  ｐ（ｐは素数）で与えられるように構成されていてもよい。
【００１５】
また、上記課題を解決するために、本発明の別の観点によれば、検証鍵ＫＶに対応する署名鍵ＫＳを用いて電子署名σを生成する署名生成ステップと、前記署名生成ステップで電子署名σが付された電子文書ｍに対し、当該電子署名σの正当性を検証可能な代用検証鍵ＫＶ’（ＫＶ’≠ＫＶ）、及び当該代用検証鍵ＫＶ’に対応する代用署名鍵ＫＳ’（ＫＳ’≠ＫＳ）を生成する代用鍵生成ステップと、所定の場合に前記検証鍵ＫＶ及び署名鍵ＫＳを前記代用鍵生成ステップで生成した代用検証鍵ＫＶ’及び代用署名鍵ＫＳ’に更新する更新ステップと、を含む、鍵更新方法が提供される。
【００１６】
また、上記課題を解決するために、本発明の別の観点によれば、検証鍵ＫＶに対応する署名鍵ＫＳを用いて電子署名σを生成する署名生成機能と、前記署名生成機能により電子署名σが付された電子文書ｍに対し、当該電子署名σの正当性を検証可能な代用検証鍵ＫＶ’（ＫＶ’≠ＫＶ）、及び当該代用検証鍵ＫＶ’に対応する代用署名鍵ＫＳ’（ＫＳ’≠ＫＳ）を生成する代用鍵生成機能と、所定の場合に前記検証鍵ＫＶ及び署名鍵ＫＳを前記代用鍵生成機能により生成した代用検証鍵ＫＶ’及び代用署名鍵ＫＳ’に更新する更新機能と、をコンピュータに実現させるためのプログラムが提供される。
【発明の効果】
【００１７】
以上説明したように本発明によれば、ある電子署名の生成に用いた署名鍵が露呈した場合でも、その電子署名を無効にすることなく署名鍵及び検証鍵を更新することが可能になる。
【図面の簡単な説明】
【００１８】
【図１】電子署名を生成するための署名鍵が露呈した場合に生じる問題を模式的に示した説明図である。
【図２】代用検証鍵の特性を示した説明図である。
【図３】鍵代用可能電子署名方式の一例であるＳＣ０８方式に関してエンティティの一構成例を示した説明図である。
【図４】ＳＣ０８方式における代用鍵生成方法、電子署名の生成方法、及び電子署名の検証方法を示した説明図である。
【図５】ＳＣ０８方式における代用鍵生成方法の流れを示す説明図である。
【図６】ＳＣ０８方式におけるシステムパラメータの生成方法を示す説明図である。
【図７】ＳＣ０８方式における電子署名の生成方法を示す説明図である。
【図８】ＳＣ０８方式における電子署名の検証方法を示す説明図である。
【図９】ＳＣ０８方式における代用鍵生成方法を詳細に示す説明図である。
【図１０】本発明の一実施形態に係る鍵代用可能電子署名方式に係るエンティティの一構成例を示した説明図である。
【図１１】同実施形態に係る鍵代用可能電子署名方式における代用鍵生成方法、鍵更新方法、電子署名の生成方法、及び電子署名の検証方法を例示した説明図である。
【図１２】同実施形態に係る鍵更新方法と他の鍵更新方法とを対比するための説明図である。
【図１３】同実施形態に係る電子署名の生成方法を示す説明図である。
【図１４】同実施形態に係る電子署名の検証方法を示す説明図である。
【図１５】同実施形態に係る代用鍵生成方法を詳細に示す説明図である。
【図１６】同実施形態に係る鍵更新システムの一構成例、署名者端末及び検証者端末の機能構成例を示す説明図である。
【図１７】同実施形態の代用鍵生成方法を拡張した拡張方式に係る電子署名の生成方法を示す説明図である。
【図１８】同実施形態の拡張方式に係る電子署名の検証方法を示す説明図である。
【図１９】同実施形態の拡張方式に係る代用鍵生成方法を詳細に示す説明図である。
【図２０】同実施形態に係る署名者端末及び検証者端末のハードウェア構成例を示す説明図である。
【図２１】期限付き電子署名方式に係る鍵更新方法を模式的に示した説明図である。
【発明を実施するための形態】
【００１９】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００２０】
［説明の流れについて］
ここで、以下に記載する本発明の実施形態に関する説明の流れについて簡単に述べる。まず、図１を参照しながら、電子署名方式において署名鍵が露呈した場合に生じる問題について簡単に説明する。さらに、図２１を併せて参照しながら、署名鍵の露呈に対する一般的な対策方法について簡単に説明し、その問題点について指摘する。次いで、図２を参照しながら、同実施形態に係る鍵更新方法にて用いる代用鍵の特性について説明する。
【００２１】
さらに、図３〜図９を参照しながら、代用鍵の生成方法に関し、作本・田中による次の研究成果（以下、ＳＣ０８方式）を例に挙げて詳細に説明する。ＳＣ０８方式：「Ｋｏｉｃｈｉ  Ｓａｋｕｍｏｔｏ  ａｎｄ  Ｋｅｉｓｕｋｅ  Ｔａｎａｋａ，“Ｋｅｙ−Ｓｕｂｓｔｉｔｕｔａｂｌｅ  Ｓｉｇｎａｔｕｒｅ．”，Ｔｈｅ  ２００８  Ｓｙｍｐｏｓｉｕｍ  ｏｎ  Ｃｒｙｐｔｏｇｒａｐｈｙ  ａｎｄ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｓｅｃｕｒｉｔｙ，  Ｍｉｙａｚａｋｉ，  Ｊａｐａｎ，  Ｊａｎ．２２−２５，  ２００８」。
【００２２】
なお、同実施形態に係る鍵更新方法にて用いる代用鍵の生成方法は、上記のＳＣ０８方式を鍵更新システムに適用するために相当の工夫を加えたものである。従って、上記のＳＣ０８方式と同実施形態に係る代用鍵生成方法とは異なるものであるが、同実施形態に係る技術的内容をより良く理解する上で有益であるため、上記の通り詳細な説明を行う。
【００２３】
次いで、図１０〜図１６を参照しながら、同実施形態に係る鍵代用可能電子署名方式、及び鍵更新システムの構成について詳細に説明する。まず、図１０を参照しながら、同実施形態の鍵更新システムを構成するエンティティの構成例について説明する。次いで、図１１を参照しながら、署名者及び検証者が行う手続きについて説明する。次いで、図１２を参照しながら、同実施形態に係る鍵更新方法と他の鍵更新方法とを対比しながら、それらの違いについて説明する。
【００２４】
次いで、図１３〜図１５を参照しながら、同実施形態に係る鍵代用可能電子署名方式の具体的なアルゴリズムについて説明する。次いで、図１６を参照しながら、同実施形態に係る鍵更新システムのシステム構成について説明すると共に、署名者端末及び検証者端末の機能構成について説明する。次いで、図１７〜図１９を参照しながら、同実施形態に係る鍵更新方法の一拡張例について説明する。この中で、複数の（電子署名、電子文書）ペアを対象とする代用鍵の生成方法について説明する。次いで、図２０を参照しながら、同実施形態に係る署名者端末及び検証者端末のハードウェア構成例について説明する。
【００２５】
（説明項目）
１：実施形態
１−１：署名鍵の露呈について
１−２：期限付き署名方式について
１−３：ＳＣ０８方式
１−３−１：システム構成
１−３−２：代用鍵生成方法
１−３−３：アルゴリズム
１−４：本手法
１−４−１：システム構成
１−４−２：鍵更新方法の対比
１−４−３：アルゴリズム
１−４−４：端末の機能構成
１−５：拡張方式
１−５−１：アルゴリズム
１−６：各端末のハードウェア構成例
【００２６】
＜１：実施形態＞
本発明の第１実施形態について説明する。本実施形態は、電子署名に用いる署名鍵が露呈した場合においても、その署名鍵で過去に生成した電子署名を無効にせずに、その署名鍵を他の署名鍵に更新する手法（以下、本手法）を提案するものである。つまり、本手法を適用すると、露呈した署名鍵を廃止しても、その署名鍵を用いて過去に署名した電子文書は有効なまま維持されることになる。以下、本手法について説明する。
【００２７】
［１−１：署名鍵の露呈について］
まず、図１を参照しながら、署名鍵の露呈について簡単に説明する。図１には、電子文書ｍに付した電子署名σを生成するための署名鍵ｓｋが露呈した場合に生じる問題点が模式的に示されている。
【００２８】
図１に示すように、署名鍵ｓｋを用いて電子文書ｍに付された正当な電子署名σは、署名鍵ｓｋとペアを成す正当な検証鍵ｐｋを用いて検証することができる。なお、検証鍵ｐｋは公開されている。また、この検証には、所定の検証式が用いられる。つまり、検証者は、所定の検証式に対して電子文書ｍ、電子署名σ、及び検証鍵ｐｋの情報を入力し、所定の検証式の成否を判定することにより、電子署名σの正当性を検証する。このように、検証鍵ｐｋについて、電子文書ｍに対する電子署名σが正当なものであると判定される場合、「検証鍵ｐｋが電子署名σ及び電子文書ｍのペア（ｍ，σ）を受理する」と言う。
【００２９】
さて、署名鍵ｓｋは、署名者により秘密に管理され、通常、他人に知られることはない。もちろん、署名者は、検証者に対しても署名鍵ｓｋを知られないように管理する。しかし、署名鍵ｓｋが絶対に露呈しないということを保証することは難しい。例えば、署名者が利用する端末が攻撃を受け、その端末に保管していた署名鍵ｓｋの情報が漏れることも大いに考えられる。このように、何らかの理由で署名鍵ｓｋが他人（以下、攻撃者）に露呈した場合（Ｓ１）、攻撃者は、任意の電子文書に電子署名σを付すことが可能になる。つまり、電子署名σが偽造されてしまう。
【００３０】
例えば、露呈した署名鍵ｓｋを用いて攻撃者が電子文書ｍ１に電子署名σを付した場合について考えてみよう。この場合、電子文書ｍ１に付された電子署名σは、正当な署名鍵ｓｋで生成されたものであるため、検証鍵ｐｋにより受理される。つまり、攻撃者が生成した署名であるにも関わらず、正当な署名者の署名として受理されてしまうのである。例えば、電子文書ｍ１が不動産の売買契約書であった場合、正当な署名者は、知らないところで自分が所有する不動産を勝手に売却されてしまう危険性があるということになる。
【００３１】
そこで、正当な署名者は、署名鍵ｓｋの露呈が発覚すると、その署名鍵ｓｋを無効にする（Ｓ２）。署名鍵ｓｋが無効になると、その署名鍵ｓｋとペアを成す検証鍵ｐｋも無効になる。さらに、その署名鍵ｓｋで生成された電子署名σも無効になる。例えば、電子文書ｍが契約書であった場合、電子署名σが無効になると、電子文書ｍを用いて交わされた契約が無効になってしまう。電子文書ｍが重要度の低い社内文書のようなものであれば、新たに生成した署名鍵ｓｋ’を用いて再び電子署名σ’を付せば良いが、第３者との間で交わされた契約書のような重要文書の場合には簡単に再署名できないことが多い。
【００３２】
こうした理由に鑑み、本件発明者は、攻撃者が偽造した電子署名σは受理せず、正当な署名者が電子文書ｍに対して過去に付した電子署名σだけを受理するような他の検証鍵ｐｋ’を生成すればよいという考えに想到した。なお、これまでも署名鍵ｓｋの露呈に伴って過去に生成された電子署名σが無効になってしまうという問題に対して様々な対策が考えられてきた。しかし、その多くは、署名鍵ｓｋの露呈に伴って電子署名σが無効になることによる影響を低減させるものであり、無効になる電子署名σを救済する手段ではない。署名鍵ｓｋの露呈に対する対策の一例として、期限付き署名方式について紹介する。
【００３３】
［１−２：期限付き署名方式について］
期限付き署名方式とは、図２１に示すような方式である。この方式では、署名鍵ｓｋが所定期間毎に更新される。一方、検証鍵ｐｋは全期間で共通のものとする。例えば、期間１（Ｐｅｒｉｏｄ１）では署名鍵ｓｋ１が用いられ、期間１においてのみ有効な電子署名が生成される。時間が経過し、期間２に移ると、期間２においてのみ有効な署名鍵ｓｋ２が用いられ、期間２においてのみ有効な電子署名が生成される。この方式の場合、仮に期間２において署名鍵ｓｋ１による電子署名が生成されたとしても、その電子署名は検証鍵ｐｋで受理されない。
【００３４】
従って、図２１のステップＢに示すように署名鍵ｓｋ１、ｓｋ３、ｓｋ４が露呈し、ステップＣに示すように期間１、３、４の電子署名が無効化されても、期間２、５、…の電子署名は有効なまま維持される。そのため、期間２、５、…の期間に署名鍵ｓｋ２、ｓｋ５、…を用いて生成された電子署名が付属する電子文書は無効化されずに済む。しかしながら、期間１、３、４において生成された電子署名が付属する電子文書は無効になってしまうため、上記問題の根本的な解決には至らない。やはり、上記問題の解決には、露呈前に署名鍵ｓｋで生成された電子署名σを救済する手段が必要になるのである。
【００３５】
［１−３：ＳＣ０８方式］
既に述べたように、本手法は、露呈前に署名者が署名鍵ｓｋを用いて生成した電子署名σ及び電子文書ｍのペアを受理する他の署名鍵ｓｋ’（以下、代用署名鍵ｓｋ’）を利用し、その電子署名σ及び電子文書ｍを無効にせずに露呈した署名鍵ｓｋを廃止する方法に関する。つまり、本手法は、露呈した署名鍵ｓｋを代用署名鍵ｓｋ’に更新する方法に関する。なお、本手法のような鍵更新方式に用いる代用署名鍵ｓｋ’及び当該代用署名鍵ｓｋ’とペアを成す検証鍵ｐｋ’（以下、代用検証鍵ｐｋ’）の生成方法については知られていない。しかし、代用署名鍵ｓｋ’及び代用検証鍵ｐｋ’（以下、代用鍵）の概念については、作本・田中による研究結果の報告（ＳＣ０８方式）がある。そこで、本手法について詳細に説明するに先立ち、ＳＣ０８方式について説明することにする。
【００３６】
（代用検証鍵ｐｋ’の特性について）
まず、図２を参照しながら、代用検証鍵ｐｋ’の特性について簡単に説明しておくことにする。上記の通り、代用検証鍵ｐｋ’は、ある署名鍵ｓｋで生成された電子署名σ及び当該電子署名σが付された電子文書ｍを受理するものである。従って、代用検証鍵ｐｋ’は、電子文書ｍ及び電子署名σのペアに対して生成される。当然のことながら、代用検証鍵ｐｋ’は、署名鍵ｓｋとペアを成す検証鍵ｐｋとは異なるものである。
【００３７】
また、代用検証鍵ｐｋ’には少なくとも次のような条件が課される。条件（１）：署名者以外が勝手に代用検証鍵ｐｋ’を生成することは不可能である。条件（２）：代用検証鍵ｐｋ’とペアを成す代用署名鍵ｓｋ’により生成される電子署名σ’が署名鍵ｓｋ、検証鍵ｐｋにより偽造されない。条件（１）により鍵置き換え攻撃に対抗することができる。また、条件（２）により代用署名鍵ｓｋ’で生成した電子署名σ’の偽造を防止することができる。ＳＣ０８方式では、このような代用鍵を生成する手法が提案されている。
【００３８】
（１−３−１：システム構成）
ＳＣ０８方式では、電子署名システムのモデルとして、５つのエンティティが想定されている。ＳＣ０８方式で想定しているエンティティは、図３に示すように、システム管理者、署名者、検証者、認証局、及び身代わり署名者（以下、代用鍵生成者）の５つである。システム管理者は、システムパラメータ生成アルゴリズム（ＳｅｔｕｐＫＳＳ）を用いてシステムパラメータｃｐを生成するエンティティである。署名者は、鍵生成アルゴリズム（ＧｅｎＫＳＳ）を用いて各署名者固有の署名鍵ｓｋ及び当該署名鍵ｓｋとペアを成す検証鍵ｐｋを生成するエンティティである。また、署名者は、署名生成アルゴリズム（ＳｉｇＫＳＳ）を用いて電子文書ｍに対する電子署名σを生成する。
【００３９】
検証者は、署名検証アルゴリズム（ＶｅｒＫＳＳ）を用いて電子文書ｍに付された電子署名σの正当性を検証するエンティティである。代用鍵生成者は、代用鍵生成アルゴリズム＜ＯＲＧ（ｓｋ），ＳＵＢ＞を用いて代用署名鍵ｓｋ’及び当該代用署名鍵ｓｋ’とペアを成す代用検証鍵ｐｋ’を生成するエンティティである。但し、代用鍵生成者は、ある電子文書ｍ及びその電子文書ｍに付された電子署名σに対する代用鍵を生成する際、その電子文書ｍに付された電子署名σの生成者である署名者との間で対話を行いながら代用鍵を生成する。認証局は、署名者又は代用鍵生成者が生成した検証鍵又は代用検証鍵の正当性を保証するための証明書を発行するエンティティである。
【００４０】
これらのエンティティは、図４に示すような手続きを実行し、署名鍵ｓｋ及び検証鍵ｐｋの生成、電子署名σの生成、代用署名鍵ｓｋ’及び代用検証鍵ｐｋ’の生成、電子署名σの検証を行う。なお、システム管理者によりシステムパラメータ生成アルゴリズム（ＳｅｔｕｐＫＳＳ）を用いてシステムパラメータｃｐが既に生成されているものとする。また、ＳｅｔｕｐＫＳＳを用いてｃｐを生成することを下記の式（１）のように表現する。但し、１λはセキュリティパラメータである。
【００４１】
【数１】
2010262109.tif 000003
…（１）
【００４２】
（署名者による鍵生成工程）
まず、署名者が行う鍵生成手続きについて説明する。図４に示すように、署名者は、鍵生成工程において、システム管理者からシステムパラメータｃｐを取得する。次いで、署名者は、鍵生成アルゴリズム（ＧｅｎＫＳＳ）にシステムパラメータｃｐを入力し、署名鍵ｓｋと検証鍵ｐｋのペアを生成する。なお、ＧｅｎＫＳＳを用いて（ｓｋ，ｐｋ）を生成することを下記の式（２）のように表現する。鍵生成アルゴリズムＧｅｎＫＳＳを用いて署名鍵ｓｋ及び検証鍵ｐｋを生成すると、署名者は、生成した署名鍵ｓｋ及び検証鍵ｐｋをペアにして保管する。そして、署名者は、必要に応じて検証鍵ｐｋを自身の検証鍵として認証局に登録し、その証明書を受け取る。
【００４３】
【数２】
2010262109.tif 000004
…（２）
【００４４】
（署名者による署名生成工程）
次に、署名者が行う署名生成手続きについて説明する。図４に示すように、署名者は、署名を付すべき電子文書ｍ、及び保管している署名鍵ｓｋを用意する。次いで、署名者は、署名生成アルゴリズム（ＳｉｇＫＳＳ）に署名鍵ｓｋ及び電子文書ｍを入力し、電子署名σを生成する。なお、ＳｉｇＫＳＳを用いてσを生成することを下記の式（３）のように表現する。次いで、署名者は、下記の式（３）で生成した電子署名σ（アルゴリズムの出力値）を電子文書ｍに対する電子署名σに設定する。
【００４５】
【数３】
2010262109.tif 000005
…（３）
【００４６】
（署名者及び代用署名者による代用鍵生成工程）
次に、署名者及び代用署名者が協働して行う代用鍵生成手続きについて、その概要を説明する。なお、代用鍵生成方法の詳細については後述する。まず、署名者は、電子文書ｍ、電子署名σ、電子署名σの生成に用いた署名鍵ｓｋ、署名鍵ｓｋとペアを成す検証鍵ｐｋを用意する。次いで、署名者は、用意した電子文書ｍ、電子署名σ、検証鍵ｐｋを代用鍵生成者に提供する。このとき、代用鍵生成者は、署名者から電子文書ｍ、電子署名σ、検証鍵ｐｋを取得する。
【００４７】
次いで、署名者及び代用鍵生成者は、代用鍵生成アルゴリズム＜ＯＲＧ（ｓｋ），ＳＵＢ＞に共通パラメータとして検証鍵ｐｋ、電子文書ｍ、及び電子署名σを入力する。さらに、署名者は、代用鍵生成者との対話の中で、署名鍵ｓｋの情報を用いて代用鍵生成者が代用鍵を生成できるような情報を代用鍵生成者に提供する。そして、代用鍵生成者は、電子文書ｍ、電子署名σを受理する代用検証鍵ｐｋ’、及び当該代用検証鍵ｐｋ’とペアを成す代用署名鍵ｓｋ’を生成する。
【００４８】
なお、＜ＯＲＧ（ｓｋ），ＳＵＢ＞を用いてｓｋ’、ｐｋ’を生成することを下記の式（４）のように表現する。ここで、ＯＲＧは署名者に対応し、ＳＵＢは代用鍵生成者に対応する。つまり、ＯＲＧ（ｓｋ）は、署名者が代用鍵生成アルゴリズムの中で署名鍵ｓｋを利用することを示すものである。但し、署名鍵ｓｋは、ＳＵＢである代用鍵生成者に開示されず、ＯＲＧである署名者側で閉じた演算に利用され、その演算結果のみが代用鍵生成者に提供される。その詳細については後述する。下記の式（４）で代用署名鍵ｓｋ’及び代用検証鍵ｐｋ’を生成すると、代用鍵生成者は、必要に応じて代用検証鍵ｐｋ’を自身の検証鍵として認証局に登録し、その証明書を受け取る。
【００４９】
【数４】
2010262109.tif 000006
…（４）
【００５０】
（検証者による署名検証工程）
次に、検証者が行う手続きについて説明する。まず、検証者は、署名者から電子署名σ、電子文書ｍ、及び検証鍵ｐｋを取得する。次いで、検証者は、必要に応じて、検証鍵ｐｋが本当に署名者の検証鍵であるか否かを認証局の証明書で確認する。次いで、検証者は、署名検証アルゴリズム（ＶｅｒＫＳＳ）に検証鍵ｐｋ、電子文書ｍ、電子署名σを入力し、検証結果ｖｏｕｔ＝０（エラー）又は１（受理）を算出する。なお、ＶｅｒＫＳＳによりｖｏｕｔを算出することを下記の式（５）のように表現する。次いで、検証者は、下記の式（５）で算出された検証結果ｖｏｕｔに応じてｖｏｕｔ＝１ならば（σ，ｍ）を受理し、ｖｏｕｔ＝０ならば拒否する。なお、代用検証鍵ｐｋ’を用いた検証手続きを行う場合についても同様である。
【００５１】
【数５】
2010262109.tif 000007
…（５）
【００５２】
以上説明したように、ＳＣ０８方式では、署名者と代用鍵生成者とが対話を行うことにより、署名鍵ｓｋで生成した電子文書ｍに対する電子署名σを受理する代用検証鍵ｐｋ’を生成している。ＳＣ０８方式は、そもそも鍵更新方法を実現するために考案されたものではなく、署名者とは異なるエンティティ（代用鍵生成者）に代用鍵を安全に生成させるための技術である。ＳＣ０８方式では、勝手に代用鍵を生成されないよう、真の署名者との対話を代用鍵生成の要件としている。そのため、代用鍵の生成工程に関しては、上記のように入力情報の種類に工夫を凝らした対話的な手法が用いられているのである。以下、この代用鍵生成方法について、より具体的な例を示しながら詳細に説明する。
【００５３】
（１−３−２：代用鍵生成方法）
まず、図５を参照する。図５は、ＳＣ０８方式の代用鍵生成アルゴリズム＜ＯＲＧ（ｓｋ），ＳＵＢ＞における処理の大まかな流れを示した説明図である。図５に示すように、署名者及び代用鍵生成者の双方に共有情報として検証鍵ｐｋ、電子文書ｍ、電子署名σが入力されているものとする。また、署名者側では、署名鍵ｓｋも利用される。但し、代用鍵生成者が署名者の電子署名を偽造できないようにするため、署名鍵ｓｋが代用鍵生成者に提供されることはない点に注意されたい。
【００５４】
まず、代用鍵生成者により代用署名鍵ｓｋ’が生成され、その代用署名鍵ｓｋ’の情報を用いて代用検証鍵ｐｋ’の一部情報が生成される。上記の通り、代用検証鍵ｐｋ’は、署名鍵ｓｋで生成された電子署名σを受理すべきものである。そのため、署名鍵ｓｋの情報を知らない代用鍵生成者は、署名鍵ｓｋの情報を知得せずに代用検証鍵ｐｋ’を生成することはできない。また、代用検証鍵ｐｋ’は、代用署名鍵ｓｋ’で生成された電子署名σ’（σ’≠σ）を受理すべきものである。そのため、代用検証鍵ｐｋ’に代用署名鍵ｓｋ’に関する情報が含まれている必要がある。こうした理由から、上記のように代用検証鍵ｐｋ’に含める一部情報が代用鍵生成者により生成されるのである。
【００５５】
代用鍵生成者により生成された代用検証鍵ｐｋ’に含める一部情報は、代用鍵生成者から署名者に提供される（Ｓ１２）。次いで、代用検証鍵ｐｋ’の一部情報を取得すると、署名者は、乱数を発生させ、その乱数を代用鍵生成者に提供する（Ｓ１４）。署名者から乱数を取得すると、代用鍵生成者は、取得した乱数を利用し、代用検証鍵ｐｋ’の生成に必要な代用署名鍵ｓｋ’の情報を署名者に提供する（Ｓ１６）。上記の通り、代用検証鍵ｐｋ’は、代用署名鍵ｓｋ’で生成された電子署名σ’をも受理する必要がある。そのため、代用署名鍵ｓｋ’に関する情報を署名者に提供する必要が生じる。
【００５６】
しかし、代用署名鍵ｓｋ’が署名者に知られると、代用署名鍵ｓｋ’で生成される電子署名σ’が勝手に利用されてしまう。そこで、代用鍵生成者は、乱数を利用して代用署名鍵ｓｋ’が署名者に特定されず、かつ、代用検証鍵ｐｋ’を生成することが可能な形にして代用署名鍵ｓｋ’に関する情報を署名者に提供するのである。このような代用署名鍵ｓｋ’に関する情報を取得すると、署名者は、代用検証鍵ｐｋ’を生成する（Ｓ１８）。次いで、署名者は、生成した代用検証鍵ｐｋ’を代用鍵生成者に提供する。つまり、ＳＣ０８方式では、代用鍵生成者とは言うものの、実質的に署名者が代用検証鍵ｐｋ’を生成しているのである。
【００５７】
以上説明した方法により、代用署名鍵ｓｋ’及び代用検証鍵ｐｋ’が生成される。ここまで、図５を参照しながらＳＣ０８方式における代用鍵生成処理の大まかな流れについて説明してきた。しかし、上記説明の中では具体的な演算方法について説明していない。そこで、図５で示した各処理ステップの内容を実現するための具体的な演算アルゴリズムについて以下で詳細に説明する。
【００５８】
（１−３−３：アルゴリズム）
まず、代用鍵生成アルゴリズムの具体的な演算内容について説明するに先立ち、ＳＣ０８方式のシステムパラメータ生成アルゴリズム、鍵生成アルゴリズム、署名生成アルゴリズム、及び署名検証アルゴリズムについて説明する。これらのアルゴリズムは相互に関係するものであり、代用鍵生成アルゴリズムを実現するためのＳＣ０８方式に特徴的な構成を含んでいる。
【００５９】
（システムパラメータ生成アルゴリズム）
まず、図６を参照しながら、上記の式（１）で示したシステムパラメータ生成アルゴリズムについて説明する。図６は、システムパラメータ生成アルゴリズムの具体的な演算内容について、その一例を示す説明図である。なお、システムパラメータ生成アルゴリズムは、システム管理者により実行される。
【００６０】
システムパラメータ生成アルゴリズムにおいては、まず、素数ｑ＝３（ｍｏｄ  ４）に対し、下記の式（６）を満たすλビットの素数ｐが選択される（Ｓ３０）。次いで、位数ｐとなるＺｐ＊の元ｇが選択される（Ｓ３２）。但し、Ｚｐは素数ｐを法とする整数の有限体を意味し、Ｚｐ＊はその乗法群を意味する。次いで、素数ｐ、元ｇを含むシステムパラメータｃｐ＝（ｇ，ｐ）が設定される（Ｓ３４）。ここまでがシステムパラメータ生成アルゴリズムの内容である。このようにしてシステムパラメータｃｐを生成すると、システム管理者は、システムパラメータｃｐを各エンティティに提供する（Ｓ３６）。以下の説明においては各エンティティにシステムパラメータｃｐが提供されているものとする。
【００６１】
【数６】
2010262109.tif 000008
…（６）
【００６２】
（鍵生成アルゴリズム、署名生成アルゴリズム）
次に、図７を参照しながら、上記の式（２）で示した鍵生成アルゴリズム、及び上記の式（３）に示した署名生成アルゴリズムについて説明する。図７は、鍵生成アルゴリズム及び署名生成アルゴリズムの具体的な演算内容について、その一例を示す説明図である。なお、鍵生成アルゴリズム及び署名生成アルゴリズムは、署名者により実行される。
【００６３】
まず、鍵生成アルゴリズムについて説明する。鍵生成アルゴリズムにおいては、まず、ランダムにＺｑの元ｘ１、ｘ２が選択される（Ｓ４０）。次いで、選択されたｘ１、ｘ２を用いて、下記の式（７）及び式（８）に示すようにｙ１、ｙ２が算出される（Ｓ４２）。次いで、ランダムにＺｑ＊の元αが選択される（Ｓ４４）。次いで、ランダムに｛０，１｝λの元ｗが選択される（Ｓ４６）。なお、ステップＳ４４、Ｓ４６の処理順序は、適宜変更可能である。ここまでが鍵生成アルゴリズムの内容である。以上の演算により、下記の式（９）に示す検証鍵ｐｋ、及び下記の式（１０）に示す署名鍵ｓｋが生成される。
【００６４】
【数７】
2010262109.tif 000009
【００６５】
次に、署名生成アルゴリズムについて説明する。上記の式（３）に示した通り、署名生成アルゴリズムには、鍵生成アルゴリズムで生成された署名鍵ｓｋ、及び電子文書ｍが入力される。但し、検証鍵ｐｋも既に算出されていることから、検証鍵ｐｋを入力値に加えてもよい。このように入力値を変更すると、例えば、署名生成アルゴリズムに上記の式（７）又は式（８）で示されるｙ１、ｙ２と同じ演算式が含まれている場合、その演算処理を行わずに済む。以下の説明においては、上記の式（７）又は式（８）と同じ演算式が含まれている部分をそれぞれｙ１、ｙ２と表記することにする。
【００６６】
署名生成アルゴリズムにおいては、まず、ランダムにＺｑ＊の元ｋ１が選択される（Ｓ５０）。次に、選択されたｋ１を用いて下記の式（１１）に示すｒ１が算出される（Ｓ５２）。次いで、ｒ１、ｘ１、ｘ２を用いて下記の式（１２）に示すｋ２が算出される（Ｓ５４）。但し、ｈ３（…）は、ハッシュ関数である。ハッシュ関数とは、あるビット列ａ∈｛０，１｝＊から一定範囲の数値を生成する関数である。また、あるビット列をハッシュ関数に適用して得られる値をハッシュ値と呼ぶ。なお、下記の式（１２）において、パラメータとして与えられるｒ１、ｘ１、ｘ２は、例えば、それらビット列が連結されてハッシュ関数ｈ３に入力される。なお、パラメータの入力時に行う処理に関しては、連結に限定されない点に注意されたい。
【００６７】
次いで、算出されたｋ２を用いて下記の式（１３）に示すｒ２が算出される（Ｓ５６）。次いで、電子署名σを付す電子文書ｍ、上記の演算により算出されたパラメータｒ１、ｒ２、及び検証鍵ｐｋに含まれるｙ１、ｙ２（但し、ｘ１、ｘ２から生成可能。）を用いて下記の式（１４）及び式（１５）に示すパラメータｃ、ｄが算出される（Ｓ５８）。但し、ｈ１（…）、ｈ２（…）はいずれもハッシュ関数である。また、パラメータｍ、ｒ１、ｒ２、ｙ１、ｙ２、ｗは、例えば、連結されてから入力される。なお、パラメータの入力時に行う処理に関しては、連結に限定されない点に注意されたい。
【００６８】
次いで、算出されたパラメータｃ、ｄを用いて下記の式（１６）及び式（１７）に示すｙ及びｒが算出される（Ｓ６０）。次いで、ステップＳ５０〜Ｓ６０において得られたパラメータを用いて下記の式（１８）を満たすＺｑの元ｓが算出される（Ｓ６２）。但し、Ｈ（…）はハッシュ関数である。また、パラメータｃ、ｒ、ｙは、例えば、連結されてから入力される。なお、パラメータの入力時に行う処理に関しては、連結に限定されない点に注意されたい。以上の演算により、下記の式（１９）に示す電子署名σが得られる。
【００６９】
【数８】
2010262109.tif 000010
【００７０】
（署名検証アルゴリズム）
次に、図８を参照しながら、上記の式（５）で示した署名検証アルゴリズムについて説明する。図８は、署名検証アルゴリズムの具体的な演算内容について、その一例を示す説明図である。なお、署名検証アルゴリズムは、検証者により実行される。
【００７１】
まず、検証者は、公開されている検証鍵ｐｋ（式（９）を参照）を取得する（Ｓ７０）。さらに、検証者は、署名者から電子署名σ（式（１９）を参照）、及び電子文書ｍを取得する（Ｓ７２）。検証者は、これらの取得した情報を署名検証アルゴリズムに入力して電子署名σを検証する。なお、システムパラメータｃｐも予め取得しているものとする。
【００７２】
署名検証アルゴリズムにおいては、まず、上記の式（１４）、式（１５）、式（１６）、及び式（１７）によりパラメータｃ、ｄ、ｙ、ｒが算出される（Ｓ７４）。次いで、算出したパラメータが下記の式（２０）に示す検証式Ａに代入され、検証式Ａの成否が確認される（Ｓ７６、Ｓ７８）。検証式Ａが成り立つ場合、その電子署名σが正当であるとみなし、「受理」を示す出力値ｖｏｕｔ＝１を出力して（Ｓ８０）一連の処理を終了する。一方、検証式Ａが不成立の場合、エラーを示す出力値ｖｏｕｔ＝０を出力して（Ｓ８２）一連の処理を終了する。以上の演算により、電子文書ｍに対する電子署名σの正当性が検証される。
【００７３】
【数９】
2010262109.tif 000011
【００７４】
（ＳＣ０８方式のアイデアについて）
さて、電子署名方式は検証式の形により決まると言っても過言ではない。ちなみに、上記の検証式Ａは、ＳＣ０８方式に特有のものである。この検証式Ａは、下記の式（２１）に示すＥｌＧａｍａｌ署名方式の検証式を改良して開発したものである。ＥｌＧａｍａｌ署名方式の場合、ｐ＝２＊ｑ＋１、かつ、ｑ＝３（ｍｏｄ４）となる素数ｑ、ｐについて、位数ｑとなるＺｐ＊の元ｇをシステムパラメータに用いると、電子文書ｍと電子署名σのペアを受理する検証鍵ｐｋは唯１つしか存在しない。そのため、ＥｌＧａｍａｌ署名方式の検証式に基づいて署名生成システムを構成しようとすると、代用鍵を生成することができない。そこで考案されたのが、上記の式（２０）に示したＳＣ０８方式の検証式Ａである。以下、ＳＣ０８方式のアイデアについて、もう少し詳しく説明する。
【００７５】
【数１０】
2010262109.tif 000012
【００７６】
まず、ＳＣ０８方式では、検証鍵ｐｋの要素を追加すると共に検証式を変形している。このとき、（１）正当な署名者との対話を行なえば代用鍵が生成できること、（２）正当な署名者との対話を行なわない限り、勝手に代用検証鍵を生成することができないことが考慮されている。作本らは、まず、ＥｌＧａｍａｌ署名方式が「検証鍵を与えられても、検証式を満たすような電子署名を計算することはできない」という性質を持つことに着目した。そして、作本らは、このＥｌＧａｍａｌ署名方式が持つ性質と上記の式（２１）に示す検証式とを参照し、検証式中に現れる電子署名の要素ｒと検証鍵の要素ｙが対称的であれば「電子署名を与えられても検証式を満たすような検証鍵を計算することはできない」という性質を持つことに気づいた。ここで言う対称的とは、ａの肩（べき乗部分）にｂが、ｂの肩（べき乗部分）にａが乗るという形（ａｂ＊ｂａ）を意味する。
【００７７】
そこで、作本らは、このアイデアに基づき、下記の式（２２）のように検証鍵ｐｋにパラメータαを追加し、下記の式（２３）のように検証式を変形した。検証鍵ｐｋにパラメータαを追加したことで代用鍵の生成が可能になった。しかし、下記の式（２２）に示す検証鍵ｐｋに基づいて成立する下記の式（２３）の検証式を用いると、代用鍵生成者がオリジナルの署名鍵ｓｋを計算できてしまう。例えば、代用署名鍵ｓｋ’＝ｘ’、代用検証鍵ｐｋ’＝（ｙ’，α’）とすると、代用鍵生成者は、下記の式（２４）に基づいて署名者が秘密に保持すべきパラメータｋを算出することができてしまう。さらに、オリジナルの署名鍵ｓｋ＝ｘを用いて下記の式（２５）が成り立つことが分かっているため、パラメータｋを用いて下記の式（２５）から署名鍵ｓｋを算出することができてしまう。
【００７８】
【数１１】
2010262109.tif 000013
【００７９】
そこで、作本らは、上記の式（９）及び式（１０）に示すように、署名鍵ｓｋ及び検証鍵ｐｋに含まれるパラメータを二重化し、代用鍵生成者がオリジナルの署名鍵ｓｋを生成することができないようにした。もちろん、代用署名鍵ｓｋ’及び代用検証鍵ｐｋ’についても、それらに含まれるパラメータが二重化されている。なお、ＳＣ０８方式においては、代用鍵生成者が秘密に保持する代用署名鍵ｓｋ’を署名者が生成できないようにすることも考慮されている。ＳＣ０８方式は、このようなアイデアに基づくものである。以下、当該アイデアを具体化したＳＣ０８方式の代用鍵生成アルゴリズムについて説明する。
【００８０】
（代用鍵生成アルゴリズム）
次に、図９を参照しながら、上記の式（４）で示した代用鍵生成アルゴリズムについて説明する。図９は、代用鍵生成アルゴリズムの具体的な演算内容について、その一例を示す説明図である。なお、代用鍵生成アルゴリズムは対話プロトコルに基づくものであり、署名者と代用鍵生成者との対話を通じて実現される。
【００８１】
代用鍵生成アルゴリズムにおいては、まず、署名者により署名鍵ｓｋが入力される（Ｓ１００）。但し、署名鍵ｓｋは代用鍵生成者に提供されない。また、代用鍵生成者によりランダムにＺｑの元ｘ１’，ｘ２’が選択され、下記の式（２６）及び式（２７）に示すｙ１’、ｙ２’が算出される（Ｓ１０２）。なお、ｘ１’、ｘ２’は、代用署名鍵ｓｋ’に含めるパラメータである。また、ｙ１’、ｙ２’は、代用検証鍵ｐｋ’に含めるパラメータである。次いで、代用鍵生成者から署名者にｙ１’、ｙ２’が提供される（Ｓ１０４）。次いで、署名者は、ランダムにＺｑの元ｗ’を選択する（Ｓ１０６）。次いで、署名者から代用鍵生成者にｗ’が提供される（Ｓ１０８）。
【００８２】
ｗ’を取得すると、代用鍵生成者は、取得したｗ’を用いて下記の式（２８）に示すｃ’、及び下記の式（２９）に示すｚを算出する（Ｓ１１０）。次いで、代用鍵生成者から署名者にｚが提供される（Ｓ１１２）。このｚには代用署名鍵ｓｋ’の一部を成すパラメータｘ１’、ｘ２’が含まれているが、ｘ１’、ｘ２’を個々に特定できない形で署名者に提供されている点に注意されたい。次いで、ｚを取得すると、署名者は、上記の式（１４）、式（１５）、式（１６）、式（１７）を用いてｃ、ｄ、ｙ、ｒを算出し、上記の式（１８）を満たすｋを算出する。署名者は、パラメータｋ１、ｋ２を保管していないことが多い。そのため、ここではパラメータｋ１、ｋ２を再計算しようとしているのである。
【００８３】
もちろん、パラメータｋ１、ｋ２を保持している場合には、これらの演算を省略することができる。次いで、署名者は、上記の式（１２）を用いてｋ２を算出し、算出したｋ、ｋ２を下記の式（３０）に代入してｋ１を算出する。この段階でパラメータｋ１、ｋ２が得られたことになる。次いで、署名者は、下記の式（２８）に基づいてｃ’を算出する。さらに、署名者は、下記の式（３１）に基づいてｄ’を算出する。次いで、署名者は、下記の式（３２）、式（３３）に基づいてｙ’、ｒ’を算出する。さらに、署名者は、算出したｙ’を用いて式（３４）が成立するか否かを検証する。このとき、下記の式（３４）が不成立ならば署名者はエラーを出力して一連の処理を終了する。
【００８４】
次いで、署名者は、下記の式（３５）を満たすα’を算出する（Ｓ１１４）。そして、署名者から代用鍵生成者にパラメータα’が提供される。このパラメータα’とパラメータｙ１’、ｙ２’、ｗ’とを組み合わせることで代用検証鍵ｐｋ’が生成される。なお、代用署名鍵ｓｋ’にα’を含めることとすれば、この時点で代用署名鍵ｓｋ’も生成されることになる。また、署名者が代用検証鍵ｐｋ’を生成し、代用署名者に提供するように構成されていてもよい。ＳＣ０８方式においては、以上説明した方法により、代用検証鍵ｐｋ’、及び代用署名鍵ｓｋ’が生成される。
【００８５】
【数１２】
2010262109.tif 000014
【００８６】
以上、ＳＣ０８方式について詳細に説明した。以下では、本手法に係る鍵更新方法について説明する。なお、本手法の代用鍵生成方法は、ＳＣ０８方式に係る代用鍵生成方法の基本的なアイデアを踏襲しつつ、鍵更新に適用するための工夫を加えたものである。従って、以上説明したＳＣ０８方式の代用鍵生成方法を念頭に置きつつ、本手法の鍵更新方法に用いる代用鍵生成方法について詳細に説明していくことにする。
【００８７】
［１−４：本手法］
本手法は、電子署名に用いる署名鍵が露呈した場合においても、その署名鍵で過去に生成した電子署名を無効にせずに、その署名鍵を代用署名鍵に更新する方法を提案するものである。代用鍵を用いるという点でＳＣ０８方式と共通する部分があるが、上記のＳＣ０８方式とは異なり、本手法はあくまでも鍵更新方法である点に注意されたい。
【００８８】
（１−４−１：システム構成）
まず、本手法に係るシステム構成について説明する。本手法では、電子署名システムのモデルとして、４つのエンティティが想定されている。本手法で想定しているエンティティは、図１０に示すように、システム管理者、署名者（代用鍵生成者）、検証者、認証局の４つである。ＳＣ０８方式では、代用鍵生成者として身代わり署名者を想定していたが、本手法では署名者が代用鍵生成者のエンティティとして機能する。システム管理者は、システムパラメータ生成アルゴリズム（Ｓｅｔｕｐ）を用いてシステムパラメータｃｐを生成するエンティティである。
【００８９】
署名者は、鍵生成アルゴリズム（Ｇｅｎ）を用いて各署名者固有の署名鍵ｓｋ及び当該署名鍵ｓｋとペアを成す検証鍵ｐｋを生成するエンティティである。また、署名者は、署名生成アルゴリズム（Ｓｉｇ）を用いて電子文書ｍに対する電子署名σを生成する。さらに、署名者は、代用鍵生成アルゴリズムを用いて代用署名鍵ｓｋ’及び当該代用署名鍵ｓｋ’とペアを成す代用検証鍵ｐｋ’を生成する。検証者は、署名検証アルゴリズム（Ｖｅｒ）を用いて電子文書ｍに付された電子署名σの正当性を検証するエンティティである。認証局は、署名者が生成した検証鍵又は代用検証鍵の正当性を保証するための証明書を発行するエンティティである。
【００９０】
これらのエンティティは、図１１に示すような手続きを実行し、署名鍵ｓｋ及び検証鍵ｐｋの生成、電子署名σの生成、代用署名鍵ｓｋ’及び代用検証鍵ｐｋ’の生成、電子署名σの検証を行う。なお、システム管理者によりシステムパラメータ生成アルゴリズム（Ｓｅｔｕｐ）を用いてシステムパラメータｃｐが既に生成されているものとする。また、Ｓｅｔｕｐを用いてｃｐを生成することを下記の式（３６）のように表現する。但し、１λはセキュリティパラメータである。
【００９１】
【数１３】
2010262109.tif 000015
…（３６）
【００９２】
（署名者による鍵生成工程）
まず、署名者が行う鍵生成手続きについて説明する。図１１に示すように、署名者は、鍵生成工程において、システム管理者からシステムパラメータｃｐを取得する。次いで、署名者は、鍵生成アルゴリズム（Ｇｅｎ）にシステムパラメータｃｐを入力し、署名鍵ｓｋと検証鍵ｐｋのペアを生成する。なお、Ｇｅｎを用いて（ｓｋ，ｐｋ）を生成することを下記の式（３７）のように表現する。鍵生成アルゴリズムＧｅｎを用いて署名鍵ｓｋ及び検証鍵ｐｋを生成すると、署名者は、生成した署名鍵ｓｋ及び検証鍵ｐｋをペアにして保管する。そして、署名者は、必要に応じて検証鍵ｐｋを自身の検証鍵として認証局に登録し、その証明書を受け取る。
【００９３】
【数１４】
2010262109.tif 000016
…（３７）
【００９４】
（署名者による署名生成工程）
次に、署名者が行う署名生成手続きについて説明する。図１１に示すように、署名者は、署名を付すべき電子文書ｍ、及び保管している署名鍵ｓｋを用意する。次いで、署名者は、署名生成アルゴリズム（Ｓｉｇ）に署名鍵ｓｋ及び電子文書ｍを入力し、電子署名σを生成する。なお、Ｓｉｇを用いてσを生成することを下記の式（３８）のように表現する。次いで、署名者は、下記の式（３８）で生成した電子署名σ（アルゴリズムの出力値）を電子文書ｍに対する電子署名σに設定する。
【００９５】
【数１５】
2010262109.tif 000017
…（３８）
【００９６】
（署名者による代用鍵生成工程）
次に、署名者が行う代用鍵生成手続きについて、その概要を説明する。なお、この手続きは、署名鍵ｓｋが露呈した際に行われるものとしてもよいし、事前に行われるものとしてもよい。まず、署名者は、電子文書ｍ、電子署名σ、電子署名σの生成に用いた署名鍵ｓｋ、署名鍵ｓｋとペアを成す検証鍵ｐｋを用意する。次いで、署名者は、用意した電子文書ｍ、電子署名σ、署名鍵ｓｋを代用鍵生成アルゴリズムに入力し、代用検証鍵ｐｋ’及び代用署名鍵ｓｋ’のペアを生成する。次いで、署名者は、代用署名鍵ｓｋ’と代用検証鍵ｐｋ’のペアを保管する。次いで、署名者は、必要に応じて検証鍵ｐｋを廃止するように認証局に依頼し、代用検証鍵ｐｋ’を新たに認証局に登録して証明書を受け取る。
【００９７】
（検証者による署名検証工程）
次に、検証者が行う手続きについて説明する。まず、検証者は、署名者から電子署名σ、電子文書ｍ、及び検証鍵ｐｋを取得する。次いで、検証者は、必要に応じて、検証鍵ｐｋが本当に署名者の検証鍵であるか否かを認証局の証明書で確認する。次いで、検証者は、署名検証アルゴリズム（Ｖｅｒ）に検証鍵ｐｋ、電子文書ｍ、電子署名σを入力し、検証結果ｖｏｕｔ＝０（エラー）又は１（受理）を算出する。なお、Ｖｅｒによりｖｏｕｔを算出することを下記の式（３９）のように表現する。次いで、検証者は、下記の式（３９）で算出された検証結果ｖｏｕｔに応じてｖｏｕｔ＝１ならば（σ，ｍ）を受理し、ｖｏｕｔ＝０ならば拒否する。なお、代用検証鍵ｐｋ’を用いた検証手続きを行う場合についても同様である。
【００９８】
【数１６】
2010262109.tif 000018
…（３９）
【００９９】
以上説明したように、本手法は、代用署名鍵ｓｋ’及び代用検証鍵ｐｋ’を用いてオリジナルの署名鍵ｓｋ及び検証鍵ｐｋを更新する。そのため、署名鍵ｓｋ及び検証鍵ｐｋが廃止されても、過去に署名者が署名鍵ｓｋで生成した電子署名σを有効なまま維持することができる。ここで、一般的な電子署名方式の鍵更新方法と本手法とを対比し、本手法の有効性について述べておくことにする。
【０１００】
（１−４−２：鍵更新方法の対比）
図１２を参照する。まず、Ａとして、一般的な電子署名方式の鍵更新手法を模式的に示した。Ａの場合、更新前の署名鍵ｓｋを用いて電子文書ｍに対して生成された電子署名σは、鍵更新前の検証鍵ｐｋで受理されるものの、鍵更新後の検証鍵ｐｋで受理されない。そのため、鍵更新後は、更新後の署名鍵ｓｋ’を用いて電子文書ｍ’に対して生成された電子署名σ’は有効であるが、更新前の電子署名σは無効になる。もちろん、鍵更新後の電子署名σ’は、鍵更新後の検証鍵ｐｋ’で受理される。
【０１０１】
次に、Ｂを参照する。Ｂとして、期限付き電子署名方式の鍵更新手法を模式的に示した。Ｂの場合、期間毎に署名鍵が更新される。一方、検証鍵ｐｋは全期間で更新されない。また、期間１の署名鍵ｓｋ１を用いて生成された電子署名σ１は期間１の署名として受理される。同様に、期間２の署名鍵ｓｋ２を用いて生成された電子署名σ２は期間２の署名として受理される。従って、期間１の署名鍵ｓｋ１が廃止されても、期間２の署名鍵ｓｋ２で生成された電子署名σ２は有効なまま維持される。しかしながら、期間１の電子署名σ１は無効になってしまう。この問題については図２１を参照しながら既に述べた通りである。
【０１０２】
次に、Ｃを参照する。Ｃは、本手法に係る鍵更新手法を模式的に示したものである。Ｃに示すように、本手法を適用すると、鍵更新前の署名鍵ｓｋを用いて電子文書ｍに対して生成された電子署名σは、鍵更新後の検証鍵ｐｋ’（代用検証鍵ｐｋ’）により受理される。そのため、鍵更新前の署名鍵ｓｋ及び検証鍵ｐｋが廃止されたとしても、鍵更新前の電子署名σの有効性が失われずに済むのである。このような効果は、上記Ａ及びＢのような鍵更新手法をどのように用いても得ることができないものである。以上説明した本手法の技術的特徴を踏まえ、以下では本手法の具体的なアルゴリズムについて説明する。
【０１０３】
（１−４−３：アルゴリズム）
ここでは、本手法に係る鍵生成アルゴリズム、署名生成アルゴリズム、署名検証アルゴリズム、及び代用鍵生成アルゴリズムについて説明する。なお、システムパラメータ生成アルゴリズムについてはＳＣ０８方式と実質的に同じであるため説明を省略する。これらのアルゴリズムは相互に関係するものであり、いずれのアルゴリズムにも本手法の代用鍵生成アルゴリズムを実現するための特徴的な構成が含まれている。
【０１０４】
（鍵生成アルゴリズム、署名生成アルゴリズム）
まず、図１３を参照しながら、上記の式（３７）で示した鍵生成アルゴリズム、及び上記の式（３８）に示した署名生成アルゴリズムについて説明する。なお、鍵生成アルゴリズム及び署名生成アルゴリズムは、署名者により実行される。図１３は、鍵生成アルゴリズム及び署名生成アルゴリズムの具体的な演算内容について、その一例を示す説明図である。従って、本手法のアイデアを踏襲する範囲内において適宜変更を加えることが可能である。そして、こうした変更を行ったとしても、変更後の構成は本手法の技術的範囲に含まれる点に注意されたい。
【０１０５】
はじめに、鍵生成アルゴリズムについて説明する。鍵生成アルゴリズムにおいては、まず、ランダムにＺｑの元ｘ１、ｘ２が選択される（Ｓ１３０）。次いで、選択されたｘ１、ｘ２を用いて、下記の式（４０）及び式（４１）に示すようにｙ１、ｙ２が算出される（Ｓ１３２）。次いで、ランダムにＺｑ＊の元αが選択される（Ｓ１３４）。なお、ステップＳ１３４の処理順序は適宜変更可能である。ここまでが鍵生成アルゴリズムの内容である。以上の演算により、下記の式（４２）に示す検証鍵ｐｋ、及び下記の式（４３）に示す署名鍵ｓｋが生成される。なお、下記の式（４２）に示す検証鍵ｐｋの構成がＳＣ０８方式とは異なる点に注意されたい。
【０１０６】
【数１７】
2010262109.tif 000019
…（４０）
2010262109.tif 000020
…（４１）
2010262109.tif 000021
…（４２）
2010262109.tif 000022
…（４３）
【０１０７】
次に、署名生成アルゴリズムについて説明する。上記の式（３８）に示した通り、署名生成アルゴリズムには、鍵生成アルゴリズムで生成された署名鍵ｓｋ、及び電子文書ｍが入力される。但し、検証鍵ｐｋも既に算出されていることから、検証鍵ｐｋを入力値に加えてもよい。このように入力値を変更すると、例えば、署名生成アルゴリズムに上記の式（４０）又は式（４１）で示されるｙ１、ｙ２と同じ演算式が含まれている場合、その演算処理を行わずに済む。以下の説明においては、上記の式（４０）又は式（４１）と同じ演算式が含まれている部分をそれぞれｙ１、ｙ２と表記することにする。
【０１０８】
署名生成アルゴリズムにおいては、まず、ランダムにＺｑ＊の元ｋが選択される（Ｓ１３６）。次に、選択されたｋを用いて下記の式（４４）に示すｒが算出される（Ｓ１３８）。次いで、電子署名σを付す電子文書ｍ、上記の演算により算出されたパラメータｒ、及び検証鍵ｐｋに含まれるｙ１、ｙ２（但し、ｘ１、ｘ２から生成可能。）を用いて下記の式（４５）に示すパラメータｃが算出される（Ｓ１４０）。但し、ｈ１（…）はハッシュ関数である。また、パラメータｍ、ｒ、ｙ１、ｙ２は、例えば、連結されてから入力される。なお、パラメータの入力時に行う処理に関しては、連結に限定されない点に注意されたい。また、ハッシュ関数ｈ１に入力されるパラメータの構成がＳＣ０８方式とは異なる点に注意されたい。
【０１０９】
次いで、算出されたパラメータｃを用いて下記の式（４６）に示すｙが算出される（Ｓ１４２）。次いで、ステップＳ１３０〜Ｓ１４２において得られたパラメータを用いて下記の式（４７）を満たすＺｑの元ｓが算出される（Ｓ１４４）。但し、Ｈ（…）はハッシュ関数である。また、パラメータｃ、ｒ、ｙは、例えば、連結されてから入力される。なお、パラメータの入力時に行う処理に関しては、連結に限定されない点に注意されたい。以上の演算により、下記の式（４８）に示す電子署名σが得られる。
【０１１０】
【数１８】
2010262109.tif 000023
【０１１１】
（署名検証アルゴリズム）
次に、図１４を参照しながら、上記の式（３９）に示した署名検証アルゴリズムについて説明する。図１４は、署名検証アルゴリズムの具体的な演算内容について、その一例を示す説明図である。なお、署名検証アルゴリズムは、検証者により実行される。
【０１１２】
まず、検証者は、公開されている検証鍵ｐｋ（式（４２）を参照）を取得する（Ｓ１５０）。さらに、検証者は、署名者から電子署名σ（式（４８）を参照）、及び電子文書ｍを取得する（Ｓ１５２）。検証者は、これらの取得した情報を署名検証アルゴリズムに入力して電子署名σを検証する。なお、システムパラメータｃｐも予め取得しているものとする。
【０１１３】
署名検証アルゴリズムにおいては、まず、上記の式（４５）及び式（４６）によりパラメータｃ、ｙが算出される（Ｓ１５４）。次いで、算出したパラメータが下記の式（４９）に示す検証式Ａに代入され、検証式Ａの成否が確認される（Ｓ１５６、Ｓ１５８）。検証式Ａが成り立つ場合、その電子署名σが正当であるとみなし、「受理」を示す出力値ｖｏｕｔ＝１を出力して（Ｓ１６０）、一連の処理を終了する。一方、検証式Ａが不成立の場合、エラーを示す出力値ｖｏｕｔ＝０を出力して（Ｓ１６２）、一連の処理を終了する。以上の演算により、電子文書ｍに対する電子署名σの正当性が検証される。なお、下記の式（４９）に示す検証式Ａは、ＳＣ０８方式の検証式Ａと同じ形である。従って、検証式Ａの形に依存してＳＣ０８方式が担保する安全性は本手法にも踏襲される。
【０１１４】
【数１９】
2010262109.tif 000024
【０１１５】
（代用鍵生成アルゴリズム）
次に、図１５を参照しながら、本手法に係る代用鍵生成アルゴリズムについて説明する。図１５は、代用鍵生成アルゴリズムの具体的な演算内容について、その一例を示す説明図である。本手法の代用鍵生成アルゴリズムはＳＣ０８方式と異なり、身代わり署名者のエンティティが存在しないことから対話形式ではない。そのため、本手法では、代用署名鍵ｓｋ’の情報を署名者（代用鍵生成者本人）に秘匿しておくための構成を省くことができる。例えば、ＳＣ０８方式では、署名者が秘密にすべきパラメータｋを代用鍵生成者に秘匿するために、パラメータｋを二重化してｋ１、ｋ２とし、パラメータｄを導入していた。しかし、本手法ではこれらの構成を省くことができる。以下、詳細に説明する。
【０１１６】
代用鍵生成アルゴリズムにおいては、まず、ランダムにＺｑの元ｘ１’，ｘ２’が選択される（Ｓ１７０）。次いで、下記の式（５０）及び式（５１）に示すｙ１’、ｙ２’が算出される（Ｓ１７２）。なお、ｘ１’、ｘ２’は、代用署名鍵ｓｋ’に含めるパラメータである。また、ｙ１’、ｙ２’は、代用検証鍵ｐｋ’に含めるパラメータである。次いで、上記の式（４５）及び式（４６）に基づいてｃ、ｙが算出される（Ｓ１７４）。次いで、算出されたｃ、ｙを用いて上記の式（４７）を満たすｋが算出される（Ｓ１７６）。署名者は、パラメータｋを保管していないことが多い。そのため、ここではパラメータｋを再計算したのである。
【０１１７】
もちろん、パラメータｋを保持している場合には、これらの演算を省略することができる。次いで、下記の式（５２）に基づいてｃ’が算出され、下記の式（５３）に基づいてｙ’が算出される（Ｓ１７８）。次いで、算出されたパラメータｃ’、ｙ’を利用し、下記の式（５４）を満たすα’を算出する（Ｓ１８０）。このパラメータα’とパラメータｙ１’、ｙ２’とを組み合わせることで代用検証鍵ｐｋ’が生成される（Ｓ１８２）。なお、代用署名鍵ｓｋ’にα’を含めることとすれば、この時点で代用署名鍵ｓｋ’も生成されることになる（Ｓ１８２）。
【０１１８】
【数２０】
2010262109.tif 000025
【０１１９】
以上説明した方法により代用鍵が生成される。この代用鍵を用いて鍵更新を行うことで、署名鍵ｓｋを知る攻撃者であっても、代用署名鍵ｓｋ’を知ることはできない。つまり、鍵更新後の代用検証鍵ｐｋ’については電子署名σ’を偽造不可能であることが保証される。この点について説明を補足する。
【０１２０】
更新前の署名鍵をｓｋ、検証鍵をｐｋ、更新後の署名鍵（代用署名鍵）をｓｋ’、検証鍵（代用検証鍵）をｐｋ’とする。また、署名鍵ｓｋにより電子文書ｍに対して生成された電子署名をσとする。上記の通り、本手法に係る鍵生成アルゴリズム及び代用鍵生成アルゴリズムにおいては、署名鍵ｓｋ及び代用検証鍵ｓｋ’に含まれるパラメータｘ、ｘ’がそれぞれ二重化（ｘ１，ｘ２）、（ｘ１’，ｘ２’）されている。また、上記の式（５４）に含まれるパラメータｃ’は検証鍵及び電子署名に依存するパラメータである。そのため、攻撃者が更新前の署名鍵ｓｋを知ったとしても、上記の式（５４）の１つからは、２つの未知の変数ｘ１’、ｘ２’を特定することはできない。さらに、代用検証鍵ｐｋ’が受理する電子署名を生成するには、ｘ１’＋ｃ’＊ｘ２’の情報が必要となるが、これを計算するにはｘ１’、ｘ２’が必要であるため、代用検証鍵ｐｋ’が受理するような電子署名を偽造することはできない。従って、本手法に係る鍵更新方法を用いると、露呈した署名鍵に対応する電子署名が付された電子署名を無効にせずに、安全に鍵更新することができる。
【０１２１】
（１−４−４：端末の機能構成）
ここで、図１６を参照しながら、上記の各アルゴリズムを実行可能な本手法のシステム構成について簡単に説明する。図１６には、署名者が利用する署名者端末１００、及び検証者が利用する検証者端末２００の機能構成が示されている。また、署名者端末１００と検証者端末２００とはネットワーク１０で接続されているものとする。なお、システム管理者及び認証局の端末については記載を省略した。
【０１２２】
（署名者端末１００）
まず、署名者端末１００の機能構成について説明する。図１６に示すように、署名者端末１００は、主に、記憶部１０２と、鍵生成部１０４と、署名生成部１０６と、通信部１０８と、代用鍵生成部１１０と、更新制御部１１２とを有する。
【０１２３】
記憶部１０２は、システムパラメータｃｐ、電子文書ｍ、及び各アルゴリズムを実行するためのプログラムを格納するための手段である。鍵生成部１０４は、記憶部１０２からシステムパラメータｃｐ、及び鍵生成アルゴリズムの実行プログラムを読み出し、署名鍵ｓｋ及び検証鍵ｐｋを生成する。鍵生成部１０４で生成された署名鍵ｓｋ及び検証鍵ｐｋは、署名生成部１０６に入力される。署名生成部１０６は、記憶部１０２からシステムパラメータｃｐ、及び署名生成アルゴリズムの実行プログラムを読み出し、入力された署名鍵ｓｋ（検証鍵ｐｋ）及び電子文書ｍを用いて当該電子文書ｍに付する電子署名σを生成する。署名生成部１０６で生成された電子署名σ及び電子文書ｍは、通信部１０８によりネットワーク１０を介して検証者端末２００に提供される。
【０１２４】
なお、署名鍵ｓｋが露呈した場合、更新制御部１１２の制御を受けて鍵更新が実施される。まず、更新制御部１１２は、代用鍵生成部１１０に対し、署名生成部１０６で生成された署名鍵ｓｋ及び検証鍵ｐｋに代わる代用署名鍵ｓｋ’及び代用検証鍵ｐｋ’を生成させる。このとき、代用鍵生成部１１０は、記憶部１０２から代用鍵生成アルゴリズムの実行プログラムを読み出し、露呈した署名鍵ｓｋで署名された電子文書ｍ及び電子署名σを用いて代用署名鍵ｓｋ’及び代用検証鍵ｐｋ’を生成する。代用鍵生成部１１０で生成された代用署名鍵ｓｋ’は署名生成部１０６に入力され、鍵更新後の署名生成に用いられる。一方、代用検証鍵ｐｋ’は公開される。このように、署名者端末１００には、本手法に係る上記の署名者が実行すべき各アルゴリズムを実行する機能が搭載される。その結果、署名者端末１００を用いることで、本手法による鍵更新方法が実現される。
【０１２５】
（検証者端末２００）
次に、検証者端末２００の機能構成について説明する。図１６に示すように、検証者端末２００は、主に、通信部２０２と、パラメータ生成部２０４と、記憶部２０６と、検証処理部２０８とを有する。記憶部２０６には、システムパラメータｃｐの他、検証者が実行すべきアルゴリズムの実行プログラム等が格納される。
【０１２６】
通信部２０２によりネットワーク１０を介して署名者端末１００から電子文書ｍ及び電子署名σが取得されると、それら電子文書ｍ及び電子署名σは、パラメータ生成部２０４に入力される。パラメータ生成部２０４では、検証式に入力するために必要なパラメータが算出される。例えば、パラメータ生成部２０４は、電子文書ｍ及び電子署名σに依存する上記の式（４５）等で示されるパラメータｃを算出する。パラメータ生成部２０４で算出されたパラメータは、検証処理部２０８に入力される。検証処理部２０８では、パラメータ生成部２０４で算出されたパラメータ、検証鍵ｐｋ、電子文書ｍ、及び電子署名σを検証式に入力し、検証式の成否に基づいて電子署名σの受理／拒否を判断する。このように、検証者端末２００には、本手法に係る上記の検証者が実行すべき各アルゴリズムを実行する機能が搭載されている。その結果、検証者端末２００を用いることで、本手法による鍵更新方法が実現される。
【０１２７】
以上、本手法に係る鍵更新方法について説明した。本手法を用いると、「ある電子署名を生成するために使用された署名鍵が露呈した場合、その電子署名は無効になってしまう」という問題を解決し、「ある電子署名を生成するために使用された署名鍵が露呈した場合でも、その電子署名を無効にすることなく」電子署名の署名鍵と検証鍵の更新を実現することが可能になる。
【０１２８】
［１−５：拡張方式］
上記の本手法に係る技術は、１組の電子文書及び電子署名に対して代用署名鍵及び代用検証鍵を生成する方法に関するものであった。そこで、以上説明した本手法の技術を拡張し、複数組の電子文書及び電子署名に対する代用署名鍵及び代用検証鍵を生成する方法（以下、拡張方式）を提案する。以下の説明においては、Ｎ組（Ｎ≧２）以下の任意数の電子文書及び電子署名の組（ｍ１，σ１）、…、（ｍｎ，σｎ）、ｎ≦Ｎに対する代用署名鍵ｓｋ’及び代用検証鍵ｐｋ’を生成する方法について考える。
【０１２９】
（１−５−１：アルゴリズム）
以下、拡張方式に係る鍵生成アルゴリズム、署名生成アルゴリズム、署名検証アルゴリズム、及び代用鍵生成アルゴリズムについて順次説明する。なお、システムパラメータ生成アルゴリズムについてはＳＣ０８方式と実質的に同じであるため説明を省略する。これらのアルゴリズムは相互に関係するものであり、いずれのアルゴリズムにも拡張方式の代用鍵生成アルゴリズムを実現するための特徴的な構成を含んでいる。
【０１３０】
（鍵生成アルゴリズム、署名生成アルゴリズム）
まず、図１７を参照しながら、拡張方式に係る鍵生成アルゴリズム及び署名生成アルゴリズムについて説明する。なお、当該鍵生成アルゴリズム及び署名生成アルゴリズムは、署名者により実行される。図１７は、鍵生成アルゴリズム及び署名生成アルゴリズムの具体的な演算内容について、その一例を示す説明図である。従って、拡張方式のアイデアを踏襲する範囲内において適宜変更を加えることが可能である。そして、こうした変更を行ったとしても、変更後の構成は当該拡張方式の技術的範囲に含まれる点に注意されたい。
【０１３１】
はじめに、鍵生成アルゴリズムについて説明する。鍵生成アルゴリズムにおいては、まず、ランダムにＺｑの元ｘ１、…、ｘＬ＋１（Ｌ≧２）が選択される（Ｓ２００）。次いで、選択されたｘ１、…、ｘＬ＋１を用いて、下記の式（５５）に示すようにｙｊ（ｊ＝１，…，Ｌ＋１）が算出される（Ｓ２０２）。次いで、ランダムにＺｑ＊の元α１、…、αＬが選択される（Ｓ２０４）。なお、ステップＳ２０４の処理順序は適宜変更可能である。ここまでが鍵生成アルゴリズムの内容である。以上の演算により、下記の式（５６）に示す検証鍵ｐｋ、及び下記の式（５７）に示す署名鍵ｓｋが生成される。
【０１３２】
【数２１】
2010262109.tif 000026
【０１３３】
次に、署名生成アルゴリズムについて説明する。署名生成アルゴリズムには、鍵生成アルゴリズムで生成された署名鍵ｓｋ、及び電子文書ｍが入力される。但し、検証鍵ｐｋも既に算出されていることから、検証鍵ｐｋを入力値に加えてもよい。このように入力値を変更すると、例えば、署名生成アルゴリズムに上記の式（５５）で示されるｙｊ（ｊ＝１，…，Ｌ＋１）と同じ演算式が含まれている場合、その演算処理を行わずに済む。以下の説明においては、上記の式（５５）と同じ演算式が含まれている部分をそれぞれｙｊ（ｊ＝１，…，Ｌ＋１）と表記することにする。
【０１３４】
署名生成アルゴリズムにおいては、まず、ランダムにＺｑ＊の元ｋが選択される（Ｓ２０６）。次に、選択されたｋを用いて下記の式（５８）に示すｒが算出される（Ｓ２０８）。次いで、電子署名σを付す電子文書ｍ、上記の演算により算出されたパラメータｒ、及び検証鍵ｐｋに含まれるｙ１、…、ｙＬ＋１（但し、ｘ１、…、ｘＬ＋１から生成可能。）を用いて下記の式（５９）に示すパラメータｃｊ（ｊ＝１、…、Ｌ）が算出される（Ｓ２１０）。但し、ｈ１（…）はハッシュ関数である。また、パラメータｍ、ｒ、ｙ１、…、ｙＬ＋１は、例えば、連結されてから入力される。なお、パラメータの入力時に行う処理に関しては、連結に限定されない点に注意されたい。
【０１３５】
次いで、算出されたパラメータｃ１、…、ｃＬを用いて下記の式（６０）に示すＹと式（６１）に示すαが算出される（Ｓ２１０）。次いで、ステップＳ２００〜Ｓ２１０において得られたパラメータを用いて下記の式（６２）を満たすＺｑの元ｓが算出される（Ｓ２１２）。但し、Ｈ（…）はハッシュ関数である。また、パラメータｒ、Ｙ、ｃ１、…、ｃＬは、例えば、連結されてから入力される。なお、パラメータの入力時に行う処理に関しては、連結に限定されない点に注意されたい。以上の演算により、下記の式（６３）に示す電子署名σが得られる。
【０１３６】
【数２２】
2010262109.tif 000027
【０１３７】
（署名検証アルゴリズム）
次に、図１８を参照しながら、拡張方式に係る署名検証アルゴリズムについて説明する。図１８は、署名検証アルゴリズムの具体的な演算内容について、その一例を示す説明図である。なお、署名検証アルゴリズムは、検証者により実行される。
【０１３８】
まず、検証者は、公開されている検証鍵ｐｋ（式（５６）を参照）を取得する（Ｓ２２０）。さらに、検証者は、署名者から電子署名σ（式（６３）を参照）、及び電子文書ｍを取得する（Ｓ２２２）。検証者は、これらの取得した情報を署名検証アルゴリズムに入力して電子署名σを検証する。なお、システムパラメータｃｐも予め取得しているものとする。
【０１３９】
署名検証アルゴリズムにおいては、まず、上記の式（５９）、式（６０）、及び式（６１）によりパラメータｃ１、…、ｃＬ、Ｙ、αが算出される（Ｓ２２４）。次いで、算出したパラメータが下記の式（６４）に示す検証式Ｂに代入され、検証式Ｂの成否が確認される（Ｓ２２６、Ｓ２２８）。検証式Ｂが成り立つ場合、その電子署名σが正当であるとみなし、「受理」を示す出力値ｖｏｕｔ＝１を出力して（Ｓ２３０）、一連の処理を終了する。一方、検証式Ｂが不成立の場合、エラーを示す出力値ｖｏｕｔ＝０を出力して（Ｓ２３２）、一連の処理を終了する。以上の演算により、電子文書ｍに対する電子署名σの正当性が検証される。
【０１４０】
【数２３】
2010262109.tif 000028
【０１４１】
（代用鍵生成アルゴリズム）
次に、図１９を参照しながら、拡張方式に係る代用鍵生成アルゴリズムについて説明する。図１９は、代用鍵生成アルゴリズムの具体的な演算内容について、その一例を示す説明図である。
【０１４２】
代用鍵生成アルゴリズムにおいては、まず、ランダムにＺｑの元ｘ１’，…，ｘＭ＋１’が選択される（Ｓ２４０）。但し、Ｍは、Ｍ≧ｎとなる整数とする。ここで、検証鍵と署名鍵を固定長に限定する場合には、Ｍ＝Ｌとすればよい。次いで、下記の式（６５）に示すｙｊ’（ｊ＝１，…，ｎ＋１）が算出される（Ｓ２４２）。なお、ｘ１’、…、ｘＭ＋１’は、代用署名鍵ｓｋ’に含めるパラメータである。また、ｙ１’、…、ｙＭ＋１’は、代用検証鍵ｐｋ’に含めるパラメータである。次いで、下記の式（６６）、式（６７）、及び式（６８）に基づいてｃｉｊ、Ｙｉ、αｉ”（ｉ＝１，…，ｎ、ｊ＝１，…，Ｌ）が算出される（Ｓ２４４）。次いで、算出されたｃｉｊ、Ｙｉ、αｉ”（ｉ＝１，…，ｎ、ｊ＝１，…，Ｌ）を用いて下記の式（６９）を満たすｋｉが算出される（Ｓ２４６）。但し、下記の式（６９）に含まれるｓｉは、代用鍵生成アルゴリズムに入力されるｎ個の電子文書ｍｉと電子署名σｉの組において、電子署名σｉ＝（ｒｉ，ｓｉ）に含まれるパラメータである。署名者は、パラメータｋｉを保管していないことが多い。そのため、ここではパラメータｋｉ（ｉ＝１，…，ｎ）を再計算したのである。
【０１４３】
次いで、下記の式（７０）に基づいてｃｉｊ’（ｉ＝１，…，ｎ、ｊ＝１，…，Ｍ）が算出され、下記の式（７１）に基づいてＹｉ’（ｉ＝１，…，ｎ）が算出される（Ｓ２４８）。次いで、算出されたパラメータｃｉｊ’、Ｙｉ’（ｉ＝１，…，ｎ、ｊ＝１，…，Ｍ）に基づいて、下記の式（７２）を満たすαi（３）（ｉ＝１，…，ｎ）が算出される（Ｓ２４９）。次いで、算出されたパラメータｃｉｊ’、αi（３）（ｉ＝１，…，ｎ、ｊ＝１，…，Ｍ）に基づいて、下記の式（７３）に示す連立１次方程式を満たすα１’，…，αＭ’が算出される（Ｓ２５０）。このとき、下記の式（７３）に示す連立１次方程式の解が存在するか否かを判定し（Ｓ２５２）、存在しない場合にはステップＳ２４０の処理に戻る。解が存在する場合にはステップＳ２５４の処理に進行する。ステップＳ２５４に進行した場合、下記の式（７４）及び式（７５）のように代用検証鍵ｐｋ’及び代用署名鍵ｓｋ’が設定される（Ｓ２５４）。
【０１４４】
【数２４】
2010262109.tif 000029
【０１４５】
以上説明した方法を用いることで、複数組の電子署名及び電子文書に対して代用鍵を生成することが可能になる。その結果、複数組の電子署名及び電子文書を対象とする鍵更新においても、代用鍵を用いることが可能になる。また、複数組の電子署名及び電子文書に対する代用鍵を利用できるようにすることで、鍵更新を効率化することが可能になる。
【０１４６】
［１−６：端末のハードウェア構成］
上記の署名者端末１００、検証者端末２００が有する各構成要素の機能は、例えば、図２０に示す情報処理装置のハードウェア構成を用いて実現することが可能である。つまり、当該各構成要素の機能は、コンピュータプログラムを用いて図２０に示すハードウェアを制御することにより実現される。なお、このハードウェアの形態は任意であり、例えば、パーソナルコンピュータ、携帯電話、ＰＨＳ、ＰＤＡ等の携帯情報端末、ゲーム機、又は種々の情報家電がこれに含まれる。但し、上記のＰＨＳは、Ｐｅｒｓｏｎａｌ  Ｈａｎｄｙ−ｐｈｏｎｅ  Ｓｙｓｔｅｍの略である。また、上記のＰＤＡは、Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔの略である。
【０１４７】
図２０に示すように、このハードウェアは、主に、ＣＰＵ９０２と、ＲＯＭ９０４と、ＲＡＭ９０６と、ホストバス９０８と、ブリッジ９１０と、を有する。さらに、このハードウェアは、外部バス９１２と、インターフェース９１４と、入力部９１６と、出力部９１８と、記憶部９２０と、ドライブ９２２と、接続ポート９２４と、通信部９２６と、を有する。但し、上記のＣＰＵは、Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔの略である。また、上記のＲＯＭは、Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙの略である。そして、上記のＲＡＭは、Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙの略である。
【０１４８】
ＣＰＵ９０２は、例えば、演算処理装置又は制御装置として機能し、ＲＯＭ９０４、ＲＡＭ９０６、記憶部９２０、又はリムーバブル記録媒体９２８に記録された各種プログラムに基づいて各構成要素の動作全般又はその一部を制御する。ＲＯＭ９０４は、ＣＰＵ９０２に読み込まれるプログラムや演算に用いるデータ等を格納する手段である。ＲＡＭ９０６には、例えば、ＣＰＵ９０２に読み込まれるプログラムや、そのプログラムを実行する際に適宜変化する各種パラメータ等が一時的又は永続的に格納される。
【０１４９】
これらの構成要素は、例えば、高速なデータ伝送が可能なホストバス９０８を介して相互に接続される。一方、ホストバス９０８は、例えば、ブリッジ９１０を介して比較的データ伝送速度が低速な外部バス９１２に接続される。また、入力部９１６としては、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチ、及びレバー等が用いられる。さらに、入力部９１６としては、赤外線やその他の電波を利用して制御信号を送信することが可能なリモートコントローラが用いられることもある。
【０１５０】
出力部９１８としては、例えば、ＣＲＴ、ＬＣＤ、ＰＤＰ、又はＥＬＤ等のディスプレイ装置、スピーカ、ヘッドホン等のオーディオ出力装置、プリンタ、携帯電話、又はファクシミリ等が用いられる。つまり、出力部９１８は、取得した情報を利用者に対して視覚的又は聴覚的に通知する手段である。但し、上記のＣＲＴは、Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅの略である。また、上記のＬＣＤは、Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙの略である。そして、上記のＰＤＰは、Ｐｌａｓｍａ  ＤｉｓｐｌａｙＰａｎｅｌの略である。さらに、上記のＥＬＤは、Ｅｌｅｃｔｒｏ−Ｌｕｍｉｎｅｓｃｅｎｃｅ  Ｄｉｓｐｌａｙの略である。
【０１５１】
記憶部９２０は、各種のデータを格納するための装置である。記憶部９２０としては、例えば、ハードディスクドライブ（ＨＤＤ）等の磁気記憶デバイス、半導体記憶デバイス、光記憶デバイス、又は光磁気記憶デバイス等が用いられる。但し、上記のＨＤＤは、Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅの略である。
【０１５２】
ドライブ９２２は、例えば、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体９２８に記録された情報を読み出し、又はリムーバブル記録媒体９２８に情報を書き込む装置である。リムーバブル記録媒体９２８は、例えば、ＤＶＤメディア、Ｂｌｕ−ｒａｙメディア、ＨＤ  ＤＶＤメディア、各種の半導体記憶メディア等である。もちろん、リムーバブル記録媒体９２８は、例えば、非接触型ＩＣチップを搭載したＩＣカード、又は電子機器等であってもよい。但し、上記のＩＣは、Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔの略である。
【０１５３】
接続ポート９２４は、例えば、ＵＳＢポート、ＩＥＥＥ１３９４ポート、ＳＣＳＩ、ＲＳ−２３２Ｃポート、又は光オーディオ端子等のような外部接続機器９３０を接続するためのポートである。外部接続機器９３０は、例えば、プリンタ、携帯音楽プレーヤ、デジタルカメラ、デジタルビデオカメラ、又はＩＣレコーダ等である。但し、上記のＵＳＢは、Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓの略である。また、上記のＳＣＳＩは、Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅの略である。
【０１５４】
通信部９２６は、ネットワーク９３２に接続するための通信デバイスであり、例えば、有線又は無線ＬＡＮ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、又はＷＵＳＢ用の通信カード、光通信用のルータ、ＡＤＳＬ用のルータ、又は各種通信用のモデム等である。また、通信部９２６に接続されるネットワーク９３２は、有線又は無線により接続されたネットワークにより構成され、例えば、インターネット、家庭内ＬＡＮ、赤外線通信、可視光通信、放送、又は衛星通信等である。但し、上記のＬＡＮは、Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋの略である。また、上記のＷＵＳＢは、Ｗｉｒｅｌｅｓｓ  ＵＳＢの略である。そして、上記のＡＤＳＬは、Ａｓｙｍｍｅｔｒｉｃ  Ｄｉｇｉｔａｌ  Ｓｕｂｓｃｒｉｂｅｒ  Ｌｉｎｅの略である。
【０１５５】
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明は係る例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【符号の説明】
【０１５６】
１０    ネットワーク
１００    署名者端末
１０２    記憶部
１０４    鍵生成部
１０６    署名生成部
１０８    通信部
１１０    代用鍵生成部
１１２    更新制御部
２００    検証者端末
２０２    通信部
２０４    パラメータ生成部
２０６    記憶部
２０８    検証処理部
【図１】
2010262109.tif 000030
【図２】
2010262109.tif 000031
【図３】
2010262109.tif 000032
【図４】
2010262109.tif 000033
【図５】
2010262109.tif 000034
【図６】
2010262109.tif 000035
【図７】
2010262109.tif 000036
【図８】
2010262109.tif 000037
【図９】
2010262109.tif 000038
【図１０】
2010262109.tif 000039
【図１１】
2010262109.tif 000040
【図１２】
2010262109.tif 000041
【図１３】
2010262109.tif 000042
【図１４】
2010262109.tif 000043
【図１５】
2010262109.tif 000044
【図１６】
2010262109.tif 000045
【図１７】
2010262109.tif 000046
【図１８】
2010262109.tif 000047
【図１９】
2010262109.tif 000048
【図２０】
2010262109.tif 000049
【図２１】
2010262109.tif 000050