CN1806411A - 交互式零知识证明协议 - Google Patents
交互式零知识证明协议 Download PDFInfo
- Publication number
- CN1806411A CN1806411A CNA2004800161811A CN200480016181A CN1806411A CN 1806411 A CN1806411 A CN 1806411A CN A2004800161811 A CNA2004800161811 A CN A2004800161811A CN 200480016181 A CN200480016181 A CN 200480016181A CN 1806411 A CN1806411 A CN 1806411A
- Authority
- CN
- China
- Prior art keywords
- value
- proof
- challenger
- tpm
- platform
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
- G06F21/445—Program or device authentication by mutual authentication, e.g. between devices or programs
-
- 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/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/3218—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 using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
- H04L9/3221—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 using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs interactive zero-knowledge proofs
-
- 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/3234—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 additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
-
- 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/3271—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 using challenge-response
-
- 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
-
- 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/56—Financial cryptography, e.g. electronic payment or e-cash
Abstract
一种不泄露身份而建立信任的方法、系统和装置。根据一个实施方案,预计算对应于第一陈述的第一证明中的值,从挑战者接收到对第二证明的请求,并且完成第一和第二证明。
Description
技术领域
本发明涉及安全通信,具体地说,涉及在设备匿名的情况下不使用受信第三方的认证系统。
背景技术
在很多现代通信系统中,包括计算机网络在内,被交换信息的可靠性和安全性是一件很重要的事情。例如,在受信计算平台联盟(TCPA)模型中,每台计算机(PC)都具有被称为受信平台模块(TPM)的受信硬件设备。TPM可以记录有关计算机的软件和硬件环境的信息,其中每个TPM都具有唯一的背书密钥(EK)。一个证书可以被发给EK,它包含了有关TPM和平台的信息。当一个外部方(挑战者)想要了解计算机的软件和/或硬件环境时,该挑战者可以让TPM提供报告。挑战者想要确信所述报告真的来自合法的TPM,而计算机的所有者想要保持尽可能多的隐私(privacy)。例如,计算机的所有者想要能够向两个不同的挑战者给出报告,而这些挑战者又不能确定这些报告来自同一个TPM。
原先由TCPA提出的一种解决方案就是建立受信第三方(TTP)。TPM将会创建一个证实身份密钥(AIK),并将会把由EK签名的证书请求中的密钥的公共部分发送到TTP。TTP将会检查EK是合法的,即签名是完好的,并且将会为AIK发出证书。TPM然后将会在从挑战者接收到请求后使用AIK和TTP的证书。由于这些都和EK无关,因此挑战者不会获得任何有关AIK的信息。然而,这种方法的问题在于它需要建立TTP。实际中,识别可用作TTP的各方以及用于这种方法的可行商业模型已经证明是相当困难的事情。
此外,挑战者可以发现能够拒绝挑战者怀疑遭受损害的来自TPM的事务是很有用的。为了查明某一具体的TPM事务是否受到了损害,挑战者可能想要确定哪些事务与某一具体的TPM相关联。此外,因为一些密码协议需要大量的计算,因此以离线完成大部分计算的方式来构造协议可能是很有用的。如今可以获得的方法、装置或系统中没有一个可以提供这样一种密码协议,该协议在具有识别并拒绝受到怀疑的TPM的能力的同时,实现了匿名和安全要求,并且该协议被构造为离线完成大部分计算的方式。
附图说明
所附权利要求书具体阐述了本发明的特征。结合附图,参考以下详细的描述,可以最佳地理解本发明的实施方案及其优点,在附图中:
图1是根据一个实施方案,概念性地图示了可以实现直接证明方案的系统的框图。
图2是根据一个实施方案,概念性地图示了包括受信平台模块的平台的框图。
图3是概念性地图示了可以实现本发明的实施方案的计算机系统的框图;
图4是根据一个实施方案,概念性地图示了在制造过程中建立受信平台模块(TPM)的过程的流程图;
图5是根据一个实施方案,概念性地图示了为制造的每个平台所执行的建立过程的流程图;
图6是根据一个实施方案,概念性地图示了预计算过程的流程图;
图7是根据一个实施方案,概念性地图示了第一交互式证明的预计算的流程图;
图8是根据一个实施方案,概念性地图示了第二交互式证明的预计算的流程图;
图9是根据一个实施方案,概念性地图示了在线计算过程的流程图;
图10是根据一个实施方案,概念性地图示了第一交互式证明的轮次开启的流程图;
图11是根据一个实施方案,概念性地图示了第二交互式证明的轮次开启的流程图;
图12是根据一个实施方案,概念性地图示了证明两个离散对数相同的创建过程的流程图;
图13是根据一个实施方案,概念性地图示了证明两个离散对数相同的验证过程的流程图;以及
图14是根据一个实施方案,概念性地图示了用于生成t值的一种替换方法的流程图。
具体实施方式
描述了用于安全通信的方法和装置。广义地讲,本发明的实施方案提供了在不使用受信第三方(TTP)的情况下对设备使用匿名的认证系统。
提供了一种系统、装置和方法使用直接证明协议,不必泄露身份而在第一设备和第二设备之间关于合法签名来建立信任。根据一个实施方案,直接证明协议是指提供一种方法向挑战者证明密码密钥是从受信硬件设备(设备)而来,而不必泄露有关该设备的身份的信息。直接证明协议可能需要由在受信计算平台联盟(TCPA)内通常被称为受信平台模块(TPM)的设备来完成计算。
根据一个实施方案,直接证明协议可以具有两个选项:随机h选项和指定h选项。随机h选项可以指其中TPM可以随机或伪随机地选择h的值,并且可以完成在TPM可以知道对应的挑战者之前构造证明所必需的大部分计算的方法,其中h可被用作构造证明的基(base)。指定h选项可以指其中TPM可以使用挑战者的名称来生成h的值的方法。一般地,指定的h生成可以使得构造证明所需的计算直到TPM知晓对应的挑战者之后才发生。根据一个实施方案,使用指定h选项,构造证明所需的大部分计算都可以离线或者在预计算阶段中完成。
根据一个实施方案,对应于第一陈述(statement)的证明中的值可以由证明者设备(证明者(prover))预先计算。一旦从挑战者设备(挑战者)接收到对第二证明的请求,证明者就可以完成第一证明和第二证明,并将第二证明发送给挑战者。根据一个实施方案,第二证明可以包括如果第一陈述为真,则第二陈述为真的证明。此外,第二证明中的值可以包括由挑战者提供的值。根据一个实施方案,第一和/或第二陈述可以包括在受信硬件设备上持有密码密钥。
一般地,在制造过程中,每个TPM被给予一个唯一的私密对(m,c),它满足m=ce mod n。为了向挑战者证明TPM包含一个私密对,TPM可以为用作基的h获得一个值。例如,TPM可以计算k=hm mod P,并将h、k交给挑战者。然后TPM可以构造TPM拥有m、c,以至于m=ce mod n和k=hm mod P的证明,而不必泄露有关m和c的任何额外信息。TPM可以和不同的挑战者之间使用不同的h值,使得挑战者无法获知它们接收到的证明是来自同一个TPM。
根据一个实施方案,使用指定h选项,构造证明所需的大部分计算都可以离线完成或者在预计算阶段完成。例如,根据一个实施方案,TPM可以开始于随机h方法,以便TPM选择一个随机数h,计算k=hm mod P,并且构造具有正确形式的k的证明。当TPM被给予一个指定h,即来自挑战者的hNAME时,TPM可以计算k=hm mod P。接下来,TPM可以将h、k的值hNAME和kNAME提供给挑战者。根据一个实施方案,TPM可以使用已被构造来显示h、k具有正确形式的证明,并且构造一个h、k具有与hNAME、kNAME相同形式的证明。换言之,TPM可以向挑战者提供以下证明,即,存在用于m的值,使得对于相同的m,k=hm mod P并且kNAME=hNAME m mod P,而不必实际泄露m的值。
根据一个实施方案,提供了一种方法、系统和装置,用于向挑战者提供由证明者设备(例如,正在请求的设备)持有的秘密的单向函数的结果,并且向挑战者证明在所述单向函数中所使用的秘密已签署有一个设备签名,而不必向挑战者泄露所述秘密或签名。
根据一个实施方案,术语“证明者”(例如证明者设备)是指已被请求对其权限、合法性和/或身份提供某种证明的任何个人、平台、系统、软件和/或设备。根据一个实施方案,“证明”或者“使挑战者相信”证明者具有或者知道签名或秘密意味着基于透露给挑战者的信息和/或证明,证明者很有可能具有所述签名或秘密。为了向挑战者证明这一情况,而不用向挑战者“泄露”或“透露”签名或秘密意味着基于透露给挑战者的信息,要确定所述签名或秘密在计算上是不可行的。这样的证明可以被称为直接证明。术语“直接证明”可以指公知的交互式证明和/或零知识证明。
在以下描述中,使用某些术语来描述一种或多种实施方案的某些特征。例如,“平台”可以包括任何类型的设备、计算机、处理单元等。术语“挑战者”可以指在向请求者透露或者提供所请求的信息之前,向所述请求者请求对可靠性或权限进行某种验证的任何个人、平台、系统、软件和/或设备。术语“设备制造者”(例如设备制造者C)可以指制造或者配置一个设备或平台(例如受信平台模块)的任何个人、平台、系统、实体、软件和/或设备。术语“设备制造者”也可以与术语“正在证实的制造者”互换使用。术语“HASH”可以指任何哈希函数或算法或其等同物。此外,在对各种实施方案的通篇描述和图示说明中,系数、变量以及其他符号用相同的标号或名称来表示。例如,在本申请中对各种实施方案的通篇描述和图示说明中,符号h可以都被称为h。
在以下描述中,阐述了很多具体的细节,以提供对本发明的完整理解。然而将会清楚,基于这里提供的公开内容,在没有部分这些具体细节的情况下也可以实现本发明的实施方案。在其他实例中,以框图的形式示出了公知的结构和设备。
本发明的实施方案包括各种步骤,下面将会进行描述。这些步骤可以由硬件组件来完成,或者可以具体实现为机器可执行指令,其可被用来使得用这些指令编程的通用或专用处理器或逻辑电路完成所述步骤。可替换地,这些步骤可以通过硬件和软件的组合来完成。
本发明的实施方案可以被提供为包括机器可读介质的计算机程序产品,所述介质上存储有指令,这些指令可被用来编程一个计算机(或其他电子设备)以完成根据本发明的过程。机器可读介质可以包括但不限于软盘、光盘、压缩盘只读存储器(CD-ROM)和磁光盘、ROM、随机访问存储器(RAM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、磁卡或光卡、闪存、或适于存储电指令的其他类型的媒介/机器可读介质。此外,本发明还可以作为计算机程序产品来下载,其中所述程序可以经由通信链路(例如,调制解调器或网络连接),利用包含在载波或其他传播媒介中的数据信号从远程计算机(例如,服务器)传输到发出请求的计算机(例如,客户(client))。因此,载波或其他传播媒介应当被视为包括用于本发明目的的机器可读介质。
图1是根据一个实施方案,概念性地图示了可以实现直接证明方案的系统的框图。如图所示,诸如平台A 102的平台(挑战者)请求另一个平台(例如平台B 104)(证明者)提供有关其自身的信息。作为响应,平台B 104可以提供所请求的信息。然而,平台A 102可能想要验证所请求的信息是来自某一具体的设备制造者(例如设备制造者C)所制造的设备。为了验证所述信息是从设备制造者C而来,平台A 102可以挑战平台B 104,让平台B 104提供由设备制造者C生成的签名的证明。平台B 104可以通过提供使平台A 102相信平台B 104持有设备制造者C所生成的签名,而不用实际泄露所述签名的信息,对这样的请求做出应答。
根据一个实施方案,平台B 104可以包括受信平台模块(TPM)106。TPM 106可以由设备制造者来制造,使得该TPM可以执行为完成各种实施方案所必需的功能,并且遵守这里所描述的协议的操作。此外,TPM 106可以被制造为保持这里所描述的安全特征。例如,TPM可以使用与某一协议(例如协议IP1)相关的指定值来完成指定的功能。此外,根据一个实施方案,TPM可以被制造或配置为使用某些值在协议中不产生安全缺陷,例如使得设备的身份很有可能被确定。
图2是根据一个实施方案,概念性地图示了包括受信平台模块(TPM)的平台的框图。如图所示,设备或平台200(例如平台B 104)根据一个实施方案可以包括受信平台模块(TPM)204。此外,设备200可以包括与TPM 204耦合的处理单元202,还有存储设备或机构206。存储设备可以允许存储有关设备200的信息,例如硬件信息和软件信息。根据一个实施方案,平台或设备200可以是诸如计算机或移动设备的电子设备。
图3是概念性地图示了可以实现本发明的实施方案的计算机系统的框图。计算机系统300包括总线或者用于传送信息的其他通信装置302,还包括与总线302耦合的用于处理信息的处理装置,例如处理器310。计算机系统300还包括耦合到总线302的随机访问存储器(RAM)或其他动态存储设备304(被称为主存储器),用于存储由处理器310执行的信息和指令。主存储器304也可以被用来在处理器310执行指令期间存储临时变量或中间信息。计算机系统300还包括耦合到总线302的只读存储器(ROM)和/或其他静态存储设备306,用于存储处理器310的静态信息和指令。
数据存储设备308例如磁盘或光盘及其对应的驱动器也可以被耦合到计算机系统300,用来存储信息和指令。计算机系统300也可以经由总线302耦合到显示设备314,例如阴极射线管(CRT)或液晶显示器(LCD),用于向终端用户显示信息。典型地,包括字母键和数字键的字母数字输入设备316可以被耦合到总线302,用于向处理器310传送信息和/或命令选择。另一种类型的用户输入设备是光标控制器318,例如鼠标、跟踪球或指针方向键,用于向处理器310传送方向信息和命令选择,并且用于控制显示器314上的指针移动。
通信设备320也被耦合到总线302。通信设备320可以包括调制解调器、网络接口卡、或其他公知的接口设备,例如用于耦合到以太网、令牌环或者为了提供通信链路来支持例如局域网或广域网的其他类型物理附件的接口设备。利用这种方式,计算机系统300可以经由传统的网络基础设施,例如公司的内部网和/或因特网被耦合到大量客户和/或服务器。
可以理解的是,对于某些实现方式而言,可能会需要比上面所描述的实施例配置更多或更少的计算机系统。因此,计算机系统300的配置将根据多种因素,随着实现方式的不同而不同,所述因素例如是价格约束、性能需求、技术进步和/或其他外部条件。
应当注意,虽然这里所描述的步骤可以在已编程的处理器,例如处理器310的控制下来完成,但是在替换性的实施方案中,这些步骤可以全部或部分地由可编程逻辑或硬编码逻辑来实现,所述逻辑例如是现场可编程门阵列(FPGA)、晶体管-晶体管逻辑(TTL)逻辑、或者专用集成电路(ASIC)。此外,本发明的方法可以由已编程的通用计算机组件和/或定制硬件组件的任意组合来完成。因此,这里公开的任何内容都不应被理解为将本发明限制到具体的实施方案,在这样的具体实施方案中,所记载的步骤是由硬件组件的特定组合来完成的。
图4是根据一个实施方案,概念性地图示了在制造过程中建立受信平台模块(TPM)的过程的流程图。一个平台类可由设备制造者定义为包括一种或多种类型的平台或设备。例如,一个平台类可以是指具有相同的安全相关信息的所有平台的集合。每个平台都可以具有一组有关该平台的安全相关信息。该安全相关信息可能包含了被包括在受信计算平台联盟(TCPA)模型中的TPM的唯一背书密钥(EK)和/或证实身份密钥(AIK)证书中的信息。安全相关信息还可以包括具体平台或设备的制造者号和型号。对于每个平台类,设备制造者都可以创建该制造者可用于这一平台类的一组密码参数。此外,设备制造者可以创建一个签名密钥,它使用该签名密钥为它所制造的设备(例如设备200)来签署秘密。
根据一个实施方案,设备制造者可以采用(Rivest,Shamir,Adelman)RSA算法(由Ronald Rivest、Adi Shamir和Leonard Adelman定义的公钥密码系统)来创建具有公共模数n、公共指数e和私有指数d的RSA公钥私钥对(在处理框402处)。可以使用公知的方法来创建具有公共模数n、公共指数e和私有指数d的RSA公钥私钥对,所述公知的方法例如是在由Bruce Schneier,John Wiley & Sons出版的《应用密码学(AppliedCryptography)》第2版(1995年10月18日,ISBN:0471117099)中所描述的方法。
根据一个实施方案,模数n可以被选定得足够大,使得因数n可能在计算上是不可行的。在处理框404处,设备制造者可以指定一个参数Z,这是一个位于0和n之间的整数。在处理框406处,设备制造者还可以指定一个安全参数W,它可以是0和n之间的整数。然而,将W挑选得过小或过大都会导致安全性问题。根据一个实施方案,可以将W选定在2160和n/2160之间。因此,将W选定为约等于2160可以认为是一个合理的选择。
根据一个实施方案,设备制造者可以计算一个质数P,使得P=u*n+1(在处理框408处)。除了u*n+1是一个质数外,u的值可能没有什么特殊的。例如,可以使用最小的这种u值。根据一个实施方案,P可以足够大,使得计算离散对数mod P在计算上是不可行的。
根据一个实施方案,设备制造者可以生成平台类证书(PCC),该证书可以包括密码参数e、n、u、P、Z、W,该平台类的安全相关信息,以及所述设备制造者的名称(在处理框410处)。根据一个实施方案,参数u和P两者不会全都包括进来,这是因为使用n的给定值和上述参数之一,就可以通过P=u*n+1计算出另一个参数(即,P或u)。
根据一个实施方案,设备制造者可以对不同的平台类使用参数e、n、u、P、W的相同值,并且可以针对不同的平台改变Z的值。根据一个实施方案,Z的值可以被选定为相差至少4W。一旦生成了PCC,根据一个实施方案,设备制造者就可以将该PCC提供或分配给它所制造的、属于某一具体平台类的设备(在处理框412处)。
根据一个实施方案,在不偏离一个或多个实施方案的情况下,可以用多种方式完成平台类证书从证明者设备或平台(例如图1中的平台A)到挑战者的分发。例如,根据一种或多种公认的标准方法,PCC可以以下列方式被分发给挑战者,所述方式要使得挑战者相信所述PCC是由某一具体的设备制造者生成的。一些公认的标准方法可以通过直接向挑战者分发参数,或者通过让证实机构来签名PCC而完成这项任务。使用后一种情形,根据一个实施方案,证实机构的公钥可以被分发给挑战者,并且已签名的平台类证书可被提供给平台类中的每个设备或平台(例如证明者设备)。然后所述设备可以将已签名的平台类证书交给挑战者。
图5是根据一个实施方案,概念性地图示了为制造的每个平台所执行的建立过程的流程图。根据一个实施方案,证明者设备(设备)可以选定一个随机数m,使得0<m-Z<W(在处理框502处)。在判决框504处,判断设备在将随机数m发送给正在证实的制造者以获得签名前,是否将它隐蔽起来。根据一个实施方案,如果设备在将随机数m发送给正在证实的制造者以获得签名前隐蔽了随机数m,那么设备可以在处理框506处在1和n-1之间选定一个随机数B,并且计算A=Be mod n(在处理框508处)。设备可以在处理框510处计算m′=m* A mod n。如果设备没有隐蔽m,则设备可以在处理框512处使用m′=m和A=1。
根据一个实施方案,设备可以在处理框514处将m′发送给正在证实的制造者。正在证实的制造者可以在处理框516处计算c′=m′d mod n,并且可以在处理框518处将c′交给设备。设备可以在处理框520处计算c=c′*B-1 mod n,意味着c=md mod n。然后用于c和m的数字可以在处理框522处被存储在受信平台模块(TPM)中。c和m构成的对可以被称为设备制造者的签名。
图6是根据一个实施方案,概念性地图示了预计算过程的流程图。根据一个实施方案,从图6中所示的预计算过程中得出的预计算结果可以在后面由受信平台模块(TPM)用来向挑战者证明证实身份密钥(AIK)是由该TPM生成的。首先,证明者平台(平台)可以在处理框602处发起对AIK的预计算。根据一个实施方案,AIK可以足RSA(Rivest,Shamir,Adelman)公钥/私钥对。一个受信硬件设备,例如在图1中的证明者设备(设备)(例如设备B 104)中的TPM可以在处理框604处创建AIK私钥-公钥对。私钥-公钥对可以包括一个公钥和一个私钥。根据一个实施方案,AIK可能在先前某个时候已被创建。设备可以在处理框606处创建或生成一个值h。根据一个实施方案,值h可以是随机或伪随机生成的值,具有hn=1mod P的性质。例如,设备可以在1和n-1之间选择一个随机数j,并且计算h=ju mod P。此外,值h可以是AIK独有的。设备然后可以计算值k=hm mod P。
根据一个实施方案,设备可以为特定于h和k的交互式证明执行预计算。交互式证明可以指示出它知道一对值c和m,使得m=ce mod n和k=hm mod P,并且指示出m位于Z和Z=W之间。根据一个实施方案,可以分两段来计算这个交互式证明。设备可以在处理框608处为第一交互式证明(IP1)执行预计算,指示它知道一对值c和m,以至于m=ce mod n和k=hm mod P。设备还可以在处理框610处为第二交互式证明(IP2)执行预计算,指示以h为底k的离散对数位于Z和Z+W之间。根据一个实施方案,两个交互式证明IP1和IP2可以一起形成一个交互式证明,其内容是TPM知道一对值c和m,使得m=ce mod n,k=hm mod P,并且m位于Z和Z+W之间。
图7是根据一个实施方案,概念性地图示了第一交互式证明的预计算的流程图。参考图6,第一交互式证明(IP1)可被用来证明受信平台模块(TPM)知道c和m值,以至于m=ce mod n和k=hm mod P,而不用证明者设备(设备)的TPM泄露c或m。首先,如图所示,证明者平台(平台)可以在处理框702处选择保证参数(AP)。根据一个实施方案,AP的值可以是一个固定的数字,例如60。根据另一个实施方案,平台可以选择AP的值。根据一个实施方案,平台可以选择AP的一个固定值,同时挑战者可以选择AP的一个不同值。
如果挑战者挑选的AP的值小于平台挑选的值,那么根据一个实施方案,TPM可以只是使用多个轮次中的最初AP个,并且丢弃其他的。相反,如果挑战者挑选的AP的值大于平台挑选的值,那么TPM可以使用两个不同的预计算,使用来自其中一个的所有轮次以及来自另一个的部分轮次。然后,TPM可以使用两次例如图12中示出的证明,以显示离散对数对于两个预计算和指定h而言都是相同的。
根据一个实施方案,TPM可以在处理框704处随机地选择值x mod n。TPM可以在处理框706处计算y值,使得x=c*y mod n。TPM还可以在处理框708处计算v值,使得 TPM可以在处理框710处加密并签名以下值v、y、x、ye、xe,并且将加密并签名后的值存储在平台上。根据另一个实施方案,TPM可以只存储值v、y、x、ye、xe的一部分,并且稍后重新计算其他值。根据一个实施方案,签名的过程可以是一个数字签名。根据另一个实施方案,签名的过程可以是用密码哈希函数,例如安全哈希算法(SHA-1)来求所述值的哈希值,然后加密所述值和哈希值。根据一个实施方案,可以在处理框712处执行验证方案或操作AP次。在判决框714,判断验证方案是否已被执行AP次。如果操作已被执行AP次,则操作在处理框716处结束,如果不是,则操作在处理框704处继续。
图8是根据一个实施方案,概念性地图示了第二交互式证明的预计算的流程图。第二交互式证明(IP2)可被用来证明受信平台模块(TPM)知道m值,满足Z-W<m<Z+2*W以及k=hm mod P,而无需TPM泄露m。
首先,证明者平台(平台)可以在处理框802处选择保证参数(AP)。如图7中所示的预计算IP1一样,根据一个实施方案,AP的值可以是一个固定数,例如60。根据另一个实施方案,平台可以选择AP的值。根据一个实施方案,平台可以选择AP的一个固定值,同时挑战者可以选择AP的一个不同值。
如果挑战者挑选的AP的值小于平台挑选的值,那么根据一个实施方案,TPM可以只是使用多个轮次中的最初AP个,并且丢弃其他的。相反,如果挑战者挑选的AP的值大于平台挑选的值,那么TPM可以使用两个不同的预计算,使用来自其中一个的所有轮次以及来自另一个的部分轮次。然后,TPM可以使用两次例如图12中的证明,以显示离散对数对于两个预计算和指定h而言都是相同的。
根据一个实施方案,在处理框804处,证明者设备(设备)的TPM可以随机地选择一个数t,满足0<t<W 702。在处理框806处,TPM可以计算g0=ht mod P。TPM还可以在处理框808处计算g1=g0* h(-W)mod P。在处理框810处,TPM可以生成两个随机的160位的值R0和R1。然后TPM可以计算H0=HASH(AIK公钥,g0,R0)以及H1=HASH(AIK公钥,g1,R1)(在处理框812处)。在处理框814处,TPM加密并签名以下值g0、g1、R0、R1、H0和H1,并将这些值存储在平台上。根据另一个实施方案,值g0、g1、R0、R1、H0和H1中只有一些可以被存储。
根据一个实施方案,可以在处理框816处重复以上过程AP次。在判决框818,如果以上过程已执行了AP次,则在处理框820处退出操作。如果所述过程还未被执行AP次,则操作可以在处理框804处继续。根据一个实施方案,如图7所示的IP1过程的重复和/或如图8所示的获得IP2的过程可以降低例如未经授权的或者正在进行欺骗的证明者成功地向挑战者提供充足证明的可能性。重复证明(例如IP1或IP2)AP次可以迫使证明者在每一轮都要成功,这只有2AP分之一的机会。
根据一个实施方案,平台可以选择具有多组AIK,并且具有多个IP1和IP2的预计算。平台可以存储这些组,直到挑战者请求对AIK的证明,并且作为响应,平台可以使用预计算出的多组中的一组。
图9是根据一个实施方案,概念性地图示了在线计算过程的流程图。根据一个实施方案,证明者平台(平台)可以在处理框902处使用多组证实身份密钥(AIK)中的一组、以及平台可能先前已存储的预计算出的第一和第二交互式证明(IP1和IP2),并且受信平台模块(TPM)可以将AIK公钥(或者只是AIK公钥的HASH)发送给挑战者。在处理框904处,挑战者可以选择保证参数,这也被称为挑战者保证参数(CAP)。在处理框906处,挑战者可以选择一组随机位(RAND)。挑战者可以通过选择例如320个随机位来选择RAND。挑战者可以计算Commitment=(HASH(AIK公钥‖RAND),并且可以将Commitment的HASH发送给TPM,TPM可以将该值存储起来(在处理框908处)。根据一个实施方案,HASH可以是一个密码哈希函数,例如SHA-1(安全哈希算法)。
在处理框910处,挑战者的名称可以被发送到TPM,TPM可以用它来形成hNAME。值hNAME可以具有以下性质hNAME n=1 mod P。例如,证明者设备(设备)可以对挑战者的名称求哈希值,以形成1和n-1之间的数字j,并且计算hNAME=ju mod P。根据一个实施方案,为了计算hNAME值,可以计算Hi,使得对于几个值,例如10个值i=1,2,3...,10,Hi=HASH(i,挑战者的名称),然后令j=H1‖H2‖H3...‖H10的级联。设备然后可以计算hNAME=ju mod P,其中如前面定义的u=(P-1)/n。设备还可以计算kNAME值,使得kNAME=hNAME m mod P。TPM然后可以在处理框912处计算kNAME=hNAME m mod P。
在处理框914处,TPM可以生成一个证明,即,以h为底k mod P的离散对数与以hNAME为底kNAME mod P的离散对数相同,如图12所示。TPM可以在处理框916处将IP1的最初CAP轮次的哈希值和IP2的最初CAP轮次的哈希值发送给挑战者。TPM还可以在处理框918处将以下证明发送给挑战者,所述证明就是以h为底k mod P的离散对数与以hNAME为底kNAME mod P的离散对数相同。在处理框920处,挑战者可以将RAND的值发送给TPM。TPM可以通过计算HASH(AIK公钥‖RAND)的值,并且验证这给出的值与在框908中从挑战者接收到的值相同,从而来验证RAND的值。TPM可以计算CHOICES=HASH(RAND‖IP1的最初CAP轮次的HASH‖IP2的最初CAP轮次的HASH)的值。TPM可以将CHOICES的最初2*CAP位用作挑战者在开启IP1和IP2的轮次时确定要泄露哪些信息的选择(在处理框922处)。根据一个实施方案,挑战者可能不需要使用hNAME,并且可以接受仅仅基于针对预计算出的h、k值的第一交互式证明(IP1)和第二交互式证明(IP2)的证明。
根据一个实施方案,可以要求平台选择的保证参数(AP)和挑战者选择的CAP是相同的固定值,例如60。根据另一个实施方案,平台可以选择AP的一个固定值,而挑战者可以为CAP选择一个不同的值。根据一个实施方案,如果挑战者挑选的CAP的值小于平台挑选的AP的值,则TPM可以只是使用多个轮次中的最初CAP个,并且丢弃其他的。相反,如果挑战者挑选的CAP的值大于平台挑选的AP的值,则TPM可以使用两个不同的预计算,使用来自其中一个的所有轮次以及来自另一个的部分轮次。然后,TPM可以使用如图12所示的证明两次,以显示离散对数对于两个预计算和hNAME、kNAME而言都是相同的。
图10是根据一个实施方案,概念性地图示了第一交互式证明的轮次开启的流程图。第一交互式证明(IP1)可被用来证明受信平台模块(TPM)知道c和m值,满足m=ce mod n和k=hm mod P,而不用证明者设备(设备)的TPM泄露c或m。首先,根据一个实施方案,挑战者在处理框1002处向证明者平台(平台)提供挑战者保证参数(CAP)。在处理框1004处,挑战者可以做出选择是接收x还是y。如果挑战者选定了x选择,则TPM可以在处理框1006处将x发送给挑战者。在接收到x的值后,挑战者可以在处理框1008处验证
如果挑战者选择接收y选择,那么根据一个实施方案,TPM可以在处理框1010处将y发送给挑战者。挑战者可以在处理框1012处验证
根据一个实施方案,这一验证方案或操作可以在处理框1014处执行CAP次。如果所述操作被执行了CAP次,那么可以在处理框1018处退出操作。如果操作未被执行CAP次,则该操作可以在处理框1004处继续。
根据一个实施方案,TPM可以将在处理框1006和1010中描述的响应发送给平台,并且平台可以保存所有的响应,直到TPM已提供了这些响应的CAP。然后平台可以将所有的响应发送给挑战者。挑战者随后可以完成在框1008和1012中描述的验证操作。
图11是根据一个实施方案,概念性地图示了第二交互式证明的轮次开启的流程图。第二交互式证明(IP2)可被用来证明受信平台模块(TPM)知道m值,满足Z-W<m<Z+2*W以及k=hm mod P,而无需TPM泄露m。挑战者可以在处理框1102处提供保证参数,即挑战者保证参数(CAP)。挑战者可以在处理框1104处从两个选择中进行挑选,例如选择0或1。
如果挑战者挑选了选择0,那么根据一个实施方案,TPM可以在处理框1106处将t、R0、R1值以及H0和H1的排序发送给挑战者。挑战者可以在处理框1108处计算g0=ht mod P和g1=h(t-W)mod P。然后,挑战者可以在处理框1110处检查0<t<W。挑战者可以在处理框1112处检查H0=HASH(AIK公钥,g0,R0)和H1=HASH(AIK公钥,g1,R1)。根据一个实施方案,所述操作或过程在处理框1114处执行CAP次。在判决框1116处,如果操作已被执行CAP次,则可以在处理框1118处退出操作。如果操作还未被执行CAP次,则操作可以在处理框1104处继续。
如果挑战者挑选了选择1,那么在判决框1120处,判断是否m+t>Z+W。如果m+t不大于Z+W,即m+t位于Z和Z+W之间,则TPM可以在处理框1122处将m′=m+t、g0和R0发送给挑战者,并且可以告知挑战者使用H0。挑战者可以在处理框1124处检查H0=HASH(AIK公钥,g0,R0),以及Z<m′<Z+W,以及g0 *k=hm mod P。根据一个实施方案,所述操作或过程在处理框1114处执行CAP次。在判决框1116处,如果操作已被执行CAP次,则可以在处理框1118处退出操作。如果操作还未被执行CAP次,则操作可以在处理框1104处继续。
如果m+t>Z+W,则TPM可以在处理框1126处将m′=m-W+t、g1和R1发送给挑战者,并且可以告知挑战者使用H1。挑战者可以在处理框1128处检查H1=HASH(AIK公钥,g1,R1),以及Z<m′<Z+W,以及g1*k=hm mod P。根据一个实施方案,所述操作或过程在处理框1114处执行CAP次。在判决框1116处,如果操作已被执行CAP次,则可以在处理框1118处退出操作。如果操作还未被执行CAP次,则操作可以在处理框1104处继续。
根据一个实施方案,重复用于第一交互式证明(IP1)和/或用于第二交互式证明(IP2)的过程可以降低例如未经授权的或者正在进行欺骗的证明者成功地向挑战者提供充足证明的可能性。也就是说,重复一个过程(例如IP1或IP2)的多个轮次达CAP次,这可以迫使证明者在每一轮都要成功,这只有2CAP分之一的机会。根据一个实施方案,协议的轮次可以从证明者设备的TPM和挑战者之间的数轮通信到少数几轮通信之间改变。
根据一个实施方案,TPM可以将在框1106、1122和1126中描述的响应发送给平台,并且平台可以保存所有的响应,直到TPM已提供了这些响应的CAP。接着,平台可以立即将所有响应发送给挑战者。挑战者随后可以执行在框1108、1124和1128中描述的验证操作。
根据一个实施方案,平台可以保存来自IP1和IP2的所有TPM响应,直到TPM已提供了用于IP1和IP2的所有响应,然后可以将来自两个协议的所有响应同时发送给挑战者。
对于挑战者可以用来做出选择的方法而言,有几种可能的选项。根据一个实施方案,让TPM在预计算过程中形成在IP1和IP2中生成的一些值的Hash,并且使用从该Hash中得到的输出来确定挑战者的选择,从而可以确定所述选择。
图12是根据一个实施方案,概念性地图示了证明两个离散对数相同的创建过程的流程图。在处理框1202处,受信平台模块(TPM)随机地选择在区间[0,B]中的值t。然后,TPM可以在处理框1204处随机地计算j=ht mod P和jNAME=hNAME t mod P。TPM然后可以在处理框1206处随机地计算r=HASH(h,k,hNAME,kNAME,j,jNAME)。在处理框1208处,TPM可以计算s=Z+t-m*r。最后,在处理框1210处,TPM可以将s、h、k、hNAME、kNAME、j、jNAME发送到挑战者。根据一个实施方案,挑战者随后可以验证该证明。
图13是根据一个实施方案,概念性地图示了证明两个离散对数相同的验证过程的流程图。在处理框1302处,挑战者可以计算r=HASH(h,k,hNAME,kNAME,j,jNAME)。然后,挑战者可以在处理框1304检查j*hZ=kr * hs mod P和jNAME * hNAME Z=kNAME r * hNAME smod P。如果处理框1304的检查通过,则挑战者可以在处理框1306处接受证明。
图14是根据一个实施方案,概念性地图示了用于生成t的一种替换方法的流程图。根据一个实施方案,可以使协议实现额外的效率提高。例如,如果t的值是从区间[0,B]上的均匀分布来确定的,那么安全参数(SP)例如SP1=60位可以被选择得足够大,使得有关m的信息不被泄露。然而,选择t的一种替换方法,例如从非均匀分布中选择,可以允许SP(例如SP2=10位)小得多,导致更高的效率。
在处理框1402,根据一个实施方案,受信平台模块(TPM)可以从区间[0,B]随机地选择安全参数(SP2)值t1,t2,...tSP2。然后,TPM可以在处理框1404处计算t=t1+t2+...+tSP2。
虽然在附图中已经示出并且描述了本发明的某些示例性的实施方案,但是可以理解的是,这些实施方案对于本发明各种实施方案的宽广方面而言仅仅是示例性的而非限制性的,这些实施方案不被限制在所示出并描述的具体构造和布置中,因为各种其他修改都是可能的。可以用硬件、可编程器件、固件、软件或它们的组合来实现本发明的多种实施方案或者它们的某些特征。
Claims (30)
1.一种方法,包括:
预计算在对应于第一陈述的第一证明中的多个值;
接收来自挑战者的对第二证明的请求;
完成所述第一证明;以及
完成所述第二证明。
2.如权利要求1所述的方法,还包括将所述第二证明发送给所述挑战者。
3.如权利要求1所述的方法,其中所述第二证明包括如果所述第一陈述为真,则第二陈述也为真的证明。
4.如权利要求1所述的方法,其中所述第二证明包括由所述挑战者提供的值。
5.如权利要求3所述的方法,其中所述第二陈述包括在受信硬件设备上持有密码密钥。
6.一种方法,包括:
由一个平台发起对证实身份密钥(AIK)的预计算;
生成AIK私钥-公钥对;以及
生成私有AIK位于受信硬件设备上的交互式证明(IP)。
7.如权利要求6所述的方法,还包括生成一个值h,其中值h对所述AIK是唯一的。
8.如权利要求7所述的方法,还包括计算如k=hmmod P所定义的k值。
9.如权利要求8所述的方法,其中m是随机生成的数,P是大的质数。
10.一种方法,包括:
从非均匀分布中选择一个随机值r;
将所述r值与一个秘密值m相加,以生成r+m值;
保存所述r值和所述r+m值;以及
泄露所述r值或所述r+m值。
11.如权利要求10所述的方法,其中选择步骤包括从均匀分布中选择多个t值。
12.如权利要求10所述的方法,还包括通过求和所述多个t值来计算所述r值。
13.如权利要求10所述的方法,还包括重复选择、相加、保存和泄露步骤多次。
14.如权利要求10所述的方法,其中所述泄露步骤包括基于由证明者形成的值的哈希运算的输出,泄露所述r值或所述r+m值。
15.一种方法,包括:
提交第一值;
提交交互式证明的多个轮次的输出;
泄露所述第一值;以及
使用所述第一值和所述交互式证明的多个轮次的输出来计算选择。
16.如权利要求15所述的方法,其中提交第一值的步骤包括计算所述第一值的密码哈希值,并将该密码哈希值发送给证明者。
17.如权利要求15所述的方法,其中提交所述输出的步骤包括计算所述第一值的密码哈希值,并将该密码哈希值发送给挑战者。
18.一种装置,包括:
挑战者设备;以及
与所述挑战者设备通信式耦合的证明者设备,
其中所述证明者设备:
预计算在对应于第一陈述的第一证明中的多个值;
接收来自所述挑战者设备的对第二证明的请求;
完成所述第一证明;以及
完成所述第二证明。
19.如权利要求18所述的装置,其中所述证明者设备还将所述第二证明发送给挑战者。
20.如权利要求18所述的装置,其中所述第二证明包括如果所述第一陈述为真,则第二陈述也为真的证明。
21.如权利要求20所述的装置,其中所述第二陈述包括在受信硬件设备上持有密码密钥。
22.一种系统,包括:
存储设备;
与所述存储设备耦合的处理单元;
与所述处理单元耦合的通信端口;
经由所述通信端口与挑战者设备耦合的证明者设备,其中所述证明者设备:
预计算在对应于第一陈述的第一证明中的多个值;
接收来自所述挑战者设备的对第二证明的请求;
完成所述第一证明;以及
完成所述第二证明。
23.如权利要求22所述的系统,其中所述证明者设备还将所述第二证明发送给所述挑战者设备。
24.如权利要求22所述的系统,其中所述第二证明包括如果所述第一陈述为真,则第二陈述也为真的证明。
25.一种其上存储有代表指令序列的数据的机器可读介质,所述指令序列在被机器执行时使得所述机器:
预计算在对应于第一陈述的第一证明中的多个值;
接收来自挑战者的对第二证明的请求;
完成所述第一证明;以及
完成所述第二证明。
26.如权利要求25所述的机器可读介质,其中所述指令序列在被所述机器执行时还导致所述机器:将所述第二证明发送给所述挑战者。
27.如权利要求25所述的机器可读介质,其中所述第二证明包括如果所述第一陈述为真,则第二陈述也为真的证明。
28.一种其上存储有代表指令序列的数据的机器可读介质,所述指令序列在被机器执行时使得所述机器:
由一个平台发起对证实身份密钥(AIK)的预计算;
生成AIK私钥-公钥对;以及
生成私有AIK位于受信硬件设备上的交互式证明(IP)。
29.如权利要求28所述的机器可读介质,其中所述指令序列在被所述机器执行时还导致所述机器:生成一个值h,其中值h对所述AIK是唯一的。
30.如权利要求28所述的机器可读介质,其中所述指令序列在被所述机器执行时还导致所述机器:计算如k=hmmod P所定义的k值。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/412,366 US7444512B2 (en) | 2003-04-11 | 2003-04-11 | Establishing trust without revealing identity |
US10/412,366 | 2003-04-11 | ||
PCT/US2004/007040 WO2004095773A2 (en) | 2003-04-11 | 2004-03-05 | Interactif zero-knowledge proof protocol |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1806411A true CN1806411A (zh) | 2006-07-19 |
CN1806411B CN1806411B (zh) | 2013-05-01 |
Family
ID=33131190
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2004800161811A Expired - Fee Related CN1806411B (zh) | 2003-04-11 | 2004-03-05 | 交互式零知识证明协议 |
Country Status (5)
Country | Link |
---|---|
US (2) | US7444512B2 (zh) |
EP (1) | EP1616406B8 (zh) |
JP (1) | JP4673840B2 (zh) |
CN (1) | CN1806411B (zh) |
WO (1) | WO2004095773A2 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102017510B (zh) * | 2007-10-23 | 2013-06-12 | 赵运磊 | 自封闭联合知识证明和Diffie-Hellman密钥交换方法与结构 |
CN105024823A (zh) * | 2015-07-27 | 2015-11-04 | 中国船舶重工集团公司第七0九研究所 | 基于零知识证明的用户身份隐私保护方法及系统 |
CN111277416A (zh) * | 2020-01-14 | 2020-06-12 | 平安壹钱包电子商务有限公司 | 交互式零知识证明方法、装置、计算机设备和存储介质 |
CN111277571A (zh) * | 2020-01-13 | 2020-06-12 | 熊国华 | 一种基于零知识证明的企业app登录管理系统 |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1631987A2 (en) * | 2003-05-26 | 2006-03-08 | Koninklijke Philips Electronics N.V. | Semiconductor device, method of authentifying and system |
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 |
US8037314B2 (en) | 2003-12-22 | 2011-10-11 | Intel Corporation | Replacing blinded authentication authority |
US7587607B2 (en) * | 2003-12-22 | 2009-09-08 | Intel Corporation | Attesting to platform configuration |
US7526649B2 (en) * | 2003-12-30 | 2009-04-28 | Intel Corporation | Session key exchange |
US7382880B2 (en) * | 2004-01-26 | 2008-06-03 | Hewlett-Packard Development Company, L.P. | Method and apparatus for initializing multiple security modules |
US7590867B2 (en) * | 2004-06-24 | 2009-09-15 | Intel Corporation | Method and apparatus for providing secure virtualization of a trusted platform module |
CN1941699B (zh) * | 2005-09-29 | 2012-05-23 | 国际商业机器公司 | 密码方法、主机系统、可信平台模块和计算机安排 |
JP4815206B2 (ja) * | 2005-12-09 | 2011-11-16 | パナソニック株式会社 | 認証端末及び被認証端末 |
US8027472B2 (en) * | 2005-12-30 | 2011-09-27 | Selim Aissi | Using a trusted-platform-based shared-secret derivation and WWAN infrastructure-based enrollment to establish a secure local channel |
EP2080142B1 (en) * | 2006-08-31 | 2014-09-24 | International Business Machines Corporation | Attestation of computing platforms |
EP2332088B1 (en) * | 2008-08-22 | 2020-10-28 | Titan Automotive Solutions | Verification of process integrity |
US8738932B2 (en) * | 2009-01-16 | 2014-05-27 | Teleputers, Llc | System and method for processor-based security |
KR101067146B1 (ko) * | 2010-01-14 | 2011-09-22 | 주식회사 팬택 | 휴대용 단말의 암호화 메시지 처리 방법 및 그 휴대용 단말 |
DE112010004426B4 (de) * | 2010-01-22 | 2015-11-12 | International Business Machines Corporation | Nicht verknüpfbare Übertragung ohne Gedächtnis mit Preisangaben und wiederaufladbaren Geldbörsen |
US9087196B2 (en) | 2010-12-24 | 2015-07-21 | Intel Corporation | Secure application attestation using dynamic measurement kernels |
EP2860905A1 (en) * | 2013-10-09 | 2015-04-15 | Thomson Licensing | Method for ciphering a message via a keyed homomorphic encryption function, corresponding electronic device and computer program product |
WO2015076846A1 (en) | 2013-11-25 | 2015-05-28 | Mcafee, Inc. | Secure proxy to protect private data |
US9608825B2 (en) * | 2014-11-14 | 2017-03-28 | Intel Corporation | Trusted platform module certification and attestation utilizing an anonymous key system |
US11017387B2 (en) * | 2016-03-24 | 2021-05-25 | International Business Machines Corporation | Cryptographically assured zero-knowledge cloud services for elemental transactions |
US11017388B2 (en) * | 2016-03-25 | 2021-05-25 | International Business Machines Corporation | Cryptographically assured zero-knowledge cloud service for composable atomic transactions |
CN106790036B (zh) * | 2016-12-16 | 2019-05-07 | Oppo广东移动通信有限公司 | 一种信息防篡改方法、装置、服务器和终端 |
CN111886831A (zh) * | 2018-03-23 | 2020-11-03 | 区块链控股有限公司 | 用于实现零知识证明的计算机实现的系统及方法 |
US11394565B2 (en) * | 2019-06-18 | 2022-07-19 | Intel Corporation | Asymmetric device attestation using physically unclonable functions |
DE102021000645B3 (de) * | 2021-02-09 | 2022-08-11 | Mercedes-Benz Group AG | Verfahren zur Überprüfung von kryptografischen Geheimnissen auf Gleichheit |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2620248B1 (fr) * | 1987-09-07 | 1989-11-24 | France Etat | Procedes d'authentification d'accreditations ou de messages a apport nul de connaissance et de signature de messages |
FR2700430B1 (fr) * | 1992-12-30 | 1995-02-10 | Jacques Stern | Procédé d'authentification d'au moins un dispositif d'identification par un dispositif de vérification et dispositif pour sa mise en Óoeuvre. |
FR2714780B1 (fr) | 1993-12-30 | 1996-01-26 | Stern Jacques | Procédé d'authentification d'au moins un dispositif d'identification par un dispositif de vérification. |
FR2752122B1 (fr) | 1994-07-28 | 1998-11-27 | France Telecom | Procede d'authentification a nombre reduit de bits transmis |
KR0146438B1 (ko) | 1995-05-17 | 1998-09-15 | 조백제 | 인증교환 방법과 복원형 전자서명 방법 및 부가형 전자서명 방법 |
US5953422A (en) * | 1996-12-31 | 1999-09-14 | Compaq Computer Corporation | Secure two-piece user authentication in a computer network |
FR2763452B1 (fr) | 1997-05-13 | 1999-06-18 | France Telecom | Procede d'identification a cle publique |
DE69720971T2 (de) * | 1997-05-28 | 2003-10-30 | Siemens Ag | Computersystem und Verfahren zum Schutz von Software |
US20020004900A1 (en) * | 1998-09-04 | 2002-01-10 | Baiju V. Patel | Method for secure anonymous communication |
US6473508B1 (en) * | 1998-12-22 | 2002-10-29 | Adam Lucas Young | Auto-recoverable auto-certifiable cryptosystems with unescrowed signature-only keys |
US7191440B2 (en) * | 2001-08-15 | 2007-03-13 | Intel Corporation | Tracking operating system process and thread execution and virtual machine execution in hardware or in a virtual machine monitor |
FR2830147B1 (fr) | 2001-09-24 | 2003-10-31 | Gemplus Card Int | Procede et dispositif de la verification de la detention d'une donnee confidentielle sans communication de celle-ci, selon un processus dit de "a divulgation nulle" |
JP4019266B2 (ja) * | 2001-10-25 | 2007-12-12 | 日本電気株式会社 | データ送信方法 |
US6879574B2 (en) * | 2002-06-24 | 2005-04-12 | Nokia Corporation | Mobile mesh Ad-Hoc networking |
-
2003
- 2003-04-11 US US10/412,366 patent/US7444512B2/en not_active Expired - Fee Related
-
2004
- 2004-03-05 JP JP2006506953A patent/JP4673840B2/ja not_active Expired - Fee Related
- 2004-03-05 WO PCT/US2004/007040 patent/WO2004095773A2/en active Application Filing
- 2004-03-05 EP EP04718163.1A patent/EP1616406B8/en not_active Expired - Lifetime
- 2004-03-05 CN CN2004800161811A patent/CN1806411B/zh not_active Expired - Fee Related
-
2008
- 2008-10-23 US US12/257,005 patent/US20090041232A1/en not_active Abandoned
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102017510B (zh) * | 2007-10-23 | 2013-06-12 | 赵运磊 | 自封闭联合知识证明和Diffie-Hellman密钥交换方法与结构 |
CN105024823A (zh) * | 2015-07-27 | 2015-11-04 | 中国船舶重工集团公司第七0九研究所 | 基于零知识证明的用户身份隐私保护方法及系统 |
CN105024823B (zh) * | 2015-07-27 | 2018-03-23 | 中国船舶重工集团公司第七0九研究所 | 基于零知识证明的用户身份隐私保护方法及系统 |
CN111277571A (zh) * | 2020-01-13 | 2020-06-12 | 熊国华 | 一种基于零知识证明的企业app登录管理系统 |
CN111277416A (zh) * | 2020-01-14 | 2020-06-12 | 平安壹钱包电子商务有限公司 | 交互式零知识证明方法、装置、计算机设备和存储介质 |
CN111277416B (zh) * | 2020-01-14 | 2024-04-05 | 平安壹钱包电子商务有限公司 | 交互式零知识证明方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20040205341A1 (en) | 2004-10-14 |
WO2004095773A2 (en) | 2004-11-04 |
EP1616406A2 (en) | 2006-01-18 |
CN1806411B (zh) | 2013-05-01 |
JP4673840B2 (ja) | 2011-04-20 |
EP1616406B8 (en) | 2016-12-21 |
WO2004095773A3 (en) | 2005-05-19 |
US7444512B2 (en) | 2008-10-28 |
US20090041232A1 (en) | 2009-02-12 |
JP2006523065A (ja) | 2006-10-05 |
EP1616406B1 (en) | 2016-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1806411A (zh) | 交互式零知识证明协议 | |
KR100715738B1 (ko) | 식별 정보를 노출하지 않고 신용을 수립하기 위한 시스템및 방법 | |
US7979696B2 (en) | System and method of providing security | |
US10178079B2 (en) | Group management of authenticated entities | |
US11909728B2 (en) | Network resource access control methods and systems using transactional artifacts | |
CN1879072A (zh) | 提供断开鉴别的系统和方法 | |
WO1997050205A1 (en) | Digitally signing agreements from remotely located nodes | |
KR102617352B1 (ko) | 블록체인을 이용하는 사용자 장치, 이를 포함하는 블록체인 시스템 및 그것의 제품 정보 관리 방법 | |
TW201320701A (zh) | 資訊處理裝置、資訊處理方法及程式 | |
WO2021061833A1 (en) | Lattice based signatures with uniform secrets | |
CN116112187B (zh) | 一种远程证明方法、装置、设备及可读存储介质 | |
CN111161075B (zh) | 区块链交易数据证明监管方法、系统及相关设备 | |
CN116633522A (zh) | 一种基于区块链的两方隐私求交方法及系统 | |
CN1771691A (zh) | 用于网络设备的安全管理的方法、系统和计算机程序 | |
CN109639409B (zh) | 密钥初始化方法、装置、电子设备及计算机可读存储介质 | |
CN108462681A (zh) | 一种异构网络的通信方法、设备及系统 | |
CN110445602B (zh) | 密钥生成方法及电子设备 | |
CN115964763A (zh) | 多方数据安全计算方法、装置、电子设备及存储介质 | |
JP2008245022A (ja) | 履歴管理装置 | |
Mahmod | A Secure TFTP Protocol with Security Proofs | |
JPH02301240A (ja) | 暗号鍵共有制御方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130501 Termination date: 20190305 |
|
CF01 | Termination of patent right due to non-payment of annual fee |