CN108696349A - 将可信执行环境用作为证明提供隐私的可信第三方 - Google Patents
将可信执行环境用作为证明提供隐私的可信第三方 Download PDFInfo
- Publication number
- CN108696349A CN108696349A CN201810218869.1A CN201810218869A CN108696349A CN 108696349 A CN108696349 A CN 108696349A CN 201810218869 A CN201810218869 A CN 201810218869A CN 108696349 A CN108696349 A CN 108696349A
- Authority
- CN
- China
- Prior art keywords
- party
- trusted
- anonymous credential
- platform
- anonymous
- 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
Links
- 238000000034 method Methods 0.000 claims abstract description 32
- 238000012795 verification Methods 0.000 claims abstract description 32
- 230000009471 action Effects 0.000 description 26
- 230000004044 response Effects 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 238000012550 audit Methods 0.000 description 6
- 238000012790 confirmation Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000010200 validation analysis Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 238000012360 testing method Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 3
- 238000002955 isolation Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000007789 sealing Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3263—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0891—Revocation or update of secret information, e.g. encryption key update or rekeying
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/006—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving public key infrastructure [PKI] trust models
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public 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/3013—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the discrete logarithm problem, e.g. ElGamal or Diffie-Hellman systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public 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/302—Public 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/321—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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/3255—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3263—Cryptographic 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
- H04L9/3268—Cryptographic 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 using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
- H04L2209/127—Trusted platform modules [TPM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/42—Anonymization, e.g. involving pseudonyms
Abstract
一种方法、装置以及提供指令的计算机可读介质,使得计算设备将计算设备的存储器的部分建立为可信执行环境;并且在可信执行环境内执行可信第三方应用。可信第三方应用用于从在客户端平台上执行的用户客户端证明应用接收已签名的公钥和验证者的标识符。已签名的公钥签有针对客户端平台的可识别平台证明私钥。可信第三方应用进一步用于验证已签名的公钥;确定验证者的策略;将策略编码到针对已签名的公钥的可信第三方匿名证书;发布可信第三方匿名证书,所述可信第三方匿名证书不包括客户端平台的识别信息;以及将可信第三方匿名证书发送至用户客户端证明应用。
Description
技术领域
实施例涉及电子通信的安全,并且具体地,涉及使客户端平台能够向验证者提供对真实性、有效性和/或完整性的证明而不暴露客户端平台或者客户端平台的用户的隐私敏感信息。
背景技术
发展公钥密码学以确保电子通信和数据存储的保密性、真实性和不可否认性。公钥密码学,也被称为非对称密码学,使用如下密钥对:公钥,其可以广泛分发;以及私钥,仅对所有人已知。公钥密码学方案完成两个功能:认证,其是在使用公钥来验证成对的私钥的持有者发送消息的时候;以及加密,凭借该加密仅有成对的私钥的持有者可以对利用公钥加密的消息进行解密。
在公钥加密系统中,任何人可以使用接收者的公钥对消息进行加密,但是这样的消息仅可以利用接收者的私钥来被解密。为使该方案有效,必须在计算上使用户容易生成要被用于加密和解密的公钥和私钥对。公钥密码学系统的强度依赖于恰当生成的私钥要根据其相对应的公钥而被确定的的复杂度(计算不可实践性)。安全然后仅取决于保持私钥是私有的,并且公钥可以公开而不损害安全。
在电子通信期间,提供服务的一方(在本文中被称为“验证者”)可以要求对请求服务的平台(在本文中被称为“客户端平台”)进行认证。该认证造成了两个对立的安全问题。第一,验证者需要确保提供的认证信息源自合法运行的有效客户端平台,经验证的软件,而不是仿真客户端平台或者使得客户端平台执行受损软件的恶意攻击者。第二,客户端平台的用户关心的是维持敏感信息的隐私性。特别地,客户端平台的用户希望能够向不同的验证者提供认证信息而那些验证者不能够确定认证信息是来自相同的客户端平台。
附图说明
图1是其中可信第三方向客户端平台发布可用于证明客户端平台的真实性和完整性而不透露客户端平台的身份或者用户身份的匿名证书的环境的图。
图2A是示出了由平台证明密钥证明者、客户端平台以及验证平台采取的用于向验证平台提供对客户端平台的证明的动作的流程图。
图2B是示出了由客户端平台和向客户端平台提供用于在向验证平台提供对客户端平台的证明中使用的匿名证书的可信第三方应用采取的额外动作的流程图。
图3是由可信第三方采取的用于向客户端平台发布可信第三方匿名证书的动作的流程图。
图4是由可信第三方采取的用于根据验证者策略将由可信第三方向客户端平台发布的可信第三方匿名证书链接至客户端平台的其它证书的动作的流程图。
具体实施方式
在过去已提出可信第三方(TTP)来解决一些隐私问题。具体而言,当客户端平台的用户要向验证者提供证明客户端平台的真实性的证明而不透露用户身份或者客户端平台身份时,可以使用TTP。用户可以将包括用户身份和/或客户端平台身份的证明发送至TTP,并且然后,TTP可以向用户发布匿名凭证。用户然后可以使用匿名凭证来向验证者证实证明而不透露用户或客户端平台的身份。
能够由TTP支持的另一情景是建立组签名,其中发布者向可以用于匿名提供证明的用户设备提供不同的私钥。然而,发布者能够打开任意签名以透露签下该签名的用户或设备。在这两个实例中,用户的隐私取决于对TTP的信任。考虑到TTP操作者和管理员有可能做出不值得信任的行为,隐私提倡者不相信TTP是可以被信任的。
考虑到建立可以信任的TTP的障碍,已开发出对使用TTP的替代品。例如,使用密码学找到了针对证实客户端平台的证明而不透露客户端平台的或用户的身份的问题的一个解决方案。DAA(直接匿名证明,如尤其在美国专利7,844,614中描述的)和EPID(增强型隐私ID,如尤其在美国专利8,782,401中描述的)证实了证明而不依赖于可信第三方。
DAA(直接匿名证明)和EPID(增强型隐私ID)下的公钥密码学是基于如下假设:在不知道一方的私钥的情况下生成针对该方的有效签名在计算上是不可能实现的。公钥密码学系统经常依赖于密码算法,该密码算法基于当前承认没有有效解决方案的数学问题——特别是某些整数分解、离散对数以及椭圆曲线关系中固有的那些数学问题。
通过比较,有足够能力的量子计算机可以例如使用诸如Shor算法之类的算法来有效地解决这些数学问题。就存在多项式时间算法以用于解决问题的意义而言,该能力允许量子计算机对如今正在使用的密码系统中的许多进行解密。特别地,可能打破RSA(以该算法的开发者Rivest、Sharmir以及Adleman命名)、DSA(数字签名算法)、迪菲-赫尔曼、椭圆曲线迪菲-赫尔曼以及ECDSA(椭圆曲线数字签名算法)算法。这些算法当前用于保护安全Web页面、加密的电子邮件、以及许多其它类型的数据。打破这些算法对于电子隐私和安全而言将具有显著多的分支。
DAA(直接匿名证明)和EPID(增强型隐私ID)两者使用可能被量子计算机打破的密码算法。密码学研究者尚未找到一旦开发出量子计算机则为安全的DAA和EPID的替代密码解决方案。因此,为了提供隐私以及免受量子计算机打破的安全的证明,本公开利用可信执行环境方面的最近发展,并且还提供了用于实现可以利用DAA和EPID实现的各种隐私策略的方法,但是对此之前没有用于使用可信第三方来实现的方法。
本文中公开的可信第三方在可信执行环境内操作,由此减轻来自针对之前建议使用可信第三方的顾虑中的许多顾虑。在没有可信执行环境的情况下,实现TTP的软件可以由攻击者或者TTP管理员修改,并且因此,可以对TTP应用进行重新编程来损害用户的隐私敏感数据。通过使用可信执行环境,实现TTP应用的软件在不失去对用户隐私敏感数据的访问权的情况下不能够被修改。
为了从在可信执行环境内执行的可信第三方(TTP)获得证书,客户端平台使用已指派给客户端平台的可识别平台匿名证明密钥对。可识别平台证明密钥对包括公共可识别平台证明密钥和私有可识别平台证明密钥。客户端平台可以创建新的公共/私有匿名证明密钥对或者重复使用现有的公共/私有匿名证明密钥对。公共匿名证明密钥可以被放置在签有私有可识别平台证明密钥的证书请求中,并且随后被发送至TTP。还可以将另一证书机构签名的对公共可识别平台证明密钥的真实性进行证明的证书发送至TTP。一旦接收到证书请求,则TTP检查已签名的证书请求是有效的,并且如果有效,则TTP针对公共匿名证明密钥向客户端平台发布匿名证书。匿名证书可以由具有多个验证者的客户端平台使用,而不公开针对客户端平台或者客户端平台的用户的识别信息。
一旦TTP发布证书,然后在客户端平台从验证者接收到针对证明的请求时,客户端平台则会使用公共可识别平台证明密钥和TTP发布的匿名证书。因为公共可识别平台证明密钥和TTP匿名证书都不包含针对客户端平台的识别信息,所以验证者没有接收到关于客户端平台身份的信息。
本文中描述了针对可信第三方的策略,该策略在验证方的需求与用户的隐私需求之间提供了平衡,验证方的需求为能够检测到并且撤销已受损的密钥,用户的隐私需求为如果可信第三方报告有对用户的客户端平台密钥的任何可疑盗用则要被告知。引入针对TTP的审查者的概念,并且给出了审查者如何可以进一步保护用户的隐私需求的解释。
TTP应用中实现的策略满足用户的隐私需求,将已受损的证明密钥的影响最小化,并且识别在有关于匿名密钥已受损的证据的情况中应该撤销的证明密钥。还描述了帮助满足这些要求的审查服务。
在以下描述中,某些术语用于描述本发明的一个或多个实施例的某些特征。例如,“平台”被定义为适用于发送和接收信息的任意类型的通信设备。各种平台的示例包括但是不限于或者不被约束为计算机、个人数字助手、蜂窝电话、机顶盒、传真机、打印机、调制解调器、路由器等。“通信链路”广泛地被定义为适用于平台的一个或多个携带信息的介质。各种类型的通信链路的示例包括但是不限于或者不被约束为电线、光纤、电缆、总线迹线、或者无线信号发送技术。
“验证者”指的是请求对来自另一实体的真实性和可靠性的一些验证的任意实体(例如,人、平台、系统、软件和/或设备)。通常,针对真实性或可靠性的请求在公开或提供由其它实体请求的一些信息之前执行。“证实者”指的是已被请求提供对其可靠性、有效性和/或身份的一些证实的任意实体。“设备制造者”可以与“证明制造者”可互换地使用,其指的是对平台或设备进行制造或配置的任意实体。
如本文中使用的,使用用于向验证者“证实”或者使验证者“确信”证实者拥有或者已知一些密码信息(例如,签名密钥、私钥等)的术语意味着基于向验证者公开的信息和证实,证实者有密码信息的概率高。在不向验证者“透露”或“公开”密码信息的情况下向验证者证实这点,意味着基于向验证者公开的信息,对于验证者而言确定密码信息是在计算上不可能实现的。
计算机系统的“可信计算基”是“计算机系统内的保护机制的全部,包括硬件、固件以及软件,其组合负责实施计算机安全策略。精心设计和实现系统的可信计算基对于可信计算基的总体安全是首要的。现代操作系统致力于减少TCB的尺寸使得对TCB的代码基的穷尽式检验(凭借手动或计算机辅助软件审查或者程序验证)变为可实现的。”(来源:http://en.wikipedia.org/wiki/Trusted_computing_base,于2016年8月25日访问)
TCB的安全可以经由“信任链”来实现。信任链通过使硬件和软件中的每层生效(validating)来建立,以硬件开始,并且迭代地使加载到存储器中的每个固件和软件组件生效。信任链典型地是在计算机系统的启动期间建立的。信任链以信任锚开始,诸如计算系统的硬件,其是可信的,这是因为该硬件仅从已数字签名的固件或软件启动。信任锚还可以被称为“信任根”。
针对固件和/或软件的签名机构仅对实施安全的启动程序进行签名,例如,仅运行本身已签名的程序,或者仅允许已签名的代码具有对计算系统的某些特征的访问权。信任链的建立可以继续经过若干软件层。计算机系统的每个组件假设信任其前置组件(i-1),并且在交出对后续组件的控制之前测量其后续组件(i+1)的完整性。该过程迭代地重复直至计算机系统的代码基的所有组件都是可信的。
许多计算机系统包括硬件“可信平台模块”,其为安全的密码处理器/专用微控制器,被设计用于通过将密码密钥集成到设备中来使硬件安全。在操作系统中,TCB典型地由内核(或者微内核)和系统实用程序(例如,UNIX系统中的设置用户标识符程序(setuidprogram)和守护程序(daemon))的选择集合构成。在具有内置安全特征的编程语言中,例如,Java和E,TCB可以由语言运行时间和标准库形成。
“可信执行环境(TEE)”是与主操作系统隔离的计算机系统中的环境,使用硬件和软件两者来提供隔离。可信执行环境典型地具有与主操作系统相比小得多的可信计算基,并且因此被认为与主操作系统相比更安全并且针对执行应用提供增加的安全等级。在TEE中运行的可信应用具有对设备的主处理器和存储器的全功率的访问权,同时硬件隔离保护可信应用免受运行在主操作系统中的用户安装的应用影响。TEE内的软件和密码隔离保护TEE内包含的可信应用免受彼此影响。可信执行环境可以由处理器实现,该处理器包括安全执行技术,例如,SGX技术、可管理引擎、或者ARM TrustZone。
对于可信执行环境,信任根/信任锚对计算平台进行评估,包括在启动和开启环境中测量TEE的可信计算基中的平台组件。该信任根还提供了可信的位置来记录平台组件的测量。一旦建立基础的信任根和用于测量和评估的安全基础,则其它机制可以用于密封并保护存储器中的秘密,以及提供系统配置的本地或远程证明。
对证书的术语“链接”在本文中用于描述将向相同平台发布的两个或更多个证书进行关联。将对客户端平台发布的TTP匿名证书链接至包含针对客户端平台和/或客户端平台的用户的识别信息的另一证书使得识别信息能够针对TTP匿名证书而被确定。链接由TTP执行,随着TTP拥有用于发布TTP匿名证书的针对客户端平台和/或客户端平台的用户的秘密的识别信息。在一个实施例中,证书可以由TTP响应于来自验证方的请求或者响应于接收到私有证明密钥已受损的证据来链接。在另一实施例中,证书可以在生成TTP匿名证书时由TTP来链接,但是链接可能仅在受约束的情况中才向其它方透露,例如,在接收到私有证明密钥已受损的证据时。
证书可以由TTP根据验证者所要求的策略来链接。例如,验证者策略可以要求对由可信第三方针对给定客户端平台发布的向特定验证者的所有证书进行链接,但是不允许链接针对给定客户端平台的向不同验证者的证书。作为另一示例,另一验证者策略可以要求将TTP匿名证书链接至针对客户端平台的可识别平台证明证书。验证者策略还可以指定其中可以向其它方透露链接的环境。
图1是其中可信第三方向客户端平台发布可用于证明客户端平台的真实性、有效性或者完整性的匿名凭证而不透露客户端平台的或用户身份的环境100的示图。环境100的组件经由云网络102进行通信。环境100包括客户端平台110,其包括两个可信执行环境112A和112B,这两个执行环境彼此隔离。
在一些实施例中,诸如TEE 112A或者112B之类的可信执行环境可以由包括安全执行技术的处理器来实现,该安全执行技术例如为SGX技术、可管理引擎、或者ARM TrustZone。对于可信执行环境,信任根对计算平台进行评估,包括在启动和开启环境中测量TEE的可信计算基中的平台组件。该信任根还提供可信的位置来记录平台组件的测量。一旦建立基础的信任根和用于测量和评估的安全基础,则其它机制可以用于密封和保护存储器中的秘密,并且提供系统配置的本地或远程证明。
在一个实施例中,可信执行环境是使用软件保护扩展(SGX)技术来实现的。SGX技术包括一组处理器指令扩展,其允许处理器在存储器中建立一个或多个安全包围区。安全包围区可以体现为包括软件的存储器的区域,其中存储器的区域与处理器执行的其它软件隔离。每个安全包围区可以包括经测量的、经生效的或者以其他方式经认证的代码和数据。可以使用硬件保护和/或密码保护的任意组合来保护每个安全包围区的内容不被访问和/或篡改。
再次参考图1,在可信执行环境112A内,可以运行需要证明的应用114。在可信执行环境112B内,可以运行用户客户端证明应用116。如以上指出的,可信执行环境112A和112B是互相隔离的。
当客户端平台110请求来自验证平台120的服务时,验证平台120可以请求客户端平台110提供认证信息。作为响应,客户端平台110可以提供对真实性的证明,该真实性的证明已使用针对客户端平台110的可识别平台证明私钥被签名。在公钥签名系统中,实体可以将消息与私钥组合在一起以在消息上创建短数字签名。具有相对应的公钥的任何人可以对消息(在该情况中为真实性的证明)、消息上的推定的数字签名、以及用于验证签名是否有效的已知公钥进行组合。改变消息,甚至替换单个字母,将使得验证失败:在安全的签名系统中,任何不知道私钥的人在计算上都不可能实现从公钥或者任意数量的签名推导出私钥,或者在至今都未见过签名的任何消息上找到有效签名。因此,如果私钥的所有人保守私钥秘密,则签名可以声明消息的真实性。
针对客户端平台110的可识别平台证明密钥对由可识别平台证明密钥证明者130来证明。可识别平台证明密钥证明者130可以向各种平台初始地发布可识别平台证明密钥对,并且能够证明可识别平台证明密钥对。针对基于组的签名方案,可识别平台证明密钥可以是数字签名/验证密钥对或者签名密钥。
为了保留隐私,诸如在客户端平台110上执行的需要证明的应用114之类的客户端应用的用户希望在不识别客户端平台110或者客户端平台110的用户的情况下向验证方120提供证明。客户端平台110的用户还可以优选地提供针对客户端平台110的证明,而不将该证明链接至已针对客户端平台110做出的其它证明。
需要证明的应用114请求用户客户端证明应用116向验证平台120提供针对客户端平台110的证明,该用户客户端证明应用在客户端平台110上的不同的可信执行环境112B中运行。用户客户端证明应用116向可信第三方应用144发送针对匿名证书的请求,在证书请求中提供针对客户端平台110的公共匿名证明密钥,利用针对客户端平台110的私有可识别平台证明密钥对该证书请求进行签名。
为了向客户端平台110提供匿名证书,可信第三方应用144在服务器140上的可信执行环境142中执行。响应于来自客户端平台110的证书请求,TTP应用144提供已签名的TTP匿名证书。证书请求包括针对要向其提供TTP匿名证书的验证者的标识符。TTP应用144动态地确定由验证者关于TTP匿名证书的使用所指定的策略,并且将验证者策略编码到TTP匿名证书中。在一个实施例中,验证者策略指定是否需要将TTP匿名证书链接至向客户端平台110发布的其它证书。
在一个实施例中,编写TTP应用144的代码以用于对由编码在TTP匿名证书中的验证者策略指定的规则进行实施。例如,验证者策略可以要求TTP应用144链接满足指定标准的证书,例如,向相同客户端平台发布的针对相同验证者的证书。可以编写TTP应用144的代码以用于动态地确定编码在TTP匿名证书中的验证者策略,并且用于仅链接验证者策略要求链接的证书。通过包括遵循验证者策略指定的规则的代码,TTP应用144确保在不改变TTP应用144的代码的情况下,验证者策略规则不能被违反或者改变。如果TTP应用144的代码被改变,则TTP应用的升级的代码不能访问之前版本的TTP应用的秘密,例如,客户端平台的身份和客户端平台的身份到匿名证书的映射。因此,TTP应用的升级的代码将不具有对由之前版本的TTP应用提供的链接的访问权。
再次参考图1,审查服务154在服务器150的可信执行环境152内执行。审查服务154确保由TTP做出的证书的任意链接被记录在公开的报告中或者以其他方式向受链接的证书影响的客户端平台的用户报告。审查服务154确保TTP不能秘密地链接证书而不告知客户端平台的受影响的用户。审查服务154请求审查者160A、160B和160C确保已在公开的报告中或者直接向受链接的证书影响的客户端平台的用户对证书的链接进行报告。
在一个实施例中,编写TTP应用144的代码以用于遵循由审查服务154指定为针对TTP应用的审查策略的规则。例如,审查服务154可以要求TTP应用报告TTP匿名证书到另一证书的任意链接。取决于由审查服务154指定的规则,可以要求在公开的报告中报告链接,或者可以直接向受证书的链接影响的客户端平台的用户报告链接。审查服务154确保TTP在不对证书的链接进行报告的情况下不可以秘密地链接证书,由此使得针对客户端平台和/或客户端平台的用户的识别信息能够针对TTP匿名证书而被确定。通过包括遵循由审查服务154指定的规则的代码,TTP应用144确保在不改变TTP应用144的代码的情况下,审查规则不能被违反或改变。
在一个实施例中,编写可信执行环境142中执行的TTP应用144,使得在开启时将可执行代码中的所有包括在TTP应用144中。在开启时包括TTP应用144的可执行代码中的所有确保了将由TTP应用144执行的所有代码被包括在TTP应用144的证明中。可以向用户客户端证明应用116提供TTP应用144的证明以初始地建立用户客户端证明应用116与TTP应用144之间的信任。
在一个实施例中,TTP应用144的证明针对TTP应用144在其上执行的平台,使用唯一可识别平台证明密钥。因为不需要提供TTP应用144的隐私,所以可以使用识别TTP平台的可识别平台证明密钥而非匿名凭证。TTP应用144的代码旨在广泛地被公开使得任何人都可以检查TTP应用144的证明以确保TTP应用144包括与公开的代码相同的代码。另外,公开TTP应用144的代码确保任何人都可以验证TTP应用144的功能。
此外,TTP应用144可以调用EGETKEY指令来获得可由可信执行环境142使用的密钥以用于对称加密和认证。EGETKEY指令获得以下密钥,该密钥连结至TTP应用144的代码的散列而非代码的签名者。通过将密钥连结至TTP应用144的代码的散列,对TTP应用144的更新不能访问被密封至之前版本的TTP应用144的秘密,这样被密封的秘密包括客户端平台的身份和客户端平台的身份到匿名证书的映射。
出于可扩展的目的,多个TTP应用144实例可以共享公用密钥。例如,多个TTP 144应用实例可以共享用于对匿名证明证书进行签名的相同匿名证明私钥。提供可以对匿名证明证书进行签名的多个TTP应用实例避免了如果单个TTP应用实例用于服务针对匿名证明证书的所有请求则可能出现的瓶颈。
图2A是示出了可识别平台证明密钥证明者、客户端平台、以及验证平台采取的动作的流程图。使用可识别平台证明密钥来提供证明同时使用可信第三方来保留客户端平台的隐私的基础流在图2A和图2B中示出。
环境200包括与图1中示出的组件相似的组件,包括客户端平台210、验证平台220、以及可识别平台证明密钥证明者230。在图2A的动作2.1中,可识别平台证明密钥证明者230对用于客户端平台210的证书进行签名,指示客户端平台的可识别平台证明公钥是有效的可识别平台证明密钥。利用指示客户端平台的可识别平台证明公钥是有效的可识别平台证明密钥的证书,客户端平台可以使用该证书来验证其签名的真实性以及向请求来自客户端平台的证明的一方的证明。向运行在客户端平台210的可信执行环境212B内的用户客户端证明应用216提供针对可识别平台证明公钥的证书。
在动作2.2中,客户端平台210的用户(未示出)开启被称为需要证明的应用214的应用。需要证明的应用214在客户端平台210的可信执行环境212A内被开启。在动作2.3中,需要证明的应用214联系验证平台220以获得服务。响应于来自客户端平台210的针对服务的请求,验证平台220请求来自客户端平台210的证明。
响应于从验证平台220接收到针对证明的请求,在动作2.5中,需要证明的应用214请求用户客户端证明应用216向验证平台220提供证明。在动作2.6中,用户客户端证明应用216做出如下决定:针对向验证平台220的证明,是否使用现有匿名证明密钥对和证书。如果相同的匿名证明密钥用于新证明和之前的证明两者,则验证平台220可以确定是相同的客户端平台210执行这两个证明。因而,从一个证明了解到的任意隐私信息可以连结至其它证明;因此,向验证平台220透露与客户端平台210或者客户端平台210的用户相关的客户端平台210的隐私信息。
在一些情景中,向验证方透露用户的或客户端平台的隐私信息对于用户而言是可接受的。例如,如果验证平台220是银行并且用户已向银行透露其身份及其客户端平台的身份以建立账户,则用户可以认为出于另一目的,例如,用于开新的账户,将之前的证明链接至向银行的新证明是可接受的。在动作2.6.1中,如果用户客户端证明应用216已决定使用现有的匿名证明密钥对和证书,则已存在的匿名证明密钥对用作针对新证明的匿名证明密钥对。
在动作2.6.2中,如果用户客户端证明应用216已决定不使用现有的匿名证明密钥对和证书,则用户客户端证明应用216开始对新匿名证明密钥对的指派。控制转换至图2B的进入点B。
图2B是示出了由图2A的客户端平台和服务器平台240采取的额外动作的另一流程图,该服务器平台包括可信执行环境242,可信第三方应用244在该可信执行环境242中执行。从图2B的进入点B开始,在动作2.7处,运行在客户端平台210的可信执行环境212B中的用户客户端证明应用216创建新的公共/私有匿名证明密钥对。用户客户端证明应用216利用可识别平台证明私钥对新匿名证明公钥进行签名。在动作2.8中,用户客户端证明应用216将证书请求发送至运行在服务器240的可信执行环境242中的可信第三方应用244。证书请求包括已签名的新匿名证明公钥和针对请求客户端210的证明的验证者的标识符(例如,验证者的名称)。证书请求由可识别平台证明私钥签名。
在动作2.9中,可信第三方应用244对来自用户客户端证明应用216的证书请求上的签名进行验证。在动作2.10中,可信第三方应用244检查证书请求中识别的验证者的策略。例如,可信第三方应用244可以检查验证平台220的策略以确定是否要求将TTP匿名证书链接至其它证书。例如,验证者策略可以要求链接由可信第三方针对给定客户端平台发布的向特定验证者的所有证书,但是不允许链接针对给定客户端平台的向不同验证者的证书。作为另一示例,另一验证者策略可以要求将TTP匿名证书链接至针对客户端平台的可识别平台证明证书。
在动作2.11中,可信第三方应用244发布针对新匿名证明公钥的TTP匿名证书,该TTP匿名证书现在用于向验证平台220提供证明。TTP匿名证书包括验证平台220的经编码的策略。在动作2.12中,可信第三方应用244向用户客户端证明应用216提供具有经编码的策略的针对新匿名证明公钥的TTP匿名证书。控制然后返回至图2A的进入点A。
在图2A的进入点A处,控制可以从图2A的动作2.6.1转变,在动作2.6.1中,允许重复使用匿名证明密钥对,并且现有的匿名证明密钥对用作匿名证明密钥对。替代地,控制可以从图2B的动作2.12转变,在动作2.12中,不允许重复使用匿名证明密钥对。在从图2B的图2.12的动作2.12向图2A的进入点A的转变处,已生成新匿名证明密钥对,并且匿名TTP匿名证书已由可信第三方应用244来提供。
从图2A的进入点A开始,在动作2.13中,用户客户端证明应用216利用图2A的动作2.6.1或图2B的动作2.7中确定的匿名证明私钥,对要被发送至验证平台220的证明进行签名。在动作2.14中,用户客户端证明应用216将签名和从可信第三方应用244获得的TTP匿名证书发送至验证平台220。如果用户客户端证明应用216使用之前现有的匿名证明密钥,则发送相对应的之前的TTP匿名证书。
图3是由可信第三方采取的用于向客户端平台发布可信第三方匿名证书的动作的流程图。将关于图3执行的动作描述为由图2A和图2B的环境200和200’的组件执行;特别地,流程图描述了由可信第三方应用244采取的动作。
在“接收包括已签名的匿名证明公钥和验证者的标识符的客户端证书请求”框310处,可信第三方应用244从客户端平台210接收证书请求。证书请求包括针对客户端平台210的已签名的匿名证明公钥以及请求对客户端210的证明的验证平台220的标识符。控制进行至“验证签名”框320处,其中可信第三方应用244对作为证书请求的部分提供的针对客户端平台210的已签名的匿名证明公钥进行验证。可以使用针对客户端平台210的相对应的公钥和签名验证算法来对根据固定消息和固定私钥所生成的签名的真实性进行验证。
从“验证签名”框320,控制进行至“检查验证者的策略”框330。可信第三方应用244检查验证平台220的策略来确定是否要求将TTP匿名证书链接至其它证书。例如,验证者策略可以要求链接由可信第三方针对给定客户端平台发布的向特定验证者的所有证书,但是不允许链接针对给定客户端平台的向不同验证者的证书。作为另一示例,另一验证者策略可以要求将TTP匿名证书链接至针对客户端平台的可识别平台证明证书。以下进一步具体地讨论其它类型的策略。
从“检查验证者的策略”框330,控制进行至“对TTP匿名证书的策略进行编码”框340。可信第三方应用244将表示验证者要求的策略的类型的代码插入TTP匿名证书。例如,代码“A”可以表示如下策略:要求链接由可信第三方针对给定客户端平台发布的向特定验证者的所有证书,但是不允许链接针对给定客户端平台的向不同验证者的证书。代码“B”可以表示如下策略:要求将TTP匿名证书链接至针对客户端平台的可识别平台证明证书。
从“对TTP匿名证书中的策略进行编码”框340,控制进行至“发布针对匿名证明公钥的包括对策略的编码的匿名TTP匿名证书”框350,其中,可信第三方应用244发布针对客户端平台210的TTP匿名证书。TTP匿名证书是匿名凭证,在不包括针对客户端平台210或者客户端平台210的用户的识别信息的情况下,对客户端平台210的真实性进行证明。
然后控制进行至“将TTP匿名证书发送至请求客户端”框360,其中,可信第三方应用244将TTP匿名证书发送至请求客户端;在本文中描述的示例中,将TTP匿名证书发送至运行在客户端平台210的可信执行环境212B内的用户客户端证明应用216。
如以上描述的,对证书的术语“链接”在本文中用于描述关联与客户端平台有关的证书。证书可以由TTP响应于来自验证方的请求或者响应于接收到私有证明密钥已受损的证据而被链接。替代地,证书可以在生成TTP匿名证书时由TTP链接,但是链接可以仅在受约束的情况中向其它方透露,例如,在接收到私有证明密钥已受损的证据时。
图4是由可信第三方采取的用于根据验证者策略将第三方证书链接至彼此的动作的流程图。在“验证者策略是否要求到当前TTP匿名证书的链接?”判定点410处,对验证者策略是否要求将当前TTP匿名证书链接至其它证书做出确定。如果不要求,则过程结束,不建立到当前TTP匿名证书的任何链接。如果验证者策略要求到当前TTP匿名证书的链接,则控制进行至“识别每验证者策略要被链接至当前TTP匿名证书的其它证书”框420。在“识别每验证者策略要被链接至当前TTP匿名证书的其它证书”框420处,对满足针对链接的验证者策略的其它证书做出确定。例如,验证者策略可以要求链接由可信第三方针对给定客户端平台发布的向特定验证者的所有证书,但是不允许链接针对给定客户端平台的向不同验证者的证书。作为另一示例,另一验证者策略可以要求将TTP匿名证书链接至针对客户端平台的可识别平台证明证书。验证者策略还可以指定其中可以将链接向其它方透露的情况。
从“识别每验证者策略要被链接至当前TTP匿名证书的其它证书”框420,控制进行至“根据验证者策略将当前TTP匿名证书链接至其它经识别的证书”框430。将当前TTP匿名证书链接至在“识别每验证者策略要被链接至当前TTP匿名证书的其它证书”框420中识别的其它证书中的每个。然后控制进行至“报告每审查策略的到其它经识别的证书的链接”框440。如以上指出的,诸如图1的审查服务154之类的审查服务可以建立审查策略,审查策略要求向受影响的客户端平台的用户公开和/或报告证书之间的链接。在“报告每审查策略的到其它经识别的证书的链接”框440处,根据审查策略,对当前TTP匿名证书与其它经链接的证书之间的链接进行报告。
在另一实施例中(图4中未示出),可以在链接证书之前,获得用于链接证书的用户权限,并且如果不授权用户权限,则不对证书进行链接。还可以实现对链接和用户权限的审批的其它组合。
除了由验证者发布的用于链接证书的策略之外,可信第三方也可以建立关于对可信第三方发布的TTP匿名证书进行链接的策略。在每个情况中,可以将提供的策略包括在发送回至客户端平台的TTP匿名证书中的字段中。例如,可信第三方可以使用策略来操作以提供不同的TTP匿名证书以用于与不同的验证者一起使用。在该策略下,发布至相同可识别平台证明证书所有人以用于与特定验证者一起使用的TTP匿名证书中的所有能够被链接。然而,发布用于与其他验证者一起使用的TTP匿名证书不能被链接至针对该特定验证者的TTP匿名证书。
用于实现这样的策略的一个方法是TTP使用具有以下输入的伪随机函数来产生TTP匿名证书的标识符:(1)验证者的标识符,例如,验证者的名称;(2)用户的可识别平台证明证书;以及(3)仅对TTP应用已知的秘密值。TTP应用可以将该标识符保存在TTP匿名证书中。标识符对该验证者和该可识别平台证明证书而言总是相同。TTP应用不发布秘密值。该TTP发布的证书包含用户的公钥、验证者的标识符以及由伪随机函数产生的标识符。
在一个实施例中,用户客户端证明应用还可以确保TTP发布的证书仅用于一个特定的验证者。一个实施方式包括除证书中的验证者的标识符之外的针对验证者的公共加密密钥。用户客户端证明应用可以使用验证者的公钥来对证明进行加密,该加密使用随机化的加密操作。经加密的证明除了对相对应的验证者私钥的所有人之外,显现为对任何人都是随机的。
可以使用的另一策略是验证者能够将发布的TTP匿名证书链接回到可识别平台证明证书。如果一个验证者已确信关于特定TTP匿名证书中使用的可识别平台证明密钥已受损的证据,则TTP可以提供该TTP匿名证书到相对应的可识别平台证明证书以及针对已对该可识别平台证明证书发布的所有TTP匿名证书的链接。可以向撤销机构提供该信息,撤销机构可以撤销针对该可识别平台证明证书发布的TTP匿名证书中的所有。
在一个实施例中,将发布的TTP匿名证书链接回至可识别平台证明证书可以通过在TTP匿名证书中放置包含可识别平台证明证书和客户端平台的用户的电子邮件地址的随机化加密的字段来实现。使用仅对TTP已知的密钥来执行该随机化的加密。使用随机化的加密使得如果在两个不同TTP匿名证书中对相同的可识别平台证明证书和电子邮件地址进行加密,则加密结果不是相同的。包括电子邮件地址以用于向用户通知TTP匿名证书的链接。
可以允许客户端平台的用户对从可信第三方获得的证书上的策略进行评估。因为在TTP匿名证书中对策略中的所有进行编码,客户端平台的用户具有用于评估策略所需要的信息。用户客户端证明应用可以在使用证书之前告知用户针对每个证书的策略,使得用户可以做出是否与验证者使用特定策略的明智决定。例如,验证者可以有如下策略:仅在其中与验证者使用的证书中的所有都被链接的情况下接受证书。用户将被告知该要求,并决定是否接受与该策略一致的所发布的可信第三方证书。在许多情况中,该要求对于用户是可接受的。例如,如果验证者是银行,并且出于其它目的,用户需要向银行识别其自己,则用于将用户的证书中的所有与银行链接在一起的策略是可接受的。
在一个实施例中,当链接发生时,可信第三方应用244将电子邮件通知发送至请求TTP匿名证书的客户端平台220的用户。然而,TTP平台上的损坏管理员可以使电子邮件停止离开TTP平台。使用审查者可以缓和该情景。TTP将计划链接的通知发送至某数量n个的审查者,并且在可以由可信第三方提供链接之前必须从n个审查者中的至少k个审查者接收到确认。这些审查者然后负责通知用户链接已发生。审查者还可以间或地公开已发生的任意链接的报告,这可能仅在其中没有从用户接收到电子邮件确认响应的实例中。可能在一些情况中,策略要求在事件之后的声明的时间段内将证书被链接的通知向客户端平台的用户报告。
在使用可信第三方的环境中存在竞争利益。用户希望确保如果TTP提供使识别信息能够被确定为链接的结果的在证书之间的链接则告知用户。验证方希望确保如果请求向其它证书的链接,则链接是可用的。因此,验证者希望如何有需要则由TTP开发的链接中的所有都是永久可用的。用户还可能顾虑攻击者可能声称可信第三方已被破坏,而事实上,可信第三方继续提供链接并且审查报告被停止。
对用户的信任度可以通过使多个审查服务支持可信第三方环境来增加。验证者的信任度可以通过具有可以共享密钥并且因此能够提供链接的多个TTP系统来增加。假设我们有共享密钥的h个TTP系统。因为每个TTP应用的代码在可信执行环境中运行,并且可以被查看,所以可以确保的是,仅存在h个TTP系统具有那些密钥。假设存在n个审查者,并且TTP系统中的任意一个产生链接,则TTP应用必须首先具有来自至少k个审查者的确认。出于验证者的利益,如果至少k个审查者进行协作,并且至少一个备用审查者正在进行操作,则可以提供链接。出于用户的利益,如果k个审查者或者备用审查者中的至少一个提供关于链接的信息,则告知客户端平台的用户已提供链接。因此减少了两个类型方的风险。
在本发明的变型中,可以使用组签名来替代传统的数字签名。利用组签名,存在针对一大组平台的单个平台公共证明密钥,但是每个平台具有唯一的私钥。验证者不知道哪个平台对证明进行签名,但是发布者能够打开任何证明签名并且确定哪个平台来对其进行签名。在该情境中,发布者仍然为针对隐私的可信第三方。发布者可以在诸如SGX包围区之类的可信执行环境中执行,并且可以以与以上描述的相似的方式来完成对签名的任意打开的相似审查。发布者还可以具有打开以上描述的签名所需要的密钥的经审查的副本。特别地,发布者需要在其可以打开签名或者建立向现有签名的链接之前从指定数量的审查者得到响应。
针对一个实施例,可信第三方应用的功能被部署为软件,该功能对来自寻求匿名证书的客户端平台的证书请求进行响应。然而,可以预期的是,这样的功能可以被部署为专用的硬件或固件。形成固件或软件的指令或代码被存储在机器可读介质上。
以下示例与进一步的实施例有关。
在示例1中,一种用于使客户端平台能够向验证者提供证明而不显露客户端平台或客户端平台的用户的隐私敏感信息的装置,包括处理器和存储器,其中存储器包括指令,指令在执行时,使得处理器将存储器的部分建立为可信执行环境;并且在可信执行环境内执行可信第三方应用。可信第三方应用包括接收逻辑,其用于从在客户端平台上执行的用户客户端证明应用接收已签名的公钥和验证者的标识符,已签名的公钥签有针对客户端平台的可识别平台证明私钥;验证逻辑,其用于验证已签名的公钥;策略确定逻辑,其用于确定验证者的策略;策略编码逻辑,其用于将策略编码到针对已签名的公钥的可信第三方匿名证书;发布逻辑,其用于发布可信第三方匿名证书,可信第三方匿名证书不包括客户端平台的识别信息;以及发送逻辑,其用于将可信第三方匿名证书发送至用户客户端证明应用。
在示例2中,策略确定逻辑用于动态地确定策略要求将可信第三方匿名证书链接至第二可信第三方匿名证书。可信第三方应用进一步包括链接逻辑,其用于将可信第三方匿名证书链接至第二可信第三方匿名证书。
在示例3中,策略确定逻辑用于动态地确定策略只有在可信第三方匿名证书和第二可信第三方匿名证书中的每个链接至验证者的情况下,才允许将可信第三方匿名证书链接至第二可信第三方匿名证书。可信第三方应用进一步包括链接逻辑,其用于只有在可信第三方匿名证书和第二可信第三方匿名证书中的每个链接至验证者的情况下,才将可信第三方匿名证书链接至第二可信第三方匿名证书。
在示例4中,策略确定逻辑用于动态地确定如果第二可信第三方匿名证书未链接至验证者,则策略不允许将可信第三方匿名证书链接至第二可信第三方匿名证书。可信第三方应用进一步包括链接逻辑,如果第二可信第三方匿名证书未链接至验证者,则链接逻辑不将可信第三方匿名证书链接至第二可信第三方匿名证书。
在示例5中,策略确定逻辑用于动态地确定如果第二可信第三方匿名证书链接至不同的验证者,则策略不允许将可信第三方匿名证书链接至第二可信第三方匿名证书。可信第三方应用进一步包括链接逻辑,如果第二可信第三方匿名证书链接至不同的验证者,则链接逻辑不将可信第三方匿名证书链接至第二可信第三方匿名证书。
在示例6中,已签名的公钥提供针对客户端平台的可识别平台证明证书,已签名的公钥被签有针对客户端平台的可识别平台证明私钥。策略确定逻辑用于动态地确定策略要求将可信第三方匿名证书链接至针对客户端平台的可识别平台证明证书。可信第三方应用进一步包括链接逻辑,其用于将可信第三方匿名证书链接至针对客户端平台的可识别平台证明证书。
在示例7中,策略确定逻辑用于动态地确定策略要求将可信第三方匿名证书链接至多个之前发布的可信第三方匿名证书中的每个,多个之前发布的可信第三方匿名证书是针对验证者向客户端平台发布的。可信第三方应用进一步包括链接逻辑,其用于将可信第三方匿名证书链接至多个之前发布的可信第三方匿名证书中的每个,多个之前发布的可信第三方匿名证书是针对验证者向客户端平台发布的。
在示例8中,可信第三方应用进一步包括通知逻辑,其用于在执行链接之前通知多个n个审查者,策略要求将可信第三方匿名证书链接至第二可信第三方匿名证书。如果通知逻辑从多个n个审查者的至少k个审查者中的每个接收到相应的确认,则可信第三方应用用于将可信第三方匿名证书链接至第二可信第三方匿名证书。
在示例9中,可信第三方应用进一步包括用户通知逻辑,其用于当可信第三方应用将可信第三方匿名证书链接至第二可信第三方匿名证书时将通知发送至客户端平台的用户。
在示例10中,一种用于使客户端平台能够向验证者提供证明而不显露客户端平台或客户端平台的用户的隐私敏感信息的方法,包括将计算设备的存储器的部分建立为可信执行环境;使得可信第三方应用在可信执行环境内执行;由可信第三方应用从在客户端平台上执行的用户客户端证明应用接收已签名的公钥和验证者的标识符,已签名的公钥被签有针对客户端平台的可识别平台证明私钥;由可信第三方应用验证已签名的公钥;由可信第三方应用确定验证者的策略;由可信第三方应用将策略编码到针对已签名的公钥的可信第三方匿名证书;由可信第三方应用发布可信第三方匿名证书,可信第三方匿名证书不包括客户端平台的识别信息;以及由可信第三方应用将可信第三方匿名证书发送至用户客户端证明应用。
在示例11中,方法进一步包括由可信第三方应用动态地确定策略要求将可信第三方匿名证书链接至第二可信第三方匿名证书;以及由可信第三方应用将可信第三方匿名证书链接至第二可信第三方匿名证书。
在示例12中,示例10的方法进一步包括由可信第三方应用动态地确定只有在可信第三方匿名证书和第二可信第三方匿名证书中的每个链接至验证者的情况下,策略才允许将可信第三方匿名证书链接至第二可信第三方匿名证书;以及只有在可信第三方匿名证书和第二可信第三方匿名证书中的每个链接至验证者的情况下,才由可信第三方应用将可信第三方匿名证书链接至第二可信第三方匿名证书。
在示例13中,示例10的方法进一步包括由可信第三方应用动态地确定如果第二可信第三方匿名证书未链接至验证者,则策略不允许将可信第三方匿名证书链接至第二可信第三方匿名证书;以及如果第二可信第三方匿名证书未链接至验证者,则由可信第三方应用拒绝将可信第三方匿名证书链接至第二可信第三方匿名证书。
在示例14中,示例10的方法进一步包括由可信第三方应用动态地确定如果第二可信第三方匿名证书链接至不同的验证者,则策略不允许将可信第三方匿名证书链接至第二可信第三方匿名证书。如果第二可信第三方匿名证书链接至不同的验证者,则可信第三方应拒绝将可信第三方匿名证书链接至第二可信第三方匿名证书。
在示例15中,示例10的方法进一步包括由可信第三方应用从用户客户端证明应用接收针对客户端平台的可识别平台证明证书;由可信第三方应用动态地确定策略要求将可信第三方匿名证书链接至针对客户端平台的可识别平台证明证书;以及由可信第三方应用将可信第三方匿名证书链接至针对客户端平台的可识别平台证明证书。
在示例16中,示例10的方法进一步包括由可信第三方应用动态地确定策略要求将可信第三方匿名证书链接至多个之前发布的第三方匿名证书中的每个,该多个之前发布的第三方匿名证书是针对验证者向客户端平台发布的;以及由可信第三方应用将可信第三方匿名证书链接至多个之前发布的第三方匿名证书中的每个,该多个之前发布的第三方匿名证书是针对验证者向客户端平台发布的。
在示例17中,示例10的方法进一步包括由可信第三方应用在执行链接之前通知多个n个审查者,策略要求将可信第三方匿名证书链接至第二可信第三方匿名证书;以及如果可信第三方应用从多个n个审查者的至少k个审查者接收到相应的确认,则由可信第三方应用将可信第三方匿名证书链接至第二可信第三方匿名证书。
在示例18中,示例11的方法进一步包括当可信第三方应用将可信第三方匿名证书链接至第二可信第三方匿名证书时,由可信第三方应用将通知发送至客户端平台的用户。
在示例19中,至少一种计算机可读介质包括指令,该指令在被执行时,使得计算设备执行示例10-18中的任意一个的方法。
在示例20中,一种装置包括用于执行以上示例中的任意一个的方法的单元。
在示例21中,一种用于使客户端平台能够向验证者提供证明而不显露客户端平台或客户端平台的用户的隐私敏感信息的装置,包括用于将存储器的部分建立为可信执行环境的单元;用于使得可信第三方应用在可信执行环境内执行的单元;用于从在客户端平台上执行的用户客户端证明应用接收已签名的公钥和验证者的标识符的单元,已签名的公钥签有针对客户端平台的可识别平台证明私钥;用于验证已签名的公钥的单元;用于确定验证者的策略的单元;用于将策略编码到针对已签名的公钥的可信第三方匿名证书的单元;用于发布不包括客户端平台的识别信息的可信第三方匿名证书的单元;以及用于将可信第三方匿名证书发送至用户客户端证明应用的单元。
在示例22中,示例21的装置进一步包括用于动态地确定策略要求将可信第三方匿名证书链接至第二可信第三方匿名证书的单元;以及用于将可信第三方匿名证书链接至第二可信第三方匿名证书的单元。
在示例23中,示例21的装置进一步包括用于动态地确定策略只有在可信第三方匿名证书和第二可信第三方匿名证书中的每个链接至验证者的情况下,才允许将可信第三方匿名证书链接至第二可信第三方匿名证书的单元;以及用于只有在可信第三方匿名证书和第二可信第三方匿名证书中的每个链接至验证者的情况下,才将可信第三方匿名证书链接至第二可信第三方匿名证书的单元。
在示例24中,示例21的装置进一步包括用于动态地确定如果第二可信第三方匿名证书未链接至验证者,则策略不允许将可信第三方匿名证书链接至第二可信第三方匿名证书的单元;以及用于将可信第三方匿名证书链接至第二可信第三方匿名证书的单元,其中,如果第二可信第三方匿名证书未链接至验证者,则用于将可信第三方匿名证书链接至第二可信第三方匿名证书的单元不将可信第三方匿名证书链接至第二可信第三方匿名证书。
在示例25中,示例21的装置进一步包括用于动态地确定如果第二可信第三方匿名证书链接至不同的验证者,则策略不允许将可信第三方匿名证书链接至第二可信第三方匿名证书的单元;以及用于将可信第三方匿名证书链接至第二可信第三方匿名证书的单元,其中,如果第二可信第三方匿名证书链接至不同的验证者,则用于将可信第三方匿名证书链接至第二可信第三方匿名证书的单元不将可信第三方匿名证书链接至第二可信第三方匿名证书。
在示例26中,示例21的装置进一步包括用于从用户客户端证明应用接收针对客户端平台的可识别平台证明证书的单元;用于动态地确定策略要求将可信第三方匿名证书链接至针对客户端平台的可识别平台证明证书的单元;以及用于将可信第三方匿名证书链接至针对客户端平台的可识别平台证明证书的单元。
在示例27中,示例21的装置进一步包括用于动态地确定策略要求将可信第三方匿名证书链接至多个之前发布的第三方匿名证书中的每个的单元,该多个之前发布的第三方匿名证书是针对验证者向客户端平台发布的;以及用于将可信第三方匿名证书链接至多个之前发布的第三方匿名证书中的每个的单元,该多个之前发布的第三方匿名证书是针对验证者向客户端平台发布的。
在示例28中,示例21的装置进一步包括用于在执行链接之前通知多个n个审查者,策略要求将可信第三方匿名证书链接至第二可信第三方匿名证书的单元;以及用于如果可信第三方应用从多个n个审查者的至少k个审查者接收到相应的确认,则将可信第三方匿名证书链接至第二可信第三方匿名证书的单元。
在示例29中,示例21的装置进一步包括用于当可信第三方应用将可信第三方匿名证书链接至第二可信第三方匿名证书时,将通知发送至客户端平台的用户的单元。
在示例30中,一种用于使客户端平台能够向验证者提供证明而不显露客户端平台或客户端平台的用户的隐私敏感信息的方法,包括将计算设备的存储器的部分建立为可信执行环境,其中计算设备为客户端平台;使得用户客户端证明应用在可信执行环境内执行;由用户客户端证明应用利用针对客户端平台的可识别平台证明私钥对针对客户端平台的公钥进行签名;由用户客户端证明应用向在服务器平台上执行的可信第三方应用提供已签名的公钥和验证者的标识符;以及由用户客户端证明应用从可信第三方应用接收可信第三方匿名证书,其中,可信第三方匿名证书包括针对验证者的经编码的策略。
在示例31中,示例30的方法进一步包括由用户客户端证明应用向验证者提供可信第三方匿名证书。
在示例32中,示例30的方法进一步包括由用户客户端证明应用向客户端平台的用户提供经编码的策略;由用户客户端证明应用从客户端平台的用户接收是否向验证者提供可信第三方匿名证书的指示;并且如果指示为向验证者提供可信第三方匿名证书,则由用户客户端证明应用向验证者提供可信第三方匿名证书。
在示例33中,示例30的方法进一步包括由用户客户端证明应用创建针对客户端平台的新匿名证明私钥和新匿名证明公钥,其中,新匿名证明公钥是针对客户端平台的公钥,并且其中,向可信第三方应用提供已签名的公钥和验证者的标识符包括,向可信第三方应用发送包括已签名的公钥和针对验证者的标识符的证书请求。
在示例34中,至少一种计算机可读介质包括指令,该指令在执行时,使得计算设备执行示例30-33的方法。
在示例35中,一种装置包括用于执行以上示例的任意一个的方法的单元。
在示例36中,一种用于使客户端平台能够向验证者提供证明而不显露客户端平台或客户端平台的用户的隐私敏感信息的装置,包括用于将计算设备的存储器的部分建立为可信执行环境的单元,其中计算设备为客户端平台;用于使得用户客户端证明应用在可信执行环境内执行的单元;用于利用针对客户端平台的可识别平台证明私钥对针对客户端平台的公钥进行签名的单元;以及用于向在服务器平台上执行的可信第三方应用提供已签名的公钥和验证者的标识符的单元;以及用于由用户客户端证明应用从可信第三方应用接收可信第三方匿名证书的单元,其中,可信第三方匿名证书包括针对验证者的经编码的策略。
在示例37中,示例36的装置进一步包括用于向验证者提供可信第三方匿名证书的单元。
在示例38中,示例36的装置进一步包括用于向客户端平台的用户提供经编码的策略的单元;用于从客户端平台的用户接收是否向验证者提供可信第三方匿名证书的指示的单元;以及用于如果指示为向验证者提供可信第三方匿名证书,则向验证者提供可信第三方匿名证书的单元。
在示例39中,示例36的装置进一步包括用于创建针对客户端平台的新匿名证明私钥和新匿名证明公钥的单元,其中,新匿名证明公钥是针对客户端平台的公钥,并且其中,向可信第三方应用提供已签名的公钥和验证者的标识符包括,向可信第三方应用发送包括已签名的公钥和针对验证者的标识符的证书请求。
可以理解的是,以上示例的各种组合是可能的。
要注意的是,术语“电路”和“电路系统”在本文中可交换地使用。如本文中使用的,这些术语和术语“逻辑”用于指示单独或以任意组合的,模拟电路系统、数字电路系统、硬线电路系统、可编程电路系统、处理器电路系统、微控制器电路系统、硬件逻辑电路系统、状态机电路系统和/或任意其它类型的物理硬件组件。实施例可以在许多不同类型的系统中使用。例如,在一个实施例中,可以布置计算设备来执行本文中描述的各种方法和技术。当然,本发明的范围不限于通信设备,而相反其它实施例可以指向用于处理指令的其它类型的装置、或者包括指令的一个或多个机器可读介质,该指令响应于在计算设备上被执行,使得设备执行本文中描述的方法和技术中的一个或多个。
实施例可以以代码来实现并且可以被存储在具有指令存储其上的非暂时性存储介质上,其可以用于对用于执行指令的系统进行编程。实施例还可以以数据来实现并且可以被存储在非暂时性存储介质上,该非暂时性存储介质如果由至少一个机器来使用,则使得至少一个机器制造用于执行一个或多个操作的至少一个集成电路。还有进一步的实施例可以在计算机可读存储介质中被实现,该计算机可读存储介质包括信息,当该信息被制入到SoC或者其它处理器中时,该信息可以将SoC或其它处理器配置为执行一个或多个操作。存储介质可以包括但是不限于任意类型的磁盘,包括软盘、光盘、固态驱动(SSD)、光盘只读存储器(CD-ROM)、光盘可重写(CD-RW)以及磁光盘;半导体设备,例如,只读存储器(ROM)、诸如动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)之类的随机存取存储器(RAM)、可擦除可编程只读存储器(EPROM)、闪存、电可擦除可编程只读存储器(EEPROM)、磁卡或光卡、或者适于存储电子指令的任意其它类型的介质。
虽然关于有限数量的实施例对本发明进行描述,但是本领域技术人员可以认识到从中的许多修改和变型。期望的是,所附权利要求覆盖落在本发明的真正精神和范围内的所有这样的修改和变型。
Claims (25)
1.一种装置,包括:
处理器;以及
存储器,其中,所述存储器包括指令,所述指令当被执行时,使得所述处理器:
将所述存储器的部分建立为可信执行环境;以及
在所述可信执行环境内执行可信第三方应用,所述可信第三方应用包括:
接收逻辑,其用于从在客户端平台上执行的用户客户端证明应用接收已签名的公钥和验证者的标识符,所述已签名的公钥被签有针对所述客户端平台的可识别平台证明私钥;
验证逻辑,其用于验证所述已签名的公钥;
策略确定逻辑,其用于确定所述验证者的策略;
策略编码逻辑,其用于将所述策略编码到针对所述已签名的公钥的可信第三方匿名证书;
发布逻辑,其用于发布所述可信第三方匿名证书,所述可信第三方匿名证书不包括所述客户端平台的识别信息;以及
发送逻辑,其用于将所述可信第三方匿名证书发送至所述用户客户端证明应用。
2.根据权利要求1所述的装置,其中,
所述策略确定逻辑用于动态地确定所述策略要求将所述可信第三方匿名证书链接至第二可信第三方匿名证书;并且
所述可信第三方应用进一步包括链接逻辑,其用于将所述可信第三方匿名证书链接至所述第二可信第三方匿名证书。
3.根据权利要求2所述的装置,其中,
所述策略确定逻辑用于动态地确定所述策略只有在所述可信第三方匿名证书和所述第二可信第三方匿名证书中的每个链接至所述验证者的情况下,才允许将所述可信第三方匿名证书链接至所述第二可信第三方匿名证书;并且
所述可信第三方应用进一步包括链接逻辑,其用于只有在所述可信第三方匿名证书和所述第二可信第三方匿名证书中的每个链接至所述验证者的情况下,才将所述可信第三方匿名证书链接至所述第二可信第三方匿名证书。
4.根据权利要求2所述的装置,其中,
所述策略确定逻辑用于动态地确定如果所述第二可信第三方匿名证书未链接至所述验证者,则所述策略不允许将所述可信第三方匿名证书链接至所述第二可信第三方匿名证书;并且
所述可信第三方应用进一步包括链接逻辑,如果所述第二可信第三方匿名证书未链接至所述验证者,则所述链接逻辑不将所述可信第三方匿名证书链接至所述第二可信第三方匿名证书。
5.根据权利要求2所述的装置,其中,
所述策略确定逻辑用于动态地确定如果所述第二可信第三方匿名证书链接至不同的验证者,则所述策略不允许将所述可信第三方匿名证书链接至所述第二可信第三方匿名证书;并且
所述可信第三方应用进一步包括链接逻辑,如果所述第二可信第三方匿名证书链接至所述不同的验证者,则所述链接逻辑不将所述可信第三方匿名证书链接至所述第二可信第三方匿名证书。
6.根据权利要求2所述的装置,其中,
被签有针对所述客户端平台的可识别平台证明私钥的所述已签名的公钥提供针对所述客户端平台的可识别平台证明证书;
所述策略确定逻辑用于动态地确定所述策略要求将所述可信第三方匿名证书链接至针对所述客户端平台的可识别平台证明证书;并且
所述可信第三方应用进一步包括链接逻辑,其用于将所述可信第三方匿名证书链接至针对所述客户端平台的可识别平台证明证书。
7.根据权利要求2所述的装置,其中,
所述策略确定逻辑用于动态地确定所述策略要求将所述可信第三方匿名证书链接至多个之前发布的可信第三方匿名证书中的每个,所述多个之前发布的可信第三方匿名证书是针对所述验证者向所述客户端平台发布的;并且,
所述可信第三方应用进一步包括链接逻辑,其用于将所述可信第三方匿名证书链接至所述多个之前发布的可信第三方匿名证书中的每个,所述多个之前发布的可信第三方匿名证书是针对所述验证者向所述客户端平台发布的。
8.根据权利要求2所述的装置,其中,
所述可信第三方应用进一步包括通知逻辑,其用于在执行链接之前通知多个n个审查者,所述策略要求将所述可信第三方匿名证书链接至所述第二可信第三方匿名证书;
如果所述通知逻辑从所述多个n个审查者中的至少k个审查者中的每个接收到相应的确认,则所述可信第三方应用用于将所述可信第三方匿名证书链接至所述第二可信第三方匿名证书。
9.根据权利要求2所述的装置,其中,
所述可信第三方应用进一步包括用户通知逻辑,其用于当所述可信第三方应用将所述可信第三方匿名证书链接至所述第二可信第三方匿名证书时将通知发送至所述客户端平台的用户。
10.包括指令的至少一种计算机可读介质,所述指令在由处理器执行时,使得计算设备用于:
将所述计算设备的存储器的部分建立为可信执行环境;以及
使得可信第三方应用在所述可信执行环境内执行,所述可信第三方应用用于(i)从在客户端平台上执行的用户客户端证明应用接收已签名的公钥和验证者的标识符,所述已签名的公钥被签有针对所述客户端平台的可识别平台证明私钥;(ii)验证所述已签名的公钥;(iii)确定所述验证者的策略;(iv)将所述策略编码到针对所述已签名的公钥的可信第三方匿名证书;(v)发布所述可信第三方匿名证书,所述可信第三方匿名证书不包括所述客户端平台的识别信息;以及(vi)将所述可信第三方匿名证书发送至所述用户客户端证明应用。
11.根据权利要求10所述的至少一种计算机可读介质,其中,
所述可信第三方应用用于动态地确定所述策略要求将所述可信第三方匿名证书链接至第二可信第三方匿名证书;并且
所述可信第三方应用用于将所述可信第三方匿名证书链接至所述第二可信第三方匿名证书。
12.根据权利要求11所述的至少一种计算机可读介质,其中,
所述可信第三方应用用于动态地确定所述策略只有在所述可信第三方匿名证书和所述第二可信第三方匿名证书中的每个链接至所述验证者的情况下,才允许将所述可信第三方匿名证书链接至所述第二可信第三方匿名证书;并且
所述可信第三方应用用于只有在所述可信第三方匿名证书和所述第二可信第三方匿名证书中的每个链接至所述验证者的情况下,才将所述可信第三方匿名证书链接至所述第二可信第三方匿名证书。
13.根据权利要求11所述的至少一种计算机可读介质,其中,
所述可信第三方应用用于动态地确定如果所述第二可信第三方匿名证书未链接至所述验证者,则所述策略不允许将所述可信第三方匿名证书链接至所述第二可信第三方匿名证书;并且
如果所述第二可信第三方匿名证书未链接至所述验证者,则所述可信第三方应用不将所述可信第三方匿名证书链接至所述第二可信第三方匿名证书。
14.根据权利要求11所述的至少一种计算机可读介质,其中,
所述可信第三方应用用于动态地确定如果所述第二可信第三方匿名证书链接至不同的验证者,则所述策略不允许将所述可信第三方匿名证书链接至所述第二可信第三方匿名证书;并且
如果所述第二可信第三方匿名证书链接至所述不同的验证者,则所述可信第三方应用不将所述可信第三方匿名证书链接至所述第二可信第三方匿名证书。
15.根据权利要求11所述的至少一种计算机可读介质,其中,
被签有针对所述客户端平台的可识别平台证明私钥的所述已签名的公钥提供针对所述客户端平台的可识别平台证明证书;
所述可信第三方应用用于动态地确定所述策略要求将所述可信第三方匿名证书链接至针对所述客户端平台的可识别平台证明证书;并且
所述可信第三方应用用于将所述可信第三方匿名证书链接至针对所述客户端平台的可识别平台证明证书。
16.根据权利要求11所述的至少一种计算机可读介质,其中,
所述可信第三方应用用于动态地确定所述策略要求将所述可信第三方匿名证书链接至多个之前发布的可信第三方匿名证书中的每个,所述多个之前发布的可信第三方匿名证书是针对所述验证者向所述客户端平台发布的;并且,
所述可信第三方应用用于将所述可信第三方匿名证书链接至所述多个之前发布的可信第三方匿名证书中的每个,所述多个之前发布的可信第三方匿名证书是针对所述验证者向所述客户端平台发布的。
17.根据权利要求11所述的至少一种计算机可读介质,其中,
所述可信第三方应用用于在执行链接之前通知多个n个审查者,所述策略要求将所述可信第三方匿名证书链接至所述第二可信第三方匿名证书;
如果所述可信第三方应用从所述多个n个审查者中的至少k个审查者接收到相应的确认,则所述可信第三方应用用于将所述可信第三方匿名证书链接至所述第二可信第三方匿名证书。
18.根据权利要求11所述的至少一种计算机可读介质,其中,
所述可信第三方应用用于当所述可信第三方应用将所述可信第三方匿名证书链接至所述第二可信第三方匿名证书时将通知发送至所述客户端平台的用户。
19.一种方法,包括:
将所述计算设备的存储器的部分建立为可信执行环境;
使得可信第三方应用在所述可信执行环境内执行;
由所述可信第三方应用从在客户端平台上执行的用户客户端证明应用接收已签名的公钥和验证者的标识符,所述已签名的公钥被签有针对所述客户端平台的可识别平台证明私钥;
由所述可信第三方应用验证所述已签名的公钥;
由所述可信第三方应用确定所述验证者的策略;
由所述可信第三方应用将所述策略编码到针对所述已签名的公钥的可信第三方匿名证书;
由所述可信第三方应用发布所述可信第三方匿名证书,所述可信第三方匿名证书不包括所述客户端平台的识别信息;以及
由所述可信第三方应用将所述可信第三方匿名证书发送至所述用户客户端证明应用。
20.根据权利要求19所述的方法,进一步包括:
由所述可信第三方应用动态地确定所述策略要求将所述可信第三方匿名证书链接至第二可信第三方匿名证书;以及
由所述可信第三方应用将所述可信第三方匿名证书链接至所述第二可信第三方匿名证书。
21.根据权利要求19所述的方法,进一步包括:
由所述可信第三方应用从所述用户客户端证明应用接收针对所述客户端平台的可识别平台证明证书;
由所述可信第三方应用动态地确定所述策略要求将所述可信第三方匿名证书链接至针对所述客户端平台的可识别平台证明证书;以及
由所述可信第三方应用将所述可信第三方匿名证书链接至针对所述客户端平台的可识别平台证明证书。
22.包括指令的至少一种计算机可读介质,所述指令在由处理器执行时,使得计算设备用于:
将所述计算设备的存储器的部分建立为可信执行环境,其中,所述计算设备为客户端平台;以及
使得用户客户端证明应用在所述可信执行环境内执行,所述用户客户端证明应用用于(i)利用针对所述客户端平台的可识别平台证明私钥对针对所述客户端平台的公钥进行签名;(ii)向在服务器平台上执行的可信第三方应用提供所述已签名的公钥和验证者的标识符;并且(iii)从所述可信第三方应用接收可信第三方匿名证书,其中,所述可信第三方匿名证书包括针对所述验证者的经编码的策略。
23.根据权利要求22所述的至少一种计算机可读介质,其中,所述用户客户端证明应用进一步用于:(iv)向所述验证者提供所述可信第三方匿名证书。
24.根据权利要求22所述的至少一种计算机可读介质,其中,所述用户客户端证明应用进一步用于:(iv)向所述客户端平台的用户提供所述经编码的策略;(v)从所述客户端平台的用户接收是否向所述验证者提供所述可信第三方匿名证书的指示;并且(vii)如果所述指示为向所述验证者提供所述可信第三方匿名证书,则向所述验证者提供所述可信第三方匿名证书。
25.根据权利要求22所述的至少一种计算机可读介质,其中,所述用户客户端证明应用进一步用于:
(iv)创建针对所述客户端平台的新匿名证明私钥和新匿名证明公钥,其中,所述新匿名证明公钥是针对所述客户端平台的公钥,并且其中,向所述可信第三方应用提供所述已签名的公钥和验证者的标识符包括向所述可信第三方应用发送包括所述已签名的公钥和所述验证者的标识符的证书请求。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/475,896 | 2017-03-31 | ||
US15/475,896 US10397005B2 (en) | 2017-03-31 | 2017-03-31 | Using a trusted execution environment as a trusted third party providing privacy for attestation |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108696349A true CN108696349A (zh) | 2018-10-23 |
Family
ID=61256553
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810218869.1A Pending CN108696349A (zh) | 2017-03-31 | 2018-03-16 | 将可信执行环境用作为证明提供隐私的可信第三方 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10397005B2 (zh) |
EP (1) | EP3382933B1 (zh) |
CN (1) | CN108696349A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111611625A (zh) * | 2020-05-26 | 2020-09-01 | 牛津(海南)区块链研究院有限公司 | 云端数据完整性审计方法、装置及计算机可读存储介质 |
US20210099866A1 (en) * | 2018-07-13 | 2021-04-01 | Micron Technology, Inc. | Secure vehicular services communication |
CN114391242A (zh) * | 2020-07-09 | 2022-04-22 | 谷歌有限责任公司 | 匿名事件证明 |
Families Citing this family (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10505918B2 (en) * | 2017-06-28 | 2019-12-10 | Cisco Technology, Inc. | Cloud application fingerprint |
US10819696B2 (en) * | 2017-07-13 | 2020-10-27 | Microsoft Technology Licensing, Llc | Key attestation statement generation providing device anonymity |
US10447486B2 (en) * | 2017-07-19 | 2019-10-15 | Spyrus, Inc. | Remote attestation of a security module's assurance level |
GB2566263A (en) | 2017-09-01 | 2019-03-13 | Trustonic Ltd | Post-manufacture certificate generation |
GB2566265B (en) * | 2017-09-01 | 2020-05-13 | Trustonic Ltd | Post-manufacture generation of device certificate and private key for public key infrastructure |
US11943368B2 (en) * | 2017-11-03 | 2024-03-26 | Microsoft Technology Licensing, Llc | Provisioning trusted execution environment based on chain of trust including platform |
US11443323B2 (en) * | 2018-03-07 | 2022-09-13 | Samsung Electronics Co., Ltd. | System and method for secure transactions with a trusted execution environment (TEE) |
US10762220B2 (en) | 2018-06-11 | 2020-09-01 | Bank Of America Corporation | Access control tool |
US11581725B2 (en) | 2018-07-07 | 2023-02-14 | Intelesol, Llc | Solid-state power interrupters |
US11671029B2 (en) | 2018-07-07 | 2023-06-06 | Intelesol, Llc | AC to DC converters |
US11056981B2 (en) | 2018-07-07 | 2021-07-06 | Intelesol, Llc | Method and apparatus for signal extraction with sample and hold and release |
US11334388B2 (en) | 2018-09-27 | 2022-05-17 | Amber Solutions, Inc. | Infrastructure support to enhance resource-constrained device capabilities |
US11205011B2 (en) | 2018-09-27 | 2021-12-21 | Amber Solutions, Inc. | Privacy and the management of permissions |
US11184162B1 (en) * | 2018-09-28 | 2021-11-23 | NortonLifeLock Inc. | Privacy preserving secure task automation |
US10985548B2 (en) | 2018-10-01 | 2021-04-20 | Intelesol, Llc | Circuit interrupter with optical connection |
US11349296B2 (en) | 2018-10-01 | 2022-05-31 | Intelesol, Llc | Solid-state circuit interrupters |
US11463274B2 (en) * | 2018-11-07 | 2022-10-04 | Amber Semiconductor, Inc. | Third party application enablement for node networks deployed in residential and commercial settings |
CN110011801B (zh) * | 2018-11-16 | 2020-10-20 | 创新先进技术有限公司 | 可信应用程序的远程证明方法及装置、电子设备 |
CN109615373B (zh) * | 2018-11-29 | 2021-07-27 | 中国电子科技集团公司第三十研究所 | 一种区块链系统中可委托监管匿名隐私保护方法 |
JP7475351B2 (ja) | 2018-12-17 | 2024-04-26 | インテレソール エルエルシー | Ac駆動型の発光ダイオードシステム |
JP6664716B1 (ja) * | 2019-01-18 | 2020-03-13 | 国立大学法人東北大学 | 情報処理システム、およびサービスデータ提供方法 |
US10742421B1 (en) | 2019-03-08 | 2020-08-11 | Ares Technologies, Inc. | Methods and systems for anonymous hardware attestation |
US11374771B2 (en) | 2019-03-08 | 2022-06-28 | Ares Technologies, Inc. | Methods and systems for implementing mixed protocol certificates |
US10735205B1 (en) | 2019-03-08 | 2020-08-04 | Ares Technologies, Inc. | Methods and systems for implementing an anonymized attestation chain |
WO2019120317A2 (en) | 2019-03-26 | 2019-06-27 | Alibaba Group Holding Limited | Program execution and data proof scheme using multiple key pair signatures |
CN111095899B (zh) | 2019-04-26 | 2021-12-24 | 创新先进技术有限公司 | 针对可信执行环境的分布式密钥管理 |
US11342151B2 (en) | 2019-05-18 | 2022-05-24 | Amber Solutions, Inc. | Intelligent circuit breakers with visual indicators to provide operational status |
US11283623B1 (en) * | 2019-06-03 | 2022-03-22 | Wells Fargo Bank, N.A. | Systems and methods of using group functions certificate extension |
CN111046440B (zh) * | 2019-12-13 | 2022-06-14 | 支付宝(杭州)信息技术有限公司 | 一种安全区域内容的篡改验证方法及系统 |
US11019033B1 (en) * | 2019-12-27 | 2021-05-25 | EMC IP Holding Company LLC | Trust domain secure enclaves in cloud infrastructure |
CN115461629A (zh) | 2020-01-21 | 2022-12-09 | 安泊半导体公司 | 智能电路中断 |
CN111382445B (zh) * | 2020-03-03 | 2023-04-07 | 首都师范大学 | 利用可信执行环境系统提供可信服务的方法 |
DE102020202879A1 (de) * | 2020-03-06 | 2021-09-09 | Robert Bosch Gesellschaft mit beschränkter Haftung | Verfahren und Vorrichtung zur Zertifizierung eines anwendungsspezifischen Schlüssels und zur Anforderung einer derartigen Zertifizierung |
US10965674B1 (en) * | 2020-06-08 | 2021-03-30 | Cyberark Software Ltd. | Security protection against threats to network identity providers |
IL275954A (en) * | 2020-07-09 | 2022-02-01 | Google Llc | Anonymous event confirmation with group signatures |
EP4197086A1 (en) | 2020-08-11 | 2023-06-21 | Amber Semiconductor, Inc. | Intelligent energy source monitoring and selection control system |
US11748472B2 (en) | 2020-09-02 | 2023-09-05 | Nec Corporation | Trusted service for detecting attacks on trusted execution environments |
US11481497B2 (en) * | 2020-09-11 | 2022-10-25 | Dell Products L.P. | Systems and methods for hardware attestation in an information handling system |
WO2022115200A2 (en) | 2020-10-28 | 2022-06-02 | Ares Technologies, Inc. | Systems and methods for a cryptographic agile bootloader for upgradable secure environment |
CN115690921A (zh) * | 2021-05-27 | 2023-02-03 | 支付宝(杭州)信息技术有限公司 | 一种基于隐私保护的生物识别方法、装置及设备 |
WO2023186328A1 (en) * | 2022-04-01 | 2023-10-05 | Huawei Technologies Co., Ltd. | Method and apparatus for providing an application-level attestation for trusted applications |
CN116708044B (zh) * | 2023-08-07 | 2023-10-20 | 北京小米移动软件有限公司 | 应用管理系统、应用管理方法、服务器、终端和介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040083366A1 (en) * | 2002-10-24 | 2004-04-29 | Nachenberg Carey S. | Securing executable content using a trusted computing platform |
US20070203848A1 (en) * | 2006-02-24 | 2007-08-30 | Microsoft Corporation | Account linking with privacy keys |
US20080270790A1 (en) * | 2007-04-30 | 2008-10-30 | Brickell Ernest F | Apparatus and method for enhanced revocation of direct proof and direct anonymous attestation |
WO2009036511A1 (en) * | 2007-09-19 | 2009-03-26 | Lockstep Technologies Pty Ltd | Verifying a personal characteristic of users of online resources |
US20120297200A1 (en) * | 2011-05-17 | 2012-11-22 | Microsoft Corporation | Policy bound key creation and re-wrap service |
AU2014274590A1 (en) * | 2012-02-20 | 2015-01-22 | Kl Data Security Pty Ltd | Cryptographic Method and System |
CN104580250A (zh) * | 2015-01-29 | 2015-04-29 | 成都卫士通信息产业股份有限公司 | 一种基于安全芯片进行可信身份认证的系统和方法 |
CN105516119A (zh) * | 2015-12-03 | 2016-04-20 | 西北师范大学 | 基于代理重签名的跨域身份认证方法 |
US20160180061A1 (en) * | 2014-12-23 | 2016-06-23 | Oleg POGORELIK | Technologies for enhanced user authentication using advanced sensor monitoring |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030190046A1 (en) * | 2002-04-05 | 2003-10-09 | Kamerman Matthew Albert | Three party signing protocol providing non-linkability |
US20040243665A1 (en) * | 2003-05-27 | 2004-12-02 | Outi Markki | System and method for services provision in a peer-to-peer environment |
US7689828B2 (en) * | 2004-07-23 | 2010-03-30 | Data Security Systems Solutions Pte Ltd | System and method for implementing digital signature using one time private keys |
US8924728B2 (en) | 2004-11-30 | 2014-12-30 | Intel Corporation | Apparatus and method for establishing a secure session with a device without exposing privacy-sensitive information |
WO2008026086A2 (en) * | 2006-08-31 | 2008-03-06 | International Business Machines Corporation | Attestation of computing platforms |
BR112014002175A8 (pt) * | 2011-07-29 | 2018-04-03 | Hewlett Packard Development Co | Mídia legível por computador não transitória, sistema de computação e método implantado por computador |
US8782401B2 (en) | 2012-09-26 | 2014-07-15 | Intel Corporation | Enhanced privacy ID based platform attestation |
GB2517127A (en) * | 2013-05-29 | 2015-02-18 | Ibm | Method for deriving a verification token from a credential |
WO2017049111A1 (en) * | 2015-09-18 | 2017-03-23 | Jung-Min Park | Group signatures with probabilistic revocation |
WO2017131775A1 (en) * | 2016-01-29 | 2017-08-03 | Hewlett Packard Enterprise Development Lp | Device attestation |
US10938570B2 (en) * | 2016-02-08 | 2021-03-02 | Intel Corporation | Technologies for remote attestation |
-
2017
- 2017-03-31 US US15/475,896 patent/US10397005B2/en active Active
-
2018
- 2018-02-07 EP EP18155642.4A patent/EP3382933B1/en active Active
- 2018-03-16 CN CN201810218869.1A patent/CN108696349A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040083366A1 (en) * | 2002-10-24 | 2004-04-29 | Nachenberg Carey S. | Securing executable content using a trusted computing platform |
US20070203848A1 (en) * | 2006-02-24 | 2007-08-30 | Microsoft Corporation | Account linking with privacy keys |
US20080270790A1 (en) * | 2007-04-30 | 2008-10-30 | Brickell Ernest F | Apparatus and method for enhanced revocation of direct proof and direct anonymous attestation |
WO2009036511A1 (en) * | 2007-09-19 | 2009-03-26 | Lockstep Technologies Pty Ltd | Verifying a personal characteristic of users of online resources |
US20120297200A1 (en) * | 2011-05-17 | 2012-11-22 | Microsoft Corporation | Policy bound key creation and re-wrap service |
AU2014274590A1 (en) * | 2012-02-20 | 2015-01-22 | Kl Data Security Pty Ltd | Cryptographic Method and System |
US20160180061A1 (en) * | 2014-12-23 | 2016-06-23 | Oleg POGORELIK | Technologies for enhanced user authentication using advanced sensor monitoring |
CN104580250A (zh) * | 2015-01-29 | 2015-04-29 | 成都卫士通信息产业股份有限公司 | 一种基于安全芯片进行可信身份认证的系统和方法 |
CN105516119A (zh) * | 2015-12-03 | 2016-04-20 | 西北师范大学 | 基于代理重签名的跨域身份认证方法 |
Non-Patent Citations (2)
Title |
---|
A. ARSENAULT; DIVERSINET;S. TURNER; IECA;: "Internet X.509 Public Key Infrastructure: Roadmap", IETF, 31 July 2002 (2002-07-31) * |
黄凯;卫泽;锁琰;: "基于分布式密钥隔离的直接匿名证明方案", 舰船电子工程, no. 12, 20 December 2013 (2013-12-20) * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210099866A1 (en) * | 2018-07-13 | 2021-04-01 | Micron Technology, Inc. | Secure vehicular services communication |
US11863976B2 (en) * | 2018-07-13 | 2024-01-02 | Micron Technology, Inc. | Secure vehicular services communication |
CN111611625A (zh) * | 2020-05-26 | 2020-09-01 | 牛津(海南)区块链研究院有限公司 | 云端数据完整性审计方法、装置及计算机可读存储介质 |
CN111611625B (zh) * | 2020-05-26 | 2023-04-07 | 牛津(海南)区块链研究院有限公司 | 云端数据完整性审计方法、装置及计算机可读存储介质 |
CN114391242A (zh) * | 2020-07-09 | 2022-04-22 | 谷歌有限责任公司 | 匿名事件证明 |
CN114391242B (zh) * | 2020-07-09 | 2024-02-23 | 谷歌有限责任公司 | 匿名事件证明 |
Also Published As
Publication number | Publication date |
---|---|
EP3382933A1 (en) | 2018-10-03 |
US20180287802A1 (en) | 2018-10-04 |
EP3382933B1 (en) | 2019-08-28 |
US10397005B2 (en) | 2019-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108696349A (zh) | 将可信执行环境用作为证明提供隐私的可信第三方 | |
EP3061027B1 (en) | Verifying the security of a remote server | |
JP7426475B2 (ja) | 分散化されたデータ認証 | |
US8555072B2 (en) | Attestation of computing platforms | |
US7568114B1 (en) | Secure transaction processor | |
US7526649B2 (en) | Session key exchange | |
CN100383694C (zh) | 为可被具有安全模块的用户设备执行的事务维护私密 | |
KR101004829B1 (ko) | 이선형 맵들로부터의 직접적인 익명의 증명을 위한 장치 및방법 | |
US11303459B2 (en) | Smart television terminal and method for establishing a trust chain therefor | |
Stapleton et al. | Security Without Obscurity: A Guide to PKI Operations | |
CN101359986B (zh) | 用于根据双线性映射的直接匿名证明的装置和方法 | |
Schwartz et al. | Contractual anonymity | |
CN116707983A (zh) | 授权认证方法及装置、接入认证方法及装置、设备、介质 | |
CN113343204B (zh) | 基于区块链的数字身份管理系统及方法 | |
CN112948789B (zh) | 身份认证方法及装置、存储介质及电子设备 | |
CN115242471A (zh) | 信息传输方法、装置、电子设备及计算机可读存储介质 | |
CN111245600B (zh) | 基于区块链技术的鉴权认证方法和系统 | |
CN114329610A (zh) | 区块链隐私身份保护方法、装置、存储介质及系统 | |
CN112784249A (zh) | 实现无标识情形下进行移动终端认证处理的方法、系统、处理器及其计算机可读存储介质 | |
CN114257370A (zh) | 标识密码处理方法、电子设备、系统及存储介质 | |
JP2017079419A (ja) | サーバ認証システム、端末、サーバ、サーバ認証方法、プログラム | |
Baghdasaryan et al. | FIDO Security Reference | |
CN113159774B (zh) | 一种区块链中可监管零知识证明验证方法及系统 | |
Borhan et al. | Platform Property Certificate for Property-based Attestation Model | |
CN117478333A (zh) | 证书的智能验证方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |