CN1937496A - 可延展伪名证书系统和方法 - Google Patents

可延展伪名证书系统和方法 Download PDF

Info

Publication number
CN1937496A
CN1937496A CNA200510103562XA CN200510103562A CN1937496A CN 1937496 A CN1937496 A CN 1937496A CN A200510103562X A CNA200510103562X A CN A200510103562XA CN 200510103562 A CN200510103562 A CN 200510103562A CN 1937496 A CN1937496 A CN 1937496A
Authority
CN
China
Prior art keywords
evidence
user
unit
verifier
pki
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.)
Pending
Application number
CNA200510103562XA
Other languages
English (en)
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 China Co Ltd
Original Assignee
NEC China Co Ltd
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 China Co Ltd filed Critical NEC China Co Ltd
Priority to CNA200510103562XA priority Critical patent/CN1937496A/zh
Priority to CA002560038A priority patent/CA2560038A1/en
Priority to EP06019549A priority patent/EP1768304A1/en
Priority to US11/523,597 priority patent/US20070143608A1/en
Priority to JP2006254122A priority patent/JP2007089171A/ja
Priority to KR1020060091745A priority patent/KR20070033289A/ko
Publication of CN1937496A publication Critical patent/CN1937496A/zh
Pending legal-status Critical Current

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
    • 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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
    • H04L9/0836Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key using tree structure or hierarchical structure
    • 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/3263Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/42Anonymization, e.g. involving pseudonyms

Landscapes

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

Abstract

本发明提供了一种用于通信网络的可延展伪名证书系统和方法。根据本发明的一个实施例,用户从受信实体获得根证据,基于该根证据生成一个或多个伪名证书,并每个都配备有一个伪名证书的匿名公钥发送到多个验证者。通过使用伪名证书,验证者相信用户的匿名公钥是被受信实体认证的。伪名证书不包含验证者可从其得到用户真实身份的信息。利用可延展伪名证书系统,受信实体只需要对用户的根公钥认证一次。用户可以自己生成大量匿名公钥,其中每个匿名公钥配备一个不同的伪名证书。

Description

可延展伪名证书系统和方法
技术领域
本发明一般地涉及计算机通信网络安全,更具体地,涉及通信系统隐私保护。
背景技术
目前,公钥密码系统被广泛使用。通常可以容易地获得许多公钥密码编码和解码技术,来提供一定程度的安全性以及隐私性。例如,授权给Rivest等的美国专利No.4,405,829以及El Gamal(Tahir ElGamal,A public-key cryptosystem and a signature scheme based on discrete logarithms,Advances in Cryptology Proceedings;CRYPTO 84,pages 10-18,1985)是本领域公知的技术。Rivest专利和El Gamal的教导通过引用结合于此。
利用诸如RSA和El Gamal之类的传统公钥密码系统,为了与其他方安全地通信,用户需要向外界公开他/她的公钥。然而,在大多数情形下,用户只拥有一对公/私钥对,即一个公钥和其对应的唯一的私钥。公钥密码系统这一典型的使用方式存在一个不希望出现的后果,即使得用户的公钥完全成为了他/她的标识。这意味着即使担心隐私的用户受到这类公钥密码系统以及其他设计得很好的隐私保护措施的保护,对手仍能够基于该唯一公钥的使用模式,通过收集和观察该用户公开的信息,关联出受保护的用户的活动。
在例如RSA和El Gamal所公开的传统的公钥密码系统中,如果用户担心他/她的单个公钥可能会危害他/她的隐私,一种可能的办法是要求有所担心的个体拥有若干不同的公钥,并慎重地向不同的对方公开各个公钥。
除了拥有许多公钥对之外,Waters等已提出了一种方法,其利用ElGamal密码系统来实现了一种不可比公钥(Incomparable Public Key)方案,借此用户可以同时拥有若干公钥,其中所有这些公钥都对应于单个私钥。参见B.R.Waters,E.W.Felten,A.Sahai,Receiver Anonymity viaIncomparable Public keys,CCS’03,Washington,DC,USA,pp.112~121。Waters等人的教导也通过引用结合于此。
如上所述,用户可以拥有若干公钥。但是,在大多数情形中,当个人A获得一个公钥时,该公钥必须被另外的某方认证。例如,公钥可以被公知的认证机构(Certificate Authority,CA)认证,或者,公钥可以被该个人的朋友C认证。如果第三人B看到该公钥及其证书,则因为B信任CA或者B信任C,该第三人B可以信任该公钥。
在用户拥有若干公钥的情况下,一种认证这些公钥的可能的方法是请求CA认证每个公钥,如图25所示。因为CA必须在线处理所有证书请求,所以需要非常强大的CA,这增加了拥有和维护的成本。当网络中的每个用户拥有大量公钥时,这种成本被扩大了。
另一种可能是请求某个朋友认证每个公钥,如图26所示。但是,这与用户的隐私担心相矛盾。不仅这样,请求朋友认证公钥不仅效率低并且可能是无效的,而且在许多商务场合也是不可信赖的。
除了公钥认证之外,在多条用户数据需要被认证的许多其他情况中,也存在上述包括CA集中化方案和朋友认证方案在内的方案的缺点。
发明内容
本发明提供了一种用于通信网络的可延展伪名证书系统和方法。
根据本发明的一个方面,提供了一种用于用户在通信网络中认证数据的计算装置。网络包括受信实体和至少一个验证者。计算装置包括:可操作地耦合到网络的根证据单元,根证据单元适合于从受信实体接收根证据;可操作地耦合到根证据单元的伪名证书生成单元,伪名证书生成单元适合于基于根证据生成至少一个伪名证书;和可操作地耦合到伪名证书生成单元的传送单元,传送单元适合于将配备有伪名证书的用户数据传送到通信网络。
根据本发明的另一个方面,提供了一种用于用户在通信网络中认证数据的方法。网络包括受信实体和至少一个验证者。该方法包括:从受信实体接收根证据;基于根证据生成至少一个伪名证书;以及将配备有一个伪名证书的用户数据传送给一个验证者。
根据本发明的另一个方面,提供了一种用于在通信网络中管理证书的装置。网络包括至少一个用户和至少一个验证者。该装置包括:系统参数计算单元,系统参数计算单元适合于计算系统参数;可操作地耦合到系统参数计算单元的参数公布单元,参数公布单元适合于公布要被用户和验证者共享的共享系统参数;可操作地耦合到网络的根证据请求接收单元,根证据接收单元适合于接收来自用户的根证据请求;和可操作地耦合到根证据请求接收单元和系统参数计算单元的根证据生成单元,根证据生成单元适合于响应于根证据请求,为用户生成根证据,该根证据被用户用于生成多个伪名证书。
根据本发明的另一个方面,提供了一种用于在通信网络中管理证书的方法。网络包括至少一个用户和至少一个验证者。该方法包括:计算系统参数;公布要被用户和验证者共享的共享系统参数;接收来自用户的根证据请求;以及响应于根证据请求,为用户生成根证据,该根证据被用户用于生成多个伪名证书。
根据本发明的另一个方面,提供了一种用于网络通信中的用户的可延展伪名证书系统。网络包括一个受信实体。该系统包括:可操作地耦合到网络的根证据单元,根证据单元适合于从受信实体接收根证据;可操作地耦合到根证据单元的伪名证书生成单元,伪名证书生成单元适合于基于根证据生成至少一个伪名证书;可操作地耦合到伪名证书生成单元的传送单元,传送单元适合于将配备有伪名证书的用户数据传送到通信网络;和可操作地耦合到通信网络的验证者单元,验证者单元适合于通过接收到的伪名证书验证用户数据。
根据本发明的另一个方面,提供了一种用于在通信网络中通过伪名证书认证用户数据的方法。网络包括受信实体和至少一个验证者。该方法包括:从受信实体向用户颁发根证据;基于根证据,由用户生成至少一个伪名证书;以及将配备有一个伪名证书的用户数据传送给一个验证者,验证者通过该伪名证书验证用户数据。
根据本发明的另一个方面,提供了一种制品。该制品具有其上存储有指令的机器可读介质,指令当被一个或多个处理器执行时,使得处理器:从受信实体接收根证据;从根证据生成至少一个伪名证书;以及将配备有一个伪名证书的数据传送给一个验证者。
根据本发明的另一个方面,提供了一种制品。该制品具有其上存储有指令的机器可读介质,指令当被一个或多个处理器执行时,使得处理器:计算系统参数;公布要被网络的所有用户共享的共享系统参数;接收来自网络的一个用户的根证据请求;以及为用户生成根证据,该根证据被用户用于生成多个伪名证书。
可延展伪名证书系统具有许多优点,尤其是当与匿名公钥一起使用时。用户可以生成可信赖的匿名公钥,其中匿名公钥被伪名证书保证为是被CA认证的。用户隐私保护的功能完全是分布式的。用户自己生成不同的匿名公钥,也自己生成不同的伪名证书。认证机构的介入被最小化,从而使得实现轻量级CA变得可能。因为伪名证书在CA侧是可追查的,因此用户不能滥用匿名能力。
附图说明
当结合附图阅读时,通过下面的描述,可更全面地理解本发明的前述及其他目的、各种特征以及本发明本身,在附图中:
图1是示出了根据APK(anonymous public key)技术的利用匿名公钥密码系统的具有两个终端的示例性系统的框图,其中一个终端可以公开一个不同的公钥用于与另一个终端的新的通信会话;
图2是示出了根据APK技术的利用匿名公钥密码系统的具有若干终端的示例性系统的框图,其中一个终端在与其他终端的通信中可以使用不同的公钥来用于不同的会话;
图3是示出了参与图1和图2所示通信系统的发送者和接收者之间的示例性通信会话的流程图;
图4是示出了根据APK技术,在基于公私钥对的通信会话中,发送者和接收者的示例性功能块的框图;
图5是示出了根据APK技术,图4中的APK产生设备的示例性功能块的框图;
图6是示出了根据APK技术,产生匿名公钥的示例性处理流程的流程图;
图7是示出了根据APK技术的消息加密与解密的示例性过程的示图;
图8A是示意性示出了本发明一般概念的框图;
图8B是示意性示出了本发明的一般认证过程的流程图;
图9是示意性示出了本发明第一实施例的系统体系结构的框图;
图10是示出了根据第一实施例,在系统启动阶段中的CA初始化过程的一个示例的流程图;
图11是示出了根据第一实施例,在系统启动阶段中的用户初始化过程的一个示例的流程图;
图12是示出了根据第一实施例的RC(root certificate,根证书)请求过程的一个示例的流程图;
图13是示出了根据第一实施例,用户如何产生匿名公钥的流程图;
图14是示出了根据第一实施例,用户如何从根证书导出伪名证书用于匿名公钥的流程图;
图15是示出了根据第一实施例的匿名鉴别过程的一个示例的流程图;
图16是示出了根据第一实施例的追查过程的流程图;
图17是示出了根据第一实施例的示例性用户装置的框图;
图18是示出了根据第一实施例的示例性CA装置的框图;
图19是示意性示出了根据本发明第二实施例的系统体系结构的框图;
图20是示出了根据第二实施例的伪名认证方法的一个示例的流程图;
图21是示出了利用传统组签名方案时,证明者向验证者证明他/她在组中的过程的示图;
图22是示出了利用根据本发明的第二实施例的方案,验证伪名证书和公钥的有效性的示例过程的示图;
图23是示出了利用根据本发明的第二实施例的方案,验证伪名证书和公钥的有效性的另一示例过程的示图;
图24是示出了根据本发明的第二实施例的验证单元的一个示例的框图;
图25是示出了一个传统证书系统的框图,其中证书由认证机构发放;以及
图26是示出了另一个传统证书系统的框图,其中证书由用户的朋友发放。
具体实施方式
[APK技术]
本发明涉及由曾柯和藤田友之(Tomoyuki FUJITA)提出的新型的APK(Anonymous Public Key,匿名公钥)技术。APK技术的详细内容可以在2004年11月10日由日电(中国)有限公司递交的题为“在安全通信系统中生成匿名公钥的方法、设备和系统”的待决中国专利申请No.200410090903.X中找到。
首先,在下面的描述中将说明APK技术方案。
如上所述,用户可能希望拥有若干公钥。通过利用其中每个不同公钥具有相应的不同私钥的多个公钥对,传统公钥密码系统可以在一定程度上缓解隐私担忧。然而,随着公钥数量增加,对于个人来说,公私钥对的管理成本增加了。此外,随着私钥数量增加,私钥被公开或丢失的安全性风险增加了。
不可比公钥方案通过利用不同的生成子(generator)构建El Gamal密码系统的公钥,来生成新的公钥,这使得计算优化变得很困难。例如,(g,ga)和(h,ha)是通过Waters等人的不可比公钥方案生成的不同公钥,其中g和h是不同的生成子。传统上,El Gamal密码系统只利用一个生成子,因此能够受益于离线计算生成子的幂并只维护一张生成子的幂表。而Waters等人的方案需要要么维护若干张生成子的幂表,要么进行在线计算,从计算优化和成本管理来说二者都很不理想。
我们提出了一种匿名公钥技术(APK)。APK独特的地方在于终端用户可以自己生成大量公钥,而只维护和保持一个私钥。
下面将参考图1到图7描述APK技术。
在APK技术中,术语“群”指的是如下定义的数学概念(除非另有说明):
群(G,◇)由满足如下三个规律的集合G及其上的二元运算◇构成:
(i)群运算满足结合律,即对于G的任意元素a、b、c,有a◇(b◇c)=(a◇b)◇c;
(ii)集合G存在一个基元e,对于任何G的元素a都有a◇e=e◇a=a;
(iii)对于G的任何元素a,G中都存在一个元素a-1(称为a的逆元),满足a◇a-1=a-1◇a=e。
例如,整数集Z及加法运算构成一个群。基元是0,一个整数a的逆元是-a。对于更多的信息,可以参考《Handbook of AppliedCryptography》,可在 http://www.cacr.math.uwaterloo.ca/hac/在线获得。
根据APK技术的通信系统可具有若干终端和若干通信信道。图1以简化框图示出了APK方案的一个实现方式。在图1中,终端A与终端a进行了若干次会话的通信。对于终端A来说,至少存在一个通信信道来向终端a发送信息。所述会话可能使用一个或若干通信信道。终端a可能也可能不使用相同的通信信道来向终端A发送信息。通过所述通信信道,终端A向终端a公开不同的公钥Ea到Ez来用于不同的通信会话,但将它的私钥x保密。如果终端a需要的话,也可以向终端A公开若干不同的公钥,在此意义上终端a等同于终端A。
如图1所示,通过产生不同的公钥来用于不同的会话,对于终端a或任何第三方来说都不可能关联出终端A的活动模式。例如,在电子拍卖的场合中,终端A的用户将能够防止他人关联并分析其出价模式和策略,这是因为对于每次会话都产生了不同的公钥。
图2也以简化框图的形式示出了APK技术的另一个实现方式。在图2中,终端A与多个终端(从终端a到终端z)通信。终端A与其每一个通信对方之间所使用的通信信道可能相同也可能不同。如图2的左半部分所示,通过所述通信信道,终端A分别向终端a、终端b、……、终端z公开了不同的公钥Ea到Ez以及其他信息。在此情形下,我们假设在终端A和终端a到z之间存在一种“一对多”的关系。所述公开可以多种方式完成。例如,可以有其他信息与所述公钥一起公开,或者所述公钥可以包含在电子邮件或证书中。反过来,终端a和终端z可能也可能不使用相同的通信信道(在所述通信信道上,这些终端中的每一个接收到终端A的公钥)来向终端A发送信息,这些信息已用所接收的公钥加密。如前所述,终端A将自己的私钥x保密。类似地,如果终端a到终端z需要的话,可以向终端A分别公开若干不同的公钥,在此意义上终端a到终端z等同于终端A。类似地,从图2的右半部分可看出,终端a到z分别向终端A公开各自的公钥Ea到Ez。在此情形下,我们认为在终端a到z和终端A之间存在一种“多对一”的关系。
图3示出了参与图1和图2所示的通信系统中的发送者和接收者之间的示例性通信会话。在图3中,每一次发送者希望向接收者公开公钥时,发送者都决定(步骤S31)或者是从它现有的公钥池中选择一个公钥(步骤S32),或者产生一个新的公钥(步骤S33)。然后,发送者将公钥发送给接收者(步骤S34)。需要发送消息时(步骤S35),接收者查找发送者的公钥(步骤S36)以加密消息(步骤S37),然后将加密的消息发送给发送者。最终,发送者解密所接收的加密消息(步骤S38),并恢复出发送自接收者的原始消息。注意,接收者可能在它要向发送者发送加密消息之前很久就已经从发送者接收到了所述公钥。
应指出的是,发送者可以被设计成总是产生不同的公钥(步骤S33)而不依赖于任何现有的密钥。然而,如本领域内的技术人员可以认识到的那样,使用现有公钥池将可大大减少计算开销,这是因为操纵现有公钥比起从头开始计算来说内在地要少很多计算量。
还应该指出的是,图3中的发送者和接收者的指定只是出于方便的考虑,因为发送者首先将它的公钥发送给接收者。接收者接收到来自发送者的公钥之后,接收者在向它的“接收者”(所述发送者)发送加密消息时就成了“发送者”。在两个终端之间的典型双向通信会话中,所述角色在整个会话中会频繁颠倒。
现在参考图4,其示出了基于根据APK技术的公私钥对的通信会话中,发送者和接收者的示例性功能块。在此,发送者41至少包括处理通信信道的发送单元43和接收单元45、处理密文解密的解码设备47、以及处理公钥产生的APK产生设备49。接收者42至少包括发送单元44、接收单元46、以及处理将要发送的信息例如明文的加密的编码设备48。发送者41可向接收者42公开多个公钥,以使得如果发送者41和接收者42之间存在多个会话,则每个会话可使用发送者41不同的公钥。如果发送者41也工作为接收者,则它还可包括一个编码设备48。类似地,如果接收者42工作为发送者,则它还可包括一个解码设备47和APK产生设备49。
图4中的编码设备48和解码设备47都是数据通信和加密领域中公知的。下面的图5进一步示出了APK产生设备49。参考图5,控制单元55处理产生公钥以及管理公钥的过程。寄存器54可用来存储私钥、所产生的公钥、所接收的公钥以及其他控制单元55所需的数据。另外,在此所使用的寄存器54可以通过可存储信息的任何器件实现,例如片上寄存器、ROM和RAM。APK产生设备49可与解码设备47共享寄存器54,以存储所接收的密文以及解密时的中间输出。下面将描述APK产生设备49的其他组件。
注意,在图5中,“群”运算是由群指数运算器57处理的。APK产生设备49也可有其他实施方式,其中的群运算由一个独立的群运算器处理。
下面将描述图4和图5的APK产生设备49根据APK技术产生匿名公钥(“APK”)的过程。
图6示出了产生APK/私钥对的示例性处理流程。首先,群选择器51选择一个群G(步骤S60)。例如,计算机可具有存储器,其中存储了代表各种符合条件的群的各种数据结构。在控制单元55的控制下,群选择器51通过选择代表群的数据结构来选择一个群。在实践中,已经存在一些商用函数库,其可以运行在计算机上并提供这种服务。需要实现APK技术的应用程序可利用一些具体参数来调用这种库提供的特定函数。然后所调用的函数就可以返回所需的(多个)群。在一个实现方式中,G是有限循环群,其阶数是n(n是正整数)。有限循环群G的候选者包括但不局限于:
有限域Fq1上的椭圆曲线上的点构成的群;
有限域Fq2上的乘法群Fq2 *,其中q2=pm1,m1是正整数,p是素数;
群Zn1 *,其中n1是合数;以及
乘法群Zn2 *,其中n2是素数。
在上述四中示例性群中,第一种群可能具有最佳的安全性能,而后三种在本领域中使用得更为普遍。群G的“有限循环”特性确保了群指数运算最终都会被映射到群G内;然而,映射方法可能会根据群而不同。另外,它还确保了生成子的存在。
然后,子群选择器52选择G阶数为m的子群,其中m≤n(步骤S61)。如果m选择为素数,则将具有优选的安全性能。请注意所述子群可被选择为G自身,这也就意味着m=n。在另一个实现方式中,假设在群G被确定或选择后,可省略子群的选择,这也意味着G自身被隐式地选择为所述子群,因为在数学上G是它自身的一个子群。也就是说,当G本身被选择为所述子群时(使得m=n),则这一选择可在表面上被省略。当然,如果省略子群的选择,则也可省略子群选择器52(如图5所示)。
然后,整数选择器56选择一个整数作为私钥x,使得x满足1<|x|<m(步骤S62)。应理解到,一个终端可具有多个私钥,尽管在此的描述为了简单起见集中于如何从一个私钥生成多个公钥。
然后,生成子选择器53选择并确定群G的一个生成子(步骤S63)。如果G是有限循环群,则它总会有至少一个生成子。应注意,g和x的选择是彼此独立的。也就是说,尽管步骤S62在此被描述为在步骤S63之前,但它们的执行顺序可以颠倒过来,或者并行地执行。
选择G、m、x和g后,在控制单元55的控制下,选择一个满足0<|r|<m的整数r作为所述指示符,以产生新的公钥(步骤S64)。
选择了G、m、x、g和r后,通过计算y1=gr和y2=y1 x来产生新的公钥(步骤S65)。然后可向接收者公开公钥(y1,y2)以用于加密(步骤S66)。当然,可以有其他信息与所述公钥一起公开。
应注意,g、x和r的选择彼此之间没有顺序和依赖性需求,因此步骤S62、S63和S64可以任何顺序执行,不论是串行还是并行。另外,g、x和r的选择可以是随机的,也可以根据所需的标准进行。
或者,前述步骤中的一些可被控制单元55省略,而在其他地方执行。例如,群G和所述子群可由第三方例如信托机构指定。因此,控制单元55就跳过了选择群和子群的步骤,因为它们在外部被确定。而且,如果以前已产生过一个匿名公钥,则肯定已选择并确定了所述群、子群、生成子和私钥。因此当要产生新的公钥时,控制单元55就跳过这4个步骤而直接进行到后续步骤。
如果y1或y2原来位于群G的范围之外,则它们必须被映射到群G内。映射方法可根据不同的群而不同。然而,循环群G确保了这种映射方法的存在。
应注意,前述步骤或者可以在系统的单个设备/模块执行(利用集成或分离的组件),也可以分布式的方式进行,其中系统的不同设备分别执行这些步骤中的一些步骤。
下面描述群、子群和生成子选择的示例。假设选择了群Zp *,其中p=11,因此Z11 *={1,2,3,4,5,6,7,8,9,10}。由于11是素数,因此数学上Z11 *的阶数是11-1=10。元素2是Z11 *的生成子,因为可容易地验证Z11 *={2i mod 11/i=0,1,...,9}。由于群是它自身的子群,所述子群可被选择为Z11 *。子群的另一个选择例如是{1,3,4,5,9},阶数为5,具有生成子3。也很容易地可验证35=1 mod 11。
而且,如本领域内的技术人员可认识到的那样,所有所述设备和组件都可实现为硬件、软件、固件或其组合,根据不同的考虑而各异。
基本上是在图6中描述的示例性方法只是可用于产生根据APK技术的匿名公钥的许多方法中的一种。还存在更高级的方法,不仅可用于相同的目的,还可获得性能上的优化。为描述这些优化方法,下面参考图4、5和7简单地总结本领域内公知的编码和解码过程,其中⊙是群G上的可逆运算,
Figure A20051010356200201
是⊙的逆运算。已将APK技术应用到图7中的过程中。
为了加密明文M,首先将M表示为G的元素(例如将M表示为ASCII码)(步骤S80),然后选择满足1<|k|<m的一个整数k作为指定符(步骤S81),并如下计算一对值(步骤S82)
C1=y1 k
C2=M⊙y2 k
其中C1和C2和群G的元素。所有这些操作都可由图4中的编码设备48完成。⊙的示例可以是群G上的乘法、除法、加法或减法。如果C1和C2原来位于群G的范围之外,则它们必须被映射到群G内。映射方法根据不同的群而不同。
此时,获得了消息M的密文C=(C1,C2)(步骤S83),并可由发送单元44通过通信信道向外发送。
对于位于群G的范围之外的将要编码的消息M,在编码前它必须被转换成若干群元素。在接下来的解码之后,所恢复出的群元素必须被转换回到初始的消息。转换方法可根据不同的群而不同。一个示例是将消息分割成若干块,每个块都是群G的元素,并串接所有的块来重构M。
在通信信道的另一侧,接收到密文消息C(步骤S84)。为了从密文C获取明文M,首先必须在两种方式之间作出决定,即是否进行直接指数运算(步骤S85)。如果是,则首先计算rb=C1 x(步骤S86),然后通过计算
Figure A20051010356200205
来获得M(步骤S87);否则就首先计算ra=C1 -x(步骤S88),然后通过计算M=C2⊙ra来获得M(步骤S89)。
在成功地解密密文(C1,C2)后,根据解密的实现方式,APK产生设备49根据APK技术可利用所接收的密文以及中间解密输出ra来产生新的匿名公钥,其形式为(y1=C1 -1,y2=ra)。类似地,APK产生设备49可利用所接收的密文以及中间解密输出rb来产生新的匿名公钥,其形式为(y1=C1,y2=rb)。在这两种产生新的匿名公钥的方法中,都可避免指数运算,提高了计算效率。
而且,当提供了单个匿名公钥(y1,y2)时,APK产生设备49可产生一个新的匿名公钥,形式为(y2,y2 x)。这一方法可被使用多次以产生一系列公钥。按照这种方式,所产生的公钥的存储消耗可被大大减少,因为公钥第二部分y2与其后续结果的第一部分相同。对于一系列w个公钥,最多可节省百分比为(w-1)/2w的存储,也就意味着对于足够大的w来说,几乎节省了50%。
在APK技术中,由于公钥是基于生成子的幂的形式,利用同一个生成子来产生的,因此生成子g的幂可被重复使用于产生一系列公钥,这涉及的是乘法而不是指数运算,因而节省了存储器并加速了计算。同时,由于在解码设备中只需要维护一张生成子的幂表,因此可以离线执行新公钥的计算。
例如,在一个实现方式中,当在解码设备中接收到密文消息C=(C1,C2)时,可获取C并用来产生新的公钥。如前所述,C1=y1 k=grk,并且grk可被保存来产生新的公钥,因为乘积“rk”只是另一个整数。应注意,尽管grk可被保存来产生新的公钥,但是rk的值对于解码设备来说可能仍然是未知的,除非编码设备在发送加密消息时公开了k。
当提供了单个匿名公钥(y1,y2)时,APK产生设备49可产生一个新的匿名公钥,形式为(y1×y1,y2×y2),其中×是群乘法。一般地,如果提供了若干匿名公钥(y11,y21)、(y12,y22)、…、(y1j,y2j),j≥2,则基于所存储的多个g的幂y11=gr1、y12=gr2、…、y1j=grj,以及y21=y11 x、y22=y12 x、…、y2j=y1j x,可以计算一个新的公钥为(y1(j+1)=y11y12…y1j,y2(j+1)=y21y22…y2j),其中y11y12…y1j是y11、y12…y1j,的乘积,y21y22…y2j是y21,、y22、…、y2j的乘积。很清楚,为了产生新的匿名公钥,指数运算被乘法所取代,提高了计算效率。由于可以在线执行乘法,因此按照这种方式产生的新公钥不必被预先计算,这直接意味着存储空间的节省。
上述优化技术可结合起来使用以产生新的匿名公钥。例如,在接收并成功地解密一系列密文(C11,C21)、(C12,C22)、…、(C1j,C2j),j≥2后,APK产生设备49可利用所接收的密文以及中间解密输出rb1、rb2、…、rbj来产生一个新的匿名公钥,形式为(y1=(C11C12…C1j),y2=(rb1rb2…rbj)),其中C11C12…C1ji是C11、C12、…、C1j的乘积,rb1rb2…rbj是rb1、rb2、…、rbj的乘积。
而且,利用对y2的计算,可以计算一系列公钥(y2 w1,y2 w2),其中w1=xw,w2=x(w+1),w≥0。而且,这一计算中获得的所有结果,尤其是g的幂,都可利用来产生其他公钥。
而且,基于从密文C获取的C1,解码设备可以产生更多的新公钥。为此,计算并保存C1 x和C1 -x,然后可以产生两个系列的公钥。一般地,当接收到多个加密消息CC1=(C11,C12)、CC2=(C21,C22)、…、CCj=(Cj1,Cj2),j≥1时,对于C1 x,可以产生一系列的公钥((C11C21…Cj1)u1,(C11C21…Cj1)u2),其中C11C21…Cj1是C11、C21、…、Cj1的乘积,u1=xu,u2=x(u+1)并且u≥0,对于G1 -x,可以产生另一系列的公钥((C11C21…Cj1)v1,(C11C21…Cj1)v2),其中C11C21…Cj1是C11、C21、…、Cj1的乘积,v1=-xv,v2=-x(v+1)并且v≥0。而且,这一计算中获得的所有结果,尤其是g的幂,都可被利用来产生其他公钥。
[可延展伪名证书]
在下面的描述中,将说明本发明的一般概念。
上述待决申请中描述的APK技术提出了一个问题:如何认证大量匿名公钥。对于可以认证大量匿名公钥的方案,我们希望该方案是:
1)安全的。没有人能够伪造证书,并且没有人能够伪装为证书的拥有者。
2)可靠的。用户隐私不会通过任何证书而不公开。
3)可撤销。在用户滥用匿名的情况下,用户的真实身份可以被公开。
4)可信赖。证书具有商务有效性。
5)分散化。由于APK中的分布式方法,证书方案应当是分散化的。
6)高效的。越少涉及第三方机构越好。
如上所述,传统认证方法具有许多缺点。此外,由于APK是一种分布式的隐私保护方案,所以集中化的认证方案不适合于APK方案。
因此,提出了一种认证用户数据的分布式的方案,即可延展伪名证书(Malleable Pseudonym Certificate,MPC)方案。
本发明的可延展伪名证书(MPC)方案是一种认证大量公钥的新型方案。与所有证书都由受信实体产生和发放的传统方案不同,MPC方案是一种分布式的方案,其中,其数据要被他人验证的用户根据从受信实体获取的根证据(root proof),自己生成伪名证书。
根证据可以是受信实体发放的证书,用于用户生成伪名证书。下文中,这样的证书被称作根证书。根证据还可以是组私钥,通过该组私钥,用户可以以组成员的名义生成伪名证书。但是,根证据并不限于此。根证据可以是能够证明用户的可信度并且能够用来通过某种算法生成伪名证书的任何数据。
图8A示意性地示出了MPC方案的一般概念。
用户U是网络中的一个用户,其经由网络与其他用户进行通信。在通信会话期间,U的某些数据可能需要被另一用户或对端验证。例如,用户U的数据DATA1要被用户V1验证,U的数据DATA2要被用户V2验证,U的数据DATA1要被用户V3验证,等等。下文中,希望验证用户U的数据以获得信心的用户或者对端被称作验证者。
DATA1、DATA2和DATA3可以是用户的用于不同通信会话的不同公钥。在一种实现方式中,这些数据是不可比公钥或者APK。但是,所述数据并不限于公钥。要被验证的数据可以是用于各种目的的任何数据。
为了鉴别数据,用户U将数据发送给验证者(V1、V2、V3等),其中数据配备有证书,例如PC1、PC2、PC3等。在MPC方案中,这些证书都是从由受信实体发放给用户U的一个根证据生成的。注意,这些证书(PC1、PC2、PC3等)是由用户U自己计算的,无需受信实体的任何介入。验证者通过这样的所附加的证书验证用户U的数据,并且数据可以通过证书而被保证是由受信实体认证的。如果验证者信任所述的受信实体,则他可以相信用户U的数据的真实性。
受信实体可以是CA、受信的组、U的朋友或者可以证明U的可信度的其他方。
在根据本发明的MPC方案中,在验证者可以通过这样的证书验证出U的数据是由受信实体认证的并由此获得信心的同时,用户可以将这些证书生成为使得验证者不能找出用户U的真实身份,即,用户数据的拥有者。因此,用户生成的这样的证书在下面被称作伪名证书。
在用户数据是APK的情况下,可以将各对APK和伪名证书出示给验证者,例如V1。在V1验证出APK是由受信实体认证并从而获得信心的同时,V1无法找出这对APK和伪名证书的拥有者。即使用户与V1多次通信,每次他/她也可以出示不同的匿名公钥和伪名证书对,使得V1不能区分自己是否在与该用户通信。
图8B是示意性地示出了根据本发明的MPC方案的一般验证过程的流程图。
在步骤81,用户从受信实体得到根证据。举例来说,用户将他/她的基本数据(下文中称作根数据)及其用户证据交给CA。CA对用户的根数据和根数据的用户证据执行身份检验。用户通过CA的身份检查之后,CA向用户颁发证书。
在步骤82,用户从根证据生成伪名证书。从同一根证据,用户可以生成多个不同的伪名证书。
在步骤83,用户将配备有一个伪名证书的用户数据发送给验证者。
在步骤84,验证者通过伪名证书验证所述的用户数据。由于该数据被伪名证书证明为是有受信实体认证的,所以如果验证者信任该受信实体,则验证者有信心认为用户数据是可信的。然后,验证者可以基于所述数据,与用户安全地通信。例如,在用户数据是匿名公钥的情况下,基于用户的匿名公钥,用户可以对他/她的消息进行数字签名,或者验证者可以加密给他/她的消息。但是,用户数据并不限于用户的匿名公钥。例如,其可以是用户的不可比公钥。
如从图8A和图8B可以看出的,用户可以产生可信赖的数据,其中数据通过伪名证书被保证是由受信实体认证的。用户隐私保护的功能完全是分布式的。用户自己产生不同的匿名公钥以及不同的伪名证书。受信实体只需为用户的根数据颁发根证据。例如,CA向用户颁发对于他/她的根公钥的根证书(RC)。其中认证机构的介入被最小化,从而CA的轻量级实现变得可行。
此外,利用根据本发明的MPC方案,受信实体可以存储用户的根证据,使得在受信实体处,伪名证书是可追查的。
在用户U行为不当的情况下,例如他/她对消息进行了数字签名,但是后来又否认该签名,则受骗者可以将用户U的伪名证书发送回受信实体。受信实体将具有找出该伪名证书的真实拥有者的能力,并且只有受信实体具有这种能力。
考虑一个具体的情况,U生成成对的匿名公钥和伪名证书。然后,他/她与V1通信,表明该公钥和证书。基于伪名证书,V1验证出该匿名公钥的确是由受信实体认证的。因此,当他/她签名承诺他/她将支付50块钱给V1时,V1将他/她写作的电子书发送给U。因为V1只看到匿名公钥和伪名证书,因此他/她并不知道购买者的真实身份。然而,如果U赖帐,V1可以将该伪名证书发送给受信实体,受信实体通过该伪名证书可以揭露该伪名证书的真实拥有者。在该情况中,拥有者是U,他/她将因此受到惩罚。以这种方式,用户不能滥用系统的匿名能力。
[第一实施例]
在下面的说明中,将参考图9到图18描述根据本发明的第一实施例。
图9是示意性示出了本发明第一实施例的系统体系结构的框图。
根据第一实施例,受信实体是认证机构CA。要被验证者验证的用户U的数据是用户U的匿名公钥。
假设U通过了个人身份检验,CA向U颁发根证书(RC)。从该根证书,U生成伪名证书用于他/她的匿名公钥。然后,U将配备有伪名证书(PC1、PC2、PC3...)的匿名公钥(APK1、APK2、APK3...)发送给验证者V(V1、V2、V3...)。V验证从U接收的伪名证书,如果预定条件被满足,则接受该证书。
在第一实施例中,U可以从RC导出伪名证书用于某些匿名公钥,而无需CA的介入,同时V可以基于伪名证书判断U的可靠性,也不需要涉及CA。
另外,V将存储从U处收集的数据,并且在某些情况下,例如U行为非法时,V可以将从U处收集的数据提交给CAS,并且CA能够公开U的真实身份。
在下面的描述中,假定密码术是基于强RSA(SRSA)假设的。对于SRSA的具体内容,请参见N.Baric′,B.Pfitzmann,Collision-freeAccumulators and Fail-stop Signature Schemes without Trees,Advances inCryptology-EUROCRYPT’97,pp.480~494,1997;以及R.Cramer,V.Shoup,Signature Schemes Based on The Strong RSA Assumption,ACM Transactionson Information and System Security,vol.3(3):161~185,2000,其通过引用结合于此。
此外,一些证明技术可能会在本发明的该实施例中被使用,这些技术允许一个证明者相对于某个值的知识,使得验证者相信该证明者,而与该值自身有关的有用信息不会被泄漏。
在根据本发明的第一实施例中,使用了所谓的知识证明技术(参见S.Goldwasser,S.Micali,C.Rackoff,The Knowledge Complexity of InteractiveProof Systems,17th ACM Symposium on Theory of Computation,pp.291~304,1985,其通过引用结合于此)。已经提出了许多方法用于零知识证明离散对数知识(参见A.Fiat,A.Shamir,How To Prove Yourself:PracticalSolutions to Identification and Signature Problems,Advances in Cryptology-CRYPTO’86,pp.186~194,1986;D.Chaum,Demonstrating Possession of aDiscrete Logarithm without Revealing It,Advances in Cryptology-CRYPTO’86,pp.200~212,1987;D.Chaum,J.H.Evertse,J.van de Graaf,AnImproved Protocol for Demonstrating Possession of Discrete Logarithms andSome Generalizations,Advances in Cryptology-EUROCRYPTO’87,pp.127~141,1987;D.Chaum,T.P.Pedersen,Wallet Databases with Observers,Advances in Cryptology-CRYPTO’92,pp.89~105,1993;and K.Sako,J.Kilian,Receipt-Free Mix-Type Voting Scheme-A Practical Solution to theImplementation of a Voting Booth,Advances in Cryptology-CRYPTO’98,pp.393~403,1998,它们通过引用结合于此)。
在本发明的第一实施例中,式(1)将被用于表示证明者和验证者之间对于共同的输入(gj,yj)的知识证明:
KP { ( x 1 , . . . , x i ) / ( g 1 , y 1 ) , . . . , ( g i , y i ) : y 1 = g 1 x 1 and . . . and y i = g i x i and a 1 < x 1 < b 1 and . . and a i < x i < b i } - - - ( 1 )
其中,gj产生<gj>,j=1,...,i,该知识证明证明了知识xj,使得对于所有j=1,...,i,保持了 y j = g j x j , 并且aj<xj<bj。用于证明aj<xj<bj的技术出现在T.Okamoto,An Efficient Divisible Electronic Cash Scheme,Advances inCryptology-CRYPTO’95,pp.438~451,1995中,并且后来在A.Chan,Y.Frankel,Y.Tsiounis,Easy Come-Easy Go Divisible Cash,Advances inCryptology-EUROCRYPT’98,pp.561~575,1998中有所发展,其中其被命名为Range Bounded Commitment(RBC)。上述文献的教导通过引用结合于此。
可以想到,上述式(1)可以一般化为乘法表示。例如:
KP { ( x 1 , x 2 ) / ( g 1 , h 1 , y 1 ) , ( g 2 , y 2 ) : y 1 = g 1 x 1 &times; h 1 x 2 anda < x 1 < b } - - - ( 2 )
表示x1和x2的零知识证明,假设a<x1<b,其使得同时保持了 y 1 = g 1 x 1 &times; h 1 x 2 y 2 = g 2 x 2 .
下面,将参考图10到图16描述根据本发明第一实施例的方法的细节。
根据第一实施例的方法主要由五个阶段组成:系统启动、RC请求、MPC导出、匿名鉴别以及追查(如果需要的话)。
图10是示出了在根据本实施例的系统启动阶段中的CA初始化过程的一个示例的流程图。
在步骤101,CA生成SRSA模数nc。nc的因数分解被保密。
在步骤102,CA生成素数p和q,使得p-1被q整除。
在步骤103,CA计算整数lq=|q|,即q的长度。
在步骤104,CA从Z* p选择GF(q)(q阶的有限阈)的一个生成子g。
在步骤105,CA从QR(nc)选择整数ca,cb和cc
在步骤106,CA选择整数lc<lq
上述数学概念可以在A.Menezes,P.van Oorschot,S.Vanstone,Handbook of Applied Cryptography,CRC Press,1996,其通过引用结合于此。最后,在步骤107,CA向例如因特网的网络公布nc、p、q、g、lq、ca、cb、cc和lc
图11是示出了根据本实施例的系统启动阶段中的用户初始化过程的一个示例的流程图。
根据CA公布的系统参数,用户U在步骤111随机选择其自己的私钥xu∈(0,2lq)。
在步骤112,用户U计算他/她的根公钥 ( g , y u = g x u ) ( mod p )
为了获得RC,U需要向CA鉴别他/她的身份,而CA必须保证yu并没有被其他用户用作公钥。
图12是示出了根据本实施例的RC请求过程的一个示例的流程图。
在步骤121,用户U计算 a u = c a x u ( mod n c ) .
在步骤122,用户U向CA提交他/她的根公钥(g,yu)和au
在步骤123,用户U和CA执行知识证明:
KP { x u ) / ( g , y u ) , ( c a , a u ) : y u = g x u and a u = c a x u and x u &Element; ( - 2 2 l q , 2 2 l q ) } .
如果知识证明成功,则在步骤124,CA选择一个足够大的随机素数 e u > 2 2 l q + 1 ,其中gcd(eu,f(nc))=1,保证eu尚未分配给其他用户,并计算 s u = ( c b / a u ) 1 / eu ( mod n c ) .
在步骤125,CA对(g,yu)颁发(eu,su)给用户,作为RC。
在步骤126,CA以用户U的名字将解蔽值(demasking)eu存储在数据库中,用于可能的追查。
在步骤127,用户U验证保持了一致性 c b = s u e u &times; a u ( mod n c ) .
所述RC是二元组(eu,su),其中eu实际上是RSA公钥,su是cb/au的数字签名。但是,如在下一阶段将论述的,具备了该单个签名,U可以有效地导出用于他/她的全部匿名公钥的证书。RC是对所有按照(gr,yu r)的形式的匿名公钥进行签名的数据签名。
图13是示出了根据本实施例,用户U如何生成匿名公钥的流程图,图14是示出了根据本实施例,用户U如何从RC导出伪名证书的流程图。匿名公钥和伪名证书一起保证了隐私保护和匿名可靠性。
如图13所示,在步骤131,用户U从{0,1,…,21c-1}中选择整数r,并在步骤132计算匿名公钥(gr,yu r)(modp)。
如图14所示,在步骤141,用户U从{0,1,…,q-1}选择整数t,并在步骤142计算 s u ~ = s u &times; c c t ( mod n c ) y u ~ = s u ~ e u ( mod n c ) .
伪名证书实际上是二元组
Figure A20051010356200293
现在,用户具有 c b = s u ~ e u &times; c a x n &times; c c - t &times; e u ( mod n c ) , 其中,eu、xu和-t×eu的知识将在下一阶段证明给验证者。
在预先准备了匿名公钥和伪名证书之后,U可以将它们呈现给验证者。
图15是示出了根据本实施例的匿名鉴别过程的一个示例的流程图。在步骤151,用户U将匿名公钥 ( y 1 r = g r , y 2 r = y u r ) 和伪名证书
Figure A20051010356200296
提交给验证者V。
在步骤152,V计算 y b = c b / y u ~ ( mod n c ) .
在步骤153,用户U和验证者V执行知识证明:
KP { x 1 , x 2 , x 3 ) / ( s u ~ , y u ~ ) , ( c a , c c , y b ) , ( y 1 r , y 2 r ) : y u ~ = s u ~ x 1 and y b = c a x 2 &times; c c x 3 and y 2 r = y 1 r x 2 and x 2 &Element; ( - 2 2 l q , 2 2 l q ) }
在步骤154,V存储上述知识证明的副本,以用于可能的追查。
由于在图12的步骤126,CA已经将解蔽值eu以用户U的名义存储在其数据库中,所以CA具有追查能力。
在V将U的匿名公钥接受为是被CA的证书管理服务(CMS)认证的,并且与U进行交易之后,如果U行为不当,则V可以将U的不当行为的证据提供给CA,并请求CA帮助。CA将明确审查从V收到的证据。如果从CA的角度,由合理的理由让V知道U的真实身份,则CA可以与V合作确定U的真实身份。
图16是示出了根据本实施例的追查过程的流程图。
在步骤161,V将伪名证书
Figure A20051010356200301
提交给CA。
在步骤162,对于CA的数据库中所存储的全部解蔽值eu,CA计算
Figure A20051010356200302
并且将结果与 相比较。
匹配的
Figure A20051010356200304
Figure A20051010356200305
显示出伪名证书
Figure A20051010356200306
的拥有者的解蔽值。以这种方式,CA可以发现并揭露U的真实身份。
下面,将参考图17和图18描述用户侧和CA侧的示例装置。
图17是示出了根据第一实施例的用户的示例装置170的框图。
如图17所示,用户装置170基本上包括用于从CA接收RC的根证据单元171、耦合到根证据单元171的用于基于RC生成伪名证书的伪名证书生成单元172,以及耦合到伪名证书生成单元172的用于传送配备有伪名证书的用户数据的传送单元173。
在根证书是经由网络通过数字请求被请求的情况下,用户装置170还可以包括根证据请求单元174,用于产生RC请求,并将该请求传送到CA。
要被验证者验证的用户数据可以是公钥、不可比公钥、匿名公钥等。在匿名公钥的情况下,用户装置170还可以包括匿名公钥生成单元175,用于生成匿名公钥。匿名公钥生成单元175的详细结构可以在上述APK技术的描述中找到。当要通过伪名证书认证的用户数据不是匿名公钥时,匿名公钥生成单元175可以被相应的数据生成单元代替。
如果RC的颁发需要用户与CA之间的证明过程,或者鉴别过程中验证者要求知识证明,则用户装置170还可以包括证明单元176,用于执行与CA或者验证者之间的证明操作。
上述单元可以各自包括用于存储各个单元所使用的数据的存储器。在另一种实现方式中,用户装置170可以包括存储单元177,用于存储在装置的操作期间,所有单元使用的数据。
在大多数情况下,用户也需要验证其他用户的数据。因此,用户装置可以包括验证单元178,用于通过附到从其他用户接收的数据上的伪名证书来验证其他用户的数据。
根证据单元171、传送单元173、根证据请求单元174、证明单元176和验证单元178可以通过各自的通信端口或者通过用户装置170中耦合到上述单元的通信单元,来向/从网络发送/接收数据,其中通信单元用于经由网络与其他装置进行通信。
上述单元彼此耦合以执行根据本发明第一实施例的过程。当这些单元被实现为硬件模块时,它们可以通过数据总线彼此耦合。
图18是示出了根据第一实施例的CA的一个示例装置180的框图。
如图18所示,CA装置180基本上包括用于计算系统参数的系统参数计算单元181、耦合到系统参数计算单元181的用于公布由网络的全部用户共享的参数的系统参数公布单元182、耦合到网络的用于接收用户的RC请求的根证据请求接收单元183,以及耦合到根证据请求接收单元183和所述系统参数计算单元181的用于响应于根证据请求而生成RC的根证据生成单元184。
在颁发根证据之前需要检验用户RC请求的情况中,CA装置180还包括耦合到根证据请求接收单元183的检验单元185,用于响应于用户的RC请求,执行身份检验。身份检验可以包括上述的知识证明过程。
在希望具有追查能力的情况中,CA装置还可以包括耦合到网络的追查单元186,用于使用所存储的由根证据生成单元184生成的根证据的解蔽值,追查从验证者收到的伪名证书的拥有者的身份。
上述单元可以各自包括用于存储各个单元所用数据的存储器。在另一种实现方式中,CA装置180可以包括存储单元187,用于存储装置的操作过程中,全部单元所使用的数据。例如,根证据生成单元184所生成的RC可以被存储在根证据生成单元184内部的存储器中,或者存储在存储单元187中。
上述单元彼此耦合以执行根据本发明第一实施例的过程。当这些单元被实现为硬件模块时,它们可以通过数据总线彼此耦合。
系统参数公布单元182和根证据请求接收单元183可以通过各自的通信端口或者CA装置180中的通信单元来向/从网络发送/接收数据,其中通信单元耦合到上述单元,用于经由网络与其他装置进行通信。
上述用户装置和CA装置仅仅是示例。不管怎样,这些装置中所包括的部件并不限于上述这些单元,其具体的结构可以改变或被修改。例如,装置可以包括在网络中的计算设备中通常安装的其他单元,例如用于输入和输出数据的I/O接口、用于经由网络连接到其他装置的各种通信接口、用于控制各个单元的操作的控制器,等等。由于这些单元是本领域公知的,因此在图中被省略,并且本领域的技术人员可以容易地考虑到将它们添加到上述装置中。
已经作为一个示例描述的本发明的第一实施例。但是,本发明并不限于该第一实施例中所描述的具体细节。例如,用户的公钥可以通过其他方法生成。不可比公钥(参见B.R.Waters,E.W.Felten,A.Sahai,ReceiverAnonymity via Incomparable Public Keys,CCS’03,Washington,DC,USA,PP.112~121,2003)可以被用作要被伪名证明被认证的用户数据。并且,被伪名证书认证的用户数据并不限于公钥,而可以是用户发出的任何数据或消息。此外,实施例可以被修改以适应其他证明技术和CA方法。除了图14中所描述的算法,也可以使用其他算法来从RC计算伪名证书,只要该算法保证伪名证书保持了与RC相同的可验证证据或秘密,并且同时使得验证者看不到与所述数据的拥有者的身份有关的信息。第一实施例已经描述了根公钥是(g,yu)。但是,根公钥也可以是匿名公钥(gr,yu r)中的任何一个。
[第二实施例]
在下面的说明中,将参考图19到图24描述根据本发明的第二实施例。
本发明的第二实施例利用组签名方案来产生公钥的伪名证书。这里,公钥可以是不可比公钥、匿名公钥或者用户的任何其他公钥。
在过去的15年里,组签名方案被很好地研究(参见D.Chaum,E.vanHeyst,Group Signatures,Advances in Cryptology-EUROCRYPTO’91,pp.257~265,1991;J.Camenisch,M.Michels,A Group Signature Scheme Based onan RSA-Variant,Advances in Cryptology-ASIACRYPT’98,pp.160~174,1998;和G.Ateniese,J.Camenisch,M.Joye,G.Tsudik,A Practical andProvably Secure Coalition-Resistant Group Signature Scheme,Advances inCryptology-CRYPTO’2000,pp.255~270,2000,它们通过引用结合于此)。简要地说,有一个组管理员,其建立一个组,并管理组成员的接纳和撤销。所有组成员共享相同的组公钥PKg,但是每个成员Ui具有不同的组私钥SKi。给定消息m,组成员Ui可以以组的名义将该消息签名为s=SIG(m,PKg,SKi),其中,SIG(*)是特定的组签名算法。对消息m的签名s可以通过组公钥PKg被验证,即,存在签名验证算法VERIF(*),对于给定的PKg、s和m,当且仅当s=SIG(m,PKg,SKi)时,VERIF(s,m,PKg)输出“有效”。但是,验证者很难确定s的签名者Ui。从验证者的角度,组成员具有相等的概率成为s的签名者。这种有趣的特性正是“组签名”名字的由来。
一些组签名方案提供了这样的能力,其中组管理员能够确定s的签名者,即,存在追查算法TRACE(*),对于给定的PKg、s和SKm,当且仅当s=SIG(m,PKg,SKi)时,TRACE(s,PKg,SKm)输出Ui,其中,SKm是组管理员的私钥。
图19是示意性示出了根据本发明第二实施例的系统体系结构的框图。
根据第二实施例,受信实体是由组管理员M建立的组190。用户U是组中的一个成员,并且具有分配给他/她的组私钥。在传统的组签名方案中,消息以组的名义被签名。然而,在本发明的第二实施例中,组签名被用于生成公钥的伪名证书。
图20是示出了根据第二实施例的伪名认证方法的示例的流程图。
在初始化阶段201,组管理员建立组,并公布组公钥PKg。另外,组管理员将私钥SKm保密,该私钥SKm将被用于追查行为不当的用户。
在步骤202,组成员U加入组中,并得到他/她的用于该组的组私钥SKu
在步骤203,U计算匿名公钥apk=gr,yu r)(modp)。
在步骤204,U将匿名公钥apk作为一条消息,并将apk数字签名为s=SIG(apk,PKg,SKu)。很明显,s是对apk的组签名。
在步骤205,U将s和apk提交给验证者用于验证,并且验证者在步骤206验证用户的匿名公钥。由于VERIF(s,apk,PKg)将输出有效响应,所以apk将被验证者接受,认为其是由匿名组成员数字签名的。因此,s保证了匿名组成员拥有该匿名公钥apk。也就是说,s是对匿名公钥apk的伪名证书。
很明显,根据本发明的第二实施例中的根证据是用户的组私钥。
在需要追查的情况中,s将被呈现给组管理员M,由于追查算法TRACE(s,PKg,SKm)将输出U,所以组管理员可以基于s确定并揭露U的身份。
在上述示例中,用户数据时匿名公钥。但是,用户数据也可以是用户的其他数据,例如不可比公钥或者用户的任何其他公钥。
根据本发明第二实施例的用户装置与图17所示的装置170类似。在第二实施例中,根证据单元从组管理员处接收用户的组私钥,伪名证书生成单元通过组签名的方式生成伪名证书,并且传送单元将配备有伪名证书的用户数据传送到网络。第二实施例中的根证据请求单元被用于产生对于组成员资格的请求,并将该请求发送给组管理员。
如上面所讨论的,通过组签名验证算法,验证者可以确信用户数据是被组成员认证的。但是,在许多情况中,验证者需要知道发送以组成员名义签名的数据的用户是否是该数据的真正拥有者,或者是否是对该数据签名的真正的组成员。
图21是示出了利用传统的组签名方案,一个证明者向验证者证明他/她处于组中的过程的示图。
如图21所示,开始时,验证者产生一个质询消息(步骤211),并将其发送给证明者。接收到来自验证者的质询消息后,证明者使用他/她的组私钥对该质询消息签名(步骤212),并将所生成的组签名发送回验证者。然后,验证者利用组公钥对接收自证明者的数据执行组签名验证(步骤213)。正确的验证使得验证者确信该证明者是在该组中的。
注意,利用传统的组签名方案,证明者响应于由验证者生成的质询消息,以在线的方式计算对于该质询消息的组签名。这样的组签名在线计算是耗时并且高成本的。此外,如果证明者多次与验证者联系,每次验证者都生成新的质询消息,证明者不得不计算多个组签名。
利用根据本发明的第二实施例的方案,可以更方便和有效地验证用户数据(即,他/她的公钥)和伪名证书的有效性。
图22是示出了根据本发明的第二实施例的方案,用于验证伪名证书和公钥的有效性的一个示例过程的示图。
如图22所示,证明者使用他/她的组私钥预先对公钥进行签名,生成组签名(步骤221)。当证明者希望联系验证者时,他/她将公钥连同所产生的伪名证书(即,与该公钥相对应的组签名)发送给验证者。从证明者接收到公钥和伪名证书后,验证者通过组公钥和该伪名证书,对该用户数据执行组签名验证(步骤222)。正确的验证使得验证者确信该公钥是被组成员签名的。如果验证者希望知道该用户是否就是对该公钥签名的组成员,则验证者可以要求证明者证明与该公钥有关的知识。在步骤223和224,对该公钥展开知识证明。具体的证明过程与图17中所示的类似。如果证明者向验证者证明了与该公钥相对应的私钥的知识,则验证者可以相信该证明者。
显然,利用根据本发明的上述方法,伪名证书可以被预先计算,而不是响应于验证者的质询以在线的方式计算。也就是说,证明者可以在证明者侧的计算设备空闲的时间计算组签名。在与验证者联系之前,多个伪名证书和公钥可以是已经计算好的。当与验证者联系时,证明者只需要将公钥连同伪名证书一起发送给验证者。验证者检查伪名证书的正确性。然后,证明者仅向验证者证明与该公钥相对应的私钥的知识。这种证明方法比签署组签名更加高效。
图23是示出了利用根据本发明的第二实施例的方案,用于验证伪名证书和公钥的有效性的另一示例过程的示图。
假设验证者已经存储了曾经正确通过验证的公钥。当验证者从证明者处接收到具有伪名证书的公钥(步骤231)时,验证者将所接收的公钥与已经被验证正确并存储的那些公钥相比较(步骤232)。如果所接收的公钥与所存储的公钥中的一个相匹配,则验证者可以直接进行关于该公钥的知识证明(步骤235)。如果没有匹配的公钥,则验证者通过所接收的公钥的伪名证书和组公钥,对所接收的公钥执行组签名验证(步骤233)。如果所接收的伪名证书通过了组签名验证,则验证者将所接收的公钥存储为已经被验证正确的公钥(步骤234),然后过程进行到步骤235。否则,过程结束。
如果证明者决定用相同的伪名证书多次联系验证者时,验证者只需要在第一次的时候检查伪名证书的正确性。在以后的会话中,验证者简单地将从证明者处接收的公钥与其本地存储的公钥进行匹配。如果存在匹配的情况,则验证者和证明者可以直接进行到关于该公钥的知识证明。这种用法更加高效,并且匿名性和信任都被保持了。
图24是示出了根据本发明第二实施例的验证单元的一个示例的框图。验证单元240被设置在验证者的计算装置中,或者可以被设置在用户装置中作为图17所示的验证单元178。
验证单元240包括验证模块245,用于执行组签名与公钥的验证。其中,验证模块245可以被划分为组签名验证部分241和公钥知识验证部分242。当接收到来自证明者的配备有组签名的公钥时,验证模块245使用组签名验证部分241,利用所接收的公钥和组公钥验证组签名。当接收自证明者的公钥被组签名验证部分241验证合格之后,公钥知识验证部分242执行与证明者的关于连同该组签名一起接收的公钥的知识证明。
验证单元240还可以包括耦合到验证模块245的存储器243,以及耦合到验证模块245和存储器243的比较模块244。存储器243存储曾经被验证正确的公钥。当接收到来自证明者的公钥和组签名时,比较模块244将所接收的公钥与存储器243中所存储的公钥相比较,并将比较结果通知给验证模块245。如果所接收的公钥与曾经被验证正确的公钥中的一个相同,则验证模块245跳过组签名验证算法的计算,直接使用公钥知识验证部分242执行与证明者的关于连同该组签名一起接收的公钥的知识证明。如果所接收的公钥与所存储的公钥中的任何一个都不匹配,则验证模块245使用组签名验证部分241进行如上所述的组签名验证算法的计算。
根据本发明,在受信实体为CA的情况中,也可以以类似的方式进行证书和公钥的验证。参考图15,用户计算匿名公钥和伪名证书之后,将匿名公钥连同配备的伪名证书发送给验证者(步骤151)。然后,验证者与用户执行知识证明来验证伪名证书和匿名公钥(步骤153)。如步骤153所示,利用本发明,通过一次知识证明就可以同时验证伪名证书与匿名公钥。在一种实现方式中,用户离线计算匿名公钥、伪名证书以及知识证明所需数据。验证者收到这些数据之后,进行本地离线计算就可以验证伪名证书与公钥。在另一种实现方式中,验证者存储曾经验证正确的公钥。在验证用户发送的证书和公钥时,验证者首先将用户的公钥与所存储的公钥相比较。如果匹配,则说明该公钥已经是经过认证的。验证者可以在与用户进行知识证明时,省略关于证书的知识证明的计算,而仅仅与用户进行关于公钥的知识的证明。相比于传统方案中的在线验证或者证书与公钥的分步验证,根据本发明的上述验证方式更加高效。
在受信实体为CA的情况中,验证者装置中的验证单元同样包括一个验证模块。在一种实现方式中,验证单元执行例如图15的步骤153所示的知识证明。在另一种实现方式中,验证单元还可以包括与验证模块耦合的存储器以及与验证模块和存储器耦合的比较模块。其中,存储器存储曾经被验证正确的公钥。当接收到来自证明者的证书和公钥时,比较模块将所接收的公钥与存储器中所存储的公钥相比较,并将比较结果通知给验证模块。如果所接收的公钥与曾经被验证正确的公钥中的一个相同,则验证模块仅进行与证明者的关于公钥的知识证明,而省略知识证明计算中关于证书的知识的计算。如果所接收的公钥与所存储的公钥中的任何一个都不匹配,则验证模块进行涉及证书和公钥的知识证明计算,例如图15的步骤153所示。
已经描述了两种情况中根据本发明进行证书和用户数据的验证的过程以及验证装置的结构。但是本发明并不限于上面描述的具体细节。本领域的技术人员可以根据具体应用和算法,对验证过程和验证装置作出相应的修改和改变。
如从上述描述可见的,根据本发明,用户可以生成可信赖的匿名公钥,其中该匿名公钥通过伪名证书被保证为是由受信实体认证的。用户隐私保护的功能完全是分布式的。用户自己生成不同的匿名公钥,并且也自己生成不同的伪名证书。在根据本发明的一个实施例中,CA的介入被最小化,从而实现轻量级的认证机构变得可能。此外,因为伪名证书在CA或者组管理员的级别上是可追查的,所以用户不能滥用匿名能力。
本发明可以实现为硬件、软件、固件或者它们的组合,并且可以用在它们的系统、子系统、部件或者子部件中。当以软件方式实现时,本发明的元素实质上是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信网络上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
本发明可以以其他的具体形式实现,而不脱离其精神和本质特征。例如,特定实施例中所描述的算法可以被修改,而系统体系结构并不脱离本发明的基本精神。因此,当前的实施例在所有方面都被看作是示例性的而非限定性的,本发明的范围由所附权利要求而非上述描述定义,并且,落入权利要求的含义和等同物的范围内的全部改变从而都被包括在本发明的范围之中。

Claims (58)

1.一种用于用户在通信网络中认证数据的计算装置,所述网络包括受信实体和至少一个验证者,所述计算装置包括:
可操作地耦合到所述网络的根证据单元,所述根证据单元适合于从所述受信实体接收根证据;
可操作地耦合到所述根证据单元的伪名证书生成单元,所述伪名证书生成单元适合于基于所述根证据生成至少一个伪名证书;和
可操作地耦合到所述伪名证书生成单元的传送单元,所述传送单元适合于将配备有所述伪名证书的所述用户数据传送到所述通信网络。
2.根据权利要求1所述的计算装置,其中,所述伪名证书被生成为不包含所述验证者能够从其获得所述用户的真实身份的信息。
3.根据权利要求1所述的计算装置,其中,所述用户数据包含所述用户的公钥。
4.根据权利要求3所述的计算装置,其中,所述用户数据中包含的公钥是不可比公钥。
5.根据权利要求3所述的计算装置,其中
所述用户数据中包含的公钥是匿名公钥,并且
所述计算装置还包括可操作地耦合到所述传送单元的匿名公钥生成单元,所述匿名公钥生成单元适合于生成所述用户的多个匿名公钥,所述多个匿名公钥对应于所述用户的一个私钥。
6.根据权利要求5所述的计算装置,其中,所述匿名公钥生成单元从所述私钥和一个生成子生成所述多个匿名公钥,所述私钥和所述生成子来自一个预定的群。
7.根据权利要求1所述的计算装置,其中,所述根证据是由所述受信实体颁发给所述用户的根证书。
8.根据权利要求1所述的计算装置,其中,所述根证据是所述用户的组私钥,并且其中,所述伪名证书是所述用户数据的组签名。
9.根据权利要求1所述的计算装置,还包括可操作地耦合到所述网络的根证据请求单元,所述根证据请求单元适合于生成对于所述根证据的请求,并将所述请求传送到所述受信实体。
10.根据权利要求1所述的计算装置,还包括可操作地耦合到所述网络的证明单元,所述证明单元适合于与所述受信实体或者所述验证者执行知识证明。
11.一种用于用户在通信网络中认证数据的方法,所述网络包括受信实体和至少一个验证者,所述方法包括:
从所述受信实体接收根证据;
基于所述根证据生成至少一个伪名证书;以及
将配备有一个伪名证书的所述用户的数据传送给一个验证者。
12.根据权利要求11所述的方法,其中,所述伪名证书被生成为不包含所述验证者能够从其获得所述用户的真实身份的信息。
13.根据权利要求11所述的方法,其中,所述用户数据包含所述用户的公钥。
14.根据权利要求13所述的方法,其中,所述用户数据中包含的公钥是不可比公钥。
15.根据权利要求13所述的方法,其中
所述用户数据中包含的公钥是匿名公钥,并且
所述方法还包括由所述用户生成多个匿名公钥,所述多个匿名公钥对应于所述用户的一个私钥。
16.根据权利要求15所述的方法,其中,所述多个匿名公钥生成自所述私钥和一个生成子,所述私钥和所述生成子来自一个预定的群。
17.根据权利要求11所述的方法,其中,所述根证据是由所述受信实体颁发给所述用户的根证书。
18.根据权利要求11所述的方法,其中,所述根证据是所述用户的组私钥,并且其中,所述伪名证书是所述用户数据的组签名。
19.根据权利要求11所述的方法,还包括生成对于所述根证据的请求,以及将所述请求传送到所述受信实体。
20.根据权利要求11所述的方法,还包括与所述受信实体或者所述验证者执行知识证明。
21.一种用于在通信网络中管理证书的装置,所述网络包括至少一个用户和至少一个验证者,所述装置包括:
系统参数计算单元,所述系统参数计算单元适合于计算系统参数;
可操作地耦合到所述系统参数计算单元的参数公布单元,所述参数公布单元适合于公布要被所述用户和所述验证者共享的共享系统参数;
可操作地耦合到所述网络的根证据请求接收单元,所述根证据接收单元适合于接收来自所述用户的根证据请求;和
可操作地耦合到所述根证据请求接收单元和所述系统参数计算单元的根证据生成单元,所述根证据生成单元适合于响应于所述根证据请求,为所述用户生成根证据,所述根证据被所述用户用于生成多个伪名证书。
22.根据权利要求21所述的装置,其中,所述根证据是颁发给所述用户的公钥的根证书。
23.根据权利要求21所述的装置,其中,所述根证据是颁发给所述用户的根匿名公钥的根证书。
24.根据权利要求21所述的装置,其中,所述根证据是颁发给所述用户的组私钥。
25.根据权利要求21所述的装置,还包括可操作地耦合到所述根证据生成单元的检验单元,所述检验单元适合于对所述根证据请求执行身份检验。
26.根据权利要求21所述的装置,还包括可操作地耦合到所述网络的追查单元,所述追查单元适合于基于所述根证据,追查接收自所述验证者的伪名证书的拥有者的身份。
27.一种用于在通信网络中管理证书的方法,所述网络包括至少一个用户和至少一个验证者,所述方法包括:
计算系统参数;
公布要被所述用户和所述验证者共享的共享系统参数;
接收来自所述用户的根证据请求;以及
响应于所述根证据请求,为所述用户生成根证据,所述根证据被所述用户用于生成多个伪名证书。
28.根据权利要求27所述的方法,其中,所述生成根证据包括生成颁发给所述用户的公钥的根证书。
29.根据权利要求27所述的方法,其中,所述生成根证据包括生成颁发给所述用户的根匿名公钥的根证书。
30.根据权利要求27所述的方法,其中,所述生成根证据包括生成颁发给所述用户的组私钥。
31.根据权利要求27所述的方法,还包括在接收所述根证据请求之后,对所述根证据请求执行身份检验。
32.根据权利要求27所述的方法,还包括基于所述根证据,追查接收自所述验证者的伪名证书的拥有者的身份。
33.一种用于网络通信中的用户的可延展伪名证书系统,所述网络包括一个受信实体,所述系统包括:
可操作地耦合到所述网络的根证据单元,所述根证据单元适合于从所述受信实体接收根证据;
可操作地耦合到所述根证据单元的伪名证书生成单元,所述伪名证书生成单元适合于基于所述根证据生成至少一个伪名证书;
可操作地耦合到所述伪名证书生成单元的传送单元,所述传送单元适合于将配备有所述伪名证书的所述用户的数据传送到所述通信网络;和
可操作地耦合到所述通信网络的验证者单元,所述验证者单元适合于通过接收到的伪名证书验证所述用户的数据。
34.根据权利要求33所述的系统,其中,所述伪名证书被生成为不包含所述验证者单元能够从其获得所述用户的真实身份的信息。
35.根据权利要求33所述的系统,其中,所述用户数据包含所述用户的公钥。
36.根据权利要求35所述的系统,其中,所述用户数据中包含的公钥是不可比公钥。
37.根据权利要求35所述的系统,其中
所述用户数据中包含的公钥是匿名公钥,并且
所述系统还包括可操作地耦合到所述传送单元的匿名公钥生成单元,所述匿名公钥生成单元适合于生成所述用户的多个匿名公钥,所述多个匿名公钥对应于所述用户的一个私钥。
38.根据权利要求37所述的系统,其中,所述匿名公钥生成单元从所述私钥和一个生成子生成所述多个匿名公钥,所述私钥和所述生成子来自一个预定的群。
39.根据权利要求33所述的系统,其中,所述根证据是由所述受信实体颁发给所述用户的根证书。
40.根据权利要求33所述的系统,其中,所述根证据是所述用户的组私钥,并且其中,所述伪名证书是所述用户数据的组签名。
41.根据权利要求33所述的系统,其中,所述验证者单元包括:
验证模块,用于验证所述伪名证书和所述用户数据。
42.根据权利要求41所述的系统,其中,所述验证者单元还包括:
耦合到所述验证模块的存储器,所述存储器用于存储已经被验证正确的数据;和
可操作地耦合到所述存储器和所述验证模块的比较模块,所述比较模块适合于将接收到的用户数据与所述存储的数据相比较。
43.根据权利要求33所述的系统,还包括可操作地耦合到所述验证者单元的追查单元,所述追查单元适合于基于所述根证据,追查接收自所述验证者单元的伪名证书的拥有者的身份。
44.一种用于在通信网络中通过伪名证书认证用户数据的方法,所述网络包括受信实体和至少一个验证者,所述方法包括:
从所述受信实体向所述用户颁发根证据;
基于所述根证据,由所述用户生成至少一个伪名证书;以及
将配备有一个伪名证书的所述用户数据传送给一个验证者,所述验证者通过所述伪名证书验证所述用户数据。
45.根据权利要求44所述的方法,其中,所述伪名证书所述伪名证书被生成为不包含所述验证者能够从其获得所述用户的真实身份的信息。
46.根据权利要求44所述的方法,其中,所述用户数据包含所述用户的公钥。
47.根据权利要求46所述的方法,其中,所述用户数据中包含的公钥是不可比公钥。
48.根据权利要求46所述的方法,其中
所述用户数据中包含的公钥是匿名公钥,并且
所述方法还包括由所述用户生成多个匿名公钥,所述多个匿名公钥对应于所述用户的一个私钥。
49.根据权利要求48所述的方法,其中,所述多个匿名公钥生成自所述私钥和一个生成子,所述私钥和所述生成子来自一个预定的群。
50.根据权利要求44所述的方法,其中,所述颁发根证据包括为所述用户的公钥颁发根证书。
51.根据权利要求44所述的方法,其中,所述颁发根证据包括对所述用户颁发组私钥,并且其中,所述生成至少一个伪名证书包括生成所述用户数据的组签名。
52.根据权利要求44所述的方法,其中,所述验证者通过与所述用户执行知识证明来验证所述伪名证书和所述用户数据。
53.根据权利要求44所述的方法,其中,所述验证者通过以下步骤验证所述伪名证书和所述用户数据:
存储已经正确被所述验证者验证的数据;
将接收自所述用户的用户数据与所述存储的数据相比较;
如果所述用户数据与所述存储的数据中的一个相匹配,则与所述用户执行关于所述用户数据的知识证明;并且
如果所述用户数据与所述存储的数据中的任何一个都不匹配,则对所述伪名证书和所述用户数据执行验证。
54.根据权利要求44所述的方法,还包括基于所述根证据,由所述受信实体追查接收自所述验证者的伪名证书的拥有者的身份。
55.一种具有机器可读介质的制品,所述机器可读介质上存储有指令,所述指令当被一个或多个处理器执行时,使得所述处理器:
从受信实体接收根证据;
从所述根证据生成至少一个伪名证书;以及
将配备有一个所述伪名证书的数据传送给一个验证者。
56.根据权利要求55所述的制品,其中,所述数据是匿名公钥。
57.一种具有机器可读介质的制品,所述机器可读介质上存储有指令,所述指令当被一个或多个处理器执行时,使得所述处理器:
计算系统参数;
公布要被网络的所有用户共享的共享系统参数;
接收来自所述网络的一个用户的根证据请求;以及
为所述用户生成根证据,所述根证据被所述用户用于生成多个伪名证书。
58.根据权利要求55所述的制品,其中,所述根证据是所述用户的根匿名公钥的根证书。
CNA200510103562XA 2005-09-21 2005-09-21 可延展伪名证书系统和方法 Pending CN1937496A (zh)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CNA200510103562XA CN1937496A (zh) 2005-09-21 2005-09-21 可延展伪名证书系统和方法
CA002560038A CA2560038A1 (en) 2005-09-21 2006-09-19 Malleable pseudonym certificate system and method
EP06019549A EP1768304A1 (en) 2005-09-21 2006-09-19 Malleable pseudonym certificate system and method
US11/523,597 US20070143608A1 (en) 2005-09-21 2006-09-20 Malleable pseudonym certificate system and method
JP2006254122A JP2007089171A (ja) 2005-09-21 2006-09-20 順応性のある匿名証明書システム及びその方法
KR1020060091745A KR20070033289A (ko) 2005-09-21 2006-09-21 변용성있는 가명 인증 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNA200510103562XA CN1937496A (zh) 2005-09-21 2005-09-21 可延展伪名证书系统和方法

Publications (1)

Publication Number Publication Date
CN1937496A true CN1937496A (zh) 2007-03-28

Family

ID=37596265

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA200510103562XA Pending CN1937496A (zh) 2005-09-21 2005-09-21 可延展伪名证书系统和方法

Country Status (6)

Country Link
US (1) US20070143608A1 (zh)
EP (1) EP1768304A1 (zh)
JP (1) JP2007089171A (zh)
KR (1) KR20070033289A (zh)
CN (1) CN1937496A (zh)
CA (1) CA2560038A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015000120A1 (en) * 2013-07-01 2015-01-08 Nokia Corporation A method and apparatus for anonymous authentication on trust in social networking
CN105556895A (zh) * 2013-09-23 2016-05-04 高通股份有限公司 用于向远程站配置来自本地根证书颁发机构的证书以用于使无线网络安全的方法
CN106797310A (zh) * 2014-03-06 2017-05-31 赛西蒂系统股份有限公司 照明传感器网络的安全性及数据隐私
CN108696501A (zh) * 2017-03-31 2018-10-23 柯尼卡美能达美国研究所有限公司 利用生物特征安全保护物联网设备的IPv6链路本地安全网络
CN111886883A (zh) * 2018-03-20 2020-11-03 高通股份有限公司 车载设备不当行为检测报告路由的方法和系统
CN114342317A (zh) * 2020-07-09 2022-04-12 谷歌有限责任公司 利用组签名的匿名事件证明

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7698565B1 (en) 2000-03-30 2010-04-13 Digitalpersona, Inc. Crypto-proxy server and method of using the same
US7409543B1 (en) * 2000-03-30 2008-08-05 Digitalpersona, Inc. Method and apparatus for using a third party authentication server
WO2007107670A2 (fr) 2006-03-20 2007-09-27 France Telecom Procede de post-traitement d'un signal dans un decodeur audio
WO2008127446A2 (en) * 2006-12-01 2008-10-23 President And Fellows Of Harvard College A method and apparatus for time-lapse cryptography
EP2127195A2 (en) * 2007-01-22 2009-12-02 Global Crypto Systems Methods and systems for digital authentication using digitally signed images
US7958057B2 (en) * 2007-03-28 2011-06-07 King Fahd University Of Petroleum And Minerals Virtual account based new digital cash protocols with combined blind digital signature and pseudonym authentication
US20090327141A1 (en) * 2007-04-18 2009-12-31 Rabin Michael O Highly efficient secrecy-preserving proofs of correctness of computation
CN101335622B (zh) * 2007-06-27 2012-08-29 日电(中国)有限公司 使用匿名柔性凭证的用于分布式授权的方法和装置
US7877331B2 (en) * 2007-09-06 2011-01-25 King Fahd University Of Petroleum & Minerals Token based new digital cash protocols with combined blind digital signature and pseudonym authentication
US20090177591A1 (en) * 2007-10-30 2009-07-09 Christopher Thorpe Zero-knowledge proofs in large trades
JP2009253530A (ja) * 2008-04-03 2009-10-29 Murata Mach Ltd サーバ装置
RU2512139C2 (ru) * 2008-10-14 2014-04-10 Конинклейке Филипс Электроникс Н.В. Способ и устройство для генерации и аутентификации псевдонима
KR101330245B1 (ko) * 2008-11-11 2013-11-15 한국전자통신연구원 권한 분산형 가명 인증서 처리 시스템
US20100122080A1 (en) * 2008-11-11 2010-05-13 Electronics And Telecommunications Research Institute Pseudonym certificate process system by splitting authority
US9621341B2 (en) * 2008-11-26 2017-04-11 Microsoft Technology Licensing, Llc Anonymous verifiable public key certificates
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
US20100199095A1 (en) * 2009-01-30 2010-08-05 Texas Instruments Inc. Password-Authenticated Association Based on Public Key Scrambling
US20100241852A1 (en) * 2009-03-20 2010-09-23 Rotem Sela Methods for Producing Products with Certificates and Keys
WO2013181841A1 (en) 2012-06-08 2013-12-12 Nokia Corporation Privacy protection for participatory sensing system
CN103687200A (zh) 2012-09-12 2014-03-26 赛西蒂系统股份有限公司 用于传感应用的网络化照明基础设施
US9473490B2 (en) * 2014-10-13 2016-10-18 Wells Fargo Bank, N.A. Bidirectional authentication
JP6293716B2 (ja) * 2015-11-10 2018-03-14 株式会社アメニディ 匿名通信システムおよび該通信システムに加入するための方法
US10938570B2 (en) * 2016-02-08 2021-03-02 Intel Corporation Technologies for remote attestation
CN105933121A (zh) * 2016-04-11 2016-09-07 南京邮电大学 一种具有隐私保护功能的服务发现机制实现方法和系统
JP6961960B2 (ja) * 2017-03-13 2021-11-05 ソニーグループ株式会社 情報処理装置および情報処理方法
KR102019546B1 (ko) * 2017-06-12 2019-09-09 이승진 보안카메라와 사용자 장치 간의 보안키 생성방법
TWI772648B (zh) * 2019-06-03 2022-08-01 銓鴻資訊有限公司 基於集體驗證的部分資料驗證方法
CN111428279B (zh) * 2020-03-26 2023-12-08 国汽(北京)智能网联汽车研究院有限公司 一种显式证书生成方法、装置、设备及存储介质
US11777720B2 (en) 2020-06-12 2023-10-03 Nagravision Sàrl Distributed anonymized compliant encryption management system
WO2022081025A1 (en) * 2020-10-12 2022-04-21 Goat Software Limited Data transmission system, communications adapter and method
CN113127910B (zh) * 2021-04-30 2022-04-12 复旦大学 基于区块链和去中心可追踪属性签名的可控匿名投票系统
CN116566623B (zh) * 2023-07-05 2023-09-22 北京天润基业科技发展股份有限公司 一种获取匿名数字证书的方法、系统及电子设备

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4405829A (en) * 1977-12-14 1983-09-20 Massachusetts Institute Of Technology Cryptographic communications system and method
EP0804003A3 (en) * 1996-04-26 2000-11-15 Canon Kabushiki Kaisha Digital signature method and communication system
DE69836455T2 (de) * 1997-08-20 2007-03-29 Canon K.K. System für elektronische Wasserzeichen, elektronisches Informationsverteilungssystem und Gerät zur Abspeicherung von Bildern
JP3862397B2 (ja) * 1998-01-16 2006-12-27 キヤノン株式会社 情報通信システム
EP1145479A3 (en) * 1998-06-30 2001-12-05 Privada, Inc. Bi-directional, anonymous electronic transactions
JP2001202013A (ja) 2000-01-21 2001-07-27 Nec Corp 匿名参加権限管理システム
US20020004900A1 (en) 1998-09-04 2002-01-10 Baiju V. Patel Method for secure anonymous communication
US20010020228A1 (en) * 1999-07-09 2001-09-06 International Business Machines Corporation Umethod, system and program for managing relationships among entities to exchange encryption keys for use in providing access and authorization to resources
WO2001043094A2 (en) * 1999-11-29 2001-06-14 Microsoft Corporation System and method for flexible micropayment of low value electronic assets
JP3757732B2 (ja) * 2000-01-25 2006-03-22 日本電信電話株式会社 登録証格納方法及びシステム及びコンピュータ読み取り可能な記録媒体
US20020049681A1 (en) * 2000-07-20 2002-04-25 International Business Machines Corporation Secure anonymous verification, generation and/or proof of ownership of electronic receipts
US7360080B2 (en) * 2000-11-03 2008-04-15 International Business Machines Corporation Non-transferable anonymous credential system with optional anonymity revocation
CA2365441C (en) * 2001-12-19 2010-02-16 Diversinet Corp. Method of establishing secure communications in a digital network using pseudonymic digital identifiers
US7543139B2 (en) * 2001-12-21 2009-06-02 International Business Machines Corporation Revocation of anonymous certificates, credentials, and access rights
JP2003258787A (ja) * 2002-02-26 2003-09-12 Nippon Telegr & Teleph Corp <Ntt> 電子証明書、電子証明書の発行および検証方法、装置、プログラム、プログラムの記録媒体
US7461251B2 (en) * 2002-05-09 2008-12-02 Canon Kabushiki Kaisha Public key certification issuing apparatus
FR2847401A1 (fr) * 2002-11-14 2004-05-21 France Telecom Procede d'acces a un service avec authentification rapide et anonymat revocable et systeme d'ouverture et de maintien de session
US7318155B2 (en) * 2002-12-06 2008-01-08 International Business Machines Corporation Method and system for configuring highly available online certificate status protocol responders
JP2004289347A (ja) * 2003-03-20 2004-10-14 Hitachi Kokusai Electric Inc 無線移動通信システム
US7107447B2 (en) * 2003-04-17 2006-09-12 America Online, Inc. Use of pseudonyms vs. real names
KR20040099943A (ko) * 2003-05-20 2004-12-02 삼성전자주식회사 컨텐츠 사용자 인증 시스템 및 방법
EP1521390B1 (en) * 2003-10-01 2008-08-13 Hewlett-Packard Development Company, L.P. Digital signature method and apparatus
US7636848B2 (en) * 2003-11-27 2009-12-22 Telecom Italia S.P.A. Method, system, network and computer program product for securing administrative transactions over a network
AU2004201058B1 (en) * 2004-03-15 2004-09-09 Lockstep Consulting Pty Ltd Means and method of issuing Anonymous Public Key Certificates for indexing electronic record systems
US7490070B2 (en) * 2004-06-10 2009-02-10 Intel Corporation Apparatus and method for proving the denial of a direct proof signature
CN1773905B (zh) * 2004-11-10 2010-08-18 日电(中国)有限公司 在安全通信系统中生成匿名公钥的方法、设备和系统

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015000120A1 (en) * 2013-07-01 2015-01-08 Nokia Corporation A method and apparatus for anonymous authentication on trust in social networking
CN105493438A (zh) * 2013-07-01 2016-04-13 诺基亚技术有限公司 用于社交联网中对信任的匿名认证的方法和装置
CN105556895A (zh) * 2013-09-23 2016-05-04 高通股份有限公司 用于向远程站配置来自本地根证书颁发机构的证书以用于使无线网络安全的方法
CN106797310A (zh) * 2014-03-06 2017-05-31 赛西蒂系统股份有限公司 照明传感器网络的安全性及数据隐私
CN106797310B (zh) * 2014-03-06 2021-04-16 维里逊专利及许可公司 保护联网系统中的客户数据的方法和系统
CN108696501A (zh) * 2017-03-31 2018-10-23 柯尼卡美能达美国研究所有限公司 利用生物特征安全保护物联网设备的IPv6链路本地安全网络
CN111886883A (zh) * 2018-03-20 2020-11-03 高通股份有限公司 车载设备不当行为检测报告路由的方法和系统
CN111886883B (zh) * 2018-03-20 2023-09-15 高通股份有限公司 车载设备不当行为检测报告路由的方法、装置和存储介质
CN114342317A (zh) * 2020-07-09 2022-04-12 谷歌有限责任公司 利用组签名的匿名事件证明
US12003649B2 (en) 2020-07-09 2024-06-04 Google Llc Anonymous event attestation with group signatures

Also Published As

Publication number Publication date
CA2560038A1 (en) 2007-03-21
US20070143608A1 (en) 2007-06-21
EP1768304A1 (en) 2007-03-28
KR20070033289A (ko) 2007-03-26
JP2007089171A (ja) 2007-04-05

Similar Documents

Publication Publication Date Title
CN1937496A (zh) 可延展伪名证书系统和方法
He et al. A pairing‐free certificateless authenticated key agreement protocol
Mandt et al. Certificateless authenticated two-party key agreement protocols
Boneh et al. Chosen-ciphertext security from identity-based encryption
EP0786178B1 (en) Secret-key certificates
Fiore et al. Making the Diffie-Hellman protocol identity-based
Chen Efficient fair exchange with verifiable confirmation of signatures
Wei et al. Remove key escrow from the BF and Gentry identity-based encryption with non-interactive key generation
Lin et al. Efficient proxy signcryption scheme with provable CCA and CMA security
Meier The elgamal cryptosystem
Ma A new construction of identity-based group signature
Blanton et al. Improved Signature schemes for secure multi-party computation with certified inputs
Yang et al. Efficient certificateless encryption withstanding attacks from malicious KGC without using random oracles
Zhang et al. Certificateless signature and blind signature
Kilciauskas et al. Authenticated key agreement protocol based on provable secure cryptographic functions
Chow et al. Signcryption in hierarchical identity based cryptosystem
Bultel et al. Improving the efficiency of report and trace ring signatures
Fan et al. Strongly secure certificateless signature scheme supporting batch verification
Abraham An abuse-free optimistic contract signing protocol with multiple TTPs
Feng et al. Generic constructions for strong designated verifier signature
Fiore et al. Identity-based key exchange protocols without pairings
Wu et al. A publicly verifiable PCAE scheme for confidential applications with proxy delegation
Dehkordi et al. Certificateless identification protocols from super singular elliptic curve
Das Key-escrow free multi-signature scheme using bilinear pairings
Lee Cryptanalysis of Zhu et al.’s Identity-Based Encryption with Equality Test without Random Oracles

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20070328