基于身份的认证密钥协商协议的制作方法

文档序号:7909760阅读:307来源:国知局
专利名称:基于身份的认证密钥协商协议的制作方法
技术领域
概括地说,本发明涉及加密,更具体地,涉及改进的基于身份的认证密钥协商协议。
背景技术
加密是在两方或更多方之间提供安全通信的公知技术。认证密钥协商是两个或更多个参与者彼此认证并商定用于未来通信的密钥的加密协议。这些协议可以是对称密钥或不对称公钥协议。已知,对称密钥协议需要带外安全机制来引导密钥,而公钥协议需要证书和大型公钥基础架构(PKI)。显然地,公钥方法更加灵活,然而已经证明证书和大型公钥基础架构的需求更有挑战性。近来,提出基于身份加密(IBE)协议作为公钥方法的可行性备选,其中简化PKI需求并用简单密钥生成功能(KGF)替换他们以生成私钥。然而,现有IBE方法的一个明显限制是KGF可最终成为具有不期望结果的实际密钥托管服务器。即,由于在现有IBE协议中的KGF生成协议中使用的每个私钥,因此KGF可解密所有的交换。因为如果KGF因入侵者而受到威胁则在该协议下运行的两方之间的交换也受到威胁,所以这是不期望的结果。因此,需要改进的基于身份的认证密钥协商协议。

发明内容
本发明的实施例提供一种改进的基于身份的认证密钥协商协议。例如,在一个实施例中,一种在第一方的计算机系统(该第一方)和第二方的计算机系统(该第二方)之间执行基于身份的认证密钥协商协议的方法包括以下步骤。从该第一方向该第二方发送加密的第一随机密钥分量,所述第一随机密钥分量在该第一方处计算并根据基于身份的加密操作使用该第二方的公钥来加密。在该第一方从该第二方接收加密的随机密钥分量对,所述加密的随机密钥分量对在该第二方根据基于身份的加密操作使用该第一方的公钥来加密,以及所述随机密钥分量对根据所述第一随机密钥分量和在该第二方处计算的第二随机密钥分量来形成。以加密的形式从该第一方向该第二方发送所述第二随机密钥分量,所述第二随机密钥分量根据基于身份的加密操作使用该第二方的公钥来加密。在该第一方和该第二方处可根据所述第一随机密钥分量和所述第二随机密钥分量来计算用于该第一方和该第二方之间的随后通信的密钥。有利地,本发明实施例提供一种不受密钥托管问题影响的基于身份的认证密钥协商协议。此外,该协议还提供良好的前向和后向保密,因为计算的密钥信息与任何过去和未来的认证密钥协商会话无关。此外,本发明实施例可应用于各个密钥协商应用,仅例示有线 /无线网络上的应用的端到端密钥协商,以及诸如基于安全代理的优化协议的组网协议的密钥协商。根据本发明示例性实施例的以下具体描述并结合附图阅读时,本发明的这些和其他目的、特征和优点将变得清楚。


图1是示出根据本发明实施例的基于身份的认证密钥协商协议的流程图;以及图2是示出适用于实现根据本发明的一个或多个协议的数据网络和计算机系统的一般性硬件架构的框图。
具体实施例方式为了便于参考,具体实施方式
按如下划分。提供基于身份加密(IBE)的概述(部分I)。提供密钥协商协议的一些实例的评述,所述协议包括一个涉及IBE的协议,其具有内部密钥托管问题(部分II)。然后,详细描述根据本发明的改进的基于身份的认证密钥协商协议的实施例(部分III),随后是一些示例性应用的描述(部分IV)。然后,描述实现根据本发明的改进的基于身份的认证密钥协商协议的示例性计算系统(部分V)。I.基于身份加密基于身份力口密协议由 Boneh 禾口 Franklin 提出,见 Dan Boneh, MatthewK. Franklin, “ Identity-Based Encryption from the Weil Pairing,,Advancesin Cryptology-Proceedings of CRYPTO 2001 (2001),其公开内容通过引用合并于此。这个不对称密码加密协议允许参与者使用“身份”(实例电子邮件id、或域名)作为公钥,并消除对通常与公钥加密方法例如RSA(Rivest,Siamir和Adleman)关联的大型公钥基础架构的需求。Boneh和Franklin对于该问题的方法在有限域上的椭圆曲线上使用双线性映射,并依赖于双线性决策Diffie-Hellman问题。该协议涉及以下数学工具和参数设E为有限域F上的椭圆曲线,以及设P为大素数阶的点。设e =ExE- > G为E上的双线性映射。典型实例为W^eil配对,因此G将是η次单位根的群,其中η是关于F上的E的点的数目的函数。设s为非零正整数,并且是存储在密钥生成函数(KGF)中的秘密。这是系统范围的秘密,并且在KGF外部不展示。设Ppub = sP为对于所有参与者已知的系统的公钥。由于E为群,sP表示E中的
点ο设H1为已知哈希函数,其利用串并将其分配给E上的椭圆曲线的点,即H1 (A)= A,其中A通常为身份,并且也是A的公钥。设dA = sQa为KGF计算的私钥,并仅传送至A。设H2为已知哈希函数,其利用G的元素并将其分派给串。设m为必须加密并向A发送的消息。由Boneh和Franklin描述的加密函数如下设☆ = e (Qa, Ppub),并且设r为随机数。EncryptionA(m) = (rP,m xor H2 (gAr));换句话说,m的加密输出具有两个坐标u 和v,其中u = rP和ν = m xor H2 (gAr)。注意,“xor”表示异或逻辑函数。为了 decrypt (u,ν),A使用以下公式恢复m m = ν xor H2 (e (dA, u))。公式的证明是在双线性映射中的直接运用,并且事实上A具有秘密dA (仅对于A已知但并非对于其他参与者已知的私钥)。还考虑首先计算dA的KGF也可解密消息,导致KGF 为实际密钥托管服务器。II.密钥协商协议主要存在两种密钥协商协议-对称和不对称。对称密钥协商协议依赖于在参与者之间共享的密钥,不对称密钥协商协议不需要参与者具有任何形式的先前通信。直到最近, 基于公钥的密钥协商协议仅是不对称密钥协商协议,但是情况随着基于IBE的协议的普及而改变。现在提供密钥协商协议的实例。基于对称密钥的密钥协商协议极度流行。典型实例为3G无线系统中使用的认证密钥协商(AKA)协议。这是基于移动订户的SIM(订户识别模块)卡和归属订户服务器之间的对称根密钥的相互认证和会话密钥协商协议的实例。如上所述,基于对称密钥的密钥交换协议需要在参与实体之间提供密钥。基于公钥的密钥协商协议用在许多网络层和传输层协议中,并基于由证书授权机构发布的公钥的证书。实例包括用于导出通常称为IPsec的IP(因特网协议)层安全协议的会话密钥的因特网密钥交换(IKE)协议的公钥版本。另一实例是在kcure Shell中使用的密钥协商协议。在开放设置中使用的所有公钥协议需要使用证书和H(I。基于身份的密钥交换协议正在变得普遍,并且针对端到端加密而提出的现有的基于身份协议的简单实例是,发起通信的实体选择随机密钥并使用接收器的公钥对其加密, 然后发送他。在开放网络上的这个传输是安全的,因为仅接收器可解密包含密钥的消息。这个现有协议(尽管足够简单)不在密钥交换之前认证用户,并且存在如上所述密钥托管问题。III.基于身份的认证密钥协商在这里所述的示例性实施例中,用于这个协议的基础构成涉及在部分I中讨论的数学模型和参数。如上所述,这个协议是不对称的,但是不需要任何PKI支持;相反协议采用用作密钥生成功能的离线服务器。协议的细节概括如下假设Α、Β是两个实体(或方,其中A代表第一方的计算机系统,B代表第二方的计算机系统),他们尝试认证和协定密钥。我们将使用A和B代表他们对应的身份,通过定义该身份还代表他们的公钥。^H1 (A) = A和H1(B) = Qb是与公钥对应的椭圆曲线上的各个点。实际上,也可将 和%称为公钥,因为在身份和应用H1获得的曲线上的点之间存在一对一的对应关系。设χ为A选择的随机数,y为B选择的随机数。图1示出在A和B之间的协议交换。协议交换100包括以下步骤在步骤102,A计算xP (即,使用E上的加法法则自身增加χ倍,作为E上的点), 使用B的公钥加密他,并将其发送至B。在这个步骤,加密指的是如以上部分I所述的基于身份的加密。在接收加密的消息时,B解密消息并获得xP。随后,在步骤104,Β计算yP,并使用 A的公钥加密{xP,yP}对,然后将其发送至A。在接收这个消息时,A解密消息并获得yP。随后,在步骤106,A使用B的公钥加密 yP,并将其发送回B。随后,A和B计算xyP作为会话密钥。
观察到,A随机选择X,并在协议交换的第二步骤中接收yP。这使得A通过将yP自身增加χ倍来计算xyP。相反,B随机选择y,并在协议交换的第一步骤中接收xP。这使得 B通过将χΡ自身增加y倍来计算xyP。注意,协议的任何应用可利用具有身份的报头数据, 以确保协议的适当作用。这是相对标准的,并且可适用于用于密钥协商的几乎任何协议交换。还应注意,χ是随机数,但是xP不提供关于χ的信息。因此,xP是基于A选择的随机秘密的密钥的分量。同样,y是随机数,但是yP不提供关于χ的信息。因此,yP是基于仅对于B已知的随机秘密的密钥的分量。还注意,xyP可用作会话密钥。同样,会话密钥可以是xyP的任何已知函数。艮口, 会话密钥可等于f(xyP),其中f对于双方已知,并且不需要是秘密的(即对于世界已知)。 关于f的一个实践性需求应该是在不知晓χ或y的情况下f难以计算,并且输出是从加密观点看的满意长度,例如大约128比特或更多。协议的一些属性包括免除密钥托管观察使用IBE加密在协议交换中的所有步骤。由此,清楚地,KGF 可解密所有交换。然而,KGF不能够计算会话密钥。这是因为椭圆曲线Diffie-Hellman问题的难度。换句话说,给定χΡ和yP,计算上难以计算xyP。相互认证密钥协商观察使用IBE加密协议交换中的所有步骤。具体地,仅B可解密在步骤102和106中由A发送的消息的内容,类似地,仅A可解密在步骤104中由B发送的消息的内容。此外,在步骤104的结尾,A可检验B的真实性,因为仅在步骤102中由B对内容解密之后xP可能在步骤104中已发送。类似地,在步骤106的结尾,B可检验A的真实性,因为仅在正确解密步骤104的内容之后yP可能在步骤106中回送,这可能仅由A操作。最后,A和B两者可协定相同会话密钥。换句话说,协议是基于IBE的相互认证的密钥协商协议。尽管以上描述提供了用于协议安全的动机,可容易地提供安全的密码证明。协议的难度依赖于Elliptic曲线Diffie-Hellman问题的难度,这受到椭圆曲线的选择的影响。良好前向和后向保密由于χ和y是随机的,因此xyP始终最新,并且与A和B之间的任何过去和未来会话无关。无密码显然地,本发明的协议不需要在A和B之间的密码或密钥的任何离线交换。实际上,该方法显然适用于任何双方通过任何通信网络用于第一次通信。仅需要确保 A和B双方例如通过目录服务知晓彼此的公钥。IV.示例性应用现在描述可使用图1的本发明协议的两个示例性情形。A.端到端密钥协商现有的和新兴的因特网和无线应用在“开放”网络上被逐渐支持。此外,由于安全攻击的激增,用户期望端到端的私密性。这应用于端到端应用(例如IP语音,即时消息等),以及服务器到客户端应用(例如web电子商务)。在所有这些应用中,通常不可能使得参与者协定密钥,以使用基于对称密钥的密钥协商协议,或向PKI登记以获得在基于公钥的密钥协商协议中使用的证书。实际上,在客户端到客户端的通信(例如语音呼叫)中涉及的终端用户可能甚至预先不知道彼此。此外,期望私密性和安全性的终端用户非常反对密钥托管,因为对于不法者存在很多机会滥用系统。在这些情形下,基于身份的认证密钥协商协议是极度有吸引力的选择。所有需要就是个人向密钥生成服务登记他们的身份,并获得私钥。实际上,对于密钥生成服务不需要是唯一的并且适用于所有参与者。观察在以上部分(示例性描述发明协议)概括的协议交换中,加密步骤102和106 可基于一个曲线(适用于B),步骤104中的加密可基于完全不同的曲线(适用于A)。这允许密钥生成服务彼此独立地运行。然而,重要的是确保加密所需的所有参数通过目录服务公开地且容易地可用。更重要地是,xP和yP应对应于相同椭圆曲线,但是可独立于用于加密的椭圆曲线。B.基于安全代理的路由优化移动无线网络经历了巨大的演变,并且下一代系统正在尝试扩展到基于全分组和 IP的路由公共陆地移动无线数据网络中。这将需要传统服务(例如语音)在IP上被支持 (即移动IP语音)。由此,认识到尽管无线电网络经历了巨大发展,在核心网络中的路由需要优化。在拜访网关之间的认证密钥协商协议可用于设置安全关联,以在彼此之间安全地转发分组。具体地,这些拜访网关可以处于先前不知晓彼此的两个不同运营商网络上,并且拥有这些网络单元的运营商不具有任何服务水平的协商。在这样的环境下,基于身份的认证密钥协商协议是非常有吸引力的备选。如先前实例,不需要密钥生成服务是唯一的并且适用于所有网络单元。实际上,每个网络运营商可拥有和操作简单离线密钥生成服务器。观察在以上部分(示例性描述发明协议)概括的协议交换中,加密步骤102和106 可基于一个曲线(适用于B),步骤104中的加密可基于完全不同的曲线(适用于A)。这允许密钥生成服务彼此独立地运行。然而,重要地是确保加密所需的所有参数通过目录服务公共地且容易地可用。更重要地是,xP和yP应对应于相同椭圆曲线,但是可独立于用于加密的椭圆曲线。V.示例性计算系统图2示出适用于实现根据本发明的在两方A和B之间的改进的基于身份的认证密钥协商协议的数据网络和计算机系统的一般性硬件架构。如图所示,实体A包括计算机系统202,而实体B包括计算机系统204。两个计算机系统202和204经由数据网络206耦合。 数据网络可以是A和B期望通过其通信的任何数据网络,例如因特网。然而,本发明不限于特定类型的网络。典型地,A可以是客户端机器,B可以是服务器机器。此外,A和B可都是客户端或可都是服务器。因此,可理解,本发明的通信协议不限于A和B是客户端和服务器的情况,而是适用于包括A和B的任何计算设备。还示出,计算机系统214经由网络206耦合至计算机系统202和204。计算机系统 214优选地是执行密钥生成功能或服务(如上所述)的服务器。本领域技术人员可容易看出,服务器和客户端可实现为在计算机程序代码的控制下运行的编程计算机。计算机程序代码将存储在计算机可读存储介质(例如存储器)中, 并且代码可通过计算机的处理器执行。基于本发明的公开,本领域技术人员可容易生成适当的计算机程序代码,以实现这里描述的协议。但是,图2 —般性示出用于在网络上通信的每个计算机系统的示例性架构。如图所示,计算机系统A包括I/O设备208-A、处理器210-A、和存储器212—A。计算机系统B包括I/O设备208-B、处理器210-B、和存储器212-B。计算机系统214 (密钥生成器)包括I/ 0设备208-K、处理器210-K、和存储器212-K。应理解,这里使用的术语“处理器”用于包括一个或多个处理设备,包括中央处理单元(CPU)或其他处理电路。此外,这里使用的术语 “存储器”用于包括与处理器或CPU关联的存储器,例如RAM、ROM、固定存储器设备(例如硬盘驱动器)、或可移除存储器设备(例如软盘或CDR0M)。此外,这里使用的术语“I/O设备” 用于包括一个或多个输入设备(例如键盘、鼠标),用于向处理单元输入数据;以及一个或多个输出设备(例如CRT显示器),用于提供与处理单元关联的结果。由此,用于执行这里所述的本发明的方法的软件指令或代码可存储在关联的存储器设备的一个或多个中,例如 ROM、固定或可移除存储器,并且当准备利用时,加载到RAM中并由CPU执行。
尽管这里参照附图描述了本发明的示例性实施例,可理解,本发明不限于这些精确实施例,并且在不脱离本发明的范围和精神的情况下,本领域技术人员可进行各种其他修改和改变。
权利要求
1.一种在第一方的计算机系统(该第一方)和第二方的计算机系统(该第二方)之间执行基于身份的认证密钥协商协议的方法,该方法在该第一方包括以下步骤从该第一方向该第二方发送加密的第一随机密钥分量,所述第一随机密钥分量在该第一方处计算并根据基于身份的加密操作使用该第二方的公钥来加密;在该第一方从该第二方接收加密的随机密钥分量对,所述加密的随机密钥分量对在该第二方根据基于身份的加密操作使用该第一方的公钥来加密,以及所述随机密钥分量对基于所述第一随机密钥分量和在该第二方处计算的第二随机密钥分量来形成;以及以加密的形式从该第一方向该第二方发送所述第二随机密钥分量,所述第二随机密钥分量根据基于身份的加密操作使用该第二方的公钥来加密;其中在该第一方和该第二方处可根据所述第一随机密钥分量和所述第二随机密钥分量来计算用于该第一方和该第二方之间的随后通信的密钥。
2.如权利要求1所述的方法,其中所述第一随机密钥分量xP根据该第一方选择的随机数χ和有限域上椭圆曲线上的大素数阶的点P来计算。
3.如权利要求1所述的方法,其中所述第二随机密钥分量yP根据该第二方选择的随机数y和有限域上椭圆曲线上的大素数阶的点P来计算。
4.如权利要求1所述的方法,其中在该第一方和该第二方根据该第一方选择的随机数 χ、该第二方选择的随机数y和有限域上椭圆曲线上的大素数阶的点P来计算用于该第一方和该第二方之间的随后通信的密钥xyP。
5.如权利要求1所述的方法,其中用于计算所述第一随机数密钥分量和所述第二随机数密钥分量的椭圆曲线独立于用于基于身份的加密操作的椭圆曲线。
6.如权利要求1所述的方法,其中用于该第二方执行的基于身份的加密操作的椭圆曲线不同于用于该第二方执行的基于身份的加密操作的椭圆曲线。
7.如权利要求1所述的方法,其中使用用于该第一方和该第二方之间的随后通信的密钥来形成会话密钥。
8.如权利要求1所述的方法,其中作为以下内容之一的一部分来执行所述认证密钥协商协议用于网络上的应用的端到端密钥协定;以及基于安全代理的路由优化协议。
9.一种在第一方的计算机系统(该第一方)和第二方的计算机系统(该第二方)之间执行基于身份的认证密钥协商协议的方法,该方法在该第二方包括以下步骤在该第二方从该第一方接收加密的第一随机密钥分量,所述第一随机密钥分量在该第一方处计算并根据基于身份的加密操作使用该第二方的公钥来加密;从该第二方向该第一方发送加密的随机密钥分量对,所述加密的随机密钥分量对在该第二方根据基于身份的加密操作使用该第一方的公钥来加密,以及所述随机密钥分量对根据所述第一随机密钥分量和在该第二方处计算的第二随机密钥分量来形成;以及在该第二方处以加密的形式从该第一方向接收所述第二随机密钥分量,所述第二随机密钥分量根据基于身份的加密操作使用该第二方的公钥来加密;其中在该第一方和该第二方处可根据所述第一随机密钥分量和所述第二随机密钥分量来计算用于该第一方和该第二方之间的随后通信的密钥。
10.一种在第一方和第二方之间执行基于身份的认证密钥协商协议的装置,该装置包括存储器和处理器,后者耦合至所述存储器并被配置为执行权利要求1或9的步骤。
全文摘要
第一方和第二方之间的密钥协商协议从第一方的角度包括以下步骤。向该第二方发送加密的第一随机密钥分量,所述第一随机密钥分量根据基于身份的加密操作使用该第二方的公钥来加密。从该第二方接收加密的随机密钥分量对,所述加密的随机密钥分量对根据第一随机密钥分量和在该第二方处计算的第二随机密钥分量形成,并且在该第二方处根据基于身份的加密操作使用该第一方的公钥来加密。以加密的形式向该第二方发送所述第二随机密钥分量,所述第二随机密钥分量使用该第二方的公钥来加密。在该第一方和该第二方处可根据所述第一随机密钥分量和所述第二随机密钥分量来计算用于该第一方和该第二方之间的随后通信的密钥。
文档编号H04L9/08GK102318258SQ201080008115
公开日2012年1月11日 申请日期2010年2月10日 优先权日2009年2月17日
发明者G·S·桑达拉姆 申请人:阿尔卡特朗讯公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1