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

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

Info

Publication number
JP4764447B2
JP4764447B2 JP2008072488A JP2008072488A JP4764447B2 JP 4764447 B2 JP4764447 B2 JP 4764447B2 JP 2008072488 A JP2008072488 A JP 2008072488A JP 2008072488 A JP2008072488 A JP 2008072488A JP 4764447 B2 JP4764447 B2 JP 4764447B2
Authority
JP
Japan
Prior art keywords
group
signer
signature
public
verification
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
JP2008072488A
Other languages
English (en)
Other versions
JP2009231987A (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
Priority to JP2008072488A priority Critical patent/JP4764447B2/ja
Priority to CN200980109365.5A priority patent/CN101978651B/zh
Priority to KR1020107020734A priority patent/KR101156813B1/ko
Priority to PCT/JP2009/054502 priority patent/WO2009116422A1/ja
Publication of JP2009231987A publication Critical patent/JP2009231987A/ja
Priority to US12/884,742 priority patent/US8433897B2/en
Application granted granted Critical
Publication of JP4764447B2 publication Critical patent/JP4764447B2/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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • H04L9/3073Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
    • 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/302Public 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 integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
    • 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/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)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Storage Device Security (AREA)

Description

本発明は、グループ署名システム、装置及びプログラムに係り、例えば、計算量を減らして計算速度を向上し得るグループ署名システム、装置及びプログラムに関する。
グループ署名方式は、匿名性を持った電子署名として1991年にチャウム(Chaum)らによって提案された。通常の電子署名方式では、署名検証のための公開鍵と署名生成のための秘密鍵が1対1で対応するため、署名生成者の匿名性を保てない。
これに対し、グループ署名方式では、署名検証のためのグループ公開鍵と署名生成のためのメンバ秘密鍵が1対nで対応するため、署名生成者の匿名性を保っている。すなわち、グループ署名方式は、1個のグループ公開鍵と、n個のメンバ秘密鍵とが対応するため、署名検証の際に、署名生成者を特定できない性質がある。また、グループ署名方式は、特権者であるグループ管理者だけが署名者を特定できるという性質を持っている。
しかしながら、当初のグループ署名方式は、署名長や署名生成計算量がメンバ数に比例するため、多数のメンバをもつグループでの効率が非常に低く、運用に適さないものである。
これに対し、効率がメンバ数に依存しないグループ署名方式が1997年にカメニッシュ(Camenisch)らにより提案された。この方式では、メンバ秘密鍵に対するグループ管理者の署名をメンバ証明書(membership certificate)として用いる。グループ署名には、グループ管理者の公開鍵で暗号化されたメンバ証明書(またはその一部)と、メンバ証明書が正しく暗号化されていることと、メンバ秘密鍵及びメンバ証明書を保持することとを示す非対話的知識証明が含まれる。署名検証者は、非対話的知識証明の検証により、メンバによる署名であることを検証できる。さらにグループ管理者は、メンバ証明書の復号により、署名者を特定できる。このようなメンバ証明書を用いる概念は、その後のグループ署名方式の基礎となる重要なものである。
しかしながら、このカメニッシュらの方式は、効率がメンバ数に依存しないものの、実用的な観点からは効率が低いものである。
効率的(practical)な最初のグループ署名方式は、2000年にアテニース(Ateniese)らによって提案された方式(以下、[ACJT00]方式という。)である。アテニースのグループ署名方式は、大幅に効率化されており、実用化が検討可能となっている。アテニースのグループ署名方式は、署名生成の際にRSA署名生成の200倍程度の計算量が必要であるため、継続的に改良が検討されている。アテニースの方式は、安全性が強RSA問題(strong-RSA problem)に基づいている。
現在、知られている高速なグループ署名方式は以下の3方式である。1つは2004年にカメニッシュ(Camenisch)らによって提案された方式(例えば、非特許文献1参照。以下、[CG04]方式という。full paper は以下のURLから取得可能(2008年3月現在)http://www.brics.dk/~jg/)である。[CG04]方式の署名生成計算量は、RSA署名生成の8倍程度にまで低減されている。[CG04]方式の安全性も強RSA問題に基づいている。2つ目は2005年に古川らによって提案された方式(例えば、非特許文献2参照。以下、[FI05]方式という。)である。3つ目はデレラブリ(Delerablee)らによって提案された方式(例えば、非特許文献3参照。以下、[DP06]方式という。)である。[FI05]方式と[DP06]方式は双線形写像を利用しており、その安全性は双線形群における仮定に基づいている。
グループ署名は高速化が進む一方、高機能化も進められている。重要な機能の1つにリボケーション機能が考えられている。リボケーションはグループ署名を利用したサービスを展開する上で、メンバのサービスからの退会や不正なメンバの強制排除を実現するための機能として非常に重要なものである。前述の[CG04]方式、[FI05]方式と[DP06]方式はいずれもリボケーション機能を有する。
より高いセキュリティと柔軟なグループ管理を実現するための方法として、グループ管理機能ごとに扱う秘密情報を変えて権限を分割できる方式も検討されている。具体的には、従来はすべてグループ管理者が行っていたメンバ秘密鍵生成、署名者特定、リボケーションのそれぞれの機能を受け持つメンバ秘密鍵生成者、署名者特定者、リボケーション管理者に分割するような方式が考えられている。
また、グループ管理者または署名者特定者によって署名者特定が適切に行われたことを検証者が確認できるという濡れ衣回避性(Non-Frameability)と呼ばれる性質も考えられている。
さらに、署名者が望む場合にのみ、ある署名がその署名者によって生成されたということを検証者に証明できるという自己追跡性(Self-Traceability)と呼ばれる性質も提案されている。
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, pp.120-133, 2005. J. Furukawa and H. Imai, "An Efficient Group Signature Scheme from Bilinear Maps," ACISP 2005, LNCS 3574, pp.455-467, 2005. C. Delerablee and D.Pointcheval, "Dynamic Fully Anonymous Short Group Signatures," VIETCRYPT, LNCS 4341, pp193-210, 2006.
本発明者の検討によれば、リボケーション機能を有しながら[CG04]方式、[FI05]方式と[DP06]方式よりも計算量を減らして計算速度を向上させる余地がある。
本発明の目的は、リボケーション機能を実現しつつ計算量を減らして計算速度を向上し得るグループ署名システム、装置及びプログラムを提供することにある。
本発明の第1の局面(aspect)は、互いに通信可能なグループ管理者装置、署名者装置及び検証者装置を備え、各装置がグループ署名方式を用いるグループ署名システムであって、前記グループ管理者装置としては、前記グループ署名方式に用いる素数位数q、及び前記qの乗法巡回群gGの生成元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}を算出する署名者特定情報算出手段と、リボークされたメンバのリプレゼンテーションの一部ki1を含むリボケーションリストを生成するリボケーションリスト生成手段と、前記リボケーションリストを前記検証者装置に送信する手段と、を備えており、前記署名者装置としては、前記グループ署名方式に用いる素数位数q、及び前記qの乗法巡回群gGの生成元Gを含む公開パラメータと、前記グループ公開鍵、前記メンバ秘密鍵、前記署名者特定情報T及びメッセージを記憶する署名者用記憶手段と、前記署名者用記憶手段内の公開パラメータ及びグループ公開鍵に基づいて前記署名者特定情報Tを暗号化し、当該署名者特定情報Tの暗号文データを生成する暗号文生成手段と、前記署名者用記憶手段内の公開パラメータ、前記グループ公開鍵、前記メンバ秘密鍵及び前記メッセージと、前記署名者特定情報Tの暗号文データとに基づいて、当該メンバ秘密鍵及び当該署名者特定情報Tを知っていることを示す零知識証明を生成する零知識証明生成手段と、前記暗号文データ及び前記零知識証明からなるグループ署名と前記メッセージとを前記検証者装置に送信する手段と、を備えており、前記検証者装置としては、前記グループ署名方式に用いる素数位数q、及び前記qの乗法巡回群gGの生成元Gを含む公開パラメータと前記グループ公開鍵とを記憶する検証者用記憶手段と、前記グループ管理者装置から前記リボケーションリストを前記署名者装置から前記グループ署名及びメッセージをそれぞれ受信する手段と、前記受信したリボケーションリスト、グループ署名及びメッセージと前記検証者用記憶手段内の公開パラメータ及びグループ公開鍵とに基づいて、当該グループ署名の正当性を検証する検証手段と、前記検証した結果を前記署名者装置に送信する手段と、必要に応じて署名者特定のためにグループ管理者装置にメッセージとグループ署名を送信する手段と、を備えたグループ署名システムである。
第1の局面によれば、素数位数qの乗法巡回群gGを用いて完全な離散対数ベースのグループ署名方式とし、且つリプレゼンテーションki1,ki2をメンバ秘密鍵とし、リボークされたメンバのリプレゼンテーションの一部ki1をリボケーションリストに含むグループ署名方式を実現したことにより、従来の[CG04]方式、[FI05]方式と[DP06]方式に比べ、計算量を減らして計算速度を向上することができる。さらに、本発明のグループ署名では、グループ管理者機能をメンバ秘密鍵生成者、署名者特定者、リボケーション管理者に分割することができ、従来の濡れ衣回避性(Non-Frameability)を少し弱めた弱濡れ衣回避性(Weak Non-Frameability)と自己追跡性(Self-Traceability)も同時に実現できる。
なお、以上の局面は、各装置からなる「システム」として表現したが、これに限らず、各装置の集合又は装置毎の「装置」、「プログラム」、「コンピュータ読み取り可能な記憶媒体」又は「方法」として表現してもよい。
以上説明したように本発明によれば、リボケーション機能を実現しつつ計算量を減らして計算速度を向上できる。
以下、本発明の一実施形態について図面を参照して詳細に説明するが、その前に本発明の一実施形態に係るグループ署名方式(以下、実施形態方式という)の概要を述べる。
実施形態方式は極めて効率が良いことが最大の特長である。高速にベキ乗剰余演算を行う手法である指数同時乗算(Simultaneous Multiple Exponentiation)法を用いた場合、[CG04]方式がRSA署名生成の8倍以上の計算量であるのに対し、実施形態方式ではRSA署名生成のわずか4倍程度の計算量で署名生成を行える。また、指数同時乗算法では底の値によってテーブルの事前計算を行う必要があるが、実施形態方式ではベキ乗剰余演算の底が常に固定であるため、テーブルの事前計算を毎回行う必要がなく、テーブルを保持することで計算量をさらに若干減らすことができる。なお、双線形写像を利用する[FI05]方式と[DP06]方式は双線形写像の実装によって計算速度が大きく異なるため単純に比較することはできないが、これらの方式は現在最速の双線形写像実装技術を考慮しても[CG04]方式と同程度の速度であるため、実施形態方式の方が十分に高速である。
さらに、実施形態方式は署名生成に利用するメンバ秘密鍵が非常に短く、そのビット長は[CG04]方式の1/10、RSA方式の1/9でしかない。
[ACJT00]方式や[CG04]方式の安全性が強RSA問題に基づき、[FI05]方式と[DP06]方式は双線形群における仮定に基づくのに対し、実施形態方式は、安全性がDDH(decisional Diffie-Hellman)問題に基づいている。これに伴い、実施形態方式は、楕円曲線上でも効率よく実装でき、署名長及び鍵長を大幅に短縮でき、高速化が可能となる。実施形態方式はDDH問題のみに基づく効率的なグループ署名として最初の方式である。さらに、実施形態方式は、単純な演算の組み合わせで実装可能であるため、広範囲のプラットフォーム上での応用が期待できる。
なお、実施形態方式では、グループ管理者機能をメンバ秘密鍵生成者、署名者特定者、リボケーション管理者に分割することができ、従来の濡れ衣回避性(Non-Frameability)を少し弱めた弱濡れ衣回避性(Weak Non-Frameability)と自己追跡性(Self-Traceability)も同時に実現できる。
<グループ署名>
以下では、実施形態方式の前提となるグループ署名の機能と安全性について定義する。
[グループ署名の機能]
効率のよい既存方式のほとんどは、メンバ秘密鍵に対するグループ管理者の署名をメンバ証明書として利用する。実施形態方式では、グループ管理者の署名を利用しないため、従来方式のメンバ証明書と区別するために署名者特定情報(tracing information)という用語を用いる。グループ署名においては、暗号化された署名者特定情報と、署名者特定情報が正しく暗号化されていることを示す非対話的知識証明と、メンバ秘密鍵及び署名者特定情報を持っていることを示す非対話的知識証明とが含まれることはメンバ証明書を利用した方式と同様である。
グループ署名方式GSは以下の8つの多項式時間アルゴリズムGKg,MKg,GSig,GVf,Claim,Open,Judge,Revokeから成る。
[グループ鍵セット生成アルゴリズムGKg]
グループ鍵セット生成アルゴリズムGKgは、セキュリティパラメータkを入力とし、グループ公開鍵gpk、メンバ秘密鍵生成用秘密鍵ikと署名者特定用秘密鍵okを生成して出力するための、グループ管理者が実行する確率的多項式時間アルゴリズムである。
[メンバ秘密鍵生成アルゴリズムMKg]
グループの最大メンバ数をnとし、メンバのIDを1,...,nとする。メンバ秘密鍵生成アルゴリズムMKgは、グループ公開鍵gpk、メンバ秘密鍵生成用秘密鍵ik、メンバのID=i∈{1,...,n}を入力とし、メンバ秘密鍵gsk[i]、それに対応する署名者特定情報Tとリボケーショントークンgrt[i]を生成して出力するための、グループ管理者またはメンバ秘密鍵生成者が実行する確率的多項式時間アルゴリズムである。
[署名生成アルゴリズムGSig]
署名生成アルゴリズムGSigは、グループ公開鍵gpk、メンバ秘密鍵gsk[i]、署名者特定情報T、メッセージmsgを入力とし、グループ署名σを生成して出力するための、署名者が実行する確率的多項式時間アルゴリズムである。
[署名検証アルゴリズムGVf]
署名検証アルゴリズムGVfは、グループ公開鍵gpk、メッセージmsg、グループ署名σとリボケーションリストRLを入力とし、署名が正しければ有効(valid)を、正しくなければ無効(invalid)を出力するための、検証者が実行する確定的多項式時間アルゴリズムである。
[署名生成証明アルゴリズムClaim]
署名生成証明アルゴリズムClaimは、自己追跡性(Self-Traceability)を実現するための、署名者と検証者の間の2者間対話的プロトコルである。グループ公開鍵gpk、メッセージmsg、グループ署名σが両者への共通入力であり、メンバ秘密鍵gsk[i]が署名者へ秘密の情報として与えられる。プロトコルの最後に検証者は当該グループ署名σが対話的プロトコルを実行した署名者によって生成されたかを表す真(true)または偽(false)を出力する。
[署名者特定アルゴリズムOpen]
署名者特定アルゴリズムOpenは、グループ公開鍵gpk、グループ秘密鍵gmsk、メッセージmsg、グループ署名σを入力とし、署名が正しければその署名を生成したユーザのID=iと署名者情報正当性証明τを、正しくなければ無効(invalid)を出力するための、グループ管理者または署名者特定者が実行する確率的多項式時間アルゴリズムである。なお、グループ秘密鍵gmskは、メンバ秘密鍵生成用秘密鍵ik(a,b)及び署名者特定用秘密鍵ok(x,x,y,y,z)から構成されている。
[署名者特定結果検証アルゴリズムJudge]
署名者特定結果検証アルゴリズムJudgeは、グループ公開鍵gpk、グループ署名σ、その署名から特定されたユーザのID=iと署名者情報正当性証明τを入力とし、署名者特定が正しく行われたかどうかを表す真(true)または偽(false)を出力するための、検証者が実行する確定的多項式時間アルゴリズムである。
[メンバリボークアルゴリズムRevoke]
メンバリボークアルゴリズムRevokeは、リボケーショントークンの集合grt_setとリボークされたユーザのIDの集合RUを入力とし、リボケーションリストRLを生成して出力するための、グループ管理者またはリボケーション管理者が実行する確定的多項式時間アルゴリズムである。
[グループ署名の安全性]
グループ署名の安全性について当初は数多くの要件が定義されていた。その後、ベラー(Bellare)らが、静的グループ(static group)および動的グループ(dynamic group)のグループ署名の安全性の要件をまとめている。なお、静的グループとは、メンバの追加・削除機能を持たず一度グループが生成されるとメンバの変更がないグループをいい、動的グループとはその変更があるグループをいう。ここで、ベラーの要件は非常に厳しいものであり、グループメンバ全員の結託に対する安全性が考慮されている。このため、一般的には、ベラーの要件を弱めて安全性が定義されている。ここでは、ベラーの要件に基づき、グループ管理者やメンバの結託がない場合の安全性を再定義する。
以下の正当性(correctness)、匿名性(anonymity)、追跡可能性(traceability)、弱濡れ衣回避性(Weak Non-Frameability)の4つの性質を持つとき、グループ署名方式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(1^k)を実行し、さらにメンバ秘密鍵生成アルゴリズムMKgをi∈{1,...,n}に対して実行して、グループ公開鍵gpk、メンバ秘密鍵生成用秘密鍵ikと署名者特定用秘密鍵ok、メンバ秘密鍵の集合gsk_set、署名者特定情報の集合T_set、リボケーショントークンの集合grt_setを生成し、敵(adversary)Aにgpk、T_set、gsk[u]を与える。
(2)質問(queries):敵AはGSig,Open,Revoke,Claimに対する任意の質問を行える。
(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は以下の2つの制約を除き、GSig,Open,Revoke,Claimに対する任意の質問を行える。(a)i0またはi1についてRevokeに対して質問してはならない(b)σについてOpenまたはClaimに対して質問してはならない
(5)出力(output):敵Aは、b’を出力する。
すべての多項式時間アルゴリズムAに対して確率|Pr[b=b’]−1/2|が無視できるとき、グループ署名方式は匿名性(anonymity)を持つという。
[3.追跡可能性(traceability)]
以下の攻撃を考える。
(1)セットアップ(setup):鍵生成アルゴリズムGKg(1^k)を実行し、さらにメンバ秘密鍵生成アルゴリズムMKgをi∈{1,...,n}に対して実行して、グループ公開鍵gpk、メンバ秘密鍵生成用秘密鍵ikと署名者特定用秘密鍵ok、メンバ秘密鍵の集合gsk_set、署名者特定情報の集合T_set、リボケーショントークンの集合grt_setを生成し、敵(adversary)Aにgpk、ok、grt_set、T_set、gsk[u]を与える。
(2)質問(queries):敵AはGSig,Claimに対する任意の質問を行える。
(3)応答(response):敵Aはメッセージmsgとグループ署名σを出力する。署名者特定アルゴリズムOpenの結果がOpen(gmsk,msg,σ)=i≠uであり、i、msgが署名質問(signing query)で指定されていないとき、“敵Aは攻撃に成功した”という。すべての多項式時間アルゴリズムAの成功確率が無視できるとき、グループ署名方式は追跡可能性(traceability)を持つという。
[4.弱濡れ衣回避性(Weak Non-Frameability)]
ベラーらの濡れ衣回避性の定義ではグループ管理者またはメンバ秘密鍵生成者による不正までが考慮されているが、本発明ではその不正までは考慮せず、以下に示すように弱濡れ衣回避性として定義を弱める。
以下の攻撃を考える。
(1)セットアップ(setup):鍵生成アルゴリズムGKg(1^k)を実行し、さらにメンバ秘密鍵生成アルゴリズムMKgをi∈{1,...,n}に対して実行して、グループ公開鍵gpk、メンバ秘密鍵生成用秘密鍵ikと署名者特定用秘密鍵ok、メンバ秘密鍵の集合gsk_set、署名者特定情報の集合T_set、リボケーショントークンの集合grt_setを生成し、敵(adversary)Aにgpk、ok、grt_set、T_set、gsk[u]を与える。
(2)質問(queries):敵AはGSig,Claimに対する任意の質問を行える。
(3)応答(response):敵Aはメッセージmsg、グループ署名σユーザID=iと署名者情報正当性証明τを出力する。
署名検証アルゴリズムGVfの結果がGVf(gpk,msg,σ)=validかつi≠uかつJudge(gpk,i,msg,σ,τ)=trueであり、i、msgが署名質問(signing query)で指定されていないとき、“敵Aは攻撃に成功した”という。すべての多項式時間アルゴリズムAの成功確率が無視できるとき、グループ署名方式は弱濡れ衣回避性(Weak Non-Frameability)を持つという。
<準備>
以下では、実施形態方式を理解するうえで重要なDDH(decisional Diffie-Hellman)問題、リプレゼンテーション(representation)、クラメル−シャウプ(Cramer-Shoup)暗号について説明する。
[DDH問題]
素数位数qの乗法巡回群をGとする。ランダムな4つ組(quadruples)(G,G,U,U)∈gGの分布をRとする。G,G∈gGとr∈Z とをランダムに選び、U=G、U=Gとした4つ組(G,G,U,U)∈gGの分布を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))として用いられ、その後もしばしば用いられている。1997年のカメニッシュの方式では、シュノア(Schnorr)署名を応用したリプレゼンテーションの非対話的知識証明が用いられている。実施形態方式ではメンバ秘密鍵をリプレゼンテーションとし、グループ署名にはリプレゼンテーションについての非対話的知識証明を含んでいる。
[クラメル−シャウプ(Cramer-Shoup)暗号]
実施形態方式では、署名者特定情報の暗号化にクラメル−シャウプ暗号を利用する。但し、実施形態方式はクラメル−シャウプ暗号に限定されない。
以下にクラメル−シャウプ暗号を説明する。
[公開鍵(public key)・秘密鍵(private key)ペア生成]
公開パラメータとして素数位数qの乗法巡回群gGとその生成元Gと汎用一方向性ハッシュ(universal one-way hash)関数を入力とし、以下の処理を行う。
(1)G,G∈gGをランダムに選択する。
(2)x,x,y,y,z∈Z をランダムに選択する。
(3)C=G^{x}G^{x}、D=G^{y}G^{y}、H=G を計算する。
(4)ハッシュ関数Hashを汎用一方向性ハッシュ関数の集合から選択する。
(5)公開鍵pk=(G,G,C,D,H,Hash)、秘密鍵sk=(x,x,y,y,z)を出力する。
[暗号化]
公開鍵pk=(G,G,C,D,H,Hash)、メッセージm∈Gを入力とし、以下の処理を行う。
(1)r∈Zqをランダムに選択する。
(2)U=G 、U=G 、E=Hmを計算する。
(3)α=Hash(U,U,E)を計算する。
(4)V=Crαを計算する。
(5)暗号文(U,U,E,V)を出力する。
[復号]
暗号文(U,U,E,V)を入力とし、以下の処理を行う。
(1)α=Hash(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)らの方式でもリプレゼンテーションを用いるが、署名者特定情報としてリプレゼンテーション自体を用いるため、効率が低い。
これに対し、実施形態方式では、リプレゼンテーション自体ではなく、リプレゼンテーションから一意に計算される値を署名者特定情報として用いるので、効率が高い。
(第1の実施形態)
図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及び出力部19を備えている。
グループ管理者用記憶部11は、各部12〜18からアクセス可能な記憶装置であり、図3に示すように、公開パラメータ、グループ公開鍵gpk、メンバ秘密鍵生成用秘密鍵ik、署名者特定用秘密鍵ok、メンバ情報、ユーザ管理情報、計算テーブル、メッセージ、グループ署名及び署名者情報が記憶される。
公開パラメータは、グループ署名方式に用いる素数位数qと、qの乗法巡回群gGの生成元Gとを少なくとも含んでおり、ここでは更にハッシュ関数Hashを含んでいる。
メンバ秘密鍵生成用秘密鍵ikは、公開パラメータに基づいて選択された値a,b∈Z を少なくとも含んでいる。
署名者特定用秘密鍵okは、暗号化方式の復号用秘密鍵を少なくとも含んでおり、ここでは値x,x,y,y,z∈Z を含んでいる。
グループ公開鍵gpkは、第1関係式G=G 及び第2関係式F=G を満たす値G,F及び生成元Gを少なくとも含んでおり、ここでは更に値C,D,H及びハッシュ関数Hashを含んでいる。なお、C=G^{x}G^{x}、D=G^{y}G^{y}、H=G である。
メンバ情報は、ユーザ識別情報ID(i)毎に、メンバ秘密鍵gsk[i]、リボケーショントークンgrt[i]及び署名者特定情報Tが互いに関連付けられてなる情報である(1≦i≦n)。ここで、リボケーショントークンgrt[i]は、メンバのメンバ秘密鍵gsk[i]内のリプレゼンテーションの一部ki1であり、当該メンバがリボーク(無効化)された場合、リボケーションリストに登録される情報である。リボケーションリスト(図示せず)は、リボークされたメンバに対応するリボケーショントークンgrt[i]のリストである。
ユーザ管理情報は、ユーザ識別情報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,R)と、零知識証明(β,s,s,s)とからなり、署名者装置20により生成された情報である。
入力部12は、グループ管理者装置10内部と外部との間の入力インターフェイスであり、キーボード及びマウス等の入力デバイスが用いられる。
通信部13は、グループ管理者装置10内部と外部との間の通信インターフェイスである。通信部13は、例えば、グループ署名方式におけるグループ署名を生成するための公開パラメータ、グループ公開鍵、メンバ秘密鍵及び署名者特定情報Tを暗号化通信などの安全な手法により、署名者装置20〜20に送信する機能をもっている。また、通信部13は、例えば、グループ署名方式におけるグループ署名を検証するための公開パラメータ、グループ公開鍵及びリボケーションリストを検証者装置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に示す処理を実行する機能をもっている。また、grt[i]=ki1であるものとする。
署名検証部16は、グループ管理者用記憶部11内のグループ署名、メッセージ、公開パラメータ及びグループ公開鍵に基づいて、当該グループ署名内の零知識証明の正当性を検証すると共に、グループ管理者用記憶部11内のグループ署名、グループ秘密鍵及びグループ公開鍵に基づいて、当該グループ署名内の暗号文データの正当性を検証するものである。ここでは、署名検証部16は、後述する図16に示す処理を実行する機能をもっている。
署名者特定部17は、グループ管理者用記憶部11内のグループ署名及びグループ秘密鍵に基づいて、ユーザID=iを算出するものである。ここでは、署名者特定部17は、後述する図17に示す処理を実行する機能をもっている。
リボケーションリスト生成部18は、リボークされたメンバのリプレゼンテーションの一部ki1を含むリボケーションリストを生成する機能をもっている。具体的にはリボケーションリスト生成部18は、グループ管理者用記憶部11内のメンバ情報の一部として記憶されたリボケーショントークンの集合と、予めグループ管理者用記憶部11に記憶されたリボークされたメンバを示すユーザIDの集合RU(図示せず)とに基づき、当該集合RU内のユーザID(i)に対応するリボケーショントークンgrt[i]をメンバ情報から抽出してリスト化することにより、リボケーションリストを生成する機能をもっている。
出力部19は、グループ管理者装置10内部と外部との間の出力インターフェイスであり、ディスプレイ装置及びプリンタ等の出力デバイスが用いられる。
署名者装置20は、図4に示すように、署名者用記憶部21、入力部22、通信部23、メッセージ作成部24、グループ署名生成部25、署名者同一性証明部26及び出力部27を備えている。
署名者用記憶部21は、各部22〜26からアクセス可能な記憶装置であり、図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は、図15に示す処理のうち署名者同一性証明処理を実行する機能をもっている。
出力部27は、署名者装置20内部と外部との間の出力インターフェイスであり、ディスプレイ装置及びプリンタ等の出力デバイスが用いられる。
検証者装置30は、図6に示すように、検証者用記憶部31、入力部32、通信部33、署名検証部34、署名者同一性検証部35、署名者情報正当性証明検証部36及び出力部37を備えている。
検証者用記憶部31は、各部32〜35からアクセス可能な記憶装置であり、図7に示すように、公開パラメータ、グループ公開鍵gpk、リボケーションリストRL、計算テーブル、メッセージ及びグループ署名が記憶される。
入力部32は、検証者装置30内部と外部との間の入力インターフェイスであり、キーボード及びマウス等の入力デバイスが用いられる。
通信部33は、検証者装置30内部と外部との間の通信インターフェイスである。通信部33は、例えば、グループ署名方式におけるグループ署名を生成するための公開パラメータ、グループ公開鍵及びリボケーションリストを暗号化通信などの安全な手法により、グループ管理者装置10から受信する機能をもっている。また、通信部33は、例えば、暗号文データ及び零知識証明からなるグループ署名と、メッセージとを署名者装置20から受信する機能と、受信したグループ署名とメッセージとを検証者用記憶部31に書き込む機能と、署名検証部34による検証結果を署名者装置20に送信する機能と、必要に応じて署名者特定のためにメッセージとグループ署名をグループ管理者装置10に送信する機能とをもっている。
署名検証部34は、検証者用記憶部31内のグループ署名、メッセージ、公開パラメータ及びグループ公開鍵に基づいて、当該グループ署名の正当性を検証し、検証結果を通信部33及び出力部37に送出するものである。ここでは、署名検証部34は、図13及び図14に示す処理を実行する機能をもっている。また、署名検証部34は、計算テーブルを参照して指数同時乗算法により、ベキ乗演算を実行してもよい。
署名者同一性検証部35は、図15に示す処理のうち署名者同一性検証処理を実行する機能をもっている。
出力部37は、検証者装置30内部と外部との間の出力インターフェイスであり、ディスプレイ装置及びプリンタ等の出力デバイスが用いられる。出力部35は、例えば署名検証部34から受けた検証結果を表示する。
グループ管理者装置10は機能ごとに、メンバ秘密鍵生成者装置101、署名者特定者装置102及びリボケーション管理者装置103に分割できる。それぞれの装置と記憶部は図22と図23、図24と図25及び図26と図27に示される。いずれもグループ管理者装置と比べて処理部と記憶する情報(特に秘密情報)が少ないことから、グループ管理者装置として全機能を処理する場合と比較して高いセキュリティと柔軟な運用が実現できることが分かる。なお、このグループ管理者装置10を分割した構成については、第2の実施形態で具体的に述べる。
署名者装置20から署名者同一性証明機能のみを分離させて署名者同一性証明機能201iとすることもできる。その装置と記憶部は図28と図29に示される。この場合も署名者装置と比べて処理部と記憶する情報(特に秘密情報)が少なく、高いセキュリティと柔軟な運用が実現できることが分かる。なお、この署名者同一性証明機能を分離した構成については、第3の実施形態で具体的に述べる。
次に、以上のように構成されたグループ署名システムの動作を図8乃至図20のフローチャートを用いて説明する。
(グループ鍵セット生成:図8)
グループ管理者装置10では、グループ管理者の入力部12の操作により、セキュリティパラメータkが入力された後、グループ鍵生成部14が起動されたとする。
グループ鍵生成部14は、kビットの素数q、位数 q の乗法巡回群gG、gGの生成元G、汎用一方向性ハッシュ関数Hashを生成または選択し、公開パラメータとして(q,gG,G,Hash)をグループ管理者用記憶部11に保存する(ST1)。
グループ鍵生成部14は、グループ管理者用記憶部11内の素数位数qを参照し、グループ秘密鍵gmskを構成する7つ組(a,b,x,x,y,y,z)∈Z *7をランダムに選択する(ST2)。なお、Z は、1以上q未満の整数の集合{1,…,q−1}である。また、a,bは、複数のリプレゼンテーションを効率よく計算するために必要な値である。
続いて、グループ鍵生成部14は、グループ管理者用記憶部11内の生成元GとステップST2で得られた7つ組とに基づいて、G=G 、F=G 、C=G^{x}G^{x}、D=G^{y}G^{y}、H=G を計算する(ST3〜ST7)。G1,G2はFのリプレゼンテーションの底である。
また、グループ鍵生成部14は、グループ管理者用記憶部11内の公開パラメータから汎用一方向性ハッシュ関数Hashを読み出す。
しかる後、グループ鍵生成部14は、メンバ秘密鍵生成用秘密鍵ik=(a,b)と、署名者特定用秘密鍵ok=(x,x,y,y,z)と、グループ公開鍵gpk=(G,G,F,C,D,H,Hash)とをグループ管理者用記憶部11に保存する(ST8)。なお、メンバ秘密鍵生成用秘密鍵ik及び署名者特定用秘密鍵okはグループ秘密鍵gmskを構成する。
これにより、グループ鍵生成部14は、グループ公開鍵gpk、メンバ秘密鍵生成用秘密鍵ik及び署名者特定用秘密鍵okの生成完了メッセージを出力部19に送出し、処理を終了する。出力部19は、この生成完了メッセージを表示出力する。
(メンバ秘密鍵生成:図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内のメンバ秘密鍵生成用秘密鍵ik(a,b)に基づいて、メンバ秘密鍵の他の一部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,Hash)、メンバ秘密鍵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,Hash)及び署名者特定情報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とに基づいて、ハッシュ値α=Hash(U,U,E)を計算する(ST35)。
さらに、グループ署名生成部25は、このハッシュ値αと、ステップST31で得られた乱数rと、グループ公開鍵gpkとに基づいて、値V=Crαを計算する(ST36)。
さらに、グループ署名生成部25は、R=T を計算する(ST37)。
これにより、グループ署名生成部25は、署名者特定情報Tに対して得られた暗号文(U,U,E,V,R)を署名者用記憶部21に保存する(ST38)。
(零知識証明(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,Hash)と、ステップST41で得られた乱数r,r,rとに基づいて、零知識証明の一部となるパラメータR=G^{r}G^{r}、R=G^{r}、R=H^{r}G^{r}、R4=^{r}を計算する(ST42〜ST45)。
また、グループ署名生成部25は、署名者用記憶部21内のグループ公開鍵gpk=(G,G,F,C,D,H,Hash)、暗号文(U,U,E,V,R)及びメッセージmsgと、ステップST42〜ST45で得られた零知識証明の一部となるパラメータR,R,R,Rとに基づいて、ハッシュ値β=Hash(G,G,H,U,U,E,V,R,R,R,R,R,msg)を計算する(ST46)。
さらに、グループ署名生成部25は、このハッシュ値βと、ステップST41で得られた乱数r,r,rと、署名者用記憶部21内のメンバ秘密鍵ki1,ki2及び素数位数qとに基づいて、他の零知識証明の一部となるパラメータs=r+βki1 mod q、s=r+βki2 mod q、s=r+βr mod qを計算する(ST47〜ST49)。
これにより、グループ署名生成部25は、最終的に得られた零知識証明(β,s,s,s)を暗号文(U,U,E,V,R)と関連付けて署名者用記憶部21に保存し(ST50)、処理を終了する。以後、これら暗号文(U,U,E,V,R)及び零知識証明(β,s,s,s)は、グループ署名σ=(U,U,E,V,R,β,s,s,s)として用いられる。
このグループ署名σは、署名者特定情報Tの暗号文(U,U,E,V,R)と、G,Gを底としたFのリプレゼンテーションki1,ki2を知っている正しいユーザであることとそれに対応する署名者特定情報Tが正しく暗号化されていることを示す零知識証明(β,s,s,s)とから構成されている。
以後、署名者装置20は、署名者の入力部22の操作により、署名者用記憶部21内のグループ署名σ及びメッセージmsgを出力部27に表示させ、通信部23から検証者装置30に送信する。これにより、メンバ秘密鍵ki1,ki2を示すことなく、グループに属する正しいメンバであり、かつ、グループ管理者は署名者を特定できる旨を証明できる。
(署名検証処理:図13)
検証者装置30は、予め検証者の入力部32の操作により、公開パラメータ(q,gG,G,Hash)及びグループ公開鍵gpk=(G,G,F,C,D,H,Hash)をグループ管理者装置10から取得して検証者用記憶部31に保存しているとする。これにより、検証者装置30は、署名検証処理が可能となっている。
検証者装置30では、署名者装置20から送信されたメッセージmsg、グループ署名σ=(U,U,E,V,R,β,s,s,s)及び検証要求を通信部33が受信して検証者用記憶部31に保存すると共に、この検証要求を通信部33が署名検証部34に送出する。
署名検証部34は、検証要求を受けると、検証者用記憶部31内のグループ公開鍵gpk及びグループ署名σに基づいて、R’=F^{−β}G^{s}G^{s}、R’=U^{−β}G^{s}、R’=E^{−β}H^{s}G^{s}、R’=R^{−β}U^{s}を計算する(ST51〜ST54)。
続いて、署名検証部34は、グループ公開鍵gpk、メッセージmsg、グループ署名σ及び上記R’,R’,R’,R’に基づいて、ハッシュ値β’=Hash(G,G,H,U,U,E,V,R,R’,R’,R’,R’,msg)を計算する(ST55)。なお、署名検証部34は、グループ署名σの値の範囲を所定の基準範囲に基づいて確認してもよい。
ステップST55の結果、検証式β=β’が成り立てば有効(valid)と判定して判定結果OKを通信部33及び出力部37に出力し(ST57−OK)、検証式が成り立たなければ無効(invalid)と判定して判定結果NGを通信部33及び出力部37に出力する(ST57−NG)。
通信部33は判定結果OK/NGを署名者装置20に送信して処理を終了する。出力部37は、判定結果OK/NGを表示出力する。
(リボーク検証処理:図14)
検証者装置30は、予め検証者の入力部32の操作により、公開パラメータ(q,gG,G,Hash)、グループ公開鍵gpk=(G,G,F,C,D,H,Hash)及びリボケーションリストRLをグループ管理者装置10から取得して検証者用記憶部31に保存しているとする。これにより、検証者装置30は、リボーク検証処理が可能となっている。
署名検証部34は、リボケーションリストRLに含まれるすべてのgrt(=k )についてチェック済みかどうかを確認し(ST61)、チェック済みであれば有効(valid)と判定して判定結果OKを通信部33及び出力部37に出力する(ST64−OK)。そうでなければ処理を続行する。
続いて、署名検証部34は、リボケーションリストRLに含まれる未チェックのgrt(=k )を選択し(ST62)、R=U^{k }かどうかを確認する(ST63)。上記の式の等号が成り立てば無効(invalid)と判定して判定結果NGを通信部33及び出力部37に出力する(ST64−NG)。そうでない場合は次のgrtをチェックに戻る(ST61)。
(署名者同一性証明・検証処理:図15)
署名者装置20は、予め署名者の入力部22の操作により、公開パラメータ(q,gG,G,Hash)、グループ公開鍵gpk=(G,G,F,C,D,H,Hash)、メンバ秘密鍵gsk[i]及び署名者特定情報Tをグループ管理者装置10から取得して検証者用記憶部21に保存しているとする。また、署名者同一性検証を行う対象となるグループ署名σ=(U,U,E,V,R,β,s,s,s)も検証者用記憶部21に保存しているとする。これにより、署名者装置20は、署名者同一性証明処理が可能となっている。
検証者装置30は、予め検証者の入力部32の操作により、公開パラメータ(q,gG,G,Hash)及びグループ公開鍵gpk=(G,G,F,C,D,H,Hash)をグループ管理者装置10から取得して検証者用記憶部31に保存しているとする。また、署名者同一性検証を行う対象となるグループ署名σ=(U,U,E,V,R,β,s,s,s)をオンラインまたはオフラインで取得して検証者用記憶部31に保存しているとする。これにより、検証者装置30は、署名者同一性検証処理が可能となっている。
署名者装置と検証者装置の間のデータの通信は、それぞれ署名者装置の通信部23と検証者装置の通信部33を通じて行われる。
署名者装置20では、ユーザiの入力部22の操作により、署名者同一性証明部26が起動されたとする。
署名者同一性証明部26は、署名者用記憶部21内の素数位数qを参照し、メンバ秘密鍵(ki1)を隠すための乱数r∈Z をランダムに選択する(ST71)。
続いて、署名者同一性証明部26は、署名者用記憶部21内のグループ署名σ=(U,U,E,V,R,β,s,s,s)と、ステップST71で得られた乱数rに基づいて、零知識証明のコミットメントとなるパラメータR’=U^{r}を計算し(ST72)、検証者装置30へ送信する。
検証者装置30は、受信したコミットメントR’を署名者同一性検証部35へ送信して署名者同一性検証処理を起動する。
署名者同一性検証部35は、零知識証明のチャレンジとなる乱数δ∈Z をランダムに選択し(ST73)、署名者装置20へ送信する。
署名者同一性証明部26は、検証者装置30から受信したチャレンジδと、ステップST71で得られた乱数rと、署名者用記憶部21に保存されているリプレゼンテーションの一部ki1及び素数位数qとに基づいて、零知識証明のレスポンスとなるパラメータs’=r+δki1 mod qを計算し(ST74)、検証者装置30へ送信する。
署名者同一性検証部35は、検証者用記憶部31内のグループ署名σ、ステップST3で受信したコミットメントR’、ステップST73で生成したチャレンジδ及び受信したレスポンスs’に基づいて、R’=R^{−δ}U^{s’}が成り立つかを検証する(ST75)。
ステップST75の結果、検証式R’=R^{−δ}U^{s’}が成り立てば真(true)と判定して判定結果OKを通信部33及び出力部37に出力して終了し(ST76−OK)、検証式が成り立たなければ偽(false)と判定して判定結果NGを通信部33及び出力部37に出力して終了する(ST76−NG)。
(署名者検証処理及び署名者特定処理:図16乃至図17)
例えば不正の発覚や、サービス利用料金の徴収のためといった何らかの事情により、署名者を特定する必要が生じた場合について述べる。
グループ管理者装置10は、検証者装置30から送信されたメッセージmsg、グループ署名σ及び署名者特定要求を通信部13が受信してグループ管理者用記憶部11に保存すると共に、この署名者特定要求を通信部13が署名検証部16に送出する。
署名検証部16は、署名者特定要求を受けると、図16に示すように、グループ管理者用記憶部11内のグループ公開鍵gpk、メッセージmsg及びグループ署名σに基づいて、R’=F^{−β}G^{s}G^{s}、R’=U^{−β}G^{s}、R’=E^{−β}H^{s}G^{s}、R’=R^{−β}U^{s}を計算する(ST81〜ST84)。
続いて、署名検証部16は、グループ管理者用記憶部11内のグループ公開鍵gpk、メッセージmsg、グループ署名σ及び上記R’,R’,R’,R’に基づいて、ハッシュ値β=H(G,G,H,U,U,E,V,R,R’,R’,R’,R’,msg)を計算する(ST85)。なお、署名検証部16は、グループ署名σの値の範囲を所定の基準範囲に基づいて確認してもよい。
ステップST85の結果、検証式β=β’が成り立たなければ無効(invalid)と判定してNGを通信部13に出力する(ST89−NG)。通信部13は判定結果NGを検証者装置30に送信して処理を終了する。
一方、ステップST85の結果、検証式β=β’が成り立てば有効(valid)と判定し、署名検証部16は、グループ公開鍵gpk及びグループ署名σに基づいて、ハッシュ値α=H(U,U,E)を計算する(ST87)。
しかる後、署名検証部16は、グループ管理者用記憶部11内のグループ署名σ=(U,U,E,V,R,β,s,s,s)、署名者特定用秘密鍵ok=(x,x,y,y,z)及びハッシュ値αに基づいて、検証式U^{x+yα}U^{x+yα}=Vが成り立つか否かを検証し(ST88)、成り立たなければ無効(invalid)と判定してNGを通信部13に出力する(ST89−NG)。通信部13は判定結果NGを検証者装置30に送信して処理を終了する。
一方、ステップST88の結果、検証式が成り立てば有効(valid)と判定し、署名検証部16は、判定結果OK及び署名者特定要求を署名者特定部17に送出して、処理を終了する(ST89−OK)。
署名者特定部17は、判定結果OK及び署名者特定要求を受けると、図15に示すように、グループ管理者用記憶部11内のグループ署名σ及び署名者特定用秘密鍵okに基づいて、署名者特定情報T=E/U を計算し(ST91)、署名者特定情報Tを得る(ST92)。
続いて、署名者特定部17は、署名者特定情報Tに基づいてグループ管理者用記憶部11を検索し、署名者特定情報Tに対応するユーザ識別情報ID( )を特定してグループ管理者用記憶部11の署名者情報の一部として保存するとともに出力部19に出力し(ST93)、図18に示す署名者情報正当性証明生成処理を行う。さらに、署名者特定部17は、ユーザ識別情報ID( )に基づいてグループ管理者用記憶部11を検索し、ユーザ識別情報ID( )に対応するユーザ情報を出力部19に出力することもできる。
出力部19は、これらユーザ識別情報ID( )及びユーザ情報を表示出力する。
(署名者情報正当性証明生成処理:図18)
署名者特定部17は、入力されたユーザ識別情報ID=iに対応するリプレゼンテーションの一部ki1を選択決定する(ST101)。
次に、署名者特定部17は、グループ管理者用記憶部11内の素数位数qを参照し、メンバ秘密鍵(ki1)を隠すための乱数r∈Z をランダムに選択する(ST102)。
続いて、署名者特定部17は、グループ管理者用記憶部11内のグループ公開鍵gpk=(G,G,F,C,D,H,Hash)及びグループ署名σ=(U,U,E,V,R,β,s,s,s)と、ステップST102で得られた乱数rに基づいて、零知識証明の一部となるパラメータS=G^{r}、S=U^{r}を計算する(ST103〜ST104)。
また、署名者特定部17は、グループ管理者用記憶部11内のグループ公開鍵gpk=(G,G,F,C,D,H,Hash)、署名者特定情報T、ステップST103〜ST104で得られた零知識証明の一部となるパラメータS,Sと、グループ署名σとに基づいて、ハッシュ値γ=Hash(T,S,S,σ)を計算する(ST105)。
さらに、署名者特定部17は、このハッシュ値γと、ステップST102で得られた乱数rと、ステップST101で得られたリプレゼンテーションの一部ki1及び素数位数qとに基づいて、他の零知識証明の一部となるパラメータt=r+γki1 mod qを計算する(ST106)。
これにより、署名者特定部17は、最終的に得られた零知識証明τ=(γ,t)をグループ管理者用記憶部11の署名者情報の一部として保存するとともに出力部19に出力し(ST107)、処理を終了する。
この零知識証明τは、グループ署名σに含まれる暗号文(U,U,E,V,R)が署名者特定情報Tの正しい暗号文であることを示す零知識証明となっている。
以後、グループ管理者装置10は必要に応じて、グループ管理者の入力部12の操作により、グループ署名σ、その署名から特定されたユーザのID=iと署名者情報正当性証明τとをグループ管理者用記憶部11から読み出して出力部19に表示させ、通信部13から検証者装置30に送信する。これにより、リプレゼンテーションの一部ki1を示すことなく、署名者特定が正しく行われた旨を証明できる。
(署名者情報正当性証明検証処理:図19)
検証者装置30は、予め検証者の入力部32の操作により、公開パラメータ(q,gG,G,Hash)及びグループ公開鍵gpk=(G,G,F,C,D,H,Hash)をグループ管理者装置10から取得して検証者用記憶部31に保存しているとする。これにより、検証者装置30は、署名検証処理が可能となっている。
検証者装置30では、グループ管理者装置10から送信されたグループ署名σ、その署名から特定されたユーザのID=iとそれに対応する署名者特定情報T、署名者情報正当性証明τ及び検証要求を通信部33が受信して検証者用記憶部31に保存すると共に、この検証要求を通信部33が署名者情報正当性証明検証部36に送出する。
署名者情報正当性証明検証部36は、検証者用記憶部31内のグループ公開鍵gpk、グループ署名σ、署名者情報正当性証明τ及び署名者特定情報Tに基づいて、S’=T^{−γ}G^{t}、S’=R^{−γ}U^{t}を計算する(ST111〜ST112)。
続いて、署名検証部34は、グループ公開鍵gpk、グループ署名σ、署名者特定情報T及び上記S’,S’に基づいて、ハッシュ値γ’=Hash(T,S’,S’,σ)を計算する(ST113)。なお、署名者情報正当性証明検証部36は、署名者情報正当性証明τの値の範囲を所定の基準範囲に基づいて確認してもよい。
ステップST113の結果、検証式γ=γ’が成り立てば有効(valid)と判定して判定結果OKを通信部33及び出力部37に出力し(ST115−OK)、検証式が成り立たなければ無効(invalid)と判定して判定結果NGを通信部33及び出力部37に出力する(ST115−NG)。
通信部33は判定結果OK/NGをグループ管理者装置10に送信して処理を終了する。出力部37は、判定結果OK/NGを表示出力する。
(リボケーションリスト生成処理:図20)
グループ管理者装置10は、予め検証者の入力部12の操作により、リボークされたユーザのIDの集合RUが入力されてグループ管理者用記憶部11に書き込まれているものとする。これにより、グループ管理者装置10は、リボケーションリスト生成処理が可能となっている。
リボケーションリスト生成部18は、リボークされたユーザのIDの集合RUに含まれる全てのIDについてリボケーションリストの生成処理済みか否かを確認し(ST121)、処理済みであれば処理結果のリボケーションリストRLをグループ管理者用記憶部11に保存する(ST124)。そうでなければ処理を続行する。
続いて、リボケーションリスト生成部18は、リボークされたユーザのIDの集合RUに含まれる未処理のID=iを選択し(ST122)、選択したユーザID(i)に対応するリボケーショントークンgrt[i]をメンバ情報から選択決定し(ST123)、このgrt[i]をリボケーションリストRLに追加して(ST124)、次のユーザID(i)を確認するようにステップST121に戻る。
<実施形態方式の安全性>
ここでは実施形態方式の安全性を示す。
[定理1]提案グループ署名方式はランダムオラクルモデルにおいてDDH問題が困難であるという仮定の下で安全である。
[補題1]実施形態方式は正当性(correctness)を持つ。
[補題2]実施形態方式はランダムオラクルモデルにおいてDDH問題が困難であるという仮定の下で匿名性(anonymity)を持つ。
[補題3]実施形態方式はランダムオラクルモデルにおいて離散対数問題が困難であるという仮定の下で追跡可能性(traceability)を持つ。
[補題4]実施形態方式はランダムオラクルモデルにおいて離散対数問題が困難であるという仮定の下で弱濡れ衣回避性(Weak Non-Frameability)を持つ。
<実施形態方式の効率>
(RSAベースの方式との効率比較)
実施形態方式の効率を評価するために、通常の電子署名であるRSA署名方式の署名生成の計算量を基準にしたときの従来のグループ署名方式及び実施形態方式の計算量とデータ長を考える。
従来のグループ署名方式としては非常に高速な[CG04]方式と比較する。[CG04]方式は、[ACJT00]方式と比較しても26倍以上も高速である。[CG04]方式には3つの方式があるが、そのうちリボケーション機能を持たない基本(Basic)方式とリボケーション機能を持つVLR(原文ではFull-Revocation)方式との2つと比較する。
まず、計算量の比較方法の考え方を以下にまとめる。
比較する方式の計算量の大部分はベキ乗剰余演算にかかる。このため、ベキ乗剰余演算以外の計算量を無視し、ベキ乗剰余演算の計算量に注目する。
ベキ乗剰余演算の計算量は(法のビット長)×ベキ指数のビット長に比例するため、法のビット長が同じ場合には全体の計算量がベキ指数のビット長の総和に比例する。
また、法の素因数分解を知っている場合、中国人剰余定理(Chinese remainder theorem:CRT)を利用できるため、計算量は素因数分解を知らない場合に対してRSAモジュラス(modulus(n=pq、p,q:素数(prime)、p ≒q))の場合で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)でも利用されている値であり、2048ビットのRSAモジュラスと同程度のセキュリティパラメータとみなせる。楕円曲線では、これと同等のセキュリティパラメータである224ビットの素数から生成される楕円曲線を利用する。
以上を考慮したうえで、RSA署名方式、[CG04]方式、本実施形態方式の主な処理の計算量とデータ長を図21に示す。なお、署名生成計算量及び署名検証計算量は、ベキ指数のビット長の総和を示しており、CRTを利用可能な場合には1/4で計算している。RSA方式の署名検証計算量は、公開鍵dの長さに依存し、一般に小さい。RSA方式の署名鍵長は、素数p,qと秘密鍵eを持つ場合の値である。RSA方式の検証鍵長は、公開鍵dを小さくした場合の値である。
本実施形態方式の署名生成計算量はRSA方式の4倍であるので、RSA方式の約8倍の[CG04]方式に比べ、低く抑えられている。このため、本実施形態方式の署名生成は高速に実行することができる。
本実施形態方式の署名鍵長(メンバ秘密鍵長)は、RSA方式の1/9倍であるので、RSA方式の約1.1倍の[CG04]方式に比べ、短くなっている。
なお、本実施形態方式のグループ秘密鍵長は、[CG04]方式よりも長くなっている。しかしながら、グループ秘密鍵長の増加は、グループ管理者装置10以外の装置20〜20,30の計算量には影響せず、一般的にはグループ管理者装置は高性能・高信頼な計算機であるなど署名者装置や検証者装置と比べて計算量的な制約が少ない場合が多く、実用上問題ない。
また、本実施形態方式は、楕円曲線暗号方式で実装した場合、署名長がRSA方式とほぼ同じとなるので、[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]方式では、本実施形態方式のような鍵長の短縮化及び演算の高速化が不可能となっている。
(双線形群ベースの方式との効率比較)
双線形写像を利用する[FI05]方式と[DP06]方式は双線形写像の実装によって計算速度が大きく異なるため単純に比較することはできないが、これらの方式は現在最速の双線形写像実装技術を考慮しても[CG04]方式と同程度の速度である。したがって、上述の[CG04]方式との比較結果から、これらの方式と比べても本実施形態方式が高速であることが分かる。
上述したように本実施形態によれば、素数位数qの乗法巡回群gGを用いて完全な離散対数ベースのグループ署名方式とし、且つリプレゼンテーションki1,ki2をメンバ秘密鍵とし、リボークされたメンバのリプレゼンテーションの一部ki1をリボケーションリストに含むグループ署名方式を実現したことにより、リボケーション機能を実現しつつ、従来の[CG04]方式に比べ、計算量を減らして計算速度を向上することができる。
例えば、本実施形態によれば、完全な離散対数ベースの方式であるため、図21に示した通り、RSAベースの[CG04]方式では不可能な位に、非常に高速でデータ長が短いグループ署名方式を実現することができる。
補足すると、グループ管理者装置10においては、グループ公開鍵に値G,G,Fを含むことにより、効率よくグループ署名を生成することができる。また、グループ秘密鍵に値a,bを含むことにより、メンバ数n個のメンバ秘密鍵を効率よく生成することができる。
署名者装置20においては、リプレゼンテーションの一部ki1に基づく署名特定情報Tを用いることにより、零知識証明を効率よく生成することができる。すなわち、リプレゼンテーション自体ではなく、リプレゼンテーションから一意に計算される値を署名者特定情報として用いるので、零知識証明の生成及び検証効率を向上できる。
検証者装置30においては、リボケーションリストに含まれるリプレゼンテーションの一部ki1に基づいてリボーク検証処理を効率よく行うことができる。
検証者装置30及びグループ管理者装置10においては、零知識証明を含むグループ署名σにより、零知識証明を効率よく検証でき、もって、グループ署名σを効率よく検証することができる。
さらに、グループ管理者装置10においては、グループ署名σが署名者特定情報Tの暗号文データを含むことにより、暗号文データを復号するだけで署名者特定情報Tを得られるので、署名者を効率よく特定することができる。
また、本実施形態によれば、DDH問題に基づく最初の実用的グループ署名方式を実現することができる。
また、本実施形態によれば、署名生成におけるベキ乗演算の底が固定されるので、指数同時乗算法の計算テーブルを事前に計算しておくことにより、効率よくベキ乗演算を実行することができる。
また、本実施形態によれば、弱濡れ衣回避性(Weak Non-Frameability)と自己追跡性も実現されている。
(第2の実施形態)
図22及び図23は本発明の第2の実施形態に係るメンバ秘密鍵生成者装置及びその記憶部の構成を示す模式図である。図24及び図25は署名者特定装置及びその記憶部の構成を示す模式図である。図26及び図27はリボケーション管理者装置及びその記憶部の構成を示す模式図である。これら図22乃至図27においては、前述した図面と同一機能には同一符号を付してその詳しい説明を省略し、ここでは異なる部分について主に述べる。なお、以下の各実施形態も同様にして重複した説明を省略する。
始めに、第1の実施形態におけるグループ管理者装置10は、図2に示したように、汎用的に利用される機能である入力部12、出力部19及び通信部13の他に、グループ鍵生成部14、メンバ秘密鍵生成部15、署名検証部16、署名者特定部17及びリボケーションリスト生成部18のように複数の異なる機能を持っている。これに対し、第2の実施形態は、図2に示したグループ管理者装置10から、図22、図24及び図26に示すように、メンバ秘密鍵生成装置101、署名者特定装置102及びリボケーション管理者装置103を分離した構成となっている。なお、図示しないが、各装置101〜103を分離した後のグループ管理者装置10’は、グループ管理者用記憶部11、入力部12、通信部13、グループ鍵生成部14及び出力部19を備えた構成となる。
ここで、メンバ秘密鍵生成者装置101は、図22に示すように、メンバ秘密鍵生成者用記憶部111、入力部12、通信部13、メンバ秘密鍵生成部15及び出力部19を備えている。補足すると、メンバ秘密鍵生成者装置101は、メンバ秘密鍵生成に特化した装置であり、グループ鍵生成部14、署名検証部16、署名者特定部17及びリボケーションリスト生成部18を持たない。
また、メンバ秘密鍵生成者用記憶部111は、図23に示すように、公開パラメータ、グループ公開鍵、メンバ秘密鍵生成用秘密鍵ik、メンバ情報(ユーザ識別情報、メンバ秘密鍵、リボケーショントークン、署名者特定情報)、ユーザ管理情報を保存している。補足すると、メンバ秘密鍵生成者用記憶部111は、署名者特定用秘密鍵、メッセージ、グループ署名、署名者情報及び計算テーブルを保存しない。
このようなメンバ秘密鍵生成者装置101は、グループ署名方式を用いる署名者特定装置102、リボケーション管理者装置103、署名者装置20及び検証者装置30に通信可能となっている。
また、メンバ秘密鍵生成者用記憶部111は、例えば、グループ署名方式に用いる素数位数q、及びqの乗法巡回群gGの生成元Gを含む公開パラメータを記憶し、値a,b∈Z を含むグループ秘密鍵と、値G,F及び生成元Gを含むグループ公開鍵(但し、G=G 、F=G )とを記憶し、ユーザ識別情報ID(i)に関連付けてメンバ秘密鍵(ki1,ki2)、当該メンバ秘密鍵のリプレゼンテーションの一部ki1及び署名者特定情報Tiを記憶する。また、リボークされたメンバに対応するリプレゼンテーションの一部ki1を含むリボケーションリストをリボケーション管理者装置103からメンバ秘密鍵生成者装置101が受信した場合、メンバ秘密鍵生成者用記憶部111は、当該リボケーションリストを記憶する。なお、いずれのメンバもリボークされていない場合、リボケーションリストは生成されていないため、いずれの装置101〜103,30にも記憶されていない。
メンバ秘密鍵生成者装置101のメンバ秘密鍵生成部15は、例えば、ユーザ識別情報ID(i)毎に、グループ秘密鍵、グループ公開鍵及び関係式ki1=b−aki2 mod qに基づいて、関係式F=G^{ki1}G^{ki2}を満たすリプレゼンテーションki1,ki2からなるメンバ秘密鍵を算出する機能と、メンバ秘密鍵及び生成元Gに基づいて、署名者特定情報T=G^{ki1}を算出する機能と、算出したメンバ秘密鍵及び署名者特定情報Tをユーザ識別情報ID(i)に関連付けてメンバ秘密鍵生成者用記憶部111に書き込む機能とをもっている。
メンバ秘密鍵生成者装置101の通信部13は、例えば、グループ署名方式におけるグループ署名を生成するための公開パラメータ、グループ公開鍵、メンバ秘密鍵及び署名者特定情報Tを署名者装置20に送信する機能と、グループ署名方式における署名者を特定するための公開パラメータ、グループ公開鍵及び署名者特定情報Tを署名者特定装置102に送信する機能と、メンバ秘密鍵生成者用記憶部101内のユーザ識別情報ID(i)及びリプレゼンテーションの一部ki1をリボケーション管理者装置103に送信する機能と、グループ署名方式におけるグループ署名を検証するための公開パラメータ及びグループ公開鍵を検証者装置30に送信する機能とをもっている。
署名者特定装置102は、図24に示すように、署名者特定装置用記憶部112、入力部12、通信部13、署名検証部16、署名者特定部17及び出力部19を備えている。補足すると、署名者特定装置102は、署名者特定に特化した装置であり、メンバ秘密鍵生成部15及びリボケーションリスト生成部18を持たない。
また、署名者特定装置用記憶部112は、図25に示すように、公開パラメータ、グループ公開鍵、署名者特定用秘密鍵ok、メンバ情報(ユーザ識別情報、リボケーショントークン、署名者特定情報)、メッセージ、グループ署名σ、計算テーブル、署名者情報を保存している。補足すると、署名者特定装置用記憶部112は、メンバ秘密鍵生成用秘密鍵、メンバ情報のメンバ秘密鍵及びユーザ管理情報を保存しない。
このような署名者特定装置102は、グループ署名方式を用いるメンバ秘密鍵生成者装置101、リボケーション管理者装置103及び検証者装置30に通信可能となっている。
署名者特定装置用記憶部112は、例えば、グループ署名方式に用いる素数位数q、及びqの乗法巡回群gGの生成元Gを含む公開パラメータを記憶し、値x,x,y,y,z∈Z を含む署名者特定用秘密鍵と、値G,F,C,D,H、生成元G及びハッシュ関数Hashを含むグループ公開鍵(但し、G=G 、F=G 、a,b∈Z 、C=G^{x}G^{x}、D=G^{y}G^{y}、H=G )とを記憶し、通信部13が受信したユーザ識別情報ID(i)、リプレゼンテーションの一部ki1及び署名者特定情報Tiを互いに関連付けて記憶する。
また、リボークされたメンバに対応するリプレゼンテーションの一部ki1を含むリボケーションリストをリボケーション管理者装置103から署名者特定装置102が受信した場合、署名者特定装置用記憶部112は、当該リボケーションリストを記憶する。
署名者特定装置102の通信部13は、例えば、ユーザ識別情報ID(i)毎に、値a,bを含むメンバ秘密鍵生成用秘密鍵、グループ公開鍵及び関係式ki1=b−aki2 mod qに基づいて生成され且つ関係式F=G^{ki1}G^{ki2}を満たすリプレゼンテーションki1,ki2からなるメンバ秘密鍵及び生成元Gに基づいて算出された署名者特定情報T=G^{ki1}と、リプレゼンテーションの一部ki1と、ユーザ識別情報ID(i)とをメンバ秘密鍵生成者装置101から受信する機能をもっている。
署名者特定装置102の署名検証部16は、検証者装置30からメッセージと、値E,Uを含むグループ署名(但し、E=H、U=G 、rは乱数)と、署名者特定要求とを通信部13により受けると、公開パラメータ及びグループ公開鍵に基づいて、当該グループ署名の正当性を検証する機能をもっている。
署名者特定装置102の署名者特定部17は、署名検証部16による検証の結果、グループ署名が正当性を示すとき、このグループ署名及び署名者特定用秘密鍵に基づいて、署名者特定情報T=E/U を計算する機能と、計算した署名者特定情報Tに基づいて署名者特定装置用記憶部112を検索し、署名者特定情報Tに対応するユーザ識別情報ID(i)を特定する機能とをもっている。
署名者特定装置102の出力部19は、署名者特定部17により特定したユーザ識別情報ID(i)を出力する機能をもっている。
リボケーション管理者装置103は、図26に示すように、リボケーション管理者用記憶部113、入力部12、通信部13、リボケーションリスト生成部18及び出力部19を備えている。補足すると、リボケーション管理者装置103は、リボケーション管理に特化した装置であり、メンバ秘密鍵生成部15、署名検証部16及び署名者特定部17を持たない。
また、リボケーション管理者用記憶部113は、図27に示すように、メンバ情報(ユーザ識別情報、リボケーショントークン)を保存している。補足すると、リボケーション管理者用記憶部113は、公開パラメータ、グループ公開鍵、メンバ秘密鍵生成用秘密鍵、署名者特定用秘密鍵、メンバ情報のメンバ秘密鍵と署名者特定情報、ユーザ管理情報、メッセージ、グループ署名、署名者情報及び計算テーブルを保存しない。
このようなリボケーション管理者装置103は、グループ署名方式を用いるメンバ秘密鍵生成者装置101、署名者特定装置102、署名者装置20及び検証者装置30に通信可能となっている。
リボケーション管理者用記憶部113は、通信部13により受信したユーザ識別情報ID(i)及びリプレゼンテーションの一部ki1を互いに関連付けて記憶する。
リボケーション管理者装置103のリボケーションリスト生成部18は、例えば、リボークされたメンバを示すユーザ識別情報ID(i)が入力部12から入力されたとき、この入力されたユーザ識別情報ID(i)に基づいて、リボケーション管理者用記憶部113内の対応するリプレゼンテーションの一部ki1を含むリボケーションリストを生成する機能をもっている。
リボケーション管理者装置103の通信部13は、例えば、グループ署名方式に用いる素数位数q、及びqの乗法巡回群gGの生成元Gを含む公開パラメータと、値a,b∈Z を含むメンバ秘密鍵生成用秘密鍵と、値G,F及び生成元Gを含むグループ公開鍵(但し、G=G 、F=G )とに基づいて、ユーザ識別情報ID(i)毎に、関係式ki1=b−aki2 mod qに基づいて、関係式F=G^{ki1}G^{ki2}を満たすリプレゼンテーションki1,ki2からなるメンバ秘密鍵がメンバ秘密鍵生成者装置102により生成されたとき、互いに関連する当該リプレゼンテーションの一部ki1とユーザ識別情報ID(i)とをメンバ秘密鍵生成者装置102から受信する機能と、リボケーションリスト生成部18により生成されたリボケーションリストを検証者装置30に送信する機能とをもっている。
以上のような構成によれば、グループ管理者が持つ機能ごとに装置を分割できる。第1の実施形態におけるグループ管理者装置10は、グループ鍵生成部14、メンバ秘密鍵生成部15、署名検証部16、署名者特定部17及びリボケーションリスト生成部18のように複数の異なる機能を持っているが、署名検証と署名者特定を除けば一般にこれらの機能が利用されるタイミング、頻度、負荷はまちまちである。そのため、負荷分散やシステムの運用・管理の観点から機能ごとに装置を分割できることが望ましい場合がある。また、これらの機能に必要最低限の情報を管理させることでより高いセキュリティを実現するという効果も期待できる。例えばリボケーション管理者装置103や署名者特定装置102を利用してもメンバ秘密鍵を生成できず、不正な署名の偽造もできない。
また、グループ管理者機能をメンバ秘密鍵生成者、署名者特定者、リボケーション管理者に分割でき、従来の濡れ衣回避性(Non-Frameability)を少し弱めた弱濡れ衣回避性(Weak Non-Frameability)と自己追跡性(Self-Traceability)も同時に実現できることで、より高いセキュリティと柔軟なシステム運用・管理を実現できる。
(第3の実施形態)
図28及び図29は本発明の第3の実施形態に係る署名者同一性証明装置及びその記憶部の構成を示す模式図である。
始めに、第1の実施形態における署名者装置20は、図4に示したように、汎用的に利用される機能である入力部22、出力部27及び通信部23の他に、メッセージ作成部24、グループ署名生成部25、署名者同一性証明部26のように複数の異なる機能を持っている。これに対し、第3の実施形態は、図4に示した署名者装置20から、図28及び図29に示すように、署名者同一性証明装置201を抽出した構成となっている。
署名者同一性証明装置201は、図28に示すように、署名者同一性証明用秘密情報記憶部211、通信部23及び署名者同一性証明部26を備えている。補足すると、署名者同一性証明装置201は、署名者同一性証明に特化した装置であり、入力部22、出力部27、メッセージ作成部24及びグループ署名生成部25を持たない。
また、署名者同一性証明用秘密情報記憶部211は、図29に示すように、メンバ秘密鍵の一部であるki1を保存する。補足すると、署名者同一性証明用秘密情報記憶部211は、公開パラメータ、グループ公開鍵、計算テーブル、メンバ秘密鍵の他の一部ki2、署名者特定情報、メッセージ及びグループ署名を保存しない。
このような署名者同一性証明装置201は、グループ署名方式を用いるグループ管理者装置10、署名者装置20及び検証者装置30に通信可能となっている。
署名者同一性証明用秘密情報記憶部211は、ユーザ識別情報ID(i)毎に、グループ管理者装置10により生成されたメンバ秘密鍵内のリプレゼンテーションの一部ki1を記憶する。
署名者同一性証明装置201の署名者同一性証明部26は、例えば、グループ署名方式に用いる素数位数q、及びqの乗法巡回群gGの生成元Gを含む公開パラメータに基づいて、乱数r∈Z を選択する機能と、値R,Uを含むグループ署名σ(但し、R=T 、U=G 、T=G ^{k i1 、rは乱数)を通信部23が署名者装置20から受けると、当該グループ署名σ内の値U及び選択した乱数rに基づいて、零知識証明のコミットメントR’=U^{r}を計算する機能と、チャレンジとなる乱数δ、乱数r、リプレゼンテーションの一部ki1及び素数位数qに基づいて、ゼロ知識証明のレスポンスとなるパラメータs’=r+δki1 mod qを計算する機能とをもっている。
署名者同一性証明装置201の通信部23は、署名者同一性証明部26により計算したコミットメントR’を検証者装置30に送信する機能と、ゼロ知識証明のチャレンジとなる乱数δ∈Z を検証者装置30から受信する機能と、検証式R’=R^{−δ}U^s’を検証可能な検証者装置30に対し、署名者同一性証明部26により計算したパラメータs’を送信する機能とをもっている。
以上のような構成によれば、署名者装置20から署名者同一性証明装置201を独立させることができる。署名者同一性証明用秘密情報記憶部211にはメンバ秘密鍵の一部であるki1しか保存せず、メンバ秘密鍵の一部ki1だけでは署名を生成できないため、仮に署名者同一性証明装置201が紛失・盗難にあって不正に解析されたとしてもユーザの被害を最低限に抑えることができる。これにより、自宅で安全に管理しているPC(Personal Computer)を署名者装置20として用いて署名生成を行い、持ち運びの容易な携帯電話やICカードを署名者同一性証明装置201として用いて署名者同一性証明処理を行うといったシステム運用も可能となる。
また、署名生成者機能を署名生成者、署名者同一性証明者に分割でき、従来の濡れ衣回避性(Non-Frameability)を少し弱めた弱濡れ衣回避性(Weak Non-Frameability)と自己追跡性(Self-Traceability)も同時に実現できることで、より高いセキュリティと柔軟なシステム運用・管理を実現できる。
なお、上記実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスクなど)、光ディスク(CD−ROM、DVDなど)、光磁気ディスク(MO)、半導体メモリなどの記憶媒体に格納して頒布することもできる。
また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であっても良い。
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワークソフト等のMW(ミドルウェア)等が上記実施形態を実現するための各処理の一部を実行しても良い。
さらに、本発明における記憶媒体は、コンピュータと独立した媒体に限らず、LANやインターネット等により伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
また、記憶媒体は1つに限らず、複数の媒体から上記実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。
尚、本発明におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、上記実施形態における各処理を実行するものであって、パソコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。
また、本発明におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。
なお、本願発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組合せてもよい。
本発明の一実施形態に係るグループ署名システムの構成を示す模式図である。 同実施形態におけるグループ管理者装置の構成を示す模式図である。 同実施形態におけるグループ管理者用記憶部の構成を示す模式図である。 同実施形態における署名者装置の構成を示す模式図である。 同実施形態における署名者用記憶部の構成を示す模式図である。 同実施形態における検証者装置の構成を示す模式図である。 同実施形態における検証者用記憶部の構成を示す模式図である。 同実施形態における鍵ペアの生成処理を説明するためのフローチャートである。 同実施形態におけるメンバ秘密鍵の生成処理を説明するためのフローチャートである。 同実施形態における署名者特定情報の算出処理を説明するためのフローチャートである。 同実施形態における暗号化処理を説明するためのフローチャートである。 同実施形態における零知識証明の算出処理を説明するためのフローチャートである。 同実施形態における署名検証処理を説明するためのフローチャートである。 同実施形態におけるリボーク検証処理を説明するためのフローチャートである。 同実施形態における署名者同一性証明・検証処理を説明するためのシーケンス図である。 同実施形態における署名検証処理を説明するためのフローチャートである。 同実施形態における署名者特定処理を説明するためのフローチャートである。 同実施形態における署名者情報正当性証明生成処理を説明するためのフローチャートである。 同実施形態における署名者情報正当性証明検証処理を説明するためのフローチャートである。 同実施形態におけるリボケーションリスト生成処理を説明するためのフローチャートである。 同実施形態の効果を従来と比較して示す図である。 同実施形態におけるメンバ秘密鍵生成者の構成を示す模式図である。 同実施形態におけるメンバ秘密鍵生成者用記憶部の構成を示す模式図である。 同実施形態における署名者特定装置の構成を示す模式図である。 同実施形態における署名者特定装置用記憶部の構成を示す模式図である。 同実施形態におけるリボケーション管理者装置の構成を示す模式図である。 同実施形態におけるリボケーション管理者用記憶部の構成を示す模式図である。 同実施形態における署名者同一性証明装置の構成を示す模式図である。 同実施形態における署名者同一性証明用秘密情報記憶部の構成を示す模式図である。
符号の説明
10…グループ管理者装置、11…グループ管理者用記憶部、12,22,32…入力部、13,23,33…通信部、14…グループ鍵生成部、15…メンバ秘密鍵生成部、16,34…署名検証部、17…署名者特定部、18…リボケーションリスト生成部、19,27,37…出力部、20〜20…署名者装置、21…署名者用記憶部、24…メッセージ作成部、25…グループ署名生成部、26,35…署名者同一性証明部、30…検証者装置、31…検証者用記憶部、36…署名者情報正当性証明検証部。

Claims (11)

  1. 互いに通信可能なグループ管理者装置(10)、署名者装置(20)及び検証者装置(30)を備え、各装置がグループ署名方式を用いるグループ署名システムであって、
    前記グループ管理者装置は、
    前記グループ署名方式に用いる素数位数q、及び前記qの乗法巡回群gGの生成元Gを含む公開パラメータを記憶するパラメータ記憶手段(11)と、
    前記パラメータ記憶手段内の公開パラメータに基づいて、値a,b∈Z を含むグループ秘密鍵と、第1関係式G=G 及び第2関係式=G を満たす値G,F及び前記生成元Gを含むグループ公開鍵とを生成するグループ鍵生成手段(14)と、
    前記グループ秘密鍵、前記グループ公開鍵及び第3関係式ki1=b−aki2 mod qに基づいて、第4関係式F=G^{ki1}G^{ki2}を満たすリプレゼンテーションki1,ki2からなるメンバ秘密鍵を算出するメンバ秘密鍵生成手段(但し、^はベキ乗を表す記号)(15)と、
    前記メンバ秘密鍵及び前記生成元 に基づいて、署名者特定情報T=G^{ki1}を算出する署名者特定情報算出手段(15)と、
    リボークされたメンバに対応するリプレゼンテーションの一部ki1を含むリボケーションリストを生成するリボケーションリスト生成手段(18)と、
    前記リボケーションリストを前記検証者装置に送信する手段(13)と、を備えており、
    前記署名者装置は、
    前記グループ署名方式に用いる素数位数q、及び前記qの乗法巡回群Gの生成元 を含む公開パラメータと、前記グループ公開鍵、前記メンバ秘密鍵、前記署名者特定情報T及びメッセージを記憶する署名者用記憶手段(21)と、
    前記署名者用記憶手段内の公開パラメータ及びグループ公開鍵に基づいて前記署名者特定情報Tを暗号化し、当該署名者特定情報Tの暗号文データであって、値R,U を含む前記暗号文データ(但し、R=T 、U =G 、rは乱数)を生成する暗号文生成手段(25)と、
    前記署名者用記憶手段内の公開パラメータ、前記グループ公開鍵、前記メンバ秘密鍵及び前記メッセージと、前記署名者特定情報Tの暗号文データとに基づいて、当該メンバ秘密鍵を知っていて、且つ、前記暗号文データが当該署名者特定情報Tを基に正しく生成されていることを示す零知識証明を生成する零知識証明生成手段(25)と、
    前記暗号文データ及び前記零知識証明からなるグループ署名と前記メッセージとを前記検証者装置に送信する手段(23)と、を備えており、
    前記検証者装置は、
    前記グループ署名方式に用いる素数位数q、及び前記qの乗法巡回群Gの生成元 を含む公開パラメータと前記グループ公開鍵とを記憶する検証者用記憶手段(31)と、
    前記グループ管理者装置から前記リボケーションリストを前記署名者装置から前記グループ署名及びメッセージをそれぞれ受信する手段(33)と、
    前記受信したリボケーションリストとグループ署名及びメッセージと前記検証者用記憶手段内の公開パラメータ及びグループ公開鍵とに基づいて、当該グループ署名の正当性を検証する検証手段(34)と、
    前記検証した結果を前記署名者装置に送信する手段(33)と、
    を備えており、
    前記検証手段は、
    前記リボケーションリストに含まれる未確認の値k i1 を選択して検証式R=U ^{k i1 }が成り立つかどうかを確認し、前記検証式が成り立てば無効と判定するリボーク検証手段
    を備えたことを特徴とするグループ署名システム。
  2. グループ署名方式を用いる署名者装置(20)及び検証者装置(30)に通信可能なグループ管理者装置(10)であって、
    前記グループ署名方式に用いる素数位数q、及び前記qの乗法巡回群gGの生成元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)と、
    リボークされたメンバに対応する前記リプレゼンテーションの一部ki1を含むリボケーションリストを生成するリボケーションリスト生成手段(18)と、
    前記グループ署名方式におけるグループ署名を検証するための前記公開パラメータ、前記グループ公開鍵及び前記リボケーションリストを前記検証者装置に送信する手段(13)と、
    を備え
    前記グループ署名は、前記署名者装置により生成された値R,U を含んでおり(但し、R=T 、U =G 、rは乱数)、
    前記リボケーションリストは、前記検証者装置において、当該リボケーションリストに含まれる未確認の値k i1 を選択して検証式R=U ^{k i1 }が成り立つかどうかを確認し、前記検証式が成り立てば無効と判定するリボーク検証処理に用いられる
    ことを特徴とするグループ管理者装置。
  3. グループ署名方式を用いるグループ管理者装置(10)及び検証者装置(30)に通信可能な署名者装置(20)であって、
    前記グループ署名方式に用いる素数位数q、及び前記qの乗法巡回群gGの生成元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の暗号文データであって、値R,U を含む前記暗号文データ(但し、R=T 、U =G 、rは乱数)を生成する暗号文生成手段(25)と、
    前記署名者用記憶手段内の公開パラメータ、前記グループ公開鍵、前記メンバ秘密鍵及び前記メッセージと、前記署名者特定情報Tの暗号文データとに基づいて、当該メンバ秘密鍵を知っていて、且つ、前記暗号文データが当該署名者特定情報Tを基に正しく生成されていることを示す零知識証明を生成する零知識証明生成手段(25)と、
    前記暗号文データ及び前記零知識証明からなるグループ署名と前記メッセージとを前記検証者装置に送信する手段(23)と、
    を備え
    前記グループ署名に含まれる値R,U は、前記検証者装置において、リボークされたメンバに対応する前記リプレゼンテーションの一部k i1 を含むリボケーションリストを前記グループ管理者装置から受けたときに、当該リボケーションリストに含まれる未確認の値k i1 を選択して検証式R=U ^{k i1 }が成り立つかどうかを確認し、前記検証式が成り立てば無効と判定するリボーク検証処理に用いられる
    ことを特徴とする署名者装置。
  4. グループ署名方式を用いるグループ管理者装置(10)及び署名者装置(20)に通信可能な検証者装置(30)であって、
    前記グループ署名方式に用いる素数位数q、及び前記qの乗法巡回群gGの生成元Gを含む公開パラメータと、前記公開パラメータに基づいて、値a,b∈Z と第1関係式G=G 及び第2関係式F=G とを満たすように生成された値G,F及び前記生成元Gを含むグループ公開鍵とリボークされたメンバに対応するリプレゼンテーションの一部ki1を含むリボケーションリストとを前記グループ管理者装置から受信する手段(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が前記署名者装置により暗号化されたデータであって、値R,U を含む前記暗号文データ(但し、R=T 、U =G 、rは乱数)であり、
    前記零知識証明は、前記公開パラメータ、前記グループ公開鍵、前記メンバ秘密鍵及びメッセージと、前記署名者特定情報Tの暗号文データとに基づいて前記署名者装置により生成されたデータであり、
    前記検証手段は、
    前記リボケーションリストに含まれる未確認の値k i1 を選択して検証式R=U ^{k i1 }が成り立つかどうかを確認し、前記検証式が成り立てば無効と判定するリボーク検証手段
    を備えたことを特徴とする検証者装置。
  5. グループ署名方式を用いる署名者装置(20)及び検証者装置(30)に通信可能なグループ管理者装置(10)のプログラムであって、
    前記グループ管理者装置のコンピュータを、
    前記グループ署名方式に用いる素数位数q、及び前記qの乗法巡回群gGの生成元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)、
    リボークされたメンバに対応する前記リプレゼンテーションの一部ki1を含むリボケーションリストを生成するリボケーションリスト生成手段(18)と、
    前記グループ署名方式におけるグループ署名を検証するための前記公開パラメータ、前記グループ公開鍵及び前記リボケーションリストを前記検証者装置に送信する手段(13)、
    として機能させ
    前記グループ署名は、前記署名者装置により生成された値R,U を含んでおり(但し、R=T 、U =G 、rは乱数)、
    前記リボケーションリストは、前記検証者装置において、当該リボケーションリストに含まれる未確認の値k i1 を選択して検証式R=U ^{k i1 }が成り立つかどうかを確認し、前記検証式が成り立てば無効と判定するリボーク検証処理に用いられる
    めのプログラム。
  6. グループ署名方式を用いるグループ管理者装置(10)及び検証者装置(30)に通信可能な署名者装置(20)のプログラムであって、
    前記署名者装置のコンピュータを、
    前記グループ署名方式に用いる素数位数q、及び前記qの乗法巡回群gGの生成元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の暗号文データであって、値R,U を含む前記暗号文データ(但し、R=T 、U =G 、rは乱数)を生成する暗号文生成手段(25)、
    前記メモリ内の公開パラメータ、前記グループ公開鍵、前記メンバ秘密鍵及び前記メッセージと、前記署名者特定情報Tの暗号文データとに基づいて、当該メンバ秘密鍵を知っていて、且つ、前記暗号文データが当該署名者特定情報Tを基に正しく生成されていることを示す零知識証明を生成する零知識証明生成手段(25)、
    前記暗号文データ及び前記零知識証明からなるグループ署名と前記メッセージとを前記検証者装置に送信する手段(23)、
    として機能させ
    前記グループ署名に含まれる値R,U は、前記検証者装置において、リボークされたメンバに対応する前記リプレゼンテーションの一部k i1 を含むリボケーションリストを前記グループ管理者装置から受けたときに、当該リボケーションリストに含まれる未確認の値k i1 を選択して検証式R=U ^{k i1 }が成り立つかどうかを確認し、前記検証式が成り立てば無効と判定するリボーク検証処理に用いられる
    めのプログラム。
  7. グループ署名方式を用いるグループ管理者装置(10)及び署名者装置(20)に通信可能な検証者装置(30)のプログラムであって、
    前記検証者装置のコンピュータを、
    前記グループ署名方式に用いる素数位数q、及び前記qの乗法巡回群gGの生成元Gを含む公開パラメータと、前記公開パラメータに基づいて、値a,b∈Z と第1関係式G=G 及び第2関係式F=G とを満たすように生成された値G,F及び前記生成元Gを含むグループ公開鍵とリボークされたメンバに対応するリプレゼンテーションの一部ki1を含むリボケーションリストとを前記グループ管理者装置から受信する手段(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が前記署名者装置により暗号化されたデータであって、値R,U を含む前記暗号文データ(但し、R=T 、U =G 、rは乱数)であり、
    前記零知識証明は、前記公開パラメータ、前記グループ公開鍵、前記メンバ秘密鍵及びメッセージと、前記署名者特定情報Tの暗号文データとに基づいて前記署名者装置により生成されたデータであり、
    前記検証手段は、
    前記リボケーションリストに含まれる未確認の値k i1 を選択して検証式R=U ^{k i1 }が成り立つかどうかを確認し、前記検証式が成り立てば無効と判定するリボーク検証手段
    を含んでいることを特徴とするプログラム。
  8. グループ署名方式を用いる署名者特定装置(102)、リボケーション管理者装置(103)、署名者装置(20)及び検証者装置(30)に通信可能なメンバ秘密鍵生成者装置(101)であって、
    前記グループ署名方式に用いる素数位数q、及び前記qの乗法巡回群gGの生成元Gを含む公開パラメータを記憶するパラメータ記憶手段(111)と、
    値a,b∈Z を含むグループ秘密鍵と、値G,F及び前記生成元Gを含むグループ公開鍵(但し、G=G 、F=G )とを記憶するグループ鍵記憶手段(111)と、
    ユーザ識別情報ID(i)毎に、前記グループ秘密鍵、前記グループ公開鍵及び関係式ki1=b−aki2 mod qに基づいて、関係式F=G^{ki1}G^{ki2}を満たすリプレゼンテーションki1,ki2からなるメンバ秘密鍵を算出するメンバ秘密鍵生成手段(但し、^はベキ乗を表す記号)(15)と、
    前記メンバ秘密鍵及び前記生成元Gに基づいて、署名者特定情報T=G^{ki1}を算出する署名者特定情報算出手段(15)と、
    前記ユーザ識別情報ID(i)に関連付けて前記メンバ秘密鍵(ki1,ki2)、当該メンバ秘密鍵のリプレゼンテーションの一部ki1及び前記署名者特定情報Tiを記憶するメンバ情報記憶手段(111)と、
    前記グループ署名方式におけるグループ署名を生成するための前記公開パラメータ、前記グループ公開鍵、前記メンバ秘密鍵及び前記署名者特定情報Tを前記署名者装置に送信する手段(13)と、
    前記グループ署名方式における署名者を特定するための前記公開パラメータ、前記グループ公開鍵及び前記署名者特定情報Tを前記署名者特定装置に送信する手段(13)と、
    前記メンバ情報記憶手段内のユーザ識別情報ID(i)及びリプレゼンテーションの一部ki1を前記リボケーション管理者装置に送信する手段(13)と、
    リボークされたメンバに対応する前記リプレゼンテーションの一部ki1を含むリボケーションリストを前記リボケーション管理者装置から受信し、当該リボケーションリストを記憶するリボケーションリスト記憶手段(111)と、
    前記グループ署名方式におけるグループ署名を検証するための前記公開パラメータ及び前記グループ公開鍵を前記検証者装置に送信する手段(13)と、
    を備え
    前記グループ署名は、前記署名者装置により生成された値R,U を含んでおり(但し、R=T 、U =G 、rは乱数)、
    前記リボケーションリストは、前記検証者装置において、当該リボケーションリストに含まれる未確認の値k i1 を選択して検証式R=U ^{k i1 }が成り立つかどうかを確認し、前記検証式が成り立てば無効と判定するリボーク検証処理に用いられる
    ことを特徴とするメンバ秘密鍵生成者装置。
  9. グループ署名方式を用いるメンバ秘密鍵生成者装置(101)、リボケーション管理者装置(103)及び検証者装置(30)に通信可能な署名者特定装置(102)であって、
    前記グループ署名方式に用いる素数位数q、及び前記qの乗法巡回群gGの生成元Gを含む公開パラメータを記憶するパラメータ記憶手段(112)と、
    値x,x,y,y,z∈Z を含む署名者特定用秘密鍵と、値G,F,C,D,H、前記生成元G及びハッシュ関数Hashを含むグループ公開鍵(但し、G=G 、F=G 、a,b∈Z 、C=G^{x}G^{x}、^はベキ乗を表す記号、D=G^{y}G^{y}、H=G )とを記憶する鍵記憶手段(112)と、
    ユーザ識別情報ID(i)毎に、値a,bを含むメンバ秘密鍵生成用秘密鍵、前記グループ公開鍵及び関係式ki1=b−aki2 mod qに基づいて生成され且つ関係式F=G^{ki1}G^{ki2}を満たすリプレゼンテーションki1,ki2からなるメンバ秘密鍵及び前記生成元Gに基づいて算出された署名者特定情報T=G^{ki1}と、前記リプレゼンテーションの一部ki1と、前記ユーザ識別情報ID(i)とを前記メンバ秘密鍵生成者装置から受信する手段(13)と、
    前記受信したユーザ識別情報ID(i)、前記リプレゼンテーションの一部ki1及び前記署名者特定情報Tiを互いに関連付けて記憶するメンバ情報記憶手段(112)と、
    リボークされたメンバに対応する前記リプレゼンテーションの一部ki1を含むリボケーションリストを前記リボケーション管理者装置から受信し、当該リボケーションリストを記憶するリボケーションリスト記憶手段(112)と、
    前記検証者装置からメッセージと、値E,Uを含むグループ署名(但し、E=H、U=G 、rは乱数)と、署名者特定要求とを受けると、前記公開パラメータ及び前記グループ公開鍵に基づいて、当該グループ署名の正当性を検証する署名検証手段(16)と、
    前記検証の結果、グループ署名が正当性を示すとき、このグループ署名及び前記署名者特定用秘密鍵に基づいて、署名者特定情報T=E/U を計算する署名者特定情報手段(17)と、
    前記計算した署名者特定情報Tに基づいて前記メンバ情報記憶手段を検索し、署名者特定情報Tに対応するユーザ識別情報ID(i)を特定する手段(17)と、
    前記特定したユーザ識別情報ID(i)を出力する出力手段(19)と、
    を備え
    前記グループ署名は、前記署名者装置により生成された値Rを含んでおり(但し、R=T 、rは乱数)、
    前記リボケーションリストは、前記検証者装置において、当該リボケーションリストに含まれる未確認の値k i1 を選択して検証式R=U ^{k i1 }が成り立つかどうかを確認し、前記検証式が成り立てば無効と判定するリボーク検証処理に用いられる
    ことを特徴とする署名者特定装置。
  10. グループ署名方式を用いるメンバ秘密鍵生成者装置(101)、署名者特定装置(102)、署名者装置(20)及び検証者装置(30)に通信可能なリボケーション管理者(103)であって、
    前記グループ署名方式に用いる素数位数q、及び前記qの乗法巡回群gGの生成元Gを含む公開パラメータと、値a,b∈Z を含むメンバ秘密鍵生成用秘密鍵と、値G,F及び前記生成元Gを含むグループ公開鍵(但し、G=G 、F=G )とに基づいて、ユーザ識別情報ID(i)毎に、関係式ki1=b−aki2 mod qに基づいて、関係式F=G^{ki1}G^{ki2}を満たすリプレゼンテーションki1,ki2からなるメンバ秘密鍵が前記メンバ秘密鍵生成者装置により生成されたとき、互いに関連する当該リプレゼンテーションの一部ki1と前記ユーザ識別情報ID(i)とを前記メンバ秘密鍵生成者装置から受信する手段(13)と、
    前記受信したユーザ識別情報ID(i)及びリプレゼンテーションの一部ki1を互いに関連付けて記憶するリボケーション管理者用記憶手段(113)と、
    リボークされたメンバを示すユーザ識別情報ID(i)が入力されたとき、この入力されたユーザ識別情報ID(i)に基づいて、前記リボケーション管理者用記憶手段内の対応するリプレゼンテーションの一部ki1を含むリボケーションリストを生成するリボケーションリスト生成手段(18)と、
    前記リボケーションリストを前記検証者装置に送信する手段(13)と、
    を備え
    前記グループ署名は、前記署名者装置により生成された値R,U を含んでおり(但し、R=T 、U =G 、rは乱数)、
    前記リボケーションリストは、前記検証者装置において、当該リボケーションリストに含まれる未確認の値k i1 を選択して検証式R=U ^{k i1 }が成り立つかどうかを確認し、前記検証式が成り立てば無効と判定するリボーク検証処理に用いられる
    ことを特徴とするリボケーション管理者装置。
  11. グループ署名方式を用いるグループ管理者装置(10)、署名者装置(20)及び検証者装置(30)に通信可能な署名者同一性証明装置(201)であって、
    ユーザ識別情報ID(i)毎に、前記グループ管理者装置により生成されたメンバ秘密鍵内のリプレゼンテーションの一部ki1を記憶する記憶手段(211)と、
    前記グループ署名方式に用いる素数位数q、及び前記qの乗法巡回群gGの生成元Gを含む公開パラメータに基づいて、乱数r∈Z を選択する手段(26)と、
    値R,Uを含むグループ署名σ(但し、R=T 、U=G 、T=G ^{k i1 、rは乱数)を前記署名者装置から受けると、当該グループ署名σ内の値U及び前記選択した乱数rに基づいて、零知識証明のコミットメントR’=U^{r}を計算する手段(但し、^はベキ乗を表す記号)(26)と、
    前記計算したコミットメントR’を前記検証者装置に送信する手段(23)と、
    前記ゼロ知識証明のチャレンジとなる乱数δ∈Z を前記検証者装置から受信する手段(23)と、
    前記チャレンジとなる乱数δ、前記乱数r、前記リプレゼンテーションの一部ki1及び前記素数位数qに基づいて、前記ゼロ知識証明のレスポンスとなるパラメータs’=r+δki1 mod qを計算する手段(26)と、
    検証式R’=R^{−δ}U^s’を検証可能な前記検証者装置に対し、前記計算したパラメータs’を送信する手段(23)と、
    を備え
    前記グループ署名に含まれる値R,U は、
    前記検証者装置において、リボークされたメンバに対応する前記リプレゼンテーションの一部k i1 を含むリボケーションリストを前記グループ管理者装置から受けたときに、当該リボケーションリストに含まれる未確認の値k i1 を選択して検証式R=U ^{k i1 }が成り立つかどうかを確認し、前記検証式R=U ^{k i1 }が成り立てば無効と判定するリボーク検証処理と、
    前記検証者装置において、前記検証式R’=R^{−δ}U ^s ’が成り立つかを検証し、前記検証式R’=R^{−δ}U ^{s’ }が成り立たなければ偽と判定する署名者同一性検証処理と
    に用いられることを特徴とする署名者同一性証明装置。
JP2008072488A 2008-03-19 2008-03-19 グループ署名システム、装置及びプログラム Active JP4764447B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2008072488A JP4764447B2 (ja) 2008-03-19 2008-03-19 グループ署名システム、装置及びプログラム
CN200980109365.5A CN101978651B (zh) 2008-03-19 2009-03-10 群签名系统、装置以及方法
KR1020107020734A KR101156813B1 (ko) 2008-03-19 2009-03-10 그룹 서명 시스템, 장치 및 기록 매체
PCT/JP2009/054502 WO2009116422A1 (ja) 2008-03-19 2009-03-10 グループ署名システム、装置及びプログラム
US12/884,742 US8433897B2 (en) 2008-03-19 2010-09-17 Group signature system, apparatus and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008072488A JP4764447B2 (ja) 2008-03-19 2008-03-19 グループ署名システム、装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2009231987A JP2009231987A (ja) 2009-10-08
JP4764447B2 true JP4764447B2 (ja) 2011-09-07

Family

ID=41090827

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008072488A Active JP4764447B2 (ja) 2008-03-19 2008-03-19 グループ署名システム、装置及びプログラム

Country Status (5)

Country Link
US (1) US8433897B2 (ja)
JP (1) JP4764447B2 (ja)
KR (1) KR101156813B1 (ja)
CN (1) CN101978651B (ja)
WO (1) WO2009116422A1 (ja)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8443191B2 (en) 2007-04-09 2013-05-14 Objective Interface Systems, Inc. System and method for accessing information resources using cryptographic authorization permits
US8380981B2 (en) 2008-05-16 2013-02-19 Objective Interface Systems, Inc. System and method that uses cryptographic certificates to define groups of entities
CN101800641B (zh) * 2009-12-29 2012-09-12 河南城建学院 一种适合大群组的群签名方法
JP5325126B2 (ja) * 2010-01-13 2013-10-23 日本電信電話株式会社 署名生成装置、署名検証装置、再リンク鍵生成装置、及びプログラム
JP6014585B2 (ja) * 2010-05-19 2016-10-25 コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. 属性ベースのデジタル署名システム
CN101977110B (zh) * 2010-10-09 2012-08-29 北京航空航天大学 一种基于椭圆曲线的群签名方法
JP5790289B2 (ja) * 2011-08-12 2015-10-07 ソニー株式会社 情報処理装置、情報処理方法、プログラム、及び記録媒体
DE102012221288A1 (de) * 2012-11-21 2014-05-22 Siemens Aktiengesellschaft Verfahren, Vorrichtung und Dienstleistungsmittel zur Authentifizierung eines Kunden für eine durch ein Dienstleistungsmittel zu erbringende Dienstleistung
US10038679B2 (en) * 2012-12-24 2018-07-31 Intel Corporation Centralized secure device pairing
CN104919752B (zh) * 2013-01-17 2018-04-27 日本电信电话株式会社 分割保管装置、秘密密钥分割保管方法
FR3003713B1 (fr) * 2013-03-25 2016-10-07 Morpho Signature de groupe utilisant un pseudonyme
US9634840B2 (en) * 2013-07-23 2017-04-25 Security Innovation Inc. Digital signature technique
US9985966B2 (en) 2014-01-07 2018-05-29 Empire Technology Development Llc Anonymous signature scheme
JP2016046719A (ja) * 2014-08-25 2016-04-04 株式会社東芝 データ生成装置、通信装置、移動体、データ生成方法およびプログラム
CN104917617B (zh) * 2015-05-26 2018-02-09 同济大学 一种加密群签名的混淆方法
CN105024823B (zh) * 2015-07-27 2018-03-23 中国船舶重工集团公司第七0九研究所 基于零知识证明的用户身份隐私保护方法及系统
US10104088B2 (en) 2016-09-28 2018-10-16 International Business Machines Corporation Traitor tracing for obfuscated credentials
EP3545645B1 (en) * 2016-11-19 2024-03-06 Dfinity Stiftung System architecture and method of processing data therein
US10742413B2 (en) * 2017-04-25 2020-08-11 International Business Machines Corporation Flexible verifiable encryption from lattices
CN107911216B (zh) * 2017-10-26 2020-07-14 矩阵元技术(深圳)有限公司 一种区块链交易隐私保护方法及系统
CN111373401B (zh) * 2017-11-27 2023-04-25 三菱电机株式会社 同态推理装置、同态推理方法、计算机能读取的存储介质和隐匿信息处理系统
FR3075423A1 (fr) * 2017-12-15 2019-06-21 Orange Technique de protection d'une cle cryptographique au moyen d'un mot de passe utilisateur
EP3502941B1 (en) 2017-12-19 2021-01-20 Riddle & Code GmbH Dongles and method for providing a digital signature
US20220051314A1 (en) * 2018-09-12 2022-02-17 Nec Corporation Information processing apparatus, information processing system, member identification method, and non-transitory computer readable medium storing program
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
WO2020209793A1 (en) * 2019-04-11 2020-10-15 Singapore Telecommunications Limited Privacy preserving system for mapping common identities
JP7238977B2 (ja) * 2019-05-27 2023-03-14 日本電信電話株式会社 匿名署名システム及び匿名署名方法
US11601284B2 (en) * 2019-06-14 2023-03-07 Planetway Corporation Digital signature system based on a cloud of dedicated local devices
US10652019B1 (en) * 2019-08-28 2020-05-12 Qed-It Systems Ltd. Atomic swap using zero-knowledge proofs, and applications thereof
US12047493B2 (en) * 2019-10-30 2024-07-23 EMC IP Holding Company LLC Threshold-based override of data privacy using distributed ledgers and key shares
CN112073406B (zh) * 2020-09-03 2023-01-13 北京工业大学 一种基于双线性映射可扩展分组多数据保护方法
US11645654B2 (en) 2021-01-14 2023-05-09 American Express Travel Related Services Company, Inc. Biometric-based identity verification using zero-knowledge proofs
CN113112268A (zh) * 2021-03-19 2021-07-13 杭州复杂美科技有限公司 匿名多重签名方法、计算机设备和存储介质
CN113114470A (zh) * 2021-03-30 2021-07-13 北京金山云网络技术有限公司 群组的签名方法和装置、电子设备和存储介质
CN114339746B (zh) * 2021-12-31 2023-11-17 中国科学技术大学 基于中国剩余定理的车联网动态组密钥管理方法及系统

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
JP2000162967A (ja) * 1998-11-30 2000-06-16 Mitsubishi Electric Corp ディジタル署名・検証システム
US6240188B1 (en) * 1999-07-06 2001-05-29 Matsushita Electric Industrial Co., Ltd. Distributed group key management scheme for secure many-to-many communication
EP1625470A1 (en) * 2003-05-21 2006-02-15 Hewlett-Packard Development Company, L.P. Use of certified secrets in communication
JP4533636B2 (ja) * 2004-01-26 2010-09-01 株式会社東芝 デジタル署名システム、デジタル署名管理装置、デジタル署名管理方法及びプログラム
US7590236B1 (en) * 2004-06-04 2009-09-15 Voltage Security, Inc. Identity-based-encryption system
CN100561912C (zh) * 2005-12-08 2009-11-18 上海交通大学 基于群签名的移动代理安全路由方法
WO2009008069A1 (ja) * 2007-07-11 2009-01-15 Kabushiki Kaisha Toshiba グループ署名システム、装置及びプログラム
EP2456119B1 (en) * 2009-07-13 2016-09-28 Nec Corporation Anonymous authentication signature system, user device, verification device, signature method, verification method, and program therefor
KR101425552B1 (ko) * 2010-10-04 2014-08-05 한국전자통신연구원 제어가능 연결성을 제공하는 그룹서명 시스템 및 방법
KR101475282B1 (ko) * 2010-12-20 2014-12-22 한국전자통신연구원 키 유효성 검증 방법 및 이를 수행하기 위한 서버

Also Published As

Publication number Publication date
KR20100116215A (ko) 2010-10-29
US20110060903A1 (en) 2011-03-10
US8433897B2 (en) 2013-04-30
CN101978651B (zh) 2014-09-17
WO2009116422A1 (ja) 2009-09-24
KR101156813B1 (ko) 2012-06-18
CN101978651A (zh) 2011-02-16
JP2009231987A (ja) 2009-10-08

Similar Documents

Publication Publication Date Title
JP4764447B2 (ja) グループ署名システム、装置及びプログラム
JP5060556B2 (ja) グループ署名システム、装置及びプログラム
Au et al. Malicious KGC attacks in certificateless cryptography
Liu et al. Self-generated-certificate public key cryptography and certificateless signature/encryption scheme in the standard model
Chow Removing escrow from identity-based encryption: New security notions and key management techniques
Escala et al. Revocable attribute-based signatures with adaptive security in the standard model
Hu et al. Certificateless signature: a new security model and an improved generic construction
Yap et al. An efficient certificateless signature scheme
Li et al. Certificate-based signature: security model and efficient construction
Chow et al. Security-mediated certificateless cryptography
Tso et al. Efficient and short certificateless signatures secure against realistic adversaries
Huang et al. Generic certificateless encryption in the standard model
Tso et al. Efficient and short certificateless signature
Bellare et al. Stateful public-key cryptosystems: how to encrypt with one 160-bit exponentiation
Xu et al. Accountable ring signatures: A smart card approach
Gennaro et al. A note on an encryption scheme of Kurosawa and Desmedt
Gu et al. An efficient ID-based proxy signature scheme from pairings
Li et al. A forward-secure certificate-based signature scheme
Tso A new way to generate a ring: Universal ring signature
Wu et al. Certificate-based signatures: new definitions and a generic construction from certificateless signatures
JP4791828B2 (ja) グループ署名システム、装置、プログラム及び方法
Zhang et al. A robust verifiably encrypted signature scheme
Dent A brief history of provably-secure public-key encryption
Shao et al. Practical verifiably encrypted signatures based on discrete logarithms
Yang et al. Efficient mediated certificates public-key encryption scheme without pairings

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110222

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110422

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: 20110517

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: 20110610

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

Free format text: PAYMENT UNTIL: 20140617

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4764447

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