CN1241353C - 自动可恢复自动可认证密码系统 - Google Patents

自动可恢复自动可认证密码系统 Download PDF

Info

Publication number
CN1241353C
CN1241353C CNB988066904A CN98806690A CN1241353C CN 1241353 C CN1241353 C CN 1241353C CN B988066904 A CNB988066904 A CN B988066904A CN 98806690 A CN98806690 A CN 98806690A CN 1241353 C CN1241353 C CN 1241353C
Authority
CN
China
Prior art keywords
key
public
user
public keys
registration
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 - Fee Related
Application number
CNB988066904A
Other languages
English (en)
Other versions
CN1262007A (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.)
Individual
Original Assignee
Individual
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
Priority claimed from US08/864,839 external-priority patent/US6202150B1/en
Priority claimed from US08/878,189 external-priority patent/US6122742A/en
Priority claimed from US08/920,504 external-priority patent/US6243466B1/en
Priority claimed from US08/932,639 external-priority patent/US6389136B1/en
Priority claimed from US08/959,351 external-priority patent/US6282295B1/en
Application filed by Individual filed Critical Individual
Publication of CN1262007A publication Critical patent/CN1262007A/zh
Application granted granted Critical
Publication of CN1241353C publication Critical patent/CN1241353C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/3013Public 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

Landscapes

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

Abstract

提供一种用于第三者保存密码系统的方法,该第三者保存系统无额外开销,不需要防止篡改的硬件实现(即,可以软件实现),可公共验证,并且不能阈下使用以启动静区公共密钥系统。静区公共密钥系统是一个不能第三者保存的公共密钥系统,该系统以可转换方式进行公共显示。与一般的认证公共密钥系统需要提交公共密钥本身相比,该系统免于额外开销,这是因为在产生他或她本身的密钥之间不需要附加的协议交互,以及认证机构或第三者保存机构(11、12、13)。

Description

自动可恢复自动可认证密码系统
本发明领域是密码术。本发明涉及密码系统,特别涉及密钥的第三者保存(escrowing)和恢复以及使用密钥进行加密的数据。第三者保存和恢复处理保证,当被允许和需要时,像法律实施机构、政府机构、用户和各种组织这样的特许实体能够读取加密数据。本发明涉及以软件实现的密码系统,还适用于以硬件实现的密码系统。
公共密钥密码系统(PKC’s)允许以前未见面的两方之间的保密通信。提出PKC的概念(W.Diffie,M.Hellman,“密码术的新方向”,IEEE信息理论学报,22,644-654页,1976)。在不保密信道进行这种通信。在PKC,在注册管理机构检验用户的真实性之后(对其鉴定等),每个用户拥有一个公共密钥E和一个私人密钥D,通过一个密钥分配中心使E可被公共使用,密钥分配中心也称为认证机构(CA)。注册管理机构是认证机构的一部分。D为用户专用。使用E加密信息,并且仅可使用D解密信息。从E不可能通过计算得到D。为使用PKC,A方从密钥分配中心获得B方的公共密钥E。A方使用E加密信息并将结果发送给B方。B使用D通过解密恢复信息。双方都委托密钥分配中心在需要时给出正确的公共密钥。已出版一种基于计算离散对数困难的PKC(T.ElGamal,“公共密钥密码系统和一个基于离散对数的签名方案”,CRYPTO’84,10-18页,Springer-Verlag,1985)。
PKC’s非常便于使用,并允许用户在不保密信道上进行专用通信。可以使用PKC’s启动类似DES这样的对称密钥系统(数据加密标准)。然而,PKC’s具有一个缺陷。罪犯在犯罪活动中可以使用PKC’s,这是因为未制定提供具有必须的解密密钥的法律实施的条款,从而导致不用搭线的犯罪通信。因此,希望使专用通信专用于守法公民。对这一问题的通常解决办法是使每个用户向委托的第三者保存机构,或托管人提交一个他或她的私人密钥的标记。在法院授权搭线的情况下由第三者保存中取出共用部分。换言之,密钥第三者保存提供一种恢复一个组织中的丢失专用密钥,或文件系统密钥的方法。
让我们看一下一些密钥第三者保存系统并了解所有要求,而不仅仅是一个单独PKC。颁布给Micali(1994)的美国专利5,276,737,和5,315,618公开一种公平的公共密钥密码系统(FPKC)(还可以参看,S.Micali,“公共密钥密码系统”,CRYPTO’92,113-138页,Springer-Verlag,1992),该系统满足守法公民和法律实施的需要(基于P.Feldman,28th annual FOCS)。Micali的优选实施例公开如何将Diffie-Hellman PKC,以及RSA PKC转换为Fair PKC’s。在Fair Diffie-Hellman PKC的优选实施例,每个用户向五个中心受托人(也称为“受托第三方”)提交五个共用以注册一个公共密钥。因此,该解决办法不是可升级的,这是由于该方法需要使用较小数目的受托机构,从而该方法是集中式。在本发明,用户构造一个密钥对以便专用密钥可证明地自动由第三者保存。因此,无论什么时候都不需要受托的第三方。第三方保存信息可以送到多个分散的认证机构(CA’s)中的一个。在Micali’s的方案中,每个受托人检验其相应的共用。只要该共用是有效的,就将该共用存储到数据库。接着,每个受托人标记接收的值并将其送到密钥管理中心。五个机构负责五个私人共用数据库的保密和管理。在本发明,密钥信息由CA检验。只要密钥信息具有正确的格式,该密钥就被标记,并立即放入公共密钥的数据库。仅需要一个专用数据库。由于在本实施例仅需要CA管理用户密钥,有可能实现最少量的通信开销。在FairPKC’s,只有受托人可以检验一个密钥被第三者适当地保存。由于没有密钥用户可以很容易地产生不可恢复的密钥,因此需要检验。在本发明,每个人可以检验密钥。例如,如果一个公民怀疑CA不能保证其密钥可被第三者适当地保存时,该方法特别有用。
可以看出Fair RSA PKC不满足法律实施的某些要求(J.Kilian,F.Leighton,“重复访问的Fair密码系统”,CRYPTO’95,208-221页,Springer-Verlag,1995),这是因为在其内可以嵌入一个静区(shadow)公共密钥密码系统。一个静区公共密钥密码系统是一个可嵌入到密钥第三者保存系统的系统,该系统允许协作的用户进行不搭线通信。
RSA FPKC的缺陷在于需假定罪犯使用与提供给第三者保存机构的相同的保密密钥的事实。静区密码系统使用本领域公知的存在于PKC’s的公共密钥中的阈下信道。这些信道被用于显示静区PKC的公共密钥。Kilian和Leighton文件公开了如何将PKC’s转换为Fail-safe Key Escrow(FKE)系统。具体地说,公开了如何根据与Diffie-Hellman和DSS一样的PKC’s进行用于分散登记的PKE系统。在其扩展协议,用户和受托机构进入协议以产生用户公共和专用密钥。通过这样作,该机构被确信在所产生的公共密钥中不包含阈下信息。用户也被确信密钥被第三者适当地保存。该系统与FairDiffie-Hellman PKC类似,除所增加的该协议的开销之外。这样,该系统与Fair Diffie-Hellman PKC一样无效。在本发明,用户独立选择他或她自身的密钥。关于静区PKC’s的不足,本发明基于这样的事实,即,不了解在有限区域不引人注意地嵌入系数取幂内的有效位数的方法。因此,对离散对数PKC’s中的静区密码系统的开发看来很遥远。
De Santis et等人提出一种第三者保存系统,其中受托人仅能打开对话中的信息,而不是打开怀疑进行犯罪活动的某方的密钥。这就改进了Fair密码系统的概念。由Walker和Winston(TIS)及其IBM保密方式文件提出指示如何打开用户对话期密钥而不是其永久公共密钥的其他技术。这些密钥恢复技术要求用户了解并使用受托人在任何对话初始设定的密钥。这些技术对每个用户来说每次都是超负载的,这是因为它们需要在每次通信对话中使用的新的协议扩展并进一步要求用户存储PKI所需之外的很多密钥。
在“Binding ElGamal:A Fraud-Detectable Alternative toKey-Escrow Proposals(代替密钥契据的欺诈可检测方案)”,Eurocrypt’97,119-133页,Spri nger-Verlag,1997,作者为E.Verheul,H.van Tilborg中描述了基于ELGamal的“Fraud-Detectable Alternative to Key-Escrow Proposals(代替密钥契据的欺诈可检测方案)”。该系统允许用户与短证据一起发送加密信息,加密信息可由一组受托人恢复。因此,该系统具有不依靠受托第三方的优点。然而,该系统需要一个已存在的公共密钥基础结构(PKI)。在Binding ElGamal方法中的缺陷是:如果PKI未委托第三者保存,则用户A可以使用用户B的公共密钥进行公共密钥加密消息,并使用Binding ElGamal发送所产生的密文消息。在这种情况下,验证仅简单用作表示受托人可以恢复该密文,并由此防止法律实施不能监控用户怀疑为犯罪活动的通信。当出现这种滥用时,这种欺诈不能检测。这种滥用是有可能的,因为用户B的专用密钥不被第三者保存。滥用Binding ElGamal方案的软件可以很容易地散布并严重妨碍大规模的法律实施。本发明公开一种建立第三者保存PKI的方法,因此,本发明不存在上述缺陷。与Binding ElGamal类似,尽管本发明的验证包含新技术,本发明采用非交互零知识证据的一般技术。在“如何证实你自身:对鉴别和签字问题的实际解决方案,A.Fiat,A.Shamir,CRYPTO’86,186-194页,Springer-Verlag,1987中示出一种如何进行这样验证的启示。
在“密钥契据加密系统分类学”D.Denning,D.Branstad,Communication of the ACM,v.39,n.3,1996中给出了密钥第三者保存方案的概述。在N.Jefferies,C.Mitchell,M.Walker,“针对第三方服务提出的一种结构”,密码学:Policy and Algorithms(策略和算法),LNCS 1029,Springer,1996和R.Anderson,”The GCHQ协议及其问题”,Eurocrypt’97,pages 134-148,Springer-Verlag,1997描述了一种受托第三方保存方法,其中在每次对话期密钥建立阶段包含参与用户的受托第三方。
前述所有的密钥第三者保存解决方法具有下面的缺陷,如果不具有全部缺陷,也具有大部分缺陷。
(a)这些方法需要抗干扰措施,或需要硬件实施。这就带来高成本和投入使用慢。
(b)这些方法需要使用分类或专用的算法。对于可能怀疑设备保密性或操作的用户是不可接受的。
(c)这些方法以软件实现,因此进行变换,从而产生不适当的操作和可能的不搭线通信。然而,这是任何软件解决方法本质上的问题(在这种情况下,我们要求,如果用户单独采用软件方法用于实现专用性,则其明文或密钥是可恢复的)。
(d)这些方法在密钥产生和/或一般应用中需要过多的协议交互。另外,使用较少的集中项可以进行该交互,从而使通信业务量和通信延迟产生一个潜在的瓶颈。这些方法需要用户拥有受托人密钥并在每次对话初始时使用它们,并对每个通信协议需要进一步修改。
(e)这些方法需要在系统操作中所包含的过多数目的受托第三方(TTP)。在过多各方之间扩展托管增加了破坏保密的危险并降低可伸缩性。
(f)这些方法需要通过TTP’s产生密钥。一个不良或暴露的TTP通过篡改或公开用户密钥而使用户保密性担风险。
(g)这些方法需要代表用户的保密密钥或保密共用的数据库的保密和管理。
(h)这些方法需要建立一个静区公共密钥的基础结构,从而破坏第三者保存系统的所有目的。
自动恢复和自动证明密码系统
由于上述缺陷,需要一种具有下面优点的新的系统:
(a)一种能够以源码形式分布并且不损失保密性的密钥第三者保存系统,因此,提供一种能被公共详察以保证正确操作的系统,另外,由于密钥第三者保存系统能以软件实现,因此能够大规模,快速,以及低成本地实施。这就实现系统的快速分布。
(b)在由于本发明修改的可能性而使软件实现不可能的情况下,以抗干扰的硬件直接实现本发明。然而,这对于由(a)(例如:易于分布)带来的优点具有不利影响。
(c)第三者保存系统在第三者保存机构,CA,和用户之间需要最少数量的协议交互,这在理论上是可能的。为注册一个密钥,一个消息仅需要被送到多个CA’s中的一个。该机构被称作一个基于第三者保存系统的密钥注册。与Fair PKC’s中的优选实施例比较,五个消息从用户被送到受托人,接着,将多于五个的消息送到密钥管理中心。
(d)仅需要一个专用数据库来实现第三者保存系统。仅需要认证该数据库并使其保持专用以防止建立一个静区PKC。如果该数据库被暴露,则用户的专用密钥将不暴露。这与Fair PKC’s相反,在Fair PKC’s必须保留几个数据库并且如果这些数据库被损坏,则用户的专用密钥也将被损坏。这种要求使得新系统与一般的公共密钥系统一样在建立和认证用户密钥仅依靠CA。
(e)第三者保存系统允许任何人鉴定用户的专用密钥。鉴定使得专用密钥由给出用户相应公共密钥,认证,和公共参数的第三者保存机构恢复。与Fair PKC’s比较,只有受托人执行该认证。新系统的这种要求被称为通用可检验。
(f)第三者保存系统具有抗静区公共密钥能力。Fair PKC’s不具有抗静区公共密钥能力,即,它们可被滥用以提出其他PKC方案(J.Kilian,F.Leighton,“可重复访问的公开加密系统FairCryptosystems Revisited”,CRYPTO’95,208-221页)。
本发明具有足够的通用性,使得可以选择(a)或(b)(即,软件或硬件实现)。在每种情况下,满足要求(c)到(f)。
发明概述
为提供上面和下面描述的其他目的和特征,本发明在密码术引入新的范例。本发明提供一种方法以便在没有过多开销的情况下鉴定一个用户产生的专用密钥包含在由第三者保存机构的公共密钥进行的加密中。另外,该鉴定可由拥有第三者保存机构公共密钥的任何人执行。本发明由一个设定处理和以不同方式处理信号的三个函数组成。这些函数为密钥产生,密钥鉴定,和密钥恢复。在优选实施例的设定处理中,参与者同意一组初始公共参数并且相应机构产生一个第三者保存公共密钥和相应的专用密钥。初始参数和第三者保存公共密钥为系统的公共参数。第三者保存机构,认证机构(CA),和系统的用户都访问该公共参数。在密钥产生处理中,该方法产生一个用户的公共/专用密钥对,和可恢复性的认证,可恢复性的认证为包括第三者保存公共密钥情况下的用户专用密钥的隐含加密的一个信息串。包含用户的公共密钥,以及可恢复性的认证的信号信息可发送到任何实体。在认证处理中,用户将该信号发送给认证器。认证处理接收输入信号,处理该信号,并输出真或假。真的结果表示用户的专用密钥通过第三者保存机构从可恢复性认证中恢复。假的结果表示专用密钥不可恢复。本发明被设计为使用户不容易产生公共密钥,以及可恢复性认证,因此该密钥不被第三者保存并且在真的情况下进行认证处理。在优选实施例中,在成功认证之后用户使用接着签下其公共密钥的认证机构(CA)的注册机构证明其公共密钥。在包含公共密钥的数据串上的与CA’s签名一起的公共密钥构成一个认证的公共密钥。详细地说,当接收用户的公共密钥,和可恢复性认证时,CA鉴定相应的专用密钥是否可恢复。如果是这样(即,鉴定处理输出真),则公共密钥被鉴定和/或由CA公共使用。与一个典型的PKI一样,用户仅需要保持其公共密钥并访问包含其他用户公共密钥的公共密钥数据库。在恢复处理中,第三者保存机构使用用户的可恢复性认证作为输入信号,用户的可恢复性认证从CA获得。第三者保存机构处理可恢复性认证,和相应的用户专用密钥或使用相应公共密钥的加密数据为产生的输出信号。
本发明在要求专用密钥恢复,或使用这些密钥加密密钥,或使用这些密钥加密信息的任何环境下都很有用。在国内和国际法律实施,在商业部门,在保密文件系统,等都会出现这样的环境。专用密钥的成功的第三者保存隐含公共密钥加密信息的成功的第三者保存,因此本发明具有很多应用。
就任何基础技术而言,本发明具有很强适应性,因为本发明既可以以硬件也可以以软件实施。当软件实施时,可以很容易地详察本发明以保证其不损坏其用户的保密性。软件实施允许本发明快速和容易地进行传播,因为本发明可以以源码形式经盘或计算机通信网络传播。本发明还可以不进行通信,从理论上这是可能的。所进行的通信仅是软件本身的传播(或硬件设备本身)和用户公共密钥,可恢复性认证,以及附加信息的一次传播。信号可被快速处理并且信号本身构成一个少量的信息。本发明不需要对典型的未被第三者保存的PKI’s中使用的通信协议进行改变(例如,对话期密钥建立,密钥分布,保密信息传播等)。因此,本发明与一个典型的PKI’s兼容。这样,本发明提供一种进行第三者保存和恢复密钥的高效方法。
附图
将参照附图1-7对本发明进行描述。
图1是将本发明的方法设定为用于m个第三者保存机构的数据流程图。
图2是使用本发明产生一个公共/专用密钥对和可恢复性认证的处理的基本步骤的流程图。
图3是鉴定专用密钥的可恢复性的处理的数据流程图。
图4是使用本发明注册一个密钥的处理的数据流程图。
图5是通过第三者保存机构进行专用密钥恢复处理的数据流程图。
图6描述一个一般的公共密钥系统及其主要部件和操作。
图7描述通过采用本发明产生的可由第三者保存的公共密钥系统及其主要部件和操作。
本发明的描述:优选实施例
下面是本发明的第一优选实施例的描述。无论适用于何处在描述优选实施例的同时出现优选实施例的变化。为表示方便起见,尽管任何密码散列算法都能满足应用,所选择的散列法算法为SHA(Schneier 2nd edition,pp442-445)。在优选实施例,从其相应组随机地均匀选择参数。可替换实施例包括从中选择这些值的可能性分布的改变。
图1所示的优选实施例的系统设定初始化密码系统。在优选实施例,参与者选定一个较大质数r,使得q=2r+1为质数以及p=2q+1为质数。满足该关系的r值的实例为5和11,尽管它们都是较小的值。下面是r为十六进制的1024位的值:
fd90e33af0306c8b1a9551ba0e536023b4d2965d3aa8135R7ccf1aeb1ba2da82489b8945e8899bc546dfded24c861742d2578764a9e70b88a1fe9953469c7b5b89b1b15b1f3d775947a85e709fe97054722c78e31ba202379e1e16362baa4a66c6daOa58b654223fdc4844963478441afbbfad7879864fe1d5dfOa4c4b646591
1024位大小的r足以用于密码系统。这样的r,q,和p值不容易找到,由于仅能找到一个质数,但这样作不是很难处理。所需要的是高效算法,该算法可以通过一个多准确度的库实现。这样的算法包括Karatsuba倍增法(multiplication),Montgomery递减法(reduction),叠代法(addition chains),和the Rabin-Miller概率原始测试(probabilistic primality test)(J,Lacy,D.Mitchell,W.Schell,“CryptoLib:Cryptography in Software(软件中的密码术),”AT&T Bell Laboratories(贝尔实验室),cryptolib@research,att.com)。
下面的方法用于高效找到较大的r,q和p值。注意到r与3进行取模运算的结果必须为2。结果不能为零,因为如果这样r就不是质数了。结果也不能为1,因为如果这样r就将被3整除。此外,r与进行取模运算的结果必须为1或4。结果不能为零,因为如果这样r就将被5整除。结果也不能为2,因为如果这样q就将被5整除。结果也不能为3,因为如果这样p就将被5整除,等。我们将该方法称为“逐次逼近求算余数法(trial remaindering)”。通过执行trial remaindering,在执行逐次逼近进行相除算法(trialdivisions)和概率原始测试(probabilistic primality tests)之前我们可以快速得出r,q和p值。一旦我们执行trialremaindering直到,例如,251,我们就对r,q和p执行trialdivision。如果未得出r,q和p,我们就对r进行Rabin-Millerprimality测试,接着是q,接着是p,接着是r,然后是q等。在这三者之间进行改变。我们使用预先选定的复合性的较小潜在证明(potential witnesses)进行上述过程。如果找到r,q和p中的任何一个进行组合,我们将r设定为等于r+2×3×5×…×251并通过trial division和潜在证明的设定重复开始。以这种方式我们不需再次执行trial remaindering,因为保证r的前面条件。一旦找到r,q和p,我们就使用潜在证明执行附加的原始(primality)测试,使用一个较好的随机数发生器找到潜在证明。如果r,q和p通过这些测试,则就假定它们为质数并将其公布为系统参数。
参与者商定,或CA选择,产生一个集合{1,2,3,…,p-1}中的元素的值g以及产生所有小于2q并相对于2q为质数的奇数值g1。注意到2q为一个倍增组并具有一个发生器。在优选实施例g和s为奇数。值r,q,p,g,和g1为系统初始参数并在不损坏保密性的情况下为公共可用。可以通过机构本身和/或任何其他别的机构选择这些参数。一旦指定g1和q,则m个机构(m大于或等于1)共同进行计算一个第三者保存机构公共密钥(Y,g1,2q),也称为第三者保存公共密钥,以及第三者保存机构专用密钥z_1,z_2,…,z_m。为进行上述过程,机构i,这里i的变化范围为从1到m,在{1,2,…,2r-1}中随机选择值z_i并将Y_i设定为g1使得升至该值的y_i与2q进行取模运算。接着至少一个机构从其他m-1个其他第三者保存机构接收Y_i’s的所有信息。在优选实施例,机构i,这里i的变化范围为从2到m,将Y_i送给机构1。在图1的步骤11描述了Y_i’s的发送。至少一个机构将Y计算为Y_i’s与2q取模运算的结果。在优选实施例,由机构1计算Y。接着机构1鉴定(g1/Y)为所有小于2q并相对于2q为质数的发生器。如果机构1鉴定(g1/y)不是所有小于2q并相对于2q为质数的发生器,则接着执行步骤12,在步骤12其他的m-1个机构被告知选择新的z值,因此从步骤11开始重新进行该过程。在优选实施例,机构1再一次选择z_1。在一个可替换实施例,至少一个并且小于m个的机构产生新的z值。该过程重复进行多次直到(g1/Y)为所有小于2q并相对于2q为质数的发生器为止。接着通过一个或多个第三者保存机构公开Y,或使其为用户或CA所用。在图1的步骤13描述了这一过程。
图2是表示一个用户系统如何产生一个公共/专用密钥对和一个可恢复性认证的过程的图。已得到通过第三者保存机构使其为用户可用的信号Y,用户系统继续产生一个用于用户的E1Gmal密钥(y,g,p)。信号Y可以先包括在本发明。本发明通过在{1,2….,2r-1}随机地选择值k进行处理。在图2的步骤2004描述了这一过程。在步骤2005,本发明计算C=(g1的k次方)与2q进行模运算。在步骤2006本发明计算用户的专用密钥x为((g1/Y)的k次方)与2q进行模运算。本发明还计算Y=(g的x次方)与p的模运算。
接着,系统进行到步骤2007并计算可被任何感兴趣的各方使用以鉴定该用户密钥是否被正确加密在C内的认证。该认证包括值v,通过系统将其计算为g的w次方与p进行取模运算,这里w为(1/Y)的k次方与2q进行取模运算。通过计算v的C次方与p的取模运算从g和v可以恢复公共密钥参数y。系统还处理在本领域被称为的三个非交互的零知识(zero-knowledge)证据(proof)并将其包括在认证中。让n表示每个非交互证据(non-interactive proof)中的重复次数。在优选实施例,将n设定为40。设计第一证据以便用户可以证明他或她了解k在n内。设计第二个证据以便用户可以证明他或她了解k在v内。设计最后一个证据以便用户可以证明他或她了解k在v的C次方与p的取模运算内。通过示出“用户了解值x”,我们表示系统已在其状态下具有值x。
详细地说,为构造非交互证据,系统如下进行。系统在{1,2,…,2r-1}随机地选择值e_1,1,e_1,2,…,e_1,n,e_2,1,e_2,3,…,e_2,n,和e_3,1,e_3,2,e_3,3…,e_3,n。由于i从1到n变化,系统将I_1,i设定为g1的e_1,I次方与2q进行取模运算。由于i从1到n变化,本发明将I_2,i设定为v的d_i次方与p进行取模运算,这里d_i是Y的-e_2,i次方与2q的取模运算。由于i从1到n变化,本发明将I_3,i设定为y的t_i次方与p进行取模运算,这里t_i是(g1/Y)的e_3,i次方与2q的取模运算。由于i从I到n变化,接着本发明计算值rnd使其为与字元组(I_1.i,I_2,I,I_3,i)一起连接形成的集合的SHA散列。注意到使用一个较适合的密码散列函数使得rnd为所有I值的函数。在替换实施例,散列函数可以具有不同于160位的尺寸的有效范围。散列函数的较大范围允许相当大的n值。系统将每个位尺寸值
b_1,1,b_1,2,…,b_1,n,b_2,1,b_2,2,…,b_2,n,b_3,1,b_3,2,…,b_3,n设定为rnd的每个相应的3n个最低有效位。存在多种方式使实施例可以保密地将rnd位指定为值b。值b是查询(challenge)的位,并且找到这些位的方法公知为Fiat-Shamir Heuristic。接着系统响应这些查询的位进行计算。由于i从1到3变化以及j从1到n变化,本发明将z_i,j设为e_i,j+(b_i,j)k与2r进行取模运算。图2的步骤2007描述上述过程。
系统进行到步骤2008。在步骤2008,由于i从1到n变化,本发明输出参数C,v,y,(I_1,i,I_2,i,I_3,i),和(z_1,i,z_2,i,z_3,i)。在一个替换实施例,由本发明将值k输出到用户。接着用户具有在后交互的选项以证明他或她的专用密钥x可由第三者保存机构恢复。后面将更详细地对此进行说明。此外,值b可以作为验证的一部分。然而,该步骤不是必要的,因为值b可以从I单独得到。
这样对于实施例的描述已大略解释了如何建立系统为CA和机构所用,以及如何使系统为用户所用以产生公共/专用密钥对和可恢复性认证。这些认证是字符串,这些字符串向使用它们的任何人表示所产生的密钥已具有公共的具体特性。下面描述用户如何使用本发明向一个鉴定器证明x从C中恢复。图3描述了该处理。鉴定器可以是CA,第三者保存机构,或作为系统一部分的其他部件。
图3的鉴定过程如下。在步骤3009,用户产生一个公共/专用密钥对,x的加密,以及如上使用本发明的鉴定。在步骤3010,用户向鉴定器发送一个包含这些参数的信号。在步骤3011,鉴定器使用该信号鉴定用户的专用密钥是否由第三者保存机构恢复。为这样作,鉴定器使用用户的公共密钥,加密C,相应的认证,以及第三者保存公共密钥Y。
现在详细描述处理用户信号的方式。如果公共密钥和/或认证无效,则鉴定系统输出0,反之输出1。本发明可以采取连续的处理并向鉴定器表示在返回0的情况下公共密钥无效。类似地,鉴定系统通知鉴定器所通过的鉴定。
为执行鉴定,鉴定系统首先鉴定y=v的C次方与p进行取模运算。如果y不等于v的C次方与p进行取模运算,则鉴定系统返回值0。接着,鉴定系统鉴定包含在用户认证内的三个非交互证据。由于i从1到n变化,本发明以与认证产生过程期间执行的相同方式计算(b_1,i,b_2,i,b_3,i)。回忆一下在图2描述了这一过程。
对于第一非交互证据,由于i从1到n变化,如果b_1,i=1,则鉴定系统检查g1的z_1,i次方是否等于C(I_1,i)与2q的取模运算。由于i从1到n变化,如果b_1,i=0,则鉴定系统检查g1的z_1,i次方是否等于I_1,i与2q的取模运算。如果这些等式中的任何一个都不满足,则鉴定系统返回值0。这就完成第一非交互证据的鉴定。
对于第二非交互证据,由于i从1到n变化,如果b_2,i=1,则鉴定系统检查g的w_i次方是否等于I_2,i与p的取模运算。这里w_i是1/Y的z_2,i次方与2q的取模运算。由于i从1到n变化,如果b_2,i=0,则鉴定系统检查v的v_i次方是否等于I_2,i与p的取模运算。这里v_i是1/Y的z_2,i次方与2q的取模运算。如果这些等式中的任何一个都不满足,则鉴定系统返回值0。这就完成第二非交互证据的鉴定。
对于第三非交互证据,由于i从1到m变化,如果b_3,i=1,则鉴定系统检查g的w_i次方是否等于I_3,i与p的取模运算。这里w_i是(g1/Y)的z_3,i次方与2q的取模运算。由于i从1到m变化,如果b_3,i=0,则鉴定系统检查y的v_i次方是否等于I_3,i。这里v_i是(g1/Y)的z_3,i次方与2q的取模运算。如果这些等式中的任何一个都不满足,则鉴定系统返回值0。如果鉴定通过,则由鉴定系统输出值1。
在图4,用户使用CA认证他或她的公共密钥。在该过程的步骤4012,用户产生他或她的公共密钥和可恢复性认证,如前所述。用户将该信号发送给CA。与图4的步骤4013对应,在步骤4014CA作为一个鉴定器并鉴定用户的专用密钥是否可由第三者保存机构恢复。到目前为止,步骤4012到步骤4014等效于图3中的密钥鉴定处理中的步骤3009到3011。然而,此外,当请求和/或鉴定它们时,CA使密钥通过可由其他部件进行的鉴定处理。如果用户的专用密钥不能通过鉴定过程,则或者忽略鉴定处理,或者通知用户失败的认证尝试。
根据使用本发明的环境的要求,可以要求用户提交额外信息以便注册一个公共密钥并鉴定他们是否在不泄密的情况下知道专用密钥部分。这样的信息可以是口令,社会安全号码,在前使用的专用密钥等。在CA是一个受托实体的情况下,CA可以简单地数字标记用户的公共密钥,并使该密钥与CA的密钥签名一起在被请求时使用。如果CA不被委托,则认证将存储在公共文件并且向第三者保存机构给出与可恢复性认证一起的认证,这同样可以保证可恢复性。这就完成了公共密钥认证处理的描述。
最后描述的处理是专用密钥恢复处理。该过程由图5表示。在该过程,由n个第三者保存机构使用本发明以便根据C恢复用户的专用密钥。在该过程,如图5的步骤5015所示,所有的m个第三者保存机构包含C。在替换实施例CA向一个或多个机构发送C和/或其他参数。这样,它们已拥有C。在这点上,第三者保存机构i计算t_i使其等于C的z_i次方与2q的取模运算。回忆一下z_i是第i个第三者保存机构的专用密钥。由于i从1到m变化,所以这样作。接着机构2到m将其相应的t值送到机构1,如步骤5016所示。由于i从1到m变化,接着机构1计算Y的k次方与2q的取模运算作为t_i的值。然后,机构1通过计算x=(c/Yk)mod 2q得到用户的专用密钥x。在本领域存在多种计算x的方法,因此,在机构之间分配地表示x。在不泄密x本身的情况下,这些方法也允许机构使用对应于x的公共密钥解密加密消息。
所描述的是自动恢复和自动认证(ARC)密码系统。这样的密码系统的用户以与用于保密通信的典型的PKI相同的方式采用公共密钥系统。在图6和7示意性地描述了这一方法。图6是一个PKI环境下的典型的公共密钥密码系统。下面是用户所采取的步骤。(1)用户首先读取CA信息和地址。(2)用户产生一个公共/专用密钥对并将公共密钥发送到CA。CA中的机构注册鉴定用户的身份,并公开与在该密钥上的CA认证一起的公共密钥,将用户识别为该密钥的拥有者。(3)对于另一个用户向该用户发送信息,从CA数据库读取公共密钥并鉴定认证。(4)接着,在新的公共密钥的情况下加密信息并发送。图7示意性地描述了ARC密码系统。附加操作如下。(4)机构产生第三者保存公共密钥并将其送给CA。步骤1和2相似,除与公共密钥一起发送一个证据之外。步骤3和4为系统操作并且二者相同。步骤5和6描述从第三者保存中恢复密钥的情况。(5)第三者保存机构从CA得到信息。(6)第三者保存机构恢复用户的专用密钥。
在第一实施例的一个变化中,在不泄露x本身的情况下,足够大的机构子集在对应于x的公共密钥的情况下可以恢复专用密钥x或加密信息。这通过由另一个机构接收适当的t值独立进行。在某些或全部机构不能被完全委托或不可用的情况下这就增加了可靠性。此外,机构可以要求与公共密钥和加密一起送出可恢复性认证,因此使用鉴定处理首先鉴定用户参数。这就完成了专用密钥恢复处理的描述。
下面是本发明第一实施例的几个替换实施例。本发明的一个替换实施例包括使用(Y,g,2(q的t次方))形式的机构公共密钥,这里t是大于1的整数。在优选实施例我们选择t为1,尽管其他值可以取代1使用并根据原根进行操作。另一个替换实施例是使用两个或多个较大质数的乘机作为公共参数的一部分。显然,在不脱离本发明范围的情况下,所使用的模量的准确结构可以有很大变化。在另一个实施例,可以使用三个非交互证据的交互形式。这样的实施例要求系统在密钥产生期间向用户输出k。在交互协议期间使用该k值,因此鉴定器确信用户的专用密钥可由第三者保存机构恢复。然而,注意到通过输出k,可以导致一个静区公共密钥密码系统。从((g1,C,2q),k)是一个有效的E1Gamal公共/专用密钥对与2q的取模运算的事实得出这一点。
在再一实施例,CA,或其他受托实体,采取掩盖用户的公共密钥的进一步的处理。CA选择一个k s.t.g’=(g的k次方)mod p为一个发生器并向用户送出(g’,(y的k次方)mod p)。g’是用户的E1Gamal发生器并且y’=(y的k次方)mod p是用户最终密钥(g’,y’,p)的一部分。这就防止用户在y中开发阈下(subliminal)信道。
在另一个变化中,用户公开其公共密钥,与“密钥变换”一样,该公共密钥用于在Diffie-Hellman中进行密钥变换。例如,可以使用下面的方法。让a为用户A的专用密钥,b为用户B的专用密钥。让y_a=(g的a次方)mod p为用户A的公共密钥,y_b=(g的b次方)mod p为用户B的公共密钥。为建立一个随机对话期密钥,用户B选择一个随机数据串s。接着用户A向用户B发送m=(y_b的a次方)s mod p。用户b通过计算m/(y_a的b次方)mod p恢复s。用户A和B通过使用一个公知的公共函数(例如,采用单向散列函数)得到对话期密钥。以后,当要求从第三者保存中取出对话期密钥时,受托人将使用a或b以恢复s,从而恢复对话期密钥。
下面是本发明第二优选实施例的描述。尽管任何密码散列算法满足要求,所选择的散列算法为SHA(Schneier 2ndedition,pp442-445)。为方便起见,我们使用散列结果最低有效位,但是任何位的子集都是可能的。在优选实施例,从其相应的组或范畴随机均匀选择参数。替换实施例包括选择的这些值中的概率分布的变化。基于随机数发生器或伪随机数发生器这样的选择在本领域是可能的。
图1所示的该替换实施例的系统设定初始化密码系统。在优选实施例,第三者保存机构i,1<=i<=m,产生一个专用共用D_i,以及相应的公共共用E_i。专用共用D_i形成共用的专用密钥D。第三者保存机构2到m将其E_I发送给第三者保存机构1。步骤11对此进行了描述。第三者保存机构1组合所有的公共共用E_I并计算共用的公共密钥E。E值由第三者保存机构1公开,如步骤13所示。每个第三者保存机构i保持D_i专用。作为一个具体的实例,第三者保存机构可以产生一个较大的质数p和值g,质数p和值g产生{1,2,…,p-1}。从{1,2,…,p-1}可以随机均匀地选择共用D_i,并且E_i=(g的D_i次方)mod p。E是值E_i与p的取模运算的所有结果的乘积。密钥的接合发生变化是可能的,以及通过一个单独的第三者保存结构实现也是可能的。
与图2类似的处理描述了一个用户系统如何产生一个公共/专用密钥对和可恢复性认证。已得到(并尽可能地进行鉴定)通过第三者保存机构使其为用户可用的信号E,用户系统继续产生一个用于用户的E1Gmal公共密钥(y,g,p)(T.E1Gamal,“基于离散对数的公共密钥密码系统和签名方案”,CRYPTO’84,10-18页,Springer-Verlag,1985)。用户系统从{1,2,…,p-1}随机均匀地选择一个专用密钥x并y为(g的x次方)mod p。该密钥产生过程对应于步骤2006。
接着系统进入到步骤2007并计算一个鉴定,该鉴定可由任何感兴趣的各方,特别是CA使用,以鉴定用户的专用密钥是否可由可恢复性认证P恢复。让ENC(a,s,E)表示使用随机性s在公共密钥E的情况下消息的公共密钥加密。这里ENC是一个从语义上保证可能的公共密钥加密,其中在可能的加密中字符串s用做随机性。例如,ENC可以是E1Gmal加密,或最优不对称加密(Bellare-Rogaway,“最优不对称加密”,Eurocrypt’94)。让DEC为以共享方式执行的对应公共密钥解密函数。因此,DEC(ENC(a,s,E),D_1,D_2,…,D_m)=a。P是根据下面的算法:
1.P=()
2.对于I=1 to M进行
3.从域{1,2,…,p-1}随机选择r_i
4.选择两个随机串s_i,1和s_i,2用于ENC
5.Q_i=(g的r_i次方)mod p
6.C_i,1=ENC(r_i,s_i,1,E)
7.C_i,2=ENC(r_i-x mod p-1.s_i,2,E)
8.将(Q_i,C_i,1,C_i,2)增加到P的结尾
9.val=H(P)
10.将b_1,b_2,…,b_M设定为val的M最低有效位,这里b_i处于{0,1}
11.对于i=1 to M进行
12.w_i=r_i-(b_i)x
13.Z_i=((w_i),s_i,j),这里j=1+b_i
14.将Z_i增加到P的结尾
构成的。
这样,P=((Q_1,C_1,1,C_1,2),…,(Q_M,C_M,1,C_M,2),Z_1,…,Z_M)。H是一个适当的公共单向散列函数(例如,SHA),因此b_i’s可由P恢复。b值是查询(challenge)位,找到并使用它们的方法与Fiat-Shamir Heuristic类似。用户系统在步骤2008输出(y,x,p)。注意到用户具有交互证明他或她的专用密钥x可由第三者保存机构恢复的选项。后面将对此进行详细的说明。M是一个足够大的保密参数(例如,M=50)。
这样对该实施例的描述就大略解释了如何设定系统为为CA和机构所用,以及如何使系统为用户(潜在接收者)所用以产生公共/专用密钥对和可恢复性认证。这些认证向使用它们的任何人表示所产生的对应于公共密钥的专用密钥通过使用P可由第三者保存机构恢复。下面描述用户如何使用本发明鉴定x可从P中恢复。图3描述了该处理。鉴定器可以是CA,第三者保存机构,或了解系统参数的其他部件。
图3的鉴定过程如下。在步骤3009,用户产生一个公共/专用密钥对,和如上使用本发明的鉴定。在步骤3010,用户向鉴定器发送一个包含这些参数的信号。在步骤3011,鉴定器使用该信号鉴定用户的专用密钥是否由第三者保存机构恢复。在该过程,鉴定系统使用y,相应的认证P,以及第三者保存公共密钥E。鉴定系统首先检查y<p。鉴定系统检查P中的所有值是否处于正确的集合内。鉴定系统还检查所有i和j的值C_i,j不包含任何重复。鉴定系统检查所有i的Q_i都不重复。如果这些鉴定中的任何一个不满足,则返回“假“。然后该鉴定系统以与认证产生处理相同的方式计算b_1,b_2,…,b_M。对于i=1 to M,鉴定系统鉴定下面的情况:
1.ENC(w_i,s_i,j,E)=C_i,j  这里j=1+b_i
2.(Q_i/(y的b_i次方))mod p=(g的w_i次方)mod p
只要通过所有鉴定并且对于1<=i<=M满足上面的1和2,则鉴定系统返回真。本发明可以采取顺序处理并向鉴定器指示在返回假的情况下公共密钥无效。类似地,鉴定系统可以通知鉴定器通过(鉴定系统返回真)的有效性。
在图4,用户使用CA认证他或她的公共密钥。在该过程的步骤4012,用户产生他或她的专用密钥和可恢复性认证,如前所述。用户将该信号发送给CA。这对应于图4的步骤4013。在步骤4014CA作为一个鉴定器并鉴定用户的专用密钥是否可由第三者保存机构恢复。
至此,步骤4012到4014与图3中的密钥鉴定过程中的步骤3009到3011一样。然而,此外,当请求和/或鉴定密钥时CA将使其通过为其他人可用的鉴定处理。如果用户的公共密钥不能通过鉴定过程,则或者忽略认证尝试,或者通知用户失败的认证尝试。
根据使用本发明的环境的要求,可以要求用户提交额外信息以便注册一个公共密钥并鉴定他们是否在不泄密的情况下知道专用密钥部分。这样的信息可以是口令,社会安全号,在前使用的专用密钥等。在CA是一个受托实体的情况下,CA可以简单地与用户的姓名和附加信息一起用数字标记用户的公共密钥,并使该密钥与该信息上的CA的签名一起在被请求时使用。如果CA不被受托(这在PKI不是一个典型的情况),则认证将存储在公共文件并且向第三者保存机构给出与可恢复性认证一起的认证,这同样可以保证可恢复性。这就完成了公共密钥认证处理的描述。我们注意到CA保持可恢复性认证,在其本身密钥与授权信息整体情况下可能以加密形式进行。
最后描述的处理是专用密钥恢复处理。该过程由图5表示。在该过程,由m个第三者保存机构使用本发明以便根据P恢复用户的专用密钥。在该过程,如图5的步骤5015所示,所有的m个第三者保存机构得到y和P。在替换实施例CA向一个或多个机构发送y和P和/或其他参数。这样,它们已拥有y和P。在这点上,第三者保存机构使用其共用D_1,D_2,…,D_m的子集以解密P来打开所有未打开的C_i,j(例如,使用DEC)。这通过使第三者保存机构i恢复用户专用密钥的第i个共用来实现。在该过程,第三者保存机构i从P提取未打开的C_i,j的M个值并使用D_i对其进行解密。所产生的结果与来自其他第三者保存机构的值组合在一起,如图5的步骤5016所示。由机构使用该组合以解密来自P的所有的未打开值C_i,j。这样对应于所有C_i,j的全部明文对第三者保存机构来说已知。在本领域存在多种恢复对应于未打开的C_i,j的明文的方法,因此在机构之间分布地表示未打开明文。第三者保存机构检查一对值的每对C_i,1和C_i,2的明文,当从与mod p-1一起被减去时,一对值等于y=(g的x次方)mod p的指数x。此外,g的x次方mod p的数量可以不与公共y匹配以保证正确。一旦找到这样的一对,则就已找到用户的专用密钥。
我们现在描述本发明的第三优选实施例。在该实施例,系统用户产生合成公共密钥。用户系统以与未决美国专利08/920,504(由Young和Yung)中所述方式产生n和s。回忆一下n是两个(最好比较大)质数p和q的乘积,s是一个结合一个公共单向函数使用的字符串以得到n的较高位的字符串。让e和d分别表示公共和专用指数(例如,对于RSA)。下面是P是如何得到的:
1.P=()
2.随机选择一个字符串t_0 mod n
3.将t_0增加到P的结尾
4.对于i=1 to M进行
5.从集合{1,2,…,(p-1)(q-1)-1}随机选择a_i,1
6.计算a_i,2=d-a_i,1 mod(p-1)(q-1)
7.选择两个随机数据串s_i,1和s_i,2,在ENC中使用
8.t_i=H(t_(i-1))
9.v_i,1=(t_i的a_i,1次方)mod n
10.v_i,2=(t_i的a_i,2次方)mod n
11.Q_i=(t_i,v_i,1,v_i,2)
12.C_i,1=ENC(a_i,1,s_i,1,E)
13.C_i,2=ENC(a_i,2,s_i,2,E)
14.将(Q_i,C_i,1,C_i,2)增加到P的结尾
15.val=H(P)
16.将b_1,b_2,…,b_M设定为val的第M最低有效位,这里b_i处于{0,1}内
17.对于i=1 to M进行
18.Z_i=(a_i,j,s_i,j),这里j=1+b_i
19.将Z_i增加到P的结尾
20.将s增加到P的结尾计算t_i使其等于C的z_i次方与2q的取模运算。回忆一下z_i是第i个第三者保存机构的专用密钥。由于i从1到m变化,所以这样作。接着机构2到m将其相应的t值送到机构1,如步骤5016所示。由于i从1到m变化,接着机构1计算Y的k次方与2q的取模运算作为t_i的值。然后,机构1通过计算x=(c/Yk)mod 2q得到用户的专用密钥x。在本领域存在多种计算x的方法,因此,在机构之间分配地表示x。在不泄密x本身的情况下,这些方法也允许机构使用对应于x的公共密钥解密加密信息。
这样,P=(t_0,(Q_1,C_1,1,C_1,2),…,(Q_M,C_M,1,C_M,2),Z_1,…,Z_M,s)。上面的H可以基于SHA或集中于几个SHA应用以产生t_i的适当尺寸。很又可能t_i处于小于n并相对n为质数的元素集合。
鉴定系统与前面略有不同。鉴定系统首先检查从正确的值集合选择n。让u表示对应于n的k/2较高位的整数。鉴定系统确信或者H(s)=u或者H(s)=u+1,如未决美国专利08/920,504所述。鉴定系统检查P中的所有值是否处于正确的集合。例如,鉴定系统检查t_i是否落入H的范围,以及a_i,j<n(或某些n的函数),这里j是1或2。对于i从1到M变化,鉴定系统还检查t_i=H(t_(i-1))。鉴定系统检查每个i的字节组Q_i的元素不包含重复,以及所有i的对Z_i中的元素不重复。如果这些鉴定中的任何一个失败,则返回假。接着鉴定系统以与认证产生处理相同的方式计算b_1,b_2,…,b_M。对于i从1到M变化,鉴定系统鉴定下面情况:
1.((v_i,1与v_i,2的乘积)的e次方)mod n=t_i
2.(t_i的a_i,j次方)mod n=v_i,j,这里j=1+b_i。
只要所有的认证都通过并且只要对于1<=i<=M满足上面的两个认证,则鉴定系统返回真。
第三者保存机构如下恢复用户的专用密钥。对于i从1到M变化,机构计算w_i为对应于C_i,1和C_i,2的明文的和。如果找到值w_i,使得(t_i的e(w_i)次方)mod n等于t_i,则w_i构成一个对应于e的有效RSA专用密钥。在本领域公知如何因式分解这样的值w_i给出的n。注意到RSA函数是一个同态函数并且上面的实施例适用于类似RSA的同态函数。我们再次陈明从上述实施例清楚表明表示可由第三者保存机构恢复一个值的“证据技术”可以概括到任何同态函数。
本发明的应用是一个多第三者保存机构系统,其中每个第三者保存者机构具有其本身的多个CA和用户。当来自两个不同的第三者保存机构的用户进行保密通信时,两个第三者保存机构可以检索用户消息或密钥并通过双边协议进行交换。这适用于国际上多国家情况。
密钥第三者保存系统的另一个应用是加密文件系统或具有可恢复性密钥的文件储藏系统。根据前面的实施例,特别是根据前面的段落可以实现这样的系统。例如,用户A可以是文件拥有者,用户B可以是文件服务器,而受托人可以是文件恢复代理人。文件的实例可以是口令,在这种情况下,文件恢复代理人可以是口令恢复代理人。
密码系统第一实施例的上述描述给出了密码术中的数论的新颖应用。给出根据在其之间具有直接运算关系的三个质数如何设计密码系统。即r,q和p是满足q=2r+1和p=2q+1的质数。使用在其之间具有关系的三个或更多的质数可以产生多个具有与前面描述的实施例类似特性的多种密码系统。这些系统中的某些系统已在优选实施例的变型中进行了描述。另一个的关系是p=2q+1和q=2rs+1,这里p,q,r,和s全部是质数并且r的长度是160位。另一个实例是p=2q+1,q=2r+1和r=2s+1,这里p,q,r,和s全部是质数。另外,数论的另一个新颖应用是执行指数密码操作,这里操作是,例如,模数取幂。例如,第一实施例的步骤2007中的第二零知识证据包括证明v中的k知识,这里v等于g的w次方与p的取模运算,w是(Y的-k次方)与2q的取模运算。在连续指数中使用三个或更多的域增加了密码系统的灵活性和能力。本发明所述的这些应用对本领域技术人员来说是很容易实现的。
本发明的另一个应用是分层公共密钥第三者保存系统。分层公共密钥第三者保存系统是一个采用树数据结构形式的第三者保存系统。位于树根的第三者保存机构能够解密对应于三个节点的其余节点所有实体的通信。递归地,在树中的任意给定节点i的第三者保存机构能够解密对应于该节点为根的其余子树中的节点的所有实体的通信。在任何时刻,树的叶可以形成另一个子树并作为一个第三者保存代理。通过适当地排序系数的大小,有可能具有用于树的任何节点的多个第三者保存代理。所有这些都有必要进行由最小系数开始以及由最大系数结束的根委托。
类似地,而不是确定次序的固定树,用户可以决定第三者保存代理的子集合并产生其本身的优选树,该优选树是在最大密钥为根的情况下所选择的由其公共密钥的相对尺寸排序的第三者保存代理的子集合。这就实施了委托结构,并确保子集合必须协同作业以恢复密钥或在该密钥情况下加密的信息。
本发明的再一应用是认证电子邮件系统。当用户注册到该系统时,他们向CA登记一个自动-可恢复性加密公共密钥和可恢复性认证,他们还登记一个签名公共密钥。为发送一个认证的邮件段,进行下面过程。发送者发送一个包括下面信息:在其本身的自动认证公共密钥情况下的电子邮件密钥加密,接收者姓名,由电子邮件密钥加密的电子邮件消息的加密,表示认证电子邮件消息的标题,其本身的认证公共密钥,以及其认证公共密钥的Ca的认证,和其他信息的数据包。使用发送者签名专用密钥标记该数据包。数据包以及数据包上的签名一起送到接收者。接收者形成一个返回接收数据包,该数据包包括一个固定的返回接收标题,所接收的消息(或所接收消息的散列),以及附加信息。使用接收者专用签名密钥标记该数据包并送给原始发送者。原始发送者鉴定返回接收数据包上的签名。如果签名有效,则原始发送者发送由接收者认证公共密钥加密的接收者电子邮件密钥。使用原始发送者的专用签名密钥与其上的签名一起发送该消息。接收者鉴定加密电子邮件密钥上的签名。如果签名有效,则接收者使用其专用解密密钥解密电子邮件密钥。接着接收者使用原始发送者认证的公共密钥加密该结果。如果该结果与原始发送者发送的第一数据包中的密文匹配,则该电子邮件密钥被认为是可信的。接着使用该密钥解密并得到原始发送者发送的实际信息。如果由于某些原因接收者在接收第一数据包之后不能与原始发送者接触,则接收者发送返回接收和第一数据包给第三者保存机构。只要数据包和返回接收是可信并且数据包包含正确的接收者姓名,第三者保存机构将恢复电子邮件密钥。第三者保存机构保留返回接收和数据包。只要通过检查,则电子邮件密钥就发送给接收者。这构成了一个基于自动可恢复密钥和签名密钥的认证电子邮件系统,其中用户注册与典型的公共密钥系统中使用CA的用户注册相似。此外,本领域公知如何如上采用认证电子邮件系统用于处理双方之间的签名。可如上所述使用上述应用。
这样,已描述了一种新的和改进的密钥第三者保存系统,其变化和应用。应该明白该优选实施例仅仅是某些具体实施例的示意性说明,这些优选实施例表示本发明的原则和范例的应用。显然,在不脱离本发明的范围的情况下,由本领域技术人员可以很容易地进行各种修改和变化。

Claims (36)

1.一种包括可用于产生、鉴定、使用和恢复密钥的密码系统的方法,该方法包括至少四个实体:代理、机构、注册方和其他方,并且该方法进一步包括下列步骤:
(1)使所述实体建立一组系统参数;
(2)使所述代理产生代理参数并使所述代理公开至少一个代理参数;
(3)使所述机构产生一组机构参数并公开至少一个所述机构参数;
(4)使所述注册方通过采用一个特定的公共程序产生一个注册方公共密钥和注册方专用密钥,该特定的公共程序使用所述代理参数和所述机构参数中的至少一个;
(5)使所述注册方产生一个有效证据,该证据认证所述注册方专用密钥是通过采用所述特定的公共程序而产生;
(6)使所述注册方向机构发送所述注册方公共密钥和所述有效证据;
(7)使所述机构鉴定所述注册方公共密钥以及所述有效证据的正确性;
(8)如果步骤(7)的鉴定成功,使所述机构执行一个注册方公共密钥公开处理并且在进行过程中使正在注册的一方成为已注册的一方;
(9)在所述公开处理之后使所述其他各方得到注册方公共密钥并使用该密钥。
2.如权利要求1所述的方法,其中所述密码系统包括进一步的步骤,该步骤包括一个事件,该事件使所述代理和所述机构中的至少一个恢复由所述注册方公共密钥加密的明文数据。
3.如权利要求1所述的方法,其中所述密码系统包括进一步的步骤,使所述代理和所述机构中的至少一个恢复所述注册方专用密钥。
4.如权利要求1所述的方法,其中所述步骤(2)产生的所述代理参数是公共/专用密钥对,其中仅公开所述公共密钥。
5.如权利要求1所述的方法,其中所述步骤(3)产生的所述机构参数包括仅公开所述公共密钥的公共/专用密钥对。
6.如权利要求1所述的方法,其中所述有效证据由至少一个非交互零知识证据串组成,其中所述机构通过鉴定所述至少一个非交互零知识证据串鉴定所述有效证据。
7.如权利要求1所述的方法,其中步骤(6)和(7)中的产生、发送和鉴定所述有效证据包括产生一个零知识证据协议,其中所述注册用户是证明者而所述机构为鉴定者。
8.如权利要求1所述的方法,其中所述公开处理包括产生代表所述注册方的公共密钥认证,其中所述认证包括所述机构在所述注册方公共密钥上的数字签名和使用所述机构专用密钥的其他信息,并且所述认证可使用至少一个所述机构公开的参数鉴定。
9.如权利要求1所述的方法,其中所述公开处理包括产生代表所述注册方的公共密钥认证,其中所述认证包括所述机构在所述注册方公共密钥的修改上的数字签名和使用所述机构专用密钥的其他信息,并且所述认证可使用至少一个所述机构公开的参数鉴定。
10.如权利要求1所述的方法,其中所述公开处理包括使所述注册方公共密钥作为文件中的有效密钥。
11.如权利要求1所述的方法,其中使用所述注册方公共密钥包括执行下面的至少一个功能:公共密钥加密,公共密钥解密,数字标记,数字签名鉴定,密钥变换,和识别。
12.如权利要求2所述的方法,其中所述事件是一个适当的授权,该授权是授予代表政府或政府组织内的代理机构的代理的。
13.如权利要求2所述的方法,其中进行明文数据恢复以便监控怀疑进行犯罪活动的注册各方的通信同时保护其他各方的保密性。
14.如权利要求2所述的方法,具有进一步的步骤:
如果代理不能监控注册各方的通信则使注册各方活动的特征为非法。
15.如权利要求1所述的方法,其中以硬件在至少一个步骤实现代理、注册各方和机构的至少一个功能。
16.如权利要求1所述的方法,可使用所述注册方公共密钥用于文件加密。
17.如权利要求1所述的方法,其中所述其他各方包括所述注册各方。
18.如权利要求2所述的方法,所述进一步步骤是在两方,用户1和用户2之间发送的明文信息恢复,并进行下面两个步骤中的至少一个:
(1)所述代理的第一子集恢复用户1的专用密钥或由对应于用户1的所述专用密钥的公共密钥加密的信息;
(2)另一个子集恢复用户2的专用密钥或由对应于用户2的所述专用密钥的公共密钥加密的信息;
19.如权利要求2所述的方法,其中所述事件通过进行所述注册方组织内的适当处理来产生。
20.如权利要求1所述的方法,可用于产生、使用、鉴定和恢复密钥,其中所述系统参数集合包括至少三个域F1,F2,和F3使得F1是F2的指数域,F2是F3的指数域。
21.如权利要求1所述的方法,可用于产生、使用、鉴定和恢复密钥,其中所述系统参数集合包括基于r,q和p的至少三个域,其中p=2q+1=4r+3,r,q和p为质数。
22.如权利要求1所述的方法,其中所述注册方密钥为y,y等于g的x次方与p的取模运算,g是一个取质数p的模的发生器;x是所述注册方专用密钥。
23.如权利要求1所述的方法,其中所述注册方公共密钥基于数字n,其中只有所述注册方了解将n因式分解为质数。
24.如权利要求1所述的方法,其中所述注册方密钥是一个同态函数。
25.如权利要求1所述的方法,其中所述注册方公共密钥是基于密钥的RSA。
26.如权利要求1所述的方法,其中所述注册方公共密钥是基于具体域上的密钥的E1Gamal。
27.如权利要求1所述的方法,其中所述有效证据包括使用所述代理公开参数的加密。
28.如权利要求1所述的方法,其中所述有效证据采用陷门单向函数加密。
29.如权利要求1所述的方法,其中所述有效证据声明代理能够恢复所述注册方的专用密钥和由所述注册方公共密钥加密的信息。
30.如权利要求1所述的方法,其中在步骤(6)所述注册公共用户首先发送所述注册方公共密钥,其后发送所述有效证据。
31.如权利要求1所述的方法,具有附加步骤:使所述注册方产生与步骤(4)的公共/专用密钥对不同的一个构成签名密钥的公共/专用对,并使所述机构认证所述签名密钥的所述公共密钥。
32.如权利要求31所述的方法,使用所述密码系统用于保证传输的电子邮件。
33.如权利要求1所述的方法,其中由注册方产生的所述代理公开参数和所述公共密钥来自不同的密钥域。
34.如权利要求1所述的方法,其中代理是多个部件,并且步骤(5)中的所述注册方产生由注册方公共密钥加密的所述注册方明文数据可由代理子集恢复的有效证据。
35.如权利要求2所述的方法,其中代理是分层组织的多个部件,每个部件能够在其子层恢复由密钥加密的明文数据。
36.如权利要求35所述的方法和装置,其中步骤(5)中的所述注册方产生由注册方公共密钥加密的所述注册方明文数据可由代理子集恢复的有效证据。
CNB988066904A 1997-05-28 1998-05-21 自动可恢复自动可认证密码系统 Expired - Fee Related CN1241353C (zh)

Applications Claiming Priority (10)

Application Number Priority Date Filing Date Title
US08/864,839 US6202150B1 (en) 1997-05-28 1997-05-28 Auto-escrowable and auto-certifiable cryptosystems
US08/864,839 1997-05-28
US08/878,189 1997-06-18
US08/878,189 US6122742A (en) 1997-06-18 1997-06-18 Auto-recoverable and auto-certifiable cryptosystem with unescrowed signing keys
US08/920,504 1997-08-29
US08/920,504 US6243466B1 (en) 1997-08-29 1997-08-29 Auto-escrowable and auto-certifiable cryptosystems with fast key generation
US08/932,639 1997-09-17
US08/932,639 US6389136B1 (en) 1997-05-28 1997-09-17 Auto-Recoverable and Auto-certifiable cryptosystems with RSA or factoring based keys
US08/959,351 1997-10-28
US08/959,351 US6282295B1 (en) 1997-10-28 1997-10-28 Auto-recoverable and auto-certifiable cryptostem using zero-knowledge proofs for key escrow in general exponential ciphers

Publications (2)

Publication Number Publication Date
CN1262007A CN1262007A (zh) 2000-08-02
CN1241353C true CN1241353C (zh) 2006-02-08

Family

ID=27542270

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB988066904A Expired - Fee Related CN1241353C (zh) 1997-05-28 1998-05-21 自动可恢复自动可认证密码系统

Country Status (13)

Country Link
EP (1) EP0997017A2 (zh)
JP (1) JP2002500842A (zh)
KR (1) KR20010013155A (zh)
CN (1) CN1241353C (zh)
AU (1) AU737037B2 (zh)
BR (1) BR9809664A (zh)
CA (1) CA2290952A1 (zh)
CZ (1) CZ9904106A3 (zh)
IL (1) IL132961A0 (zh)
NO (1) NO995811L (zh)
NZ (1) NZ501273A (zh)
PL (1) PL338018A1 (zh)
WO (1) WO1998054864A2 (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6473508B1 (en) * 1998-12-22 2002-10-29 Adam Lucas Young Auto-recoverable auto-certifiable cryptosystems with unescrowed signature-only keys
EP2312791B1 (en) * 1999-01-29 2017-11-01 Google Technology Holdings LLC Key management for telephone calls to protect signaling and call packets between cta's
WO2001095545A2 (en) * 2000-06-05 2001-12-13 Phoenix Technologies Ltd. Systems, methods and software for remote password authentication using multiple servers
US7577659B2 (en) * 2003-10-24 2009-08-18 Microsoft Corporation Interoperable credential gathering and access modularity
US7721340B2 (en) * 2004-06-12 2010-05-18 Microsoft Corporation Registry protection
CN102013983B (zh) * 2010-11-26 2012-08-22 中国科学院软件研究所 一种基于强rsa假设的数字签名方法
CA3015569C (en) 2016-02-23 2024-04-02 nChain Holdings Limited Registry and automated management method for blockchain-enforced smart contracts
EP3420518B1 (en) 2016-02-23 2023-08-23 nChain Licensing AG Methods and systems for efficient transfer of entities on a peer-to-peer distributed ledger using the blockchain
EP3257002B1 (en) 2016-02-23 2020-03-11 Nchain Holdings Limited Agent-based turing complete transactions integrating feedback within a blockchain system
BR112018016245A2 (pt) 2016-02-23 2018-12-18 Nchain Holdings Ltd método, dispositivo e sistema para determinação de um segredo comum para o intercâmbio seguro de informações e chaves criptoógráficas, sistema para comunicação e programa de computador
EP4274154A3 (en) 2016-02-23 2023-12-20 nChain Licensing AG Secure multiparty loss resistant storage and transfer of cryptographic keys for blockchain based systems in conjunction with a wallet management system
CN113641986B (zh) * 2021-08-27 2024-04-02 上海金融期货信息技术有限公司 基于SoftHSM实现联盟链用户私钥托管方法与系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2176032A1 (en) * 1994-01-13 1995-07-20 Bankers Trust Company Cryptographic system and method with key escrow feature
US5481613A (en) * 1994-04-15 1996-01-02 Northern Telecom Limited Computer network cryptographic key distribution system
US5745574A (en) * 1995-12-15 1998-04-28 Entegrity Solutions Corporation Security infrastructure for electronic transactions
US5666414A (en) * 1996-03-21 1997-09-09 Micali; Silvio Guaranteed partial key-escrow
US5815573A (en) * 1996-04-10 1998-09-29 International Business Machines Corporation Cryptographic key recovery system

Also Published As

Publication number Publication date
NZ501273A (en) 2001-09-28
WO1998054864A3 (en) 1999-05-14
IL132961A0 (en) 2001-03-19
CN1262007A (zh) 2000-08-02
NO995811L (no) 2000-01-27
KR20010013155A (ko) 2001-02-26
JP2002500842A (ja) 2002-01-08
AU737037B2 (en) 2001-08-09
NO995811D0 (no) 1999-11-26
PL338018A1 (en) 2000-09-25
EP0997017A2 (en) 2000-05-03
CA2290952A1 (en) 1998-12-03
AU8656498A (en) 1998-12-30
BR9809664A (pt) 2000-09-05
CZ9904106A3 (cs) 2001-08-15
WO1998054864A2 (en) 1998-12-03

Similar Documents

Publication Publication Date Title
Tang Public key encryption supporting plaintext equality test and user‐specified authorization
US7634085B1 (en) Identity-based-encryption system with partial attribute matching
US11895231B2 (en) Adaptive attack resistant distributed symmetric encryption
JP4639084B2 (ja) セキュア認証の暗号方法および暗号装置
Sahai et al. Worry-free encryption: functional encryption with public keys
JP5562687B2 (ja) 第1のユーザによって第2のユーザに送信される通信の安全化
US6483921B1 (en) Method and apparatus for regenerating secret keys in Diffie-Hellman communication sessions
KR100568233B1 (ko) 인증서를 이용한 기기 인증 방법 및 상기 방법을 이용하여기기 인증을 수행하는 디지털 컨텐츠 처리 기기
US6202150B1 (en) Auto-escrowable and auto-certifiable cryptosystems
CN1241353C (zh) 自动可恢复自动可认证密码系统
US6243466B1 (en) Auto-escrowable and auto-certifiable cryptosystems with fast key generation
Ali et al. Secure IoT framework for authentication and confidentiality using hybrid cryptographic schemes
CN116707798B (zh) 一种基于等值测试的密文审查方法、装置和系统
JP4758110B2 (ja) 通信システム、暗号化装置、鍵生成装置、鍵生成方法、復元装置、通信方法、暗号化方法、暗号復元方法
Gennaro et al. Two-phase cryptographic key recovery system
Rasmussen et al. Weak and strong deniable authenticated encryption: on their relationship and applications
Zhang et al. CKAA: Certificateless key‐agreement authentication scheme in digital twin telemedicine environment
Chander The state-of-the-art cryptography techniques for secure data transmission
Jayanthi et al. A public key-based encryption and signature verification model for secured image transmission in network
US7035403B2 (en) Encryption method and apparatus with escrow guarantees
Chaudhari et al. Secure and Verifiable Multi-Party Computation Using Indistinguishability Obfuscation
TWI405450B (zh) Password authentication method
Gennaro et al. Secure key recovery
JP4518397B2 (ja) 署名生成者同一性検証方法及びシステム、並びにプログラム
Rasmussen On the Relationship Between Weak and Strong Deniable Authenticated Encryption

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: 20060208

Termination date: 20170521

CF01 Termination of patent right due to non-payment of annual fee