特許第6225097号(P6225097)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電信電話株式会社の特許一覧

特許6225097署名・検証システム、署名装置、検証装置、署名・検証方法、プログラム
<>
  • 特許6225097-署名・検証システム、署名装置、検証装置、署名・検証方法、プログラム 図000024
  • 特許6225097-署名・検証システム、署名装置、検証装置、署名・検証方法、プログラム 図000025
  • 特許6225097-署名・検証システム、署名装置、検証装置、署名・検証方法、プログラム 図000026
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6225097
(24)【登録日】2017年10月13日
(45)【発行日】2017年11月1日
(54)【発明の名称】署名・検証システム、署名装置、検証装置、署名・検証方法、プログラム
(51)【国際特許分類】
   H04L 9/32 20060101AFI20171023BHJP
【FI】
   H04L9/00 675B
【請求項の数】8
【全頁数】18
(21)【出願番号】特願2014-226184(P2014-226184)
(22)【出願日】2014年11月6日
(65)【公開番号】特開2016-92639(P2016-92639A)
(43)【公開日】2016年5月23日
【審査請求日】2016年12月9日
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】100121706
【弁理士】
【氏名又は名称】中尾 直樹
(74)【代理人】
【識別番号】100128705
【弁理士】
【氏名又は名称】中村 幸雄
(74)【代理人】
【識別番号】100147773
【弁理士】
【氏名又は名称】義村 宗洋
(72)【発明者】
【氏名】阿部 正幸
【審査官】 行田 悦資
(56)【参考文献】
【文献】 特開2012−090183(JP,A)
【文献】 特開2015−216514(JP,A)
【文献】 国際公開第2008/127428(WO,A1)
【文献】 ABE, Masayuki et al.,Constant-Size Structure-Preserving Signatures Generic Constructions and Simple Assumptions [online],Cryptology ePrint Archive,2012年 6月27日,p.1-30,[平成29年8月15日検索],インターネット<URL:https://eprint.iacr.org/2012/285>
【文献】 BELLARE, Mihir et al.,Two-Tier Signatures, Strongly Unforgeable Signatures, and Fiat-Shamir without Random Oracles,Cryptology ePrint Archive,2008年 4月10日,p.1-21,[平成29年8月15日検索],インターネット<URL:https://eprint.iacr.org/2007/273.pdf>
(58)【調査した分野】(Int.Cl.,DB名)
H04L 9/32
(57)【特許請求の範囲】
【請求項1】
署名装置と検証装置とを有する署名・検証システムであって、
,G,Gを位数pの群、eをG×G→Gのペアリング、gを群Gの任意の生成元、gを群Gの任意の生成元、Kを1以上のあらかじめ定めた整数、kを1以上K以下の整数、m,…,mを群Gの元、メッセージMをM=(m,…,m)、^をべき乗を示す記号、u,f02,…,fK2,f03,…,fK3を1以上p−1以下からランダムに選択した整数、U=g^u,U=g^u,(F102,…,F1K2)=(g^f02,…,g^fK2),(F103,…,F1K3)=(g^f03,…,g^fK3),(F202,…,F2K2)=(g^f02,…,g^fK2),(F203,…,F2K3)=(g^f03,…,g^fK3)、〜を群Gの元のgを底とする対数の値と群Gの元のgを底とする対数の値が等しいことを示す記号とし、
前記署名装置は、
〜V,V’〜V’,H〜Hが成り立つように群Gの元V,V’,Hと群Gの元V,V’,Hを定め、0以上p−1以下の整数の中からランダムにa,b,αを選び、1以上p−1以下の整数の中からランダムにρを選び、R=V(V’)とし、
vk=g,vk=g,vk=gba,vk=R,vk=R,vk=H,vk=gρ,vk=gαb/ρを求め、
vk,vk,vk,vk,vk,vk,vk,vkを含む検証鍵vkと、vk,gα,g,V,V’を含む署名鍵skを生成する鍵生成部と、
0以上p−1以下の整数の中からランダムにv,a,…,aを選び、
(N201,N202,N200)=(F202^v,F203^v,U^v)と
i=1,…,Kについて
(N2i1,N2i2,N2i0)=(F2i2^a,F2i3^a,U^a
を計算し、
(N201,N202,N200),…,(N2K1,N2K2,N2K0)を含むワンタイム検証鍵opkと、v,a,…,aを含むワンタイム署名鍵oskを生成するワンタイム鍵生成部と、
メッセージMを取得し、前記ワンタイム署名鍵oskを用いて、選択メッセージ攻撃に対する安全性を有するあらかじめ定めた署名方式にしたがって、メッセージMに対する署名であって群Gの元または群Gの元のみを含む署名Sを生成するメッセージ署名生成部と、
0以上p−1以下の整数の中からランダムにr、r、zを選び、
r=r+r (mod p)
を求め、
【数11】

σ=gα
σ=(V’)−z
σ=(g
σ=(g)^r
σ=g^r
を求め、σ,σ,σ,σ,σ,σを含む署名Sを生成するワンタイム署名生成部
を備え、検証鍵vkとワンタイム検証鍵opkと署名S,Sを出力し、
前記検証装置は、
ワンタイム検証鍵opkと署名SとメッセージMを取得し、当該ワンタイム検証鍵opkを用いて、前記あらかじめ定めた署名方式にしたがって当該署名Sを検証するメッセージ署名検証部と
検証鍵vkと署名Sとワンタイム検証鍵opkを取得し、
【数12】

e(σ,vk)e(σ,vk)e(σ,vk)=e(σ,vk)e(σ,vk)e(vk,vk
e(F1i2,N2i0)=e(U,N2i1) (ただし、i=0,…,K)
e(F1i3,N2i0)=e(U,N2i2) (ただし、i=0,…,K)
のすべてが成り立つことを確認することで当該署名Sを検証するワンタイム署名検証部、
を備える
署名・検証システム。
【請求項2】
請求項1記載の署名・検証システムであって、
前記メッセージ署名生成部は、
【数13】

のように、署名Sを求め、
前記メッセージ署名検証部は、
取得したメッセージMに含まれるm,…,mと取得した署名Sが群Gの元であること、および
【数14】

であることを確認する
ことを特徴とする署名・検証システム。
【請求項3】
検証装置ともに署名・検証システムを構成する署名装置であって、
,G,Gを位数pの群、eをG×G→Gのペアリング、gを群Gの任意の生成元、gを群Gの任意の生成元、Kを1以上のあらかじめ定めた整数、kを1以上K以下の整数、m,…,mを群Gの元、メッセージMをM=(m,…,m)、^をべき乗を示す記号、u,f02,…,fK2,f03,…,fK3を1以上p−1以下からランダムに選択した整数、U=g^u,U=g^u,(F102,…,F1K2)=(g^f02,…,g^fK2),(F103,…,F1K3)=(g^f03,…,g^fK3),(F202,…,F2K2)=(g^f02,…,g^fK2),(F203,…,F2K3)=(g^f03,…,g^fK3)、〜を群Gの元のgを底とする対数の値と群Gの元のgを底とする対数の値が等しいことを示す記号とし、
前記署名装置は、鍵生成部、ワンタイム鍵生成部、メッセージ署名生成部、ワンタイム署名生成部を備え、
前記鍵生成部は、
〜V,V’〜V’,H〜Hが成り立つように群Gの元V,V’,Hと群Gの元V,V’,Hを定め、0以上p−1以下の整数の中からランダムにa,b,αを選び、1以上p−1以下の整数の中からランダムにρを選び、R=V(V’)とし、
vk=g,vk=g,vk=gba,vk=R,vk=R,vk=H,vk=gρ,vk=gαb/ρを求め、
vk,vk,vk,vk,vk,vk,vk,vkを含む検証鍵vkと、vk,gα,g,V,V’を含む署名鍵skを生成し、
前記ワンタイム鍵生成部は、
0以上p−1以下の整数の中からランダムにv,a,…,aを選び、
(N201,N202,N200)=(F202^v,F203^v,U^v)と
i=1,…,Kについて
(N2i1,N2i2,N2i0)=(F2i2^a,F2i3^a,U^a
を計算し、
(N201,N202,N200),…,(N2K1,N2K2,N2K0)を含むワンタイム検証鍵opkと、v,a,…,aを含むワンタイム署名鍵oskを生成し、
前記メッセージ署名生成部は、
メッセージMを取得し、前記ワンタイム署名鍵oskを用いて、選択メッセージ攻撃に対する安全性を有するあらかじめ定めた署名方式にしたがって、メッセージMに対する署名であって群Gの元または群Gの元のみを含む署名Sを生成し、
ワンタイム署名生成部は、
0以上p−1以下の整数の中からランダムにr、r、zを選び、
r=r+r (mod p)
を求め、
【数15】

σ=gα
σ=(V’)−z
σ=(g
σ=(g)^r
σ=g^r
を求め、σ,σ,σ,σ,σ,σを含む署名Sを生成する
ことを特徴とする署名装置。
【請求項4】
請求項3記載の署名装置であって、
前記メッセージ署名生成部は、
【数16】

のように、署名Sを求める
ことを特徴とする署名装置。
【請求項5】
検証鍵vk、ワンタイム検証鍵opk、署名S,S、メッセージMを入力とし、署名S,Sを検証する検証装置であって、
,G,Gを位数pの群、eをG×G→Gのペアリング、gを群Gの任意の生成元、gを群Gの任意の生成元、Kを1以上のあらかじめ定めた整数、kを1以上K以下の整数、m,…,mを群Gの元、メッセージMをM=(m,…,m)、^をべき乗を示す記号、u,f02,…,fK2,f03,…,fK3を1以上p−1以下からランダムに選択した整数、U=g^u,U=g^u,(F102,…,F1K2)=(g^f02,…,g^fK2),(F103,…,F1K3)=(g^f03,…,g^fK3),(F202,…,F2K2)=(g^f02,…,g^fK2),(F203,…,F2K3)=(g^f03,…,g^fK3)、〜を群Gの元のgを底とする対数の値と群Gの元のgを底とする対数の値が等しいことを示す記号とし、
群Gの元V,V’,Hと群Gの元V,V’,HはV〜V,V’〜V’,H〜Hが成り立ち、a,b,αは0以上p−1以下の整数、ρは1以上p−1以下の整数、R=V(V’)、vk=g,vk=g,vk=gba,vk=R,vk=R,vk=H,vk=gρ,vk=gαb/ρであり、
v,a,…,aは0以上p−1以下の整数、
(N201,N202,N200)=(F202^v,F203^v,U^v)、
i=1,…,Kについて
(N2i1,N2i2,N2i0)=(F2i2^a,F2i3^a,U^a
であり、
、r、zは0以上p−1以下の整数、r=r+r (mod p)、
【数17】

σ=gα
σ=(V’)−z
σ=(g
σ=(g)^r
σ=g^r
であり、
検証鍵vkは、vk,vk,vk,vk,vk,vk,vk,vkを含み、
ワンタイム検証鍵opkは、(N201,N202,N200),…,(N2K1,N2K2,N2K0)を含み、
署名Sは、前記ワンタイム署名鍵oskを用いて、選択メッセージ攻撃に対する安全性を有するあらかじめ定めた署名方式にしたがって、生成されたメッセージMに対する署名であって群Gの元または群Gの元のみを含み、
署名Sはσ,σ,σ,σ,σ,σを含み、
前記検証装置は、メッセージ署名検証部とワンタイム署名検証部を備え、
前記メッセージ署名検証部は、
ワンタイム検証鍵opkと署名SとメッセージMを取得し、当該ワンタイム検証鍵opkを用いて、前記あらかじめ定めた署名方式にしたがって当該署名Sを検証し、
前記ワンタイム署名検証部は、
検証鍵vkと署名Sとワンタイム検証鍵opkを取得し、
【数18】

e(σ,vk)e(σ,vk)e(σ,vk)=e(σ,vk)e(σ,vk)e(vk,vk
e(F1i2,N2i0)=e(U,N2i1) (ただし、i=0,…,K)
e(F1i3,N2i0)=e(U,N2i2) (ただし、i=0,…,K)
のすべてが成り立つことを確認することで当該署名Sを検証する
ことを特徴とする検証装置。
【請求項6】
請求項5記載の検証装置であって、
前記署名S
【数19】

のように、求められたものであり、
前記メッセージ署名検証部は、
取得したメッセージMに含まれるm,…,mと取得した署名Sが群Gの元であること、および
【数20】

であることを確認する
ことを特徴とする検証装置。
【請求項7】
署名装置と検証装置とを用いた署名・検証方法であって、
,G,Gを位数pの群、eをG×G→Gのペアリング、gを群Gの任意の生成元、gを群Gの任意の生成元、Kを1以上のあらかじめ定めた整数、kを1以上K以下の整数、m,…,mを群Gの元、メッセージMをM=(m,…,m)、^をべき乗を示す記号、u,f02,…,fK2,f03,…,fK3を1以上p−1以下からランダムに選択した整数、U=g^u,U=g^u,(F102,…,F1K2)=(g^f02,…,g^fK2),(F103,…,F1K3)=(g^f03,…,g^fK3),(F202,…,F2K2)=(g^f02,…,g^fK2),(F203,…,F2K3)=(g^f03,…,g^fK3)、〜を群Gの元のgを底とする対数の値と群Gの元のgを底とする対数の値が等しいことを示す記号とし、
前記署名装置は、鍵生成部、ワンタイム鍵生成部、メッセージ署名生成部、ワンタイム署名生成部を備え、
前記検証装置は、メッセージ署名検証部、ワンタイム署名検証部を備え、
前記鍵生成部が、
〜V,V’〜V’,H〜Hが成り立つように群Gの元V,V’,Hと群Gの元V,V’,Hを定め、0以上p−1以下の整数の中からランダムにa,b,αを選び、1以上p−1以下の整数の中からランダムにρを選び、R=V(V’)とし、
vk=g,vk=g,vk=gba,vk=R,vk=R,vk=H,vk=gρ,vk=gαb/ρを求め、
vk,vk,vk,vk,vk,vk,vk,vkを含む検証鍵vkと、vk,gα,g,V,V’を含む署名鍵skを生成する鍵生成ステップと、
前記ワンタイム鍵生成部が、
0以上p−1以下の整数の中からランダムにv,a,…,aを選び、
(N201,N202,N200)=(F202^v,F203^v,U^v)と
i=1,…,Kについて
(N2i1,N2i2,N2i0)=(F2i2^a,F2i3^a,U^a
を計算し、
(N201,N202,N200),…,(N2K1,N2K2,N2K0)を含むワンタイム検証鍵opkと、v,a,…,aを含むワンタイム署名鍵oskを生成するワンタイム鍵生成ステップと、
前記メッセージ署名生成部が、
メッセージMを取得し、前記ワンタイム署名鍵oskを用いて、選択メッセージ攻撃に対する安全性を有するあらかじめ定めた署名方式にしたがって、メッセージMに対する署名であって群Gの元または群Gの元のみを含む署名Sを生成するメッセージ署名生成ステップと、
前記ワンタイム署名生成部が、
0以上p−1以下の整数の中からランダムにr、r、zを選び、
r=r+r (mod p)
を求め、
【数21】

σ=gα
σ=(V’)−z
σ=(g
σ=(g)^r
σ=g^r
を求め、σ,σ,σ,σ,σ,σを含む署名Sを生成するワンタイム署名生成ステップ
を実行して、検証鍵vkとワンタイム検証鍵opkと署名S,Sを出力し、
前記メッセージ署名検証部が、
ワンタイム検証鍵opkと署名SとメッセージMを取得し、当該ワンタイム検証鍵opkを用いて、前記あらかじめ定めた署名方式にしたがって当該署名Sを検証するメッセージ署名検証ステップと
前記ワンタイム署名検証部が、
検証鍵vkと署名Sとワンタイム検証鍵opkを取得し、
【数22】

e(σ,vk)e(σ,vk)e(σ,vk)=e(σ,vk)e(σ,vk)e(vk,vk
e(F1i2,N2i0)=e(U,N2i1) (ただし、i=0,…,K)
e(F1i3,N2i0)=e(U,N2i2) (ただし、i=0,…,K)
のすべてが成り立つことを確認することで当該署名Sを検証するワンタイム署名検証ステップ、
を実行する
署名・検証方法。
【請求項8】
請求項3もしくは4記載の署名装置、または請求項5もしくは6記載の検証装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は群構造維持署名方式を用いた署名・検証システム、署名装置、検証装置、署名・検証方法、プログラムに関する。
【背景技術】
【0002】
通常の署名鍵は整数の要素を含んでいる。そして、整数の要素を含んでいる署名鍵を知っていることを示す非対話証明としては、非特許文献1の技術が知られている。しかし、署名鍵を1ビットごとに分解して証明する方法のため、非常に効率が悪い。そこで本発明の対象を、群構造維持署名方式とする。
【0003】
群構造維持署名方式とは、検証鍵、署名対象のメッセージ、署名が群の要素のみで構成されていて、検証関数が群演算とペアリング積の演算のみから構成されているディジタル署名方式である。Groth-Sahai非対話証明系は、群の要素がペアリング積で表された関数式を満たすことを、それらの群要素を秘匿したまま証明できる技術である。群構造維持署名方式であれば、Groth-Sahai非対話証明系を用いることによって、群要素からなる構成要素、すなわち、検証鍵、メッセージ、署名の任意の要素を秘匿したまま、それら秘匿された要素がペアリング積から成る検証式を満たすことを容易に証明できる。
【0004】
メッセージを除く要素である検証鍵、署名、署名鍵が群要素であるディジタル署名方式として、非特許文献2に示された署名方式が知られている。この方式に基づいてメッセージも群要素にし、検証鍵、メッセージ、署名、署名鍵のすべてを群要素にしたディジタル署名方式として、非特許文献3に示された署名方式が知られている。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】Sarah Meiklejohn, “An Extension of the Groth-Sahai Proof System”, [平成26年10月22日検索]、インターネット<http://cseweb.ucsd.edu/~smeiklejohn/files/mastersthesis.pdf>.
【非特許文献2】Dennis Hofheinz, Tibor Jager, and Edward Knapp, “Waters Signatures with Optimal Security Reduction”, [平成26年10月22日検索]、インターネット<http://eprint.iacr.org/2011/703.pdf>.
【非特許文献3】Masayuki Abe, Melissa Chase, Bernardo David, Markulf Kohlweiss, Ryo Nishimaki, Miyako Ohkubo, “Constant-Size Structure-Preserving Signatures: Generic Constructions and Simple Assumptions”, ASIACRYPT 2012: 4-24.
【発明の概要】
【発明が解決しようとする課題】
【0006】
非特許文献3のディジタル署名方式であれば、検証鍵、メッセージ、署名、署名鍵のすべてを秘匿したまま検証式が成り立つことをGroth-Sahai非対話証明で証明できる。つまり、通常の群構造維持署名方式では非対話証明が困難であった署名鍵も、非対話証明で効率的に示すことができる。しかしながら、非特許文献3に示された署名方式は、いわゆる拡張ランダムメッセージ攻撃に対してのみ潜在的偽造不可能であって、より望ましい適応選択メッセージ攻撃に対しての偽造不可能性は達成できていない(選択メッセージ攻撃に対する安全性を有していない)。
【0007】
そこで、本発明は、検証鍵、メッセージ、署名、署名鍵のすべてが群要素であって、選択メッセージ攻撃に対する安全性を有する群構造維持署名方式を提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明の署名・検証システムは、署名装置と検証装置とを有する。まず、G,G,Gを位数pの群、eをG×G→Gのペアリング、gを群Gの任意の生成元、gを群Gの任意の生成元、Kを1以上のあらかじめ定めた整数、kを1以上K以下の整数、m,…,mを群Gの元、メッセージMをM=(m,…,m)、^をべき乗を示す記号、u,f02,…,fK2,f03,…,fK3を1以上p−1以下からランダムに選択した整数、U=g^u,U=g^u,(F102,…,F1K2)=(g^f02,…,g^fK2),(F103,…,F1K3)=(g^f03,…,g^fK3),(F202,…,F2K2)=(g^f02,…,g^fK2),(F203,…,F2K3)=(g^f03,…,g^fK3)、〜を群Gの元のgを底とする対数の値と群Gの元のgを底とする対数の値が等しいことを示す記号とする。
【0009】
署名装置は、鍵生成部、ワンタイム鍵生成部、メッセージ署名生成部、ワンタイム署名生成部を備え、検証鍵vkとワンタイム検証鍵opkと署名S,Sを出力する。検証装置は、メッセージ署名検証部とワンタイム署名検証部を備え、検証鍵vk、ワンタイム検証鍵opk、署名S,SとメッセージMを取得して署名S,Sを検証する。
【0010】
鍵生成部は、V〜V,V’〜V’,H〜Hが成り立つように群Gの元V,V’,Hと群Gの元V,V’,Hを定め、0以上p−1以下の整数の中からランダムにa,b,αを選び、1以上p−1以下の整数の中からランダムにρを選び、R=V(V’)とし、
vk=g,vk=g,vk=gba,vk=R,vk=R,vk=H,vk=gρ,vk=gαb/ρを求め、
vk,vk,vk,vk,vk,vk,vk,vkを含む検証鍵vkと、vk,gα,g,V,V’を含む署名鍵skを生成する。
【0011】
ワンタイム鍵生成部は、0以上p−1以下の整数の中からランダムにv,a,…,aを選び、
(N201,N202,N200)=(F202^v,F203^v,U^v)と
i=1,…,Kについて
(N2i1,N2i2,N2i0)=(F2i2^a,F2i3^a,U^a
を計算し、
(N201,N202,N200),…,(N2K1,N2K2,N2K0)を含むワンタイム検証鍵opkと、v,a,…,aを含むワンタイム署名鍵oskを生成する。
【0012】
メッセージ署名生成部は、メッセージMを取得し、ワンタイム署名鍵oskを用いて、選択メッセージ攻撃に対する安全性を有するあらかじめ定めた署名方式にしたがってメッセージMに対する署名であって、群Gの元または群Gの元のみを含む署名Sを生成する。
【0013】
ワンタイム署名生成部は、0以上p−1以下の整数の中からランダムにr、r、zを選び、
r=r+r (mod p)
を求め、
【0014】
【数1】
【0015】
σ=gα
σ=(V’)−z
σ=(g
σ=(g)^r
σ=g^r
を求め、σ,σ,σ,σ,σ,σを含む署名Sを生成する。
【0016】
メッセージ署名検証部は、ワンタイム検証鍵opkと署名SとメッセージMを取得し、取得したワンタイム検証鍵opkを用いて、あらかじめ定めた署名方式にしたがって取得した署名Sを検証する。
【0017】
ワンタイム署名検証部は、検証鍵vkと署名Sとワンタイム検証鍵opkを取得し、
【0018】
【数2】
【0019】
e(σ,vk)e(σ,vk)e(σ,vk)=e(σ,vk)e(σ,vk)e(vk,vk
e(F1i2,N2i0)=e(U,N2i1) (ただし、i=0,…,K)
e(F1i3,N2i0)=e(U,N2i2) (ただし、i=0,…,K)
のすべてが成り立つことを確認することで取得した署名Sを検証する。
【発明の効果】
【0020】
本発明の署名・検証システムによれば、メッセージMに対する署名Sを、選択メッセージ攻撃に対する安全性を有する群構造維持署名方式をワンタイム署名方式として利用して生成している。そして、署名装置自身がランダムに生成できるワンタイム検証鍵に対する署名Sを、検証鍵、メッセージ、署名、署名鍵のすべてが群要素であるがランダムメッセージ攻撃に対する安全性までしか有さない署名方式で生成している。このように2つの署名方式を組み合わせることで、検証鍵、メッセージ、署名、署名鍵のすべてが群要素であって、選択メッセージ攻撃に対する安全性を有する群構造維持署名方式を提供できる。
【図面の簡単な説明】
【0021】
図1】本発明の署名・検証システムの構成例を示す図。
図2】本発明の署名装置の処理フローを示す図。
図3】本発明の検証装置の処理フローを示す図。
【発明を実施するための形態】
【0022】
以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
【実施例1】
【0023】
図1に本発明の署名・検証システムの構成例、図2に本発明の署名装置の処理フロー、図3に本発明の検証装置の処理フローを示す。署名・検証システムは、ネットワーク800で接続された署名装置100と検証装置200とを有する。署名装置100は、鍵生成部110、ワンタイム鍵生成部120、メッセージ署名生成部130、ワンタイム署名生成部140、署名記録部190を備え、検証鍵vkとワンタイム検証鍵opkと署名S,Sを出力する。検証装置200は、メッセージ署名検証部230、ワンタイム署名検証部240、検証記録部290を備え、検証鍵vk、ワンタイム検証鍵opk、署名S,SとメッセージMを取得して署名S,Sを検証する。
【0024】
まず、G,G,Gを位数pの群、eをG×G→Gのペアリング、gを群Gの任意の生成元、gを群Gの任意の生成元、Kを1以上のあらかじめ定めた整数、kを1以上K以下の整数、m,…,mを群Gの元、メッセージMをM=(m,…,m)、^をべき乗を示す記号、u,f02,…,fK2,f03,…,fK3を1以上p−1以下からランダムに選択した整数、U=g^u,U=g^u,(F102,…,F1K2)=(g^f02,…,g^fK2),(F103,…,F1K3)=(g^f03,…,g^fK3),(F202,…,F2K2)=(g^f02,…,g^fK2),(F203,…,F2K3)=(g^f03,…,g^fK3)とする。また、〜を群Gの元のgを底とする対数の値と群Gの元のgを底とする対数の値が等しいことを示す記号とする。つまり、V〜Vは、
【0025】
【数3】
【0026】
の関係を示している。ペアリングeは、e(g,g)=e(g,gab,e(g,g)≠1となる性質を持つ写像である。また、p,G,G,G,e,(F102,…,F1K2),(F103,…,F1K3),(F202,…,F2K2),(F203,…,F2K3),U,Uは、あらかじめ定められた共通パラメータ(双線形写像群の表現を含むグローバルキー)であり、あらかじめ署名記録部190と、検証記録部290に記録されているとする。
【0027】
鍵生成部110は、V〜V,V’〜V’,H〜Hが成り立つように群Gの元V,V’,Hと群Gの元V,V’,Hを定め、0以上p−1以下の整数の中からランダムにa,b,αを選び、1以上p−1以下の整数の中からランダムにρを選ぶ。そして、鍵生成部110は、
vk=g,vk=g,vk=gba,vk=R,vk=R,vk=H,vk=gρ,vk=gαb/ρを求め、
vk,vk,vk,vk,vk,vk,vk,vkを含む検証鍵vkと、vk,gα,g,V,V’を含む署名鍵skを生成する(S110)。ただし、R=V(V’)である。
【0028】
ワンタイム鍵生成部120は、0以上p−1以下の整数の中からランダムにv,a,…,aを選ぶ。そして、ワンタイム鍵生成部120は、
(N201,N202,N200)=(F202^v,F203^v,U^v)と
i=1,…,Kについて
(N2i1,N2i2,N2i0)=(F2i2^a,F2i3^a,U^a
を計算し、
(N201,N202,N200),…,(N2K1,N2K2,N2K0)を含むワンタイム検証鍵opkと、v,a,…,aを含むワンタイム署名鍵oskを生成する(S120)。
【0029】
メッセージ署名生成部130は、メッセージMを取得し、ワンタイム署名鍵oskを用いて、選択メッセージ攻撃に対する安全性を有するあらかじめ定めた署名方式にしたがって、メッセージMに対する署名であって群Gの元または群Gの元のみを含む署名Sを生成する(S130)。ワンタイム検証鍵opk、メッセージM、署名Sはいずれも、群Gの元または群Gの元のみで構成されているので、メッセージ署名生成部130が利用する署名方式は群構造維持署名方式である。なお、選択メッセージ攻撃に対する安全性を有する署名方法の具体例としては、メッセージ署名生成部130が、
【0030】
【数4】
【0031】
のように、署名Sを求める方法がある。ただし、メッセージ署名生成部130が利用する署名方式は、選択メッセージ攻撃に対する安全性を有する群構造維持署名方式であれば、他の署名方式でもよい。また、署名の対象となるメッセージMは、K個の群Gの元からなる。通常のメッセージは任意長の整数であるが、その場合は、K個の群Gの元となるように変換すればよい。そして、変換後のメッセージを本願のメッセージMとする。署名の対象となるメッセージが短い場合には、K個の群Gの元となるようにパディングによってメッセージMを作ればよい。パディングする値は群Gの元の中からあらかじめ選んでおけばよい。
【0032】
ワンタイム署名生成部140は、0以上p−1以下の整数の中からランダムにr、r、zを選び、
r=r+r (mod p)
を求める。そして、ワンタイム署名生成部140は、
【0033】
【数5】
【0034】
σ=gα
σ=(V’)−z
σ=(g
σ=(g)^r
σ=g^r
を求め、σ,σ,σ,σ,σ,σを含む署名Sを生成する(S140)。この処理では、署名鍵skを用いてワンタイム検証鍵opkに対する署名Sを生成している。これらの処理によって、署名装置100は、検証鍵vkとワンタイム検証鍵opkと署名S,Sを出力する。
【0035】
メッセージ署名検証部230は、ワンタイム検証鍵opkと署名SとメッセージMを取得し、取得したワンタイム検証鍵opkを用いて、メッセージ署名生成部130がしたがった署名方式にしたがって取得した署名Sを検証する(S230)。例えば、メッセージ署名生成部130の説明で示した署名Sの具体例の場合ならば、メッセージ署名検証部230は、取得したメッセージMに含まれるm,…,mと取得した署名Sが群Gの元であること、および
【0036】
【数6】
【0037】
であることを確認し、正しければOK、正しくなければNGと判断すればよい。取得した署名Sが正しい署名であれば
【0038】
【数7】
【0039】
のように、左辺と右辺が等しくなるので、上記の計算で検証できる。
【0040】
ワンタイム署名検証部240は、検証鍵vkと署名Sとワンタイム検証鍵opkを取得し、
【0041】
【数8】
【0042】
e(σ,vk)e(σ,vk)e(σ,vk)=e(σ,vk)e(σ,vk)e(vk,vk
e(F1i2,N2i0)=e(U,N2i1) (ただし、i=0,…,K)
e(F1i3,N2i0)=e(U,N2i2) (ただし、i=0,…,K)
のすべてが成り立つことを確認することで取得した署名Sを検証する(S240)。すなわち、すべての式が成り立てばOK、いずれかの式が成り立たなければNGと判断する。
【0043】
次に、第1式から、取得した署名Sが正しければ成り立つことを示す。第1式は、
【0044】
【数9】
【0045】
となり、取得した署名Sが正しければ成り立つ。第2式は、
【0046】
【数10】
【0047】
となる。ここで、V〜V,V’〜V’が成り立つようにV,V,V’,V’は定められているので、取得した署名Sが正しければ(左辺)=(右辺)が成り立つ。第3式は、
(左辺)=e(F1i2,N2i0
=e(g^fi2,U^a
=e(g,g^u)^(fi2・a
=e(g,g)^(u・fi2・a
(右辺)=e(U,N2i1
=e(U,F2i2^a
=e(g^u,g^fi2)^a
=e(g,g)^(u・fi2・a
となる。よって、取得した署名Sが正しければ(左辺)=(右辺)が成り立つ。第4式は、
(左辺)=e(F1i3,N2i0
=e(g^fi3,U^a
=e(g,g^u)^(fi3・a
=e(g,g)^(u・fi3・a
(右辺)=e(U,N2i2
=e(U,F2i3^a
=e(g^u,g^fi3)^a
=e(g,g)^(u・fi3・a
となる。よって、取得した署名Sが正しければ(左辺)=(右辺)が成り立つ。
【0048】
ここで、署名装置100のワンタイム鍵生成部120、メッセージ署名生成部130、ワンタイム署名生成部140をひとまとめとして署名生成手段150と考えてみる。鍵生成部110は非特許文献3の鍵生成と同じであり、署名生成手段150が非特許文献3と相違する。具体的には、署名装置100が内部でランダムに生成できるワンタイム検証鍵に対する署名Sの生成に、検証鍵、メッセージ、署名、署名鍵のすべてが群要素であるがランダムメッセージ攻撃に対する安全性までしかない署名方式を利用し、メッセージMに対する署名Sは選択メッセージ攻撃に対する安全性を有する群構造維持署名方式で生成している。このように2つの署名方式を組み合わせることで、検証鍵、メッセージ、署名、署名鍵のすべてが群要素であって、選択メッセージ攻撃に対する安全性を有する群構造維持署名方式を提供できる。
【0049】
[プログラム、記録媒体]
上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
【0050】
また、上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
【0051】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
【0052】
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【0053】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
【0054】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【符号の説明】
【0055】
100 署名装置
110 鍵生成部
120 ワンタイム鍵生成部
130 メッセージ署名生成部
140 ワンタイム署名生成部
150 署名生成手段
190 署名記録部
200 検証装置
230 メッセージ署名検証部
240 ワンタイム署名検証部
290 検証記録部
800 ネットワーク
図1
図2
図3