JP5060556B2 - グループ署名システム、装置及びプログラム - Google Patents

グループ署名システム、装置及びプログラム Download PDF

Info

Publication number
JP5060556B2
JP5060556B2 JP2009522460A JP2009522460A JP5060556B2 JP 5060556 B2 JP5060556 B2 JP 5060556B2 JP 2009522460 A JP2009522460 A JP 2009522460A JP 2009522460 A JP2009522460 A JP 2009522460A JP 5060556 B2 JP5060556 B2 JP 5060556B2
Authority
JP
Japan
Prior art keywords
group
signer
public
key
signature
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2009522460A
Other languages
English (en)
Other versions
JPWO2009008069A1 (ja
Inventor
琢也 吉田
光司 岡田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Toshiba Digital Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Solutions Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp, Toshiba Solutions Corp filed Critical Toshiba Corp
Publication of JPWO2009008069A1 publication Critical patent/JPWO2009008069A1/ja
Application granted granted Critical
Publication of JP5060556B2 publication Critical patent/JP5060556B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3218Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/3013Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the discrete logarithm problem, e.g. ElGamal or Diffie-Hellman systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • H04L9/3255Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using group based signatures, e.g. ring or threshold signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/42Anonymization, e.g. involving pseudonyms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)

Description

本発明は、グループ署名システム、装置及びプログラムに係り、例えば、計算量を減らして計算速度を向上し得るグループ署名システム、装置及びプログラムに関する。
グループ署名方式は、匿名性を持った電子署名として1991年にチャウム(Chaum)らによって提案された(D. Chaum and E. van Heyst, “Group Signatures,” In Proc. of EUROCRYPT ’91, LNCS 547, pp.257-265, 1991.参照)。通常の電子署名方式では、署名検証のための公開鍵と署名生成のための秘密鍵が1対1で対応するため、署名生成者の匿名性を保てない。
これに対し、グループ署名方式では、署名検証のためのグループ公開鍵と署名生成のためのメンバ秘密鍵が1対nで対応するため、署名生成者の匿名性を保っている。すなわち、グループ署名方式は、1個のグループ公開鍵と、n個のメンバ秘密鍵とが対応するため、署名検証の際に、署名生成者を特定できない性質がある。また、グループ署名方式は、特権者であるグループ管理者だけが署名者を特定できるという性質を持っている。
しかしながら、当初のグループ署名方式は、署名長や署名生成計算量がメンバ数に比例するため、多数のメンバをもつグループでの効率が非常に低く、運用に適さないものである。
これに対し、効率がメンバ数に依存しないグループ署名方式が1997年にカメニッシュ(Camenisch)らにより提案された(J. Camenisch and M. Stadler, “Efficient group signature schemes for large groups,” In Proc. of CRYPTO ’97, LNCS 1294, pp.410-424, 1997.参照)。この方式では、メンバ秘密鍵に対するグループ管理者の署名をメンバ証明書(membership certificate)として用いる。グループ署名には、グループ管理者の公開鍵で暗号化されたメンバ証明書(またはその一部)と、メンバ証明書が正しく暗号化されていることと、メンバ秘密鍵及びメンバ証明書を保持することとを示す非対話的知識証明が含まれる。署名検証者は、非対話的知識証明の検証により、メンバによる署名であることを検証できる。さらにグループ管理者は、メンバ証明書の復号により、署名者を特定できる。このようなメンバ証明書を用いる概念は、その後のグループ署名方式の基礎となる重要なものである。
しかしながら、このカメニッシュらの方式は、効率がメンバ数に依存しないものの、実用的な観点からは効率が低いものである。
効率的(practical)な最初のグループ署名方式は、2000年にアテニース(Ateniese)らによって提案された方式(G. Ateniese, J. Camenisch, M. Joye, and G. Tsudik, “A practical and provably secure coalition-resistant group signature scheme,” In Proc.of CRYPTO 2000, LNCS 1880,pp.255-270, 2002. 以下、[ACJT00]方式という。)である。アテニースのグループ署名方式は、大幅に効率化されており、実用化が検討可能となっている。アテニースのグループ署名方式は、署名生成の際にRSA署名生成の200倍程度の計算量が必要であるため、継続的に改良が検討されている。アテニースの方式は、安全性が強RSA問題(strong-RSA problem)に基づいている。
現在、広く知られている高速なグループ署名方式は、2004年にカメニッシュ(Camenisch)らによって提案された方式(J. Camenisch and J. Groth, “Group Signatures: Better Efficiency and New Theoretical Aspects,” Forth Int. Conf. on Security in Communication Networks − SCN 2004, LNCS 3352, 120-133, 2005. 以下、[CG04]方式という。full paper は以下のURLから取得可能(2007年6月現在)http://www.brics.dk/jg/)である。[CG04]方式の署名生成計算量は、RSA署名生成の8倍程度にまで低減されている。[CG04]方式の安全性も強RSA問題に基づいている。
以上のような[CG04]方式のグループ署名方式は、[ACJT00]方式よりも計算量が小さくなっているが、本発明者の検討によれば、グループ署名方式に対する実用的な側面も強化する必要があると考え、さらに計算量を減らして計算速度を向上させる余地がある。
本発明の目的は、計算量を減らして計算速度を向上し得るグループ署名システム、装置及びプログラムを提供することにある。
本発明の第1の局面(aspect)は、互いに通信可能なグループ管理者装置、署名者装置及び検証者装置を備え、各装置がグループ署名方式を用いるグループ署名システムであって、前記グループ管理者装置としては、前記グループ署名方式に用いる素数位数q、及び前記qの乗法巡回群Gの生成元gを含む公開パラメータを記憶するパラメータ記憶手段と、前記パラメータ記憶手段内の公開パラメータに基づいて、値a,b∈Zを含むグループ秘密鍵と、第1関係式g=g 及び第2関係式f=g を満たす値g,f及び前記生成元gを含むグループ公開鍵とを生成するグループ鍵生成手段と、前記グループ秘密鍵、前記グループ公開鍵及び第3関係式ki1=b−aki2 mod qに基づいて、第4関係式f=g^{ki1}g^{ki2}を満たすリプレゼンテーションki1,ki2からなるメンバ秘密鍵を算出するメンバ秘密鍵生成手段(但し、^はベキ乗を表す記号)と、前記メンバ秘密鍵及び前記生成元gに基づいて、署名者特定情報T=g^{ki1}を算出する署名者特定情報算出手段と、を備えており、前記署名者装置としては、前記グループ署名方式に用いる素数位数q、及び前記qの乗法巡回群Gの生成元gを含む公開パラメータと、前記グループ公開鍵、前記メンバ秘密鍵、前記署名者特定情報T及びメッセージを記憶する署名者用記憶手段と、前記署名者用記憶手段内の公開パラメータ及びグループ公開鍵に基づいて前記署名者特定情報Tを暗号化し、当該署名者特定情報Tの暗号文データを生成する暗号文生成手段と、前記署名者用記憶手段内の公開パラメータ、前記グループ公開鍵、前記メンバ秘密鍵及び前記メッセージと、前記署名者特定情報Tの暗号文データとに基づいて、当該メンバ秘密鍵及び当該署名者特定情報Tを知っていることを示す零知識証明を生成する零知識証明生成手段と、前記暗号文データ及び前記零知識証明からなるグループ署名と前記メッセージとを前記検証者装置に送信する手段と、を備えており、前記検証者装置としては、前記グループ署名方式に用いる素数位数q、及び前記qの乗法巡回群Gの生成元gを含む公開パラメータと前記グループ公開鍵とを記憶する検証者用記憶手段と、前記署名者装置から前記グループ署名及びメッセージを受信する手段と、前記受信したグループ署名及びメッセージと前記検証者用記憶手段内の公開パラメータ及びグループ公開鍵とに基づいて、当該グループ署名の正当性を検証する検証手段と、前記検証した結果を前記署名者装置に送信する手段と、署名者特定のためにグループ管理者装置にメッセージとグループ署名を送信する手段と、を備えたグループ署名システムである。
第1の局面によれば、素数位数qの乗法巡回群Gを用いて乗法巡回群として位数が未知のものを利用せずに、位数が既知のもののみを利用したグループ署名方式とし、且つリプレゼンテーションki1,ki2をメンバ秘密鍵としたグループ署名方式を実現したことにより、従来の[CG04]方式に比べ、計算量を減らして計算速度を向上することができる。
なお、以上の局面は、各装置からなる「システム」として表現したが、これに限らず、各装置の集合又は装置毎の「装置」、「プログラム」、「コンピュータ読み取り可能な記憶媒体」又は「方法」として表現してもよい。
図1は、本発明の一実施形態に係るグループ署名システムの構成を示す模式図である。 図2は、同実施形態におけるグループ管理者装置の構成を示す模式図である。 図3は、同実施形態におけるグループ管理者用記憶部の構成を示す模式図である。 図4は、同実施形態における署名者装置の構成を示す模式図である。 図5は、同実施形態における署名者用記憶部の構成を示す模式図である。 図6は、同実施形態における検証者装置の構成を示す模式図である。 図7は、同実施形態における検証者用記憶部の構成を示す模式図である。 図8は、同実施形態における鍵ペアの生成処理を説明するためのフローチャートである。 図9は、同実施形態におけるメンバ秘密鍵の生成処理を説明するためのフローチャートである。 図10は、同実施形態における署名者特定情報の算出処理を説明するためのフローチャートである。 図11は、同実施形態における暗号化処理を説明するためのフローチャートである。 図12は、同実施形態における零知識証明の算出処理を説明するためのフローチャートである。 図13は、同実施形態における署名検証処理を説明するためのフローチャートである。 図14は、同実施形態における署名検証処理を説明するためのフローチャートである。 図15は、同実施形態における署名者特定処理を説明するためのフローチャートである。 図16は、同実施形態の効果を従来と比較して示す図である。
以下、本発明の一実施形態について図面を参照して詳細に説明するが、その前に本発明の一実施形態に係るグループ署名方式(以下、実施形態方式という)の概要を述べる。
実施形態方式は極めて効率が良いことが最大の特長である。高速にベキ乗剰余演算を行う手法である指数同時乗算(Simultaneous Multiple Exponentiation)法を用いた場合、[CG04]方式がRSA署名生成の8倍以上の計算量であるのに対し、実施形態方式ではRSA署名生成のわずか3倍程度の計算量で署名生成を行える。また、指数同時乗算法では底の値によってテーブルの事前計算を行う必要があるが、実施形態方式ではベキ乗剰余演算の底が常に固定であるため、テーブルの事前計算を毎回行う必要がなく、テーブルを保持することで計算量をさらに若干減らすことができる。
さらに、実施形態方式は署名生成に利用するメンバ秘密鍵が非常に短く、そのビット長は[CG04]方式の1/10、RSA方式の1/9でしかない。
[ACJT00]方式や[CG04]方式の安全性が強RSA問題に基づくのに対し、実施形態方式は、安全性がDDH(decisional Diffie-Hellman)問題に基づいている。これに伴い、実施形態方式は、楕円曲線上でも効率よく実装でき、署名長及び鍵長を大幅に短縮でき、高速化が可能となる。実施形態方式はDDH問題のみに基づく効率的なグループ署名として最初の方式である。さらに、実施形態方式は、単純な演算の組み合わせで実装可能であるため、広範囲のプラットフォーム上での応用が期待できる。
<グループ署名>
以下では、実施形態方式の前提となるグループ署名の機能と安全性について定義する。
[グループ署名の機能]
効率のよい既存方式のほとんどは、メンバ秘密鍵に対するグループ管理者の署名をメンバ証明書として利用する。実施形態方式では、グループ管理者の署名を利用しないため、従来方式のメンバ証明書と区別するために署名者特定情報(tracing information)という用語を用いる。グループ署名においては、暗号化された署名者特定情報と、署名者特定情報が正しく暗号化されていることを示す非対話的知識証明と、メンバ秘密鍵及び署名者特定情報を持っていることを示す非対話的知識証明とが含まれることはメンバ証明書と同様である。
グループ署名方式GSは以下の4つの多項式時間アルゴリズムGKg,GSig,GVf,Openから成る。
[鍵生成アルゴリズムGKg]
鍵生成アルゴリズムGKgは、公開パラメータとグループのメンバ数nを入力とし、グループ公開鍵gpk、グループ秘密鍵gmsk、メンバ秘密鍵の集合gsk=(gsk[1],…,gsk[n])、それに対応する署名者特定情報T=(T,…,T)を生成して出力するための確率的多項式時間アルゴリズムである。
[署名生成アルゴリズムGSig]
署名生成アルゴリズムGSigは、グループ公開鍵gpk、メンバ秘密鍵gsk[i]、署名者特定情報T、メッセージmsgに対し、グループ署名σを生成する確率的多項式時間アルゴリズムである。
[署名検証アルゴリズムGVf]
署名検証アルゴリズムGVfは、グループ公開鍵gpk、メッセージmsg、グループ署名σを入力とし、署名が正しければ有効(valid)を、正しくなければ無効(invalid)を出力する確定的多項式時間アルゴリズムである。
[署名者特定アルゴリズムOpen]
署名者特定アルゴリズムOpenは、グループ公開鍵gpk、グループ秘密鍵gmsk、メッセージmsg、グループ署名σを入力とし、署名が正しければその署名を生成したユーザのID=iを、正しくなければ無効(invalid)を出力する確定的多項式時間アルゴリズムである。
[グループ署名の安全性]
グループ署名の安全性について当初は数多くの要件が定義されていた。その後、ベラー(Bellare)らが、静的グループ(static group)のグループ署名の安全性の要件をまとめている(M. Bellare, D. Micciancio, and B. Warinschi, “Foundations of Group Signatures: Formal Definitions, Simplified Requirements, and a Construction Based on General Assumptions,” In Proc. of EUROCRYPT 2003, LNCS 2656, pp.614-629, 2003.参照)。なお、静的グループとは、メンバの追加・削除機能を持たず一度グループが生成されるとメンバの変更がないグループをいう。ここで、ベラーの要件は非常に厳しいものであり、グループメンバ全員の結託に対する安全性が考慮されている。このため、一般的には、ベラーの要件を弱めて安全性が定義されている。ここでは、ベラーの要件に基づき、グループ管理者やメンバの結託がない場合の安全性を再定義する。結託以外の定義はベラーの定義と同様である。
以下の正当性(correctness)、匿名性(anonymity)、追跡可能性(traceability)の3つの性質を持つとき、グループ署名方式GSは安全であるという。
[1.正当性(correctness)]
GVf(gpk,msg,GSig(gsk[i],msg))= valid かつ
Open(gmsk,msg,GSig(gsk[i],msg))=i
すなわち、正しく生成された署名は、署名検証アルゴリズムGVfにより検証に成功し、署名者特定アルゴリズムOpenにより署名者を特定できる。
[2.匿名性(anonymity)]
以下のゲームを考える。
(1)セットアップ:鍵生成アルゴリズムGKg(n)を実行して、グループ公開鍵gpk、グループ秘密鍵gmsk、メンバ秘密鍵の集合gsk、署名者特定情報Tを生成し、敵(adversary)Aにグループ公開鍵gpkを与える。
(2)質問(queries):敵Aは次の2種類の質問(a),(b)を行える。ただし、買収質問(corruption query)は1回のみに限られる。
(a)署名(signing):ユーザiとメッセージmsgを指定し、署名質問(signing query)を行い、グループ署名σ=GSig(gpk,gsk[i],msg)を得る。
(b)買収(corruption):ユーザu(1≦u≦n)を指定し、買収質問を行い、メンバ秘密鍵gsk[u]を得る。
(3)チャレンジ(challenge):敵AはメッセージmsgとユーザID i0,i1を出力する。このときu=i0またはu=i1であってはならない。挑戦者(challenger)は、ユーザID b←{0,1}をランダムに選び、グループ署名σ←GSig(gpk,gsk[ib],msg)を計算して敵Aに返す。
(4)限定された質問(restricted queries):次の質問(a),(b)
(a)署名(signing):上記と同様。
(b)買収(corruption):上記と同様。ただし既に1回行われていた場合は質問できない。また、このときu=i0またはu=i1であってはならない。
(5)出力(output):敵Aは、ユーザID b’を出力する。
b’=bのとき、“敵Aは攻撃に成功した”という。敵Aの成功確率が無視できるとき、グループ署名方式は匿名性(anonymity)を持つという。
[3.追跡可能性(traceability)]
以下のゲームを考える。
(1)セットアップ(setup): 鍵生成アルゴリズムGKg(n)を実行してグループ公開鍵gpk、グループ秘密鍵gmsk、メンバ秘密鍵gsk、署名者特定情報Tを生成し、敵Aにグループ公開鍵gpkを与える。
(2)質問(queries):敵Aは次の2種類の質問(a),(b)を行える。ただし、買収質問(corruption query)は1回のみに限られる。
(a)署名(signing):ユーザiとメッセージmsgを指定し、署名質問(signing query)を行い、グループ署名σ=GSig(gpk,gsk[i],msg)を得る。
(b)買収(corruption):ユーザu(1≦u≦n)を指定し、買収質問を行い、メンバ秘密鍵gsk[u]を得る。
(3)応答(response):敵Aはメッセージmsgとグループ署名σを出力する。署名者特定アルゴリズムOpenの結果がOpen(gmsk,msg,σ)=i≠uであり、i、msgが署名質問(signing query)で指定されていないとき、“敵Aは攻撃に成功した”という。敵Aの成功確率が無視できるとき、グループ署名方式は追跡可能性(traceability)を持つという。
<準備>
以下では、実施形態方式を理解するうえで重要なDDH(decisional Diffie-Hellman)問題、リプレゼンテーション(representation)、クラマー−シャウプ(Cramer-Shoup)暗号について説明する。
[DDH問題]
素数位数qの乗法巡回群をGとする。ランダムな4つ組(quadruples)(g,g,u,u)∈Gの分布をRとする。g,g∈Gとr∈Zとをランダムに選び、u=g、u=gとした4つ組(g,g,u,u)∈Gの分布をDとする。このとき、任意に与えられた4つ組(g,g,u,u)が分布R,Dのいずれに属するかを見分ける問題をDDH問題と呼ぶ。実施形態方式の安全性はDDH問題の困難性に帰着される。
なお、離散対数問題(discrete logarithm problem)を解くことができれば、DH問題(Diffie-Hellman problem)を解くことができ、DH問題を解くことができればDDH問題を解くことができる。DH問題は、与えられたg,g,gから、gxyを計算する問題である。離散対数問題は、与えられたg,gから、xを計算する問題である。これらDDH問題、DH問題及び離散対数問題は、いずれも解くことが困難であると信じられている。
[リプレゼンテーション(representation)]
乗法巡回群G上の演算において、h=g^{e}g^{e}…g^{e}を満たす(e,e,…,e)を、g,g,…,gを底としたhのリプレゼンテーションと呼ぶ。なお、“^”はベキ乗を表す記号である。
リプレゼンテーションは、暗号理論の分野でも古くは緩和離散対数(relaxed discrete log(RDL))として用いられ(D. Chaum, J.H. Evertse, and J. van de Graaf, “An improved protocol for demonstrating possession of discrete logarithms and some generalizations,” In Proc. of EUROCRYPT ’87, LNCS 304, pp.127-141, 1987. 参照)、その後もしばしば用いられている。1997年のカメニッシュの方式では、シュノア(Schnorr)署名(C.P. Schnorr, “Efficient Signature Generation by Smart Cards,” Journal of Cryptology, Vol.4, pp.161-174, 1991. 参照)を応用したリプレゼンテーションの非対話的知識証明が用いられている。実施形態方式ではメンバ秘密鍵をリプレゼンテーションとし、グループ署名にはリプレゼンテーションについての非対話的知識証明を含んでいる。
[クラマー−シャウプ(Cramer-Shoup)暗号]
実施形態方式では、署名者特定情報の暗号化にクラマー−シャウプ暗号(R. Cramer and V. Shoup, “A Practical Public Key Cryptosystem Provably Secure against Adaptive Chosen Ciphertext Attack,” In Proc. of CRYPTO ’98, LNCS 1462, pp.13-25, 1998. 参照)を利用する。但し、実施形態方式はクラマー−シャウプ暗号に限定されない。
以下にクラマー−シャウプ暗号を説明する。
[公開鍵(public key)・秘密鍵(private key)ペア生成]
公開パラメータとして素数位数qの乗法巡回群Gとその生成元gと汎用一方向性ハッシュ(universal one-way hash)関数を入力とし、以下の処理を行う。
(1)g,g∈Gをランダムに選択する。
(2)x,x,y,y,z∈Zをランダムに選択する。
(3)c=g^{x}g^{x}、d=g^{y}g^{y}、h=g を計算する。
(4)ハッシュ関数Hを汎用一方向性ハッシュ関数の集合から選択する。
(5)公開鍵pk=(g,g,c,d,h,H)、秘密鍵sk=(x,x,y,y,z)を出力する。
[暗号化]
公開鍵pk=(g,g,c,d,h,H)、メッセージm∈Gを入力とし、以下の処理を行う。
(1)r∈Zqをランダムに選択する。
(2)u=g 、u=g 、e=hmを計算する。
(3)α=H(u,u,e)を計算する。
(4)v=crαを計算する。
(5)暗号文(u,u,e,v)を出力する。
[復号]
暗号文(u,u,e,v)を入力とし、以下の処理を行う。
(1)α=H(u,u,e)を計算する。
(2)u^{x+yα}u^{x+yα}=vが成り立つか否かを検証し、否の場合には無効な暗号文として拒絶して処理を終了する。
(3)m=e/u を計算し、平文として出力する。
以上がクラマー−シャウプ暗号の処理である。
<実施形態方式の概要>
続いて、実施形態方式の概要を説明する。
本実施形態は、離散対数ベースの方式により、グループ署名方式の高速化を図るものである。理由は、RSAベースの方式ではベキ指数が長いので、位数を知らない群における非対話的知識証明の効率が低いため、全体的な効率も低いからである。なお、[ACJT00]方式や[CG04]方式もRSAベースの方式であるため、実施形態方式に比べ、効率が低い。
補足すると、[ACJT00]方式がRSAベースの方式であるのに対し、[CG04]方式は一部を離散対数ベースとして大幅に効率を改善したが、RSAベースの部分も残っている。これに対し、実施形態方式では全て離散対数ベースの方式として高速化を図っている。
実施形態方式は、さらにリプレゼンテーションをメンバ秘密鍵としている。離散対数が秘密鍵の場合、1つの公開鍵に対して1つの秘密鍵しか持てない。これに対し、リプレゼンテーションが秘密鍵の場合、1つの公開鍵に対して複数の秘密鍵を作れるため、多数のメンバをもつグループに適している。カイアス(Kiayias)らの方式(A. Kiayias and M. Yung, “Extracting Group Signatures from Traitor Tracing Schemes,” In Proc. of EUROCRYPT 2003, LNCS 2656, pp.630-648, 2003. 参照)でもリプレゼンテーションを用いるが、署名者特定情報としてリプレゼンテーション自体を用いるため、効率が低い。
これに対し、実施形態方式では、リプレゼンテーション自体ではなく、リプレゼンテーションから一意に計算される値を署名者特定情報として用いるので、効率が高い。
(実施形態方式)
図1は本発明の一実施形態に係るグループ署名システムの構成を示す模式図である。このグループ署名システムは、互いに通信可能な1台のグループ管理者装置10、n台の署名者装置20,…,20,…,20,…,20及び1台の検証者装置30を備えている。各装置10,20,…,20,30は、装置毎に、ハードウェア構成、又はハードウェア資源とソフトウェアとの組合せ構成のいずれでも実施可能となっている。組合せ構成のソフトウェアとしては、予めネットワーク又は記憶媒体Mから対応する装置のコンピュータにインストールされ、対応する装置の機能を実現させるためのプログラムが用いられる。また、各署名者装置20,…,20は、互いに同一のハードウェア構成のため、以下の説明ではi番目の署名者装置20を代表させて述べる。また、本実施形態のグループ署名方式は、後述する図8乃至図15に一例を示すように、クラマー−シャウプ暗号を暗号化方式に用い、シュノア(Schnorr)署名を応用した方式を零知識証明方式に用いているが、これらの暗号化方式及び零知識証明方式には限定されない。すなわち、本実施形態のグループ署名方式は、図8乃至図15に示した方式に限らず、他の暗号化方式及び零知識証明方式を用いても実現可能となっている。
ここで、グループ署名管理者装置10は、図2に示すように、管理者用記憶部11、入力部12、通信部13、グループ鍵生成部14、メンバ秘密鍵生成部15、署名検証部16、署名者特定部17及び出力部18を備えている。
管理者用記憶部11は、各部12〜17からアクセス可能な記憶装置であり、図3に示すように、公開パラメータ、グループ公開鍵gpk、グループ秘密鍵gmsk、メンバ情報、ユーザ管理情報、計算テーブル、メッセージmsg及びグループ署名σが記憶される。このメッセージmsgやグループ署名σは一時的に記憶されるものであっても構わない。
公開パラメータは、グループ署名方式に用いる素数位数qと、qの乗法巡回群Gの生成元gとを少なくとも含んでおり、ここでは更にハッシュ関数Hを含んでいる。
グループ秘密鍵gmskは、公開パラメータに基づいて選択された値a,b∈Zを少なくとも含んでおり、ここでは更に値x,x,y,y,z∈Zを含んでいる。
グループ公開鍵gpkは、第1関係式g=g 及び第2関係式f=g を満たす値g,f及び生成元gを少なくとも含んでおり、ここでは更に値c,d,h及びハッシュ関数Hを含んでいる。なお、c=g^{x}g^{x}、d=g^{y}g^{y}、h=g である。
メンバ情報は、ユーザ識別情報ID(i)毎に、メンバ秘密鍵gsk[i]及び署名者特定情報Tが互いに関連付けられてなる情報である(1≦i≦n)。
ユーザ管理情報は、ユーザ識別情報ID(i)毎に、ユーザ情報が関連付けられてなる情報である(1≦i≦n)。ユーザ情報は、例えばユーザの名前及び連絡先情報(電話番号、電子メールアドレスなど)を含んでおり、グループ署名の目的が電子商取引の場合には更に決済情報を含んでいる。
計算テーブルは、各部14〜16が指数同時乗算(simultaneous multiple exponentiation)法を用いる場合に参照される情報である。指数同時乗算法は、g^{e}g^{e}…g^{e}の形の計算を高速に実行する方法であり、最大2回の掛け算を予め実行し、最大2の大きさの計算テーブルを作成する必要がある。このため、底g,…,gの個数kに応じて計算テーブルに必要なメモリ量が大きくなる。但し、底が固定であれば、毎回計算テーブルを作る必要がなく、事前計算によってベキ乗1回分程度の計算量で計算できる。すなわち、例えばg^{e}g^{e}というベキ乗2回分の計算であっても、計算テーブルの参照により、ベキ乗1回分の計算量で実行できる。したがって、グループ管理者及び検証者装置として‘1’,‘g’,‘g’,‘g×g’,‘f’,‘f×g’,‘f×g’,‘f×g×g’と‘1’,‘h’,‘g’,‘h×g’を、署名者装置として‘1’,‘h’,‘g’,‘h×g’と‘1’,‘c’,‘d’,‘c×d’をそれぞれ計算テーブルとして持てば、後述するステップST4,ST5,ST34,ST36,ST42,ST44,ST52,ST54,ST62,ST64でのベキ乗2回または3回分の計算がベキ乗1回分の計算量で実行可能となる。
メッセージmsgは、署名者装置20により生成された任意の情報である。
グループ署名σは、後述する暗号文(u,u,e,v)と、零知識証明(A,B,C,s,s,s)とからなり、署名者装置20により生成された情報である。ここでメッセージmsgやグループ署名σは管理者用記憶部11に一時的に記憶されるものであっても構わない。
入力部12は、グループ管理者装置10内部と外部との間の入力インターフェイスであり、キーボード及びマウス等の入力デバイスが用いられる。
通信部13は、グループ管理者装置10内部と外部との間の通信インターフェイスである。通信部13は、例えば、グループ署名方式におけるグループ署名を生成するための公開パラメータ、グループ公開鍵、メンバ秘密鍵及び署名者特定情報Tを暗号化通信などの安全な手法により、署名者装置20〜20に送信する機能をもっている。また、通信部13は、例えば、グループ署名方式におけるグループ署名を検証するための公開パラメータ及びグループ公開鍵を検証者装置30に送信する機能をもっている。さらに、通信部13は、メッセージmsgやグループ署名σを検証者装置30から受信する機能も持っている。
グループ鍵生成部14は、管理者用記憶部11内の公開パラメータに基づいて、値a,b∈Zを含むグループ秘密鍵と、第1関係式g=g 及び第2関係式f=g を満たす値g,f及び生成元gを含むグループ公開鍵とを生成するものである。ここでは、グループ鍵生成部14は、図8に示す処理を実行する機能をもっている。なお、グループ鍵生成部14は、計算テーブルを参照して指数同時乗算法により、ベキ乗演算を実行してもよく、このことはメンバ秘密鍵生成部15及び署名検証部16でも同様である。
メンバ秘密鍵生成部15は、グループ秘密鍵、グループ公開鍵及び第3関係式ki1=b−aki2 mod qに基づいて、第4関係式f=g^{ki1}g^{ki2}を満たすリプレゼンテーションki1,ki2からなるメンバ秘密鍵を算出すると共に、メンバ秘密鍵及び生成元gに基づいて、署名者特定情報T=g^{ki1}を算出するものである。ここでは、メンバ秘密鍵生成部15は、図9及び図10に示す処理を実行する機能をもっている。
署名検証部16は、管理者用記憶部11内のグループ署名、メッセージ、公開パラメータ及びグループ公開鍵に基づいて、当該グループ署名内の零知識証明の正当性を検証すると共に、管理者用記憶部11内のグループ署名、グループ秘密鍵及びグループ公開鍵に基づいて、当該グループ署名内の暗号文データの正当性を検証するものである。ここでは、署名検証部16は、後述する図14に示す処理を実行する機能をもっている。
署名者特定部17は、管理者用記憶部11内のグループ署名及びグループ秘密鍵に基づいて、署名者特定情報Tを算出するものである。ここでは、署名者特定部17は、後述する図15に示す処理を実行する機能をもっている。
出力部18は、グループ管理者装置10内部と外部との間の出力インターフェイスであり、ディスプレイ装置及びプリンタ等の出力デバイスが用いられる。
署名者装置20は、図4に示すように、署名者用記憶部21、入力部22、通信部23、メッセージ作成部24、グループ署名生成部25及び出力部26を備えている。
署名者用記憶部21は、各部22〜25からアクセス可能な記憶装置であり、図5に示すように、公開パラメータ、グループ公開鍵gpk、計算テーブル、メンバ秘密鍵、署名者特定情報、メッセージ及びグループ署名が記憶される。
入力部22は、署名者装置20内部と外部との間の入力インターフェイスであり、キーボード及びマウス等の入力デバイスが用いられる。
通信部23は、署名者装置20内部と外部との間の通信インターフェイスである。通信部23は、例えば、グループ署名方式におけるグループ署名を生成するための公開パラメータ、グループ公開鍵、メンバ秘密鍵及び署名者特定情報Tを暗号化通信などの安全な手法により、グループ管理者装置10から受信する機能をもっている。また、通信部23は、例えば、署名者の入力部22の操作により、署名者用記憶部21内の暗号文データ及び零知識証明からなるグループ署名と、メッセージとを検証者装置30に送信する機能をもっている。
メッセージ作成部24は、署名者の入力部22の操作により、メッセージmsgを作成して署名者用記憶部21に書き込む機能をもっている。
グループ署名生成部25は、署名者用記憶部21内の公開パラメータ及びグループ公開鍵に基づいて署名者特定情報Tを暗号化し、当該署名者特定情報Tの暗号文データを生成して署名者用記憶部21に書き込む機能をもっている。また、グループ署名生成部25は、署名者用記憶部21内の公開パラメータ、グループ公開鍵、メンバ秘密鍵及びメッセージと、署名者特定情報Tの暗号文データとに基づいて、当該メンバ秘密鍵及び当該署名者特定情報Tを知っていることを示す零知識証明を生成し、零知識証明を暗号文データに関連付けて署名者用記憶部21に書き込む機能をもっている。なお、暗号文データと零知識証明とはグループ署名を構成する。また、ここでは、グループ署名生成部25は、図11及び図12に示す処理を実行する機能をもっている。また、図12に示す零知識証明においては、暗号化された署名者特定情報Tを知っていることと、リプレゼンテーションの一つを知っていることと、署名者特定情報Tが正しく暗号化されていることの、メッセージmsgに基づく零知識証明となっている。また、グループ署名生成部25は、計算テーブルを参照して指数同時乗算法により、ベキ乗演算を実行してもよい。
出力部26は、署名者装置20内部と外部との間の出力インターフェイスであり、ディスプレイ装置及びプリンタ等の出力デバイスが用いられる。
検証者装置30は、図6に示すように、検証者用記憶部31、入力部32、通信部33、署名検証部34及び出力部35を備えている。
検証者用記憶部31は、各部32〜34からアクセス可能な記憶装置であり、図7に示すように、公開パラメータ、グループ公開鍵gpk、計算テーブル、メッセージ及びグループ署名が記憶される。
入力部32は、検証者装置30内部と外部との間の入力インターフェイスであり、キーボード及びマウス等の入力デバイスが用いられる。
通信部33は、検証者装置30内部と外部との間の通信インターフェイスである。通信部33は、例えば、グループ署名方式におけるグループ署名を生成するための公開パラメータ及びグループ公開鍵を暗号化通信などの安全な手法により、グループ管理者装置10から受信する機能をもっている。また、通信部33は、例えば、暗号文データ及び零知識証明からなるグループ署名と、メッセージとを署名者装置20から受信する機能と、受信したグループ署名とメッセージとを検証者用記憶部31に書き込む機能と、署名検証部34による検証結果を署名者装置20に送信する機能と、検証の結果OKであり且つ署名者特定要求が入力された場合に署名者特定のためにメッセージとグループ署名をグループ管理者装置10に送信する機能とをもっている。なお、通信部33は、署名検証部34による検証結果を必ずしも署名者装置20に送信する必要はない。検証結果を送信しない場合としては、例えば、検証者装置30がオンラインでリアルタイムに検証しない場合などである。
署名検証部34は、検証者用記憶部31内のグループ署名、メッセージ、公開パラメータ及びグループ公開鍵に基づいて、当該グループ署名の正当性を検証し、検証結果を通信部33及び出力部35に送出するものである。ここでは、署名検証部34は、図13に示す処理を実行する機能をもっている。また、署名検証部34は、計算テーブルを参照して指数同時乗算法により、ベキ乗演算を実行してもよい。また、署名検証部34は、検証結果を必ずしも通信部33及び/又は出力部35に送出する必要はない。
出力部35は、検証者装置30内部と外部との間の出力インターフェイスであり、ディスプレイ装置及びプリンタ等の出力デバイスが用いられる。出力部35は、例えば署名検証部34から受けた検証結果を表示する。
次に、以上のように構成されたグループ署名システムの動作を図8乃至図15のフローチャートを用いて説明する。
(グループ公開鍵・グループ秘密鍵ペア生成:図8)
グループ管理者装置10では、グループ管理者の入力部12の操作により、公開パラメータ(q,G,g,H)が管理者用記憶部11に保存された後、グループ鍵生成部14が起動されたとする。
グループ鍵生成部14は、管理者用記憶部11内の素数位数qを参照し、7つ組(a,b,x,x,y,y,z)∈Z をランダムに選択する(ST1)。なお、Zは、0以上q未満の整数の集合{0,…,q−1}である。また、a,bは、複数のリプレゼンテーションを効率よく計算するために必要な値である。
続いて、グループ鍵生成部14は、管理者用記憶部11内の生成元gとステップST1で得られた7つ組とに基づいて、g=g 、f=g 、c=g^{x}g^{x}、d=g^{y}g^{y}、h=g を計算する(ST2〜ST6)。g1,g2はfのリプレゼンテーションの底である。
また、グループ鍵生成部14は、管理者用記憶部11内の公開パラメータから汎用一方向性ハッシュ関数Hを読み出す。
しかる後、グループ鍵生成部14は、グループ秘密鍵gmsk=(a,b,x,x,y,y,z)と、グループ公開鍵gpk=(g,g,f,c,d,h,H)とを管理者用記憶部11に保存する(ST7)。
これにより、グループ鍵生成部14は、グループ公開鍵gpk及びグループ秘密鍵gmskの生成完了メッセージを出力部18に送出し、処理を終了する。出力部18は、この生成完了メッセージを表示出力する。
(メンバ秘密鍵生成:図9)
グループ管理者装置10では、予めグループ管理者の入力部12の操作により、メンバ数nに対応するn人分のユーザ識別情報ID(1),…,ID(i),…,ID(j),…,ID(n)が管理者用記憶部11に保存されたとする。なお、ユーザ識別情報ID(1),…,ID(n)は、メンバ数nが入力されたメンバ秘密鍵生成部15により生成され、メンバ秘密鍵生成部15から管理者用記憶部11に書き込まれてもよい。
メンバ秘密鍵生成部15は、管理者用記憶部11内の素数位数qを参照し、メンバ秘密鍵の一部ki2∈Zをランダムに選択する(ST11)。
このとき、メンバ秘密鍵生成部15は、管理者用記憶部11を参照し、ki2=kj2なるメンバ秘密鍵gsk=(kj1,kj2)を持つメンバが存在している場合にはki2を選択しなおす。すなわち、ki2はユーザ毎に全て異なっている必要がある。
続いて、メンバ秘密鍵生成部15は、管理者用記憶部11内の素数位数q及びグループ秘密鍵gmskに基づいて、メンバ秘密鍵の他の一部ki1=b−aki2 mod qを計算する(ST12)。
しかる後、メンバ秘密鍵生成部15は、得られたki1,ki2からなるメンバ秘密鍵(ki1,ki2=gsk[i])をユーザ識別情報ID(i)に関連付けて管理者用記憶部11に保存する(ST13)。
ここで、メンバ秘密鍵(ki1,ki2)は、(g,g)を底としたfのリプレゼンテーションである。すなわち、前述したf=g 、g=g 及びki1=b−aki2 mod qの式に基づいて、f=g^{ki1}g^{ki2}と表される。また、グループ秘密鍵gmskに含まれるa,bを用いることにより、複数のメンバ秘密鍵を効率よく計算できる。このリプレゼンテーションki1,ki2を計算できるのは、グループ管理者のみである。リプレゼンテーションki1,ki2を知っていることは、グループ管理者に認められたグループメンバである旨を意味する。
メンバ秘密鍵生成部15は、以上のステップST11〜ST13の処理をメンバ数nと同じ回数nだけ繰り返し、n人分のメンバ秘密鍵gsk[1]〜gsk[n]をユーザ識別情報ID(1)〜ID(n)に個別に関連付けて管理者用記憶部11に保存した後、処理を終了する。
(署名者特定情報算出処理:図10)
次に、メンバ秘密鍵生成部15は、管理者用記憶部11内の生成元g及びメンバ秘密鍵gsk[i](=ki1,ki2)に基づいて、署名者特定情報T=g^{ki1}を計算する(ST21)。すなわち、署名者特定情報Tは、リプレゼンテーション自体ではなく、リプレゼンテーションの一部をベキ指数とした値である。
しかる後、メンバ秘密鍵生成部15は、得られた署名者特定情報Tをユーザ識別情報ID(i)に関連付けて管理者用記憶部11に保存する(ST22)。
メンバ秘密鍵生成部15は、以上のステップST21〜ST22の処理をメンバ数nと同じ回数nだけ繰り返し、n人分のメンバ秘密鍵gsk[1]〜gsk[n]をユーザ識別情報ID(1)〜ID(n)に個別に関連付けて管理者用記憶部11に保存した後、処理を終了する。
(署名生成の準備)
ユーザiは、オンライン又はオフラインにより、ユーザ情報をグループ管理者装置10に登録する。これにより、ユーザiは、公開パラメータ、グループ公開鍵gpk=(g,g,f,c,d,h,H)、メンバ秘密鍵gsk[i](=ki1,ki2)及び署名者特定情報Tを暗号化通信又は記憶媒体の郵送などの安全な手法によりグループ管理者から取得する。
しかる後、署名者装置20は、ユーザiによる入力部22の操作により、これら公開パラメータ、グループ公開鍵gpk、メンバ秘密鍵gsk[i]及び署名者特定情報Tを署名者用記憶部21に保存する。これにより、署名者装置20は、署名生成処理が可能となる。
また、署名者装置20は、ユーザiによる入力部22の操作により、メッセージ作成部24がメッセージmsg∈{0,1}を出力部26に表示させながら作成し、得られたメッセージmsgを署名者用記憶部21に保存する。なお、メッセージmsgは、メッセージ作成部24が作成したものを用いる場合に限らず、グループ管理者や署名検証者から取得したものを用いてもよい。例えば電子商取引の場合にはメッセージ作成部24が作成したメッセージmsgを用い、20歳以上などの資格証明の場合にはグループ管理者から取得したメッセージmsgを用い、認証に利用する場合には署名検証者から取得したメッセージmsgを用いるようにしてもよい。
(暗号化処理:図11)
署名者装置20では、ユーザiの入力部22の操作により、グループ署名生成部25が起動されたとする。
グループ署名生成部25は、署名者用記憶部21内の素数位数qを参照し、秘密の乱数r∈Zをランダムに選択する(ST31)。
続いて、グループ署名生成部25は、署名者用記憶部21内のグループ公開鍵gpk=(g,g,f,c,d,h,H)及び署名者特定情報Tと、ステップST31で得られた乱数rとに基づいて、u=g ,u=g ,e=hを計算する(ST32〜ST34)。なお、署名者特定情報T(=g^{ki1})は、毎回、メンバ秘密鍵gmsk[i](=ki1,ki2)から計算してもよい。この場合、署名者特定情報Tは署名者用記憶部21から省略してもよい。
また、グループ署名生成部25は、署名者用記憶部21内のグループ公開鍵gpkとステップST32〜ST34で得られた値u,u,eとに基づいて、ハッシュ値α=H(u,u,e)を計算する(ST35)。
さらに、グループ署名生成部25は、このハッシュ値αと、ステップST31で得られた乱数rと、グループ公開鍵gpkとに基づいて、値v=crαを計算する(ST36)。
これにより、グループ署名生成部25は、署名者特定情報Tに対して得られた暗号文(u,u,e,v)を署名者用記憶部21に保存する(ST37)。
(零知識証明(zero-knowledge proof)算出処理:図12)
次に、グループ署名生成部25は、署名者用記憶部21内の素数位数qを参照し、メンバ秘密鍵(ki1,ki2)及びステップST31で得られた乱数rを隠すための乱数r,r,r∈Zをランダムに選択する(ST41)。
続いて、グループ署名生成部25は、署名者用記憶部21内のグループ公開鍵gpk=(g,g,f,c,d,h,H)と、ステップST41で得られた乱数r,r,rとに基づいて、零知識証明の一部となるパラメータA=g^{r}g^{r}、B=g^{r}、C=h^{r}g^{r}を計算する(ST42〜ST44)。
また、グループ署名生成部25は、署名者用記憶部21内のグループ公開鍵gpk=(g,g,f,c,d,h,H)、暗号文(u,u,e,v)及びメッセージmsgと、ステップST42〜ST44で得られた零知識証明の一部となるパラメータA,B,Cとに基づいて、ハッシュ値β=H(g,g,h,u,u,e,v,A,B,C,msg)を計算する(ST45)。
さらに、グループ署名生成部25は、このハッシュ値βと、ステップST41で得られた乱数r,r,rと、署名者用記憶部21内のメンバ秘密鍵ki1,ki2及び素数位数qとに基づいて、他の零知識証明の一部となるパラメータs=r+βki1 mod q、s=r+βki2 mod q、s=r+βr mod qを計算する(ST46〜ST48)。
これにより、グループ署名生成部25は、最終的に得られた零知識証明(A,B,C,s,s,s)を暗号文(u,u,e,v)と関連付けて署名者用記憶部21に保存し(ST49)、処理を終了する。以後、これら暗号文(u,u,e,v)及び零知識証明(A,B,C,s,s,s)は、グループ署名σ=(u,u,e,v,A,B,C,s,s,s)として用いられる。
このグループ署名σは、署名者特定情報Tの暗号文(u,u,e,v)と、g,gを底としたfのリプレゼンテーションki1,ki2を知っている正しいユーザであることとそれに対応する署名者特定情報Tが正しく暗号化されていることを示す零知識証明(A,B,C,s,s,s)とから構成されている。
以後、署名者装置20は、署名者の入力部22の操作により、署名者用記憶部21内のグループ署名σ及びメッセージmsgを出力部26に表示させ、通信部23から検証者装置30に送信する。これにより、メンバ秘密鍵ki1,ki2を示すことなく、グループに属する正しいメンバであり、かつ、グループ管理者は署名者を特定できる旨を証明できる。
(署名検証処理:図13)
検証者装置30は、予め検証者の入力部32の操作により、公開パラメータ(q,G,g,H)及びグループ公開鍵gpk=(g,g,f,c,d,h,H)をグループ管理者装置10から取得して検証者用記憶部31に保存しているとする。これにより、検証者装置30は、署名検証処理が可能となっている。
検証者装置30では、署名者装置20から送信されたメッセージmsg、グループ署名σ=(u,u,e,v,A,B,C,s,s,s)及び検証要求を通信部33が受信して検証者用記憶部31に保存すると共に、この検証要求を通信部33が署名検証部34に送出する。
署名検証部34は、検証要求を受けると、検証者用記憶部31内のグループ公開鍵gpk、メッセージmsg及びグループ署名σに基づいて、ハッシュ値β=H(g,g,h,u,u,e,v,A,B,C,msg)を計算する(ST51)。なお、署名検証部34は、グループ署名σの値の範囲を所定の基準範囲に基づいて確認してもよい。
続いて、署名検証部34は、グループ公開鍵gpk及びグループ署名σに基づいて、零知識証明の検証式A=f^{−β}g^{s}g^{s}、B=u^{−β}g^{s}、C=e^{−β}h^{s}g^{s}が成り立つか否かを検証する(ST52〜ST54)。
ステップST52〜ST54の結果、全ての検証式A,B,Cが成り立てば有効(valid)と判定して判定結果OKを通信部33及び出力部35に出力し(ST55)、1つでも検証式が成り立たなければ無効(invalid)と判定して判定結果NGを通信部33及び出力部35に出力する(ST56)。
通信部33は判定結果OK/NGを署名者装置20に送信して処理を終了する。但し、通信部33は判定結果OK/NGを必ずしも送信する必要はない。出力部35は、判定結果OK/NGを表示出力する。
(署名者検証処理及び署名者特定処理:図14及び図15)
例えば不正の発覚や、サービス利用料金の徴収のためといった何らかの事情により、署名者を特定する必要が生じた場合について述べる。
グループ管理者装置10は、検証者装置30から送信されたメッセージmsg、グループ署名σ及び署名者特定要求を通信部13が受信して管理者用記憶部11に保存すると共に、この署名者特定要求を通信部13が署名検証部16に送出する。
署名検証部16は、署名者特定要求を受けると、図14に示すように、管理者用記憶部11内のグループ公開鍵gpk、メッセージmsg及びグループ署名σに基づいて、ハッシュ値β=H(g,g,h,u,u,e,v,A,B,C,msg)を計算する(ST61)。なお、署名検証部16は、グループ署名σの値の範囲を所定の基準範囲に基づいて確認してもよい。
続いて、署名検証部16は、グループ公開鍵gpk及びグループ署名σに基づいて、零知識証明の値A=f^{−β}g^{s}g^{s}、B=u^{−β}g^{s}、C=e^{−β}h^{s}g^{s}が成り立つか否かを検証する(ST62〜ST64)。
ステップST62〜ST64の結果、1つでも検証式が成り立たなければ無効(invalid)と判定してNGを通信部13に出力する(ST65)。通信部13は判定結果NGを検証者装置30に送信して処理を終了する。
一方、ステップST62〜ST64の結果、全てが成り立てば有効(valid)と判定し、署名検証部16は、グループ公開鍵gpk及びグループ署名σに基づいて、ハッシュ値α=H(u,u,e)を計算する(ST66)。
しかる後、署名検証部16は、管理者用記憶部11内のグループ署名σ=(u,u,e,v,A,B,C,s,s,s)、グループ秘密鍵gmsk=(a,b,x,x,y,y,z)及びハッシュ値αに基づいて、検証式u^{x+yα}u^{x+yα}=vが成り立つか否かを検証し(ST67)、ステップST65に進んで処理を終了する。
一方、ステップST67の結果、検証式が成り立てば有効(valid)と判定し、署名検証部16は、判定結果OK及び署名者特定要求を署名者特定部17に送出して、処理を終了する。
署名者特定部17は、判定結果OK及び署名者特定要求を受けると、図15に示すように、管理者用記憶部11内のグループ署名σ及びグループ秘密鍵gmskに基づいて、署名者特定情報T=e/u を計算し(ST71)、署名者特定情報Tを得る(ST72)。
続いて、署名者特定部17は、署名者特定情報Tに基づいて管理者用記憶部11を検索し、署名者特定情報Tに対応するユーザ識別情報ID(j)(ただし、1≦j≦n)を出力部18に出力する。さらに、署名者特定部17は、ユーザ識別情報ID( )に基づいて管理者用記憶部11を検索し、ユーザ識別情報ID(j)に対応するユーザ情報を出力部18に出力することもできる。
出力部18は、これらユーザ識別情報ID(j)及びユーザ情報を表示出力する。
<実施形態方式の安全性>
ここでは実施形態方式の安全性を証明する。
[定理1]提案グループ署名方式はランダムオラクルモデルにおいてDDH問題が困難であるという仮定の下で安全である。
[補題1]実施形態方式は正当性(correctness)を持つ。
(証明)実施形態方式の定義より明らか。
[補題2]実施形態方式はランダムオラクルモデルにおいてDDH問題が困難であるという仮定の下で匿名性(anonymity)を持つ。
(証明スケッチ)実施形態方式の匿名性を無視できない確率で破る敵Aanonを利用してDDH問題を無視できない確率で破る解く敵ADDHを構成する。
敵ADDHへの入力を(g,g,u,u)とする。
鍵生成アルゴリズムGKgを以下のようにシミュレートする。
,x,y,y,z∈Zをランダムに選択する。
i∈{1,…,n}をランダムに選択する。
i1,ki2∈Zをランダムに選択する。
f=g^{ki1}g^{ki2}を計算する。
=g^{ki1}とする。
j∈{1,…n}\{i}に対してT∈Gをランダムに選択する。
c=g^{x}g^{x}、d=g^{y}g^{y}、h=g を計算する。
ハッシュ関数Hを汎用一方向性ハッシュ関数の集合から選択する。
グループ公開鍵gpk=(g,g,f,c,d,h,H)、ユーザiのメンバ秘密鍵gsk[i]=(ki1,ki2)とする。
ユーザjに対する買収質問(corruption query)の応答を以下のようにシミュレートする。
j=iの場合はgsk[i]=(ki1,ki2)を返し、それ以外のユーザが指定された場合はエラーとして終了する。
ユーザj、メッセージmsgの署名要求に対し、署名質問(signing query)に対する応答を以下のようにシミュレートする。
署名者特定情報の暗号文の部分はTのクラマー−シャウプ(Cramer-Shoup)暗号化を行う。
非対話的知識証明の部分はランダムオラクルを利用したシミュレーションを行う。これは、一般的な手法であるため、詳細の説明を省略する。
挑戦者(challenger)を以下のようにシミュレートする。
b∈{0,1}をランダムに選択する。
署名者特定情報の暗号文の部分はクラマー−シャウプ暗号の安全性証明と同様にシミュレートする。
非対話的知識証明の部分はランダムオラクルを利用したシミュレーションを行う。
敵ADDHは、b=b’の場合には1を出力し、それ以外の場合は0を出力する。
上述のシミュレーションはいずれも正しく行われているため、敵ADDHはDDH問題を無視できない確率で解く。
しかしながら、この敵ADDHはDDH問題が困難であるという仮定に反する。従って、前提とした、匿名性を無視できない確率で破る敵Aanonは存在しない。
[補題3]実施形態方式はランダムオラクルモデルにおいて離散対数問題が困難であるという仮定の下で追跡可能性(traceability)を持つ。
(証明スケッチ)実施形態方式の追跡可能性を無視できない確率で破る敵Atraceを利用して離散対数問題を無視できない確率で破る解く敵ADLを構成する。
敵ADLへの入力を(g,f)とする。
鍵生成アルゴリズムGKgを以下のようにシミュレートする。
i∈{1,…,n}をランダムに選択する。
i1,ki2∈Zをランダムに選択する。
=(fg^{−ki1})^{1/ki2}とする。
=g^{ki1}とする。
j∈{1,…,n}\{i}に対してT∈Gをランダムに選択する。
,x,y,y,z∈Zをランダムに選択する。
c=g^{x}g^{x}、d=g^{y}g^{y}、h=g を計算する。
ハッシュ関数Hを汎用一方向性ハッシュ関数から選択する。
グループ公開鍵gpk=(g,g,f,c,d,h,H)、ユーザiのメンバ秘密鍵gsk[i]=(ki1,ki2)とする。
署名質問(signing query)と買収質問(corruption query)の応答を匿名性(anonymity)の証明と同様にシミュレートする。
巻き戻し(rewind)によって2つの異なる署名
σ=(u,u,e,v,A,B,C,s,s,s)と、
σ’=(u’,u’,e’,v’,A’,B’,C’,s’,s’,s’)を得る。
β=H(g,g,h,u,u,e,v,A,B,C,msg)、
β’=H(g,g,h,u’,u’,e’,v’,A’,B’,C’,msg)とし、k’=(s−s’)/(β−β’)、k’=(s−s’)/(β−β’)とすると、f=g^{k’}g^{k’}である。また、追跡可能性の定義より(k’,k’)≠j(ki1,ki2)であるため、g=g^{−(ki1−k’)/(ki2−k’)}が成り立つ。
−(ki1−k’)/(ki2−k’)=Γとするとlogg_1f=ki1+Γki2として敵ADLは無視できない確率で離散対数を求められる。なお、下付の“_”は添字を表す。すなわち、“logg_1f”は、gを底としたfの対数を表す。
しかしながら、この敵ADLは離散対数問題が困難であるという仮定に反する。従って、前提とした、追跡可能性を無視できない確率で破る敵Atraceは存在しない。
<実施形態方式の効率>
実施形態方式の効率を評価するために、通常の電子署名であるRSA署名方式の署名生成の計算量を基準にしたときの従来のグループ署名方式及び実施形態方式の計算量とデータ長を考える。
従来のグループ署名方式としては非常に高速な[CG04]方式と比較する。[CG04]方式は、[ACJT00]方式と比較しても26倍以上も高速であり、また、双線形写像(bilinear map)を利用した方式(D. Boneh, X. Boyen, and H. Shacham, “Short group signatures,” In Proc. of CRYPTO 2004, LNCS 3152, pp.41-55, 2004.及びJ. Furukawa and H. Imai, “An efficient group signature scheme from bilinear maps,” In Proc. of ACISP 2005, LNCS 3574, pp.455-467, 2005. 参照)と比較しても高速である。
まず、計算量の比較方法の考え方を以下にまとめる。
比較する方式の計算量の大部分はベキ乗剰余演算にかかる。このため、ベキ乗剰余演算以外の計算量を無視し、ベキ乗剰余演算の計算量に注目する。
ベキ乗剰余演算の計算量は(法のビット長)×ベキ指数のビット長に比例するため、法のビット長が同じ場合には全体の計算量がベキ指数のビット長の総和に比例する。
また、法の素因数分解を知っている場合、中国人剰余定理(Chinese remainder theorem:CRT)を利用できるため、計算量は素因数分解を知らない場合に対してRSAモジュラス(modulus(n=pq、p,q:素数(prime)、
Figure 0005060556
))の場合で1/4から1/3程度になる。ここでは計算量が1/4になるものとして計算量を見積もる。
さらに、ベキ乗演算の高速処理手法である指数同時乗算(simultaneous multiple exponentiation)法を利用することでΠi^{e}の形の計算は、max({e})=eなるg^{e}の計算と同程度で処理可能である。
比較する際のセキュリティパラメータは、[CG04]方式の推奨パラメータを利用した場合を基準とする。推奨パラメータは、2048ビットのRSAモジュラスを利用しているため、RSA方式では同じく2048ビットのRSAモジュラスを利用する。実施形態方式で利用する乗法巡回群Gについては、Z と楕円曲線との2つを利用する。Z では、pを2048ビットの素数、p−1を割り切るqを224ビットの素数としたときの位数qのZ の部分群を利用する。p,qの値はFIPS(federal information processing standard)186−3のドラフト(draft)(“March 13, 2006: Draft Federal Information Processing Standard (FIPS) 186-3 − Digital Signature Standard (DSS),” http://csrc.nist.gov/publications/drafts.html (2007 年6 月現在) 参照)でも利用されている値であり、2048ビットのRSAモジュラスと同程度のセキュリティパラメータとみなせる。楕円曲線では、これと同等のセキュリティパラメータである224ビットの素数から生成される楕円曲線を利用する。
以上を考慮したうえで、RSA署名方式、[CG04]方式、本実施形態方式の主な処理の計算量とデータ長を図16に示す。なお、署名生成計算量及び署名検証計算量は、ベキ指数のビット長の総和を示しており、CRTを利用可能な場合には1/4で計算している。RSA方式の署名検証計算量は、公開鍵dの長さに依存し、一般に小さい。RSA方式の署名鍵長は、素数p,qと秘密鍵eを持つ場合の値である。RSA方式の検証鍵長は、公開鍵dを小さくした場合の値である。
本実施形態方式の署名生成計算量はRSA方式の3倍であるので、RSA方式の約8倍の[CG04]方式に比べ、低く抑えられている。このため、本実施形態方式の署名生成は高速に実行することができる。
本実施形態方式の署名鍵長(メンバ秘密鍵長)は、RSA方式の1/9倍であるので、RSA方式の約1.1倍の[CG04]方式に比べ、短くなっている。
なお、本実施形態方式のグループ秘密鍵長は、[CG04]方式よりも長くなっている。しかしながら、グループ秘密鍵長の増加は、グループ管理者装置10以外の装置20〜20,30の計算量には影響せず、一般的にはグループ管理者装置は高性能・高信頼な計算機であるなど署名者装置や検証者装置と比べて計算量的な制約が少ない場合が多く、実用上問題ない。
また、本実施形態方式は、楕円曲線暗号方式で実装した場合、署名長がRSA方式の1.5倍となるので、[CG04]方式に比べ、署名長を大幅に短縮することができる。
すなわち、本実施形態方式は、[CG04]方式に比べ、署名鍵長及び検証鍵長が短く、署名生成及び署名検証を高速に実行することができる。理由は、本実施形態方式が素数位数qを法とした完全離散対数ベースの方式であるのに対し、[CG04]方式が合成数n=pqを法としたRSAベースの方式であることによる。
例えば、離散対数ベースの方式では、y=g mod qの演算において、法qが2048ビットの場合、離散対数xが224ビット程度となる。
一方、RSAベースの方式では、C=m mod nの演算において、法nが2048ビットの場合、公開鍵eも2048ビット程度となる。従って、RSAベースの[CG04]方式では、本実施形態方式のような鍵長の短縮化及び演算の高速化が不可能となっている。
上述したように本実施形態によれば、素数位数qの乗法巡回群Gを用いて完全な離散対数ベースのグループ署名方式とし、且つリプレゼンテーションki1,ki2をメンバ秘密鍵としたグループ署名方式を実現したことにより、従来の[CG04]方式に比べ、計算量を減らして計算速度を向上することができる。なお、「完全な離散対数ベースのグループ署名方式」とは、素数位数qの乗法巡回群Gを用いて乗法巡回群として位数が未知のものを利用せずに、位数が既知のもののみを利用したグループ署名方式を意味している。
例えば、本実施形態によれば、完全な離散対数ベースの方式であるため、図16に示した通り、RSAベースの[CG04]方式では不可能な位に、非常に高速でデータ長が短いグループ署名方式を実現することができる。
補足すると、グループ管理者装置10においては、グループ公開鍵に値g,g,fを含むことにより、効率よくグループ署名を生成することができる。また、グループ秘密鍵に値a,bを含むことにより、メンバ数n個のメンバ秘密鍵を効率よく生成することができる。
署名者装置20においては、リプレゼンテーションの一部ki1に基づく署名特定情報Tを用いることにより、零知識証明を効率よく生成することができる。すなわち、リプレゼンテーション自体ではなく、リプレゼンテーションから一意に計算される値を署名者特定情報として用いるので、零知識証明の生成及び検証効率を向上できる。
検証者装置30及びグループ管理者装置10においては、零知識証明を含むグループ署名σにより、零知識証明を効率よく検証でき、もって、グループ署名σを効率よく検証することができる。
さらに、グループ管理者装置10においては、グループ署名σが署名者特定情報Tの暗号文データを含むことにより、暗号文データを復号するだけで署名者特定情報Tを得られるので、署名者を効率よく特定することができる。
また、本実施形態によれば、DDH問題に基づく最初の実用的グループ署名方式を実現することができる。
また、本実施形態によれば、署名生成におけるベキ乗演算の底が固定されるので、指数同時乗算法の計算テーブルを事前に計算しておくことにより、効率よくベキ乗演算を実行することができる。
なお、上記実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスクなど)、光ディスク(CD−ROM、DVDなど)、光磁気ディスク(MO)、半導体メモリなどの記憶媒体に格納して頒布することもできる。
また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であっても良い。
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワークソフト等のMW(ミドルウェア)等が上記実施形態を実現するための各処理の一部を実行しても良い。
さらに、本発明における記憶媒体は、コンピュータと独立した媒体に限らず、LANやインターネット等により伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
また、記憶媒体は1つに限らず、複数の媒体から上記実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。
尚、本発明におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、上記実施形態における各処理を実行するものであって、パソコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。
また、本発明におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。
なお、本願発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組合せてもよい。
以上説明したように本発明によれば、計算量を減らして計算速度を向上できるグループ署名システム、装置及びプログラムを提供できる。

Claims (9)

  1. 互いに通信可能なグループ管理者装置(10)、署名者装置(20)及び検証者装置(30)を備え、各装置がグループ署名方式を用いるグループ署名システムであって、
    前記グループ管理者装置は、
    前記グループ署名方式に用いる素数位数q、及び前記qの乗法巡回群Gの生成元gを含む公開パラメータを記憶するパラメータ記憶手段(11)と、
    前記パラメータ記憶手段内の公開パラメータに基づいて、値a,b∈Zを含むグループ秘密鍵と、第1関係式g=g 及び第2関係式f=g を満たす値g,f及び前記生成元gを含むグループ公開鍵とを生成するグループ鍵生成手段(14)と、
    前記グループ秘密鍵、前記グループ公開鍵及び第3関係式ki1=b−aki2 mod qに基づいて、第4関係式f=g^{ki1}g^{ki2}を満たすリプレゼンテーションki1,ki2からなるメンバ秘密鍵を算出するメンバ秘密鍵生成手段(但し、^はベキ乗を表す記号)(15)と、
    前記メンバ秘密鍵及び前記生成元gに基づいて、署名者特定情報T=g^{ki1}を算出する署名者特定情報算出手段(15)と、を備えており、
    前記署名者装置は、
    前記グループ署名方式に用いる素数位数q、及び前記qの乗法巡回群Gの生成元gを含む公開パラメータと、前記グループ公開鍵、前記メンバ秘密鍵、前記署名者特定情報T及びメッセージを記憶する署名者用記憶手段(21)と、
    前記署名者用記憶手段内の公開パラメータ及びグループ公開鍵に基づいて前記署名者特定情報Tを暗号化し、当該署名者特定情報Tの暗号文データを生成する暗号文生成手段(25)と、
    前記署名者用記憶手段内の公開パラメータ、前記グループ公開鍵、前記メンバ秘密鍵及び前記メッセージと、前記署名者特定情報Tの暗号文データとに基づいて、当該メンバ秘密鍵を知っていて、且つ、前記暗号文データが当該署名者特定情報Tを基に正しく生成されていることを示す零知識証明を生成する零知識証明生成手段(25)と、
    前記暗号文データ及び前記零知識証明からなるグループ署名と前記メッセージとを前記検証者装置に送信する手段(23)と、を備えており、
    前記検証者装置は、
    前記グループ署名方式に用いる素数位数q、及び前記qの乗法巡回群Gの生成元gを含む公開パラメータと前記グループ公開鍵とを記憶する検証者用記憶手段(31)と、
    前記署名者装置から前記グループ署名及びメッセージを受信する手段(33)と、
    前記受信したグループ署名及びメッセージと前記検証者用記憶手段内の公開パラメータ及びグループ公開鍵とに基づいて、当該グループ署名の正当性を検証する検証手段(34)と、
    前記検証した結果を前記署名者装置に送信する手段(33)と、
    を備えたことを特徴とするグループ署名システム。
  2. グループ署名方式を用いる署名者装置(20)及び検証者装置(30)に通信可能なグループ管理者装置(10)であって、
    前記グループ署名方式に用いる素数位数q、及び前記qの乗法巡回群Gの生成元gを含む公開パラメータを記憶するパラメータ記憶手段(11)と、
    前記パラメータ記憶手段内の公開パラメータに基づいて、値a,b∈Zを含むグループ秘密鍵と、第1関係式g=g 及び第2関係式f=g を満たす値g,f及び前記生成元gを含むグループ公開鍵とを生成するグループ鍵生成手段(14)と、
    前記グループ秘密鍵、前記グループ公開鍵及び第3関係式ki1=b−aki2 mod qに基づいて、第4関係式f=g^{ki1}g^{ki2}を満たすリプレゼンテーションki1,ki2からなるメンバ秘密鍵を算出するメンバ秘密鍵生成手段(但し、^はベキ乗を表す記号)(15)と、
    前記メンバ秘密鍵及び前記生成元gに基づいて、署名者特定情報T=g^{ki1}を算出する署名者特定情報算出手段(15)と、
    前記グループ署名方式におけるグループ署名を生成するための前記公開パラメータ、前記グループ公開鍵、前記メンバ秘密鍵及び前記署名者特定情報Tを前記署名者装置に送信する手段(13)と、
    前記グループ署名方式におけるグループ署名を検証するための前記公開パラメータ及び前記グループ公開鍵を前記検証者装置に送信する手段(13)と、
    を備えたことを特徴とするグループ管理者装置。
  3. 請求項2に記載のグループ管理者装置において、
    前記署名者特定情報T及びユーザ識別情報ID(i)が互いに関連付けて記憶されているユーザ情報記憶手段(11)と、
    前記署名者特定情報T=g^{ki1}に関し、前記メンバ秘密鍵を知っていて、且つ、前記暗号文データが前記署名者特定情報Tを基に正しく生成されていることを示す零知識証明と、前記署名者特定情報Tの暗号文データとからなるグループ署名及びメッセージを前記署名者装置から受信する手段(13)と、
    前記受信したグループ署名及びメッセージと前記パラメータ記憶手段内の公開パラメータと前記生成したグループ秘密鍵及びグループ公開鍵とに基づいて、当該グループ署名の正当性を検証する署名検証手段(16)と、
    前記検証した結果が正当性を示すとき、前記グループ秘密鍵に基づいて前記暗号文データから署名者特定情報Tを計算し、得られた署名者特定情報Tに対応するユーザ識別情報ID(i)を前記ユーザ情報記憶手段から特定する署名者特定手段(17)と、を備えており、
    前記暗号文データは、前記公開パラメータ及びグループ公開鍵に基づいて前記署名者特定情報Tが前記署名者装置により暗号化されたデータであり、
    前記零知識証明は、前記公開パラメータ、前記グループ公開鍵、前記メンバ秘密鍵及びメッセージと、前記署名者特定情報Tの暗号文データとに基づいて前記署名者装置により生成されたデータであることを特徴とするグループ管理者装置。
  4. グループ署名方式を用いるグループ管理者装置(10)及び検証者装置(30)に通信可能な署名者装置(20)であって、
    前記グループ署名方式に用いる素数位数q、及び前記qの乗法巡回群Gの生成元gを含む公開パラメータと、前記公開パラメータに基づいて、値a,b∈Zと第1関係式g=g 及び第2関係式f=g とを満たすように生成された値g,f及び前記生成元gを含むグループ公開鍵と、前記値a,b∈Z、前記グループ公開鍵及び第3関係式ki1=b−aki2 mod qに基づいて、第4関係式f=g^{ki1}g^{ki2}を満たすように生成(但し、^はベキ乗を表す記号)されたリプレゼンテーションki1,ki2からなるメンバ秘密鍵と、前記メンバ秘密鍵及び前記生成元gに基づいて生成された署名者特定情報T=g^{ki1}とを前記グループ管理者装置から受信する手段(23)と、
    前記受信した公開パラメータ、前記グループ公開鍵、前記メンバ秘密鍵及び前記署名者特定情報Tとメッセージとを記憶するための署名者用記憶手段(21)と、
    前記メッセージを作成して前記署名者用記憶手段に書き込む手段(24)と、
    前記署名者用記憶手段内の公開パラメータ及びグループ公開鍵に基づいて前記署名者特定情報Tを暗号化し、当該署名者特定情報Tの暗号文データを生成する暗号文生成手段(25)と、
    前記署名者用記憶手段内の公開パラメータ、前記グループ公開鍵、前記メンバ秘密鍵及び前記メッセージと、前記署名者特定情報Tの暗号文データとに基づいて、当該メンバ秘密鍵を知っていて、且つ、前記暗号文データが当該署名者特定情報Tを基に正しく生成されていることを示す零知識証明を生成する零知識証明生成手段(25)と、
    前記暗号文データ及び前記零知識証明からなるグループ署名と前記メッセージとを前記検証者装置に送信する手段(23)と、
    を備えたことを特徴とする署名者装置。
  5. グループ署名方式を用いるグループ管理者装置(10)及び署名者装置(20)に通信可能な検証者装置(30)であって、
    前記グループ署名方式に用いる素数位数q、及び前記qの乗法巡回群Gの生成元gを含む公開パラメータと、前記公開パラメータに基づいて、値a,b∈Zと第1関係式g=g 及び第2関係式f=g とを満たすように生成された値g,f及び前記生成元gを含むグループ公開鍵とを前記グループ管理者装置から受信する手段(33)と、
    前記受信した公開パラメータと前記グループ公開鍵とを記憶する検証者用記憶手段(31)と、
    前記値a,b∈Z、前記グループ公開鍵及び第3関係式ki1=b−aki2 mod qに基づいて第4関係式f=g^{ki1}g^{ki2}を満たすように生成(但し、^はベキ乗を表す記号)されたリプレゼンテーションki1,ki2からなるメンバ秘密鍵と、前記メンバ秘密鍵及び前記生成元gに基づいて生成された署名者特定情報T=g^{ki1}とに関し、前記メンバ秘密鍵を知っていて、且つ、前記暗号文データが前記署名者特定情報Tを基に正しく生成されていることを示す零知識証明と、前記署名者特定情報Tの暗号文データとからなるグループ署名及びメッセージを前記署名者装置から受信する手段(33)と、
    前記受信したグループ署名及びメッセージと前記検証者用記憶手段内の公開パラメータ及びグループ公開鍵とに基づいて、当該グループ署名の正当性を検証する検証手段(34)と、
    前記検証した結果を前記署名者装置に送信する手段(33)と、を備えており、
    前記暗号文データは、前記公開パラメータ及びグループ公開鍵に基づいて前記署名者特定情報Tが前記署名者装置により暗号化されたデータであり、
    前記零知識証明は、前記公開パラメータ、前記グループ公開鍵、前記メンバ秘密鍵及びメッセージと、前記署名者特定情報Tの暗号文データとに基づいて前記署名者装置により生成されたデータであることを特徴とする検証者装置。
  6. グループ署名方式を用いる署名者装置(20)及び検証者装置(30)に通信可能なグループ管理者装置(10)のプログラムであって、
    前記グループ管理者装置のコンピュータを、
    前記グループ署名方式に用いる素数位数q、及び前記qの乗法巡回群Gの生成元gを含む公開パラメータを前記コンピュータのメモリ(11)に書き込む手段(13)、
    前記メモリ内の公開パラメータに基づいて、値a,b∈Zを含むグループ秘密鍵と、第1関係式g=g 及び第2関係式f=g を満たす値g,f及び前記生成元gを含むグループ公開鍵とを生成するグループ鍵生成手段(14)、
    前記グループ秘密鍵、前記グループ公開鍵及び第3関係式ki1=b−aki2 mod qに基づいて、第4関係式f=g^{ki1}g^{ki2}を満たすリプレゼンテーションki1,ki2からなるメンバ秘密鍵を算出するメンバ秘密鍵生成手段(但し、^はベキ乗を表す記号)(15)、
    前記メンバ秘密鍵及び前記生成元gに基づいて、署名者特定情報T=g^{ki1}を算出する署名者特定情報算出手段(15)、
    前記グループ署名方式におけるグループ署名を生成するための前記公開パラメータ、前記グループ公開鍵、前記メンバ秘密鍵及び前記署名者特定情報Tを前記署名者装置に送信する手段(13)、
    前記グループ署名方式におけるグループ署名を検証するための前記公開パラメータ及び前記グループ公開鍵を前記検証者装置に送信する手段(13)、
    として機能させるためのプログラム。
  7. 請求項6に記載のプログラムにおいて、
    前記コンピュータを、
    前記署名者特定情報T及びユーザ識別情報ID(i)を互いに関連付けて前記メモリに書き込む手段(15)、
    前記署名者特定情報T=g^{ki1}に関し、前記メンバ秘密鍵を知っていて、且つ、前記暗号文データが前記署名者特定情報Tを基に正しく生成されていることを示す零知識証明と、前記署名者特定情報Tの暗号文データとからなるグループ署名及びメッセージを前記署名者装置から受信する手段(13)、
    前記受信したグループ署名及びメッセージと前記パラメータ記憶手段内の公開パラメータと前記生成したグループ秘密鍵及びグループ公開鍵とに基づいて、当該グループ署名の正当性を検証する署名検証手段(16)、
    前記検証した結果が正当性を示すとき、前記グループ秘密鍵に基づいて前記暗号文データから署名者特定情報Tを計算し、得られた署名者特定情報Tに対応するユーザ識別情報ID(i)を前記メモリから特定する署名者特定手段(17)と、として機能させ、
    前記暗号文データは、前記公開パラメータ及びグループ公開鍵に基づいて前記署名者特定情報Tが前記署名者装置により暗号化されたデータであり、
    前記零知識証明は、前記公開パラメータ、前記グループ公開鍵、前記メンバ秘密鍵及びメッセージと、前記署名者特定情報Tの暗号文データとに基づいて前記署名者装置により生成されたデータであることを特徴とするプログラム。
  8. グループ署名方式を用いるグループ管理者装置(10)及び検証者装置(30)に通信可能な署名者装置(20)のプログラムであって、
    前記署名者装置のコンピュータを、
    前記グループ署名方式に用いる素数位数q、及び前記qの乗法巡回群Gの生成元gを含む公開パラメータと、前記公開パラメータに基づいて、値a,b∈Zと第1関係式g=g 及び第2関係式f=g とを満たすように生成された値g,f及び前記生成元gを含むグループ公開鍵と、前記値a,b∈Z、前記グループ公開鍵及び第3関係式ki1=b−aki2 mod qに基づいて、第4関係式f=g^{ki1}g^{ki2}を満たすように生成(但し、^はベキ乗を表す記号)されたリプレゼンテーションki1,ki2からなるメンバ秘密鍵と、前記メンバ秘密鍵及び前記生成元gに基づいて生成された署名者特定情報T=g^{ki1}とを前記グループ管理者装置から受信する手段(23)、
    前記受信した公開パラメータ、前記グループ公開鍵、前記メンバ秘密鍵及び前記署名者特定情報Tとメッセージとを前記コンピュータのメモリ(21)に書き込む手段(23)、
    前記メッセージを作成して前記メモリに書き込む手段(24)、
    前記メモリ内の公開パラメータ及びグループ公開鍵に基づいて前記署名者特定情報Tを暗号化し、当該署名者特定情報Tの暗号文データを生成する暗号文生成手段(25)、
    前記メモリ内の公開パラメータ、前記グループ公開鍵、前記メンバ秘密鍵及び前記メッセージと、前記署名者特定情報Tの暗号文データとに基づいて、当該メンバ秘密鍵を知っていて、且つ、前記暗号文データが当該署名者特定情報Tを基に正しく生成されていることを示す零知識証明を生成する零知識証明生成手段(25)、
    前記暗号文データ及び前記零知識証明からなるグループ署名と前記メッセージとを前記検証者装置に送信する手段(23)、
    として機能させるためのプログラム。
  9. グループ署名方式を用いるグループ管理者装置(10)及び署名者装置(20)に通信可能な検証者装置(30)のプログラムであって、
    前記検証者装置のコンピュータを、
    前記グループ署名方式に用いる素数位数q、及び前記qの乗法巡回群Gの生成元gを含む公開パラメータと、前記公開パラメータに基づいて、値a,b∈Zと第1関係式g=g 及び第2関係式f=g とを満たすように生成された値g,f及び前記生成元gを含むグループ公開鍵とを前記グループ管理者装置から受信する手段(33)、
    前記受信した公開パラメータと前記グループ公開鍵とを前記コンピュータのメモリ(31)に書き込む手段(33)、
    前記値a,b∈Z、前記グループ公開鍵及び第3関係式ki1=b−aki2 mod qに基づいて第4関係式f=g^{ki1}g^{ki2}を満たすように生成(但し、^はベキ乗を表す記号)されたリプレゼンテーションki1,ki2からなるメンバ秘密鍵と、前記メンバ秘密鍵及び前記生成元gに基づいて生成された署名者特定情報T=g^{ki1}とに関し、前記メンバ秘密鍵を知っていて、且つ、前記暗号文データが前記署名者特定情報Tを基に正しく生成されていることを示す零知識証明と、前記署名者特定情報Tの暗号文データとからなるグループ署名及びメッセージを前記署名者装置から受信する手段(33)、
    前記受信したグループ署名及びメッセージと前記メモリ内の公開パラメータ及びグループ公開鍵とに基づいて、当該グループ署名の正当性を検証する検証手段(34)、
    前記検証した結果を前記署名者装置に送信する手段(33)、として機能させ、
    前記暗号文データは、前記公開パラメータ及びグループ公開鍵に基づいて前記署名者特定情報Tが前記署名者装置により暗号化されたデータであり、
    前記零知識証明は、前記公開パラメータ、前記グループ公開鍵、前記メンバ秘密鍵及びメッセージと、前記署名者特定情報Tの暗号文データとに基づいて前記署名者装置により生成されたデータであることを特徴とするプログラム。
JP2009522460A 2007-07-11 2007-07-11 グループ署名システム、装置及びプログラム Active JP5060556B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2007/063824 WO2009008069A1 (ja) 2007-07-11 2007-07-11 グループ署名システム、装置及びプログラム

Publications (2)

Publication Number Publication Date
JPWO2009008069A1 JPWO2009008069A1 (ja) 2010-09-02
JP5060556B2 true JP5060556B2 (ja) 2012-10-31

Family

ID=40228266

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009522460A Active JP5060556B2 (ja) 2007-07-11 2007-07-11 グループ署名システム、装置及びプログラム

Country Status (5)

Country Link
US (1) US8200977B2 (ja)
JP (1) JP5060556B2 (ja)
KR (1) KR101099814B1 (ja)
CN (1) CN101689993B (ja)
WO (1) WO2009008069A1 (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4764447B2 (ja) * 2008-03-19 2011-09-07 株式会社東芝 グループ署名システム、装置及びプログラム
WO2011007697A1 (ja) * 2009-07-13 2011-01-20 日本電気株式会社 匿名認証署名システム、ユーザ装置、検証装置、署名方法、検証方法およびそれらのプログラム
KR101425552B1 (ko) * 2010-10-04 2014-08-05 한국전자통신연구원 제어가능 연결성을 제공하는 그룹서명 시스템 및 방법
JP5849962B2 (ja) * 2010-10-29 2016-02-03 日本電気株式会社 署名処理装置
EP2657925B1 (en) * 2010-12-24 2018-05-16 Mitsubishi Electric Corporation Signature generating device, method of generating signature, and recording medium
US8681992B2 (en) 2012-02-13 2014-03-25 Alephcloud Systems, Inc. Monitoring and controlling access to electronic content
US9219715B2 (en) 2012-02-13 2015-12-22 PivotCloud, Inc. Mediator utilizing electronic content to enforce policies to a resource
US8731203B2 (en) 2012-02-13 2014-05-20 Alephcloud Systems, Inc. Securing a secret of a user
US9172711B2 (en) 2012-02-13 2015-10-27 PivotCloud, Inc. Originator publishing an attestation of a statement
US9092780B2 (en) 2012-02-13 2015-07-28 PivotCloud, Inc. User-mediator monitoring and controlling access to electronic content
EP2846492A1 (en) * 2013-09-05 2015-03-11 Thomson Licensing Cryptographic group signature methods and devices
US9264221B2 (en) * 2014-01-31 2016-02-16 Google Inc. Systems and methods for faster public key encryption using the associated private key portion
US10104088B2 (en) 2016-09-28 2018-10-16 International Business Machines Corporation Traitor tracing for obfuscated credentials
CN107579819B (zh) * 2017-09-13 2019-11-19 何德彪 一种sm9数字签名生成方法及***
CN108833107B (zh) * 2018-05-19 2021-06-11 深圳市图灵奇点智能科技有限公司 零知识证明的公共参数生成方法及***
CN108667626B (zh) * 2018-07-20 2020-03-03 陕西师范大学 安全的两方协作sm2签名方法
US10972274B2 (en) * 2018-08-29 2021-04-06 International Business Machines Corporation Trusted identity solution using blockchain
FR3091107A1 (fr) * 2018-12-24 2020-06-26 Orange Procédé et système de génération de clés pour un schéma de signatures anonymes
CN109600233B (zh) * 2019-01-15 2021-06-08 西安电子科技大学 基于sm2数字签名算法的群签名标识签发方法
CN110311782B (zh) * 2019-04-29 2020-04-14 山东工商学院 个人信息的零知识证明方法、***及存储介质
CN115812315A (zh) * 2020-07-21 2023-03-17 哈曼国际工业有限公司 用于自主车辆中的数据安全的***和方法
KR102439195B1 (ko) * 2022-05-03 2022-08-31 세종대학교산학협력단 다중 서명 생성 방법 및 시스템과 이를 수행하기 위한 컴퓨팅 장치
US20230388280A1 (en) * 2022-05-25 2023-11-30 CybXSecurity LLC System, Method, and Computer Program Product for Generating Secure Messages for Messaging

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005210638A (ja) * 2004-01-26 2005-08-04 Toshiba Corp デジタル署名システム、デジタル署名管理装置、デジタル署名管理方法及びプログラム
WO2006077700A1 (ja) * 2005-01-21 2006-07-27 Nec Corporation グループ署名方式
WO2006085430A1 (ja) * 2005-02-10 2006-08-17 Nec Corporation メンバー証明書獲得装置、メンバー証明書発行装置、グループ署名装置、グループ署名検証装置
WO2007010903A1 (ja) * 2005-07-19 2007-01-25 Nec Corporation 鍵発行方法、グループ署名システム

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3833309A1 (de) * 1987-09-30 1989-04-20 Toshiba Kawasaki Kk Bildverarbeitungseinrichtung
JP3053106B2 (ja) * 1990-11-02 2000-06-19 株式会社日立製作所 暗号化処理装置、及び復号化処理装置
US6243467B1 (en) * 1998-07-23 2001-06-05 The United States Of America As Represented By The National Security Agency Method of elliptic curve cryptographic digital signature generation and verification using reduced base tau expansion in non-adjacent form
JP2001202013A (ja) * 2000-01-21 2001-07-27 Nec Corp 匿名参加権限管理システム
US6584566B1 (en) * 1998-08-27 2003-06-24 Nortel Networks Limited Distributed group key management for multicast security
US6240188B1 (en) * 1999-07-06 2001-05-29 Matsushita Electric Industrial Co., Ltd. Distributed group key management scheme for secure many-to-many communication
US7269728B1 (en) * 1999-09-21 2007-09-11 Nortel Networks Limited Apparatus and method for distributing management keys in a multicast domain
US7181017B1 (en) * 2001-03-23 2007-02-20 David Felsher System and method for secure three-party communications
KR100395158B1 (ko) * 2001-07-12 2003-08-19 한국전자통신연구원 유한 비가환군을 이용한 공개키 암호 시스템
US8098818B2 (en) * 2003-07-07 2012-01-17 Qualcomm Incorporated Secure registration for a multicast-broadcast-multimedia system (MBMS)
US20050086481A1 (en) * 2003-10-15 2005-04-21 Cisco Technology, Inc. Naming of 802.11 group keys to allow support of multiple broadcast and multicast domains
US7590236B1 (en) * 2004-06-04 2009-09-15 Voltage Security, Inc. Identity-based-encryption system
CN1773905B (zh) * 2004-11-10 2010-08-18 日电(中国)有限公司 在安全通信***中生成匿名公钥的方法、设备和***
US8028171B2 (en) * 2005-01-21 2011-09-27 Nec Corporation Signature apparatus, verifying apparatus, proving apparatus, encrypting apparatus, and decrypting apparatus
US20070016584A1 (en) * 2005-07-15 2007-01-18 Grell Mathew L Group access without using an administrator
US8306026B2 (en) * 2005-12-15 2012-11-06 Toshiba America Research, Inc. Last hop topology sensitive multicasting key management
US7477738B2 (en) * 2005-12-21 2009-01-13 General Instrument Corporation Data sequence encryption and decryption
US20070157212A1 (en) * 2006-01-04 2007-07-05 Berg Douglas C Context key routing for parallel processing in an application serving environment
CN101106449B (zh) * 2006-07-13 2010-05-12 华为技术有限公司 实现多方通信安全的***和方法
CN101155027B (zh) * 2006-09-27 2012-07-04 华为技术有限公司 密钥共享方法和***
EP2154667A4 (en) * 2007-05-25 2015-11-11 Nec Corp KEY EXCHANGE DEVICE AND KEY EXCHANGE METHOD
JP2009026407A (ja) * 2007-07-20 2009-02-05 Toshiba Corp 情報記録媒体
US8189789B2 (en) * 2008-11-03 2012-05-29 Telcordia Technologies, Inc. Intrusion-tolerant group management for mobile ad-hoc networks
US8094823B1 (en) * 2008-12-24 2012-01-10 Rockstar Bidco, LP Extended diffie-hellman group key generation

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005210638A (ja) * 2004-01-26 2005-08-04 Toshiba Corp デジタル署名システム、デジタル署名管理装置、デジタル署名管理方法及びプログラム
WO2006077700A1 (ja) * 2005-01-21 2006-07-27 Nec Corporation グループ署名方式
WO2006085430A1 (ja) * 2005-02-10 2006-08-17 Nec Corporation メンバー証明書獲得装置、メンバー証明書発行装置、グループ署名装置、グループ署名検証装置
WO2007010903A1 (ja) * 2005-07-19 2007-01-25 Nec Corporation 鍵発行方法、グループ署名システム

Also Published As

Publication number Publication date
CN101689993B (zh) 2013-02-27
KR101099814B1 (ko) 2011-12-27
CN101689993A (zh) 2010-03-31
US20100169656A1 (en) 2010-07-01
JPWO2009008069A1 (ja) 2010-09-02
KR20100018043A (ko) 2010-02-16
US8200977B2 (en) 2012-06-12
WO2009008069A1 (ja) 2009-01-15

Similar Documents

Publication Publication Date Title
JP5060556B2 (ja) グループ署名システム、装置及びプログラム
JP4764447B2 (ja) グループ署名システム、装置及びプログラム
Boneh et al. Chosen-ciphertext security from identity-based encryption
Liu et al. Certificateless signcryption scheme in the standard model
Shahandashti et al. Threshold attribute-based signatures and their application to anonymous credential systems
Brown et al. Provably secure implicit certificate schemes
Tso et al. Strongly secure certificateless short signatures
Tso et al. Efficient and short certificateless signatures secure against realistic adversaries
Huang et al. Short (identity-based) strong designated verifier signature schemes
Brickell et al. Enhanced privacy ID from bilinear pairing
Lu et al. Sequential aggregate signatures, multisignatures, and verifiably encrypted signatures without random oracles
JP4973193B2 (ja) 制限付ブラインド署名システム
Kiayias et al. Concurrent blind signatures without random oracles
Ateniese et al. A provably secure Nyberg-Rueppel signature variant with applications
Ren et al. Generalized ring signatures
Tang et al. Towards provably secure proxy signature scheme based on isomorphisms of polynomials
Tso A new way to generate a ring: Universal ring signature
Tian et al. A systematic method to design strong designated verifier signature without random oracles
Liu et al. Fair exchange signature schemes
Tian et al. A non-delegatable strong designated verifier signature without random oracles
Feng et al. Generic constructions for strong designated verifier signature
Tian et al. A short non-delegatable strong designated verifier signature
Li et al. An efficient certificate-based designated verifier signature scheme
Dent A brief history of provably-secure public-key encryption
Gao et al. Round-optimal ID-based blind signature schemes without ROS assumption

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20120622

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120710

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120803

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150810

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5060556

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350