CN1717895B - 用于在不泄露身份的情况下建立信任的系统和方法 - Google Patents

用于在不泄露身份的情况下建立信任的系统和方法 Download PDF

Info

Publication number
CN1717895B
CN1717895B CN2003801042088A CN200380104208A CN1717895B CN 1717895 B CN1717895 B CN 1717895B CN 2003801042088 A CN2003801042088 A CN 2003801042088A CN 200380104208 A CN200380104208 A CN 200380104208A CN 1717895 B CN1717895 B CN 1717895B
Authority
CN
China
Prior art keywords
challenger
value
signature
equipment
prover device
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.)
Expired - Lifetime
Application number
CN2003801042088A
Other languages
English (en)
Other versions
CN1717895A (zh
Inventor
厄尼·布里克尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN1717895A publication Critical patent/CN1717895A/zh
Application granted granted Critical
Publication of CN1717895B publication Critical patent/CN1717895B/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/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
    • 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
    • H04L9/3221Cryptographic 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 interactive zero-knowledge proofs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • 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/3271Cryptographic 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 challenge-response
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/127Trusted platform modules [TPM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Storage Device Security (AREA)

Abstract

本发明的实施方案的一个方面提供了向挑战者证明证明者设备具有来自设备制造者的签名,而无需向所述挑战者泄露所述签名的方法、系统和设备。根据一种实施方式,向挑战者提供了由证明者设备持有的秘密的单向函数的结果。在证明者设备和挑战者之间利用交互证明来向挑战者证明在所述单向函数中使用的秘密已经被签上了设备签名,而无需向挑战者泄露所述秘密或者所述设备签名或者证明者设备的身份。

Description

用于在不泄露身份的情况下建立信任的系统和方法
技术领域
本发明的各种实施方案一般属于安全通信领域。更具体地,至少本发明的一种实施方案涉及使得第一设备能够向第二设备证明它具有合法的签名,而不必泄露所述签名。
背景技术
在很多现代通信系统中,包括计算机网络在内,被交换信息的可靠性和安全性是一件很重要的事情。
例如,在可信(trusted)计算平台联盟(TCPA)模型中,每台计算机(PC)都具有被称为可信平台模块(TPM)的可信硬件设备。在一种实现方案中,TPM可以记录有关PC的软件和硬件环境的信息。每个TPM都具有唯一的背书密钥(EK)。有一个证书被发给EK,它包含了有关TPM和平台的信息。当一个外部方(此后被称为挑战者(challenger))想要了解PC的软件和/或硬件环境时,该挑战者可以让TPM给出报告。挑战者想要确信所述报告真的来自合法的TPM。PC的所有者想要保持尽可能多的保密性(privacy)。具体地说,PC的所有者想要能够向两个不同的挑战者给出报告,而这些挑战者又不能确定这些报告来自同一个TPM。
由TCPA提出的一种解决方案是建立可信第三方(TTP)。TPM将会创建一个证明身份密钥(AIK),并将会把由EK签名的证书请求中的密钥的公共部分发送到TTP。TTP将会检查EK是合法的,签名是完好的,并且将会为AIK发出证书。TPM然后将会在从挑战者接收到请求后使用AIK和TTP的证书。这些都将和EK无关,因此挑战者不会获得有关EK的任何信息。这种方法的问题在于它需要建立TTP。实际中,识别可用作TTP的各方以及用于这种方法的可行商业模型已经证明是实质性的障碍。
因此,在TCPA体系结构中需要TTP一直是个问题。然而,尚未有人提出一种无需使用TTP而实现匿名和安全要求的密码协议。
附图说明
图1图示了根据本发明的实施方案可以实现直接证明方案的系统。
图2是图示了根据本发明的一种实施方案包括可信平台模块的平台的一种实施方案的框图。
图3图示了根据本发明的一种实施方案,在制造过程中建立TPM的过程。
图4图示了为根据本发明的一种实施方案而制造的每个平台所执行的建立过程。
图5图示了根据本发明的一种实施方案,供一个平台(证明者(prover))向挑战者证明它知道验证信息,而不用泄露这一信息的交互证明方法。
图6是图示了在挑战者和平台之间实现图5的交互证明(IP1)的一种方法的流程图。
图7是图示了在挑战者和平台之间实现图5的交互证明(IP2)的一种方法的流程图。
图8图示了根据本发明的一种实施方案,如何在有限数量的轮次中实现直接证明,从而加速验证过程。
具体实施方式
在对本发明各实施方案的以下详细描述中,阐述了很多具体的细节,以提供对本发明一种或多种实施方案的各个方面的完整理解。然而,在没有具体细节的情况下也可以实现本发明的一种或多种实施方案。此外,没有详细描述公知的方法、过程和/或组件,以免不必要地模糊了本发明的各个实施方案。
在以下描述中,使用某些术语来描述本发明的一种或多种实施方案的某些特征。例如,“平台”包括任何类型的设备、计算机、处理单元等。术语“挑战者”是指在向请求者透露或者提供所请求的信息之前,向所述请求者请求对可靠性或权限进行某种检验的任何个人、平台、系统、软件和/或设备。术语“证明者”(例如证明者设备)是指已被请求对其权限(authority)、合法性(validity)和/或身份(identity)提供某种证明的任何个人、平台、系统、软件和/或设备。术语“设备制造者”(例如设备制造者C)是指制造或者配置一个设备或平台(例如可信平台模块)的任何个人、平台、系统、实体、软件和/或设备。术语“设备制造者”可以与术语“证实(verifying)制造者”互换使用。术语“HASH”是指任何散列函数或算法或其等同物。
在下面讨论的对本发明各种实施方案的描述和图示中,系数、变量以及其他符号用相同的标号或名称来表示。因此,当一个符号(例如h)出现在不同的解释部分中时,在全篇中指的是同一符号。
本发明的一种实施方案的一个方面提供了在不使用可信第三方(TTP)的情况下,向验证系统提供设备的匿名的方式。
本发明的一种实施方案的一个方面提供了向挑战者证明一个证实平台或设备具有来自设备制造者的签名,而不用向挑战者泄露所述签名的方法、系统和设备。
本发明的一种实施方案的另一方面提供了向挑战者提供证明者设备(例如,发出请求的设备)所持有的秘密的单向函数(one-wayfunction)的结果,并且向挑战者证明在所述单向函数中使用的秘密已经被签上了设备签名,而不用将所述秘密或签名泄露给挑战者的方法、系统和设备。
使用在这里,“证明(prove)”或者“使挑战者相信”证明者具有或者知道签名或秘密意味着基于透露给挑战者的信息和证明,非常在概率上有可能(probabilistically likely)证明者具有所述签名或秘密。向挑战者证明这一情况,而不用向挑战者“泄露”或“透露”签名或秘密意味着基于透露给挑战者的信息,要确定所述签名或秘密在计算上是不可行的(computationally infeasible)。
这样的证明此后被称为直接证明。术语“直接证明”是指交互证明和/或零知识证明,这些类型的证明在本领域中是公知的。
图1图示了其中可以实现根据本发明一种实施方案的直接证明方案的系统。平台A102(挑战者)请求平台B 104(证明者)提供有关其自身的一些信息,并且平台B 104提供所述所请求的信息。然而,平台A 102想要确认所请求的信息是来自由设备制造者C制造的设备。因此,平台A 102对平台B 104发出挑战,让平台B 104表明它具有设备制造者C所生成的签名。平台B 104通过提供使平台A 102相信平台B 104具有设备制造者C所生成的签名来对这样的请求做出应答,而不用泄露所述签名的信息。
在本发明的一种实施方案中,平台B 104可以包括可信平台模块(TPM)106。它是由设备制造者所制造的,使得它执行这一发明所需的功能,并且遵守这里所描述的协议的操作。总地来说,TPM应当被制造为保持这里所描述的安全特性。例如,在下面进行描述并且在图6中图示的协议IPl中,TPM使用指定的值来执行指定的功能。TPM应当被制造或配置为使用不会在协议中产生安全缺陷(例如,使得设备的身份有可能被确定,等等)的值(例如,上面所指定的值)。
图2是图示了根据本发明一种实施方案的、具有可信平台模块(TPM)204的设备或平台200(例如平台B 104)的一种实施方案的框图。设备200可以包括耦合到TPM 204的处理单元202。在一种实现方式中,存储设备206也可以被包括在设备200中,从而允许存储有关设备200的信息(例如硬件信息、软件信息等)。在本发明的各种实现方式中,平台或设备200可以是诸如计算机、移动设备等的电子设备。
图3图示了根据本发明的一种实施方案,为每个平台类(platform class)所执行的建立过程。一个平台类可由设备制造者定义为包括一种或多种类型的平台或设备。例如,一个平台类可以是具有相同的安全相关信息的所有平台的集合。每个平台都具有一组有关该平台的安全相关信息。这一信息可能包含了被包括在TCPA模型中的EK或AIK证书中的信息的一部分。它还可能包括特定平台或设备的制造者号和型号。
对于每个平台类,设备制造者都创建该制造者为这一平台类所使用的密码参数。设备制造者创建一个签名密钥(signature key),它使用该签名密钥来签名它所制造的设备(例如设备200)的秘密。
在本发明的一种实施方案中,设备制造者采用RSA算法(由Ronald Rivest、Adi Shamir和Leonard Adelman定义的公钥密码系统),利用公共模数n、公共指数d和私有指数e来创建RSA公钥、私钥(public key,private key)对(在302中)。这可以使用公知的方法来创建,例如在由Bruce Schneier,John Wiley & Sons出版的《应用密码学》第2版(1995年10月18日,ISBN:0471117099)中所描述的方法。模数n应当被选定得足够大,使得它对因数n在计算上是不可行的。
在304中设备制造者指定参数Z,这是一个位于0和n之间的整数。
在306中设备制造者指定安全参数W,这是一个位于0和n之间的整数。然而,将W挑选得过小或过大都会导致安全性问题。在一种实现方式中,可以建议将W选定在2160和n/2160之间。因此,将W选定为约等于可能是一个合理的选择。
在本发明的一种实施方案中,设备制造者计算出一个质数P,使得P=u*n+1(在308中)。除了u*n+1是一个质数外,u的值没有什么特殊的。例如,可以使用最小的这种u值。一般地,P值应当足够大,使得计算离散的对数mod P在计算上是不可行的。
设备制造者生成平台类证书,该证书包括密码参数e、n、u、P、Z、W,该平台类的安全相关信息,以及所述设备制造者的名称(在310中)。在一种实施方案中,参数u和P两者不会全都包括进来,这是因为给定了n和这两个参数之一后,另一个参数可以通过P=u*n+1计算出来。
在本发明的一种实施方案中,设备制造者对几个不同的平台类使用相同的e、n、u、P、W,针对不同的平台只是改变Z值而已。在这种情形下,Z的值应当被选定为相差至少4W。
一旦生成了平台类证书,设备制造者就将所述类证书提供给它所制造的、属于那一特定平台类的设备(在312中)。
在不偏离本发明的一种或多种实施方案的情况下,可以用多种方式完成平台类证书从证明者设备或平台(例如图1中的平台A)到挑战者的分发。这些密码参数(即平台类证书)应当以下列方式被分发给挑战者,所述方式要使得挑战者相信所述类证书是由设备制造者生成的。有多种广为采用的标准方法来通过直接向挑战者分发所述参数,或者通过让证实机构来签名所述平台类证书而完成这项工作。在后一种情形中,证实机构的公钥必须被分发给挑战者,并且已签名的平台类证书可被提供给所述平台类中的每个设备或平台(例如证明者设备)。然后所述设备可以将已签名的平台类证书提供给挑战者。
图4图示了为根据本发明的一种实施方案而制造的证明者平台或设备所执行的建立过程。证明者设备选定一个随机数m,使得0<m-Z<W(在402中)。证明者设备可以在将这个随机数m发送给证实制造者以获得签名前,将它隐蔽起来(在404中)。在这种情形下,证明者设备在1和n-1之间选定一个随机数B(在406中),并且计算A=Be modn(在408中)。证明者设备计算m′=m*A mod n(在410中)。
如果所述设备没有将m隐蔽起来,则该设备使用m′=m和A=1(在412中)。
证明者设备将m′发送给证实制造者(在414中)。证实制造者计算c′=m′d mod n(在416中),并且将c′提供给所述设备(在418中)。所述设备计算c=c′*B-1mod n(在420中)。注意,这意味着c=mdmod n。然后数字c和m被存储在TPM中(在422中)。c和m构成的对被称为设备制造者的签名。
图5图示了根据本发明的一种实施方案,证明者设备向挑战者证明它具有来自证实制造者的签名,而不用泄露所述签名的方法。挑战者(例如平台A 102)可以发送消息,向具有TPM的证明者设备索要(seeking)合法性(例如,确认该设备的合法性)(在502中)。这个消息可以包含挑战者的名称。证明者设备将包括数字n的设备证书(例如平台类证书)发送给挑战者(在504中)。证明者设备中的TPM创建AIK私钥-公钥对(在506中)。所述私钥-公钥对包括公钥和私钥。在一种实施方案中,TPM可能已在早些时候创建了AIK私钥-公钥对。TPM创建或生成值h(在508中)。可以用多种方式来确定值h,包括随机地生成值h,以及按照确定的方式来生成值h。h值应当具有以下性质,即hn=1 mod P,并且TPM为每个挑战者使用不同的h值。
在本发明的一种实施方案中,可以以随机或伪随机的方式生成值h。例如,TPM可以在1和n-1之间选择一个随机数j,并且计算h=ju mod P。
TPM计算k值,k=hm mod P(在510中)。证明者设备然后向挑战者发送计算出的值h和k以及AIK公钥(在512中)。
在本发明的另一种实施方案中,可以用确定的方式生成值h。例如,TPM可以由挑战者的名称,以确定的方式来计算h。这样做的一种方法就是针对几个值计算Hi=HASH(i,挑战者的名称),其中的几个值例如是i=1,2,3…,10的10个值,然后令j=H1‖H2‖H3…‖H10的级联(concatenation)。然后,如上所述,TPM计算h=ju mod P,其中u如前面定义的u=(P-1)/n。TPM计算k值,k=hm mod P。证明者设备然后向挑战者发送计算出的值k以及AIK公钥。TPM的用户想要确保单个h不由多方使用,因为这将会破坏这个TPM与这些多方之间的匿名关系。因此,TPM或者证明者设备可能会保存它已使用的所有h值的列表,从而它能够禁止重复使用,或者至少能通知用户一个值是否被重复。在本发明的一种实现方式中,证明者设备还可以显示挑战者的名称,使得证明者设备的用户将会知道该名称。在这种实施方案中,挑战者确信对于每个TPM密钥,TPM在证明中所能具有的只有一个k=hm mod P。所以如果挑战者连同AIK一起存储了k,那么挑战者可以确信单个TPM未曾创建一个以上的AIK。这种方法可以被称为每个挑战者单个h的方法。
单个服务提供者可能建立多个挑战者,每一个都具有自己的名称,因而具有自己的h。不同的挑战者将无法将来自一个TPM的多个AIK关联起来。是否在其事务内允许有多个挑战者,这是由服务提供者在实现当中来决定的。
然后,证明者设备进行和挑战者之间的交互证明(IPl)(在514中),该证明IPl的内容是它知道一对值c和m,这对值满足m=ce mod n和k=hm mod P。证明者设备还进行在第二交互证明(IP2)中与挑战者之间的交互证明,所述第二交互证明指示出以h为底k的离散对数值位于Z和Z+W之间(在516中)。图6和7给出了这两个交互证明IP1和IP2的示例性实施方案。
图6是图示了在挑战者和证明者设备之间根据本发明的一种实施方案实现图5的交互证明IP1的一种方法的流程图。IP1可被用来证明TPM知道c和m值,其满足m=ce mod n和k=hm mod P,而不用TPM(证明者设备的一部分)泄露c或m。挑战者向证明者设备提供保证参数(AP),例如在10和40之间的值(在602中)。然后TPM随机地选择一个值x mod n(在604中)。TPM计算y值,使得x*y=c mod n,并且计算v值,使得v=h(xe mod n) mod P(在608中)。TPM将v值发送给挑战者(在610中)。TPM计算HASH(AIK公钥,x)和HASH(AIK公钥,y)的值(在611中)。然后挑战者选择接收x或y之一(在612中)。如果挑战者选择接收x,则TPM将x发送给挑战者(在614中)。挑战者检验v=h(xe mod n) mod P并且检验HASH(AIK公钥,x)已被正确发送(在616中)。否则,如果挑战者选择接收y(在618中),则TPM将y发送给挑战者,并且挑战者检验k=h(ye mod n) mod P并且检验HASH(AIK公钥,y)已被正确发送(在620中)。在本发明的一种实施方案中,这个检验方案被执行AP次(在622中)。
图7是图示了在挑战者和证明者设备之间根据本发明的一种实施方案实现图5的交互证明IP2的一种方法的流程图。IP2可被用来证明TPM知道m值,满足Z-W<m<Z+2*W以及k=hm mod P,而无需TPM泄露m。
挑战者向证明者设备提供保证参数(AP),例如在10和40之间的值(在701中)。TPM(证明者设备的一部分)随机地选择一个数t,满足0<t<W(在702中)。TPM计算g0=ht mod P(在704中)以及g1=g0*h(-w) mod P(在706中)。TPM生成两个随机的160位值R0和R1(在708中),计算H0=HASH(AIK公钥,g0,R0)以及H1=HASH(AIK公钥,g1,R1)(在710中),并且按随机顺序将H0和H1发送给挑战者(在712中)。
挑战者从两个选择中挑选一个,例如0或1选择。
如果挑战者挑选0选择,则TPM将t、R0、R1以及H0和H1的排序发送给挑战者(在716中)。挑战者计算g0=ht mod P和g1=h(t-W) mod P(在718中)。挑战者检查0<t<W(在720中)。挑战者还检查H0=HASH(AIK公钥,g0,R0)以及H1=HASH(AIK公钥,g1,R1)(在722中)。如果所有这些检查都通过的话,挑战者接受(在724中)。
如果挑战者挑选1选择,那么如果m+t处于Z和Z+W之间的话(在726中),则TPM发送m′=m+t、g0和R0(在728中),并且通知挑战者使用H0。挑战者检查H0=HASH(AIK公钥,g0,R0),m′处于Z和Z+W之间的区间中,以及g0*k=hm′mod P(在730中)。如果m+t>Z+W,则TPM发送m′=m-W+t、g1和R1(在732中),并且通知挑战者使用H1。挑战者检查H1=HASH(AIK公钥,g1,R1),Z<m′<Z+W,以及g1*k=hm′mod P(在734中)。如果以上检查全都通过的话,挑战者接受(在724中)。
在IP2的一种实施方案中,以上过程被重复AP次(在723中)。注意,如图6中的标号622处一样重复IP1的过程,和/或如图7中的标号723处一样重复IP2的过程,将使得未经授权的或欺骗性的证明者成功地向挑战者提供充分证明的可能性更低。也就是说,重复证明(例如IP1或IP2)AP次迫使证明者在每一轮都要成功,这只有2AP分之一的机会。
在TPM已经成功地完成上述IP1和IP2过程后,挑战者相信证明者设备/TPM知道m和c值,这两个值满足Z-W<m<Z+2*W并且c=md mod n。换言之,c是m的签名。对于所述区间中给定的值计算出m的签名,这等同于破坏了RSA。在不知道模数n的因数分解的情况下计算出所述区间中的任何值的签名,这是一项困难的计算问题。
在图6和7中描述的协议具有以下不足,即在TPM(证明者设备)和挑战者之间需要多轮次通信。然而,在本发明的另一种实施方案中,这些协议可以被转换成有限轮次的协议。
图8图示了根据本发明的一种实施方案,如何在有限数量的通信中实现直接证明,从而加速验证过程。TPM生成AIK私钥-公钥对,其包括AIK公钥和AIK私钥,并且将AIK公钥(或者只是AIK公钥的HASH)发送给挑战者(在802中)。挑战者选择保证参数(AP)(在804中),选择一组2*AP个随机位(CHOICES)(在806中),并且选择320个随机位的附加随机填充位(在808中)。然后,挑战者设置RAND=CHOICES‖随机填充位(在810中),计算出Commitment=(AIK公钥‖RAND),并且将Commitment的HASH发送给TPM,TPM将该值存储起来(在812中)。
TPM使用上述方法之一来确定与这个挑战者之间使用的h值,即或者使用随机方法生成h,或者在每个挑战者单个h的方法中由挑战者的名称生成h(在818中)。
不再如图6和7中所示地一次串行地计算出一个循环的值,TPM现在对于两个交互证明(IP1和IP2)生成所述方法所有轮次(循环)的所有计算结果,并且将为所有轮次计算出的所有值都发送给挑战者(在820中)。这组计算出的值将包括k,h;由每一轮次的IP1得到的v,HASH(AIK公钥,x)和HASH(AIK公钥,y);以及由每一轮次的IP2得到的H0和H1。然后,挑战者将RAND的值发送给TPM(在822中)。TPM检验Commitment的初始位是AIK公钥的hash,并且将RAND的初始2*AC位用作挑战者在协议期间的选择(在824中)。TPM基于这些选择准备所有轮次的响应,然后将所有这些响应发送回挑战者。
在有限通信版本的一种实施方案中,HASH(AIK公钥,x)和HASH(AIK公钥,y)不被发送给挑战者。类似地,H0的值是H0=HASH(g0,R0)而不是H0=HASH(AIK公钥,g0,R0),并且H1的值是H1=HASH(g1,R1)而不是H1=HASH(AIK公钥,g1,R1)。
在某些实现方式中,如果确定或怀疑TPM或其密钥已被损害(compromised),则可能期望允许挑战者废止该TPM。
挑战者可以确定证明者设备的TPM已被损害的一个实例是用于受损害TPM的密钥(c和m)可能被广泛地散步,例如万维网上的公布(posting)。在这种情况下,挑战者可以废止该TPM。例如,假设c0和m0是受损害TPM的已被公布的密钥。无论何时挑战者看到了h值,挑战者都要计算 k 0 = h m 0 mod P . 如果这与证明者所给出的k值匹配,则挑战者得知由证明者使用的m与受损害TPM的m0相匹配,因而挑战者将不会接受它。
在废止的另一种实施方案中,假设挑战者一直与AIK值一起存储着h和k值。那么当挑战者接收到受损害的密钥c0和m0时,挑战者可以进行检查,以发现已收到的h和k值中是否有使用所述受损害的密钥c0和m0而计算出的值。挑战者通过计算 k 0 = h m 0 mod P , 并且进行检查以发现这个值是否与他从TPM接收到的k值相匹配,从而完成上述操作。如果是的,则他废止对应的AIK值。如果正在使用每个挑战者单个h的方法,则由挑战者完成的计算要容易一些,这是因为挑战者只需计算出k0并且发现这个值是否与挑战者接收到的任何k值相匹配即可。
在挑战者可以确定密钥已被损害的另一个实例中,挑战者可以检测TPM的使用模式,该模式指示出已受到损害。例如,从不同证明者设备同时到挑战者的两个连接可以指示出一个受损害的密钥。如果使用的是每个挑战者单个h的方法,则挑战者将会得知两个连接使用了相同的m,因为与两个连接相关联的是相同的k=hm mod P。挑战者可以判定秘密值可能已受到损害,因而挑战者将不再接受使用该k值的任何直接证明。然后,来自所述TPM的秘密值可以不再与所述挑战者一起使用。然而,由于这个挑战者不知道m的值,所以该挑战者不能告诉任何其他挑战者不要使用来自所述TPM的秘密值,
在本发明的另一种实施方案中,如果一组挑战者中有一个挑战者判定某一TPM的秘密值可能已被损害,那么这组挑战者可以决定他们全都想要能够废止这些秘密值。要实现这一特性,需要对前面已经描述的本发明的实施方案进行修改。修改包括如何确定h的值。形成一个可信废止机构(TRA)。TRA具有公共检验、私有签名密钥对(例如标准RSA密钥对)。使用某种安全的分发方法将TRA公钥提供给TPM,所述方法例如是让制造者在制造期间将所述密钥放入TPM中。
TRA生成g值,使得gn=1 mod P。TRA可以通过生成1和P之间的g′值,然后计算g=g′u mod P而生成g值。然后对于所述组的每一个挑战者,TRA将在1和n之间随机地挑选一个指数(EXP),并且计算h=gEXP mod P。然后,TRA用这个挑战者的名称以及这个h值在证书中为该证书签名。TRA安全地存储用来为每个挑战者创建h的EXP。
当TPM与所述组的某个挑战者之间发起直接证明时,所述挑战者发送对于所述h值的这个证书。TPM通过检查TRA的签名来验证这个证书。如果合法,则TPM使用这个h值,而不用像在先前实施方案中所描述的那样生成一个h值。直接证明的其他方面保持不变。
当将h1作为其h值的挑战者1宣告它想要废止创建了 k 1 = h 1 m mod P 的TPM时,TRA获取EXP值EXP1,该值被用来计算 h 1 = g EX P 1 mod P 。注意,挑战者1和TRA都不会知道挑战者1想要废止的TPM中的m值。为了告诉挑战者i将废止的k值,TRA计算 b 1 = EXP 1 ( - 1 ) mod n , 然后计算 k i = k 1 ( EXP i * b 1 ) mod P . 注意, k i = h i m mod P . 注意,TRA在这一计算过程中没有计算m;ki然后被发送给挑战者i,然后挑战者i可以废止ki,如果它想要这么做的话。
虽然在附图中已经示出并且描述了本发明的某些示例性的实施方案,但是可以理解的是,这些实施方案对于本发明各种实施方案的宽广方面而言仅仅是示例性的而非限制性的,这些实施方案不被限制在所示出并描述的具体解释和布置中,因为各种其他修改都是可能的。可以用硬件、可编程器件、固件、软件或它们的组合来实现本发明的多种实施方案或者它们的某些特征。

Claims (6)

1.一种使挑战者设备(102)相信证明者设备(104)知道已知实体的合法签名的方法,包括:
从证明者设备接收交互证明中的第一值k和第二值h,以使所述挑战者设备相信所述证明者设备知道所述合法签名(514),其中所述交互证明没有向所述挑战者设备泄露所述合法签名,所述第一值k是在所述证明者设备中基于单向函数生成的(510),而第二值h是由所述证明者设备生成的独有数字;
其特征在于,
从所述证明者设备接收公钥(512),其中所述公钥是在所述证明者设备中生成的私钥-公钥对中的一部分(506);
保存废止列表,该废止列表中的信息对应于被认为受到损害的一个或多个证明者设备,所述信息包含受损害签名;
用所述第二值h和来自所述废止列表的信息m0计算第三值k0;以及
将来自所述证明者设备的交互证明的第一值k与所述第三值k0进行比较,以便无需泄露所述签名,就使所述挑战者设备相信所述证明者设备所知道的签名没有在受损害签名的废止列表中,
其中,所述k值被定义为k=hm mod P,m是随机生成的数字,并且P是一个大的质数,并且
所述k0值被定义为
Figure FSB00000360123700011
2.如权利要求1所述的方法,其特征在于,所述挑战者设备还接收用于所述证明者设备的设备证书(504)。
3.如权利要求1或2所述的方法,其特征在于,所述交互证明没有向所述挑战者设备泄露所述证明者设备的身份。
4.一种使挑战者设备(102)相信证明者设备(104)知道已知实体的合法签名的设备,包括:
用于从证明者设备(104)接收交互证明中的第一值k和第二值h,以使所述挑战者设备相信所述证明者设备知道合法签名(514)的装置,其中所述交互证明没有向所述挑战者设备泄露所述合法签名,所述第一值k是在所述证明者设备中基于单向函数生成的(510),而第二值h是由所述证明者设备生成的独有数字;
用于从所述证明者设备接收公钥(512)的装置,其中所述公钥是在所述证明者设备中生成的私钥-公钥对中的一部分(506);
用于保存废止列表的装置,其中所述废止列表中的信息对应于被认为受到损害的一个或多个证明者设备,所述信息包含受损害签名;
用所述第二值h和来自所述废止列表的信息m0计算第三值k0的装置;以及
用于将来自所述证明者设备的交互证明的第一值h与所述第三值k0进行比较,以便无需泄露所述签名,就使所述挑战者设备相信所述证明者设备所知道的签名没有在受损害签名的废止列表中的装置,
其中,所述k值被定义为k=hm mod P,m是随机生成的数字,并且P是一个大的质数,并且
所述k0值被定义为
5.如权利要求4所述的设备,其特征在于,进一步包括:用于接收用于所述证明者设备的设备证书(504)的装置。
6.如权利要求4或5所述的设备,其特征在于,所述交互证明没有向所述挑战者设备泄露所述证明者设备的身份。
CN2003801042088A 2002-11-27 2003-11-06 用于在不泄露身份的情况下建立信任的系统和方法 Expired - Lifetime CN1717895B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/306,336 US7165181B2 (en) 2002-11-27 2002-11-27 System and method for establishing trust without revealing identity
US10/306,336 2002-11-27
PCT/US2003/035498 WO2004051923A1 (en) 2002-11-27 2003-11-06 System and method for establishing trust without revealing identity

Publications (2)

Publication Number Publication Date
CN1717895A CN1717895A (zh) 2006-01-04
CN1717895B true CN1717895B (zh) 2011-06-08

Family

ID=32325661

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2003801042088A Expired - Lifetime CN1717895B (zh) 2002-11-27 2003-11-06 用于在不泄露身份的情况下建立信任的系统和方法

Country Status (7)

Country Link
US (2) US7165181B2 (zh)
EP (1) EP1566011A1 (zh)
JP (1) JP2006508608A (zh)
KR (1) KR100715738B1 (zh)
CN (1) CN1717895B (zh)
AU (1) AU2003287567A1 (zh)
WO (1) WO2004051923A1 (zh)

Families Citing this family (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7308576B2 (en) * 2001-12-31 2007-12-11 Intel Corporation Authenticated code module
US7631196B2 (en) * 2002-02-25 2009-12-08 Intel Corporation Method and apparatus for loading a trustable operating system
FR2842052B1 (fr) * 2002-07-05 2004-09-24 France Telecom Procede et dispositifs cryptographiques permettant d'alleger les calculs au cours de transactions
US8239917B2 (en) 2002-10-16 2012-08-07 Enterprise Information Management, Inc. Systems and methods for enterprise security with collaborative peer to peer architecture
US7840806B2 (en) * 2002-10-16 2010-11-23 Enterprise Information Management, Inc. System and method of non-centralized zero knowledge authentication for a computer network
GB0228760D0 (en) * 2002-12-10 2003-01-15 Koninkl Philips Electronics Nv Efficient implementation of zero knowledge protocols
US7318235B2 (en) * 2002-12-16 2008-01-08 Intel Corporation Attestation using both fixed token and portable token
US20050039016A1 (en) * 2003-08-12 2005-02-17 Selim Aissi Method for using trusted, hardware-based identity credentials in runtime package signature to secure mobile communications and high-value transaction execution
US20050044408A1 (en) * 2003-08-18 2005-02-24 Bajikar Sundeep M. Low pin count docking architecture for a trusted platform
US20050044292A1 (en) * 2003-08-19 2005-02-24 Mckeen Francis X. Method and apparatus to retain system control when a buffer overflow attack occurs
US7366305B2 (en) * 2003-09-30 2008-04-29 Intel Corporation Platform and method for establishing trust without revealing identity
US8464353B2 (en) * 2003-10-03 2013-06-11 Hewlett-Packard Development Company, L. P. Method and system for content downloads via an insecure communications channel to devices
WO2005038635A2 (en) * 2003-10-17 2005-04-28 International Business Machines Corporation Method and system for user attestation-signatures with attributes
US8037314B2 (en) 2003-12-22 2011-10-11 Intel Corporation Replacing blinded authentication authority
US9331990B2 (en) * 2003-12-22 2016-05-03 Assa Abloy Ab Trusted and unsupervised digital certificate generation using a security token
US7587607B2 (en) * 2003-12-22 2009-09-08 Intel Corporation Attesting to platform configuration
US20050144477A1 (en) * 2003-12-30 2005-06-30 Ball Charles D. Apparatus, system, and method for shared access to secure computing resources
US7526649B2 (en) * 2003-12-30 2009-04-28 Intel Corporation Session key exchange
US7802085B2 (en) * 2004-02-18 2010-09-21 Intel Corporation Apparatus and method for distributing private keys to an entity with minimal secret, unique information
US7581107B2 (en) * 2004-05-28 2009-08-25 International Business Machines Corporation Anonymity revocation
US7490070B2 (en) * 2004-06-10 2009-02-10 Intel Corporation Apparatus and method for proving the denial of a direct proof signature
EP1617587A1 (en) * 2004-07-12 2006-01-18 International Business Machines Corporation Method, system and computer program product for privacy-protecting integrity attestation of computing platform
US7693286B2 (en) * 2004-07-14 2010-04-06 Intel Corporation Method of delivering direct proof private keys in signed groups to devices using a distribution CD
KR100883442B1 (ko) * 2004-07-14 2009-02-11 인텔 코포레이션 온라인 서비스를 사용하여 직접 증명 비밀키를 디바이스에전달하는 방법
KR100897075B1 (ko) 2004-07-14 2009-05-14 인텔 코오퍼레이션 배포 cd를 사용하는 장치에 서명 그룹의 다이렉트 증명개인 키들을 전달하는 방법
US7697691B2 (en) * 2004-07-14 2010-04-13 Intel Corporation Method of delivering Direct Proof private keys to devices using an on-line service
US7792303B2 (en) * 2004-07-14 2010-09-07 Intel Corporation Method of delivering direct proof private keys to devices using a distribution CD
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
US7770000B2 (en) * 2005-05-02 2010-08-03 International Business Machines Corporation Method and device for verifying the security of a computing platform
US7809957B2 (en) 2005-09-29 2010-10-05 Intel Corporation Trusted platform module for generating sealed data
US8014530B2 (en) 2006-03-22 2011-09-06 Intel Corporation Method and apparatus for authenticated, recoverable key distribution with no database secrets
WO2007124091A1 (en) * 2006-04-21 2007-11-01 Interdigital Technology Corporation Apparatus and methods for performing trusted computing integrity measurement reporting
US20070269040A1 (en) * 2006-05-16 2007-11-22 Microsoft Corporation Cryptographic Protocol for Commonly Controlled Devices
US8555072B2 (en) * 2006-08-31 2013-10-08 International Business Machines Corporation Attestation of computing platforms
US8145897B2 (en) 2008-09-29 2012-03-27 Intel Corporation Direct anonymous attestation scheme with outsourcing capability
WO2011009051A1 (en) * 2009-07-16 2011-01-20 Assa Abloy Ab Blind verification of computer firmware
US8418259B2 (en) * 2010-01-05 2013-04-09 Microsoft Corporation TPM-based license activation and validation
CN102096778B (zh) * 2010-12-07 2013-01-23 中国科学院软件研究所 基于椭圆曲线和双线性对密码体制的直接匿名证明方法
US9087196B2 (en) 2010-12-24 2015-07-21 Intel Corporation Secure application attestation using dynamic measurement kernels
US8595505B2 (en) 2011-09-28 2013-11-26 Intel Corporation Apparatus and method for direct anonymous attestation from bilinear maps
US9323950B2 (en) * 2012-07-19 2016-04-26 Atmel Corporation Generating signatures using a secure device
US9516007B2 (en) * 2012-12-05 2016-12-06 Sony Corporation Verifier and prover have an authentication protocol with challenge-response with the challenge from prover having identification of the verifier
US9118467B2 (en) 2013-03-13 2015-08-25 Atmel Corporation Generating keys using secure hardware
KR101508521B1 (ko) * 2014-01-03 2015-04-07 고려대학교 산학협력단 Lpn 문제 기반의 경량 인증 및 거리 한정 프로토콜 제공 시스템 및 방법
US10474823B2 (en) 2016-02-16 2019-11-12 Atmel Corporation Controlled secure code authentication
US10482255B2 (en) 2016-02-16 2019-11-19 Atmel Corporation Controlled secure code authentication
US10616197B2 (en) 2016-04-18 2020-04-07 Atmel Corporation Message authentication with secure code verification
US11301590B2 (en) * 2018-09-05 2022-04-12 International Business Machines Corporation Unfalsifiable audit logs for a blockchain
US11218330B2 (en) * 2019-03-25 2022-01-04 Micron Technology, Inc. Generating an identity for a computing device using a physical unclonable function
US11361660B2 (en) 2019-03-25 2022-06-14 Micron Technology, Inc. Verifying identity of an emergency vehicle during operation
US11233650B2 (en) 2019-03-25 2022-01-25 Micron Technology, Inc. Verifying identity of a vehicle entering a trust zone
US11323275B2 (en) 2019-03-25 2022-05-03 Micron Technology, Inc. Verification of identity using a secret key
JP2022548149A (ja) * 2019-09-16 2022-11-16 ヌードル テクノロジー インコーポレイテッド デバイス証明書のプロビジョニングおよび認証
CN110768791B (zh) * 2019-09-24 2022-11-04 北京八分量信息科技有限公司 一种零知识证明的数据交互方法、节点、设备
CN111031365B (zh) * 2020-01-13 2022-01-21 深圳市网安信科技有限公司 一种适用于云端广播电视网的用户认证系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5604805A (en) * 1994-02-28 1997-02-18 Brands; Stefanus A. Privacy-protected transfer of electronic information
US5633929A (en) * 1995-09-15 1997-05-27 Rsa Data Security, Inc Cryptographic key escrow system having reduced vulnerability to harvesting attacks

Family Cites Families (176)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3699532A (en) * 1970-04-21 1972-10-17 Singer Co Multiprogramming control for a data handling system
US3996449A (en) * 1975-08-25 1976-12-07 International Business Machines Corporation Operating system authenticator
US4162536A (en) * 1976-01-02 1979-07-24 Gould Inc., Modicon Div. Digital input/output system and method
US4037214A (en) 1976-04-30 1977-07-19 International Business Machines Corporation Key register controlled accessing system
US4247905A (en) * 1977-08-26 1981-01-27 Sharp Kabushiki Kaisha Memory clear system
US4278837A (en) * 1977-10-31 1981-07-14 Best Robert M Crypto microprocessor for executing enciphered programs
US4276594A (en) * 1978-01-27 1981-06-30 Gould Inc. Modicon Division Digital computer with multi-processor capability utilizing intelligent composite memory and input/output modules and method for performing the same
US4207609A (en) * 1978-05-08 1980-06-10 International Business Machines Corporation Method and means for path independent device reservation and reconnection in a multi-CPU and shared device access system
JPS5823570B2 (ja) * 1978-11-30 1983-05-16 国産電機株式会社 液面検出装置
JPS5576447A (en) * 1978-12-01 1980-06-09 Fujitsu Ltd Address control system for software simulation
US4307447A (en) * 1979-06-19 1981-12-22 Gould Inc. Programmable controller
US4529870A (en) 1980-03-10 1985-07-16 David Chaum Cryptographic identification, financial transaction, and credential device
US4319323A (en) * 1980-04-04 1982-03-09 Digital Equipment Corporation Communications device for data processing system
US4419724A (en) * 1980-04-14 1983-12-06 Sperry Corporation Main bus interface package
US4366537A (en) * 1980-05-23 1982-12-28 International Business Machines Corp. Authorization mechanism for transfer of program control or data between different address spaces having different storage protect keys
US4403283A (en) * 1980-07-28 1983-09-06 Ncr Corporation Extended memory system and method
DE3034581A1 (de) * 1980-09-13 1982-04-22 Robert Bosch Gmbh, 7000 Stuttgart Auslesesicherung bei einchip-mikroprozessoren
JPS58140862A (ja) 1982-02-16 1983-08-20 Toshiba Corp 相互排他方式
US4521852A (en) * 1982-06-30 1985-06-04 Texas Instruments Incorporated Data processing device formed on a single semiconductor substrate having secure memory
JPS59111561A (ja) * 1982-12-17 1984-06-27 Hitachi Ltd 複合プロセツサ・システムのアクセス制御方式
US4759064A (en) * 1985-10-07 1988-07-19 Chaum David L Blind unanticipated signature systems
US4975836A (en) * 1984-12-19 1990-12-04 Hitachi, Ltd. Virtual computer system
JPS61206057A (ja) * 1985-03-11 1986-09-12 Hitachi Ltd アドレス変換装置
FR2592510B1 (fr) * 1985-12-31 1988-02-12 Bull Cp8 Procede et appareil pour certifier des services obtenus a l'aide d'un support portatif tel qu'une carte a memoire
FR2601535B1 (fr) * 1986-07-11 1988-10-21 Bull Cp8 Procede pour certifier l'authenticite d'une donnee echangee entre deux dispositifs connectes en local ou a distance par une ligne de transmission
FR2601476B1 (fr) * 1986-07-11 1988-10-21 Bull Cp8 Procede pour authentifier une donnee d'habilitation externe par un objet portatif tel qu'une carte a memoire
FR2601525B1 (fr) * 1986-07-11 1988-10-21 Bull Cp8 Dispositif de securite interdisant le fonctionnement d'un ensemble electronique apres une premiere coupure de son alimentation electrique
FR2618002B1 (fr) * 1987-07-10 1991-07-05 Schlumberger Ind Sa Procede et systeme d'authentification de cartes a memoire electronique
US5007082A (en) * 1988-08-03 1991-04-09 Kelly Services, Inc. Computer software encryption apparatus
US5079737A (en) * 1988-10-25 1992-01-07 United Technologies Corporation Memory management unit for the MIL-STD 1750 bus
US5434999A (en) 1988-11-09 1995-07-18 Bull Cp8 Safeguarded remote loading of service programs by authorizing loading in protected memory zones in a terminal
FR2640798B1 (fr) 1988-12-20 1993-01-08 Bull Cp8 Dispositif de traitement de donnees comportant une memoire non volatile electriquement effacable et reprogrammable
JPH02171934A (ja) * 1988-12-26 1990-07-03 Hitachi Ltd 仮想計算機システム
JPH02208740A (ja) * 1989-02-09 1990-08-20 Fujitsu Ltd 仮想計算機制御方式
JPH0617217B2 (ja) * 1989-02-28 1994-03-09 水澤化学工業株式会社 非晶質シリカ・アルミナ系球状粒子及びその製法
US5442645A (en) 1989-06-06 1995-08-15 Bull Cp8 Method for checking the integrity of a program or data, and apparatus for implementing this method
JP2590267B2 (ja) 1989-06-30 1997-03-12 株式会社日立製作所 仮想計算機における表示制御方式
US5022077A (en) * 1989-08-25 1991-06-04 International Business Machines Corp. Apparatus and method for preventing unauthorized access to BIOS in a personal computer system
JP2825550B2 (ja) * 1989-09-21 1998-11-18 株式会社日立製作所 多重仮想空間アドレス制御方法および計算機システム
CA2010591C (en) 1989-10-20 1999-01-26 Phillip M. Adams Kernels, description tables and device drivers
CA2027799A1 (en) 1989-11-03 1991-05-04 David A. Miller Method and apparatus for independently resetting processors and cache controllers in multiple processor systems
US5075842A (en) * 1989-12-22 1991-12-24 Intel Corporation Disabling tag bit recognition and allowing privileged operations to occur in an object-oriented memory protection mechanism
US5108590A (en) * 1990-09-12 1992-04-28 Disanto Dennis Water dispenser
US5230069A (en) * 1990-10-02 1993-07-20 International Business Machines Corporation Apparatus and method for providing private and shared access to host address and data spaces by guest programs in a virtual machine computer system
US5317705A (en) * 1990-10-24 1994-05-31 International Business Machines Corporation Apparatus and method for TLB purge reduction in a multi-level machine system
US5287363A (en) * 1991-07-01 1994-02-15 Disk Technician Corporation System for locating and anticipating data storage media failures
US5437033A (en) 1990-11-16 1995-07-25 Hitachi, Ltd. System for recovery from a virtual machine monitor failure with a continuous guest dispatched to a nonguest mode
US5255379A (en) * 1990-12-28 1993-10-19 Sun Microsystems, Inc. Method for automatically transitioning from V86 mode to protected mode in a computer system using an Intel 80386 or 80486 processor
US5453003A (en) 1991-01-09 1995-09-26 Pfefferle; William C. Catalytic method
US5446904A (en) * 1991-05-17 1995-08-29 Zenith Data Systems Corporation Suspend/resume capability for a protected mode microprocessor
US5522075A (en) 1991-06-28 1996-05-28 Digital Equipment Corporation Protection ring extension for computers having distinct virtual machine monitor and virtual machine address spaces
US5319760A (en) * 1991-06-28 1994-06-07 Digital Equipment Corporation Translation buffer for virtual machines with address space match
US5455909A (en) 1991-07-05 1995-10-03 Chips And Technologies Inc. Microprocessor with operation capture facility
JPH06236284A (ja) * 1991-10-21 1994-08-23 Intel Corp コンピュータシステム処理状態を保存及び復元する方法及びコンピュータシステム
US5627987A (en) 1991-11-29 1997-05-06 Kabushiki Kaisha Toshiba Memory management and protection system for virtual memory in computer system
US5574936A (en) * 1992-01-02 1996-11-12 Amdahl Corporation Access control mechanism controlling access to and logical purging of access register translation lookaside buffer (ALB) in a computer system
US5486529A (en) 1992-04-16 1996-01-23 Zeneca Limited Certain pyridyl ketones for treating diseases involving leukocyte elastase
US5421006A (en) 1992-05-07 1995-05-30 Compaq Computer Corp. Method and apparatus for assessing integrity of computer system software
US5237616A (en) * 1992-09-21 1993-08-17 International Business Machines Corporation Secure computer system having privileged and unprivileged memories
US5293424A (en) * 1992-10-14 1994-03-08 Bull Hn Information Systems Inc. Secure memory card
US5796835A (en) 1992-10-27 1998-08-18 Bull Cp8 Method and system for writing information in a data carrier making it possible to later certify the originality of this information
JP2765411B2 (ja) 1992-11-30 1998-06-18 株式会社日立製作所 仮想計算機方式
US5668971A (en) * 1992-12-01 1997-09-16 Compaq Computer Corporation Posted disk read operations performed by signalling a disk read complete to the system prior to completion of data transfer
JPH06187178A (ja) * 1992-12-18 1994-07-08 Hitachi Ltd 仮想計算機システムの入出力割込み制御方法
US5483656A (en) * 1993-01-14 1996-01-09 Apple Computer, Inc. System for managing power consumption of devices coupled to a common bus
US5469557A (en) * 1993-03-05 1995-11-21 Microchip Technology Incorporated Code protection in microcontroller with EEPROM fuses
FR2703800B1 (fr) 1993-04-06 1995-05-24 Bull Cp8 Procédé de signature d'un fichier informatique, et dispositif pour la mise en Óoeuvre.
US5628023A (en) 1993-04-19 1997-05-06 International Business Machines Corporation Virtual storage computer system having methods and apparatus for providing token-controlled access to protected pages of memory via a token-accessible view
FR2704341B1 (fr) 1993-04-22 1995-06-02 Bull Cp8 Dispositif de protection des clés d'une carte à puce.
JPH06348867A (ja) 1993-06-04 1994-12-22 Hitachi Ltd マイクロコンピュータ
FR2706210B1 (fr) 1993-06-08 1995-07-21 Bull Cp8 Procédé d'authentification d'un objet portatif par un terminal hors ligne, objet portatif et terminal correspondants.
US5444850A (en) * 1993-08-04 1995-08-22 Trend Micro Devices Incorporated Method and apparatus for controlling network and workstation access prior to workstation boot
US5555385A (en) * 1993-10-27 1996-09-10 International Business Machines Corporation Allocation of address spaces within virtual machine compute system
US5825880A (en) * 1994-01-13 1998-10-20 Sudia; Frank W. Multi-step digital signature method and system
US5459869A (en) 1994-02-17 1995-10-17 Spilo; Michael L. Method for providing protected mode services for device drivers and other resident software
FR2717286B1 (fr) 1994-03-09 1996-04-05 Bull Cp8 Procédé et dispositif pour authentifier un support de données destiné à permettre une transaction ou l'accès à un service ou à un lieu, et support correspondant.
US5684881A (en) 1994-05-23 1997-11-04 Matsushita Electric Industrial Co., Ltd. Sound field and sound image control apparatus and method
US5473692A (en) 1994-09-07 1995-12-05 Intel Corporation Roving software license for a hardware agent
US5539828A (en) 1994-05-31 1996-07-23 Intel Corporation Apparatus and method for providing secured communications
JPH0883211A (ja) * 1994-09-12 1996-03-26 Mitsubishi Electric Corp データ処理装置
DE69534757T2 (de) * 1994-09-15 2006-08-31 International Business Machines Corp. System und Verfahren zur sicheren Speicherung und Verteilung von Daten unter Verwendung digitaler Unterschriften
US6058478A (en) * 1994-09-30 2000-05-02 Intel Corporation Apparatus and method for a vetted field upgrade
FR2725537B1 (fr) 1994-10-11 1996-11-22 Bull Cp8 Procede de chargement d'une zone memoire protegee d'un dispositif de traitement de l'information et dispositif associe
US5903752A (en) 1994-10-13 1999-05-11 Intel Corporation Method and apparatus for embedding a real-time multi-tasking kernel in a non-real-time operating system
US5606617A (en) 1994-10-14 1997-02-25 Brands; Stefanus A. Secret-key certificates
US5564040A (en) * 1994-11-08 1996-10-08 International Business Machines Corporation Method and apparatus for providing a server function in a logically partitioned hardware machine
US5560013A (en) * 1994-12-06 1996-09-24 International Business Machines Corporation Method of using a target processor to execute programs of a source architecture that uses multiple address spaces
US5555414A (en) * 1994-12-14 1996-09-10 International Business Machines Corporation Multiprocessing system including gating of host I/O and external enablement to guest enablement at polling intervals
US5615263A (en) 1995-01-06 1997-03-25 Vlsi Technology, Inc. Dual purpose security architecture with protected internal operating system
US5764969A (en) 1995-02-10 1998-06-09 International Business Machines Corporation Method and system for enhanced management operation utilizing intermixed user level and supervisory level instructions with partial concept synchronization
FR2731536B1 (fr) 1995-03-10 1997-04-18 Schlumberger Ind Sa Procede d'inscription securisee d'informations dans un support portable
US5717903A (en) 1995-05-15 1998-02-10 Compaq Computer Corporation Method and appartus for emulating a peripheral device to allow device driver development before availability of the peripheral device
JP3451595B2 (ja) 1995-06-07 2003-09-29 インターナショナル・ビジネス・マシーンズ・コーポレーション 二つの別個の命令セット・アーキテクチャへの拡張をサポートすることができるアーキテクチャ・モード制御を備えたマイクロプロセッサ
US5684948A (en) * 1995-09-01 1997-11-04 National Semiconductor Corporation Memory management circuit which provides simulated privilege levels
US5737760A (en) 1995-10-06 1998-04-07 Motorola Inc. Microcontroller with security logic circuit which prevents reading of internal memory by external program
US6093213A (en) * 1995-10-06 2000-07-25 Advanced Micro Devices, Inc. Flexible implementation of a system management mode (SMM) in a processor
JP3693721B2 (ja) 1995-11-10 2005-09-07 Necエレクトロニクス株式会社 フラッシュメモリ内蔵マイクロコンピュータ及びそのテスト方法
US5657445A (en) 1996-01-26 1997-08-12 Dell Usa, L.P. Apparatus and method for limiting access to mass storage devices in a computer system
US5835594A (en) 1996-02-09 1998-11-10 Intel Corporation Methods and apparatus for preventing unauthorized write access to a protected non-volatile storage
US5815665A (en) * 1996-04-03 1998-09-29 Microsoft Corporation System and method for providing trusted brokering services over a distributed network
US5809546A (en) * 1996-05-23 1998-09-15 International Business Machines Corporation Method for managing I/O buffers in shared storage by structuring buffer table having entries including storage keys for controlling accesses to the buffers
US6205550B1 (en) * 1996-06-13 2001-03-20 Intel Corporation Tamper resistant methods and apparatus
US6178509B1 (en) * 1996-06-13 2001-01-23 Intel Corporation Tamper resistant methods and apparatus
US6175925B1 (en) * 1996-06-13 2001-01-16 Intel Corporation Tamper resistant player for scrambled contents
US5729760A (en) 1996-06-21 1998-03-17 Intel Corporation System for providing first type access to register if processor in first mode and second type access to register if processor not in first mode
US6199152B1 (en) * 1996-08-22 2001-03-06 Transmeta Corporation Translated memory protection apparatus for an advanced microprocessor
US5740178A (en) * 1996-08-29 1998-04-14 Lucent Technologies Inc. Software for controlling a reliable backup memory
US6055637A (en) * 1996-09-27 2000-04-25 Electronic Data Systems Corporation System and method for accessing enterprise-wide resources by presenting to the resource a temporary credential
US5844986A (en) 1996-09-30 1998-12-01 Intel Corporation Secure BIOS
US5852717A (en) 1996-11-20 1998-12-22 Shiva Corporation Performance optimizations for computer networks utilizing HTTP
DE19649292A1 (de) * 1996-11-28 1998-06-04 Deutsche Telekom Ag Verfahren zum Sichern eines durch eine Schlüsselhierarchie geschützten Systems
US5901225A (en) 1996-12-05 1999-05-04 Advanced Micro Devices, Inc. System and method for performing software patches in embedded systems
US5757919A (en) 1996-12-12 1998-05-26 Intel Corporation Cryptographically protected paging subsystem
US6412035B1 (en) * 1997-02-03 2002-06-25 Real Time, Inc. Apparatus and method for decreasing the response times of interrupt service routines
JP4000654B2 (ja) * 1997-02-27 2007-10-31 セイコーエプソン株式会社 半導体装置及び電子機器
US6557104B2 (en) * 1997-05-02 2003-04-29 Phoenix Technologies Ltd. Method and apparatus for secure processing of cryptographic keys
US6044478A (en) * 1997-05-30 2000-03-28 National Semiconductor Corporation Cache with finely granular locked-down regions
US6075938A (en) * 1997-06-10 2000-06-13 The Board Of Trustees Of The Leland Stanford Junior University Virtual machine monitors for scalable multiprocessors
US6175924B1 (en) * 1997-06-20 2001-01-16 International Business Machines Corp. Method and apparatus for protecting application data in secure storage areas
US6035374A (en) * 1997-06-25 2000-03-07 Sun Microsystems, Inc. Method of executing coded instructions in a multiprocessor having shared execution resources including active, nap, and sleep states in accordance with cache miss latency
US6014745A (en) * 1997-07-17 2000-01-11 Silicon Systems Design Ltd. Protection for customer programs (EPROM)
US5978475A (en) * 1997-07-18 1999-11-02 Counterpane Internet Security, Inc. Event auditing system
US6212635B1 (en) * 1997-07-18 2001-04-03 David C. Reardon Network security system allowing access and modification to a security subsystem after initial installation when a master token is in place
US5919257A (en) * 1997-08-08 1999-07-06 Novell, Inc. Networked workstation intrusion detection system
DE19735948C1 (de) * 1997-08-19 1998-10-01 Siemens Nixdorf Inf Syst Verfahren zur Verbesserung der Steuerungsmöglichkeit in Datenverarbeitungsanlagen mit Adreßübersetzung
US5935247A (en) * 1997-09-18 1999-08-10 Geneticware Co., Ltd. Computer system having a genetic code that cannot be directly accessed and a method of maintaining the same
US6182089B1 (en) * 1997-09-23 2001-01-30 Silicon Graphics, Inc. Method, system and computer program product for dynamically allocating large memory pages of different sizes
US6061794A (en) * 1997-09-30 2000-05-09 Compaq Computer Corp. System and method for performing secure device communications in a peer-to-peer bus architecture
US6357004B1 (en) * 1997-09-30 2002-03-12 Intel Corporation System and method for ensuring integrity throughout post-processing
US6378072B1 (en) * 1998-02-03 2002-04-23 Compaq Computer Corporation Cryptographic system
US6108644A (en) * 1998-02-19 2000-08-22 At&T Corp. System and method for electronic transactions
US6131166A (en) * 1998-03-13 2000-10-10 Sun Microsystems, Inc. System and method for cross-platform application level power management
US6192455B1 (en) * 1998-03-30 2001-02-20 Intel Corporation Apparatus and method for preventing access to SMRAM space through AGP addressing
US6374286B1 (en) * 1998-04-06 2002-04-16 Rockwell Collins, Inc. Real time processor capable of concurrently running multiple independent JAVA machines
US6173417B1 (en) * 1998-04-30 2001-01-09 Intel Corporation Initializing and restarting operating systems
US6397242B1 (en) * 1998-05-15 2002-05-28 Vmware, Inc. Virtualization system including a virtual machine monitor for a computer with a segmented architecture
US6473800B1 (en) * 1998-07-15 2002-10-29 Microsoft Corporation Declarative permission requests in a computer system
US6339815B1 (en) * 1998-08-14 2002-01-15 Silicon Storage Technology, Inc. Microcontroller system having allocation circuitry to selectively allocate and/or hide portions of a program memory address space
US6505279B1 (en) * 1998-08-14 2003-01-07 Silicon Storage Technology, Inc. Microcontroller system having security circuitry to selectively lock portions of a program memory address space
US6363485B1 (en) * 1998-09-09 2002-03-26 Entrust Technologies Limited Multi-factor biometric authenticating device and method
US7194092B1 (en) * 1998-10-26 2007-03-20 Microsoft Corporation Key-based secure storage
US6609199B1 (en) * 1998-10-26 2003-08-19 Microsoft Corporation Method and apparatus for authenticating an open system application to a portable IC device
US6330670B1 (en) * 1998-10-26 2001-12-11 Microsoft Corporation Digital rights management operating system
US6327652B1 (en) * 1998-10-26 2001-12-04 Microsoft Corporation Loading and identifying a digital rights management operating system
US6138239A (en) * 1998-11-13 2000-10-24 N★Able Technologies, Inc. Method and system for authenticating and utilizing secure resources in a computer system
US6282650B1 (en) * 1999-01-25 2001-08-28 Intel Corporation Secure public digital watermark
US6560627B1 (en) * 1999-01-28 2003-05-06 Cisco Technology, Inc. Mutual exclusion at the record level with priority inheritance for embedded systems using one semaphore
US7111290B1 (en) * 1999-01-28 2006-09-19 Ati International Srl Profiling program execution to identify frequently-executed portions and to assist binary translation
US6188257B1 (en) * 1999-02-01 2001-02-13 Vlsi Technology, Inc. Power-on-reset logic with secure power down capability
US6988250B1 (en) * 1999-02-15 2006-01-17 Hewlett-Packard Development Company, L.P. Trusted computing platform using a trusted device assembly
US7225333B2 (en) * 1999-03-27 2007-05-29 Microsoft Corporation Secure processor architecture for use with a digital rights management (DRM) system on a computing device
US6615278B1 (en) * 1999-03-29 2003-09-02 International Business Machines Corporation Cross-platform program, system, and method having a global registry object for mapping registry equivalent functions in an OS/2 operating system environment
US6684326B1 (en) * 1999-03-31 2004-01-27 International Business Machines Corporation Method and system for authenticated boot operations in a computer system of a networked computing environment
US6651171B1 (en) * 1999-04-06 2003-11-18 Microsoft Corporation Secure execution of program code
US6389537B1 (en) * 1999-04-23 2002-05-14 Intel Corporation Platform and method for assuring integrity of trusted agent communications
US6275933B1 (en) * 1999-04-30 2001-08-14 3Com Corporation Security system for a computerized apparatus
US6529909B1 (en) * 1999-08-31 2003-03-04 Accenture Llp Method for translating an object attribute converter in an information services patterns environment
JP2001148344A (ja) * 1999-09-09 2001-05-29 Nikon Corp 露光装置、エネルギ源の出力制御方法、該方法を用いるレーザ装置、及びデバイス製造方法
US6535988B1 (en) * 1999-09-29 2003-03-18 Intel Corporation System for detecting over-clocking uses a reference signal thereafter preventing over-clocking by reducing clock rate
US6374317B1 (en) * 1999-10-07 2002-04-16 Intel Corporation Method and apparatus for initializing a computer interface
JP3710671B2 (ja) * 2000-03-14 2005-10-26 シャープ株式会社 1チップマイクロコンピュータ及びそれを用いたicカード、並びに1チップマイクロコンピュータのアクセス制御方法
US6507904B1 (en) * 2000-03-31 2003-01-14 Intel Corporation Executing isolated mode instructions in a secure system running in privilege rings
US6678825B1 (en) * 2000-03-31 2004-01-13 Intel Corporation Controlling access to multiple isolated memories in an isolated execution environment
US6976162B1 (en) * 2000-06-28 2005-12-13 Intel Corporation Platform and method for establishing provable identities while maintaining privacy
GB0020416D0 (en) * 2000-08-18 2000-10-04 Hewlett Packard Co Trusted system
US6948065B2 (en) * 2000-12-27 2005-09-20 Intel Corporation Platform and method for securely transmitting an authorization secret
US7631160B2 (en) * 2001-04-04 2009-12-08 Advanced Micro Devices, Inc. Method and apparatus for securing portions of memory
US6976136B2 (en) * 2001-05-07 2005-12-13 National Semiconductor Corporation Flash memory protection scheme for secured shared BIOS implementation in personal computers with an embedded controller
US7676430B2 (en) * 2001-05-09 2010-03-09 Lenovo (Singapore) Ptd. Ltd. System and method for installing a remote credit card authorization on a system with a TCPA complaint chipset
US20030018892A1 (en) * 2001-07-19 2003-01-23 Jose Tello Computer with a modified north bridge, security engine and smart card having a secure boot capability and method for secure booting a computer
US7191464B2 (en) * 2001-10-16 2007-03-13 Lenovo Pte. Ltd. Method and system for tracking a secure boot in a trusted computing environment
US7103771B2 (en) * 2001-12-17 2006-09-05 Intel Corporation Connecting a virtual token to a physical token
US20030126453A1 (en) * 2001-12-31 2003-07-03 Glew Andrew F. Processor supporting execution of an authenticated code instruction
US7107460B2 (en) * 2002-02-15 2006-09-12 International Business Machines Corporation Method and system for securing enablement access to a data security device
US7343493B2 (en) * 2002-03-28 2008-03-11 Lenovo (Singapore) Pte. Ltd. Encrypted file system using TCPA
US7028149B2 (en) * 2002-03-29 2006-04-11 Intel Corporation System and method for resetting a platform configuration register

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5604805A (en) * 1994-02-28 1997-02-18 Brands; Stefanus A. Privacy-protected transfer of electronic information
US5633929A (en) * 1995-09-15 1997-05-27 Rsa Data Security, Inc Cryptographic key escrow system having reduced vulnerability to harvesting attacks

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
傅锦伟,孙建宏.基于零知识证明的身份识别体制探讨.蒙自师范高等专科学校学报4 4.2002,4(4),60-64.
傅锦伟,孙建宏.基于零知识证明的身份识别体制探讨.蒙自师范高等专科学校学报4 4.2002,4(4),60-64. *

Also Published As

Publication number Publication date
US7165181B2 (en) 2007-01-16
CN1717895A (zh) 2006-01-04
KR100715738B1 (ko) 2007-05-09
EP1566011A1 (en) 2005-08-24
US20070113077A1 (en) 2007-05-17
KR20050088085A (ko) 2005-09-01
US20040103281A1 (en) 2004-05-27
US7454611B2 (en) 2008-11-18
JP2006508608A (ja) 2006-03-09
WO2004051923A1 (en) 2004-06-17
AU2003287567A1 (en) 2004-06-23

Similar Documents

Publication Publication Date Title
CN1717895B (zh) 用于在不泄露身份的情况下建立信任的系统和方法
CN110391911B (zh) 区块链匿名投票系统及方法
EP1616406B1 (en) Interactif zero-knowledge proof protocol
US7490070B2 (en) Apparatus and method for proving the denial of a direct proof signature
JP5468157B2 (ja) 公開鍵を検証可能に生成する方法及び装置
US8229113B2 (en) Strengthened public key protocol
US20080307223A1 (en) Apparatus and method for issuer based revocation of direct proof and direct anonymous attestation
CN1937496A (zh) 可延展伪名证书系统和方法
JP2010093860A (ja) 鍵認証方式
KR102372718B1 (ko) 발행인 익명성 인증서 시스템을 위한 분산화된 그룹 서명 방법
US20050114662A1 (en) Method for authentication
JP2006510265A (ja) ゼロ知識プロトコルの効率的な実装
KR0143598B1 (ko) 하나의 비밀키를 이용한 다수의 신분인증 및 디지탈서명 생성과 확인방법
Byun PDAKE: a provably secure PUF-based device authenticated key exchange in cloud setting
CN115314207A (zh) 一种sm2签名制作数据的安全可控使用方法及系统
Horster et al. Discrete logarithm based protocols
Jeong et al. Parallel Key Exchange.
Yang et al. A provable secure access control using smart cards
Chen et al. Research Article A Secure and Fair Joint E-Lottery Protocol
Mao Short Certification of Secure RSA Modulus: Transcript of Discussion

Legal Events

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

Granted publication date: 20110608