CN101238677A - 使用以非一次一密加密进行加密的签名密钥的加密认证和/或共享加密密钥的建立、包括(但不限于)对可延展攻击具有改进安全性的技术 - Google Patents

使用以非一次一密加密进行加密的签名密钥的加密认证和/或共享加密密钥的建立、包括(但不限于)对可延展攻击具有改进安全性的技术 Download PDF

Info

Publication number
CN101238677A
CN101238677A CNA2006800203601A CN200680020360A CN101238677A CN 101238677 A CN101238677 A CN 101238677A CN A2006800203601 A CNA2006800203601 A CN A2006800203601A CN 200680020360 A CN200680020360 A CN 200680020360A CN 101238677 A CN101238677 A CN 101238677A
Authority
CN
China
Prior art keywords
value
key
server
password
computer system
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
Application number
CNA2006800203601A
Other languages
English (en)
Other versions
CN101238677B (zh
Inventor
克雷格·B·金特里
菲利普·麦肯齐
佐勒菲卡尔·阿明·拉姆赞
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.)
NTT Docomo Inc
Original Assignee
NTT Docomo Inc
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 NTT Docomo Inc filed Critical NTT Docomo Inc
Publication of CN101238677A publication Critical patent/CN101238677A/zh
Application granted granted Critical
Publication of CN101238677B publication Critical patent/CN101238677B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • H04L9/0844Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols with user authentication or key authentication, e.g. ElGamal, MTI, MQV-Menezes-Qu-Vanstone protocol or Diffie-Hellman protocols using implicitly-certified keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/061Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying further key derivation, e.g. deriving traffic keys from a pair-wise master key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/062Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying encryption of the keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

使用口令(π),客户端(C)计算服务器(S)的口令验证信息的一部分(H1(<C,πC>)),并且它们一同使用该信息对彼此进行认证,并可能使用对离线字典攻击有适应力的方法来建立密码密钥(K′)。然后,在安全信道上,基于该密码密钥,服务器将签名密钥(sk)的加密(EE<C,π>(sk))发送给服务器知道验证密钥(pk)的签名方案。加密是可能的不可延展的和/或包括可解密的部分(E<C,π>(sk))和用于验证通过对可解密部分进行解密所获得的解密值的验证部分(H8(sk))。签名密钥基于该口令,并且服务器不知道该签名密钥。客户端使用口令获得该签名密钥,对消息进行签名,并向服务器返回该签名。服务器使用验证密钥来验证该签名,因而获得了客户端知道该口令的额外证据。客户端和服务器为后续的通信生成比该口令更加安全的共享密码密钥(K″)。

Description

使用以非一次一密加密进行加密的签名密钥的加密认证和/或共享加密密钥的建立、包括(但不限于)对可延展攻击具有改进安全性的技术
本申请要求在2005年7月19日提交的美国临时专利申请No.60/700,769的优先权益,将其一并在此作为参考。对于美国指定,该优先权利要求包括35 U.S.C.119(e)之下的优先权。本申请还要求由Craig B.Gentry、Philip Mackenzie和Zulfikar Amin Ramzan在2006年7月14日提交的名为“CRYPTOGRAPHIC AUTHENTICATION,AND/ORESTABLISHMENT OF SHARED CRYPTOGRAPHIC KEYS,USING A SIGNING KEYENCRYPTED WITH A NON-ONE-TIME-PAD ENCRYPTION,INCLUDING(BUTNOT LIMITED TO)TECHNIQUES WITH IMPROVED SECURITY AGAINSTMALLEABILITY ATTACKS”的美国非临时专利申请No.11/486,510的优先权益,将其一并在此作为参考。对于美国指定,本申请是上述非临时专利申请的延续。,
技术领域
本发明涉及加密,更具体地,涉及由两方通过(可能很短)的秘密来建立共享加密密钥,其中两方具有与该秘密有关的信息。
背景技术
考虑两方,Alice和Bob。Alice和Bob可以通过能够执行处理逻辑的硬连线和/或软件可编程电路来实现。假设Alice和Bob期望通过不安全的网络进行安全地通信,而他们仅想验证包括短秘密口令(例如,4数位PIN码)的彼此的身份,其中Alice知道口令本身,而Bob知道至少一些“口令验证信息”。具体地,他们当中没人知道与另一方相对应的公钥,并且没有一人具有被证明的公钥(即,其证书可由另一方验证的公钥)。在该场景中,Alice不仅需要关注可能尝试通过监听她的通信来偷窃口令的偷听者,而且需要关注正和她进行通信的一方,因为在事先,她甚至不能确定她正在和Bob通信。Bob的情况也类似。
如果Alice和Bob共享了高强度的加密密钥(即长秘密),则可以使用本领域所公知的标准解决方案来建立安全信道(如Bellare和Rogaway的协议[4]),以解决该问题。然而,由于Alice和Bob仅具有与短秘密口令有关的信息,所以他们也可能关注离线字典攻击。在攻击者获得可以用于执行对口令猜测的离线验证的一些口令验证信息时,出现离线字典攻击。例如,假设Alice和Bob共享口令π,以及攻击者出于某种原因获得了口令的散列h(π),其中h是诸如SHA-1[39]之类的某种公共加密散列函数。然后,攻击者可以离线,并遍历可能的口令的字典{π1,π2,…},针对h(π)对每一个进行测试。例如,为了测试πi是否是正确的口令,攻击者计算h(πi)并检查是否h(πi)=h(π)。通常,攻击者所获得的口令验证信息不可能如同口令的散列一样简单,并且攻击者不可能总是能够针对口令验证信息测试所有可能的口令,但是如果他能够测试大量的口令,则这仍然可以被认为是离线字典攻击。Wu[47]描述了离线字典攻击会是如何有效。
因此,期望建立一种用于Alice和Bob之间的通信的协议,从而他们可以将与短秘密(口令)有关的信息自展为可以用于提供安全信道的长秘密(加密密钥)。
这种协议在本领域被称为口令认证密钥交换(PAKE)协议。非正式地,如果攻击协议的唯一可行方式是运行微不足道的在线字典攻击(用于简单迭代地猜测口令并尝试模仿其中一方),则PAKE协议是安全的(这种类型的攻击通常可以通过公知的方法检测到并进行阻止,如以下所述)。Bellovin和Merritt[6]以及Gong等[21]提出了设计安全PAKE协议的问题,并自此进行了扩展性的研究。
如果PAKE协议指定Alice或Bob之一作为客户端,则另一方作为服务器,以及如果保证了服务器的威胁(compromise)在不执行任何离线字典攻击的情况下并没有揭示可以用于模仿客户端的任何信息,则认为该协议具有针对服务器受到威胁的适应力。这种协议也被称为扩充的PAKE协议。Bellovin和Merritt[7]提出了这个设计扩充的PAKE协议的问题,也进行了扩展性的研究。如前所述,将对现有技术中已经提出的用以解决该问题的许多技术进行讨论。
PAKE的一个主要应用是自展公钥基础结构(PKI)。特别地,用户可以使用PAKE协议来建立至可信存储器的安全信道,以安全地下载他的用于公钥和相应私钥的证书。因而用户并不需要关注将他的私钥存储在他的本地设备(其中该本地设备可能失窃——膝上型电脑盗窃是主要的问题——或者该本地设备简单地丢失,即如果用户设备的硬盘驱动器掉落在地上而损坏)上。以这种方式使用PAKE协议的系统的一个示例是Plan9,更具体地,Plan9中的SecureStore[14]。
先前的解决方案
本领域的许多公共口令认证技术是单方认证技术,即仅有一方(用户或客户端)向另一方(服务器)认证,而反之并不如此(另一方面,如上所述的PAKE协议是相互认证技术)。为了方便,将应用标签客户端和服务器来描述两个主要人物Alice和Bob,然而要记住,这些术语仅是方便的标签。
针对客户端的一个简单技术是将口令发送至服务器而无需任何形式的加密保护。这种类型的认证用于一些较古老的因特网应用程序以及许多基于网络的邮件应用程序。然而,对于网络上的偷听者来说,这是不安全的。该技术在偷听相对困难的信道上是可接受的。
更加高级的技术是质询-响应,其中,服务器向客户端发送质询,以及客户端依据该质询和口令(例如,级联的质询和口令的散列)以消息进行响应。这种类型的认证用于一些操作系统中以实现网络访问。然而,这种技术容易受到偷听者的离线字典攻击,因为质询和相应的响应共同做出了口令验证信息。偷听通信的攻击者可以取走会话的抄本(即质询和散列值),并尝试所有可能的口令,直至匹配。
更加安全的技术包括通过匿名安全信道向服务器发送口令,其中使用公钥对服务器进行验证。这种类型的认证用于一些远程终端应用程序以及基于网络的应用程序,并固有地取决于客户端验证服务器的公钥的能力。当在网路上使用时,通过客户端可能信任的证明授权来证实服务器的公钥。对于远程终端应用程序,典型地不存在受信任的第三方,以及安全依赖于识别公钥的客户端,也许是利用公钥的“指纹”或散列。只要可以验证服务器的公钥,这种类型的认证便容易受到能够模仿服务器的攻击者的攻击。例如,在基于网络的应用程序中,如果攻击者不适合地获得了证书,则以上情况便会发生,以及在远程终端应用程序中,如果客户端机器先前并没有存储服务器的公钥,则以上情况便会发生。
因此,期望发现防止离线字典攻击的口令认证密钥交换(PAKE)算法安全。应当至少在没有参与者受到威胁时实现这种安全性。如果一方已经受到对方的威胁,则对方可能会获得将破坏以防离线字典攻击的安全性的一些认证信息。然而,如果例如服务器受到威胁,则期望尽管离线字典攻击安全性会被破坏,但是该协议将会对服务器威胁有适应力。
将会理解,任何PAKE协议的目标是保护免受离线字典攻击。由于引入了PAKE问题,所以对它进行了扩展性地研究,并且提出了许多PAKE协议,例如[7,21,20,24,25,34,45,46,33,32]。这些协议中的许多都示出了是不安全的[10,40]。因此,期望开发可以根据一些合理的加密假设而证明是安全的协议。这些PAKE协议中的许多也声称对于服务器威胁有适应力,例如[7,25,46,33,38],并还期望开发可以根据一些合理的加密假设而证明对于服务器威胁有适应力的协议。
更加近来的PAKE协议基于特定的公知加密假设而具有安全性的证明,但是这些证明中的一些假设存在理想的散列函数或理想的密码(即相应地,黑盒完全随机函数或带密钥的排列)。这种装置被加密领域技术人员普遍使用,以向本领域其他技术人员提供他们工作安全性的数学证明。一些近年来的论文[2,12,1]提出了对EKE协议[7]的改进并证明了基于Diffie-Hellman(DH)假设的安全性[16]。第一篇假设理想密码和理想散列,而其它篇仅假设了理想散列。其它论文[35,51]提出了对[34]的OKE协议的改进,并证明了基于RSA假设的安全性[42]。这些均假设了理想的散列。另一论文[30]提出了基于Cramer-Shoup密码系统的新协议[15],并证明了基于决定性的DH假设的安全性(例如见[11]),仅假设公共随机字符串(不是理想散列函数)。在[18,29,13]中提出了[30]协议的一些变体。在[19]中开发了另一口令认证密钥交换协议,并证实了该协议基于陷门排列的安全,无需任何建立的假设,但是具有禁止相同口令的同时进行的会话的限制。
根据对于服务器威胁的适应力,以下论文包含具有假设了理想散列函数存在的安全性证明的协议[12,37,35]。
为了自展PKI,应注意可能不需要完整的PAKE协议,而是只需要单独为下载信任组(或者用于对加密的信任组进行解密的至少静态加密密钥)而单独设计的基于口令的协议。实现以上功能的一个协议是[17],其变体是[26]。这些协议的安全性依赖于与Diffie Hellman相关的非标准假设。
先前的口令认证密钥交换方案已经在商业产品中得以实现,并且已经被指定用于多种技术标准中。SRP协议[46]实现用于各种应用程序,包括远程登录和ftp[50]。还存在与SRP:RFC 2944[48]和RFC 2945[49]相关的两个IETF RFC。也实现了SPEKE协议[24]并可用于许可。实现了PAK协议[12]并用于SecureStore协议[14]。
目前存在由IEEE P1363工作组和在ISO/IEC 11770-4工作组开发的PAKE标准。IEEE P1363工作组正在开发用于基于口令的公钥加密技术的P1363.2草案标准规范,这可能包括PAK[12]、SPEKE[24]、SRP[46]、AMP[33]和Ford-Kaliski/Jablon协议[17,26],以及这些协议的变体。ISO/IEC 11770-4草案标准将主要可能包括这些除PAK之外的所有协议。
图1示出了[38]中描述的PAKE协议。在该协议中,客户端C(例如Alice)和服务器S(例如Bob)通过向彼此证明每个人均知道口令认证信息H1(π)来对彼此进行认证,其中,π是口令,H1()是散列函数。此外,客户端C和服务器S生成了可在后续会话中用于C和S之间的对称加密的长秘密密钥K。
函数H1()将口令映射到阶数为q的有限循环群Gq。Gq可以是以整数模余质数p的环Zp的乘法群Zp *的子群。元素g是Gq的发生器。符号Hi(例如H2、H3、H4)表示各种散列函数,例如,可以使用以下散列函数:
Hi(x)=H(ASCII(i)||x)    (1)
其中H1()是SHA-1函数或一些其它散列函数。函数H1和H2具有Gq中的值,所以如果Gq是Zp *的子群,则对于i=1,2,可以设置
Hi(x)=H(ASCII(i)||x)modp    (2)
其它适合的散列函数在[38]中进行了描述。
为了更好的安全性,客户端C和服务器S均不需要存储口令π。客户端C可以经由键盘或一些其它输入设备从用户接收口令和服务器的名称S,作为输入。对于具有口令π=πC的每个客户端C,服务器存储可以包括值H1C)的数据库记录πS[C]。在图1中,服务器存储逆值H1C)-1来提高计算效率(将在以下结合步骤130S而明晰)。
如在Diffie-Hellman(DH)秘密密钥交换协议中所述,客户端C执行步骤110C。更具体地,客户端生成Zq的随机元素x(即x是从0到q-1的整数),并计算α=gx。在步骤120C中,客户端计算H1(π),然后计算m=α·H1(π)。在步骤124C中,客户端将名称C和值m发送到服务器。
在步骤110S中,服务器针对m执行一些简单的检查(使用函数ACCEPTABLE()),如果该检查失败则中断。检查可以是m mod p不为0。在步骤120S中,服务器生成了Zq中的随机数y,并计算μ=gy。在步骤130S中,服务器使用所存储的值H1C)-1来计算客户端的值α(见步骤110C):α=m·H1C)-1
在步骤140S中,服务器计算DH共享密钥值σ=αy(该值等于gxy)。在步骤150S中,服务器计算值k=H2(<C,S,m,μ,σ,H1C)-1>)。在步骤160S中,服务器将值μ,k发送到客户端,以证明服务器知道H1C)-1(因而H1C)采用了对H1C)-1求逆在Gq中是容易实现的;显然,求逆易于在Zp *中使用扩展欧几里德算法来实现)。
客户端在步骤130C、140C验证服务器的证据。更具体地,在步骤130C,客户端计算σ为μx。在步骤140C,客户端计算H1(π)-1,然后H2(<C,S,m,μ,σ,H1(π)-1>),并且如果后一值不等于服务器的k则中断。在步骤160C中,客户端生成了值k′=H3(<C,S,m,μ,σ,H1C)-1>),并将该值发送到服务器(步骤170C)作为客户端知道H1(π)的证据。在步骤170S中,服务器通过计算H3(<C,S,m,μ,σ,H1C)-1>)并检查该值等于k′来验证该证据。
在相应的步骤180C、180S中,客户端和服务器中的每一个均生成共享会话密钥K=H4(<C,S,m,μ,σ,H1C)-1>)。K可以是长密钥。
显然,通过网络发送的信息(即,值C,m,μ,k,k′)难以用于离线字典攻击。例如,在针对k和k′的表达式中使用σ(步骤150S、160C)、以及在生成σ的过程中使用随机数y使得即使C和S之间的通信被截获也难以设置离线字典攻击。
然而,如果对手威胁服务器S,则对手可以从πS[C]中获得值H1(π)-1并计算H1(π)。然后,对手可以模仿客户端C,因为协议不需要客户端证明知道除H1(π)之外与π有关的任何信息。因此,协议对于服务器威胁没有适应力。
图2示出了[38]中的修改后的协议“PAK-Z”。这是扩充的PAKE协议,需要客户端向服务器证明知道与π有关的附加信息。对于每个客户端C,服务器的记录πS[C]包括值H1(<C,πC>)-1、用于根据某种签名方案来验证数字签名的签名验证密钥pk、以及与pk相对应的签名密钥sk的加密E<C,πC>(sk):
E < C , &pi; C > ( sk ) = H 7 ( < C , &pi; C > ) &CirclePlus; sk - - - ( 3 )
其中H7()是适合的散列函数,例如(1)或(2)中的散列函数。该加密被称为“一次一密(one-time pad)”。
客户端执行如图1所示的步骤110C-124C。服务器执行如图1所示的步骤110S-150S。此外,在步骤210S、214S中,服务器计算E<C,πC>(sk)的加密c′:
c &prime; = H 5 ( < C , S , m , &mu; , &sigma; , H 1 ( < C , &pi; > ) - 1 > ) &CirclePlus; E < C , &pi; C > ( sk ) - - - ( 4 )
其中H5是某个散列函数(例如(1)或(2)中的散列函数)。在步骤160S中,服务器向客户端发送值c′以及μ和k。
客户端执行如图1所示的步骤130C、140C。在步骤210C中,客户端将c′解密为 c = E < C , &pi; C > ( sk ) :
E < C , &pi; C > ( sk ) = H 5 ( < C , S , m , &mu; , &sigma; , H 1 ( < C , &pi; > ) - 1 > ) &CirclePlus; c &prime; - - - ( 5 )
在步骤220C,客户端将 c = E < C , &pi; C > ( sk ) 解密为签名密钥sk:
sk=cH7(<C,π>)-1    (6)
客户端还针对sk执行有效性检查,并且如果检查失败则中断。在步骤230C,客户端针对密钥sk之下的服务器的DH密钥μ(见图1中的步骤120S)来计算数字签名s=Sigsk(μ)。在步骤240C中,客户端将签名s加密为值
s′=H6(<C,S,m,μ,σ,H1(<C,π>)-1>)s    (7)
并将s′发送至服务器(步骤250C)。在步骤220S中,服务器通过以下计算恢复签名s:
s=H6(<C,S,m,μ,σ,H1(<C,π>)-1>)s′    (8)
在步骤230S中,服务器利用从πS[C]中获得的公钥pk来验证签名。如果验证失败,则服务器中断。如图1所示执行共享密钥生成(步骤180C、180S)。
发明内容
此部分对本发明的一些特征进行概述。本发明由所附权利要求所限定。
发明人观察到图2的PAK-Z协议针对一些签名方案(Sig,Verify),对于服务器威胁没有很好的适应力;见步骤230C、230S。如果使用了基于离散对数(DL)的签名方案(例如,在以下的附录中描述的Schnorr签名方案、ElGamal或DSS),PAK-Z协议易于受到攻击者的攻击,为了易于引用,将其称为“单比特延展性攻击”。在该攻击中,如果对手取代了服务器,则对手可以确定签名密钥sk(除H1(<C,πC>)之外)。然后,对手可以模仿客户端,因为对手可以不知道口令π而执行签名步骤230C。
攻击采用以下基于DL签名方案的特性。签名密钥sk和相应的验证密钥pk=pk(sk)是相关的,从而
pk(sk)=gsk    (9)
其中g是有线循环群的元素,以及签名者已知g。因此,对于任何整数j,
pk(sk+j)=pk(sk)·gj    (10)
所以可以不知道sk而计算pk(sk+j)。
单比特延展性攻击进行以下处理。参照步骤210S,表示d=|c|,即c的比特长度。然后,c可以写作
c=cd-1…c0
其中每个ci是二进制数位。在步骤210S中,对手翻转c的一个比特(例如比特i),以获得
c * ( i ) = c d - 1 &CenterDot; &CenterDot; &CenterDot; c i + 1 c i * c i - 1 &CenterDot; &CenterDot; &CenterDot; c 0
其中 c i * = 1 - c i . 参照加密(3),并且表示π=πC,可以有:
c=E<C,π>(sk),以及    (11)
c*(i)=E<C,π>(sk*(i))
其中通过翻转sk的第i个比特ski,从sk中获得sk*(i)。对手不知道sk的第i个比特,但是知道:
sk*(i)=sk+2i如果ski=0,以及    (12)
sk*(i)=sk-2i如果ski=1
对手利用c*(i)而不是c来执行步骤214S、160S。在客户端侧,步骤210C输出c*(i)而非c。步骤220C输出sk*(i)而非sk。如果sk*(i)在适合的范围内,则VALID(sk*(i))返回TRUE。利用sk*(i)而不是sk来执行步骤230C、240C、250C。
在服务器侧,步骤220S输出值s=Sigsk*(i)(μ)。然后,对手计算
pk * = pk &CenterDot; g 2 i - - - ( 13 )
即pk*=pk(sk+2i);见(10)。然后,对手执行Verifypk*(μ,s)。如果该函数返回1,对手断定pk*=pk(sk+2i)是与sk*(i)相对应的验证密钥,因而sk*(i)=sk+2i,即sk的第i比特是0(见(12))。如果 Verify pk * ( &mu; , s ) = 0 ,则对手断定第i比特是1。
因而对手可以确定在协议的d次执行中的所有sk的比特。如果d远小于可能口令的字典,则该攻击可能比离线字典攻击有效得多。
在本发明的一些实施例中,以某种其他加密EE来替换(3)的一次一密加密E,例如,实质上是不可延展的加密。在一些实施方式中,EE使得如果c是sk的加密,则c*(i)不是EE之下的有效加密,或者c*(i)是某个值sk*的有效加密,但是对手可以在“合理的时间”内找到sk*的概率与对手可以在不知道c的情况下找到sk*(即,通过从值池中随机选择sk*)的概率“大约相同”。这里,“合理的时间”表示对于安全性参数κ中的至少一个多项式的多项式时间。安全参数κ可以是任何参数,例如,可以选择κ,从而以不可忽略的概率,成功的安全性攻击将会需要大约2κ次操作。在一些实施例中,κ表示sk的大小(例如比特长度)。例如,κ可以是sk的比特长度的一半。概率“大约相同”的表达表示概率至多改变“可忽略的量”。“可忽略的量”是当κ接近于无穷时,其幅值快于κ中任何多项式的倒数接近于零的值。假设在相关数值集合上均匀分布,来定义每一概率。
在一些实施例中,以允许客户端验证解密值sk的加密方案来替换加密(3)。例如,可以使用以下方案:
EE<C,π>(sk)=E<C,π>(sk)||H8(sk)    (14)
其中,E<C,π>(sk)如在(3)中,以及H8()是密码散列函数。表示
cE=E<C,π>(sk),cV=H8(sk)    (15)
c=cE||cV    (16)
假设客户端获得了c=EE<C,π>(sk)。客户端将cE部分代入(6)中的sk,然后计算H8(sk),并验证该值等于cV
在一些实施例中,函数H8()不是密码散列函数。例如,该函数可以不是单向的和/或不是抗冲突的。在一些实施例中,H8()使得H8(sk)中的至少一个比特取决于sk的至少两个比特。在一些实施例中,H8(sk)的一个或多个比特中的每一个、也许是H8(sk)的每一个比特取决于sk的两个或多个比特、并且可能取决于sk的所有比特。此外,在一些实施例中,H8(sk)取决于sk的所有比特(即,针对任一比特位置j,存在仅在比特j上不同的两个sk值,但是相应的值H8(sk)不同)。在一些实施例中,sk和H8(sk)中的每一个具有至少80个比特。也可以是其他实施例。
本发明不限于以上所描述的实施例。本发明不限于每方并不具有另一方的公钥或证明后的公钥的情况、或者并不限于以上所描述的其他情况。以下描述本发明的其他特征。本发明由所附权利要求所限定。
附图说明
图1和2是现有技术PAKE方法的流程图。
图3示出了根据本发明一些实施例的PAKE方法。
具体实施方式
将从以下给出的详细描述及本发明各种实施例的附图中更加完全地理解本发明,然而,不应据此将本发明限制于特定实施例,而是仅用于解释和理解。
在以下的描述中,提出了各种细节以提供对本发明的更加透彻的解释。然而对于本领域技术人员显而易见的是,没有这些特定的细节,也可以实践本发明。在其它实例中,以框图形式示出了已知的结构和设备,为了避免使本发明模糊,并未以细节示出。
根据针对计算机存储器内的数据比特的操作的算法和符号表示,呈现了接下来的详细描述的一些部分。这些算法描述和表示是数据处理领域技术人员所使用的手段,以将其工作的内容最有效地传递给本领域的其他技术人员。算法是导致期望结构的方法。步骤是需要物理量的物理操作的那些步骤。通常,尽管并不必要,但是这些量采用能够被存储、传递、组合、比较、以及处理的电或磁信号的形式。证明有时将这些信号称为比特、值、元素、符号、字符、项、数字等是方便的(主要由于通常使用)。
然而,应当记住,这些和类似术语中的全部均要与适合的物理量相关联,并且是应用于这些量的方便的标记。除非特别陈述,否则如在以下讨论中显而易见的,可以理解在整个描述中,利用诸如“处理”或“计算”或“确定”或“显示”之类的术语的讨论指的是计算机系统或类似的电子计算设备的动作和处理,用于将表示为计算机系统寄存器和存储器内物理(电子)量的数据操作和变换为表示成计算机系统存储器或寄存器或其他这种信息存储、传输或显示设备内的物理量。
本发明还涉及用于执行操作的设备。可以为了所需要的目的而特别地构造该设备,或者该设备可以包括由存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。这种计算机程序存储在计算机可读存储介质中,例如但不限于包括软盘、光盘、CD-ROM和磁光盘的任何类型的盘,只读存储器(ROM),随机存取存储器(RAM)、EPROM、EEPROM、磁或光卡、或者任何类型的适于存储计算机指令的介质,并且每个均与计算机系统总线耦合。计算机程序还可以通过网络由数据载体信号承载。因此,可以由载波、红外信号、数字信号等承载程序。
密码领域技术人员已知许多密码发明的安全性依赖于做出特定的难以计算的假设;例如,可以尝试证明只要难以将特定数字有效地分解为其素因子,密码系统便是安全的。本领域中通常使用术语“计算”来标识该类密码发明。本发明提供了一种用于口令认证密钥交换的计算方案。本领域中,通常将术语“信息理论”或“无条件”与看上去在数学上满足特定的有意义的安全定义的方案结合使用,而无需做出任何类型的假设。
尽管通常从纯安全性角度来说,优选不采用计算假设,但是存在不做出这种假设便无法解决问题的实例(本发明便用作这种示例)。具体地,根据本领域的当前状态,不可能不需要公钥密码技术来构造PAKE方案[22]。此外,根据本领域的当前状态,还不知道不做出某种形式的计算假设要如何实现公钥密码技术。因此,本领域中的所有PAKE方案(包括这里所描述的)需要某种形式的计算假设。这些假设将在以后进行描述。此外,本领域技术人员通常已知的是,有时可以通过结合计算假设来更加有效地实现密码方法。
一个假设时常暗示另一个也是没有意义的。即,如果假设之一实际为真,则另一假设将通过数学上的逻辑自变量而看上去也为真。典型地,本领域技术人员所使用的显示出这种暗示的手段是变换(通常在本领域被称为还原),用于将妨碍第二假设的机制转换为妨碍第一假设的机制。在这种情况下,第一假设被称为“较强”或第二假设被称为“较弱”。通常,优选较弱的假设。
签名方案
签名方案S可以包括算法的三元组(GenS,Sig,Verify),其中的前两个可以是概率统计的。在一些实施例中,所有这三个算法均以期望的多项式时间运行。GenS可以被视为输入安全性参数(通常以κ指示,并以一元格式表示,即1κ),并输出密钥对(pk,sk),即(pk,sk)←GenS(1κ)。签名将消息m和签名密钥sk作为输入,并输出用于m的签名σ,即σ←Sigsk(m)。验证将消息m、验证密钥pk和用于m的备选签名σ′作为输入,并返回σ′是否是m的有效签名的指示。例如,如果σ′是用于相应私钥的m的有效签名,则Verify=Verifypk(m,σ′)可以返回值1,否则返回值0。实质上,如果σ←Sigsk(m),则Verifypk(m,σ)=1。
在许多情况下,sk由签名者保密,pk是公开的。在其他情况下,sk和pk均保密。
签名方案的一个示例是Schnorr签名[44]。也见以下的附录。该示例仅是示例性的,不应作为本发明的限制。
对称加密方案
对称加密方案E是算法对(Enc,Dec)。在一些实施例中,这两个算法均以期望多项式时间运行。Enc将对称密钥k和消息m作为输入,并输出用于m的加密c;将其表示为c←Enck(m)。Dec将密文c和对称密钥k作为输入,并且如果这种m存在,便返回消息m使得c是m的有效加密,否则返回某种错误指示()。如果在未知的密钥k之下给出了未知消息m的加密c,则称加密方案实质上不可延展,难以计算密钥k之下的相关消息m′的新加密c′≠c(至少在不知如何确定m的情况下)。
实质上不可延展的对称加密方案的示例性示例是一次一密,其中Enck(m)=H(k)m,H()是散列函数,其输出与m一样长度,以及是逐比特的异或运算。也见以上的(3)。给出了未知密钥k之下的未知消息m的密文c,可以构造相关消息m*=m00…001的密文c*=c00…001,即将其最后的比特进行翻转的m,而不确定m。事实上,可以通过翻转m的第i比特来获得任何消息m*(i)的密文c*(i)。见(11)。
实质上不可延展的对称加密方案的示例性示例是针对加密散列函数H′(),与消息的加密散列连接的一次一密,即
Enck(m)=H(k)m|H′(m)    (17)
也见(14)。这实质上是非延展性的,因为如果修改一次一密部分,则将必须利用正确的消息(这意味着已经确定了该消息)来重新计算加密散列。
可以在不引用“实质上非可延展”概念的情况下对本发明的一些实施例进行描述。并不认为本发明受限于实质上非可延展的加密方案。
散列函数
密码散列函数H是满足以下特性的函数:
(a)单向,即给定H(x),排除可忽略的概率,找到前像z以使得H(z)=H(x)在计算上是不可行的;
(b)抗冲突或至少弱抗冲突。如果找到m1≠m2以使得H(m1)=H(m2)在计算上是不可行的,则H()被称为是抗冲突的。如果给定m1,找到m2≠m1以使得H(m1)=H(m2)在计算上是不可行的,则H()被称为是弱抗冲突的。
“计算上不可行”表示,排除可忽略的概率(该概率在当κ接近于无穷时比κ中的任何多项式的倒数快地接近于零的情况下是可忽略的),给定了安全性参数κ,在等于或小于κ中的任何固定多项式的时间内不能执行该计算。安全性参数κ是H(m)大小的测量,例如|H(m)|的一半(其中|H(m)|表示H(m)的比特长度)。
通常在本领域中相信以下函数是单向的并且是抗冲突的:SHA-1和MD5(例如见RFC-2104,Request for Comments,Networking WorkingGroup,H.Krawczyk等,HMAC:Keyed-Hashing for MessageAuthentication,1997年2月,将其一并引入作为参考)。相信如果H()是SHA-1或MD5,则函数(1)是单向的。相信如果H()是SHA-1或MD5,并且p足够大(例如,具有等于或大于安全性参数的比特长度),则函数(2)是单向的。换言之,不存在已知的算法,用于在至多安全性参数中的多项式时间中,将这种函数取倒数、或者发现给定函数值的两个不同的前像m1和m2、或者发现不同于给定m1的前像m2以使得将m1和m2映射至相同的图像(排除可忽略的概率)。
为了证明本发明的一些实施例的安全性,将会假设散列函数的行为类似于黑盒完全随机函数(在本领域中被称为随机启示器(oracle))[3]。在[3]中,针对如何示例随机启示器存在扩展性的讨论,以及在[23]中,存在针对密钥生成函数的讨论。然而,本发明并不限于这些函数。
令∏成为字典中的口令集合,并令π表示∏中的单个口令。在这里,口令指示对于优选的少数多个的方相互已知的某个量,并典型保密。在本公开的上下文中,口令可以指示可以容易地映射至可能唯一的比特串的任何量。在一些实施例中,口令易于记忆。在一些实施例中,比特串唯一,但是找到映射至相同比特串的两个口令在计算上是不可行的。此外,在本发明的上下文中,术语“口令”和“短秘密”是同义的。此外,术语“短”的使用只是用于易于记忆的量的优选的指示,并不应将本发明限于任何特定秘密长度。
本发明PAKE协议的一些实施例在客户端计算机系统C和服务器计算机系统S(与通过网络302(图3)传输的信号进行通信)之间运行。系统C和S可以被任何系统替换,并不必须是客户端和服务器。客户端C包含执行计算机指令的一个或多个计算机处理器304C。客户端C还包含计算机存储器306C(半导体存储器、磁或光盘、和/或其他类型的存储器)以存储指令和数据。客户端C还可以包含能够接收诸如口令和服务器名称S之类的输入设备308C。服务器S包含执行计算机指令的一个或多个计算机处理器304S、以及用于存储指令和数据的存储器306S。客户端和服务器还可以包含任何所需设备。
在一些实施例中,客户端系统C与口令πC相关联(有时在这里仅以π表示)。在一些实施例中,口令与人类用户而不是计算机系统相关联。可以认为客户端系统C是与口令πC相关联的用户所使用的计算机系统。当由不同的用户或使用不同口令的同一用户使用时,相同的计算机系统可以被视为不同的“客户端”,并与不同的口令相关联。
在一些实施例中,客户端系统C不存储任何每个服务器的信息(如服务器证书)或每个用户数据(如口令、或者口令的散列)。客户端系统接收口令π和服务器身份S作为来自用户的输入,如图3的312C所示。然而,客户端系统可以存储协议的描述,以及该协议的任何公共参数。在一些实施例中,服务器S可以为每个用户存储某个数据记录πS[C]。该记录可以包括用户口令πC、和/或口令的某个函数、和/或与用户关联的辅助数据。在具有对服务器威胁的适应力的PAKE的情况下,服务器不存储口令,而是仅存储口令的某个函数和辅助数据。在图3的情况下,如312S所示:
&pi; S [ C ] = < ( H 1 ( < C , &pi; C > ) ) - 1 , pk , EE &pi; C ( sk ) >
其中(H1(<C,πC>))-1如在图2中所示,pk和sk是分别用于签名方案的验证和签名密钥,以及EE是某个加密方案(EE,DD)的加密算法。在一些实施例中,加密方案实质上是不可延展的。在一些实施例中,加密方案是对称的。在一些实施例中,加密算法EE生成了可以在解密阶段用来验证解密值的有效性的验证信息。验证信息可以是解密值的函数(例如,密码散列函数)。在一些实施例中,EE如在(14)中所示,
具有一些函数H7、H8(例如单向并可能是抗冲突函数),即
EEk(m)=H7(k)m||H8(m)    (18)
(符号|和||是同义的,表示字符串级联)。也可以是其他实施例。例如,函数H7可以取决于C,例如
EE<C,k>(m)=H7(C,k)m||H8(m)    (19)
在一些实施例中,H1(C,πC)不取决于第一自变量,即H1(C,πC)=H1C)。此外,服务器可以存储H1(C,πC)或H1C)而不是(H1(C,πC))-1。在一些实施例中,函数Hi()是单向的。例如,见(1)和(2)。
协议描述。通过改进可以或不可以对服务器威胁有适应力的PAKE协议P′来构造图3的扩充的PAKE协议P。分别见客户端和服务器的步骤314C、314S。在一些实施例中,P′是图1的协议。因此,客户端和服务器在步骤314C、314S中彼此证明知道H1(C,π)。
一旦完成了P′并推导出强加密共享密钥K,则服务器使用从K推导出来的临时会话密钥K′,以安全地将EEπC(sk)发送到客户端(如以下对于一些实施例所详细描述的)。客户端使用K和π来推导出适合的密钥并获得sk,然后利用sk在P′的抄本上创建签名,如由服务器所构建的抄本的部分。实际上,这证明了客户端(在协议P′中与服务器通信的一方)知道π。P的最终输出是从K中推导出来的另一密钥K″。
更加详细地,一个实施例运行如下:
客户端部分1:在步骤314C,客户端计算H1(C,π)并执行在PAKE协议P′中的部分,推导出共享加密密钥K。在步骤320C,客户端使用某个散列函数H20()计算密钥K′=H20(K),并使用某个散列函数H21()计算密钥K″=H21(K)。在一些实施例中,函数H20(),H21()是单向的和/或抗冲突的。
服务器部分1:在步骤314S,服务器执行在PAKE协议P′中的部分,推导出共享加密密钥K。在步骤320S,服务器计算密钥K′=H20(K)和K″=H21(K)。
在一些实施例中,服务器和客户端不计算密钥K,例如,在图1的情况下,可以省略步骤180C、180S。作为替代,可以直接计算密钥K′、K″,例如:
K′=H20(<C,S,m,μ,σ,H1(C,πC)-1>)
K″=H21(<C,S,m,μ,σ,H1(C,πC)-1>)
服务器部分2,步骤1:在步骤330S,服务器从记录πS[C]中读取值 c = EE &pi; C ( sk ) , 并使用密钥K′将该值加密为 c &prime; = E K &prime; &prime; ( EE &pi; C ( sk ) ) . 在一些实施例中,加密方法E′是对称加密方案(E′,D′)的一部分,例如一次一密:
EK′′(m)=H22(K′)m    (20)
其中某个散列函数H22()可以或不可以是密码散列函数。在步骤350S,服务器向客户端发送值c′。
客户端部分2,步骤1:客户端接收值c′。客户端通过执行解密来计算sk。具体地,在步骤324C中,客户端计算c=DK′′(c′)。例如,对于方案(20),客户端计算
c=H22(K′)c′    (21)
在步骤334C,客户端计算sk=DDπ(c)。更具体地,将c写作
c=cE||cV    (22)
其中cE是c的前j比特,其中j=|sk|。也见(15)、(16)。客户端计算
sk=cEH7(π)    (23)
然后,客户端计算H8(sk)并如果该值不等于cV则中断。可选地,客户端可以针对sk执行一些附加的有效性检查,以检查sk是否在适合的范围内。中断可以表示客户端生成了指示认证失败的信号,并跳过步骤340C、344C以及可能350C。
在步骤340C,客户端使用sk对抄本进行签名,即计算s=Sigsk(transcript)。例如,在图1的情况下,抄本可以是字符串<C,m,μ,k>或者该字符串的某部分。在步骤344C,客户端向服务器发送签名s。在步骤350C,客户端输出会话密钥K″。
服务器部分2,步骤2:服务器接收到签名s,并在步骤360S,服务器计算b=Verifypk(transcripts)。如果b=0,则服务器中断。否则(步骤370S),服务器输出会话密钥K″。
图3的协议对于图2的PAK-Z的优点在于,图3的协议提供了针对更宽等级的签名方案的安全性。可以在C.Gentry,P.MacKenzie,Z.Ramzan提交给CRYPTO 2006的″A Method for MakingPassword-Based Key Exchange Resilient to Server Compromise″中找到安全性的示例性证明。该论文出现在CRYPTO 2006会议论文集(Cynthia Dwork,编者)中,但是没有安全性证明。在通用组成框架中执行该安全性证明,并显示出:只要(1)下层的数字签名方案是安全的,(2)下层的散列函数的行为类似于理想的散列函数,以及(3)下层的加密算法是安全的,图3的协议便是安全的。换言之,将协议的安全性降低为下层构建块的安全性。
此外,可以使用任何PAKE协议P′和任何签名方案(Gen,Sig,Verify)用于步骤340C、360S来构造图3的协议,并且可以基于使用哪些密码假设证明其安全性来进行选择。例如,可以选择基于同样的密码假设的PAKE协议P′和签名方案。也要注意,在一些实施例中,在步骤334C,客户端使用廉价的异或运算来计算秘密密钥sk。然而本发明并不限于具有这些优点的协议。
至于效率,图3的协议向PAKE协议P′添加又一轮通信通信(步骤350S、344C)以及若干散列运算、对称加密和解密操作、客户端的签名计算、以及服务器的签名验证。如图2所示,有时可以在实际的协议消息上承载又一轮通信。具体地,在图3的P′协议是图1的协议的情况下,可以将步骤350S与图1的步骤160S组合,以及步骤344C可以与步骤170C组合。实际上,在步骤350S中,服务器使用从图1的步骤180S中获得的K中推导出的密钥K′来发送所获得的值c′,但是可以在步骤160S之前执行步骤180S,所以可以在步骤160S之前获得K′(可以在步骤160S之前执行步骤320S)。同样,在客户端侧,签名推导使用可以在步骤170C之前计算的密钥K′(步骤324C),因为可以在步骤170C之前执行K计算(步骤180C)。仍然存在与签名有关的额外计算。本领域中的一些协议特别设计用于扩充的PAKE以避免该额外的计算(SRP[46]和AMP[33]是两个这样的协议,但是均不具有安全性证明,甚至在随机启示器模型中)。本发明并不限于图3协议的有效特征。
安全性参数选择
协议包括密码安全性参数κ,或等效地选择协议的“比特安全性”。在一些实施例中,κ是H8()输出大小的一半。根据本领域的当前状态,κ=80是合理的选择,尽管对于散列函数的一些应用,这个数字可能应该增加到κ=128。然而本领域技术人员将显而易见的是,本发明可以在没有该特定参数选择的情况下进行实践。
本发明不限于以上所描述的实施例、或者以下的附录中出现的数字签名方案。图3中的函数H8()可以取决于除sk之外的其他值,例如取决于口令、客户端名称(C)、以及可能是其他值。因而在一些实施例中,(14)替换为
EE<C,π>(sk)=E<C,π>(sk)||H8(π,sk)    (24)
本发明不限于单向或若或强抗冲突函数。注意,术语“单向”、“抗冲突”和“实质不可延展”是根据多项式时间来定义的。例如,单向函数是(排除可忽略的概率)在多项式时间内不能取倒数的函数。然而,对于大的多项式P(κ),即使可以在多项式时间P(κ)内以不可忽略的概率对相干函数取倒数,安全性也可以适合于至少一些应用程序。此外,将可忽略概率和可忽略量定义为比任何多项式的倒数快地接近于零的量。如果多项式很大,则其倒数很小,即使相干概率或量不可忽略(即大于或等于一些多项式的倒数)也可以获得安全性。其他实施例和变体也落入了由所附权利要求所限定的本发明的范围内。
附录
一些实施例的签名方案
1.ElGamal签名
1A.密钥生成:生成随机质数p并且原根g mod p。选择集合{1,2,…,p-2}中的随机整数a。计算A=ga mod p。签名密钥是a。验证密钥是(p,g,A)。
1B.签名:签名算法使用公共已知的抗冲突散列函数
h:{0,1}*→{1,2,…,p-2}
为了对消息m∈{0,1}*进行签名,选择与p-1互质的随机数k∈{1,2,…,p-2}。
计算
r=gk mod p,s=k-1(h(m)-ar)mod(p-1)
其中k-1是k的倒数对p-1求模。签名是(r,s)对。
1C.验证:当且仅当1≤r≤p-1且Arrs=gh(s)mod p时,接受。
2.DSS签名
2A.密钥生成:除了g不必是对p求模的原根之外,类似于ElGamal签名;g可以是某个阶数q的Zp *的任何元素。
2B.签名:为了对消息m∈{0,1}*进行签名,选择与q互质的随机数k。计算
r = ( g k - 1 mod p ) mod q , s=k(m+xr)mod q
其中k-1是k的倒数对q求模。签名是(r,s)对。
2C.验证:当且仅当 r &equiv; ( g ms - 1 y rs - 1 mod p ) mod q , 时,接受。
3.Schnorr签名
3A.密钥生成:类似于ElGamal,但是g可以是质数阶p的任何(公共)群G的生成器;此外,允许a等于p-1。
3B.签名:选择随机数k∈{1,2,…,p-1}。计算
r=gk,e=h(m||r),s=(k-ah(m||r))mod p其中h是公共散列函数。签名是(e,s)对。
3C.验证:计算r′=gsA-e。如果e=h(m||r′),则接受。
参考文献列表
将以下文献一并在此作为参考。
[1]M.Abdalla and D.Pointcheval.Simple Password-BasedEncrypted Key Exchange Protocols.In RSA Conference,Cryptographer′sTrack,CT-RSA 05,LNCS 3376,pp.191-208,2005.
[2]M.Bellare,D.Pointcheval,and P.Rogaway.Authenticated key exchange secure against dictionary attacks.InEUROCRYPT2000(LNCS 1807),pp.139-155,2000.
[3]M.Bellare and P.Rogaway.Random oracles are practical:Aparadigm for designing efficient protocols.In 1<st>ACM Conference onComputer and Communications Security,pages 62-73,November 1993.
[4]M.Bellare and P.Rogaway.Entity authentication and keydistribution.In CRYPTO′93(LNCS 773),pp 232-249,1993.
[5]M.Bellare and P.Rogaway.Provably secure session keydistribution-the three party case.In 27th ACM Symposium on the Theory ofComputing,pp.57-66,1995.
[6]S.M.Bellovin and M.Merritt.Encrypted key exchange:Password-based protocols secure against dictionary attacks.In IEEESymposium on Research in Security and Privacy,pages 72-84,1992.
[7]S.M.Bellovin and M.Merritt.Augmented encrypted keyexchange:A password-based protocol secure against dictionary attacksand password file compromise.In ACM Conference on Computer andCommunications Security,pp.244-250,1993.
[8]S.M.Bellovin and M.Merritt.Cryptographic Protocol forSecure Communications.U.S.Patent 5,241,599.
[9]S.M.Bellovin and M.Merritt.Cryptographic Protocol forRemote Authentication.U.S.Patent 5,440,635.
[10]D.Bleichenbacher.Personal communication.
[11]D.Boneh.The decision Diffie-Hellman problem.InProceedings of the Third Algorithmic Number Theory-Symposium(LNCS1423),pp.48-63,1998.
[12]V.Boyko,P.MacKenzie,and S.Patel.Provably securepassword authentication and key exchange using Diffie-Hellman.InEUROCRYPT 2000(LNCS 1807),pp.156-171,2000.
[13]R.Canetti,S.Halevi,J.Katz,Y.Lindell,and P.MacKenzie.Universally-composable password-based key exchange.To appear inEurocrypt,2005.
[14]R.Cox,E.Grosse,R.Pike,D.Presotto,and S.Quinlan.Security in Plan 9.In Usenix Security Symposium 2002.
[15]R.Cramer and V.Shoup.A practical public key cryptosystemprovably secure against adaptive chosen ciphertext attack.In CRYPTO ′98(LNCS 1462),pp.13-25,1998.
[16]W.Diffie and M.Hellman.New directions in cryptography.IEEE Trans.Info.Theory,22(6):644-654,1976.
[17]W.Ford and B.S.Kaliski,Jr.Server-assisted generation of astrong secret from a password.In Proceedings of the 5th IEEEInternational Workshop on Enterprise Security,2000.
[18]R.Gennaro and Y.Lindell.A Framework for Password-BasedAuthenticated Key Exchange.Advances in Cryptology-Eurocrypt 2003,LNCS vol.2656,Springer-Verlag,pp.524-543,2003.
[19]O.Goldreich and Y.Lindell.Session-Key Generation usingHuman Passwords Only.In CRYPTO 2001(LNCS 2139),pp.408-432,2001.
[20]L.Gong.Optimal authentication protocols resistant to passwordguessing attacks.In 8th IEEE Computer Security Foundations Workshop,pages 24-29,1995.
[21]L.Gong,T.M.A.Lomas,R.M.Needham,and J.H.Saltzer.Protecting poorly chosen secrets from guessing attacks.IEEE Journal onSelected Areas in Communications,11(5):648-656,June 1993.
[22]S.Halevi and H.Krawczyk.Public-key cryptography andpassword protocols ACM Transactions on Information and SystemSecurity(TISSEC),VoI 2,No.3,Pages 230-268,August 1999.ACM.(Preliminary version appeared in the 5th ACM-CCS,Pages 122-131.1998.ACM.
[23]IEEE Standard 1363-2000,Standard specifications for publickey cryptography,2000.
[24]D.Jablon.Strong password-only authenticated key exchange.ACM Computer Communication Review,ACM SIGCOMM,26(5):5-20,1996.
[25]D.Jablon.Extended password key exchange protocols immuneto dictionary attack.In WETICE′91 Workshop on Enterprise Security,1997.
[26]D.Jablon Password authentication using multiple servers.InRSA Conference 2001,Cryptographers′Track(LNCS 2020),pp.344-360,2001.
[27]D.Jablon Cryptographic methods for remote authentication.U.S.Patent 6,226,383.
[28]D.Jablon Cryptographic methods for remote authentication.U.S.Patent 6,792,533.
[29]S.Jiang and G.Gong.Password based key exchange withmutual authentication.In Workshop on Selected Areas of Cryptography(SAC),2004.
[30]J.Katz,R.Ostrovsky,and M.Yung.Practicalpassword-authenticated key exchange provably secure under standardassumptions.In Eurocrypt 2001(LNCS 2045),pp.475-494.,2001.
[31]J.Katz and M.Yung.Complete characterization of securitynotions for probabilistic private-key encryption.In ACM Symposium onTheory of Computing,pp.245-254,2000.
[32]C.Kaufmann and R.Perlman.PDM:A New StrongPassword-Based Protocol.In Usenix Security Symposium,2001.
[33]T.Kwon.Authentication and Key Agreement via MemorablePasswords.In 2002 Internet Society Network and Distributed SystemSecurity Symposium,2001.
[34]S.Lucks.Open key exchange:How to defeat dictionary attackswithout encrypting public keys.In Proceedings of the Workshop onSecurity Protocols,1997.
[35]P.MacKenzie,S.Patel,and R.Swaminathan.Passwordauthenticated key exchange based on RSA.In ASIACRYPT 2000(LNCS1976),pp.599-613,2000.
[36]P.MacKenzie and R.Swaminathan.Secure mutual networkauthentication protocol.U.S.Patent 6,757,825.
[37]P.MacKenzie.More Efficient Password-Authenticated KeyExchange,RSA Conference,Cryptographer′s Track(LNCS 2020),pp.361-377,2001.
[38]P.MacKenzie.The PAK suite:Protocols for password-authenticated key exchange.DIMACS Technical Report 2002-46,October,2002.
[39]National Institute of Standards and Technology(NIST).Announcing the Secure Hash Standard,FIPS 180-1,U.S.Department ofCommerce,April,1995.
[40]S.Patel.Number theoretic attacks on secure password schemes.In Proceedings of the IEEE Symposium on Research in Security andPrivacy,pages 236-247,1997.
[41]Phoenix Technologies.http://www.phoenix.com/,2005.
[42]R.Rivest,A.Shamir,and L.Adleman.A method for obtainingdigital signature and public key cryptosystems.Communications of theACM,21:120-126,1978.
[43]M.Roe,B.Christianson,and D.Wheeler.Secure sessions fromweak secrets.Technical report,University of Cambridge and Universityof Hertfordshire,1998.
[44]C.P.Schnorr.Efficient identification and signatures for smartcards.In Crypto′89(LNCS 435),pp.235-251,1990.
[45]M.Steiner,G.Tsudik,and M.Waidner.Refinement andextension of encrypted key exchange.ACM Operating System.Review,29:22-30,1995.
[46]T.Wu.The secure remote password protocol.In 1998 InternetSociety Network and Distributed System Security Symposium,pages97-111,1998.
[47]T.Wu.A real-world analysis of Kerberos password security.InProceedings of the 1999 Network and Distributed System SecuritySymposium,February 1999.
[48]T.Wu.Telnet authentication:SRP.IETF RFC 2944,2000.
[49]T.Wu.The SRP authentication and key exchange system.IETFRFC 2945,2000.
[50]T.Wu.SRP open source password utility.http://srp.stanford.edu/,2005.
[51]M.Zhang.New Approaches to Password Authenticated KeyExchange Based on RSA.In ASIACRYPT,pp.230-244,2004.

Claims (6)

1、一种计算机实现的方法,用于执行密码认证,其中第一计算机系统向第二计算机系统证明知道值π,所述方法包括:第一计算机系统执行以下操作:
(1)执行向第一和第二计算机系统中至少一个证明第一和第二计算机系统中另一个知道值π的预定义函数的协议,所述第一计算机系统使用用于所述协议中的数据,生成密码密钥K′;
(2)通过网络接收第一值;
(3)将解密方法应用于第一值以获得解密值,其中解密方法用于恢复利用以下方法进行加密的任何值M:
(3A)第一加密方法,用于将M加密为第一加密值c,从而对于独立于M的任何f,c均不等于Mf(即值cM取决于M);以及
(3B)第二加密方法,用于使用所述密码密钥K′,将第一加密值c加密为第二加密值;
(4)利用从操作(3)中获得的解密值中获得的签名密钥,生成消息上的数字签名;以及
(5)向第二计算机系统发送结合了数字签名的数据。
2、一种计算机实现的方法,用于执行密码认证,其中第一计算机系统向第二计算机系统证明知道值π,所述方法包括:第二计算机系统执行以下操作:
(1)通过网络发送和接收数据,以执行向第二计算机系统证明第一计算机系统知道值π的预定义函数的协议;
(2)利用使用值π对值M加密的第一加密方法,获得等于签名密钥的加密的第一加密值c,从而对于独立于M的任何f,c均不等于Mf(即值cM取决于M);
(3)应用第二加密方法,利用通过使用用于所述协议中的数据而获得的密码密钥K′,将第一加密值c加密为第二加密值;
(4)向第一计算机系统发送结合了第二加密值的数据;
(5)通过网络接收值,并利用与签名密钥相对应的验证密钥来应用验证方法,以验证所接收到的值是消息上的有效签名。
3、一种适于执行如权利要求1所述的方法的计算机系统。
4、一种数据载体,包括用于计算机系统的一个或多个计算机指令,以执行如权利要求1所述的方法。
5、一种适于执行如权利要求2所述的方法的计算机系统。
6、一种数据载体,包括用于计算机系统的一个或多个计算机指令,以执行如权利要求2所述的方法。
CN2006800203601A 2005-07-19 2006-07-17 使用以非一次一密加密进行加密的签名密钥的加密认证和/或共享加密密钥的建立、包括(但不限于)对可延展攻击具有改进安全性的技术 Expired - Fee Related CN101238677B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US70076905P 2005-07-19 2005-07-19
US60/700,769 2005-07-19
US11/486,510 US7814320B2 (en) 2005-07-19 2006-07-14 Cryptographic authentication, and/or establishment of shared cryptographic keys, using a signing key encrypted with a non-one-time-pad encryption, including (but not limited to) techniques with improved security against malleability attacks
US11/486,510 2006-07-14
PCT/US2006/027747 WO2007011897A2 (en) 2005-07-19 2006-07-17 Cryptographic authentication, and/or establishment of shared cryptographic keys, using a signing key encrypted with a non-one-time-pad encryption, including (but not limited to) techniques with improved security against malleability attacks

Publications (2)

Publication Number Publication Date
CN101238677A true CN101238677A (zh) 2008-08-06
CN101238677B CN101238677B (zh) 2011-04-13

Family

ID=37669482

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006800203601A Expired - Fee Related CN101238677B (zh) 2005-07-19 2006-07-17 使用以非一次一密加密进行加密的签名密钥的加密认证和/或共享加密密钥的建立、包括(但不限于)对可延展攻击具有改进安全性的技术

Country Status (5)

Country Link
US (1) US7814320B2 (zh)
EP (1) EP1905186A4 (zh)
JP (1) JP4944886B2 (zh)
CN (1) CN101238677B (zh)
WO (1) WO2007011897A2 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102170636A (zh) * 2010-02-26 2011-08-31 捷讯研究有限公司 用于计算共享加密密钥的方法和设备
CN102970138A (zh) * 2011-08-29 2013-03-13 汤姆森特许公司 签密方法和装置以及对应的签密验证方法和装置
CN107094108A (zh) * 2016-02-18 2017-08-25 大众汽车有限公司 连接到数据总线的部件和在该部件中实现加密功能的方法
CN108140077A (zh) * 2015-10-08 2018-06-08 汤姆逊许可公司 用于在用户设备中生成密码的设备和方法
CN112651034A (zh) * 2020-12-21 2021-04-13 山东山大鸥玛软件股份有限公司 一种基于密码本的一次一密可替换加密算法、组件及设备
CN114039784A (zh) * 2021-11-10 2022-02-11 中国人民解放军战略支援部队信息工程大学 一种网络协议口令猜测攻击识别方法

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8132006B2 (en) * 2005-05-03 2012-03-06 Ntt Docomo, Inc. Cryptographic authentication and/or establishment of shared cryptographic keys, including, but not limited to, password authenticated key exchange (PAKE)
JP5044784B2 (ja) * 2007-01-30 2012-10-10 ヤフー株式会社 ユーザを認証する方法及びサーバ
US20080263361A1 (en) * 2007-04-20 2008-10-23 Microsoft Corporation Cryptographically strong key derivation using password, audio-visual and mental means
CN101075874B (zh) * 2007-06-28 2010-06-02 腾讯科技(深圳)有限公司 认证方法和认证系统
KR101490687B1 (ko) 2007-08-20 2015-02-06 삼성전자주식회사 홈 네트워크에서 디바이스들이 비밀 정보를 공유하는 방법및 이를 위한 장치
JP4924943B2 (ja) * 2007-09-04 2012-04-25 Kddi株式会社 認証付鍵交換システム、認証付鍵交換方法およびプログラム
US8676998B2 (en) * 2007-11-29 2014-03-18 Red Hat, Inc. Reverse network authentication for nonstandard threat profiles
US8452017B2 (en) * 2007-12-21 2013-05-28 Research In Motion Limited Methods and systems for secure channel initialization transaction security based on a low entropy shared secret
US8495375B2 (en) * 2007-12-21 2013-07-23 Research In Motion Limited Methods and systems for secure channel initialization
US8776176B2 (en) * 2008-05-16 2014-07-08 Oracle America, Inc. Multi-factor password-authenticated key exchange
US7522723B1 (en) * 2008-05-29 2009-04-21 Cheman Shaik Password self encryption method and system and encryption by keys generated from personal secret information
JP5101535B2 (ja) * 2009-01-19 2012-12-19 日本電信電話株式会社 認証方法、認証システム、プログラムおよび共有鍵生成方法
CN101562525B (zh) * 2009-04-30 2012-06-27 飞天诚信科技股份有限公司 签名方法、设备及系统
JP5206992B2 (ja) * 2009-12-25 2013-06-12 日本電気株式会社 認証システム、認証装置、端末装置、認証方法、及びプログラム
JP2012060366A (ja) * 2010-09-08 2012-03-22 Nec Corp 通信システム、通信方法、およびコンピュータ・プログラム
EP2518932A3 (en) * 2010-10-05 2015-11-18 Brandenburgische Technische Universität Cottbus-Senftenberg A method of password-based authentication and session key agreement for secure data transmission, a method for securely transmitting data, and an electronic data transmission system
US8775794B2 (en) 2010-11-15 2014-07-08 Jpmorgan Chase Bank, N.A. System and method for end to end encryption
JP5790287B2 (ja) * 2011-08-12 2015-10-07 ソニー株式会社 情報処理装置、情報処理方法、プログラム、及び記録媒体
US20140025575A1 (en) * 2012-07-20 2014-01-23 Jasmeet Chhabra Techniques for out-of-band transaction verification
CN103107989A (zh) * 2012-11-20 2013-05-15 高剑青 基于多哈希值的密码系统
US20150006881A1 (en) * 2013-06-27 2015-01-01 Check Point Software Technologies Ltd. Securing an Encryption Key of a User Device While Preserving Simplified User Experience
US9240982B2 (en) 2013-12-27 2016-01-19 Canon Information And Imaging Solutions, Inc. Method for associating an image-forming device, a mobile device, and a user
US10043015B2 (en) 2014-11-20 2018-08-07 At&T Intellectual Property I, L.P. Method and apparatus for applying a customer owned encryption
US10333696B2 (en) 2015-01-12 2019-06-25 X-Prime, Inc. Systems and methods for implementing an efficient, scalable homomorphic transformation of encrypted data with minimal data expansion and improved processing efficiency
CN106161359B (zh) * 2015-04-02 2019-09-17 阿里巴巴集团控股有限公司 认证用户的方法及装置、注册可穿戴设备的方法及装置
US9660803B2 (en) 2015-09-15 2017-05-23 Global Risk Advisors Device and method for resonant cryptography
CN108776583B (zh) * 2018-06-07 2022-10-18 福建江夏学院 π小数点后面位数的随机数表建立方法
US11245527B2 (en) * 2019-10-30 2022-02-08 Seagate Technology Llc Secure distribution networks
JP2021141460A (ja) * 2020-03-05 2021-09-16 キヤノン株式会社 被認証装置、認証システムおよび認証方法

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5241599A (en) * 1991-10-02 1993-08-31 At&T Bell Laboratories Cryptographic protocol for secure communications
US5440635A (en) * 1993-08-23 1995-08-08 At&T Corp. Cryptographic protocol for remote authentication
EP0872076B1 (de) * 1995-05-19 2003-03-26 Siemens Aktiengesellschaft Verfahren zum rechnergestützten austausch kryptographischer schlüssel zwischen einer ersten computereinheit und einer zweiten computereinheit
US6226383B1 (en) * 1996-04-17 2001-05-01 Integrity Sciences, Inc. Cryptographic methods for remote authentication
RU2213367C2 (ru) * 1996-06-05 2003-09-27 Сименс Акциенгезелльшафт Способ управления криптографическими ключами при осуществлении связи между первым компьютерным блоком и вторым компьютерным блоком
US6411715B1 (en) * 1997-11-10 2002-06-25 Rsa Security, Inc. Methods and apparatus for verifying the cryptographic security of a selected private and public key pair without knowing the private key
US6757825B1 (en) * 1999-07-13 2004-06-29 Lucent Technologies Inc. Secure mutual network authentication protocol
US6988198B1 (en) * 1999-11-01 2006-01-17 Entrust Limited System and method for initializing operation for an information security operation
TW548940B (en) * 1999-11-29 2003-08-21 Gen Instrument Corp Generation of a mathematically constrained key using a one-way function
US7359507B2 (en) * 2000-03-10 2008-04-15 Rsa Security Inc. Server-assisted regeneration of a strong secret from a weak secret
KR100769482B1 (ko) * 2000-06-05 2007-10-24 피닉스 테크놀로지 리미티드 다중 서버를 사용하는 원격 패스워드 인증을 위한 시스템, 방법 및 소프트웨어
US7149311B2 (en) * 2001-02-08 2006-12-12 Lucent Technologies Inc. Methods and apparatus for providing networked cryptographic devices resilient to capture
US7076656B2 (en) * 2001-04-05 2006-07-11 Lucent Technologies Inc. Methods and apparatus for providing efficient password-authenticated key exchange
US20030078987A1 (en) * 2001-10-24 2003-04-24 Oleg Serebrennikov Navigating network communications resources based on telephone-number metadata
US20030221102A1 (en) * 2002-05-24 2003-11-27 Jakobsson Bjorn Markus Method and apparatus for performing multi-server threshold password-authenticated key exchange
US7073068B2 (en) * 2002-05-24 2006-07-04 Lucent Technologies Inc. Method and apparatus for distributing shares of a password for use in multi-server password authentication
TW200402929A (en) * 2002-07-22 2004-02-16 Switched Reluctance Drives Ltd Control of a switched reluctance drive
US7725730B2 (en) * 2002-08-09 2010-05-25 Emc Corporation Cryptographic methods and apparatus for secure authentication
US7493488B2 (en) * 2003-07-24 2009-02-17 International Business Machines Corporation Method to disable on/off capacity in demand
US7886345B2 (en) * 2004-07-02 2011-02-08 Emc Corporation Password-protection module
US7522723B1 (en) * 2008-05-29 2009-04-21 Cheman Shaik Password self encryption method and system and encryption by keys generated from personal secret information

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102170636A (zh) * 2010-02-26 2011-08-31 捷讯研究有限公司 用于计算共享加密密钥的方法和设备
CN102170636B (zh) * 2010-02-26 2014-05-14 黑莓有限公司 用于计算共享加密密钥的方法和设备
CN102970138A (zh) * 2011-08-29 2013-03-13 汤姆森特许公司 签密方法和装置以及对应的签密验证方法和装置
CN108140077A (zh) * 2015-10-08 2018-06-08 汤姆逊许可公司 用于在用户设备中生成密码的设备和方法
CN107094108A (zh) * 2016-02-18 2017-08-25 大众汽车有限公司 连接到数据总线的部件和在该部件中实现加密功能的方法
CN107094108B (zh) * 2016-02-18 2021-04-16 大众汽车有限公司 连接到数据总线的部件和在该部件中实现加密功能的方法
CN112651034A (zh) * 2020-12-21 2021-04-13 山东山大鸥玛软件股份有限公司 一种基于密码本的一次一密可替换加密算法、组件及设备
CN114039784A (zh) * 2021-11-10 2022-02-11 中国人民解放军战略支援部队信息工程大学 一种网络协议口令猜测攻击识别方法
CN114039784B (zh) * 2021-11-10 2023-11-14 中国人民解放军战略支援部队信息工程大学 一种网络协议口令猜测攻击识别方法

Also Published As

Publication number Publication date
WO2007011897A2 (en) 2007-01-25
US20070067629A1 (en) 2007-03-22
JP4944886B2 (ja) 2012-06-06
CN101238677B (zh) 2011-04-13
JP2009503934A (ja) 2009-01-29
EP1905186A2 (en) 2008-04-02
EP1905186A4 (en) 2011-06-01
US7814320B2 (en) 2010-10-12
WO2007011897A3 (en) 2007-07-12

Similar Documents

Publication Publication Date Title
CN101238677B (zh) 使用以非一次一密加密进行加密的签名密钥的加密认证和/或共享加密密钥的建立、包括(但不限于)对可延展攻击具有改进安全性的技术
Lin et al. A password authentication scheme with secure password updating
US8484469B2 (en) Method, system and equipment for key distribution
Lee et al. Enhanced three-party encrypted key exchange without server public keys
JP2016036166A (ja) 証明書不要公開鍵基盤に基づく安全なクライアント・サーバ通信プロトコルを設計するシステムと方法
Khader et al. Preventing man-in-the-middle attack in Diffie-Hellman key exchange protocol
EP0661845B1 (en) System and method for message authentication in a non-malleable public-key cryptosystem
JP2001060947A (ja) 相互ネットワーク認証方法
Peyravian et al. Secure remote user access over insecure networks
CN112468490B (zh) 一种用于电网终端层设备接入的认证方法
Madhusudhan A secure and lightweight authentication scheme for roaming service in global mobile networks
Pirayesh et al. A PLS-HECC-based device authentication and key agreement scheme for smart home networks
Zhang et al. Robust and efficient password authenticated key agreement with user anonymity for session initiation protocol‐based communications
CN116055136A (zh) 一种基于秘密共享的多目标认证方法
Phan et al. Cryptanalysis of the n-party encrypted diffie-hellman key exchange using different passwords
Yi et al. ID-Based group password-authenticated key exchange
CN113014376B (zh) 一种用户与服务器之间安全认证的方法
Yeh et al. Password authenticated key exchange protocols among diverse network domains
Shin et al. A simple leakage-resilient authenticated key establishment protocol, its extensions, and applications
Hsu et al. A dynamic identity end-to-end authentication key exchange protocol for iot environments
Imamoto et al. A design of Diffie-Hellman based key exchange using one-time ID in pre-shared key model
Kwon et al. Provably-secure two-round password-authenticated group key exchange in the standard model
Singh et al. A Novel Approach towards Mutual Authentication and Key Exchange Protocol based on Elliptic Curve
Zhen et al. Optimized Key Agreement Protocol Based on Chaotic
Sumanth et al. Confidence Analysis of a Solo Sign-On Device for Distributed Computer Networks: A Modeling Approach

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

Termination date: 20140717

EXPY Termination of patent right or utility model