JPWO2005071880A1 - グループ署名システム、方法、装置、およびプログラム - Google Patents

グループ署名システム、方法、装置、およびプログラム Download PDF

Info

Publication number
JPWO2005071880A1
JPWO2005071880A1 JP2005517332A JP2005517332A JPWO2005071880A1 JP WO2005071880 A1 JPWO2005071880 A1 JP WO2005071880A1 JP 2005517332 A JP2005517332 A JP 2005517332A JP 2005517332 A JP2005517332 A JP 2005517332A JP WO2005071880 A1 JPWO2005071880 A1 JP WO2005071880A1
Authority
JP
Japan
Prior art keywords
signature
group
key
data
random number
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.)
Granted
Application number
JP2005517332A
Other languages
English (en)
Other versions
JP4692284B2 (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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2005517332A priority Critical patent/JP4692284B2/ja
Publication of JPWO2005071880A1 publication Critical patent/JPWO2005071880A1/ja
Application granted granted Critical
Publication of JP4692284B2 publication Critical patent/JP4692284B2/ja
Expired - Fee Related 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/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/08Randomization, e.g. dummy operations or using noise

Landscapes

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

Abstract

署名装置(2)は、メンバー証明書の第1の要素を第1の乱数とグループ管理装置(1)にて開示されている公開情報とを用いて暗号化して暗号化データを作成する。また、署名装置(2)は、第1の要素を乱数および公開情報を用いて変換して第1、第2の変換データを作成する。そして、署名装置(2)は、第1の要素、第2の要素、および署名鍵に関する情報を知られることのない知識署名データを作成し、それを含むグループ署名をメッセージと共に出力する。検証装置(3)は、メッセージおよびグループ署名と公開情報とから、グループ署名が、グループに登録されているいずれかのメンバーのメンバー証明書および署名鍵を用いて作成されたものか否かを検証する。

Description

本発明は、グループに所属するメンバーが、グループのメンバーであることを証明するための署名を作成し、また検証するグループ署名システムに関し、特に、グループ管理者の処理権限を複数に分散する機能を有するグループ署名システムに関する。
従来、この種のグループ署名システムは、複数のメンバーから構成されるグループにおいて、グループに所属する、あるユーザが署名を作成し、またその署名を検証するためのものである。そして、その署名は、署名者がグループのいずれかのメンバーであることは検証できるが、通常ではグループ内のどのメンバーであるかは分からないという性質のものである。ただし、その一方で、万が一のために、署名から実際の署名者を特定する機能(以下、追跡と称す)がグループ署名システムには備えられている。
一般に、グループ署名システムでは、グループ管理者と呼ばれるエンティティがグループ内に存在し、グループへの新たなメンバーの登録手続きおよび署名者の追跡を行う。その場合、グループ署名システムにおいて、グループへのメンバーの登録や、グループ署名の署名者追跡は、全てグループ管理者の権限で行われることとなる。このように、これら全ての権限を単一のグループ管理者に与えてしまうことがシステムの安全上好ましくない場合がある。
グループ管理者が不正を働こうとすれば、このグループ署名システムは不正を防止することができない。例えば、グループ管理者がメンバーを不正に追加し、そのメンバーを利用して、署名者の特定できない署名を作成することができてしまう。
このような不正が行なわれる可能性をできる限り低減し、グループ署名システムの信頼性を向上させるために、単一のグループ管理者に全ての権限を与えることをせず、複数のエンティティでグループ管理者の役割を担うことが考えられる。
従来のグループ署名システムにおいては、グループ管理者の機能を、新たなユーザをグループに登録する権限を持つメンバー管理者と、グループ署名の署名者を特定する権限を持つメンバー追跡者に分割することが提案されている。G.Ateniese and R.de Medeiros,“Efficient Group Signatures without Trapdoors,”In Advances in Cryptology−−ASIACRYPT 2003,LNCS 2894,pp.246−268,Springer−Verlag,2003.(以下、文献1)および、G.Ateniese,J.Camenisch,M.Joye and G.Tsudik,“A Practical and Provable Secure Coalition−Resistant Group Signature Scheme,”In Advances in Cryptology−−CRYPTO2000,LNCS 1880,pp.255−270,Springer−Verlag,2000.(以下、文献2)で示されるグループ署名システムでは、このようなグループ管理者の分割が考慮されている。
また、そのメンバー管理者とメンバー追跡者の信頼性を更に向上させるために、メンバー管理者およびメンバー追跡者の各々の権限をさらに複数エンティティに分散し、複数のメンバー管理者あるいはメンバー追跡者が協力してそれら機能を果たすことも考えられている。
文献1にて提案された第1の従来技術において、メンバー管理者の用いる公開鍵と秘密鍵は、ElGamalによる”A Public Key Cryptosystem and a Signature Scheme Based on Discrete Logarithms” (IEEE Trans.on Information Theory,IT−31,4, pp.469−472)に記載されているように、有限体上の乗法群の離散対数問題に基づく暗号系から選択される。また、文献2で提案された第2の従来技術においては、メンバー管理者の用いる公開鍵と秘密鍵は、RSA暗号(”A Method for Obtaining Digital Signatures and Public−Key Cryptosystems,”Communications of the ACM,Vol.21,No.2,pp.120−126)のような暗号系に基づいて選択される。
文献1に記載された第1の従来技術のグループ署名システムは、公開情報開示手段と署名装置とを有している。図13は、第1の従来技術のグループ署名システムにおける署名装置の構成を示すブロック図である。図13を参照すると、署名装置は、第1の乱数生成器1201、第2の乱数生成器1202、第3の乱数生成器1203、第4の乱数生成器1204、第5の乱数生成器1205、第6の乱数生成器1206、第1の暗号化データ作成手段1207、第2の暗号化データ作成手段1208、第1の変換データ作成手段1209、第2の変換データ作成手段1210、知識署名作成手段1211、秘密情報記憶部1212、メンバー情報記憶部1213、メッセージ入力手段1214および署名出力手段1215から構成されている。
第1の乱数生成器1201は、第1の暗号化データ作成手段1207で使用する乱数を生成する。
第2の乱数生成器1202は、第2の暗号化データ作成手段1208で使用する乱数を生成する。
第3の乱数生成器1203は、第1の変換データ作成手段1209で使用する乱数を生成するとともに、その乱数をグループ署名の要素として署名出力手段1215に出力する。
第4の乱数生成器1204は、第2の変換データ作成手段1210で使用する乱数を生成するとともに、その乱数をグループ署名の要素として署名出力手段1215に出力する。
第5の乱数生成器1205は、第2の変換データ作成手段1210で使用する乱数を生成するとともに、その乱数をグループ署名の要素として署名出力手段1215に出力する。
第6の乱数生成器1206は、知識署名作成手段1211で使用する乱数を生成する。
第1の暗号化データ作成手段1207は、第1の乱数生成器1201で生成された乱数と、メンバー情報記憶部1212に記憶されているメンバー証明書の第1の要素とを入力として、メンバー証明書の第1の要素の暗号化データ(以下、第1の暗号化データと称す)を知識署名作成手段1211および署名出力手段1215に出力する。
第2の暗号化データ作成手段1208は、第2の乱数生成器1202で生成された乱数と、秘密情報記憶部1213に記憶されている署名鍵の変換データとを入力として、署名鍵の変換データの第1の要素の暗号化データ(以下、第2の暗号化データと称す)を知識署名作成手段911および署名出力手段1215に出力する。
第1の変換データ作成手段1209は、第3の乱数生成器1203で生成された乱数と、メンバー情報記憶部1212に記憶されているメンバー証明書の第1の要素を入力として、メンバー証明書の第1の要素の変換データ(以下、第1の変換データと称す)を知識署名作成手段1211および署名出力手段1215に出力する。
第2の変換データ作成手段1210は、第4の乱数生成器1204および第5の乱数生成器1205で生成された乱数と、メンバー情報記憶部1212に記憶されているメンバー証明書の第1の要素を入力として、メンバー証明書の第1の要素の変換データ(以下、第2の変換データと称す)を知識署名作成手段1211および署名出力手段1215に出力する。
知識署名作成手段1211は、メッセージ入力手段1214から入力されたメッセージ、第6の乱数生成器1206で生成された乱数、第1の暗号化データ、第2の暗号化データ、第1の変換データ、第2の変換データ、メンバー証明書の第1および第2の要素、および署名鍵を入力として、メンバー証明書および署名鍵に関する情報を漏らすことなくメンバー証明書および署名鍵を正しく所有していることを証明することのできる知識署名データを出力する。
メンバー情報記憶部1212は、グループ署名を発行するために用いるメンバー証明書を記憶する。メンバー証明書は第1の要素と第2の要素とからなる。
秘密情報記憶部1213は署名鍵を記憶する。
メッセージ入力手段1214は、署名を付加すべきメッセージを入力する。
署名出力手段1215は、メッセージ、第1の暗号化データ、第2の暗号化データ、第1の変換データ、第2の変換データ、第3の乱数、第4の乱数、第5の乱数、および知識署名データをグループ署名として出力する。
以上の構成により、第1の従来技術のグループ署名システムはグループ署名を作成することができる。
一方、文献2に記載された第2の従来技術のグループ署名システムは、グループ管理装置および署名装置を有している。
グループ管理装置は公開情報開示手段、メンバー情報開示手段、RSA鍵生成手段、離散対数鍵生成手段、メンバー登録秘密情報記憶部、メンバー追跡秘密情報記憶部、およびメンバー登録手段を有している。そして、グループ管理装置は、グループメンバーの登録処理や、与えられた署名から実際の署名者の特定処理を行う。
公開情報開示手段は、システムで用いる公開情報をすべての装置に開示する。
メンバー情報開示手段は、メンバー登録手段で取得した署名装置に関する情報を開示する。
RSA鍵生成手段は、RSA暗号系による方法で公開鍵および秘密鍵を作成し、公開鍵を公開情報開示手段に出力し、秘密鍵をメンバー登録秘密情報記憶部に出力する。
離散対数鍵生成手段は、離散対数問題に基づく暗号系から公開鍵および秘密鍵を作成し、公開鍵を公開情報開示手段に出力し、秘密鍵をメンバー追跡秘密情報記憶部に出力する。
メンバー登録秘密情報記憶部は、RSA鍵生成手段で作成した秘密鍵を記憶する。
メンバー追跡秘密情報記憶部は、離散対数鍵生成手段で作成した秘密鍵を記憶する。
メンバー登録手段は、メンバー登録秘密情報記憶部に記憶された秘密鍵を入力として、グループ署名を作成するのに必要なメンバー証明書を署名装置に対して出力する。
一方、署名装置は、グループ管理装置から取得したメンバー証明書を用いてグループ署名を作成する。
そして、第2の従来技術によるグループ管理装置はメンバー管理装置とメンバー追跡装置に分割されてもよい。その場合、メンバー管理装置はRSA鍵生成手段、メンバー登録秘密情報記憶部、およびメンバー登録手段を有し、メンバー追跡装置は離散対数鍵生成手段、メンバー追跡秘密情報記憶部を有することとなる。
第1の問題点は、第1の従来技術において、グループ管理装置をメンバー管理装置とメンバー追跡装置に機能分割すると、メンバー管理装置が実際の署名者を特定する機能を有することとなってしまう点である。
第1の従来技術では、第1の変換データ作成手段1209で作成される第1の変換データは、第3の乱数生成器1203で生成される乱数(以下、第3の乱数と称す)とメンバー証明書の第1の要素とに依存する確定的な値であり、かつ第3の乱数は後にグループ署名の要素として公開される。そのため、メンバー管理装置は、開示されたすべてのメンバー証明書の情報と、グループ署名の要素として開示された第3の乱数とを入力として、全てのメンバー証明書について総当りで第1の変換データ作成手段1209と同じ変換を行い、署名装置から出力されたグループ署名に含まれた第1の変換データと一致する値が得られたときのメンバー証明書の持ち主を調べれば、署名者を特定できてしまう。
第2の問題点は、第2の従来技術において、メンバー管理装置の処理権限を複数エンティティに分散する場合、複数のエンティティに大きな負荷がかかり、効率的でないという点である。
第2の従来技術では、メンバー管理装置の用いる秘密鍵はRSA暗号系に基づいて選択されているが、一般にRSA暗号系の分散計算は複雑で、計算量が大きいことが知られている。そのため、この大きな計算量による負荷が複数のエンティティにかかることとなる。
本発明の目的は、グループ署名からメンバー証明書に関する情報を秘匿できるグループ署名を提供し、また、グループ管理装置の機能を安全確実にメンバー管理装置とメンバー追跡装置に分割することができ、さらに、メンバー管理装置およびメンバー追跡装置の機能を効率良く複数のエンティティに分散させることのできるグループ署名システムを提供することである。
上記目的を達成するために、本発明のグループ署名システムは、署名者がグループに登録されたメンバーであることを証明することのできるグループ署名を作成し、また、作成された前記グループ署名の前記署名者が前記グループのメンバーであるか否か確認するグループ署名システムであって、
システム内で共通に利用する公開情報を他の装置から参照可能に開示するグループ管理装置と、
第1の要素および第2の要素を含むメンバー証明書を記憶しており、前記第1の要素を第1の乱数と前記グループ管理装置にて開示されている前記公開情報とを用いて暗号化して暗号化データを作成し、前記第1の要素を第2の乱数および前記公開情報を用いて変換して第1の変換データを作成し、前記第1の要素を第3の乱数および前記公開情報を用いて変換して第2の変換データを作成し、署名を付加すべきメッセージ、第4の乱数、前記暗号化データ、前記第1の変換データ、前記第2の変換データ、署名の作成に用いる秘密鍵である署名鍵、前記第1の要素、および前記第2の要素から、知識署名データを作成し、前記暗号化データ、前記第1の変換データ、前記第2の変換データ、および前記知識署名データをグループ署名として前記メッセージと共に出力する署名装置と、
メッセージおよびグループ署名と、前記グループ管理装置にて開示されている前記公開情報とから、前記グループ署名が、前記グループに登録されているいずれかのメンバーのメンバー証明書に含まれる第1の要素および第2の要素と前記署名鍵を用いて作成されたものか否かを検証する検証装置とを有している。
また、前記署名装置は、前記暗号化データ、前記第1の変換データ、および前記第2の変換データが同じ値を元に作成されていることを証明可能でありかつ前記第1の要素、前記第2の要素、および前記署名鍵に関する情報を知られることのないデータとして、前記知識署名データを作成し、
前記検証装置は、グループ署名が、前記グループに登録されているいずれかのメンバーのメンバー証明書に含まれる第1の要素および第2の要素と前記署名鍵を用いて作成されたものか否かを、前記第1の要素、前記第2の要素、および前記署名鍵に関する情報を用いることなく、検証することとしてもよい。
また、新たなメンバーを前記グループに登録するとき、素数を位数とする有限体の元となるようにメンバー登録秘密鍵を選び、前記メンバー登録秘密鍵を離散対数とし、有限体上の乗法群の元であるメンバー登録公開鍵を前記メンバー登録秘密鍵から求め、前記メンバー登録公開鍵を公開情報として前記グループ管理装置に通知し、前記メンバー登録秘密鍵を自身で記憶すると共に、該メンバー登録秘密鍵を用いてメンバー証明書を作成し、前記署名装置に通知するメンバー管理装置をさらに有することとしてもよい。
また、前記メンバー証明書は、前記署名鍵を離散対数とする、前記署名鍵の変換データに対して前記メンバー登録秘密鍵を用いて作成したNyberg−Rueppel署名であるとしてもよい。
また、前記グループ管理装置は、前記公開情報に加えて、前記メンバー管理装置から通知された前記メンバー情報を他の装置から参照可能に開示するものとしてもよい。
また、本発明のシステムは、新たなメンバーを前記グループに登録するとき、素数を位数とする有限体の所定の元の、複数に分散された値のうちの1つを自身の分散メンバー登録秘密鍵として割り当て、前記分散メンバー登録秘密鍵を自身で記憶すると共に、前記元を離散対数とする値をメンバー登録公開鍵とする、複数のメンバーサブ管理装置をさらに有し、
前記署名装置は、複数の前記メンバーサブ管理装置と通信することによりメンバー証明書を取得し、
前記グループ管理装置は、前記メンバー登録公開鍵を取得するものとしてもよい。
また、本発明のシステムは、素数を位数とする有限体の元となるようにメンバー追跡秘密鍵を選び、前記メンバー追跡秘密鍵を離散対数とし、有限体上の乗法群の元であるメンバー追跡公開鍵を前記メンバー追跡秘密鍵から求め、前記メンバー追跡公開鍵を前記公開情報として前記グループ管理装置に通知し、前記メンバー追跡秘密鍵を自身で記憶しておき、グループ署名の署名者を特定するとき、前記グループ署名に含まれている暗号化データを前記メンバー追跡秘密鍵を用いて復号し、復号結果と前記グループ管理装置にて開示されているいずれかの前記メンバー証明書の第1の要素とが一致すれば該メンバー証明書のメンバーを署名者と特定するメンバー追跡装置をさらに有し、
前記グループ管理装置は前記メンバー証明書を前記メンバー情報として開示しており、
前記署名装置は前記第1の要素を暗号化して前記暗号化データを作成するとき前記公開情報として前記メンバー追跡公開鍵を用いることとしてもよい。
また、自身の分散メンバー追跡秘密鍵が、素数を位数とする有限体の元の複数に分散された値のうちの自身に割り当てる1つであり、メンバー追跡公開鍵が、前記有限体の元を離散対数とし、有限体上の乗法群の元となるように、前記分散メンバー追跡秘密鍵を求め、前記分散メンバー追跡秘密鍵を自身で記憶する複数のメンバーサブ追跡装置をさらに有し、
前記署名装置は前記第1の要素を暗号化して前記暗号化データを作成するとき前記公開情報として前記メンバー追跡公開鍵を用い、
前記グループ管理装置は前記メンバー証明書を前記メンバー情報として開示しており、
グループ署名の署名者を特定するとき、前記メンバーサブ追跡装置の各々が前記グループ署名に含まれている暗号化データに対して自身の前記分散メンバー追跡秘密鍵を用いて所定の計算をした結果から求まる復号結果と、前記グループ管理装置にて開示されているいずれかの前記メンバー証明書の第1の要素とが一致すれば該メンバー証明書のメンバーを署名者と特定することとしてもよい。
また、前記有限体上の乗法群に代えて楕円曲線上の有限群を用いることとしてもよい。
したがって、本発明によれば、署名装置が、メンバー証明書に関する情報を、グループ署名の要素として開示されない乱数を用いて秘匿することができる。また、メンバー管理装置の機能は複数のメンバーサブ管理装置に分散され、複数のメンバーサブ管理装置がメンバー証明書を計算するために使用する秘密鍵は、離散対数問題に基づく暗号系から選ばれる。また、メンバー追跡装置の機能は複数のメンバーサブ追跡装置に分散され、複数のメンバーサブ追跡装置が署名者の特定に用いる秘密鍵は、離散対数問題に基づく暗号系から選ばれる。
図1は、第1の実施形態のグループ署名システムの構成例を示すブロック図である。
図2は、第1の実施形態のグループ署名システムの他の構成例を示すブロック図である。
図3は、第1の実施形態のグループ署名システムのさらに他の構成を示すブロック図である。
図4は、第1の実施形態の署名装置を構成する各ブロック間の関係を示す図である。
図5は、第1の実施形態の署名装置およびメンバー管理装置を構成する各ブロック間の関係を示す図である。
図6は、第1の実施形態の検証装置内のブロックと他の装置との関係を示す図である。
図7は、第1の実施形態のメンバー管理装置を構成する各ブロック間の関係を示す図である。
図8は、第1の実施形態のメンバー追跡装置を構成する各ブロック間の関係を示す図である。
図9は、第1の実施形態のメンバー追跡装置を構成する各ブロック間の関係を示す図である。
図10は、第1の実施形態によるグループ署名システムのメンバー登録時の動作を示すフローチャートである。
図11は、第1の実施形態による署名装置のグループ署名作成時の動作を示すフローチャートである。
図12は、第2の実施形態のグループ署名システムの構成例を示すブロック図である。
図13は、第1の従来技術のグループ署名システムにおける署名装置の構成を示すブロック図である。
本発明の一実施形態について図面を参照して詳細に説明する。
図1は、第1の実施形態のグループ署名システムの構成例を示すブロック図である。図1を参照すると、第1の実施形態のグループ署名システムは、グループ管理装置1、署名装置2、および検証装置3を有している。
なお、他の構成例として、第1の実施形態のグループ署名システムは、図1の構成に加えてメンバー管理装置を有してもよい。図2は、第1の実施形態のグループ署名システムの他の構成例を示すブロック図である。図2を参照すると、第1の実施形態のグループ署名システムは、図1の構成に加えて、メンバー管理装置4を有している。
さらに他の構成例として、第1の実施形態のグループ署名システムは、図2の構成に加えてメンバー追跡装置5を有してもよい。図3は、第1の実施形態のグループ署名システムのさらに他の構成を示すブロック図である。図3を参照すると、第1の実施形態のグループ署名システムは、図2の構成に加えて、メンバー追跡装置5を有している。
以下、メンバー登録機能とメンバー追跡機能の各々をグループ管理装置1から分割した図3のシステム構成例を用いて説明する。ただし、本発明はその構成に限定されるものではなく、それら機能を分割しない構成にも適用可能である。
図3を参照すると、グループ管理装置1は、公開情報開示手段101、メンバー情報開示手段102、および前処理手段103を有しており、システム全体で用いる公開情報を作成し、開示する。
署名装置2は、第1の乱数生成器201、第2の乱数生成器202、第3の乱数生成器203、第4の乱数生成器204、暗号化データ作成手段205、第1の変換データ作成手段206、第2の変換データ作成手段207、知識署名作成手段208、メッセージ入力手段209、署名出力手段210、秘密情報記憶部211、メンバー情報記憶部212、登録手段213、および第5の乱数生成器214を有しており、メンバー登録の後、グループ署名を作成する。
検証装置3は検証手段301を有しており、与えられたグループ署名の正当性を確認する。
メンバー管理装置4は、離散対数鍵生成手段401、メンバー登録秘密情報記憶部402、メンバー登録手段403、第1の乱数生成器404、第2の乱数生成器405を有しており、グループメンバーの登録処理を行う。
メンバー追跡装置5は、離散対数鍵生成手段501、メンバー追跡秘密情報記憶部502、メンバー追跡手段503、および乱数生成器504を有しており、与えられたグループ署名から実際の署名者を特定するメンバー追跡機能を有している。
グループ管理装置1において公開情報開示手段101は、前処理手段103、離散対数鍵生成手段401、離散対数鍵生成手段501から出力された各種の公開情報を記憶し、すべての装置が自由に参照できるように開示する。
メンバー情報開示手段102は、メンバー管理装置4のメンバー登録手段403と署名装置2の登録手段213とが互いに通信することにより作成されたメンバー情報を記憶し、すべての装置が自由に参照できるように開示する。
前処理手段103は、本システムで用いる共通の定数を予め定め、それを公開情報開示手段101に出力する。
図4は、第1の実施形態の署名装置を構成する各ブロック間の関係を示す図である。図5は、第1の実施形態の署名装置およびメンバー管理装置を構成する各ブロック間の関係を示す図である。
まず、図4において、第1の乱数生成器201は、暗号化データ作成手段205で使用する第1の乱数を生成する。
同様に、第2の乱数生成器202は、第1の変換データ作成手段206で使用する第2の乱数を生成する。第3の乱数生成器203は、第2の変換データ作成手段207で使用する第3の乱数を生成する。第4の乱数生成器204は、知識署名作成手段208で使用する第4の乱数を生成する。
暗号化データ作成手段205は、第1の乱数生成器201で生成した第1の乱数と、メンバー情報記憶部212に記憶されているメンバー証明書の第1の要素とを入力として、メンバー証明書の第1の要素を暗号化し、得られた暗号化データを知識署名作成手段208および署名出力手段210に出力する。
第1の変換データ作成手段206は、第2の乱数生成器202で生成した第2の乱数と、メンバー情報記憶部212に記憶されているメンバー証明書の第1の要素とを入力として、メンバー証明書の第1の要素の変換データ(以下、第1の変換データと称す)を知識署名作成手段208および署名出力手段210に出力する。
第2の変換データ作成手段207は、第3の乱数生成器203で生成した第3の乱数と、メンバー情報記憶部212に記憶されているメンバー証明書の第1の要素とを入力として、メンバー証明書の第1の要素の変換データ(以下、第2の変換データと称す)を知識署名作成手段208および署名出力手段210に出力する。
知識署名作成手段208は、メッセージ入力手段209から入力されたメッセージ、第4の乱数生成器204で生成した第4の乱数、暗号化データ、第1の変換データ、第2の変換データ、秘密情報記憶部211に記憶されている署名鍵、メンバー情報記憶部212に記憶されているメンバー証明書の第1および第2の要素、公開情報開示手段101にて開示されている公開情報を入力として、メンバー証明書および署名鍵を所持していることを示す知識署名データを出力する。
メッセージ入力手段209は、署名を付加すべきメッセージを知識署名作成手段208および署名出力手段210に出力する。
署名出力手段210は、メッセージ入力手段209から入力されたメッセージ、暗号化データ、第1の変換データ、第2の変換データ、知識署名データをグループ署名として出力する。
秘密情報記憶部211は、署名に用いる秘密鍵である署名鍵を記憶する。
メンバー情報記憶部212は、メンバー管理装置4のメンバー登録手段403との通信を用いて取得したメンバー証明書を記憶する。
図5において、登録手段213は、メンバー管理装置4のメンバー登録手段403と通信を行い、また第5の乱数生成器214から出力された第5の乱数を入力として、メンバー管理装置4の署名を表すメンバー証明書と署名装置2の秘密情報である署名鍵とを取得し、前記メンバー証明書をメンバー情報記憶部212に、前記署名鍵を秘密情報記憶部212に、それぞれ出力する。第5の乱数生成器214は、登録手段213に入力する第5の乱数を生成する。
図6は、第1の実施形態の検証装置内のブロックと他の装置との関係を示す図である。
検証手段301は、与えられたグループ署名と、グループ管理装置1の公開情報開示手段101にて開示された公開情報とを入力として、グループ署名が署名装置2の署名出力手段210から正しく出力されたものか否か検証する。そして、検証手段301は、グループ署名が署名出力手段210から正しく出力されたものであるときのみ、そのグループ署名を受理し、そうでないときには、署名を不受理とする。
これにより、検証手段210は、与えられたグループ署名が、ある署名装置が正しいメンバー証明書および署名鍵を使用して作成した正当なグループ署名であるか否かを検証し、正当なグループ署名であれば受理して署名受理の旨を出力し、そうでなければ不受理とし、署名不受理の旨を出力する。
図7は、第1の実施形態のメンバー管理装置を構成する各ブロック間の関係を示す図である。
図7を参照すると、離散対数鍵生成手段401は、第1の乱数生成器404から乱数を受け、その乱数を用いて、有限体上の乗法群の離散対数問題に基づく公開鍵と秘密鍵を計算し、秘密鍵をメンバー登録秘密鍵としてメンバー登録秘密情報記憶部402に記録し、公開鍵をメンバー登録公開鍵としてグループ管理装置1の公開情報開示手段101に出力する。
メンバー登録秘密情報記憶部402は、離散対数鍵生成手段401で作成した秘密鍵を記憶する。
第1の乱数生成器404は、離散対数鍵生成手段401に乱数を出力する。
図5を参照すると、メンバー登録手段403は、署名装置2の登録手段213と通信し、また第2の乱数生成器405からの乱数と、メンバー登録秘密情報記憶部402に記憶された秘密鍵とを入力として、署名装置2に対して第1の要素と第2の要素からなるメンバー証明書を発行し、また署名装置2との通信で得た署名装置2のメンバー情報をメンバー情報開示手段102に出力する。メンバー証明書は、グループのメンバーであることを証明する情報であり、署名装置2がグループ署名を発行するときに用いられる。
第2の乱数生成器405は、メンバー登録手段403に乱数を出力する。
図8および図9は、第1の実施形態のメンバー追跡装置を構成する各ブロック間の関係を示す図である。
図8を参照すると、離散対数鍵生成手段501は、乱数生成器504から乱数を受け、その乱数を用いて、有限体上の乗法群の離散対数問題に基づく公開鍵と秘密鍵を計算し、秘密鍵をメンバー追跡秘密鍵としてメンバー追跡秘密情報記憶部502に記録し、公開鍵をメンバー追跡公開鍵としてグループ管理装置1の公開情報開示手段101に出力する。
メンバー追跡秘密情報記憶部502は、離散対数鍵生成手段501で作成した秘密鍵を記憶する。
乱数生成器504は、離散対数鍵生成手段501に乱数を出力する。
図9を参照すると、メンバー追跡手段503は、検証手段301で受理されたグループ署名と、メンバー情報開示手段102にて開示されているメンバー情報と、メンバー追跡秘密情報記憶部502に記憶されている秘密鍵を入力として、グループ署名の署名者を特定する。
以下、第1の実施形態のグループ署名システムの詳細動作について説明する。
まず最初に前処理として、前処理手段103が本システムで共通に用いる公開パラメータを設定する。ここで設定されたパラメータは、後に行われる、署名装置2、メンバー管理手段4、およびメンバー追跡手段5における鍵生成に用いられる。
前処理においては、まず第1の素数p,第2の素数q,第3の素数Pを選ぶ。
このとき、p,q,Pは、
q|p−1, p|P−1
の関係を満たすように選ぶ。
p,q,Pのビット数は、それぞれ
|q|≧160,|p|≧1024,|P|≧1024
が推奨される。
ここで、pを位数とする乗法群Zpの、位数qの部分群Gqを考える。また、Pを位数とする乗法群Z の、位数pの部分群Gpを考える。
そして、Gpから第1の生成元g、第2の生成元h、および第3の生成元fを選ぶ。このとき、gα1α2α3=1となる自明でないα1,α2,α3を知らないように、g,h,fを選ぶ。
同様に、Gpから第4の生成元G、および第5の生成元Hを選ぶ。このとき、Gβ1β2=1となる自明でないβ1,β2を知らないように、G,Hを選ぶ。
また、任意のビット列をkビットに変換する衝突困難ハッシュ関数
Figure 2005071880
を選ぶ。kの値は160が推奨される。
そして、最後に、第1の素数p、第2の素数q、第3の素数P、第1の生成元g、第2の生成元h、第3の生成元f、第4の生成元G、第5の生成元H、および衝突困難ハッシュ関数
Figure 2005071880
を公開情報開示手段101に出力する。
次に、メンバー管理装置4は、離散対数鍵生成手段401により、メンバー登録手段403で用いる離散対数問題に基づく秘密鍵と公開鍵の対を作成する。この秘密鍵がメンバー登録秘密鍵であり、公開鍵がメンバー登録公開鍵である。
これらの作成において、第1の乱数生成器404は前処理手段103で選んだ第2の素数qを位数とする有限体Zqからメンバー登録秘密鍵υをランダムに選び、離散対数鍵生成手段401に入力する。次に、離散対数鍵生成手段401は、第2の生成元hとメンバー登録秘密鍵υから、メンバー登録公開鍵
y=hυmod p
を計算する。すなわち、有限体上の乗法群の離散対数問題に基づく公開鍵と秘密鍵の計算においては、秘密鍵が、素数を位数とする有限体の任意の元であり、公開鍵が、その秘密鍵を離散対数とする値となるように、公開鍵および秘密鍵を選ぶこととなる。
最後に、メンバー登録公開鍵yを公開情報開示手段101に出力し、メンバー登録秘密鍵υをメンバー管理秘密情報記憶部402に厳重に保存する。
同様に、メンバー追跡装置5は、離散対数鍵生成手段501により、メンバー追跡手段503で用いる離散対数問題に基づく秘密鍵と公開鍵の対を作成する。この秘密鍵がメンバー追跡秘密鍵であり、公開鍵がメンバー追跡公開鍵である。
これらの作成において、乱数生成器504は前処理手段103で作成した第2の素数qを位数とする有限体Zqからメンバー追跡秘密鍵εをランダムに選び、離散対数鍵生成手段501に入力する。次に、離散対数鍵生成手段501は、第1の生成元gとメンバー追跡秘密鍵εから、メンバー追跡公開鍵
e=gεmod p
を計算する。最後に、メンバー追跡公開鍵eを公開情報開示手段101に出力し、メンバー追跡秘密鍵εをメンバー追跡秘密情報記憶部502に厳重に保存する。
以上の処理は、システムが動作を開始する際、もしくはシステムを初期化する際に行われる。
前処理および鍵生成の後、署名装置2はメンバー管理装置4との間で通信を行い、後に署名発行に使用する署名鍵とメンバー証明書を取得する。メンバー証明書は、署名装置2の第5の乱数生成器214が選んだ乱数を署名鍵とし、その署名鍵の変換データに対して、メンバー管理装置4が計算したメンバー管理秘密鍵を用いて、例えば、NybergとRueppelによる署名方式(“Message Recovery for Signature Schemes Based on the Discrete Logarithm Problem,” Advances in Cryptology − EUROCRYPT ‘94, pp.182−193)に従って作成した署名データである。この署名データはNyberg−Rueppl署名と称される。このメンバー証明書は第1の要素および第2の要素で構成される。
以下、メンバー証明書の発行を行うメンバー登録手段403および登録手段213の動作の例を示す。
図10は、第1の実施形態によるグループ署名システムのメンバー登録時の動作を示すフローチャートである。
図10を参照すると、署名装置2の登録手段213は、まずステップA101で、第5の乱数生成器214で生成された、第2の素数qを位数とする有限体Zqのいずれかの元σを署名装置2の署名鍵として受け取る。
次に、ステップA102で、署名鍵σの変換データとして
=gσmod p
を計算する。
また、ステップA103で、署名鍵σが第1の生成元gに関する署名鍵の変換データIの離散対数であることの知識署名データspkを計算する。知識署名データspkは、Schnorrの“Efficient Siganture Generation by Smart Cards”(Journal of Cryptology,4,3,pp.161−174)に示された方法を用いて、次のように作成することができる。
有限体Zqから乱数λを選び、(c,s)を次のように計算する。
Figure 2005071880
この計算で得られた
spk = (c、s)
が知識署名データとなる。
また、ステップA104で、署名鍵の変換データIと知識署名データspkを署名装置2が正しく作成したことを示す本人確認データを作成する。このデータには、署名鍵の変換データと知識署名データとの連結データに対するデジタル署名などを使用できる。
デジタル署名関数Sigを用いる場合、本人確認データは
= Sig(I‖spk
となる。デジタル署名関数Sigには、DSA署名やRSA署名などの署名アルゴリズムを使用することができる。
そして、署名装置2は変換データI,知識署名データspk,本人確認データSをメンバー管理装置4に送信する。
メンバー管理装置4は、知識署名データspkと本人確認データSが正しいか否か検証する(ステップA105)。知識署名データspkの正しさは次の等式が成り立つ否かを確認することにより検証できる。
Figure 2005071880
一方、デジタル署名Sの正しさは、Sigに対応するデジタル署名検証関数Verを用いて、
Ver(S,I‖spk)=1
が成り立つか否かを確認することにより検証できる。
両者ともが検証を通過したら処理が継続される。いずれか1つでも検証を通過できなければ、処理が中断される。
検証を通過した後、メンバー管理装置4のメンバー登録手段403は、ランダムに選んだ第2の素数qを位数とする有限体Zqの元ρを第2の乱数生成器405から受け取る(ステップA106)。
次に、ステップA107で、メンバー登録手段403は、受け取った乱数ρとメンバー管理秘密情報記憶部402に記憶されたメンバー管理秘密鍵υと公開情報開示手段101に開示された第2の生成元hとを使って、メンバー証明書(r,ξ)を次のように計算する。
Figure 2005071880
そして、メンバー管理装置4は計算で得たメンバー証明書(r,ξ)を署名装置2に送信する。
ステップA108において、署名装置2は受け取ったメンバー証明書(r,ξ)が正しく作られているか否かを検証する。この検証は、次の等式が成り立つか否かを確認することにより行う。
r=yσξ
検証を通過したら、署名装置2は、メンバー管理装置4にメンバー証明書を確認できた旨を通知する(ステップA109)。そして署名装置2は、署名鍵σを秘密情報記憶部211に保存し、メンバー証明書(r,ξ)をメンバー情報記憶部212に保存する(ステップA110)。
また、メンバー管理装置4は、ステップA109で通知された検証成功通知を受けとると、署名装置2を示すメンバーリストとして、署名鍵の変換データI、知識署名データspk、署名装置2に送信したメンバー証明書(r,ξ)、および本人確認データSをメンバー情報開示手段102に出力する(ステップA111)。この登録処理は署名装置毎に行う。
メンバー証明書および署名鍵の作成が済んだ署名装置2は、メッセージ入力手段209から入力されたグループ署名を施すべき電子文書メッセージmに対し、グループ署名を次のように作成する。
図11は、第1の実施形態による署名装置のグループ署名作成時の動作を示すフローチャートである。
図11を参照すると、ステップA201で、第1の乱数生成器201が有限体Zqから第1の乱数τを生成し、第2の乱数生成器202が有限体Zqから第2の乱数ωを生成し、第3の乱数生成器203が有限体Zpから第3の乱数aを生成する。
次に、ステップA202で、暗号化データ作成手段205は、第1の乱数τとメンバー証明書の第1の要素rとメンバー追跡公開鍵eを入力として、
Figure 2005071880
を計算する。そして、この(g′,e′)を、メンバー証明書の第1の要素rの暗号化データと呼ぶ。
次に、ステップA203で、第1の変換データ作成手段206は、第2の乱数ωとメンバー証明書の第1の要素rを入力として、
Figure 2005071880
を計算する。このh′をメンバー証明書の第1の要素rの第1の変換データと呼ぶ。
同様に、ステップA204で、第2の変換データ作成手段207は、第3の乱数aとメンバー証明書の第1の要素rを入力として、
J:=G mod P
を計算する。このJをメンバー証明書の第1の要素rの第2の変換データと呼ぶ。
これらの暗号化および変換データは乱数を入力として作成しているので、変換データが公開されても、メンバー証明書の第1の要素rに関する情報は一切知られることがない。
これらの処理により、メンバー証明書の第1の要素rは、乱数を用いて秘匿されたことになる。
次に、ステップA205で、知識署名作成手段208が知識署名データを作成する。
知識署名データは、メッセージmを入力として、第1の変換データh′および第2の変換データJがメンバー証明書の第1の要素rの正しい変換であり、かつh′とJが共に同じメンバー証明書の第1の要素rを変換していること、メンバー証明書(r,ξ)をメンバー管理装置4と通信して正しく取得したこと、およびメンバー証明書(r,ξ)に対応する署名鍵σを知っていること、暗号化データ(g′,e′)がメンバー証明書の第1の要素rをメンバー追跡公開鍵eで正しく暗号化したものであることを、メンバー証明書(r,ξ)、署名鍵σ、第1の乱数τ、第2の乱数ω、および第3の乱数aに関する情報を漏らさずに証明することのできるデータである。
本実施形態では、知識署名データは、等式
Figure 2005071880
を満たす(r,ξ,σ,τ,ω,a)を知っていることを、(r,ξ,σ,τ,ω,a)を明かさないままで(すなわち、これらの情報を漏らすことなく)、証明する。
まず最初に、1≦j≦kとして、0からp−1の間から乱数φ2j−1を選ぶ。また、
φ2j:=φ2j−1−p
とおく。
そして、次に、
r+φ2j∈[0,p−1]
が成り立つか否か確認する。このとき、
Figure 2005071880
であれば、φ2j−1とφ2jを交換し、
r+φ2j−1∈[0,p−1]
となるように値を置き換える。
また、有限体Zqから乱数ψ2j−1,ψ2jを、有限体Zpから乱数η2j−1,η2jをランダムに選ぶ。これらの乱数を用いて、1≦j≦kについて次の値を計算する。
Figure 2005071880
次に、有限体Zqの元t1,t2,t3,t4,t5をランダムに選び、それらを用いて、
Figure 2005071880
を計算する。
また、1≦j≦kについて、有限体Zqから乱数γjを、有限体Zpから乱数uを選び、
Figure 2005071880
を計算する。また、
Figure 2005071880
を計算する。
そして、これらの値から知識署名データ
Figure 2005071880
、および、c[j]=0のとき
Figure 2005071880
、c[j]=1のとき、
Figure 2005071880
を計算する。ここで、c[j]はcのj番目のビットの値を表す。
cおよび(v,v,v,v,v,v,・・・,v6k−5,v6k−4,v6k−3,v6k−2,v6k−1,v6k)の部分は、メンバー証明書の第1の要素rを第2の乱数ωおよび第3の乱数aを用いて正しく変換していることと、2つの式で変換されているrが同じrであることを証明する。つまり、
Figure 2005071880
であることを示している。
cおよび(s1,s2,s3,s4,s5)の部分は、メンバー証明書(r,ξ)と署名鍵ωを正しく作成したことを証明する。つまり、
Figure 2005071880
であることを示している。
cおよび(w,・・・,w,z,・・・,z)の部分は、第2の変換データJで変換されたメンバー証明書の第1の要素rを暗号化データ(g′,e′)で正しく暗号化していることを証明する。つまり、
Figure 2005071880
であることを示している。
最後に、署名出力手段210は、ステップA206で、暗号化データ(g′,e′)、第1の変換データh′、第2の変換データJ、知識署名データ(c,v,v,v,v,v,v,・・・v6k−5,v6k−4,v6k−3,v6k−2,v6k−1,v6k,s,s,s,s,s,w,・・・w,z,・・・z)をグループ署名として出力する。
検証手段301は、与えられたグループ署名が正しく作られたものであるか否かを確認する。この検証は、グループ署名に含まれる知識署名データを検証することにより行う。
知識署名データの検証では、与えられたグループ署名の署名者が、メンバー登録手段403と通信することで作成したメンバー証明書(r,ξ)および署名鍵σを正しく所有しているか否かを確認することができる。しかし、グループ署名データ内では、メンバー証明書(r,ξ)および署名鍵σは乱数を用いて秘匿されているので、登録された署名装置のうちどの装置が署名を作成したかの情報は検証を通じても得ることができない。
本実施の形態では、知識署名データの検証は、次の等式が成り立つか否かの確認により行う。
Figure 2005071880
ここで、
Figure 2005071880
である。
そして、知識署名データが正しいことが確認できたら、そのグループ署名を受理する。知識署名データが正しくなければ、署名を不受理とする。
メンバー追跡装置5では、メンバー追跡手段503が、検証装置301で受理されたグループ署名の実際の署名者を特定する。
まず、メンバー追跡秘密情報記憶部502に記憶されたメンバー追跡秘密鍵εを用いて、
Figure 2005071880
を計算し、グループ署名の暗号化データ(g′,e′)から与えられた署名の署名者を表すメンバー証明書の第1の要素
Figure 2005071880
を復号する。また、それと同時に、メンバー追跡秘密情報記憶部502に記憶されたメンバー追跡秘密鍵εを用いて、復号結果
Figure 2005071880
が暗号化データ(g′,e′)をメンバー追跡秘密鍵εを用いて正しく復号した結果であることの証明データを次のように作成する。
有限体Zqから乱数δを選び、
Figure 2005071880
を計算する。この(c,s)が証明データとなる。この証明データによる証明で、メンバー追跡装置5がグループ署名から
Figure 2005071880
を正しく復号したことが保証されることとなる。
次に、メンバー情報開示手段102に開示されたメンバーリスト{,spk,r,ξ,SU>}の中から、復号されたメンバー証明書の第1の要素
Figure 2005071880
と同一のメンバー証明書の第1の要素rを含むメンバーリスト(I,spk,r,ξ,S)を検索する。検索できたら、合致したメンバーリストに対応する署名装置を、そのグループ署名の署名者であると特定する。
なお、本実施形態において、メンバー管理装置4とメンバー追跡装置5はグループ管理装置1の中に含まることとしてもよい。また、演算に用いている有限体上の乗法群の代わりに、楕円曲線上の有限群を用いることとしてもよい。
以上説明したように、本実施形態によれば、暗号化データ作成手段205、第1の変換データ作成手段206、および第2の変換データ作成手段207にて、メンバー証明書に関する情報を、後にグループ署名の要素として開示されることのない乱数を用いて秘匿しているので、メンバー追跡に必要な秘密情報を持たない装置はグループ署名データから署名者に関する情報を得ることができず、安全確実なグループ署名を提供することができ、また、メンバー管理装置4が署名者を特定することができず、グループ管理装置の機能をメンバー管理装置4とメンバー追跡装置5に安全に分割することができる。
次に、本発明の第2の実施形態について図面を参照して詳細に説明する。
図12は、第2の実施形態のグループ署名システムの構成例を示すブロック図である。図12を参照すると、第2の実施形態のグループ署名システムは、グループ管理装置1、署名装置2、検証装置3、第1〜3のメンバーサブ管理装置6〜8、第1〜3のメンバーサブ追跡装置9〜11を有する。
本実施形態では、メンバーサブ管理装置およびメンバーサブ追跡装置をそれぞれ3つずつに分散する場合を例に説明するが、各装置の数に制限はない。第1〜3のメンバーサブ管理装置6〜8の間、および第1〜3のメンバーサブ追跡装置間9〜11の間は、相互にブロードキャストチャネルで結ばれている。そして、第1〜3のメンバーサブ管理装置6〜8は、機能を分散して、グループメンバーの登録処理を行う。第1〜3のメンバーサブ追跡装置9〜11は、機能を分散して、グループ署名から署名を作成したメンバーを特定する。
グループ管理装置1は、第1の実施形態と同様の構成を有し、システム全体で使用する公開情報を開示する。署名装置2は第1の実施形態と同様の構成を有している。また、検証装置3は第1の実施形態と同様の構成を有している。
第1〜3のメンバーサブ管理装置6〜8の各々は、分散離散対数鍵生成手段601,701,801、分散登録秘密情報記憶部602,702,802、分散メンバー登録手段603,703,803、および乱数生成器604,704,804を有している。以下簡単のため、メンバーサブ管理装置6について説明する。
分散離散対数鍵生成手段601は、他のメンバーサブ管理装置と通信を行いながら、分散メンバーサブ管理手段603で用いる分散登録秘密鍵を生成し、分散登録秘密情報記憶部602に出力する。
分散登録秘密情報記憶部602は、分散離散対数鍵生成手段601で生成した分散登録秘密鍵を記憶する。
分散メンバー登録手段603は、署名装置2と通信を行いながら、その署名装置2に対してメンバー証明書を発行する。ただし、分散メンバー登録手段603が出力するメンバー証明書は、単体ではメンバー証明書としての機能を持たない。署名装置2は各メンバー管理装置から受け取ったメンバー証明書から後に使用するメンバー証明書を計算することができる。
乱数生成器604は、分散離散対数鍵生成手段601および分散メンバー登録手段603で使用する乱数を生成する。
第1、第2、第3のメンバーサブ追跡装置9、10、11の各々は、分散離散対数鍵生成手段901,1001,1101、分散追跡秘密情報記憶部902,1002,1102、分散メンバー追跡手段903,1003,1103、乱数生成器904,1004,1104を有している。以下簡単のため、メンバーサブ追跡装置9について説明する。
分散離散対数鍵生成手段901は、他のメンバーサブ追跡装置と通信を行いながら、分散メンバー追跡手段903で用いる分散追跡秘密鍵を生成し、分散追跡秘密情報記憶部902に出力する。
分散追跡秘密情報記憶部902は、分散離散対数鍵生成装置901で生成した分散追跡秘密鍵を記憶する。
分散メンバー追跡手段903は、他のメンバーサブ追跡装置と通信を行いながら、検証装置3の検証手段301で受理されたグループ署名と、分散追跡秘密情報記憶部902に記憶された分散追跡秘密鍵と、メンバー情報開示手段102で開示されたメンバー情報とを入力として、グループ署名の署名者を特定し出力する。
乱数生成器904は、分散離散対数鍵生成手段901および分散メンバー追跡手段903で使用する乱数を生成する。
以下、第2の実施形態のグループ署名システムの詳細動作について説明する。
まず最初に前処理として、第1の実施形態と同様に、グループ管理装置1の前処理手段103が公開情報
Figure 2005071880
を生成し、それを公開情報開示手段101が開示する。
次に、第1、第2、第3のメンバーサブ管理装置6、7、8の分散離散対数鍵生成手段601、701、801の各々が、メンバー登録に用いる公開鍵と分散秘密鍵を作成し、分散秘密鍵を分散登録秘密情報記憶部602、702、802に記録する。分散秘密鍵は、単体では秘密鍵としての役割を果たさないが、3つのメンバーサブ管理装置6、7、8の全てが正しく動作することにより、第1の実施形態のメンバー登録秘密鍵を使った処理と同様の機能を果たす。
本実施形態では、一例として、Pedersenの“A Threshold Cryptosystem Without a Trusted Party”(Advances in Cryptology−EUROCRYPT‘91,pp.522−526)に示された離散対数問題に基づく暗号系の分散秘密鍵生成方法に従った鍵生成手段を示す。
第1、第2、第3のメンバーサブ管理装置6、7、8の各々は、まず、Zq上の2次の多項式をランダムに選ぶ。ここで、第1のメンバーサブ管理装置6は多項式f(z)を選ぶ。
Figure 2005071880
第2、第3のメンバーサブ管理装置7、8も、それと同様にf(z)、f(z)をそれぞれ選ぶ。
第1のメンバーサブ管理装置6は、
Figure 2005071880
を第2のメンバーサブ管理装置7および第3のメンバーサブ管理装置8に送信する。
同様に、第2のメンバーサブ管理装置7はH21,H22,H23を第1および第3のメンバーサブ管理装置6、8に送り、第3のメンバーサブ管理装置8はH31,H32,H33を第1および第2のメンバーサブ管理装置6、7に送る。
ここでa10,a20,a30をそれぞれυ,υ,υと表記すると、υ,υ,υがそれぞれのメンバーサブ管理装置6、7、8の分散登録秘密鍵となる。また、
Figure 2005071880
が公開情報開示手段101に出力される。
そして、第1のメンバーサブ管理装置6は
Figure 2005071880
を第2のメンバーサブ管理装置7に、
Figure 2005071880
を第3のメンバーサブ管理装置8に、他の装置に内容を知られないよう秘密に、それぞれ送信する。
同様に、第2のメンバーサブ管理装置7は
Figure 2005071880
を第1のメンバーサブ管理装置6に、
Figure 2005071880
を第3のメンバーサブ管理装置8に、秘密に、送信する。また、第3のメンバーサブ管理装置7は
Figure 2005071880
を第1のメンバーサブ管理装置6に、
Figure 2005071880
を第2のメンバーサブ管理装置7に、秘密に、送信する。
これにより、第1のメンバーサブ管理装置6は、第2のメンバーサブ管理装置7からH21,H32,H23および
Figure 2005071880
を、第3のメンバーサブ管理装置8からH31,H32,H33および
Figure 2005071880
をそれぞれ受け取ることになる。
そして、第1のメンバーサブ管理装置6は他のメンバーサブ管理装置から受け取った
Figure 2005071880
および
Figure 2005071880
を検証する。この検証は次の等式を満たすか否かを確認することにより行なわれる。
Figure 2005071880
メンバーサブ管理装置の各々は、この検証に失敗すると、その値の送り元のメンバーサブ管理装置に対して、検証失敗の旨を通知する。他の2つのメンバーサブ管理装置の双方から検証失敗の通知を受けたメンバーサブ管理装置は管理者としての資格を失う。
また、他のメンバーサブ管理装置のいずれか一方のみから検証失敗の通知を受けた場合、例えば、第1のメンバーサブ管理装置6のみが第2のメンバーサブ管理装置7の検証に失敗した場合には、第2のメンバーサブ管理装置7は、検証式を満たす
Figure 2005071880
を再び第1のメンバーサブ管理装置6に送信する。この
Figure 2005071880
が第1のメンバーサブ管理装置6にて検証式を満たさないとき、第2のメンバーサブ管理装置7は管理者としての資格を失う。第2のメンバーサブ管理装置7が資格を失った場合、υ=0,y=1として、それ以降の処理を続ける。
メンバーサブ管理装置に共通のメンバー登録公開鍵yは、
y=y・y・y・mod p
として計算する。つまり、各メンバーサブ管理装置6、7、8は、自身の分散登録秘密鍵が、素数を位数とする有限体の元を求めるための複数に分散された値のうちの自身に割り当てる1つであり、かつ、登録公開鍵が、その複数の分散登録秘密鍵から定まる元を離散対数とする値となるように、登録公開鍵と分散登録秘密鍵を求める。このとき、登録公開鍵は有限体上の乗法群の元となる。
そして、公開鍵yをグループ管理装置1の公開情報開示手段101に開示させ、第1、第2、第3のメンバーサブ管理装置6、7、8の各々は、υ,υ,υを分散登録秘密鍵として、それぞれの分散登録秘密情報記憶部602、702、802に記憶する。
同様に、第1、第2、第3のメンバーサブ追跡装置9、10、11の分散離散対数鍵生成手段901、1001、1101は、メンバー追跡に用いる公開鍵と分散秘密鍵を作成する。そして、分散秘密鍵をメンバー追跡秘密鍵として、分散追跡秘密情報記憶部902、1002、1102に記憶する。また、公開鍵をメンバー追跡公開鍵としてグループ管理装置1の公開情報開示手段101に開示させる。ここでメンバー追跡公開鍵はeと表し、それぞれのメンバーサブ追跡装置が持つ秘密鍵をε,ε,εと表す。
前処理および鍵生成の後、署名装置2は第1、第2、第3のメンバーサブ管理装置6、7、8との間で通信を行い、第1の実施形態と同様に、メンバー証明書(r,ξ)および秘密鍵σを取得する。
署名装置2の登録手段213は、図10のステップA101からA104と同様の動作により、第5の乱数生成器214で生成した有限体Zqから選んだ乱数σを署名鍵とし、署名鍵の変換データI、知識署名データspk、および本人確認データSを作成する。そして、署名装置2は変換データI、知識署名データspk、および本人確認データSを第1、第2、第3のメンバーサブ管理装置6、7、8のすべてに送信する。
変換データI、知識署名データspk、および本人確認データSを受け取った第1、第2、第3のメンバーサブ管理装置6、7、8はそれぞれ、図10のステップA105と同様に、知識署名データspkと本人確認データSが正しいかどうか検証する。
それらの双方が検証を通過したら以降の処理を続ける。検証を通過しなければ処理が中断される。
検証の後、第1、第2、第3のメンバーサブ管理装置6、7、8は、分散メンバー管理秘密鍵の生成と同様に、有限体Zqの元である乱数kに対応する分散情報k,k,kを計算する。また、第1のメンバーサブ管理装置6は
Figure 2005071880
を、第2のメンバーサブ管理装置7は
Figure 2005071880
を、第3のメンバーサブ管理装置8は
Figure 2005071880
を公開情報開示手段101に出力する。また、
t=t・t・t mod p
も公開情報開示手段101にて開示される。
次に、第1、第2、第3のメンバーサブ管理装置6、7、8は、公開情報tを用いて、メンバー証明書の第1の要素
Figure 2005071880
を計算する。rは公開情報tを入力として計算されるため、すべてのメンバーサブ管理者で等しい値が得られる。また、分散生成した乱数k,k,kと分散登録秘密情報記憶部602、702、802に記憶された分散秘密鍵υ,υ,υを用いて、第1、第2、第3のメンバーサブ管理装置6、7、8の各々は
Figure 2005071880
の各々を計算する。そして、第1のメンバーサブ管理装置6は(r,ξ)を、第2のメンバーサブ管理装置7は(r,ξ)を、第3のメンバーサブ管理装置8は(r,ξ)を署名装置2にそれぞれ送信する。
署名装置2は、受け取ったメンバー証明書(r,ξ),(r,ξ),(r,ξ)が正しく作られているか否かを、
Figure 2005071880
が満たされるか否かを確認することにより検証する。この検証を通過したら、署名装置2は第1、第2、第3のメンバーサブ管理装置6、7、8にメンバー証明書を確認できた旨を通知する。その後、署名装置2は、第1、第2、第3のメンバーサブ管理装置6、7、8から受け取った全てのメンバー証明書の第2の要素を入力として、
ξ=ξ+・・・+ξ
を計算する。そして署名装置2は、(r,ξ)をメンバー証明書としてメンバー情報記憶部212に記憶する。また、署名鍵σを秘密情報記憶部211に記憶する。
またメンバー管理装置4は、検証成功の通知を受けると、署名装置2を示すメンバーリストとして、署名装置2に送信したメンバー証明書、署名装置2から受け取った署名鍵の変換データ、知識署名データ、本人確認データをメンバー情報開示手段102に出力する。
本実施形態では、署名装置2における署名作成、検証装置3における署名検証は第1の実施形態と同様に行われる。
第1、第2、第3のメンバーサブ追跡装置9、10、11のメンバー追跡装置903、1003、1103は次のように動作する。
第1、第2、第3のメンバーサブ追跡装置9、10、11は、まず、与えられたグループ署名に含まれる暗号化データ(g′,e′)の復号を行う。各メンバーサブ追跡装置9、10、11の各々は、分散追跡秘密情報記憶部902、1002、1102の各々に記憶された分散追跡秘密鍵ε,ε,εを用いて、
Figure 2005071880
をそれぞれ計算する。これらを用いて、
Figure 2005071880
を計算すると、与えられたグループ署名の署名者に該当するメンバー証明書の復号結果
Figure 2005071880
を得ることができる。そして、第1の実施形態と同様に、メンバー情報開示手段102に開示されたメンバーリスト{,spk,r,ξ,SU>}の中から、復号されたメンバー証明書の第1の要素
Figure 2005071880
と同一の、メンバー証明書の第1の要素rを含むメンバーリスト(I,spk,r,ξ,S)を検索し、合致したメンバーリストに対応する署名装置2を署名者と特定する。
なお、本実施形態では、メンバーサブ管理装置およびメンバーサブ追跡装置が3つずつであり、これら全ての装置が正しく動作っしたときに正しい処理が行われる。これを一般化して、メンバーサブ管理装置およびメンバーサブ追跡装置をn個ずつとした場合、
t<n/2
とおいて、鍵生成の際に第iのメンバーサブ管理装置もしくはメンバーサブ追跡装置が選ぶ多項式を
Figure 2005071880
とすれば、t個以上のメンバーサブ管理装置もしくはメンバーサブ追跡装置が正しく動作したときにのみ、正しくメンバー登録および追跡処理を行うことができるものとなる。
以上説明したように、本実施形態によれば、メンバー管理装置の機能は複数のメンバーサブ管理装置に分散され、複数のメンバーサブ管理装置がメンバー証明書を計算するために使用する秘密鍵は、離散対数問題に基づく暗号系から選ばれるため、メンバーサブ管理装置の分散秘密鍵生成と分散メンバー登録処理の計算量が低減され、メンバーサブ管理装置の各々の負荷を低減することができる。
また、本実施形態によれば、メンバー追跡装置の機能は複数のメンバーサブ追跡装置に分散され、複数のメンバーサブ追跡装置が署名者の特定に用いる秘密鍵は、離散対数問題に基づく暗号系から選ばれるため、メンバーサブ管理装置の分散秘密鍵生成と署名者特定の分散した処理の計算量が低減され、メンバーサブ追跡装置の各々の負荷を低減することができる。
本発明によれば、署名装置が、メンバー証明書に関する情報を、グループ署名の要素として開示されない乱数を用いて秘匿するため、メンバー追跡に必要な秘密鍵を持たない装置はそれを解読できないので、特別な装置(メンバー追跡装置)以外はグループ署名から署名者を特定することができず、安全確実なグループ署名を提供することができる。また、メンバー登録を管理する機能と、グループ署名の署名者を特定する機能をグループ管理装置から分割する場合に、安全に分割することができる。また、メンバー管理装置の機能は複数のメンバーサブ管理装置に分散され、複数のメンバーサブ管理装置がメンバー証明書を計算するために使用する秘密鍵は、離散対数問題に基づく暗号系から選ばれるため、メンバーサブ管理装置の分散秘密鍵生成と分散メンバー登録処理の計算量が低減され、メンバーサブ管理装置の各々の負荷を低減することができる。また、メンバー追跡装置の機能は複数のメンバーサブ追跡装置に分散され、複数のメンバーサブ追跡装置が署名者の特定に用いる秘密鍵は、離散対数問題に基づく暗号系から選ばれるため、メンバーサブ管理装置の分散秘密鍵生成と署名者特定の分散した処理の計算量が低減され、メンバーサブ追跡装置の各々の負荷を低減することができる。

Claims (12)

  1. 署名者がグループに登録されたメンバーであることを証明することのできるグループ署名を作成し、グループ署名の署名者が前記グループのメンバーであるか否か確認するグループ署名システムであって、
    システム内で共通に利用する公開情報を他の装置から参照可能に開示するグループ管理装置と、
    第1の要素及び第2の要素を含むメンバー証明書の前記第1の要素を第1の乱数と前記グループ管理装置にて開示されている前記公開情報とを用いて暗号化して暗号化データを作成し、前記第1の要素を第2の乱数および前記公開情報を用いて変換して第1の変換データを作成し、前記第1の要素を第3の乱数および前記公開情報を用いて変換して第2の変換データを作成し、署名を付加すべきメッセージ、第4の乱数、前記暗号化データ、前記第1の変換データ、前記第2の変換データ、署名の作成に用いる秘密鍵である署名鍵、前記第1の要素、および前記第2の要素から、知識署名データを作成し、前記暗号化データ、前記第1の変換データ、前記第2の変換データ、および前記知識署名データをグループ署名として前記メッセージと共に出力する署名装置と、
    メッセージおよびグループ署名と、前記グループ管理装置にて開示されている前記公開情報とから、前記グループ署名が、前記グループに登録されているいずれかのメンバーのメンバー証明書に含まれる第1の要素および第2の要素と前記署名鍵を用いて作成されたものか否かを検証する検証装置とを有するグループ署名システム。
  2. 前記署名装置は、前記暗号化データ、前記第1の変換データ、および前記第2の変換データが同じ値を元に作成されていることを証明可能でありかつ前記第1の要素、前記第2の要素、および前記署名鍵に関する情報を知られることのないデータとして、前記知識署名データを作成し、
    前記検証装置は、前記グループ署名が、前記グループに登録されているいずれかのメンバーのメンバー証明書に含まれる第1の要素および第2の要素と前記署名鍵を用いて作成されたものか否かを、前記第1の要素、前記第2の要素、および前記署名鍵に関する情報を用いることなく、検証することを特徴とする請求項1に記載のグループ署名システム。
  3. 新たなメンバーを前記グループに登録するとき、素数を位数とする有限体の元となるようにメンバー登録秘密鍵を選び、前記メンバー登録秘密鍵を離散対数とし、有限体上の乗法群の元であるメンバー登録公開鍵を前記メンバー登録秘密鍵から求め、前記メンバー登録公開鍵を公開情報として前記グループ管理装置に通知し、前記メンバー登録秘密鍵を自身で記憶すると共に、該メンバー登録秘密鍵を用いてメンバー証明書を作成し、前記署名装置に通知するメンバー管理装置をさらに有する、請求項1または請求項2に記載のグループ署名システム。
  4. 前記メンバー証明書は、前記署名鍵を離散対数とする、前記署名鍵の変換データに対して前記メンバー登録秘密鍵を用いて作成したNyberg−Rueppel署名である、請求項3に記載のグループ署名システム。
  5. 前記グループ管理装置は、前記公開情報に加えて、前記メンバー管理装置から通知された前記メンバー情報を他の装置から参照可能に開示する、請求項3または請求項4に記載のグループ署名システム。
  6. 新たなメンバーを前記グループに登録するとき、素数を位数とする有限体の所定の元の、複数に分散された値のうちの1つを自身の分散メンバー登録秘密鍵として割り当て、前記分散メンバー登録秘密鍵を自身で記憶すると共に、前記元を離散対数とする値をメンバー登録公開鍵とする、複数のメンバーサブ管理装置をさらに有し、
    前記署名装置は、複数の前記メンバーサブ管理装置と通信することによりメンバー証明書を取得し、
    前記グループ管理装置は、前記メンバー登録公開鍵を取得する、請求項1または請求項2に記載のグループ署名システム。
  7. 素数を位数とする有限体の元となるようにメンバー追跡秘密鍵を選び、前記メンバー追跡秘密鍵を離散対数とし、有限体上の乗法群の元であるメンバー追跡公開鍵を前記メンバー追跡秘密鍵から求め、前記メンバー追跡公開鍵を前記公開情報として前記グループ管理装置に通知し、前記メンバー追跡秘密鍵を自身で記憶しておき、グループ署名の署名者を特定するとき、前記グループ署名に含まれている暗号化データを前記メンバー追跡秘密鍵を用いて復号し、復号結果と前記グループ管理装置にて開示されているいずれかの前記メンバー証明書の第1の要素とが一致すれば該メンバー証明書のメンバーを署名者と特定するメンバー追跡装置をさらに有し、
    前記グループ管理装置は前記メンバー証明書を前記メンバー情報として開示しており、
    前記署名装置は前記第1の要素を暗号化して前記暗号化データを作成するとき前記公開情報として前記メンバー追跡公開鍵を用いる、請求項1から請求項6のいずれか1項に記載のグループ署名システム。
  8. 自身の分散メンバー追跡秘密鍵が、素数を位数とする有限体の元の複数に分散された値のうちの自身に割り当てる1つであり、メンバー追跡公開鍵が、前記有限体の元を離散対数とし、有限体上の乗法群の元となるように、前記分散メンバー追跡秘密鍵を求め、前記分散メンバー追跡秘密鍵を自身で記憶する複数のメンバーサブ追跡装置をさらに有し、
    前記署名装置は前記第1の要素を暗号化して前記暗号化データを作成するとき前記公開情報として前記メンバー追跡公開鍵を用い、
    前記グループ管理装置は前記メンバー証明書を前記メンバー情報として開示しており、
    グループ署名の署名者を特定するとき、前記メンバーサブ追跡装置の各々が前記グループ署名に含まれている暗号化データに対して自身の前記分散メンバー追跡秘密鍵を用いて所定の計算をした結果から求まる復号結果と、前記グループ管理装置にて開示されているいずれかの前記メンバー証明書の第1の要素とが一致すれば該メンバー証明書のメンバーを署名者と特定する、請求項1から請求項6のいずれか1項に記載のグループ署名システム。
  9. 前記有限体上の乗法群に代えて楕円曲線上の有限群を用いる、請求項3、6、7、8のいずれか1項に記載のグループ署名システム。
  10. グループ管理装置、署名装置、および検証装置を有するグループ署名システムにおいて、署名者がグループに登録されたメンバーであることを証明することのできるグループ署名を作成し、グループ署名の署名者が前記グループのメンバーであるか否か確認するためのグループ署名方法であって、
    前記グループ管理装置において、
    システム内で共通に利用する公開情報を他の装置から参照可能に開示するステップと、
    前記署名装置において、
    第1の要素および第2の要素を含むメンバー証明書を記憶するステップと、
    前記第1の要素を第1の乱数と前記グループ管理装置にて開示されている前記公開情報とを用いて暗号化して暗号化データを作成するステップと、
    前記第1の要素を第2の乱数および前記公開情報を用いて変換して第1の変換データを作成するステップと、
    前記第1の要素を第3の乱数および前記公開情報を用いて変換して第2の変換データを作成するステップと、
    署名を付加すべきメッセージ、第4の乱数、前記暗号化データ、前記第1の変換データ、前記第2の変換データ、署名の作成に用いる秘密鍵である署名鍵、前記第1の要素、および前記第2の要素から、前記暗号化データ、前記第1の変換データ、および前記第2の変換データが同じ値を元に作成されていることを証明可能でありかつ前記第1の要素、前記第2の要素、および前記署名鍵に関する情報を知られることのない知識署名データを作成するステップと、
    前記暗号化データ、前記第1の変換データ、前記第2の変換データ、および前記知識署名データをグループ署名として前記メッセージと共に出力するステップと、
    前記検証装置において、
    メッセージおよびグループ署名と、前記グループ管理装置にて開示されている前記公開情報とから、前記グループ署名が、前記グループに登録されているいずれかのメンバーのメンバー証明書に含まれる第1の要素および第2の要素と前記署名鍵を用いて作成されたものか否かを、前記第1の要素、前記第2の要素、および前記署名鍵に関する情報を用いることなく検証するステップとを有するグループ署名方法。
  11. システム内で共通に利用する公開情報を他の装置から参照可能に開示するグループ管理装置、およびグループ署名の署名者がグループのメンバーであるか否か確認する検証装置と共にグループ署名システムを構成し、前記署名者が前記グループに登録されたメンバーであることを証明することのできるグループ署名を作成するグループ署名装置であって、
    第1の要素および第2の要素を含むメンバー証明書を記憶するメンバー情報記憶手段と、
    前記第1の要素を第1の乱数と前記グループ管理装置にて開示されている前記公開情報とを用いて暗号化して暗号化データを作成する暗号化データ作成手段と、
    前記第1の要素を第2の乱数および前記公開情報を用いて変換して第1の変換データを作成する第1の変換データ作成手段と、
    前記第1の要素を第3の乱数および前記公開情報を用いて変換して第2の変換データを作成する第2の変換データ作成手段と、
    署名を付加すべきメッセージ、第4の乱数、前記暗号化データ、前記第1の変換データ、前記第2の変換データ、署名の作成に用いる秘密鍵である署名鍵、前記第1の要素、および前記第2の要素から、前記暗号化データ、前記第1の変換データ、および前記第2の変換データが同じ値を元に作成されていることを証明可能でありかつ前記第1の要素、前記第2の要素、および前記署名鍵に関する情報を知られることのない知識署名データを作成する知識署名作成手段と、
    前記暗号化データ、前記第1の変換データ、前記第2の変換データ、および前記知識署名データをグループ署名として前記メッセージと共に出力する署名出力手段とを有するグループ署名装置。
  12. システム内で共通に利用する公開情報を他の装置から参照可能に開示するグループ管理装置、およびグループ署名の署名者がグループのメンバーであるか否か確認する検証装置と共にグループ署名システムを構成するグループ署名装置として動作させ、前記署名者が前記グループに登録されたメンバーであることを証明することのできるグループ署名を作成させるために、コンピュータに実行させるグループ署名プログラムであって、
    メンバー情報記憶手段が、第1の要素および第2の要素を含むメンバー証明書を記憶する処理と、
    暗号化データ作成手段が、前記第1の要素を第1の乱数と前記グループ管理装置にて開示されている前記公開情報とを用いて暗号化して暗号化データを作成する処理と、
    第1の変換データ作成手段が、前記第1の要素を第2の乱数および前記公開情報を用いて変換して第1の変換データを作成する処理と、
    第2の変換データ作成手段が、前記第1の要素を第3の乱数および前記公開情報を用いて変換して第2の変換データを作成する処理と、
    知識署名作成手段が、署名を付加すべきメッセージ、第4の乱数、前記暗号化データ、前記第1の変換データ、前記第2の変換データ、署名の作成に用いる秘密鍵である署名鍵、前記第1の要素、および前記第2の要素から、前記暗号化データ、前記第1の変換データ、および前記第2の変換データが同じ値を元に作成されていることを証明可能でありかつ前記第1の要素、前記第2の要素、および前記署名鍵に関する情報を知られることのない知識署名データを作成する処理と、
    署名出力手段が、前記暗号化データ、前記第1の変換データ、前記第2の変換データ、および前記知識署名データをグループ署名として前記メッセージと共に出力する処理とを有するグループ署名プログラム。
JP2005517332A 2004-01-23 2005-01-21 グループ署名システム、方法、装置、およびプログラム Expired - Fee Related JP4692284B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005517332A JP4692284B2 (ja) 2004-01-23 2005-01-21 グループ署名システム、方法、装置、およびプログラム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2004016006 2004-01-23
JP2004016006 2004-01-23
PCT/JP2005/001177 WO2005071880A1 (ja) 2004-01-23 2005-01-21 グループ署名システム、方法、装置、およびプログラム
JP2005517332A JP4692284B2 (ja) 2004-01-23 2005-01-21 グループ署名システム、方法、装置、およびプログラム

Publications (2)

Publication Number Publication Date
JPWO2005071880A1 true JPWO2005071880A1 (ja) 2007-09-06
JP4692284B2 JP4692284B2 (ja) 2011-06-01

Family

ID=34805474

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005517332A Expired - Fee Related JP4692284B2 (ja) 2004-01-23 2005-01-21 グループ署名システム、方法、装置、およびプログラム

Country Status (5)

Country Link
US (1) US20090024852A1 (ja)
EP (1) EP1710954A4 (ja)
JP (1) JP4692284B2 (ja)
CA (1) CA2554368A1 (ja)
WO (1) WO2005071880A1 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7349538B2 (en) * 2002-03-21 2008-03-25 Ntt Docomo Inc. Hierarchical identity-based encryption and signature schemes
JP2007004461A (ja) * 2005-06-23 2007-01-11 Nec Corp サービス提供システム、アウトソーシング業者装置、サービス提供方法およびプログラム
JP4876075B2 (ja) * 2005-11-08 2012-02-15 パナソニック株式会社 認証システム、署名生成装置、署名検証装置
US7525425B2 (en) * 2006-01-20 2009-04-28 Perdiem Llc System and method for defining an event based on relationship between an object location and a user-defined zone
CN101286840B (zh) * 2008-05-29 2014-07-30 西安西电捷通无线网络通信股份有限公司 一种利用公钥密码技术的密钥分配方法及其系统
US8233622B2 (en) * 2008-06-18 2012-07-31 International Business Machines Corporation Transmitting parallel data via high-speed serial interconnection
US8499154B2 (en) * 2009-01-27 2013-07-30 GM Global Technology Operations LLC System and method for establishing a secure connection with a mobile device
US9065637B2 (en) * 2012-01-25 2015-06-23 CertiVox Ltd. System and method for securing private keys issued from distributed private key generator (D-PKG) nodes
US10515231B2 (en) * 2013-11-08 2019-12-24 Symcor Inc. Method of obfuscating relationships between data in database tables
US10333696B2 (en) 2015-01-12 2019-06-25 X-Prime, Inc. Systems and methods for implementing an efficient, scalable homomorphic transformation of encrypted data with minimal data expansion and improved processing efficiency
US10572654B2 (en) * 2016-01-11 2020-02-25 Vadim Zaver Method for a repeatable creation of a random file
US10341098B2 (en) * 2017-01-24 2019-07-02 Nxp B.V. Method of generating cryptographic key pairs
FR3075538A1 (fr) * 2017-12-19 2019-06-21 Orange Procede cryptographique de signature de groupe
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数字签名算法的群签名标识签发方法
CN109981293B (zh) * 2019-03-28 2022-09-27 郑州师范学院 一种成员撤销处理方法、装置、设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003348081A (ja) * 2002-05-30 2003-12-05 Hideki Imai デジタル署名方法およびシステム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100438257B1 (ko) * 1997-01-28 2004-07-02 마츠시타 덴끼 산교 가부시키가이샤 메시지 복원형 서명장치
JP3622433B2 (ja) * 1997-08-05 2005-02-23 富士ゼロックス株式会社 アクセス資格認証装置および方法
US7093133B2 (en) * 2001-12-20 2006-08-15 Hewlett-Packard Development Company, L.P. Group signature generation system using multiple primes
JP4574957B2 (ja) * 2002-05-30 2010-11-04 株式会社東芝 グループ管理機関装置、利用者装置、サービス提供者装置及びプログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003348081A (ja) * 2002-05-30 2003-12-05 Hideki Imai デジタル署名方法およびシステム

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
JPN6011003497, 加藤隆充,廣瀬勝一,美濃導彦,池田克夫, ""ElGamalの公開鍵暗号系に基づくグループによる署名のプロトコル"", 1992年電子情報通信学会−創立75周年記念大会−秋季大会講演論文集, 19920915, 〔分冊1〕,基礎・境界,A−184, p.1・187, JP, 社団法人電子情報通信学会 *
JPN7011000250, 米沢祥子,古川潤, ""管理者分散に適したグループ署名方式"", 2004年暗号と情報セキュリティシンポジウム(SCIS2004)予稿集CD−ROM, 20040127, 3C4 匿名性提供型署名, 3C4−1, JP *
JPN7011000251, Kozue Umeda, Atsuko Miyaji, ""A Group Signatue Scheme based on Nyberg−Rueppel Signatures"", 暗号と情報セキュリティシンポジウム(SCIS2003)講演論文集CD−ROM, 20030126, 5C 署名(4), 5C−1, JP *
JPN7011000252, 菊地浩明,多田美奈子,中西祥八郎, ""リング署名プロトコルにおける署名者開示"", 情報処理学会研究報告, 20030228, Vol.2003,No.18, p.149−153, JP, 社団法人情報処理学会[online] *

Also Published As

Publication number Publication date
JP4692284B2 (ja) 2011-06-01
CA2554368A1 (en) 2005-08-04
US20090024852A1 (en) 2009-01-22
WO2005071880A1 (ja) 2005-08-04
EP1710954A1 (en) 2006-10-11
EP1710954A4 (en) 2011-05-04

Similar Documents

Publication Publication Date Title
JP4692284B2 (ja) グループ署名システム、方法、装置、およびプログラム
JP5201136B2 (ja) 匿名認証システムおよび匿名認証方法
Brickell et al. Enhanced privacy ID: A direct anonymous attestation scheme with enhanced revocation capabilities
US6292897B1 (en) Undeniable certificates for digital signature verification
US8654975B2 (en) Joint encryption of data
CN110545279A (zh) 兼具隐私和监管功能的区块链交易方法、装置及系统
US20090217042A1 (en) Provisional signature schemes
US6122742A (en) Auto-recoverable and auto-certifiable cryptosystem with unescrowed signing keys
US9860069B2 (en) Group signature using a pseudonym
US20230319103A1 (en) Identifying denial-of-service attacks
Camenisch et al. An identity escrow scheme with appointed verifiers
TW202318833A (zh) 臨界簽章方案
US20240121109A1 (en) Digital signatures
US20230163977A1 (en) Digital signatures
WO2023072502A1 (en) Generating shared keys
Byun PDAKE: a provably secure PUF-based device authenticated key exchange in cloud setting
WO2023016729A1 (en) Generating digital signature shares
US20240214218A1 (en) Nested threshold signatures
Yu et al. Cryptanalysis of an off-line electronic cash scheme based on proxy blind signature
JP3331329B2 (ja) 公開検証可依頼復元ブラインド署名方法、その装置及びプログラム記録媒体
WO2023016728A1 (en) Generating digital signatures
JP2000231330A (ja) ブラインド署名方法、そのシステム、その装置およびプログラム記録媒体
EP4385169A1 (en) Generating digital signatures
JP2000216774A (ja) 暗号文検証方法、そのプログラム記録媒体、及びその装置
ISMAIL et al. GENERALIZED GROUP SIGNATURE BASED ON AN RSA-VARIANT

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071212

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

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

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

Free format text: PAYMENT UNTIL: 20140304

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees