CN105264819B - 最小披露凭证验证和撤销 - Google Patents

最小披露凭证验证和撤销 Download PDF

Info

Publication number
CN105264819B
CN105264819B CN201480028427.0A CN201480028427A CN105264819B CN 105264819 B CN105264819 B CN 105264819B CN 201480028427 A CN201480028427 A CN 201480028427A CN 105264819 B CN105264819 B CN 105264819B
Authority
CN
China
Prior art keywords
voucher
user
revocation
identifier
minimum
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
CN201480028427.0A
Other languages
English (en)
Other versions
CN105264819A (zh
Inventor
T·阿卡
C·帕奎恩
D·L·恩古耶
M·蔡斯
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN105264819A publication Critical patent/CN105264819A/zh
Application granted granted Critical
Publication of CN105264819B publication Critical patent/CN105264819B/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/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/3226Cryptographic 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 a predetermined code, e.g. password, passphrase or PIN
    • 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/321Cryptographic 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 a third party or a trusted authority
    • H04L9/3213Cryptographic 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 a third party or a trusted authority using tickets or tokens, e.g. Kerberos
    • 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

Abstract

本公开涉及用于访问服务提供者的凭证验证。用户可通过传递非撤销组件来向服务提供者证明凭证的有效性,该非撤销组件基于素数阶密码群而没有双线性配对。为了认证用户,身份管理系统内的验证机制将包括验证者指定的私有密钥在内的私有密码数据应用到非撤销组件,其证明用户的身份并因此凭证未被撤销。呈现证明包括使用凭证的承诺和素数阶密码群来计算的散列值。通过验证该散列值是使用该承诺来计算的,验证机制确认凭证并许可对服务提供者的访问。

Description

最小披露凭证验证和撤销
背景
各组织越来越关注安全地标识在因特网上以及离线地访问并利用其服务和资源的用户,同时保持这些用户的信息对其他任何人的私密性。这些用户认证和数据共享需求被成本和效率考虑、被利用个人信息的新业务模型、以及被钓鱼、身份盗窃以及其他安全威胁的爆炸性增长所驱动。用于用户认证和数据共享的传统机制(诸如塑料卡和纸质凭证)是昂贵的、易于伪造的、且难以在线使用的。
结果,存在对于可以软件和/或硬件实现并被用来防护因特网上的货币或财务交易的机制(例如,X.509证书)的快速增长的兴趣。然而,这些机制受到限制,因为例如这些机制不能在不披露与用户相关联的至少一部分信息的情况下被使用。在验证手续期间,为了确定凭证是否有效,用户提供至少一些身份数据以便被认证。在一些情况下,颁发者可能想要阻止特定用户使用已经被颁发的凭证,诸如当该用户可能不再有资格使用先前颁发的凭证、其中包含的属性已经变得临时或永久无效、或该用户违反了与该服务提供者相关联的策略时。因此,对于其凭证未被撤销的用户而言,证明有效性不能在不披露具有一个或多个属性的形式的私有和/或保密信息的情况下来完成。这是因为属性本身被用于跟踪被撤销的凭证。
概述
提供本概述以便以简化形式介绍将在以下的详细描述中进一步描述的一些代表性概念的选集。本概述不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在以限制所要求保护的主题的范围的任何方式来使用。
简而言之,本文中公开的主题的各个方面涉及证明最小披露凭证的有效性/非撤销,而无需披露关于凭证和/或凭证的用户的标识信息。在一个方面,非撤销组件(在本文中被称为可验证的签名或呈现证明)通过验证某个实体/权威机构没有撤销凭证来确认该凭证。这些凭证可在本文中用多个术语来指代,诸如最小披露凭证、安全性令牌、私密性保护令牌、匿名凭证等。如本文中描述的,基于最小披露凭证的身份管理系统允许用户证明凭证未被撤销,而无需揭示任何私有信息,诸如用户的身份。
在一个方面,凭证包括内嵌在其中的对应于用户的身份的未披露的属性。通过将验证者指定的私有密钥应用到对应于该未披露的属性的非撤销证明,身份管理系统内的验证者组件确定非撤销证明是否是从准确的且最新的累加器中生成,该累加器表示黑名单的被撤销的凭证或白名单的有效凭证。在另一方面,验证者生成的质询由用户用凭证的私有密钥来签名并被返回到验证者以供验证。在又一方面,由于争端、错误、身份改变、和/或入侵等可使得任意凭证在其过期之前无效,撤销权威机构针对这样的系统更新累加器。
在一个方面,身份管理系统将凭证验证/撤销实现为基于云的服务、基础结构和/或平台的一部分。在一个方面,身份管理系统提供涉及累加器的与颁发、验证和/或撤销相关的服务。在一个方面,如果使用凭证的未披露的属性信息(例如,唯一用户标识符)和私有密码数据来生成累加器,则黑名单或白名单中的非成员资格或成员资格可使用该私有密码数据而非属性的值来确定。在一个方面,私有密码数据实现凭证认证,同时允许用户如本文中描述的保持匿名。
结合附图阅读以下详细描述,本发明的其他优点会变得显而易见。
附图简述
作为示例而非限制,在附图中示出了本发明,附图中相同的附图标记指示相同或相似的元素,附图中:
图1是解说根据一个或多个示例实现的示例身份管理系统的框图。
图2是解说根据一个或多个示例实现的用于凭证验证和撤销的示例协议的框图。
图3是解说根据一个或多个示例实现的用于使用最小披露凭证来在保持匿名的同时发起交易的示例步骤的流程图。
图4是根据一个或多个示例实现的示出用于控制对服务提供者的访问的示例步骤的流程图。
图5是示出根据一个或多个示例实现的用于更新至少一个证据值的步骤的流程图。
图6是表示示例非限制联网环境的框图,其中可实现本文所描述的各种实施例。
图7是表示其中可实现本文所描述各实施例的一个或多个方面的示例非限制计算系统或操作环境的框图。
详细描述
本文中描述的技术的各方面一般涉及如被身份管理系统的组件和/或其他硬件/软件机制促进的最小披露凭证验证/撤销。如本文中描述的,本文中称为颁发者的一个示例组件颁发对属性数据进行编码的凭证并提供用于在执行在线交易时认证用户的目的的其他数据。另一示例组件包括凭证验证机制或验证者,其被配置成将各种密码数据应用到被配置来确认给定最小披露凭证的非撤销组件(例如,可验证的签名或呈现证明)。在一个方面,最小披露凭证是基于密码方案,该密码方案被配置成允许用户访问服务提供者和/或发起在线交易,同时保持匿名且不可被颁发者和验证者追踪。
密码方案可采用各种密码数据,包括可从素数阶密码群构造(诸如整数的素数阶乘法循环子群)或另一构造(诸如椭圆曲线群)中随机生成的验证者指定的密码密钥(诸如私有密钥)。这样的构造可包括遵循Diffie-Hellman假设的标准化的密码群构造。标准化的密码群一般指被标准化的机制(例如,联邦信息处理标准(FIPS)186-3和美国国家标准学会(ANSI)X9.62)生成且设置的群参数,其可被用于颁发凭证。作为示例示出,国家标准和技术研究院(NIST)提供用于数个标准化的密码群的示例实施例。替换地,密码数据可包括验证者生成的质询值,其也是素数阶密码群构造(包括整数的素数阶加法子群)的元素。这个构造可在不需要可被考虑为整数的子群之间的双线性配对的任意事物的情况下被构建,并且替代地,可基于离散对数群。
除了颁发和验证之外,身份管理系统还包括撤销权威机构,该撤销权威机构计算累加器并使得该累加器可用,该累加器根据一个或多个示例实现表示至少一个被撤销的用户标识符(例如,黑名单)或至少一个有效用户标识符(例如,白名单)。累加器一般指基于素数阶子群构造的值,该值可代表服务提供者针对使用私有密码数据(诸如本文中描述的验证者指定的私有密码密钥)的指定验证者来计算以确认凭证的非撤销状态。在选择用于累加的未披露的属性后,撤销权威机构可使用验证者指定的密码密钥来计算累加器和该属性的证据,该属性在本文中可被称为撤销属性,其在累加器中的成员资格或非成员资格分别指该凭证的被撤销或未被撤销状态。
在一个示例实现中,第三方身份提供者代表用户来生成唯一用户标识符,以供身份管理系统在颁发和验证用户的凭证的非撤销状态时使用。注意,身份管理系统可能知晓该唯一用户标识符,但可能不知晓标识该用户的任意其他数据,诸如用户的姓名。因此,通过将唯一用户标识符编码为经签署的未披露的属性的凭证,用户计算设备可发起与服务提供者的交易,同时保持匿名或仅披露微不足道的量的信息。运行在用户计算设备内的被知晓为证明者的组件生成非撤销组件,其至少包括呈现证明,用于验证该唯一用户标识符是正当的且因此凭证是有效且未被撤销的。通过将验证者指定的密码密钥或验证者生成的质询应用到呈现证明,验证者确定凭证是否已被撤销。
除了经由验证者指定的密码密钥或验证者生成的质询来证明非撤销之外,呈现证明用于多个安全性目的(诸如证明与所呈现的凭证相关联的用户披露的属性的完整性和来源真实性)并确立用户拥有用于呈现/签署属性的私有密钥和交易相关数据。一个示例实现可部分地利用凭证的承诺来生成用于与呈现证明进行比较的散列值。
因此,呈现证明也可被称为指定的可验证的签名,其一般定义专门针对用户生成的且仅可用秘密来验证的数字签名。可验证的签名允许针对特定目标验证者而非任何人的数字签名生成。
应当理解,本文中的任何示例均是非限制的。因此,本发明不限制于本文所述的任何具体的实施例、方面、概念、结构、功能或示例。相反,本文所描述的任何实施例、方面、概念、结构、功能或示例都是非限制性的,可以以一般而言在计算和计算安全性中提供好处和优点的各种方式来使用本发明。
图1是解说根据一个或多个示例实现的示例身份管理系统的框图。身份管理系统的一个示例组件包括证明者102,该证明者102被配置成代表用户向颁发者104获得安全的最小披露凭证,并接着发起针对验证者106的对于与该用户相关联的某个服务提供者的验证请求。颁发者104一般是指用于由身份管理系统所管理的用户计算机的密码信息(包括公共/私有密码密钥和安全凭证)的权威来源。运行在示例用户计算机上的证明者102向颁发者104提供各种数据,该各种数据一旦被认证,就被编码并作为内嵌在安全的最小披露凭证108内的安全属性数据来返回。出于清楚的目的,最小披露凭证108在本文中可被称为凭证108。最小披露凭证108可被存储在设备(例如,智能卡、移动电话、或在线服务器)内。
验证者106一般指在提供各种服务的计算设备内运行的受信硬件/软件机制。验证者106可使用各种机制来执行凭证验证和撤销。作为一个示例,验证者106处理来自证明者102的被配置成确认凭证108和/或任何相关联的交易的非撤销组件110。
凭证108可包括经编码的属性数据,诸如身份数据(例如,全名、社保号(SSN)、和/或类似者),以及各种其他数据。证明者102可维护其他凭证,其中每个凭证编码属性的不同部分,使得用户可选择性地披露私有和/或保密信息。如本文中描述的,凭证108包括未披露的经编码的属性,除了对于具有密钥或功能的那些各方,该未披露的经编码的属性是不可解密或不可标识的。根据一个示例实现,颁发者104使用各种数据来为凭证108配置一个或多个公共/私有密钥,所述各种数据诸如另一密码密钥(其可以被称为秘密密钥或私有密钥)、经编码的属性数据和/或素数阶循环群的元素。
如本文所述的,如果该用户请求访问某个服务提供者,验证者106将非撤销组件110应用到凭证108和/或其他数据来确定准许还是拒绝该用户的请求,同时保持该用户匿名。用户可披露凭证108,其可包括相当大的数学数字或构造,而无需揭示用户的身份或用户的组织或设备。凭证108包括对应于用户的至少一个唯一标识符。
颁发者104和证明者102根据不带双线性配对的素数阶群构造来建立各种参数;并且基于这些参数,颁发者104或一独立的权威机构生成凭证108,该凭证108具有根据一个示例实施例的兼容格式的密码和用户数据。
在颁发者104和证明者102之间建立的一个示例参数包括群构造选择。如果示例参数指定子群构造,则群的描述(p,q,g)指定阶p的有限域的素数阶q的子群。p和q两者都是素数,q能除尽p-1,且g是的生成元(generator)。另一示例参数基于素数域上的椭圆曲线密码术指定群构造,群的描述(p,a,b,g,q,h)指定有限域上的椭圆曲线,其中p是素数,a和b是定义该椭圆曲线的两个域元素,g是素数阶q在该曲线上的基点(gx,gy)(以及的生成元),q是该群的阶,而h是该曲线的余因子。这些群构造可形成用于生成标准化的密码群和原语的基础。
为了说明一个示例群构造,令是循环群,其阶是素数q并且其元素可被表示为其中i=0...q-1。这些元素中的一些在本文中指生成元,该生成元被配置成生成每个群元素,使得针对任一i,对于素数阶的群此后表示集合 其中是该群的身份元素。除非另外说明,中元素的计算被假设为在mod q中。
循环群的一个示例实现符合离散对数(DL)假设,其中对于每个概率多项式时间(PPT)算法A(其中),以下函数针对安全性参数l是可以忽略的。
循环群的另一示例实现符合强Diffie-Hellman(SDH)假设,其阐述了一般不存在能从元组计算对(其中)的概率多项式时间(PPT)算法A。此外,循环群符合强Diffie-Hellman(SDH)假设,在该强Diffie-Hellman(SDH)假设中,对于每个概率多项式时间(PPT)算法A(其中),以下函数是可忽略的:
基于这些假设中的一者或两者,示例系统实现至少两个基于累加器的撤销方案。这些方案可包括任意基于素数阶密码群的方案。可以理解,本公开构想了基于其他假设来使用替换的基于累加器的撤销方案。每个撤销方案提供通用动态累加器和对应的多项式时间功能性。一个示例功能(例如,“Setup(设置)”功能)将相当大量的二进制串处理为输入并输出设置参数,包括要被累加的元素的域和/或辅助信息。另一示例功能将设置参数和一组元素处理为输入并返回累加器。任选地,辅助信息可被用于更高效地计算累加器。另一组示例功能表示被配置成证明某一元素实际上在累加器中被累加的成员资格证明系统。一个示例功能使用密码数据114、该组元素以及被用作凭证108的未披露的属性来计算针对这个证明的成员资格证据。还一组示例功能表示非成员资格证明系统,该非成员资格证明系统证明某一元素不在累加器中被累加。
如果存在其花费不依赖于针对向累加器添加用户标识符或从累加器中移除用户标识符以及更新非成员资格或成员资格证据的所累加的元素的数量的多项式时间函数,则累加器是动态的。这些用户标识符表示一组被撤销的凭证或一组有效凭证。密码数据114的一个或多个示例实现包括专用于验证者的密码数据,以用于计算累加器、响应于凭证撤销来更新累加器和/或随后使用非撤销组件110来确定凭证有效性。
作为示例,以下描述了没有中央撤销权威机构的实现,其中是素数阶的循环群并且表示来自验证者106的对证明者102的质询。假设n个元素被累加到表示被撤销的标识符的累加器,被撤销的标识符中的标识符u不是成员并且其证据根据撤销方案被定义为函数f(x)=c(x)(x-u)+d。值u表示针对其证明者102生成证明u在累加器中的非成员资格的非撤销组件110的用户的标识符。值d表示余数值。证明者102计算余数d以及函数的系数ai。证明者102将承诺C1传递到余数d以及函数c(x)的系数(其中)并接收作为返回的质询证明者102可计算密码元素A=gf(x)并针对验证者104指定该元素用于确认凭证108的不撤销。替代地,证明者102可从验证者接收该元素。通过使用这个元素,证明者102生成u,d,ai(i=0...n-1),ru,r1,r2,r2′的零知识证明,使得 其中Cu表示对用户标识符的承诺并且C2表示对函数c(x)的承诺,从而证明用户不被累加在该组被撤销的身份中。
一个示例实现包括一个或多个验证者指定的密码密钥,诸如公共密钥和私有密钥δ,两者均被验证者106和/或撤销权威机构112维护。一般地,私有密钥是整数和随机群生成元的乘法群,使得K=Hδ。替代地,H和G可与其他颁发者参数有关,例如H=g和/或G=g1。私有密钥δ可随机地从中生成。
根据一个涉及U-证明密码方案的示例实施例,在颁发期间,证明者102生成密码密钥,诸如凭证108的密钥凭证108的对应的公共密钥包括被编码为属性xi(1≤i≤n)之一的唯一用户标识符xid,该对应的公共密钥被评估为其中对于i...n的每个属性值被生成。为了将某一身份列入黑名单,撤销权威机构累加xid。在一个示例性实现中,xid唯一地标识用户或组织。
根据一个示例实现,验证者106或替代地某一独立撤销权威机构提供用于存储与各种密码方案有关的信息的储存库116并实现用于向第三方(诸如服务提供者)验证用户的身份而无需披露该身份的协议。如将理解的,这是在无需披露私有或保密信息(例如,社保号、信用卡号、知识产权、和/或口令等)的情况下完成的。在一个示例性实现中,存储库116包括遵循某个公知密码原理的各个数学数字(例如,超过100个位数的数字)。
例如,存储库116包括具有黑名单形式的与至少一个被撤销的用户相关联的经编码的属性。这些属性可指被撤销的用户的经累加的凭证。替换地,存储库116包括具有白名单形式的有效用户的经积累的凭证。存储库116还包括数学数字的包,当被应用到凭证108的对应部分时,该数学数字的包实现针对服务提供者的安全用户验证。
作为撤销权威机构操作的验证者106累加与至少一个被撤销的用户相关联的标识符以创建表示每个成员的值,其可被称为累加器。根据本公开的某些实施例,这样的值可超过数百个位数并构成黑名单的一部分。类似地,至少一个有效用户的用户标识符可被累加来形成白名单。
如本文中描述的,如果用户不是黑名单的成员,或替代地,如果用户是白名单的成员,则非撤销组件110包括补充累加器的一个或多个数学值。这些数学值可包括一个或多个成员资格/非成员资格证明组件、一个或多个证据值、和/或一个或多个承诺值等。通过使用该一个或多个证据值,证明者102生成用于在选择性地披露某些属性的同时证明成员资格或非成员资格的非撤销组件110。用户保留要保持为私有的任何信息。在一个示例实施例中,用户仅传递凭证标识符,而不传递其他属性。
非撤销组件110构成证明者112的私有密钥的所有权证明以及交易相关数据上用户的数字签名,在该交易相关数据中,数字签名可经由验证者专用的密码数据来验证。从而,非撤销组件110担当交易相关数据(例如,消息)上的可验证数字签名。为了创建具有凭证的数字签名,证明者102使用验证者指定的公共密钥来生成非撤销组件110。非撤销组件110还包括使得验证者106能够通过以下方式来认证数字签名的各种密码数据:认证凭证的承诺是使用验证者指定的公共密钥来生成的,并且/或者认证凭证的基于累加器的证据是使用验证者指定的私有密钥或验证者指定的质询来生成的。
任选地,颁发者104以证明者102在没有受信设备(例如,智能卡、移动电话或在线服务器)的协助的情况下不能使用凭证的方式来向证明者102颁发凭证108。一般而言,这样的设备可被配置成有效地保护任意数量个颁发者所颁发的多个凭证,并动态地(例如,在呈现时间)代表颁发者、验证者或第三方来实施策略-而无需牺牲证明者102的隐私并无需与颁发者104交互。
图2是解说根据一个或多个示例实现的用于凭证验证的示例协议的框图。该示例系统是关于图1描述的示例性系统的替换实现。该示例协议中涉及的各方包括身份管理系统202、服务提供者204、用户计算设备206和身份提供者208。要领会,在该示例协议所规定的任何操作处可补充任何其他方。
身份管理系统202可被实现为网络或云计算资源,其中颁发者210生成各种密码数据,包括基于素数阶循环群的密码密钥和其他密码原语。身份管理系统202的示例架构包括Live Id和AzureTM Active(活动目录),其中受信安全令牌服务(STS)认证用户并随后颁发用于访问其他依赖服务的凭证。通过担当用于基于累加器的密码方案的指定的验证者撤销权威机构,受信STS的指定的验证者性质提供另一级别的隐私。身份管理系统202的一个实施例可以是网络或云计算资源上的集成服务,诸如AzureTM Active联合服务。
身份管理系统202配置验证机制(本文中称为验证者216)以代表服务提供者204认证用户计算设备。身份管理系统202还可实现用于管理分别包括被撤销的和/或有效标识符的黑名单和/或白名单的撤销权威机构212。该示例协议的一个示例实现涉及撤销权威机构212将一组密码密钥分配到每个凭证验证机制。
用户采用安全凭证技术以便选择性地披露属性信息,且仍旧被准许对与服务提供者204相关联的服务的访问。服务提供者204包括各种在线(即,因特网)特性,所述特性采用基于累加器的身份撤销和验证来保护存储在计算机数据中的信息。服务提供者204通过以下方式来使用身份管理系统202以用于凭证确认:将非撤销组件应用到与用户相关联的凭证来确定如本文中描述的一组被撤销的身份或一组有效身份任一中的成员资格或非成员资格。
为了说明一个示例,身份提供者208包括许可部门,该许可部门使用各种用户数据来生成至少一个凭证并将该至少一个凭证颁发给用户。如本文中描述的,每个凭证包括属性的不同组合,属性诸如车辆标识号(VIN)、汽车制造商/型号、凭证标识符、拥有者姓名、和/或驾驶证号等。取决于用户期望披露哪个属性(如果有),许可部门用只有这些属性的编码来配置有效凭证。身份提供者208使得撤销权威机构212能够基于作为属性被内嵌在凭证中的有效用户标识符的特征来撤销该凭证。一旦被撤销,与该凭证相关联的公共/私有密钥对不能再次被使用。
如在图2中所描绘的,示例协议的一个示例实现执行至少操作的序列,其中每个操作对应于特定顺序时间点。每个操作的标签是表示该操作的序列位置的加圈数字。
在操作一(1),当被称为颁发者210的组件生成包括用于保护用户数据的密码数据在内的设置参数数据时,身份管理系统202启动该示例协议。生成设置参数导致用于颁发凭证等的标识符(例如,应用专用的标识符)、密码上安全的散列算法、公共/私有密钥的任一组合。
根据一个示例实现,撤销权威机构212随机地从素数阶群中生成私有密钥δ并指定私有密钥δ用于凭证验证。可以理解,本公开可将私有密钥δ称为验证者指定的私有(密码)密钥214,反之亦然。撤销权威机构212向验证者216提供验证者指定的密钥214来执行凭证验证。如本文中描述的,凭证验证可涉及分别确定黑名单或白名单中的非成员资格或成员资格,其中黑名单表示一组被撤销的用户身份和/或白名单表示一组有效用户身份。如果用户的身份被撤销,则基于该身份的任何凭证也被撤销并被视为无效。
在操作二(2),身份提供者208将唯一标识符分派到用户的设备并向身份管理系统202通知唯一标识符的值,其可指用户或用户的组织。颁发者210将唯一标识符内嵌为凭证中未披露的属性。作为一示例,颁发者210采用密码散列函数和唯一标识符来计算散列值,该散列值表示用户能吸收来证明唯一标识符的非撤销并获得对服务提供者204的访问的一个示例属性。作为另一示例,颁发者210将唯一标识符的值转换为具有大端(big-endian)字节次序的无符号整数的二进制编码,其必须小于q以作为乘法子群的有效元素。
在操作三(3),经由用户计算设备206,用户向身份提供者208认证某些凭证。为了解说一个示例,该用户可通过使用有效口令来登录到与身份提供者208相关联的web服务器中。在操作四(4),用户接收将唯一标识符编码为未披露的属性的凭证并将该凭证存储在用户计算设备206中。任选地,该凭证可被存储在耦合至用户计算设备206的分开的受信设备中。
用户计算设备206的在本文中被称为证明者220的组件被配置成使用有效凭证来获得对服务提供者204的访问。根据一个涉及U-证明凭证的示例实施例,证明者220随机地生成私有密钥并使用颁发者210的公共密钥来计算公共密钥其中属性xi之一编码用户标识符xid。公共密钥的模乘法逆(modular multiplicativeinverse)使公共密钥随机化。
根据一个示例实现,假设针对用户标识符xid的示例撤销属性对应于要被撤销的凭证,撤销权威机构212选择该用户标识符以供撤销并将xid累加到累加器218内。用户标识符xid可表示任一对象;为了说明若干个示例,xid可唯一地标识凭证、用户或组织。
撤销权威机构212使用与颁发者210相同的q来产生具有公共密钥pka的一个或多个分量以及验证者指定的私有密钥214的累加器218。在一个示例实现中,撤销权威机构212包括表示至少一个被撤销的标识符的黑名单或替换地表示至少一个有效标识符的白名单。撤销权威机构212可用签名来公布该黑名单和/或白名单,或替代地,将该黑名单和/或白名单保持为秘密。如果被签署,具有公共密钥的任一人可确认经签署的黑名单/白名单。
包括证据222的值可通过使用验证者指定的私有密钥214来计算并被发送到用户,该值确定累加器218中用户标识符xid的成员资格或非成员资格。从那时起,当被累加的列表基于累加器值的历史改变时,用户可更新该证据。如本文中描述的,使用累加器218和证据222来生成证明224以便验证用户的身份不被撤销并因此,用户的凭证是有效的。证明224包括在服务提供者204(诸如在线车辆拍卖web服务器)处增强安全性的非成员资格证明或成员资格证明。成员资格证明对用户标识符xid被累加进行证明。相反,非成员资格证明对用户标识符xid不被累加进行证明。基于证明224以及验证者指定的私有密钥214,验证者216确定用户的身份是否不被撤销并因此凭证是有效的。
在操作五(5),身份管理系统202的撤销权威机构212周期性地更新被撤销的标识符的黑名单或包括有效标识符的白名单。在一个示例实现中,身份提供者208和/或其他身份提供者将有效凭证传递到撤销权威机构212,并在稍后的时间点,当这些身份变得被撤销时通知撤销权威机构212。
为了说明一个示例实现,对于包括一组被撤销的标识符 (其中m≤k)的黑名单,使用表达式可在多项式时间内计算累加器218。如果有效标识符的白名单而非黑名单被采用,则可使用相同的表达式来在多项式时间内计算累加器218,其中δ是验证者指定的私有密钥214。
在操作六(6),用户周期性地从身份管理系统202中获得非撤销证据。这些非撤销证据包括从用于凭证的唯一标识符属性中计算的值。在一个实现中,对于不在黑名单中的用户标识符xid,证据222被标记为(W,d,Q)并使用表达式 来计算,从而证明xid不被累加在V中(则Q=Wδ)。如果存在向黑名单或白名单添加或删除的若干个成员,则身份管理系统在完全更新W,d之后更新Q。
在与成员添加相关联的示例实现中,当被撤销的标识符的新属性x′被累加到累加 器218中时,用户标识符xid的新证据(W′,d′,Q′)可被计算为 其中V′是新的被累加的值。对于涉及 成员删除的实现,当被累加的属性x′被移除时,xid的新证据(W′,d′,Q′)可被计算为
在操作七(7),用户向服务提供者204呈现凭证以及累加器218的证据222和证明224。如本文中描述的,证据222被用于生成被存储在证明224中的非成员资格或成员资格证明。对于不被累加在累加器218中的凭证中的某个值xid,证明该xid不被累加等同于以下表达式:
以及则Y=Xδ并且前一表达式等同于:
以下5个步骤指用于生成针对xid的承诺的有效性的非成员资格证明的一个示例实现,其中u由以下承诺方案设置:
1.生成
2.计算
3.计算散列质询
4.计算
r0:=-cu+t0 mod q;s0:=-cxid+k0 mod q
for each i∈{1,2,3},si:=-cti+ki mod q
s4:=-ct2xid+k4 mod q;s5:=-cd+k5 mod q
s6:=-cd-1+k6 mod q;s7:=-ct1xid+k7 mod q
s8:=-ct3d+k8 mod q
删除 t0,t1,t2,t3,k0,...,k8
5.返回c,r0,s0,...,s8,X,Y,R,S的所生成的证明
以上步骤中的第一个步骤指在中生成随机数(例如,整数),为加法下的阶q的素数阶循环群。的集合对于群中的元素是同构的。关于第二个步骤,出于在步骤三计算散列质询c的目的,证明者220使用xid的承诺来计算群中多个不同的数学元素。通过使用用户标识符xid,证明者基于散列质询c、承诺值和用户标识符xid来计算一组正实数r0,s0,...,s8。与元素X,Y,R,S一起,r0,s0,...,s8集合和散列质询c形成数字签名的至少一部分,从而允许用户证明承诺的真实性,其意味着提交的标识符xid被用于计算证据222。
在以上证明中,T3,T4,s5,s6显示d-1的存在,由此d≠0。xid的承诺可以变化,所以服务提供者204和用户计算设备206之间的呈现协议变化。
以下五个步骤指用于生成针对xid的承诺的非成员资格证明的一个替换实现:
1.生成
2.计算
w:=d-1 mod q;z:=t1t3-t2 mod q;z′:=-t2 w mod q
3.计算散列质询
4.计算
s1:=-cx+k1 mod q;s2:=-ct1+k2 mod q
s3:=-cz+k3 mod q;s4:=-cu+k4 mod q
s5:=-ct3+k5 mod q;s6:=-cw+k6 mod q
s7:=-cz′+k7 mod q
删除z,z′,t1,t2,t3,k1,...,k7
5.返回c,s1,...,s7,X,Y,Cx,Cd的所生成的证明
以下五个步骤指用于生成针对xid的承诺的非成员资格证明的另一替换实现:
1.生成
2.计算
w:=d-1 mod q;z:=t1u-t2 mod q;z′:=-t2 w mod q
3.计算散列质询
4.计算
s1:=-cx+k1 mod q;s2:=-ct1+k2 mod q
s3:=-cz+k3 mod q;s4:=-cu+k4 mod q
s5:=-cw+k5 mod q;s6:=-cz′+k6 mod q
删除z,z′,t1,t2,k1,...,k6
5.返回c,s1,...,s6,X,Y,Cd的所生成的证明
在操作八(8),服务提供者204将凭证和证明224传递到身份管理系统202以供验证。根据一个示例实现,通过使用撤销权威机构212,验证者216确定凭证不是包括被撤销的标识符的黑名单的成员。如果凭证以某种方式被误用,则凭证可被撤销并且用户标识符可被累加到表示至少一个被撤销的标识符的累加器218内。在任一实现中,撤销权威机构212使用来自每个其用户的身份被撤销的凭证的至少一个属性来计算累加器218。
为了产生证据222,撤销权威机构212使用累加器218,形成凭证的基础的素数阶循环群生成元以及颁发给验证者216的公共/私有密钥对。累加器210和证据222可基于强Diffie-Hellman假设。在另一示例实现中,证明者220计算证据222的值。
以下两个步骤示出其中身份管理系统202内的验证者216针对x的承诺 来确认标记为c,r0,s0,...,s8,X,Y,R,S的黑名单非成员资格证明的一个示例性实现:
1.计算
2.验证
Y=Xδ
以下两个步骤示出其中身份管理系统202内的验证者216针对xid的承诺来确认标记为c,s1,...,s7,X,Y,Cx,Cd的黑名单非成员资格证明的一个替换示例性实现:
1.计算
2.验证
以下两个步骤示出其中身份管理系统202内的验证者216针对xid的承诺来确认标记为c,s1,...,s6,X,Y,Cd的黑名单非成员资格证明的第二替换示例性实现:
1.计算
2.验证
Y=Xδ
标记为“计算”的第一个步骤涉及从证明224中提取包括散列质询c在内的值,以及基于所提取的值来计算素数阶循环群的数学元素。标记为“验证”的第二个步骤中的第一部分基于在第一个步骤期间计算的数学元素来计算散列值,并将该散列值与散列质询c进行比较来确定用户计算设备206的真实性,而无需了解用户的身份。安全性步骤的第二部分确定验证者指定的密钥δ是否被用于计算凭证的证据222。如果是,则验证者216可就凭证的有效性向服务提供者204担保,而无需揭示用户的身份。
针对其中证明224是白名单的成员资格证明的实施例,使用针对累加器218的该组有效凭证中的xid的表达式来计算成员资格证据(W,Q)。由此,(W,Q)是指示xid被累加在V中的证据,其中Q=Wδ
当成员针对白名单被添加或删除时,身份管理系统202仅在完全更新W后更新Q。在 成员添加的一个示例性实现中,当新凭证x′被累加时,xid的新证据(W′,Q′)可被计算为其中V′是新的累加值。在成员删除的一个示例性实现中,当累加 的凭证x′被移除时,xid的新证据(W′,Q′)可被计算为元组
针对生成累加的xid的成员资格证明,在计算或更新xid的证据(W,Q)后,证明xid被累加等同于以下表达式:
通过指定则Y=Xδ,并且以上表达式可被缩减为:由于xid的兼容承诺方案变化,所以呈现协议也变化。以下四个步骤示出针对xid的承诺的一个示例白名单成员资格证明生成:
1.生成并计算
2.计算散列质询
3.计算
r0:=-cu+t0 mod q;s0:=-cxid+k0 mod q
for each i∈{1,2},si:=-cti+ki mod q
s3:=-ct1xid+k3 mod q;s4:=-ct2xid+k4 mod q
删除 t0,t1,t2,k0,...,k4
4.生成成员资格证明
c,r0,s0,...,s4,X,Y,R
以下四个步骤示出针对xid的承诺的一替换白名单成员资格证明生成:
1.生成并计算
z:=t1t2mod q
2.计算散列质询
3.计算
s1:=-cx+k1 mod q;s2:=-ct1+k2 mod q
s3:=-cz+k3 mod q;s4:=-cu+k4 mod q
s5:=-ct2+k5 mod q
删除z,t1,t2,k1,...,k5
4.生成成员资格证明
c,s1,...,s5,X,Y,Cx
以下四个步骤示出针对xid的承诺的一替换白名单成员资格证明生成:
1.生成并计算
z:=t1u mod q
2.计算散列质询
3.计算
s1:=-cx+k1 mod q;s2:=-ct1+k2 mod q
s3:=-cz+k3 mod q;s4:=-cu+k4 mod q
删除z,t1,t2,k1,...,k4
4.生成成员资格证明:
c,s1,...,s4,X,Y
以下两个步骤示出其中身份管理系统202内的验证者216通过针对承诺验证在标记为c,r0,s0,...,s4,X,Y,R的白名单成员资格证明中提供的值来确认凭证xid的一个示例性实现:
1.计算
2.验证
Y=Xδ
标记为“计算”的第一个步骤涉及从证明224中提取包括散列质询c在内的值,以及基于所提取的值来计算素数阶循环群的数学元素。标记为“验证”的第二个步骤中的第一部分基于在第一个步骤期间计算的数学元素来计算散列值,并将该散列值与散列质询c进行比较来确定用户计算设备206的真实性,而无需了解用户的身份。散列值比较确定xid的承诺是否通过使用用户标识符xid而非垃圾数据来被实际计算。安全性步骤的第二部分确定验证者指定的密钥δ是否被用于计算用户标识符xid的证据222。
以下两个步骤示出其中身份管理系统202内的验证者216通过针对承诺验证在标记为c,s1,...,s5,X,Y,Cx的白名单成员资格证明中提供的值来确认凭证的一个替换示例性实现:
1.计算
2.验证
Y=Xδ
以下两个步骤示出其中身份管理系统202内的验证者216通过针对承诺验证在标记为c,s1,...,s4,X,Y的白名单成员资格证明中提供的值来确认凭证的第二替换示例性实现:
1.计算
2.验证:
Y=Xδ
图3是解说根据一个或多个示例实现的用于使用最小披露凭证来在保持匿名的同时发起交易的示例步骤的流程图。在一个实现中,示例步骤由各种硬件和/或软件来执行,诸如本文中描述的图1的证明者102。
图3中描绘的步骤开始于步骤302并前进到步骤304,在此处理使用标准化的密码群构建的凭证。作为示例示出,国家标准和技术研究院(NIST)提供用于数个密码群的示例实施例。一个或多个凭证参数(诸如公共密码密钥)可用/不用任何双线性配对和/或基于离散算法来生成。例如,使用素数阶有限域子群的群生成元或椭圆曲线以及由整数的加法子群生成的私有密钥来计算公共密码密钥。两个子群均具有相同的阶和/或相互同构。一些示例实施例不采用双线性配对来实现凭证验证和撤销。由于缺乏中央权威机构,标准化密码子群可按更自组织的方式来实例化,其允许密码密钥或质询值对除了指定的验证者之外的其他计算设备保持保密。
以下描述了其中表示由元素生成的标准化的密码循环群(其阶是素数q)的一个或多个示例实现。验证者指定的私有密钥针对累加器来生成并被标记为K=Hδ的值也被计算。针对要被累加的元素的对应域是累加器的公共密钥是阶q可以是任意NIST标准化的群或被适当的密码方案使用的任意群。
参考与U-证明密码方案相关联的一个示例实施例,证明者在凭证颁发协议期间从身份管理系统接收至少以下信息:
颁发者参数字段:
披露的属性的有序索引:
未披露的属性的有序索引:U={1,...,n}-D
提交的属性的有序索引:
消息:m∈{0,1}*
U-证明凭证:
私有密钥:
属性值:(A1,...,An)∈{0,1}*
累加器公共密钥
证据:(W,d,Q)
可以理解,U-证明密码方案是一个示例实施例并且其他密码方案可采用私有密码数据来确认凭证非撤销的证明。步骤306检查凭证的属性数据并标识包括唯一用户标识符xid在内的撤销属性,该唯一用户标识符xid是具有明文数据(例如,整数)的形式或具有经编码的数据(例如,散列值)形式的该组属性值{A1,...,An}中的成员。通过使用唯一用户标识符xid,步骤306生成用于证明凭证的非撤销的证据值。可使用包括经签署的累加器在内的公布的黑名单/白名单来计算证据值。替代地,证明者可从身份管理系统的撤销权威机构来接收凭证的非撤销证据值(W,d,Q)。
步骤308基于累加器的公共密钥元素来计算针对用户标识符xid的承诺。通过将这些公共密钥元素应用到秘密值(诸如本文中描述的唯一标识符)来计算承诺,使得承诺既绑定到秘密值又隐藏秘密值。累加器的公共密钥元素可被设为G:=g和H:=g1,其中g,g1从颁发者参数中提取。替代地,H和G可被设置为H=g和/或G=g1,或被随机地选择。
步骤310表示交易准备和呈现证明生成。可以理解,除了证明凭证的有效性之外,呈现证明可被用于向服务提供者认证交易相关消息的完整性。用于在呈现证明中生成对属性的承诺的一个示例实施例如下:
对于每个
i∈C
生成
对于每个未披露但提交的属性索引i,从子群中生成随机值并且随机值接着被用于计算承诺和散列值
以下涉及用于生成用于验证用户的标识符的承诺的质询值的一个示例实现:
r0:=cα-1+w0 mod q
对于每个i∈U,ri:=-cxi+wi mod q
呈现具有至少一个承诺和一空缺的凭证允许用户通过在实现验证的同时将用户标识符xid保持为秘密来匿名地访问在线服务。验证用户标识符xid涉及对被证明者和验证者两者独立计算的密码散列质询的验证。
示例实现可前进到以下一组操作:
对于每个i∈C,
删除
生成随机
计算散列
计算
对于每个i∈{1,2,3},si:=-c′ti+ki mod q
s4:=-c′t2xid+k4 mod q;s5:=-c′d+k5 mod q
s6:=-c′d-1+k6 mod q;s7:=-c′t1xid+k7 mod q
s8:=-c′t3d+k8 mod q
删除 t0,t1,t2,t3,k0,...,k8
根据以上描述,证明者计算针对C中对应于用户标识符xid的提交的且未披露的属性的响应值r’。计算一个示例响应值r’可涉及基于对应于用户标识符xid的承诺来对散列质询c’执行转换。证明者在计算响应值r’时使用散列值c’和对应于用户标识符xid的空缺
根据一个示例实现,证明者使用中的一组随机生成的数字、散列值c’和用户标识符xid来基于包括签名元素s0,...,s8在内的素数阶循环群构造计算各种数学数字。证明者将这些数字中的至少一些组装为在步骤312中被传递到服务提供者的呈现证明的组件。以下描述证明者将其传递到服务提供者以供验证的呈现证明和对用户标识符xid的承诺的示例实施例:
呈现证明:
c′,r′,s0,...,s8,X,Y,R,S
承诺值:
可使用本文中描述的替换黑名单非成员资格证明来构造其他实施例。
作为替代机制,白名单可能需要不同的一组操作来生成阐述用户标识符xid的成员资格(并由此阐述其有效性)的呈现证明。以下表示针对其的用户标识符xid被累加到具有证据(W,D)的白名单中的最小披露凭证的这样的一组操作的一个示例实施例:
对于每个i∈C,
删除
生成随机
计算散列
计算
对于每个i∈{1,2},si:=-c′ti+ki mod q
s3:=-c′t1xid+k3 mod q;s4:=-c′t2xid+k4 mod q
删除 t0,t1,t2,k0,...,k4
步骤312涉及将凭证、呈现证明和承诺值传递到服务提供者以便发起交易。从以上操作中得到并被返回到服务提供者的呈现证明可被定义为如下:
呈现证明:
c′,r′,s0,...,s4,X,Y,R
承诺值:
可使用本文中描述的替换白名单成员资格证明来构造其他实施例。
一旦用户标识符xid通过确认凭证和呈现证明被验证为是白名单成员或黑名单非成员,服务提供者就完成交易并向证明者返回任意相关数据。步骤314终止图3所描绘的示例步骤。
图4是根据一个或多个示例实现的示出用于控制对服务提供者的访问的示例步骤的流程图。在一个实现中,示例步骤被各种软件和/或硬件执行,诸如本文中描述的图1的验证者106。
访问控制可涉及通过将验证者专用密码数据应用到非撤销组件来验证凭证的有效性,诸如基于例如使用标准化的离散对数密码群构建的素数阶循环群构造的数学证明。数学证明在本文中可被称为呈现证明。呈现证明(诸如成员资格证明或非成员资格证明)一般通过验证用户标识符xid不被累加在表示被撤销的凭证的黑名单中或被累加在表示有效凭证的白名单中来证明凭证非撤销,而无需了解用户标识符xid的值。
图4中描绘的步骤开始于步骤402并在接收到凭证时前进到步骤404,该凭证伴随有该凭证内的凭证的证明。除了凭证和呈现证明之外,验证者访问来自撤销权威机构的验证者专用密码数据以便确认凭证的非撤销状态。以下表示当撤销方案与U-证明密码方案结合使用时的一组示例输入参数:
颁发者参数字段:
披露的属性的有序索引:
未披露的属性的有序索引:U={1,...,n}-D
提交的属性的有序索引:
U-证明凭证:
消息:m∈{0,1}*
呈现证明:
c′,r′,s0,...,s4,X,Y,R
累加器公共密钥
当前累加值V
当请求访问服务提供者时,运行在用户的计算设备上的提供者呈现凭证和证明以供凭证验证。在一个示例性实现中,在拒绝或准予访问之前,服务提供者和用户协商哪些属性要披露。例如,服务提供者可坚持包括凭证在内的某些信息。用户和服务提供者可决定没有属性要被披露来在用户采用凭证来确认用户的请求的情况下验证凭证。
一旦被接收,验证者执行一系列操作来验证呈现证明以确定累加器中的成员资格或非成员资格。以下表示这样的操作的其中累加器对应于黑名单的一个示例实施例。
呈现证明验证
xt:=ComputeXt(IP,TI)
对于每个i∈D,xi:=ComputeXi(IP,Ai)
验证
对于每个i∈C,验证
计算
验证
Y=Xδ
步骤406到步骤410参考这些操作中的至少一些,但是可以理解,这些操作在其他实施例中可被修改来实现凭证验证。步骤406指使用至少某些证明组件来计算基于离散对数密码群的值。步骤408指将基于承诺值的散列值与适当的证明组件进行比较。步骤410示出验证者指定的私有密码密钥和密码散列函数到呈现证明的应用。步骤412指确定用户标识符xid在黑名单中的成员资格或非成员资格,而步骤414指确定用户标识符xid在白名单中的成员资格或非成员资格。如果呈现证明包括非成员资格证明,则以上描述的一系列操作被执行。
另一方面,如果呈现证明包括成员资格证明,则执行步骤414来代替步骤412,如以下一些列操作所表示的。
呈现证明验证
xt:=ComputeXt(IP,TI)
对于每个i∈D,xi:=ComputeXi(IP,Ai)
验证
对于每个i∈C,验证
计算
验证
Y=Xδ
步骤416表示就凭证是无效还是有效的确定。根据一个示例实现,如果每一个证明组件都能被验证,则凭证是有效的,这是因为凭证用户的身份没有被撤销并且用户可被准予对服务提供者的访问。
如果凭证被撤销,则步骤418示出对用户的访问的拒绝。如果凭证是有效的,则步骤420示出对用户的访问的准予。步骤422终止图4所描绘的示例步骤的执行。
图5是示出根据一个或多个示例实现的用于更新至少一个证据值的步骤的流程图。图5中描绘的步骤开始于步骤502,并在至少一个证据值被访问时前进到步骤504。在一个实现中,示例步骤被各种软件和/或硬件执行,诸如本文中描述的图2的撤销权威机构212。
对至少一个证据值的计算利用被内嵌为凭证内的撤销属性的唯一用户标识符以及表示至少一个被撤销的标识符或至少一个有效标识符的累加器。在一个实现中,该至少一个凭证是有效的,并且该至少一个用户标识符不被累加在黑名单中。在另一实现中,该至少一个凭证是待决的,而用户用先前的凭证完成交易。因此,该至少一个凭证不是有效的。认证服务撤销了这些凭证并且累加该至少一个用户标识符并产生新的累加器。
步骤506表示关于响应于累加器成员添加或成员删除,是否更新该至少一个证据值的确定。累加器可形成黑名单或白名单的一部分。如果没有这样的添加或删除发生,则这些步骤的执行在步骤508处等待。一旦这样的添加或删除发生,则至少一个证据值被更新来反映新的累加器。步骤510表示向累加器添加成员并计算最新的证据值的实现。步骤512表示从累加器删除成员并计算最新的证据值的实现。
步骤514表示至少一个最新的证据值与新的累加器的比较。步骤514被执行以验证至少一个证据值补充该新的累加器并证明用户标识符不被累加在黑名单中。这向服务提供者确保了凭证确实是有效的。替换地,至少一个证据值证明用户标识符被累加在白名单中。步骤516表示将最新的证据值返回到用户。步骤518表示示例步骤的终止。
示例联网以及分布式环境
本领域技术人员可以理解,此处描述的各实施例和方法可结合任何计算机或其它客户机或服务器设备来实现,其可被部署为计算机网络的部分或在分布式计算环境中,并且可以被连接到任何类型一个或多个数据存储。在这一点上,此处描述的各实施例可在具有任何数量的存储器或存储单元的、并且任何数量的应用和进程跨任何数量的存储单元发生的任何计算机系统或环境中实现。这包括但不限于具有部署在具有远程或本地存储的网络环境或分布式计算环境中的服务器计算机和客户计算机的环境。
分布式计算通过计算设备和系统之间的通信交换来提供计算机资源和服务的共享。这些资源和服务包括信息的交换、对于诸如文件之类的对象的高速缓存存储和盘存储。这些资源和服务还包括多个处理单元之间的处理能力共享以便进行负载平衡、资源扩展、处理专门化等等。分布式计算利用网络连接,从而允许客户机利用其集体力量来使整个企业受益。就此,各种设备可具有可如参考本发明的各实施例描述地参与资源管理机制的应用、对象或资源。
图6提供了示例性的联网或分布式计算环境的示意图。该分布式计算环境包括计算对象610、612等以及计算对象或设备620、622、624、626、628等,这些计算对象或设备可包括如由示例应用630、632、634、636、638表示的程序、方法、数据存储、可编程逻辑等。可以理解,计算对象610、612等以及计算对象或设备620、622、624、626、628等可包括不同的设备,诸如个人数字助理(PDA)、音频/视频设备、移动电话、MP3播放器、个人计算机、膝上型计算机等。
每一个计算对象610、612等以及计算对象或设备620、622、624、626、628等可通过通信网络640直接或间接与一个或多个其他计算对象610、612等以及计算对象或设备620、622、624、626、628等进行通信。尽管在图6中被示为单个元素,但通信网络640可包括向图6的系统提供服务的其他计算对象和计算设备和/或可表示未示出的多个互连网络。每个计算对象610、612等或计算对象或设备620、622、624、626、628等还可以包含应用,诸如可以利用API或其他对象、软件、固件和/或硬件的、适于根据本公开的各实施例所提供的应用的实现或与其进行通信的应用630、632、634、636、638。
存在支持分布式计算环境的各种系统、组件和网络配置。例如,计算系统可由有线或无线系统、本地网络或广泛分布的网络连接在一起。当前,许多网络被耦合至因特网,因特网为广泛分布的计算提供了基础结构并包含许多不同的网络,但任何网络基础结构都可用于便于与如各实施例中所描述的系统的示例通信。
由此,可使用诸如客户机/服务器、对等、或混合架构之类的众多网络拓扑结构和网络基础结构。“客户机”是使用与其无关的另一类或组的服务的一类或组中的成员。客户机可以是进程,例如大致上是请求由另一程序或进程提供的服务的一组指令或任务。客户机进程使用所请求的服务,而无需“知道”关于其他程序或服务本身的任何工作细节。
在客户机/服务器架构中,尤其在联网系统中,客户机通常是访问另一计算机(例如,服务器)所提供的共享网络资源的计算机。在图6的图示中,作为非限制性示例,计算对象或设备620、622、624、626、628等可被认为是客户机,而计算对象610、612等可被认为是服务器,其中作为服务器的计算对象610、612等提供数据服务,诸如从客户机计算对象或设备620、622、624、626、628等接收数据、存储数据、处理数据、向客户机计算对象或设备620、622、624、626、628等发送数据,但取决于环境,任何计算机都可被认为是客户机、服务器、或两者。
服务器通常是可通过诸如因特网或无线网络基础结构之类的远程网络或本地网络访问的远程计算机系统。客户机进程可在第一计算机系统中活动,而服务器进程可在第二计算机系统中活动,它们通过通信介质相互通信,由此提供分布式功能性并允许多个客户机利用服务器的信息收集能力。
在通信网络640或总线是因特网的网络环境中,例如,计算对象610、612等可以是其他计算对象或设备620、622、624、626、628等经由诸如超文本传输协议(HTTP)之类的多种已知协议中的任一种与其通信的Web服务器。计算对象610、612等作为服务器还可用作例如计算对象或设备620、622、624、626、628等的客户机,分布式计算环境的特点就是如此。
示例计算设备
如上所述,有利地,本文所描述的技术可被应用于任何设备。因此,可理解,构想了结合各实施例使用的所有种类的手持式、便携式和其它计算设备和计算对象。因此,以下在图7中所述的通用远程计算机只是计算设备的一个示例。
各实施例可部分地经由操作系统来实现,以供设备或对象的服务开发者使用,和/或被包括在用于执行本文中所述的各实施例的一个或多个功能方面的应用软件内。软件可以在由诸如客户机工作站、服务器或其它设备等一个或多个计算机执行的诸如程序模块等计算机可执行指令的通用上下文中描述。本领域的技术人员将理解,计算机系统具有可用于传递数据的各种配置和协议,并且由此没有特定配置或协议应当被认为是限制性的。
图7由此示出了其中可实现本文所述的各实施例的一个或多个方面的合适的计算系统环境700的示例,尽管如上所述,计算系统环境700仅为合适的计算环境的一个示例且不旨在对使用或功能范围提出任何限制。另外,计算系统环境700也不旨在被解释为对在示例计算系统环境700中所例示的组件中的任何一个或其组合有任何依赖。
参考图7,用于实现一个或多个实施例的示例性远程设备包括计算机710形式的通用计算设备。计算机710的组件可包括但不限于:处理单元720、系统存储器730以及将包括系统存储器在内的各种系统组件耦合到处理单元722的系统总线720。
计算机710通常包括各种计算机可读介质,并且可以是可由计算机710访问的任何可用介质。系统存储器730可包括诸如只读存储器(ROM)和/或随机存取存储器(RAM)之类的易失性和/或非易失性存储器形式的计算机存储介质。作为示例而非限制,系统存储器730还可包括操作系统、应用程序、其他程序模块、以及程序数据。
用户可通过输入设备740向计算机710输入命令和信息。监视器或其他类型的显示设备也经由诸如输出接口750之类的接口连接到系统总线722。除监视器以外,计算机还可包括诸如扬声器和打印机之类的其他外围输出设备,它们可通过输出接口750连接。
计算机710可使用到一个或多个其他远程计算机(诸如远程计算机770)的逻辑连接在联网或分布式环境中操作。远程计算机770可以是个人计算机、服务器、路由器、网络PC、对等设备或其他常见网络节点、或者任何其他远程媒体消费或传输设备,并且可包括以上关于计算机710所述的任何或全部元件。图7所示的逻辑连接包括诸如局域网(LAN)或广域网(WAN)之类的网络772,但也可包括其他网络/总线。这些联网环境在家庭、办公室、企业范围的计算机网络、内联网和因特网中是常见的。
如上所述,尽管结合各种计算设备和网络架构描述了各示例性实施例,但基本概念可被应用于其中期望改进资源使用的效率的任何网络系统和任何计算设备或系统。
而且,存在实现相同或相似功能性的多种方法,例如适当的API、工具箱、驱动程序代码、操作系统、控件、独立或可下载软件对象等,它们使得应用和服务能够利用本文中提供的技术。由此,本文中的各实施例从API(或其他软件对象)的观点以及从实现如本文中描述的一个或多个实施例的软件或硬件对象构想。由此,本文中所述的各实施例可具有完全采用硬件、部分采用硬件并且部分采用软件、以及采用软件的方面。
本文中所使用的词语“示例性”意味着用作示例、实例、或说明。为避免疑惑,本文所公开的主题不限于这些示例。另外,在此所述的被描述为“示例性”的任意方面或设计并不一定要被解释为相比其它方面或设计更优选或有利,也不意味着排除本领域普通技术人员已知的等效示例性结构和技术。此外,就使用术语“包括”、“具有”、“包含”和其他类似词语而言,为避免疑惑,这些术语旨在以类似于术语“包括”在用于权利要求中时作为开放的过渡词的方式而是包含性的,而不排除任何附加或其他元素。
如所述的,本文中所述的各种技术可结合硬件或软件或,在适当时,以两者的组合来实现。如本文中所使用的,术语“组件”、“模块”、“系统”等同样旨在指计算机相关实体,或者是硬件、硬件和软件的组合、软件、或执行中的软件。例如,组件可以是但不限于在处理器上运行的进程、处理器、对象、可执行件、执行的线程、程序、和/或计算机。作为说明,在计算机上运行的应用和计算机都可以是组件。一个或多个组件可驻留在进程和/或执行的线程内,并且组件可位于一个计算机上和/或分布在两个或更多的计算机之间。
前述系统已经参考若干组件之间的交互被描述。可以理解,这些系统和组件可包括那些组件或指定的子组件、某些指定的组件或子组件、和/或附加的组件,并且根据上述内容的各种置换和组合。子组件还可作为通信地耦合到其他组件的组件来实现,而不是被包括在父组件内(分层的)。另外,可注意到一个或多个组件可被组合成提供聚集功能性的单个组件,或被分成若干单独的子组件,且诸如管理层等任何一个或多个中间层可被提供来通信地耦合到这样的子组件以便提供集成的功能性。本文中所述的任何组件也可与本文中未专门描述但本领域技术人员一般已知的一个或多个其他组件进行交互。
鉴于本文所述的示例系统,也可参考各附图的流程图来理解可根据所述主题实现的方法。尽管为了阐述简洁起见,这些方法被示为和描述为一系列框,但是要理解和领会各实施例不受框的次序的限制,因为一些框可以与本文中所描绘和描述的不同次序发生和/或与其他框并发地发生。尽管经由流程图示出了非顺序或分支的流程,但可以理解,可实现达到相同或类似结果的各种其他分支、流程路径和框的次序。此外,一些所示的框在实现下面所述的方法时是任选的。
结语
尽管本发明易于作出各种修改和替换构造,但其某些说明性实施例在附图中示出并在上面被详细地描述。然而应当了解,这不旨在将本发明限于所公开的具体形式,而是相反地,旨在覆盖落入本发明的精神和范围之内的所有修改、替换构造和等效方案。
除本文中所述的各实施例以外,要理解,可使用其他类似实施例,或者可对所述(诸)实施例作出修改和添加以便执行对应的(诸)实施例的相同或等效功能而不背离这些实施例。此外,多个处理芯片或多个设备可共享本文中所述的一个或多个功能的性能,并且类似地,存储可跨多个设备实现。因此,本发明不限于任何单个实施例,而是要根据所附权利要求书的广度、精神和范围来解释。

Claims (8)

1.一种处理来自用户的用于访问服务提供者的验证请求的计算机实现的方法,所述方法包括:
访问非撤销组件以保证最小披露凭证,其中所述非撤销组件是使用基于素数阶密码群的方案来生成的,
应用私有密码数据来确认所述非撤销组件,
基于如被所述非撤销组件确定的所述最小披露凭证的有效性来控制对所述服务提供者的访问,包括确定累加器中所述用户的用户标识符的成员资格或非成员资格,所述累加器分别包括至少一个有效标识符或至少一个被撤销的标识符,并且如果所述用户标识符是包括所述至少一个有效标识符的所述累加器的成员,则指令所述服务提供者准予所述验证请求,或如果所述用户标识符是包括所述至少一个被撤销的标识符的所述累加器的非成员,则指令所述服务提供者拒绝所述验证请求;以及
响应于确定所述最小披露凭证是先前的凭证,而与所述用户相关联的另一最小披露凭证是待决的凭证,更新所述非撤销组件以撤销所述最小披露凭证和所述另一最小披露凭证,以及通过将至少所述最小披露凭证的所述用户标识符累加到所述累加器中来生成与所述用户相关联的新的最小披露凭证。
2.如权利要求1所述的方法,其特征在于,进一步包括检查散列值来确认针对对应于内嵌在所述最小披露凭证内的撤销属性的用户标识符的承诺。
3.如权利要求1所述的方法,其特征在于,进一步包括基于离散对数群来生成质询,处理针对使用所述质询来计算的标识符的证据,并基于所述证据和对与所述证据相关联的其他部分的承诺来验证所述标识符的非撤销。
4.如权利要求1所述的方法,其特征在于,应用私有密码数据还包括通过以下来验证针对所述最小披露凭证生成的呈现证明:使用素数阶循环子群构造或所述素数阶密码群的椭圆曲线构造来计算数学数字以供与所述呈现证明的组件进行比较。
5.如权利要求1所述的方法,其特征在于,应用私有密码数据还包括使用标准化的密码群来生成质询或验证者指定的密码密钥,以及将所述质询或所述验证者指定的密码密钥应用到所述非撤销组件来确定所述最小披露凭证的有效性。
6.如权利要求1所述的方法,其特征在于,进一步包括:
从乘法子群构造或椭圆曲线构造中生成私有密钥;以及
使用所述最小披露凭证的属性和所述私有密钥来生成公共密钥。
7.一种包括用于执行前述权利要求中任一项所述的方法的装置的身份管理系统。
8.一个或多个具有计算机可执行指令的计算机可读介质,所述计算机可执行指令在由计算机执行时使所述计算机执行权利要求1-6中任一项所述的方法。
CN201480028427.0A 2013-03-15 2014-03-12 最小披露凭证验证和撤销 Active CN105264819B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/831,581 2013-03-15
US13/831,581 US9768962B2 (en) 2013-03-15 2013-03-15 Minimal disclosure credential verification and revocation
PCT/US2014/025120 WO2014151154A1 (en) 2013-03-15 2014-03-12 Minimal disclosure credential verification and revocation

Publications (2)

Publication Number Publication Date
CN105264819A CN105264819A (zh) 2016-01-20
CN105264819B true CN105264819B (zh) 2019-01-22

Family

ID=50487157

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480028427.0A Active CN105264819B (zh) 2013-03-15 2014-03-12 最小披露凭证验证和撤销

Country Status (4)

Country Link
US (1) US9768962B2 (zh)
EP (1) EP2974127A1 (zh)
CN (1) CN105264819B (zh)
WO (1) WO2014151154A1 (zh)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9264415B1 (en) 2012-07-11 2016-02-16 Microstrategy Incorporated User credentials
US9887992B1 (en) 2012-07-11 2018-02-06 Microstrategy Incorporated Sight codes for website authentication
US8775807B1 (en) 2012-10-26 2014-07-08 Microstrategy Incorporated Credential tracking
US9640001B1 (en) 2012-11-30 2017-05-02 Microstrategy Incorporated Time-varying representations of user credentials
US9154303B1 (en) 2013-03-14 2015-10-06 Microstrategy Incorporated Third-party authorization of user credentials
US9961059B2 (en) * 2014-07-10 2018-05-01 Red Hat Israel, Ltd. Authenticator plugin interface
US9710672B2 (en) * 2014-09-08 2017-07-18 Uri Jacob Braun System for and method of controllably disclosing sensitive data
WO2016040744A1 (en) * 2014-09-12 2016-03-17 Id. Me, Inc. Systems and methods for online third-party authentication of credentials
US11615199B1 (en) * 2014-12-31 2023-03-28 Idemia Identity & Security USA LLC User authentication for digital identifications
RU2663972C1 (ru) 2015-02-27 2018-08-14 Телефонактиеболагет Лм Эрикссон (Пабл) Обеспечение безопасности при связи между устройством связи и сетевым устройством
US9906512B2 (en) * 2015-07-28 2018-02-27 International Business Machines Corporation Flexible revocation of credentials
US10079686B2 (en) * 2015-07-29 2018-09-18 International Business Machines Corporation Privacy-preserving attribute-based credentials
US10038723B2 (en) * 2015-11-10 2018-07-31 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for reliable token revocation
US10560274B2 (en) * 2016-06-09 2020-02-11 International Business Machines Corporation Credential-based authorization
US10104088B2 (en) * 2016-09-28 2018-10-16 International Business Machines Corporation Traitor tracing for obfuscated credentials
US10397002B2 (en) * 2017-02-10 2019-08-27 International Business Machines Corporation Signature scheme for homomorphic message encoding functions
US11539686B2 (en) 2017-10-12 2022-12-27 Mx Technologies, Inc. Data aggregation management based on credentials
US11522713B2 (en) 2018-03-27 2022-12-06 Workday, Inc. Digital credentials for secondary factor authentication
US11627000B2 (en) 2018-03-27 2023-04-11 Workday, Inc. Digital credentials for employee badging
US11770261B2 (en) 2018-03-27 2023-09-26 Workday, Inc. Digital credentials for user device authentication
US11792181B2 (en) 2018-03-27 2023-10-17 Workday, Inc. Digital credentials as guest check-in for physical building access
US11716320B2 (en) 2018-03-27 2023-08-01 Workday, Inc. Digital credentials for primary factor authentication
US11531783B2 (en) 2018-03-27 2022-12-20 Workday, Inc. Digital credentials for step-up authentication
US11700117B2 (en) 2018-03-27 2023-07-11 Workday, Inc. System for credential storage and verification
US11792180B2 (en) 2018-03-27 2023-10-17 Workday, Inc. Digital credentials for visitor network access
US11683177B2 (en) 2018-03-27 2023-06-20 Workday, Inc. Digital credentials for location aware check in
US11698979B2 (en) 2018-03-27 2023-07-11 Workday, Inc. Digital credentials for access to sensitive data
US11641278B2 (en) 2018-03-27 2023-05-02 Workday, Inc. Digital credential authentication
US11019053B2 (en) 2018-03-27 2021-05-25 Workday, Inc. Requesting credentials
US10904003B2 (en) 2018-04-21 2021-01-26 Microsoft Technology Licensing, Llc Validation of short authentication data with a zero knowledge proof
US10972274B2 (en) * 2018-08-29 2021-04-06 International Business Machines Corporation Trusted identity solution using blockchain
CA3125621A1 (en) * 2019-01-04 2020-07-09 Axuall, Inc. Systems and methods for verifying and managing digital credentials
CN110245472B (zh) * 2019-01-16 2021-05-11 腾讯科技(深圳)有限公司 身份认证方法、个人安全内核节点、和介质
US11469903B2 (en) * 2019-02-28 2022-10-11 Microsoft Technology Licensing, Llc Autonomous signing management operations for a key distribution service
US11368430B2 (en) * 2019-03-29 2022-06-21 Verizon Patent And Licensing Inc. Domain name server based validation of network connections
US10848481B1 (en) * 2019-05-17 2020-11-24 The Florida International University Board Of Trustees Systems and methods for revocation management in an AMI network
CN114930772A (zh) * 2019-10-18 2022-08-19 电信区块链联盟软件公司 用于凭证验证的验证需求文件
US11704636B2 (en) * 2019-10-31 2023-07-18 Adi Association Proxied cross-ledger authentication
KR102245382B1 (ko) * 2019-12-31 2021-04-28 주식회사 코인플러그 블록체인 네트워크 기반의 가상 공통 아이디 서비스 방법 및 이를 이용한 서비스 제공 서버
CN113630363B (zh) * 2020-05-06 2023-09-08 福建省天奕网络科技有限公司 分布式令牌鉴权方法、存储介质
CN111669271B (zh) * 2020-05-26 2022-10-11 中国工商银行股份有限公司 用于区块链的凭证管理方法、凭证验证方法以及相关装置
WO2023056352A1 (en) * 2021-10-01 2023-04-06 Changefly Inc. Anonymous authentication systems for obscuring authentication information
WO2023131537A1 (en) * 2022-01-07 2023-07-13 Sony Group Corporation Methods and apparatuses for signing in or signing up a user

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102098157A (zh) * 2009-12-10 2011-06-15 塔塔咨询服务有限公司 一种基于无证书公共密钥基础结构用于加强客户/服务器通讯协议安全性的系统和方法
CN102301643A (zh) * 2009-01-31 2011-12-28 国际商业机器公司 数据处理系统中的密码证书的管理

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7360080B2 (en) * 2000-11-03 2008-04-15 International Business Machines Corporation Non-transferable anonymous credential system with optional anonymity revocation
US9264237B2 (en) * 2011-06-15 2016-02-16 Microsoft Technology Licensing, Llc Verifying requests for access to a service provider using an authentication component

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102301643A (zh) * 2009-01-31 2011-12-28 国际商业机器公司 数据处理系统中的密码证书的管理
CN102098157A (zh) * 2009-12-10 2011-06-15 塔塔咨询服务有限公司 一种基于无证书公共密钥基础结构用于加强客户/服务器通讯协议安全性的系统和方法

Also Published As

Publication number Publication date
CN105264819A (zh) 2016-01-20
EP2974127A1 (en) 2016-01-20
US9768962B2 (en) 2017-09-19
WO2014151154A1 (en) 2014-09-25
US20140281525A1 (en) 2014-09-18

Similar Documents

Publication Publication Date Title
CN105264819B (zh) 最小披露凭证验证和撤销
AU2021206913B2 (en) Systems and methods for distributed data sharing with asynchronous third-party attestation
CN104811450B (zh) 云计算中一种基于身份的数据存储方法及完整性验证方法
Chen et al. Verifiable computation over large database with incremental updates
US10623398B2 (en) Verifying requests for access to a service provider using an authentication component
Chen et al. New publicly verifiable databases with efficient updates
JP7381480B2 (ja) 双線形写像アキュムレータに基づく認証のためのブロックチェーン実装方法及びシステム
CN110537346A (zh) 安全去中心化域名系统
Sun et al. Outsourced decentralized multi-authority attribute based signature and its application in IoT
CN108769020B (zh) 一种隐私保护的身份属性证明系统及方法
CN105284074A (zh) 用于最小披露凭证的身份托管管理
Buccafurri et al. Integrating digital identity and blockchain
CN106487786A (zh) 一种基于生物特征的云数据完整性验证方法及系统
Naresh et al. Blockchain‐based patient centric health care communication system
US20210110390A1 (en) Methods, systems, and devices for managing digital assets
JP2012516603A (ja) データ処理システム内で暗号クレデンシャルの動的集合を管理するための方法、装置、コンピュータ・プログラム、およびデータ処理システム(データ処理システム内の暗号クレデンシャルの管理)
Jyoti et al. A blockchain and smart contract-based data provenance collection and storing in cloud environment
Xue et al. Blockchain-based fair and fine-grained data trading with privacy preservation
EP2433251A1 (en) Method and device for enabling portable user reputation
Borse et al. Anonymity: A secure identity management using smart contracts
US20100251351A1 (en) information and communication system, an organization apparatus and a user apparatus
Antony Saviour et al. IPFS based file storage access control and authentication model for secure data transfer using block chain technique
Yang et al. Self-blindable credential: towards anonymous entity authentication upon resource constrained devices
Slamanig More privacy for cloud users: Privacy-preserving resource usage in the cloud
JP2012516604A (ja) データ処理システム内でデータ項目の集合を示す暗号アキュムレータを提供するための方法、装置、コンピュータ・プログラム、およびデータ処理システム(データ処理システム内のデータ項目の検証)

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant