CN101978651B - 群签名系统、装置以及方法 - Google Patents

群签名系统、装置以及方法 Download PDF

Info

Publication number
CN101978651B
CN101978651B CN200980109365.5A CN200980109365A CN101978651B CN 101978651 B CN101978651 B CN 101978651B CN 200980109365 A CN200980109365 A CN 200980109365A CN 101978651 B CN101978651 B CN 101978651B
Authority
CN
China
Prior art keywords
group
signer
private key
signature
information
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
CN200980109365.5A
Other languages
English (en)
Other versions
CN101978651A (zh
Inventor
吉田琢也
冈田光司
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Toshiba Digital Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Solutions Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp, Toshiba Solutions Corp filed Critical Toshiba Corp
Publication of CN101978651A publication Critical patent/CN101978651A/zh
Application granted granted Critical
Publication of CN101978651B publication Critical patent/CN101978651B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Algebra (AREA)
  • Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

本发明的一个实施方式的群签名系统,具备能够互相通信的群管理者装置(10)、签名者装置(201~20n)以及验证者装置(30)。在此,各装置(10、201~20n、30)使用的群签名方式,是完全不使用像RSA那样位数未知的乘法循环群或双线性群,而仅使用素数位数q的乘法循环群gG的方式,并且把代表ki1、ki2作为成员私密密钥。另外,作为用于确定签名者的信息,利用Ti=G1^{ki1},在撤销验证中利用了ki1。因此,与现有的[CG04]方式、[FI05]方式以及[DP06]方式相比,可以减少计算量来提高计算速度。

Description

群签名系统、装置以及方法
技术领域
本发明涉及群签名系统、装置以及程序,例如涉及能够减少计算量来提高计算速度的群签名系统、装置以及方法。
背景技术
群签名方式,作为具有匿名性的电子签名,在1991年由Chaum等提出。在通常的电子签名方式中,用于验证签名的公开密钥和用于生成签名的私密密钥一一对应,因此不具有签名生成者的匿名性。
与此相对,在群签名方式中,用于验证签名的群公开密钥和用于生成签名的成员私密密钥以1对n的方式对应,因此具有签名生成者的匿名性。即,群签名方式中,1个群公开密钥和n个成员私密密钥对应,因此具有当验证签名时无法确定签名生成者的性质。另外,群签名方式具有仅作为特权者的群管理者可以确定签名者的性质。
但是,最初的群签名方式,签名长度或签名生成计算量与成员数量成比例,因此具有大量成员的群中的效率非常低,不适合运用。
与此相对,1997年由Camenisch等人提出了效率不取决于成员数量的群签名方式。在该方式中,把与成员私密密钥对应的群管理者的签名用作成员证书(membership certificate)。在群签名中包含:通过群管理者的公开密钥被加密的成员证书(或其一部分);和表示成员证书被正确地加密、以及保持成员私密密钥以及成员证书的非对话的知识证明。签名验证者通过非对话的知识证明的验证,可以验证是成员的签名。而且,群管理者通过成员证书的解密,可以确定签名者。使用这样的成员证书的概念,是成为此后的群签名方式的基础的重要概念。
但是,该Camenisch等人的方式,尽管效率不取决于成员数量,但从实用的观点来看是低效率的方式。
高效的(practical)的最初的群签名方式,是2000年由Ateniese等人提出的方式(以下称为[ACJT00]方式)。Ateniese的群签名方式大幅度地被高效化,故此就能够研究实用化。Ateniese的群签名方式,当生成签名时需要RSA签名生成的200倍左右的计算量,因此继续研究改良。Ateniese的方式的安全性基于强RSA问题(strong-RSA problem)。
现在已知的高速群签名方式为以下三种方式。一个是2004年由Camenisch等人提出的方式(例如参照J.Camenisch and J.Groth,“Group Signatures:BetterEfficiency and New Theoretical Aspects”Forth Int.Conf.on Security inCommunication Networks-SCN2004,LNCS3352,pp.120-133,2005.。以下称为[CG04]方式。全文能够从以下URL取得(2008年3月当前)http://www.brics.dk/~jg)。[CG04]方式的签名生成计算量减少到RSA签名生成的8倍左右。[CG04]方式的安全性也基于强RSA问题。第二个是2005年由古川等人提出的方式(例如参照J.Furukawa and H.Imai,“An Efficient GroupSignature Scheme from Bilinear Maps,”ACISP2005,LUCS3574,PP.455-467,2005.。以下称为[FI05]方式。)。第三个是由Delerablee等人提出的方式(例如参照C.Delerablee and D.Pointcheval,“Dynamic Fully AnonymousShort Group Signatures”VIETCRYPT,LNCS4341,pp193-210,2006.。以下称为[DP06]方式)。[FI05]方式和[DP06]方式利用双线性映射,其安全性基于双线性群中的假设。
群签名在高速化方面取得进步,另一方面,高功能化也取得进步。重要的功能之一考虑到撤销功能。在开展利用了群签名的服务的方面,作为用于实现成员从服务的退会或强制排除不正当的成员的功能,插销是非常重要的。上述[CG04]方式、[FI05]方式和[DG06]方式都具有撤销功能。
作为用于实现更高安全性和灵活的群管理的方法,也研究了可以针对每种群管理功能改变进行处理的秘密信息来分割权限的方式。具体来说,以往考虑了分割给担当全部由群管理者进行的成员私密密钥生成、签名者确定、撤销的各个功能的成员密钥生成者、签名者确定者、撤销管理者的方式。
另外,也考虑到验证者可以确认由群管理者和签名者确定者恰当地进行了签名者确定的、被称为不可陷害性(Non-Frameability)的性质。
而且,也提出了仅在签名者希望的情况下可以向验证者证明某签名由该签名者生成的、被称为自身追踪性(Self-Traceability)的性质。
发明内容
根据本发明人的研究,在具有撤销功能的同时,具有比[CG04]方式、[FI05]方式和[DP06]方式减少计算量来使计算速度提高的余地。
本发明的目的是提供可以在实现撤销功能的同时减少计算量来提高计算速度的群签名系统、装置以及程序。
本发明的一个方面,是一种群签名系统,其具备互相可以通信的群管理者装置、签名者装置以及验证者装置,各装置使用群签名方式。其中,所述群管理者装置具备:参数存储单元,其存储包含在所述群签名方式中使用的素数位数q、以及所述q的乘法循环群gG的生成源G1的公开参数;群密钥生成单元,其根据所述参数存储单元内的公开参数,生成包含值a、b∈Zq *的群私密密钥、和包含满足第一关系式G2=G1 a以及第二关系式F=G1 b的值G2、F以及所述生成源G1的群公开密钥;成员私密密钥生成单元,其根据所述群私密密钥、所述群公开密钥以及第三关系式ki1=b-aki2mod q,计算由满足第四关系式F=G1^{ki1}G2^{ki2}的代表ki1、ki2组成的成员私密密钥,其中,“^”是表示幂运算的记号;签名者确定信息计算单元,其根据所述成员私密密钥以及所述生成源g1,计算签名者确定信息Ti=G1^{ki1};撤销列表生成单元,其生成包含与被撤销的成员对应的代表的一部分ki1的撤销列表;以及将所述撤销列表发送给所述验证者装置的单元。所述签名者装置具备:签名者用存储单元,其存储包含在所述群签名方式中使用的素数位数q以及所述q的乘法循环群G的生成源g1的公开参数、和所述群公开密钥、所述成员私密密钥、所述签名者确定信息Ti以及消息;加密文生成单元,其根据所述签名者用存储单元内的公开参数以及群公开密钥,将所述签名者确定信息Ti加密,生成该签名者确定信息Ti的加密文数据;零知识证明生成单元,其根据所述签名者用存储单元内的公开参数、所述群公开密钥、所述成员私密密钥以及所述消息和所述签名者确定信息Ti的加密文数据,生成零知识证明,该零知识证明表示已知该成员私密密钥,并且根据该签名者确定信息Ti正确地生成了所述加密文数据以及将由所述加密文数据以及所述零知识证明构成的群签名和所述消息发送到所述验证者装置的单元。所述验证者装置具备:验证者用存储单元,其存储包含在所述群签名方式中使用的素数位数q、以及所述q的乘法循环群G的生成源g1的公开参数和所述群公开密钥;分别从所述群管理者装置接收所述撤销列表,从所述签名者装置接收所述群签名以及消息的单元;验证单元,其根据所述接收到的撤销列表和群签名以及消息和所述验证者用存储单元内的公开参数以及群公开密钥,验证该群签名的正当性;将所述验证的结果发送到所述签名者装置的单元;以及根据需要,为了确定签名者而向群管理者装置发送消息和群签名的单元。
根据第一方面,使用素数位数q的乘法循环群gG作为完全的基于离散对数的群签名方式,并且把代表ki1、ki2作为成员私密密钥,实现了把被撤销的成员的代表的一部分ki1包含在撤销列表中的群签名方式,由此,与现有的[CG04]方式、[FI05]方式和[DP06]方式相比,可以减少计算量来提高计算速度。而且,在本发明的群签名中,可以把群管理者功能分割给成员私密密钥生成者、签名者确定者、撤销管理者,可以同时实现比现有的不可陷害性(Non-Frameability)稍弱的弱不可陷害性(Weak Non-Frameability)和自身追踪性(Self-Traceability)。
此外,以上的方面作为由各装置构成的“系统”而表现出来,但不限于此,也可以作为各装置的集合和每个装置的“装置”、“程序”、“计算机可读取存储介质”或“方法”表现出来。
附图说明
图1是表示本发明的一个实施方式的群签名系统的结构的示意图。
图2是表示该实施方式中的群管理者装置的结构的示意图。
图3是表示该实施方式中的群管理者用存储部的结构的示意图。
图4是表示该实施方式中的签名者装置的结构的示意图。
图5是表示该实施方式中的签名者用存储部的结构的示意图。
图6是表示该实施方式中的验证者装置的结构的示意图。
图7是表示该实施方式中的验证者用存储部的结构的示意图。
图8是用于说明该实施方式中的密钥对的生成处理的流程图。
图9是用于说明该实施方式中的成员私密密钥的生成处理的流程图。
图10是用于说明该实施方式中的签名者确定信息的计算处理的流程图。
图11是用于说明该实施方式中的加密处理的流程图。
图12是用于说明该实施方式中的零知识证明的计算处理的流程图。
图13是用于说明该实施方式中的签名验证处理的流程图。
图14是用于说明该实施方式中的撤销验证处理的流程图。
图15是用于说明该实施方式中的签名者同一性证明·验证处理的顺序图。
图16是用于说明该实施方式中的签名验证处理的流程图。
图17是用于说明该实施方式中的签名者确定处理的流程图。
图18是用于说明该实施方式中的签名者信息正当性证明生成处理的流程图。
图19是用于说明该实施方式中的签名者信息正当性证明验证处理的流程图。
图20是用于说明该实施方式中的撤销列表生成处理的流程图。
图21是将该实施方式的效果与现有技术进行比较来表示的图。
图22是表示该实施方式中的成员私密密钥生成者的结构的示意图。
图23是表示该实施方式中的成员私密密钥生成者用存储部的结构的示意图。
图24是表示该实施方式中的签名者确定装置的结构的示意图。
图25是表示该实施方式中的签名者确定装置用存储部的结构的示意图。
图26是表示该实施方式中的撤销管理者装置的结构的示意图。
图27是表示该实施方式中的撤销管理者用存储部的结构的示意图。
图28是表示该实施方式中的签名者同一性证明装置的结构的示意图。
图29是表示该实施方式中的签名者同一性证明用秘密信息存储部的结构的示意图。
具体实施方式
以下,参照附图详细说明本发明的一个实施例,但是,在此之前对本发明的一个实施例所涉及的群签名方式(以下称为实施例方式)的概要进行说明。
实施例方式最大的优点是效率极高。在使用了作为高速地进行幂剩余运算的方法的指数同时乘算(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]、与之对应的签名者确定信息Ti和撤销令牌grt[i]然后输出的,由群管理者或者成员私密密钥生成者执行的概率的多项式时间算法。
[签名生成算法GSig]
签名生成算法GSig,是把群公开密钥gpk、成员私密密钥gsk[i]、签名者确定信息Ti、消息msg作为输入,用于生成群签名σ并输出的、由签名者执行的概率的多项式时间算法。
[签名验证算法GVf]
签名验证算法GVf,是把群公开密钥gpk、消息msg、群签名σ和撤销列表RL作为输入,用于当签名正确时输出有效(valid)、当不正确时输出无效(invalid)的、由验证者执行的确定的多项式时间算法。
[签名生成证明算法Claim]
签名生成证明算法Claim,是用于实现自身追踪性(Self-Traceability)的、签名者和验证者之间的二者间对话的协议。群公开密钥gpk、消息msg、群签名σ是对二者的共同输入,将成员私密密钥gsk[i]作为秘密信息提供给签名者。在协议的最后,验证者输出表示该群签名σ是否由执行了对话的协议的签名者生成的真(true)或伪(false)。
[签名者确定算法Open]
签名者确定算法Open,是把群公开密钥gpk、群私密密钥gmsk、消息msg、群签名σ作为输入,用于当签名正确时输出生成了该签名的用户的ID=i和签名者信息正当性证明τ,当不正确时输出无效(invalid)的、由群管理者或签名确定者执行的概率的多项式时间算法。此外,群私密密钥gmsk由成员私密密钥生成用私密密钥ik(a、b)以及签名者确定用私密密钥ok(x1、x2、y1、y2、z)构成。
[签名者确定结果验证算法Judge]
签名者确定结果验证算法Judge,是把群公开密钥gpk、群签名σ、根据该签名确定的用户的ID=i和签名者信息正当性证明τ作为输入,用于输出表示是否正确进行了签名者确定的真(true)或伪(false)的、由验证者执行的确定的多项式时间算法。
[成员撤销算法Revoke]
成员撤销算法Revoke,是把撤销令牌的集合grt_set和被撤销的用户的ID的集合RU作为输入,用于生成撤销列表RL并输出的、由群管理者或撤销管理者执行的确定的多项式时间算法。
[群签名的安全性]
关于群签名的安全性,最初定义了大量要件。此后,Bellare等人整理了静态群(static group)、以及动态群(dynamic group)的群签名的安全性的要件。此外,所谓静态群,是指不具有成员的追加、删除功能,一旦一次生成群没有成员的变更的群,所谓动态群是指有该变更的群。在此,Bellare的要件非常严格,考虑到了针对群成员全体的串通的安全性。因此,一般弱化Bellare的要件来定义安全性。在此,根据Bellare的要件,对没有群管理者或成员的串通的情况下的安全性进行再定义。
当具有以下的正当性(correctness)、匿名性(anonymity)、可追踪性(traceability)、弱不可陷害性(Weak Non-Frameability)四种性质时,称群签名方式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),而且,对i∈{1,...,n}执行成员私密密钥生成算法MKg,生成群公开密钥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除以下两个制约(a)(b)以外,可以进行针对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),而且对i∈{1,...,n}执行成员私密密钥生成算法MKg,生成群公开密钥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*未在签名质问(signingquery)中指定时,称“敌手A在攻击中成功”。当全部多项式时间算法A的成功概率可以忽视时,称群签名方式具有可追踪性(traceability)。
[4.弱不可陷害性(Weak Non-Frameability)]
在Bellare的不可陷害性的定义中,考虑到群管理者或成员私密密钥生成者的不正当行为,但本发明中不考虑该不正当行为,如以下所示,作为弱不可陷害性来弱化定义。
考虑以下的攻击。
(1)启动(setup):执行密钥生成算法GKg(1^k),而且对i∈{1,...,n}执行成员私密密钥生成算法MKg,生成群公开密钥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*,σ*,τ*)=ture,当i*、msg*未在签名质问(signing query)中被指定时,称“敌手A在攻击中成功”。当全部多项式时间算法A的成功概率可以忽视时,称群签名方式具有弱不可陷害性(Weak Non-Frameability)。
<准备>
以下,在理解实施例方式的基础上对重要的DDH(decisionalDiffie-Hellman)问题、代表(representation)、Cramer-Shoup加密进行说明。
[DDH问题]
将素数位数q的乘法循环群设为G。将随机的4个组(quadruples)(G1,G2,U1,U2)∈gG4的分布设为R。随机地选择G1,G2∈gG和r∈Zq *,将Ui=Gr、U2=Gr的4个组(G1,G2,U1,U2)∈gG4的分布设为D。此时,把区分任意提供的4个组(G1,G2,U1,U2)属于分布R、D的哪个的问题称为DDH问题。实施例方式的安全性归结于DDH问题的困难性。
另外,若可以解决离散对数问题(discrete logarithm problem),则可以解决DH问题(Diffie-Hellman problem),若可以解决DH问题则可以解决DDH问题。DH问题是根据所提供的G、Gx、Gy计算Gxy的问题。离散对数问题是根据所提供的G、Gx计算x的问题。上述DDH问题、DH问题以及离散对数问题被认为都难以解决。
[代表(representation)]
在乘法循环群G上的运算中,把满足H=G1^{e1}G2^{e2}...Gk^{ek}的(e1,e2,...,ek)称为以G1,G2,...,Gk为底的H的代表。此外,“^”是表示幂运算的记号。
在加密理论的领域中,从前作为缓和离散对数(relaxed discrete log(RDL))使用代表,此后也经常使用。在1997年的Camenisch的方式中使用应用了Schnorr签名的代表的非对话的知识证明。在实施例方式中把成员私密密钥设为代表,在群签名中包含关于代表的非对话的知识证明。
[Cramer-Shoup加密]
在实施例方式中,在签名者确定信息的加密中利用Cramer-Shoup加密。但是实施例方式不限定于Cramer-Shoup加密。
以下,对Cramer-Shoup加密进行说明。
[生成公开密钥(public key)·私密密钥(private key)对]
作为公开参数,把素数位数q的乘法循环群gG和其生成源G1和通用单向散列(universal one-way hash)函数作为输入,进行以下处理。
(1)随机地选择G1,G2∈gG。
(2)随机地选择x1,x2,y1,y2,z∈Zq *
(3)计算C=G1^{x1}G2^{x2}、D=G1^{y1}G2^{y2}、H=G1 z
(4)从通用单向散列函数的集合中选择散列函数Hash。
(5)输出公开密钥pk=(G1,G2,C,D,H,Hash),私密密钥sk=(x1,x2,y1,y2,z)。
[加密]
把公开密钥pk=(G1,G2,C,D,H,Hash)、消息m∈G作为输入,进行以下处理。
(1)随机地选择r∈Zq *
(2)计算U1=G1 r,U2=G2 r,E=Hrm。
(3)计算α=Hash(U1,U2,E)。
(4)计算V=CrD
(5)输出加密文(U1,U2,E,V)。
[解密]
把加密文(U1,U2,E,V)作为输入,进行以下处理。
(1)计算α=Hash(U1,U2,E)。
(2)验证U1^{x1+y1α}U2^{x2+y2α}=V是否成立,在不成立的情况下,作为无效的加密文进行拒绝,然后结束处理。
(3)计算m=E/U1 z,作为明文来输出。
以上是Cramer-Shoup加密的处理。
<实施例方式的概要>
接着,对实施例方式的概要进行说明。
本实施例,通过基于离散对数的方式实现了群签名方式的高速化。理由是,在基于RSA的方式中幂指数长,因此不知道位数的群中的非对话的知识证明的效率低,因此整体的效率也低。此外,[ACJT00]方式或[CG04]方式也是基于RSA的方式,所以与实施例方式相比,效率低。
补充一点,[ACJT00]方式是基于RSA的方式,与此相对,[CG04]方式一部分基于离散对数,大幅度改善了效率,但也保留有基于RSA的部分。与之相对,实施例方式中全部作为基于离散对数的方式,实现了高速化。
实施例方式还把代表作为成员私密密钥。在离散对数为私密密钥时,对于1个公开密钥仅具有1个私密密钥。与之相对,当代表为私密密钥时,对于1个公开密钥制作了多个私密密钥,因此,适用于具有大量成员的群。在Kiayias等人的方式中也使用代表,但由于作为签名者确定信息来使用代表自身,因此效率低。
与之相对,在实施例方式中不使用代表自身,而使用根据代表而唯一计算出的值作为签名者确定信息,因此效率高。
(第1实施例)
图1是表示本发明的一个实施例的群签名系统的结构的示意图。该群签名系统具备能够互相通信的1台群管理者装置10、n台签名者装置201,...,20i,...,20j,...,20n以及1台验证者装置30。各装置10,201,...,20n,30,对于每个装置可以通过硬件结构或硬件资源和软件的组合结构的任何一种结构来实施。作为组合结构的软件,使用预先从网络或存储介质M安装在对应的装置的计算机中,用于实现对应的装置的功能的程序。另外,各签名者装置201,...,20n为互相相同的硬件结构,因此在以下的说明中以第i个签名者装置20i为代表来叙述。另外,本实施例的群签名方式,如后述的图8至图15中举例表示那样,在加密方式中使用Cramer-Shoup加密,在零知识证明方式中使用应用了Schnorr签名的方式,但是不限于这些加密方式以及零知识证明方式。即,本实施例的群签名方式不限于图8至图15所示的方式,即使使用其它加密方式以及零知识证明方式也能够实现。
在此,群签名管理者装置10如图2所示,具备:群管理者用存储部11、输入部12、通信部13、群密钥生成部14、成员私密密钥生成部15、签名验证部16、签名者确定部17、撤销列表生成部18以及输出部19。
群管理者用存储部11是能够从各部12~18存取的存储装置,如图3所示,存储公开参数、群公开密钥gpk、成员私密密钥生成用私密密钥ik、签名者确定用私密密钥ok、成员信息、用户管理信息、计算表、消息、群签名以及签名者信息。
公开参数至少包含在群签名方式中使用的素数位数q、和q的乘法循环群gG的生成源G1,在此还包含散列函数Hash。
成员私密密钥生成用私密密钥ik至少包含根据公开参数所选择的值a,b∈Zq *
签名者确定用私密密钥ok至少包含加密方式的解密用私密密钥,在此包含值x1,x2,y1,y2,z∈Zq *
群公开密钥gpk至少包含满足第一关系式G2=G1 a以及第二关系式F=G1 b的值G2、F以及生成源G1,在此,还包含值C、D、H以及散列函数Hash。
此外,C=G1^{x1}G2^{x2}、D=G1^{y1}G2^{y2}、H=G1 z
成员信息是针对每个用户识别信息ID(i),将成员私密密钥gsk[i]、撤销令牌grt[i]以及签名者确定信息Ti互相关联而构成的信息(1≤i≤n)。在此,撤销令牌grt[i]是成员的成员私密密钥gsk[i]内的代表的一部分ki1,是当该成员被撤销(无效化)时,在撤销列表中登录的信息。撤销列表(未图示)是与被撤销的成员对应的撤销令牌grt[i]的列表。
用户管理信息是针对每个用户识别ID(i)将用户信息关联起来而构成的信息(1≤i≤n)。用户信息,例如包含用户的名称以及联络地址信息(电话号码、电子邮件地址等),当群签名的目的是电子商务交易时,还包含结算信息。
计算表是各部14~16使用指数同时乘算(simultaneous multipleexponentiation)法时所参照的信息。指数同时乘算法是高速执行G1^{e1}G2^{e2}...Gk^{ek}的形态的计算的方法,需要预先执行最大2k次的乘法运算,生成最大2k的大小的计算表。因此,计算表所需要的存储器量,根据底G1,...Gk的个数k而增大。但是,若底固定则不需要每次生成计算表,可以通过事先计算,以1次幂程度的计算量进行计算。即,即使是例如G1^{e1}G2^{e2}这样的2次幂的计算,通过参照计算表也可以以1次幂的计算量执行。因此,若群管理者以及验证者装置把‘1’、‘G1’、‘G2’、‘G1×G2’、‘F’、‘F×G1’、‘F×G2’、‘F×G1×G2’和‘1’、‘H’、‘G1’、‘H×G1’作为计算表来保存,签名者装置把‘1’、‘H’、‘G1’、‘H×G1’和‘1’、‘C’、‘D’、‘C×D’作为计算表来保存,则能够通过1次幂的计算量,执行后述的步骤ST4、ST5、ST34、ST36、ST42、ST44、ST52、ST54、ST62、ST64中的2次或3次的幂运算。
消息msg是通过签名者装置20i生成的任意信息。
群签名σ由后述的加密文(U1,U2,E,V,R)和零知识证明(β,s1,s2,sr)组成,是通过签名者装置20i生成的信息。
输入部12是群管理者装置10内部和外部之间的输入接口,使用键盘以及鼠标等输入设备。
通信部13是群管理者装置10内部和外部之间的通信接口。通信部13例如具有通过加密通信等安全方法,将用于生成群签名方式中的群签名的公开参数、群公开密钥、成员私密密钥以及签名者确定信息Ti发送到签名者装置201~20n的功能。另外,通信部13例如具有将用于验证群签名方式中的群签名的公开参数、群公开密钥以及撤销列表发送到验证者装置30的功能。
群密钥生成部14根据安全参数生成公开参数,存储在群管理者用存储部11内,根据该公开参数生成包含值a、b∈Za *的群私密密钥、和包含满足第一关系式G2=G1 a以及第二关系式F=G1 b的值G2、F以及生成源G1的群公开密钥。在此,群密钥生成部14具有执行图8所示的处理的功能。此外,群密钥生成部14可以参照计算表来通过指数同时乘算法执行幂运算,这在成员私密密钥生成部15以及签名验证部16中也相同。
成员私密密钥生成部15根据群私密密钥、群公开密钥以及第三关系式ki1=b-aki2mod q,计算由满足第四关系式F=G1^{ki1}G2^{ki2}的代表ki1、ki2组成的成员私密密钥,同时根据成员私密密钥以及生成源G1计算签名者确定信息Ti=G1^{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内部和外部之间的输出接口,使用显示器装置以及打印机等输出设备。
签名者装置20i如图4所示,具备签名者用存储部21、输入部22、通信部23、消息生成部24、群签名生成部25、签名者同一性证明部26以及输出部27。
签名者用存储部21是能够从各部22~26存取的存储装置,如图5所示,存储公开参数、群公开密钥gpk、计算表、成员私密密钥、签名者确定信息、消息以及群签名。
输入部22是签名者装置20i内部和外部之间的输入接口,使用了键盘以及鼠标等输入设备。
通信部23是签名者装置20i内部和外部之间的通信接口。通信部23例如具有:通过加密通信等安全的方法从群管理者装置10接收用于生成群签名方式中的群签名的公开参数、群公开密钥、成员私密密钥以及签名者确定信息Ti的功能。另外,通信部23例如具有:通过签名者的输入部22的操作,把签名者用存储部21内的由加密文数据以及零知识证明组成的群签名和消息发送到验证者装置30的功能。
消息生成部24具有通过签名者的输入部22的操作,生成消息msg并写入签名者用存储部21的功能。
群签名生成部25具有根据签名者用存储部21内的公开参数以及群公开密钥,将签名者确定信息Ti加密,并生成该签名者确定信息Ti的加密文数据,然后写入签名者用存储部21的功能。另外,群签名生成部25具有根据签名者用存储部21内的公开参数、群公开密钥、成员私密密钥以及消息、和签名者确定信息Ti的加密文数据,生成表示得知该成员私密密钥以及该签名者确定信息Ti的零知识证明,并将零知识证明与加密文数据相关联地写入签名者用存储部21的功能。此外,加密文数据和零知识证明构成群签名。另外,在此,群签名生成部25具有执行图11以及图12所示的处理的功能。另外,在图12所示的零知识证明中,成为基于已知被加密的签名者确定信息Ti、已知代表之一、签名者确定信息Ti被正确加密的消息msg的零知识证明。另外,群签名生成部25可以参照计算表,通过指数同时乘算法执行幂运算。
签名者同一性证明部26具有执行图15所示的处理中的签名者同一性证明处理的功能。
输出部27是签名者装置20i内部和外部之间的输出接口,使用显示器装置以及打印机等输出设备。
验证者装置30如图6所示,具备验证者用存储部31、输入部32、通信部33、签名验证部34、签名者同一性验证部35、签名者信息正当性证明验证部36以及输出部37。
验证者用存储部31是各部32~35能够存取的存储装置,如图7所示,存储公开参数、群公开密钥gpk、撤销列表RL、计算表、消息以及群签名。
输入部32是验证者装置30内部和外部之间的输入接口,使用键盘以及鼠标等输入设备。
通信部33是验证者装置30内部和外部之间的通信接口。通信部33例如具有:通过加密通信等安全的方法,从群管理者装置10接收用于生成群签名方式中的群签名的公开参数、群公开密钥以及撤销列表的功能。另外,通信部33例如具有:从签名者装置20i接收由加密文数据以及零知识证明组成的群签名、和消息的功能;把接收到的群签名和消息写入验证者用存储部31的功能;把签名验证部34的验证结果发送到签名者装置20i的功能;以及根据需要,为了确定签名者而把消息和群签名发送到群管理者装置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而得的结构,在第二实施例中具体描述。
也可以从签名者装置20i仅分离签名者同一性证明功能,来形成签名者同一性证明功能201i。图28和图29表示该装置和存储部。在这种情况下,与签名者装置相比,处理部和存储的信息(特别是秘密信息)也较少,可知能够实现高安全性和灵活的运用。此外,关于分离该签名者同一性证明功能而得的结构,在第三实施例中具体描述。
接着,使用图8至图20的流程图说明以上那样构成的群签名系统的动作。
(群密钥组生成:图8)
在群管理者装置10中,假定通过群管理者的输入部12的操作输入了安全参数k后,启动了群密钥生成部14。
群密钥生成部14生成或选择k比特的素数q、位数q的乘法循环群gG、gG的生成源G1,通用单向性散列函数Hash,作为公开参数,把(q,gG,G1,Hash)存储在群管理者用存储部11中(ST1)。
群密钥生成部14参照群管理者用存储部11内的素数位数q,随机地选择构成群私密密钥gmsk的7个组(a,b,x1,x2,y1,y2,z)∈Zq *7(ST2)。此外,Zq *是1以上不到q的整数的集合{1,...,q-1}。另外,a、b是为了高效率地计算多个代表而需要的值。
接着,群密钥生成部14根据群管理者用存储部11内的生成源G1和在步骤ST2中得到的7个组,计算G2=G1 a,F=G1 b,C=G1^{x1}G2^{x2}、D=G1^{y1}G2^{y2},H=G1 z(ST3~ST7)。G1、G2是F的代表的底。
另外,群密钥生成部14从群管理者用存储部11内的公开参数中读出通用单向性散列函数Hash。
此后,群密钥生成部14把成员私密密钥生成用私密密钥ik=(a,b)、签名者确定用私密密钥ok=(x1,x2,y1,y2,z)、群公开密钥gpk=(G1,G2,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∈Zq *(ST11)。
此时,成员私密密钥生成部15参照群管理者用存储部11,当存在具有ki2=kj2的成员私密密钥gskj=(kj1,kj2)的成员时,重新选择ki2。即,ki2需要针对每个用户完全不同。
接着,成员私密密钥生成部15根据群管理者用存储部11内的素数位数q以及群私密密钥gmsk内的成员私密密钥生成用私密密钥ik(a,b),计算成员私密密钥的另一部分ki1=b-aki2mod q(ST12)。
此后,成员私密密钥生成部15把由得到的ki1、ki2组成的成员私密密钥(ki1,ki2=gsk[i])与用户识别信息ID(i)相关联地保存在群管理者用存储部11中(ST13)。
在此,成员私密密钥(ki1,ki2)是以(G1,G2)为底的F的代表。即,根据所述的F=G1 b、G2=G1 a以及ki1=b-aki2mod q的式子,表示为F=G1^{ki1}G2^{ki2}。另外,通过使用在群私密密钥gmsk中包含的a、b,可以高效率地计算多个成员私密密钥。可以计算该代表ki1、ki2的仅是群管理者。已知代表ki1、ki2,意味着是被群管理者许可的群成员。
成员私密密钥生成部15以与成员数量n相同的次数n重复以上步骤ST11~ST13的处理,将n人份的成员私密密钥gsk[1]~gsk[n]与用户识别信息ID9(1)~ID(n)分别关联地保存在群管理者用存储部11中,然后结束处理。
(签名者确定信息计算处理:图10)
接着,成员私密密钥生成部15根据群管理者用存储部11内的生成源G1以及成员私密密钥gsk[i](=ki1,ki2),计算签名者确定信息Ti=G1^{ki1}(ST21)。即,签名者确定信息Ti不是把代表自身,而是把代表的一部分作为幂指数的值。
此后,成员私密密钥生成部15把得到的签名者确定信息Ti与用户识别信息ID(i)关联地保存在群管理者用存储部11中(ST22)。
成员私密密钥生成部15以与成员数量n相同的次数n重复以上步骤ST21~ST22的处理,把n人份的成员私密密钥gsk[1]~gsk[n]与用户识别信息ID(1)~ID(n)分别关联地保存在群管理者用存储部11中,然后结束处理。
(签名生成的准备)
用户i通过在线或离线方式将用户信息登录在群管理者装置10中。由此,用户i通过加密通信或存储介质的邮寄等安全的方法从群管理者取得公开参数、群公开密钥gpk=(G1,G2,F,C,D,H,Hash)、成员私密密钥gsk[i](ki1,ki2)以及签名者确定信息Ti
此后,签名者装置20i通过用户i进行的输入部22的操作,把这些公开参数、群公开密钥gpk、成员私密密钥gsk[i]以及签名者确定信息Ti保存在签名者用存储部21中,由此,签名者装置20i能够进行签名生成处理。
另外,签名者装置20i通过用户i进行的输入部22的操作,在消息生成部24使显示部26显示消息msg∈{0,1}*的同时把生成、得到的消息msg保存在签名者用存储部21中。此外,消息msg不限于使用由消息生成部24生成的消息的情况,也可以使用从群管理者或签名验证者取得的消息。例如在电子商务交易的情况下,可以使用由消息生成部24生成的消息msg,在20岁以上等的资格证明的情况下,可以使用从群管理者取得的消息msg,在认证中利用的情况下,可以使用从签名验证者取得的消息msg。
(加密处理:图11)
在签名者装置20i中,假定通过用户i的输入部22的操作,启动了群签名生成部25。
群签名生成部25参照签名者用存储部21内的素数位数q,随机地选择秘密的随机数r∈Zq *(ST31)。
接着,群签名生成部25根据签名者用存储部21内的群公开密钥gpk=(G1,G2,F,C,D,H,Hash)以及签名者确定信息Ti、和在步骤ST31中得到的随机数r,计算U1=G1 r,U2=G2 r,E=HrTi(ST32~ST34)。此外,签名者确定信息Ti(=G1^{ki1})可以每次根据成员私密密钥gmsk[i](=ki1,ki2)来计算。在这种情况下,签名者确定信息Ti也可以从签名者用存储部21省略。
另外,群签名生成部25根据签名者用存储部21内的群公开密钥gpk和步骤ST32~ST34中得到的值U1、U2、E计算散列值α=Hash(U1,U2,E)(ST35)。
进而,群签名生存部25根据该散列值α、和步骤S31中得到的随机数r、和群公开密钥gpk,计算值V=CrD(ST36)。
进而,群签名生成部25计算R=Ti r(ST37)。
由此,群签名生成部25将对于签名者确定信息Ti而得到的加密文(U1,U2,E,V,R)保存在签名者用存储部21中(ST38)。
(零知识证明(zero-knowledge proof)计算处理:图12)
接着,群签名生成部25参照签名者用存储部21内的素数位数q,随机地选择用于隐藏成员私密密钥(ki1,ki2)以及步骤ST31中得到的随机数r的随机数r1、r2、rr∈Zq *(ST41)。
接着,群签名生成部25根据签名者用存储部21内的群公开密钥gpk=(G1,G2,F,C,D,H,Hash)、和步骤ST41中得到的随机数r1、r2、rr,计算成为零知识证明的一部分的参数R1=G1^{r1}G2^{r2}、R2=G1^{rr}、R3=H^{rr}G1^{r1}、R4=U1^{r1}(ST42~ST45)。
另外,群签名生成部25根据签名者用存储部21内的群公开密钥gpk=(G1,G2,F,C,D,H,Hash)、加密文(U1,U2,E,V,R)以及消息msg、步骤ST42~ST45中得到的成为零知识证明的一部分的参数R1、R2、R3、R4,计算散列值β=Hash(G1,G2,H,U1,U2,E,V,R,R1,R2,R3,R4,msg)(ST46)。
进而,群签名生成部25根据该散列值β和步骤ST41中得到的随机数r1、r2、rr和签名者用存储部21内的成员私密密钥ki1ki2以及素数位数q,计算其它成为零知识证明的一部分的参数s1=r1+βki1mod q、s2=r2+βki2mod q、sr=rr+βrmod q(ST47~ST49)。
由此,群签名生成部25将最终得到的零知识证明(β,s1,s2,sr)与加密文(U1,U2,E,V,R)关联地保存在签名者用存储部21中(ST50),结束处理。以后,把这些加密文(U1,U2,E,V,R)以及零知识证明(β,s1,s2,sr)作为群签名σ=(U1,U2,E,V,R,β,s1,s2,sr)来使用。
该群签名σ由签名者确定信息Ti的加密文(U1,U2,E,V,R)和零知识证明(β,s1,s2,sr)构成,该零知识证明(β,s1,s2,sr)表示是已知以G1、G2为底的F的代表ki1、ki2的正确的用户、以及与其对应的签名者确定信息Ti被正确地加密。
以后,签名者装置20i通过签名者对输入部22的操作,使输出部27显示签名者用存储部21内的群签名σ以及消息msg,从通信部23发送到验证装置30。由此,可以不表示成员私密密钥ki1、ki2地证明是属于群的正确的成员,并且群管理者可以确定签名者。
(签名验证处理:图13)
验证者装置30,假定:预先通过验证者对输入部32的操作,从群管理者装置10取得公开参数(q,gG,G1,Hash)以及群公开密钥gpk=(G1,G2,F,C,D,H,Hash),然后保存在验证者用存储部31中。由此,验证者装置30能够进行签名验证处理。
验证者装置30中,通信部33接收从签名者装置20i发送来的消息msg、群签名σ=(U1,U2,E,V,R,β,s1,s2,sr)以及验证请求,然后保存在验证者用存储部31中,同时,通信部33将该验证请求发送到签名验证部34。
签名验证部34,当取得验证请求时,根据验证者用存储部31内的群公开密钥以及群签名σ,计算R’1=F^{-β}G1^{s1}G2^{s2}、R’2=U1^{-β}G1^{sr}、R’3=E^{-β}H^{sr}G1^{s1}、R’4=R^{-β}U1^{sr}(ST51~ST54)。
接着,签名验证部34根据群公开密钥gpk、消息msg、群签名σ以及上述R’1,R’2,R’3,R’4计算散列值β’=Hash(G1,G2,H,U1,U2,E,V,R,R’1,R’2,R’3,R’4,msg)(ST55)。此外,签名验证部34可以根据预定的基准范围确认群签名σ的值的范围。
根据步骤ST55的结果,若验证式β=β’成立,则判定为有效(valid),将判定结果OK输出到通信部33以及输出部37(ST57-OK),若验证式不成立,则判定为无效(invalid),将判定结果NG输出到通信部33以及输出部37(ST57-NG)。
通信部33将判定结果OK/NG发送到签名者装置20i,然后结束处理。输出部37对判定结果OK/NG进行显示输出。
(撤销验证处理:图14)
验证者装置30,假定:预先通过验证者对输入部32的操作,从群管理者装置10取得公开参数(q,gG,G1,Hash)、群公开密钥gpk=(G1,G2,F,C,D,H,Hash)以及撤销列表RL,保存在验证者用存储部31中。由此,验证者装置30能够进行撤销验证处理。
签名验证部34,确认是否已检查完在撤销列表RL中包含的全部grt(=k1)(ST61),若已检查完,则判定为有效(valid),将判定结果OK输出到通信部33以及输出部37(ST64-OK)。否则继续进行处理。
接着,签名验证部34选择在撤销列表RL中包含的未检查的grt(=k1)(ST62),确认是否R=U1^{k1}(ST63)。若上述式子的等号成立,则判定为无效(invalid),将判定结果NG输出到通信部33以及输出部37(ST64-NG)。否则返回到检查下一grt(ST61)。
(签名者同一性证明、验证处理:图15)
签名者装置20i,假定:预先通过签名者对输入部22的操作,从群管理者装置10取得公开参数(q,gG,G1,Hash)、群公开密钥gpk=(G1,G2,F,C,D,H,Hash)、成员私密密钥gsk[i]以及签名者确定信息Ti,保存在验证者用存储部21中。另外,假定:成为进行签名者同一性验证的对象的群签名σ=(U1,U2,E,V,R,β,s1,s2,sr)也保存在验证者用存储部21中。由此,签名者装置20i能够进行签名者同一性证明处理。
验证者装置30,假定:预先通过验证者对输入部32的操作,从群管理者装置10取得公开参数(q,gG,G1,Hash)以及群公开密钥gpk=(G1,G2,F,C,D,H,Hash),保存在验证用存储部31中。另外,假定:以在线或离线方式取得成为进行签名者同一性验证的对象的群签名σ=(U1,U2,E,V,R,β,s1,s2,sr),保存在验证者用存储部31中。由此,验证者装置30能够进行签名者同一性验证处理。
签名者装置和验证者装置之间的数据通信,分别通过签名者装置的通信部23和验证者装置的通信部33来进行。
在签名者装置20i中,假定:通过用户i对输入部22的操作启动了签名者同一性证明部26。
签名者同一性证明部26参照签名者用存储部21内的素数位数q,随机地选择用于隐藏成员私密密钥(ki1)的随机数r1∈Zq *(ST71)。
接着,签名者同一性证明部26根据签名者用存储部21内的群签名σ=(U1,U2,E,V,R,β,s1,s2,sr)和步骤ST71中得到的随机数r1,计算成为零知识证明的承诺的参数R’=U1^{r1}(ST72),发送到验证者装置30。
验证者装置30把接收到的承诺R’发送给签名者同一性验证部35,启动签名者同一性验证处理。
签名者同一性验证部35随机地选择成为零知识证明的挑战的随机数δ∈Zq *(ST73),发送给签名者装置20i
签名者同一性证明部26根据从验证者装置30接收到的挑战δ、在步骤ST71中得到的随机数r1、在签名者用存储部21中保存的代表的一部分ki1以及素数位数q,计算成为零知识证明的应答的参数s’1=r1+δki1mod q(ST74),发送给验证者装置30。
签名者同一性验证部35根据验证者用存储部31内的群签名σ、在步骤ST3中接收到的承诺R’、在步骤ST73中生成的挑战δ以及接收到的应答s’1,验证R’=R^{-δ}U1^{s’1}是否成立(ST75)。
根据步骤ST75的结果,若验证式R’=R^{-δ}U1^{s’1}成立,则判定为真(ture),将判定结果OK输出到通信部33以及输出部37,然后结束(ST76-OK),若验证式不成立,则判定为伪(false),将判定结果NG输出到通信部33以及输出部37,然后结束(ST76-NG)。
(签名者验证处理以及签名者确定处理:图16至图17)
对于发觉不正当行为、或为了征收服务费用等由于某种事情而需要确定签名者的情况进行说明。
群管理者装置10由通信部13接收从验证者装置30发送的消息msg、群签名σ以及签名者确定请求,然后保存在群管理者用存储部11中,同时通信部13将该签名者确定请求发送到签名验证部16。
签名者验证部16,当取得签名者确定请求时如图16所示,根据群管理者用存储部11内的群公开密钥gpk、消息msg以及群签名σ,计算R’1=F^{-β}G1^{s1}G2^{s2}、R’2=U1^{-β}G1^{sr}、R’3=E^{-β}H^{sr}G1^{s1}R’4=R^{-β}U1^{sr}(ST81~ST84)。
接着,签名验证部16,根据群管理者用存储部11内的群公开密钥gpk、消息msg、群签名σ以及上述R’1,R’2,R’3,R’4计算散列值β=H(G1,G2,H,U1,U2,E,V,R,R’1,R’2,R’3,R’4,msg)(ST85)。此外,签名验证部16也可以根据预定的基准范围确认群签名σ的值的范围。
根据步骤ST85的结果,若验证式β=β’不成立,则判定为无效(invalid),将NG输出到通信部13(ST89-NG)。通信部13将判定结果NG发送到验证者装置30,结束处理。
另一方面,根据步骤ST85的结果,若验证式β=β’成立,则判定为有效(valid),签名验证部16根据群公开密钥gpk以及群签名σ计算散列值α=H(U1,U2,E)(ST87)。
此后,签名验证部16根据群管理者用存储部11内的群签名σ=(U1,U2,E,V,R,β,s1,s2,sr)、签名者确定用私密密钥ok=(x1,x2,y1,y2,z)以及散列值α,验证验证式U1^{x1+y1α}U2^{x2+y2α}=V是否成立(ST88),若不成立则判定为无效(invalid),将NG输出到通信部13(ST89-NG)。通信部13将判定结果NG发送到验证者装置30,结束处理。
另一方面,根据步骤ST88的结果,若验证式成立则判定为有效(valid),签名验证部16将判定结果OK以及签名者确定请求发送到签名者确定部17,结束处理(ST89-OK)。
签名者确定部17,当取得判定结果OK以及签名者确定请求时,如图15所示,根据群管理者用存储部11内的群签名σ以及签名者确定用私密密钥ok,计算签名者确定信息T=E/U1 z(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)的随机数r1∈Zq *(ST102)。
接着,签名者确定部17根据群管理者用存储部11内的群公开密钥gpk=(G1,G2,F,C,D,H,Hash)以及群签名σ=(U1,U2,E,V,R,β,s1,s2,sr)和在步骤ST102中得到的随机数r1,计算成为零知识证明的一部分的参数S1=G1^{r1}、S2=U1^{r1}(ST103~ST104)。
另外,签名者确定部17根据群管理者用存储部11内的群公开密钥gpk=(G1,G2,F,C,D,H,Hash)、签名者确定信息Ti、步骤ST103~ST104中得到的成为零知识证明的一部分的参数S1、S2、和群签名σ,计算散列值γ=Hash(Ti,S1,S2,σ)(ST105)。
进而,签名者确定部17根据该散列值γ、步骤ST102中得到的随机数r1、步骤ST101中得到的代表的一部分ki1以及素数位数q,计算其它成为零知识证明的一部分的参数t1=r1+γki1mod q(ST106)。
由此,签名者确定部17把最终得到的零知识证明τ=(γ,t1)作为群管理者用存储部11的签名者信息的一部分来保存,同时输出到输出部19(ST107),结束处理。
该零知识证明τ成为表示在群签名σ中包含的加密文(U1,U2,E,V,R)是签名者确定信息Ti的正确加密文的零知识证明。
以后,群管理者装置10根据需要,通过群管理者对输入部12的操作,从群管理者用存储部11读出群签名σ、由该签名确定的用户的ID=i和签名者信息正当性证明τ并显示在输出部19,从通信部13发送到验证者装置30。由此,可以不表示代表的一部分ki1地证明正确地进行了签名者确定。
(签名者信息正当性证明验证处理:图19)
验证者装置30,假定:预先通过验证者对输入部32的操作,从群管理者装置10取得公开参数(q,gG,G1,Hash)以及群公开密钥gpk=(G1,G2,F,C,D,H,Hash)并保存在验证者用存储部31中。由此,验证者装置30能够进行签名验证处理。
在验证者装置30中,通信部33接收从群管理者装置10发送来的群签名σ、根据该签名确定的用户的ID=i和与之对应的签名者确定信息Ti、签名者信息正当性证明τ以及验证请求并保存在验证者用存储部31中,同时通信部33将该验证请求发送到签名者信息正当性证明验证部36。
签名者信息正当性证明验证部36根据验证者用存储部31内的群公开密钥gpk、群签名σ、签名者信息正当性证明τ以及签名者确定信息Ti,计算S’1=Ti^{-γ}G1^{t1}、S’2=R^{-γ}U1^{t1}(ST111~ST112)。
接着,签名验证部34根据群公开密钥gpk、群签名σ、签名者确定信息Ti以及上述S’1、S’2,计算散列值γ’=Hash(Ti,S’1,S’2,σ)(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),返回步骤ST121以确认下一用户ID(i)。
<实施例方式的安全性>
在此,表示实施例方式的安全性。
[定理1]提案群签名方式,在随机预言模型(random oracle model)中在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系数(系数(n=pq,p、q:素数(prime)、
[数学式1]
p≈q))的情况下从1/4变为1/3左右。在此,设计算量成为1/4来估计计算量。
而且,通过利用作为幂运算的高速处理方法的指数同时乘算(simultaneousmultiple exponentiation)法,∏iGi^{ei}的形式的计算可以与maxi({ei})=ej的Gi^{ei}的计算相同程度地进行处理。
进行比较时的安全参数,以利用[CG04]方式的推荐参数的情况作为基准。推荐参数利用了2048比特的RSA系数,因此,在RSA方式中,同样地利用2048比特的RSA系数。关于在实施例方式中利用的乘法循环群G,利用Zq *和椭圆曲线这两种。在Zq *中,利用将p设为2048比特的素数、把除得尽p-1的q设为224比特的素数时的位数q的Zq *的部分群。p、q的值是在FIPS(federalinformation processing standard)186-3的草案(draft)中也利用的值,视为与2048比特的RSA系数相同程度的安全参数。在椭圆曲线中,利用由作为与此同等的安全参数的224比特的素数生成的椭圆曲线。
在考虑以上内容的基础上,图21表示RSA签名方式、[CG04]方式、本实施例方式的主要的处理的计算量和数据长度。此外,签名生成计算量以及签名验证计算量表示了幂指数的比特长的总和,在可以利用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以外的装置201~20n、30的计算量没有影响,一般地,多数情况下,群管理者装置是高性能、高可靠的计算机,与签名者装置或验证者装置相比,计算量的制约少,实用上没有问题。
另外,本实施例方式,在通过椭圆曲线加密方式实施时,签名长度与RSA方式大致相同,因此与[CG04]方式相比可以大幅度缩短签名长度。
即,本实施例方式与[CG04]方式相比,签名密钥长度以及验证密钥长度缩短,可以高速地执行签名生成以及签名验证。理由是,本实施例方式是把素数位数q作为标准的基于完全离散对数的方式,与此相对,[CG04]方式是把合成数n=pq作为标准的基于RSA的方式。
例如,在基于离散对数的方式中,在Y=Gx mod q的运算中,在标准q为2048比特的情况下,离散对数x达到224比特左右。
另一方面,在基于RSA的方式中,在C=memod n的运算中,在标准n为2048比特的情况下,公开密钥e也达到2048比特左右。因此,在基于RSA的[CG04]方式中,像本实施例方式那样的密钥长度的缩短化以及运算的高速化是不可能的。
(与基于双线性的方式的效率比较)
利用双线性映射的[FI05]方式和[DP06]方式,根据双线性映射的实施,计算速度大不相同,因此无法简单地进行比较,但这些方式即使考虑当前最快的双线性映射实施技术,也是与[CG04]方式相同程度的速度。因此,根据与上述[CG04]方式的比较结果可知,即使与这些方式相比,本实施例方式也是高速的。
如上所述,根据本实施例,使用素数位数q的乘法循环群gG形成完全的基于离散对数的群签名方式,并且实现了把代表ki1、ki2作为成员私密密钥,把被撤销的成员的代表的一部分ki1包含在撤销类别中的群签名方式,由此能够实现撤销功能,同时与现有的[CG04]方式相比,能够减少计算量来提高计算速度。
例如,根据本实施例,由于是完全的基于离散对数的方式,因此如图12所示,在基于RSA的[CG04]方式中不可能的位可以非常高速地实现数据长度短的群签名方式。
补充一点,在群管理者装置10中,通过在群公开密钥中包含值G1、G2、F可以高效率地生成群签名。另外,通过在群私密密钥中包含值a、b可以高效率地生成成员数量n个的成员密钥。
在签名者装置20i中,通过使用基于代表的一部分ki1的签名确定信息Ti,可以高效率地生成零知识证明。即,不使用代表自身,而把根据代表唯一计算出的值作为签名者确定信息来使用,因此可以提高零知识证明的生成以及验证效率。
在验证者装置30中,根据在撤销列表中包含的代表的一部分ki1,可以高效地进行撤销验证处理。
在验证者装置30以及群管理者装置10中,通过包含零知识证明的群签名σ,可以高效率地验证零知识证明,从而可以高效率地验证群签名σ。
而且,在群管理者装置10中,通过群签名σ包含签名者确定信息Ti的加密文数据,仅通过对加密文数据进行解密来得到签名者确定信息Ti,因此可以高效率地确定签名者。
另外,根据本实施例,可以实现基于DDH问题的最初的实用的群签名方式。
另外,根据本实施例,固定了签名生成中的幂运算的底,因此,通过事前计算指数同时乘算法的计算表,可以高效率地执行幂运算。
另外,根据本实施例,也实现了弱不可陷害性(Weak Non-Frameability)和自身追踪性。
(第二实施例)
图22以及图23是表示本发明的第二实施例的成员私密密钥生成者装置及其存储部的结构的示意图。图24以及图25是表示签名者确定装置及其存储部的结构的示意图。图26以及图27是表示撤销管理者装置及其存储部的结构的示意图。在上述图22至图27中,对于与前文所述附图相同的功能赋予相同的符号,省略其详细的说明,在此,主要叙述不同的部分。以下的各实施例也同样地省略重复的说明。
首先,第一实施例中的群管理者装置10如图2所示,除了作为通用地被利用的功能的输入部12、输出部19以及通信部13以外,如群密钥生成部14、成员私密密钥生成部15、签名验证部16、签名者确定部17以及撤销列表生成部18那样具有多个不同的功能。与此相对,第二实施例成为从图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、签名者装置20i以及验证者装置30通信。
另外,成员私密密钥生成者用存储部111,例如存储包含在群签名方式中使用的素数位数q、以及q的乘法循环群gG的生成源G1的公开参数,存储包含值a、b∈Zq *的群私密密钥、和包含值G2、F以及生成源G1的群公开密钥(其中,G2=G1 a,F=G1 b),与用户识别信息ID(i)相关联地存储私密密钥(ki1,ki2)、该成员私密密钥的代表的一部分ki1以及签名者确定信息Ti。另外,当成员私密密钥生成者装置101从撤销管理者装置103接收到包含与被撤销的成员对应的代表的一部分ki1的撤销列表时,成员私密密钥生成者用存储部111存储该撤销列表。此外,当任何成员都未被撤销时,未生成撤销列表,因此在任何装置101~103、30中都不存储撤销列表。
成员私密密钥生成者装置101的成员私密密钥生成部15例如具有:针对每个用户识别信息ID(i),根据群私密密钥、群公开密钥以及关系式ki1=b-aki2mod q,计算由满足关系式F=G1^{ki1}G2^{ki2}的代表ki1、ki2组成的成员密钥的功能;根据成员私密密钥以及生成源G1计算签名者确定信息Ti=G1^{ki1}的功能;将计算出的成员私密密钥以及签名者确定信息Ti与用户识别信息ID(i)相关联地写入成员私密密钥生成者存储部111的功能。
成员私密密钥生成者装置101的通信部13例如具有:把用于生成群签名方式中的群签名的公开参数、群公开密钥、成员私密密钥以及签名者确定信息Ti发送到签名者装置20i的功能;把用于确定群签名方式中的签名者的公开参数、群公开密钥以及签名者确定信息Ti发送到签名者确定装置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的生成源G1的公开参数,存储包含值x1、x2、y1、y2、z∈Zq *的签名者确定用私密密钥、和值G2、F、C、D、H、生成源G1以及散列函数Hash的群公开密钥(其中,G2=G1 a,F=G1 b,a、b∈Zq *,C=G1^{x1}G2^{x2},D=G1^{y1}G2^{y2},H=G1 z),把通信部13接收到的用户识别信息ID(i)、代表的一部分ki1以及签名者确定信息Ti互相关联地存储。
另外,当签名者确定装置102从撤销列表管理者装置103接收到包含与被撤销的成员对应的代表的一部分ki1的撤销列表时,签名者确定装置用存储部112存储该撤销列表。
签名者确定装置102的通信部13例如具有:针对每个用户识别信息ID(i),从成员私密密钥生成者装置101接收根据由代表ki1、ki2组成的成员私密密钥以及生成源G1计算出的签名者确定信息Ti=G1^{ki1}、和代表的一部分ki1、用户识别信息ID(i)的功能,所述代表ki1、ki2根据包含值a、b的成员私密密钥生成用私密密钥、群公开密钥以及关系式ki1=b-aki2mod q而生成,并且满足关系式F=G1^{ki1}G2^{ki2}。
签名者确定装置102的签名验证部16具有:当通过通信部13从验证者装置30取得消息、包含值E、U1的群签名(其中,E=HrTi、U1=G1 r,r为随机数)和签名者确定请求时,根据公开参数以及群公开密钥验证该群签名的正当性的功能。
签名者确定装置102的签名者确定部17具有:当签名验证部16的验证的结果为群签名表示正当性时,根据该群签名以及签名者确定用私密密钥计算签名者确定信息Ti=E/U1 z的功能;和根据计算出的签名者确定信息Ti检索签名者确定装置用存储部112,并确定与签名者确定信息Ti对应的用户识别信息ID(i)的功能。
签名者确定装置102的输出部19具有输出通过签名者确定部17确定的用户识别信息ID(i)的功能。
撤销管理者装置103如图26所示,具备撤销管理者用存储部113、输入部12、通信部13、撤销列表生成部18以及输出部19。补充来说,撤销管理者装置103是专门用于撤销管理的装置,不具有成员私密密钥生成部15、签名验证部16以及签名者确定部17。
另外,撤销管理者用存储部113如图27所示,保存了成员信息(用户识别信息、撤销令牌)。补充来说,撤销管理者用存储部113不保存公开参数、群公开密钥、成员私密密钥生成用私密密钥、签名者确定用私密密钥、成员信息的成员私密密钥和签名者确定信息、用户管理信息、消息、群签名、签名者信息以及计算表。
这样的撤销管理者装置103能够与使用群签名方式的成员私密密钥生成者装置101、签名者确定装置102、签名者装置20i以及验证者装置30通信。
撤销管理者用存储部113把通过通信部13接收的用户识别信息ID(i)以及代表的一部分ki1互相关联地存储。
撤销管理者装置103的撤销列表生成部18具有,例如当从输入部12输入了表示被撤销的成员的用户识别信息ID(i)时,根据该输入的用户识别信息ID(i)生成包含撤销管理者用存储部113内的对应的代表的一部分ki1的撤销列表的功能。
撤销管理者装置103的通信部13具有:例如根据包含使用群签名方式的素数位数q以及q的乘法循环群gG的生成源G1的公开参数、和包含值a、b∈Zq *的成员私密密钥生成用私密密钥、和包含值G2、F以及生成源G1的群公开密钥(其中,G2=G1 a,F=G1 b),针对每个用户识别信息ID(i),根据关系式ki1=b-aki2mod q,当通过成员密钥生成者装置102生成了由满足关系式F=G1^{ki1}G2^{ki2}的代表ki1、ki2组成的成员密钥时,从成员密钥生成者装置102接收互相关联的该代表的一部分ki1和用户识别信息ID(i)的功能;和把通过撤销列表生成部18生成的撤销列表发送到验证者装置30的功能。
根据以上结构,可以按照群管理者具有的每种功能来分割装置。第一实施例中的群管理者装置10,如群密钥生成部14、成员私密密钥生成部15、签名验证部16、签名者确定部17以及撤销列表生成部18那样具有多个不同功能,但除了签名验证和签名者确定以外,一般利用这些功能的时刻、频率、负荷各种各样。因此,从负荷分散或系统的运用、管理的观点来看,有时希望按照每个功能分割装置。另外,也期待通过使这些功能管理必要的最低限度的信息,实现更高的安全性的效果。例如,即使利用撤销管理者装置103或签名者确定装置102也无法生成成员私密密钥,无法进行不正当的签名的伪造。
另外,可以把群管理者功能分割给成员私密密钥生成者、签名者确定者、撤销管理者,可以同时实现比现有的不可陷害性(Non-Frameability)稍弱的弱不可陷害性(Weak Non-Frameability)和自身追踪性(Self-Traceability),由此可以实现更高安全性和灵活的系统运用、管理。
(第三实施例)
图28以及图29是表示本发明的第三实施例的签名者同一性证明装置及其存储部的结构的示意图。
首先,第一实施例中的签名者装置20i如图4所示,作为通用地被利用的功能的输入部22、输出部27以及通信部23以外,如消息生成部24、群签名生成部25、签名者同一性证明部26那样具有多个不同的功能。与此相对,第三实施例成为从图4所示的签名者装置20i中如图28以及图29所示那样提取出签名者同一性证明装置201i的结构。
签名者同一性证明装置201i如图28所示,具备:签名者同一性证明用秘密信息存储部211、通信部23以及签名者同一性证明部26。补充来说,签名者同一性证明装置201i是专门用于签名者同一性证明的装置,不具备输入部22、输出部27、消息生成部24以及群签名生成部25。
另外,签名者同一性证明用秘密信息存储部211如图29所示,保存作为成员私密密钥的一部分的ki1。补充来说,签名者同一性证明用秘密信息存储部211不保存公开参数、群公开密钥、计算表、成员私密密钥的另一部分ki2、签名者确定信息、消息以及群签名。
这样的签名者同一性证明装置201i能够与使用群签名方式的群管理者装置10、签名者装置20i以及验证者装置30通信。
签名者同一性证明用秘密信息存储部211,针对每个用户识别信息ID(i)存储通过群管理者装置10生成的成员私密密钥内的代表的一部分ki1
签名者同一性证明装置201i的签名者同一性证明部26例如具有:根据包含群签名方式中使用的素数位数q、以及q的乘法循环群gG的生成源G1的公开参数,选择随机数r1∈Zq *的功能;当通信部23从签名者装置20i接收包含值R、U的群签名σ时(其中R=Ti r,U1=G1 r,Ti=G1 r,r为随机数),根据该群签名σ内的值U1以及所选择的随机数r1计算零知识证明的承诺R’=U1^{r1}的功能;根据称为挑战的随机数δ、随机数r1、代表的一部分ki1以及素数位数q,计算成为零知识证明的应答的参数s1’=r1+δki1mod q的功能。
签名者同一性证明装置201i的通信部23具有:把通过签名者同一性证明部26计算出的承诺R’发送到验证者装置30的功能;从验证者装置30接收成为零知识证明的挑战的随机数δ∈Zq *的功能;对能够验证验证式R’=R^{-δ}U1^s1’的验证者装置30发送通过签名者同一性证明部26计算出的参数s1’的功能。
根据以上的结构,可以使签名者同一性证明装置201i从签名者装置20i独立。在签名者同一性证明用秘密信息存储部211中不保存作为成员私密密钥的一部分的ki1,仅通过成员私密密钥的一部分ki1无法生成签名,因此,即使假定签名者同一性证明装置201i丢失、被盗并被不正当地分析,也可以把用户的被害抑制到最低限度。由此也能实现把自家中安全地进行管理的PC(PersonalComputer)用作签名者装置20i来进行签名生成,把容易搬运的便携电话或IC卡用作签名者同一性证明装置201i来进行签名者同一性证明处理的系统运用。
另外,可以把签名生成者功能分割给签名生成者、签名者同一性证明者,可以同时实现比现有的不可陷害性(Non-Frameability)稍弱的弱不可陷害性(Weak Non-Frameability)和自身追踪性(Self-Traceability),由此可以实现更高安全性和灵活的系统运用、管理。
此外,上述实施例中记载的方法也可以作为可以使计算机执行的程序而存储在磁盘(Floppy TM盘、硬盘等)、光盘(CD-ROM、DVD等)、光磁盘(MO)、半导体存储器等存储介质中来分发。
另外,作为该存储介质,只要是能够存储程序并且由计算机读取的存储介质,则其存储形式可以是任何形态。
另外,根据从存储介质向计算机安装的程序的指示,在计算机上运行的OS(操作系统)、或数据库管理软件、网络软件等MW(中间件)等也可以执行用于实现上述实施例的各处理的一部分。
而且,本发明中的存储介质不限于独立于计算机的介质,也包含下载通过LAN或因特网等传送的程序来存储或临时存储的存储介质。
另外,存储介质不限于一个,从多个介质执行上述实施例中的处理的情况,也包含在本发明的存储介质中,介质结构可以是任意结构。
此外,本发明中的计算机根据在存储介质上存储的程序执行上述实施例中的各处理,可以是由个人计算机等一个所构成的装置、将多个装置进行网络连接的系统等任意结构。
另外,本发明中的计算机不限于个人计算机,也包括在信息处理设备中包含的运算处理装置、微型计算机等,是能够通过程序来实现本发明的功能的设备、装置的总称。
此外,本申请的发明并不限定于上述实施例本身,在实施阶段在不脱离其主旨的范围内可以改变结构要素来具体化。另外,可以通过上述实施例中公开的多个结构要素的适当的组合来形成各种发明。例如也可以从实施例所示的全部结构要素中删除若干结构要素。而且,也可以将跨越不同的实施方式的结构要素进行适当组合。
产业上的可利用性
如上所述,根据本发明,可以在实现撤销功能的同时减少计算量来提高计算速度。

Claims (11)

1.一种群签名系统,其具备互相可以通信的群管理者装置(10)、签名者装置(20i)以及验证者装置(30),各装置使用群签名方式,其特征在于,
所述群管理者装置具备:
参数存储单元(11),其存储包含在所述群签名方式中使用的位数q、以及所述q的乘法循环群gG的生成源G1的公开参数,其中,q为素数;
群密钥生成单元(14),其根据所述参数存储单元内的公开参数,生成包含值a、b∈Zq *的群私密密钥、和包含满足第一关系式G2=G1 a以及第二关系式F=G1 b的值G2、F以及所述生成源G1的群公开密钥,其中,Zq *是1以上不到q的整数的集合{1,…,q-1};
成员私密密钥生成单元(15),其根据所述群私密密钥、所述群公开密钥以及第三关系式ki1=b-aki2mod q,计算由满足第四关系式F=G1^{ki1}G2^{ki2}的代表ki1、ki2组成的成员私密密钥,其中,“^”是表示幂运算的记号;
签名者确定信息计算单元(15),其根据所述成员私密密钥以及所述生成源G1,计算签名者确定信息Ti=G1^{ki1};
撤销列表生成单元(18),其生成包含与被撤销的成员对应的代表的一部分ki1的撤销列表;以及
将所述撤销列表发送给所述验证者装置的单元(13),
所述签名者装置具备:
签名者用存储单元(21),其存储包含在所述群签名方式中使用的位数q以及所述q的乘法循环群gG的生成源G1的公开参数、和所述群公开密钥、所述成员私密密钥、所述签名者确定信息Ti以及消息;
加密文生成单元(25),其根据所述签名者用存储单元内的公开参数以及群公开密钥,将所述签名者确定信息Ti加密,生成该签名者确定信息Ti的加密文数据;
零知识证明生成单元(25),其根据所述签名者用存储单元内的公开参数、所述群公开密钥、所述成员私密密钥以及所述消息和所述签名者确定信息Ti的加密文数据,生成零知识证明,该零知识证明表示已知该成员私密密钥,并且根据该签名者确定信息Ti正确地生成了所述加密文数据;以及
将由所述加密文数据以及所述零知识证明组成的群签名和所述消息发送到所述验证者装置的单元(23),
所述验证者装置具备:
验证者用存储单元(31),其存储包含在所述群签名方式中使用的位数q、以及所述q的乘法循环群gG的生成源G1的公开参数和所述群公开密钥;
分别从所述群管理者装置接收所述撤销列表,从所述签名者装置接收所述群签名以及消息的单元(33);
验证单元(34),其根据所述接收到的撤销列表和群签名以及消息和所述验证者用存储单元内的公开参数以及群公开密钥,验证该群签名的正当性;以及
将所述验证的结果发送到所述签名者装置的单元(33)。
2.一种群管理者装置(10),其能够与使用群签名方式的签名者装置(20i)以及验证者装置(30)通信,其特征在于,
具备:
参数存储单元(11),其存储包含在所述群签名方式中使用的位数q、以及所述q的乘法循环群gG的生成源G1的公开参数,其中,q为素数;
群密钥生成单元(14),其根据所述参数存储单元内的公开参数,生成包含值a、b∈Zq *的群私密密钥、和包含满足第一关系式G2=G1 a以及第二关系式F=G1 b的值G2、F以及所述生成源G1的群公开密钥,其中,Zq *是1以上不到q的整数的集合{1,…,q-1};
成员私密密钥生成单元(15),其根据所述群私密密钥、所述群公开密钥以及第三关系式ki1=b-aki2mod q,计算由满足第四关系式F=G1^{ki1}G2^{ki2}的代表ki1、ki2组成的成员私密密钥,其中,“^”是表示幂运算的记号;
签名者确定信息计算单元(15),其根据所述成员私密密钥以及所述生成源G1,计算签名者确定信息Ti=G1^{ki1};
把用于生成所述群签名方式中的群签名的所述公开参数、所述群公开密钥、所述成员私密密钥以及所述签名者确定信息Ti发送到所述签名者装置的单元(13);
撤销列表生成单元(18),其生成包含与被撤销的成员对应的所述代表的一部分ki1的撤销列表;以及
把用于验证所述群签名方式中的群签名的所述公开参数、所述群公开密钥以及所述撤销列表发送到所述验证者装置的单元(13)。
3.一种签名者装置(20i),其能够与使用群签名方式的群管理者装置(10)以及验证者装置(30)通信,其特征在于,
具备:
从所述群管理者装置接收下述信息的单元(23),这些信息是:包含在所述群签名方式中使用的位数q、以及所述q的乘法循环群gG的生成源G1的公开参数;包含根据所述公开参数,满足值a、b∈Zq *和第一关系式G2=G1 a以及第二关系式F=G1 b地生成的值G2、F以及所述生成源G1的群公开密钥,其中,q为素数,Zq *是1以上不到q的整数的集合{1,…,q-1};根据所述值a、b∈Zq *、所述群公开密钥以及第三关系式ki1=b-aki2mod q,由满足第四关系式F=G1^{ki1}G2^{ki2}地生成的代表ki1、ki2组成的成员私密密钥;以及根据所述成员私密密钥以及所述生成源G1而生成的签名者确定信息Ti=G1^{ki1},其中,“^”是表示幂运算的记号;
签名者用存储单元(21),用于存储所述接收到的公开参数、所述群公开密钥、所述成员私密密钥以及所述签名者确定信息Ti和消息;
生成所述消息,并写入所述签名者用存储单元的单元(24);
加密文生成单元(25),其根据所述签名者用存储单元内的公开参数以及群公开密钥,加密所述签名者确定信息Ti,生成该签名者确定信息Ti的加密文数据;
零知识证明生成单元(25),其根据所述签名者用存储单元内的公开参数、所述群公开密钥、所述成员私密密钥以及所述消息、所述签名者确定信息Ti的加密文数据,生成表示已知该成员私密密钥,并且根据该签名者确定信息Ti正确地生成了所述加密文数据的零知识证明;以及
将由所述加密文数据以及所述零知识证明组成的群签名与所述消息发送到所述验证者装置的单元(23)。
4.一种验证者装置(30),能够与使用群签名方式的群管理者装置(10)以及签名者装置(20i)通信,其特征在于,
具备:
从所述群管理者装置接收下述信息的单元(33),这些信息是:包含所述群签名方式中使用的位数q以及所述q的乘法循环群gG的生成源G1的公开参数;包含根据所述公开参数,满足值a、b∈Zq *和第一关系式G2=G1 a以及第二关系式F=G1 b地生成的值G2、F以及所述生成源G1的群公开密钥;和包含与被撤销的成员对应的代表的一部分ki1的撤销列表,其中,q为素数,Zq *是1以上不到q的整数的集合{1,…,q-1};
存储所述接收到的公开参数和所述群公开密钥的验证者用存储单元(31);
从所述签名者装置接收由零知识证明和所述签名者确定信息Ti的加密文数据组成的群签名以及消息的单元(33),所述零知识证明表示:关于根据所述值a、b∈Zq *、所述群公开密钥以及第三关系式ki1=b-aki2mod q,由满足第四关系式F=G1^{ki1}G2^{ki2}地生成的代表ki1、ki2组成的成员私密密钥、和根据所述成员私密密钥以及所述生成源G1而生成的签名者确定信息Ti=G1^{ki1},已知所述成员私密密钥并且根据所述签名者确定信息Ti正确地生成了所述加密文数据,其中,“^”是表示幂运算的记号;
验证单元(34),其根据所述接收到的撤销列表和群签名以及消息和所述验证者用存储单元内的公开参数以及群公开密钥,验证该群签名的正当性;以及
将所述验证的结果发送到所述签名者装置的单元(33),
所述加密文数据,是根据所述公开参数以及群公开密钥,通过所述签名者装置加密所述签名者确定信息Ti而得到的数据,
所述零知识证明,是根据所述公开参数、所述群公开密钥、所述成员私密密钥以及消息、和所述签名者确定信息Ti的加密文数据,通过所述签名者装置生成的数据。
5.一种在能够与使用群签名方式的签名者装置(20i)以及验证者装置(30)通信的群管理装置(10)中使用的方法,其特征在于,
具备:
把包含在所述群签名方式中使用的位数q、以及所述q的乘法循环群gG的生成源G1的公开参数写入存储器(11)的处理,其中,q为素数;
根据所述存储器内的公开参数生成包含群私密密钥和群公开密钥的群密钥生成处理,所述群私密密钥包含值a、b∈Zq *,所述群公开密钥包含满足第一关系式G2=G1 a以及第二关系式F=G1 b的值G2、F以及所述生成源G1,其中,Zq *是1以上不到q的整数的集合{1,…,q-1};
根据所述群私密密钥、所述群公开密钥以及第三关系式ki1=b-aki2mod q,计算由满足第四关系式F=G1^{ki1}G2^{ki2}的代表ki1、ki2组成的成员私密密钥的成员私密密钥生成处理,其中,“^”是表示幂运算的记号;
根据所述成员私密密钥以及所述生成源G1计算签名者确定信息Ti=G1^{ki1}的签名者确定信息计算处理;
将用于生成所述群签名方式中的群签名的所述公开参数、所述群公开密钥、所述成员私密密钥以及所述签名者确定信息Ti发送到所述签名者装置的处理;
生成包含与被撤销的成员对应的所述代表的一部分ki1的撤销列表的撤销列表生成处理;以及
将用于验证所述群签名方式中的群签名的所述公开参数、所述群公开密钥以及所述撤销列表发送到所述验证者装置的处理。
6.一种在能够与使用群签名方式的群管理者装置(10)以及验证者装置(30)通信的签名者装置(20i)中使用的方法,其特征在于,
具备:
从所述群管理者装置接收以下信息的处理,这些信息是:包含在所述群签名方式中使用的位数q、以及所述q的乘法循环群gG的生成源G1的公开参数;包含根据所述公开参数,满足值a、b∈Zq *和第一关系式G2=G1 a以及第二关系式F=G1 b地生成的值G2、F以及所述生成源G1的群公开密钥,其中,q为素数,Zq *是1以上不到q的整数的集合{1,…,q-1};根据所述值a、b∈Zq *、所述群公开密钥以及第三关系式ki1=b-aki2mod q,由满足第四关系式F=G1^{ki1}G2^{ki2}地生成的代表ki1、ki2组成的成员私密密钥;以及根据所述成员私密密钥以及所述生成源G1而生成的签名者确定信息Ti=G1^{ki1},其中,“^”是表示幂运算的记号;
将所述接收到的公开参数、所述群公开密钥、所述成员私密密钥以及所述签名者确定信息Ti和消息写入存储器(21)的处理;
生成所述消息然后写入所述存储器的处理;
根据所述存储器内的公开参数以及群公开密钥加密所述签名者确定信息Ti,并生成该签名者确定信息Ti的加密文数据的加密文生成处理;
根据所述存储器内的公开参数、所述群公开密钥、所述成员私密密钥以及所述消息、所述签名者确定信息Ti的加密文数据,生成表示已知该成员私密密钥并且根据该签名者确定信息Ti正确地生成了所述加密文数据的零知识证明的零知识证明生成处理;以及
将由所述加密文数据以及所述零知识证明组成的群签名和所述消息发送到所述验证者装置的处理。
7.一种在能够与使用群签名方式的群管理者装置(10)以及签名者装置(20i)通信的验证者装置(30)中使用的方法,其特征在于,
具备:
从所述群管理者装置接收以下信息的处理,这些信息是:包含所述群签名方式中使用的位数q以及所述q的乘法循环群gG的生成源G1的公开参数;包含根据所述公开参数,满足值a、b∈Zq *和第一关系式G2=G1 a以及第二关系式F=G1 b地生成的值G2、F以及所述生成源G1的群公开密钥;和包含与被撤销的成员对应的代表的一部分ki1的撤销列表,其中,q为素数,Zq *是1以上不到q的整数的集合{1,…,q-1};
将所述接收到的公开参数和所述群公开密钥写入存储器(31)的处理;
从所述签名者装置接收由零知识证明和所述签名者确定信息Ti的加密文数据组成的群签名以及消息的处理,所述零知识证明表示:关于根据所述值a、b∈Zq *、所述群公开密钥以及第三关系式ki1=b-aki2mod q,由满足第四关系式F=G1^{ki1}G2^{ki2}地生成的代表ki1、ki2组成的成员私密密钥、和根据所述成员私密密钥以及所述生成源G1而生成的签名者确定信息Ti=G1^{ki1},已知所述成员私密密钥,并且根据所述签名者确定信息Ti正确地生成了所述加密文数据,其中,“^”是表示幂运算的记号;
根据所述接收到的撤销列表和群签名以及消息和所述存储器内的公开参数以及群公开密钥,验证该群签名的正当性的验证处理;以及
将所述验证的结果发送到所述签名者装置的处理,
所述加密文数据,是根据所述公开参数以及群公开密钥,通过所述签名者装置加密所述签名者确定信息Ti而得到的数据,
所述零知识证明,是根据所述公开参数、所述群公开密钥、所述成员私密密钥以及消息和所述签名者确定信息Ti的加密文数据,通过所述签名者装置生成的数据。
8.一种成员私密密钥生成者装置(101),能够与使用群签名方式的签名者确定装置(102)、撤销管理者装置(103)、签名者装置(20i)以及验证者装置(30)通信,其特征在于,
具备:
参数存储单元(111),其存储包含所述群签名方式中使用的位数q、以及所述q的乘法循环群gG的生成源G1的公开参数,其中,q为素数;
群密钥存储单元(111),其存储包含值a、b∈Zq *的群私密密钥、和包含值G2、F以及所述生成源G1的群公开密钥,其中,G2=G1 a,F=G1 b,其中,Zq *是1以上不到q的整数的集合{1,…,q-1};
成员私密密钥生成单元(15),其针对每个用户识别信息ID(i),根据所述群私密密钥、所述群公开密钥以及关系式ki1=b-aki2mod q,计算由满足关系式F=G1^{ki1}G2^{ki2}的代表ki1、ki2组成的成员私密密钥,其中,“^”是表示幂运算的记号;
签名者确定信息计算单元(15),其根据所述成员私密密钥以及所述生成源G1计算签名者确定信息Ti=G1^{ki1};
成员信息存储单元(111),其与所述用户识别信息ID(i)相关联地存储所述成员私密密钥(ki1,ki2)、该成员私密密钥的代表的一部分ki1以及所述签名者确定信息Ti
将用于生成所述群签名方式中的群签名的所述公开参数、所述群公开密钥、所述成员私密密钥以及所述签名者确定信息Ti发送到所述签名者装置的单元(13);
将用于确定所述群签名方式中的签名者的所述公开参数、所述群公开密钥以及所述签名者确定信息Ti发送到所述签名者确定装置的单元(13);
将所述成员信息存储单元内的用户识别信息ID(i)以及代表的一部分ki1发送到所述撤销管理者装置的单元(13);
撤销列表存储单元(111),其从所述撤销管理者装置接收包含与被撤销的成员对应的所述代表的一部分ki1的撤销列表,并存储该撤销列表;以及
将用于验证所述群签名方式中的群签名的所述公开参数以及所述群公开密钥发送到所述验证者装置的单元(13)。
9.一种签名者确定装置(102),能够与使用群签名方式的成员私密密钥生成者装置(101)、撤销管理者装置(103)以及验证者装置(30)通信,其特征在于,
具备:
参数存储单元(112),其存储包含在所述群签名方式中使用的位数q以及所述q的乘法循环群gG的生成源G1的公开参数,其中,q为素数;
密钥存储单元(112),其存储包含值x1、x2、y1、y2、z∈Zq *的签名者确定用私密密钥,其中,Zq *是1以上不到q的整数的集合{1,…,q-1};和包含G2、F、C、D、H、所述生成源G1以及散列函数Hash的群公开密钥,其中,G2=G1 a、F=G1 b、a、b∈Zq *、C=G1^{x1}G2^{x2}、D=G1^{y1}G2^{y2},H=G1 z,“^”是表示幂运算的记号;
从所述成员私密密钥生成者装置接收根据由代表ki1、ki2组成的成员私密密钥以及所述生成源G1计算出的签名者确定信息Ti=G1^{ki1}、所述代表的一部分ki1、和用户识别信息ID(i)的单元(13),其中,所述代表ki1、ki2针对每个用户识别信息ID(i),根据包含值a、b的成员私密密钥生成用私密密钥、所述群公开密钥以及关系式ki1=b-aki2mod q而生成,并且满足关系式F=G1^{ki1}G2^{ki2};
成员信息存储单元(112),其将所述接收到的用户识别信息ID(i)、所述代表的一部分ki1以及所述签名者确定信息Ti互相关联地存储;
撤销列表存储单元(112),其从所述撤销管理者装置接收包含与被撤销的成员对应的所述代表的一部分ki1的撤销列表,并存储该撤销列表;
签名验证单元(16),当从所述验证者装置取得消息、包含值E、U1的群签名和签名者确定请求时,根据所述公开参数以及所述群公开密钥,验证该群签名的正当性,其中,E=HrTi,U1=G1 r,r是随机数;
签名者确定信息单元(17),其在所述验证的结果为群签名表示正当性时,根据该群签名以及所述签名者确定用私密密钥计算签名者确定信息Ti=E/U1 z
根据所述计算出的签名者确定信息Ti检索所述成员信息存储单元,确定与签名者确定信息Ti对应的用户识别信息ID(i)的单元(17);以及
输出所述确定的用户识别信息ID(i)的输出单元(19)。
10.一种撤销管理者装置(10),能够与使用群签名方式的成员私密密钥生成者装置(101)、签名者确定装置(102)、签名者装置(20i)以及验证者装置(30)通信,其特征在于,
具备:
当根据包含在所述群签名方式中使用的位数q以及所述q的乘法循环群gG的生成源G1的公开参数、和包含值a、b∈Zq *的成员私密密钥生成用私密密钥、和包含值G2、F以及所述生成源G1的群公开密钥,针对每个用户识别信息ID(i),根据关系式ki1=b-aki2mod q,通过所述成员私密密钥生成者装置生成了由满足关系式F=G1^{ki1}G2^{ki2}的代表ki1、ki2组成的成员私密密钥时,从所述成员私密密钥生成者装置接收互相关联的该代表的一部分ki1和所述用户识别信息ID(i)的单元(13),其中,G2=G1 a、F=G1 b,其中,q为素数,Zq *是1以上不到q的整数的集合{1,…,q-1};
撤销管理者用存储单元(113),其将所述接收到的用户识别信息ID(i)以及代表的一部分ki1互相关联地存储;
撤销列表生成单元(18),其当被输入了表示被撤销的成员的用户识别信息ID(i)时,根据该输入的用户识别信息ID(i)生成包含所述撤销管理者用存储单元内的对应的代表的一部分ki1的撤销列表;以及
将所述撤销列表发送到所述验证者装置的单元(13)。
11.一种签名者同一性证明装置(201i),能够与使用群签名方式的群管理者装置(10)、签名者装置(20i)以及验证者装置(30)通信,其特征在于,
具备:
存储单元(211),其针对每个用户识别信息ID(i),存储通过所述群管理者装置生成的成员私密密钥内的代表的一部分ki1
根据包含在所述群签名方式中使用的位数q以及所述q的乘法循环群gG的生成源G1的公开参数,选择随机数r1∈Zq *的单元(26),其中,其中,q为素数,Zq *是1以上不到q的整数的集合{1,…,q-1};
当从所述签名者装置取得包含R、U1的群签名σ时,根据该群签名σ内的值U1以及所述选择的随机数r1计算零知识证明的承诺R’=U1^{r1}的单元(26),其中,R=Ti r,U1=G1 r,Ti=G1 r,r是随机数,“^”是表示幂运算的记号;
将所述计算出的承诺R’发送到所述验证者装置的单元(23);
从所述验证者装置接收成为所述零知识证明的挑战的随机数δ∈Zq *的单元(23);
根据所述成为挑战的随机数δ、所述随机数r1、所述代表的一部分ki1以及所述位数q,计算成为所述零知识证明的应答的参数s1’=r1+δki1mod q的单元(26);以及
对能够验证验证式R’=R^{-δ}U1^s1’的所述验证者装置发送所述计算出的参数s1’的单元(23)。
CN200980109365.5A 2008-03-19 2009-03-10 群签名系统、装置以及方法 Active CN101978651B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2008072488A JP4764447B2 (ja) 2008-03-19 2008-03-19 グループ署名システム、装置及びプログラム
JP2008-072488 2008-03-19
PCT/JP2009/054502 WO2009116422A1 (ja) 2008-03-19 2009-03-10 グループ署名システム、装置及びプログラム

Publications (2)

Publication Number Publication Date
CN101978651A CN101978651A (zh) 2011-02-16
CN101978651B true CN101978651B (zh) 2014-09-17

Family

ID=41090827

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200980109365.5A Active CN101978651B (zh) 2008-03-19 2009-03-10 群签名系统、装置以及方法

Country Status (5)

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

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 日本電信電話株式会社 署名生成装置、署名検証装置、再リンク鍵生成装置、及びプログラム
US9806890B2 (en) * 2010-05-19 2017-10-31 Koninklijke Philips N.V. Attribute-based digital signature system
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
US9894056B2 (en) * 2013-01-17 2018-02-13 Nippon Telegraph And Telephone Corporation Segmented secret-key storage system, segment storage apparatus, segmented secret-key storage method
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
WO2015105479A1 (en) * 2014-01-07 2015-07-16 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
KR102603069B1 (ko) * 2016-11-19 2023-11-15 디피니티 스티프텅 시스템 아키텍쳐 및 시스템 아키텍쳐에서의 데이터 처리 방법
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 矩阵元技术(深圳)有限公司 一种区块链交易隐私保护方法及系统
WO2019102624A1 (ja) * 2017-11-27 2019-05-31 三菱電機株式会社 準同型推論装置、準同型推論方法、準同型推論プログラム及び秘匿情報処理システム
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
US20210135855A1 (en) * 2019-10-30 2021-05-06 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 中国科学技术大学 基于中国剩余定理的车联网动态组密钥管理方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000162967A (ja) * 1998-11-30 2000-06-16 Mitsubishi Electric Corp ディジタル署名・検証システム
JP2005210638A (ja) * 2004-01-26 2005-08-04 Toshiba Corp デジタル署名システム、デジタル署名管理装置、デジタル署名管理方法及びプログラム
CN1790981A (zh) * 2005-12-08 2006-06-21 上海交通大学 基于群签名的移动代理安全路由方法

Family Cites Families (10)

* 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
US6240188B1 (en) * 1999-07-06 2001-05-29 Matsushita Electric Industrial Co., Ltd. Distributed group key management scheme for secure many-to-many communication
JP4635009B2 (ja) * 2003-05-21 2011-02-16 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. 通信における証明された秘密値の使用
US7590236B1 (en) * 2004-06-04 2009-09-15 Voltage Security, Inc. Identity-based-encryption system
KR101099814B1 (ko) * 2007-07-11 2011-12-27 도시바 솔루션 가부시끼가이샤 그룹 서명 시스템, 장치 및 기록 매체
JP5532048B2 (ja) * 2009-07-13 2014-06-25 日本電気株式会社 匿名認証署名システム、ユーザ装置、検証装置、署名方法、検証方法およびそれらのプログラム
KR101425552B1 (ko) * 2010-10-04 2014-08-05 한국전자통신연구원 제어가능 연결성을 제공하는 그룹서명 시스템 및 방법
KR101475282B1 (ko) * 2010-12-20 2014-12-22 한국전자통신연구원 키 유효성 검증 방법 및 이를 수행하기 위한 서버

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000162967A (ja) * 1998-11-30 2000-06-16 Mitsubishi Electric Corp ディジタル署名・検証システム
JP2005210638A (ja) * 2004-01-26 2005-08-04 Toshiba Corp デジタル署名システム、デジタル署名管理装置、デジタル署名管理方法及びプログラム
CN1790981A (zh) * 2005-12-08 2006-06-21 上海交通大学 基于群签名的移动代理安全路由方法

Also Published As

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

Similar Documents

Publication Publication Date Title
CN101978651B (zh) 群签名系统、装置以及方法
CN101689993B (zh) 组署名系统、装置和方法
Brickell et al. Enhanced privacy ID from bilinear pairing for hardware authentication and attestation
Escala et al. Revocable attribute-based signatures with adaptive security in the standard model
Liu et al. Certificateless signcryption scheme in the standard model
Liu et al. Self-generated-certificate public key cryptography and certificateless signature/encryption scheme in the standard model
Zhou et al. ExpSOS: Secure and verifiable outsourcing of exponentiation operations for mobile cloud computing
Herranz Deterministic identity-based signatures for partial aggregation
Brickell et al. Enhanced privacy ID from bilinear pairing
Liu et al. Server-aided anonymous attribute-based authentication in cloud computing
Canard et al. Protecting privacy by sanitizing personal data: a new approach to anonymous credentials
CN115529141B (zh) 一种对数签名大小的可追踪环签名生成方法及系统
Poettering Shorter double-authentication preventing signatures for small address spaces
Bosk et al. Hidden issuer anonymous credential
Lin et al. An efficient strong designated verifier proxy signature scheme for electronic commerce
Fanfara et al. Usage of asymmetric encryption algorithms to enhance the security of sensitive data in secure communication
Li et al. A forward-secure certificate-based signature scheme
Tso A new way to generate a ring: Universal ring signature
Dousti et al. An efficient statistical zero-knowledge authentication protocol for smart cards
Liu et al. Secure deterministic wallet and stealth address: Key-insulated and privacy-preserving signature scheme with publicly derived public key
Fajiang et al. An efficient anonymous remote attestation scheme for trusted computing based on improved CPK
Hsu et al. Pairing‐based strong designated verifier proxy signature scheme with low cost
Ji et al. A novel privacy-preserving data integrity verification by partial delegation
Gajera et al. Privc: privacy preserving verifiable computation
Asaar et al. A provably secure identity‐based proxy ring signature based on RSA

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant