用于在网络实体之间对数据协商进行认证的系统、方法和计算机程序产品的制作方法

文档序号:7639806阅读:190来源:国知局
专利名称:用于在网络实体之间对数据协商进行认证的系统、方法和计算机程序产品的制作方法
技术领域
本发明通常涉及用于在网络实体之间对数据协商进行认证的系 统和方法,更具体地,涉及用于在网络实体之间建立连接期间在该 网络实体之间对密钥协商进行认证的系统和方法。
背景技术
在此说明书中,近程无线数据传输连接的概念主要涉及这样的 连接,在该连接中彼此相对靠近布置的两个或者更多设备或者实体 可以以无线方式彼此通信。在此通信中,例如无线通信、红外通信、 感应通信等可以应用。例如,已经针对近程无线通信开发了使用低功率无线发射器和无线接收器的蓝牙(Bluetooth )技术。这种设 备可以彼此通信,并且由此形成自组织(ad-hoc)网络。例如,通过 应用近程通信技术,外围设备可无线地连接至计算机。此外,例如 无线通信设备可耦接至便携式计算机,通过该便携式计算机该无线 通信设备有可能无线连接至另一通信网络(诸如,因特网)。由此, 可能出现这样的情况,当用户借助于便携式计算机来建立通往数据 网络的连4妄时,用户必须输入他/她的用户标识和口令。由此,如果 在便携式计算机和通过近程无线连接与其连接的无线通信设备之间 没有加密,则存在用户标识和密码传输被窃听的风险。在此上下文中提及的用于近程数据传输连接的其他可能的实现 领域包括诸如IEEE 802.11(例如,802.11a、 802.11b、 802.11g、 802.11n 等)的无线局域网(WLAN)技术、诸如IEEE 802.16的WiMAX技 术、诸如IEEE 802.15的超宽带(UWB)技术、无线通用串行总线 (WUSB)技术、无线支付终端技术和无线操作的锁技术。借助于诸如WLAN、 WiMAX、 UWB以及WUSB技术,例如小型办公室i殳施 可实现LAN,该LAN包括不必具有传导线缆的数个计算机。例如, 在无线支付终端系统中,用户可借助于包括近程通信部件的无线通 信设备来支付账单。由此,可为支付账单的目的在无线通信设备和 支付终端之间建立近程数据连接。相应地,在无线操作的锁中,用 户具有与锁无线通信的钥匙以确保所讨论的钥匙用来控制此特定锁的功能。这样的钥匙可实现为单独的钥匙,或者可与另一设备(诸如,无线通信设备)结合实现。在这种通信系统中,如何为通信中的不同方确保所讨论的设备确实被授权参与到通信过程是一 个问题。这在不同设备之间传输机密信息的情况下尤其重要。例如,在上述支付终端的实施方式中,支付终端必须确保在支付事务中使用的设备确实是由所讨论的帐户持有者或者由帐户持有者所授权的个人使用的设备。例如,同样在锁的实施方式中,锁必须在被打开之前确保钥匙的可靠性。在这些实施方式中,为了对各方进行验证,设备之间的通信必须受到保护以及免受外部入侵者(诸如,窃听者和介入方)的可能损害。为了考虑这些安全方面,已经开发了许多不同的加密机制,诸如针对Bluetooth 系统的加密机制。例如,使用的技术包括密钥对(PKI-公钥基础设施),该密钥对包括公钥和私钥。在这种设置中,用户具有来自PKI的公钥和证书以及私钥,他/她可以将公钥和证书以不加密方式发送至对方,而在任何阶段都不必将所述私钥传送至通信系统,而是保持私钥的秘密性。由此,有可能通过用公钥将信息加密的方式来向用户传输加密的信息。用户可用他/她的私钥来解密信 自上述类型的非对称加密系统的 一 个缺点在于其相对较慢,加密 大量的信息使数据传输显著减速。这种非对称加密系统的另 一 缺点 在于,如果用于该公钥的证书不存在,则由于未授权方可能已用他 自己的公钥来替换所述公钥,对方不能信任其从用户接收的公钥。在ad hoc的情况下,通常假设不存在用于对公钥交换进行认证的证书授权,由此需要其他方式来对公钥交换进行认证。通信系统还应用通信双方共享相同私密密钥(共享的秘密密钥) 的对称加密技术。在此设置中的一个问题例如是,如何将此私密密 钥传输至另一设备,以便外来者不能发现该私密密钥。在某些情况中,用户自己可以向不同设备输入此私密密钥。在按照Bluetooth 系统的设备中,可利用此私密密钥来计算在无线通信中使用的链路 密钥,借助于该链路密钥来加密将要传输的实际信息。针对链路密 钥所确定的最大长度是128位,私钥长度最少应是32字符。输入包 含32字符的这种字符串是费力的,尤其在建立连接之前必须将所述 字符串连续正确输入至少两次时,很可能出现错误。在美国专利No.5,241,599中公开了一种加密技术,其一皮设计以 克服上述非对称加密系统和对称加密系统的缺点。就这一点,,599 专利公开了一种加密密钥交换(EKE)技术,在该技术中首先用短 加密密钥对在通信中使用的加密密钥进行加密,随后该加密密钥经 由未加密的通信信道从一个设备向另一设备以加密格式传输。在近 程系统中,此技术以如下方式应用,即,用户向两个设备输入短加 密密钥,其后两个设备将它们自己的利用短加密密钥加密的加密密 钥向另一设备传输。然而,此系统可能存在这样的缺点,其加密效 率依赖于例如用户每隔多久改变其短加密密钥一次。此外,猜测由 用户选择的这种短加密密钥相对比较容易,因此当应用这一技术时, 外来者可能发现该短加密密钥。还已知一种基于大质数乘幂才莫数(exponentiation modulo)运算 的所谓Diffie-Hellman技术。就这一点,当前认为在这种乘幂模数运 算的基础上,破解用Diffie-Hellman技术实现的加密的难度与计算大 质数的离散对数模数的难度成正比。Diffie-Hellman技术是一种普遍 使用的、尤其在密钥交换中使用的基于公钥的算法。当使用足够长 的密钥以及适当的Diffie-Hellman生成器时,通常认为这种技术是安 全的。根据Diffie-Hellman技术,第 一方基于第 一秘密号来确定第 一密钥号,并将第一密钥号传输至第二方。相应地,第二方基于第二秘密号来确定第二密钥号,并将第二密钥号传输至第一方。由此,第一方基于第一秘密号和其接收的第二密钥号来生成第三密钥号,并 且第二方基于第二秘密号和其接收的第一密钥号来生成第四密钥号。第三和第四密钥号是相同的,并且由此不必在所涉及的各方之间传输。此后,第三和第四密钥号可用于对各方之间传输的信息进行加密和解密。如在其他技术(非对称)中一样,在Diffie-Hellman技术中也在 不具有对公钥进行认证的外部方式(例如,证书)的情况下交换密 钥,但是,第三方能够改变第一密钥号或者第二密钥号。这例如可 以以如下方式发生,第三方将其自身放置在第一和第二方之间 (MIM-中间人),其中第一方将第三方误认为是第二方,并且以相 应的方式,第二方将第三方误认为是第一方。由此,在实践中,数 据可以经由第三方来在第一和第二方之间传输,并且第三方可检测 由第 一方传输的消息以及由第二方传输的消息,并可以修改所述消 息。为了获取关于Diffie-Hellman技术的更多信息,可参见美国专利 No. 4,200,770,通过参考将其全部内容引入于此。已经针对Diffie-Hellman技术提出了改进,通过该改进近程无线 通信技术中的不同方可以被验证。在1999 AT&T软件研讨会上由 F. Stajano和R. Anderson发表的The Resurrecting Duckling: Security Issues for Ad國Hoc Wireless Networks中公开了该技术。在此发表中公 开的技术基于双方都校验作为上述动作结果而获得的第三和第四 加密号是否相同。例如,这可以这样的方式来实现,在双方的设备 中显示所计算的加密号,并且设备的用户将这些号码相互比较。为 了获得足够强大的加密(至少128位的加密密钥),加密号通常必 须是至少32字符的字符串。然而,这么长的字符串难以比较,并且 不理想的是,出错的可能性较高。发明内容为了至少部分地克服上述传统加密系统和方法的缺点,已经开 发了 一种系统和方法,其允许验证相互通信的各方而并不需要长且复杂的加密密钥或者校验号。在2002年6月5日提交的名称为 Method for Ensuring Data Transmission Security, Communication System and Communication Device的美国专利申请No. 10/164,437中 7>开了这样的系统和方法,该申请于2002年12月12日爿>开,美国 专利申请公开号为2002/0186846,在此通过参考将其内容引入。根 据,437申请的系统和方法,可以选择短的唯一随机字符串,根据该 字符串可以在两个设备中计算校验代码以促进数据传输的安全性。 然后,可由一个设备或者两个设备来呈现所计算的校验代码。如果 两个设备都呈现它们所计算的校验代码,则可将代码相互比较。然 而,如果仅有一个设备呈现校验代码,则可将所呈现的校验代码输 入至另 一设备,然后该另 一设备可将所输入的校验代码与类似计算 的校验代码进行比较。尽管诸如上文所述的系统和方法是足够的,但是通常期望在现 有系统和方法(包括,437申请的那些)上进行改进。因此,本发明 的示例性实施方式冲是供了网络实体、方法和计算才几程序产品,用于 对第一和第二网络实体之间的数据协商(诸如,在第一和第二网络 实体之间建立连接期间)进行认证。根据本发明的一个方面,所述 方法可包括第一网络实体承诺诸如第一密钥(例如,Pl)的第一数 据值,以及使第一和第二网络实体两者知晓数据串(例如,D)等。 就这一点,第一网络实体可通过基于所选择的第一随机值(例如, Rl)形成第一校验串(例如,Cl)来承诺第一数据值,并向第二网 络实体传输第 一校验串。第 一校验串可进一步基于第 一数据值来形成,或者独立于第一数据值来形成。当第一校验串独立于第一数据 值形成时,诸如当第二网络实体尚未知道第 一 密钥或者第 一 数据值 时,第一网络实体可进一步向第二网络实体传输第一密钥或者第一 数据值。在接收第一校验串之后,第二网络实体可向第一网络实体传输所选择的随机值(例如,R2)以及第二数据值(例如,P2、 D)。 在接收第二数据值和第二随机值之后,第一网络实体可通过向第二 网络实体传输第 一 随机值来打开对所述第 一数据值的承诺,从而第二网络实体能够校验所承诺的第 一数据值。这还可以包括第 一 网络 实体向第二网络实体传输第一数据值或者第一数据值的一部分。就 这一点,第二网络实体能够基于第一校验串和第二校验串(例如, C2)来校验所承诺的第一数据值。在这种情况中,可能已经基于第 一随机值和第二网络实体已知的或者传输至该第二网络实体的第一 数据值计算了第二校验串。在校验所承诺的第一数据值之后,如果校验成功,则第二网络 实体能够基于第一和第二数据值以及第一和第二随机值来计算第三 校验串(例如,C3)。类似地,第一网络实体能够基于第一和第二 数据值以及第一和第二随机值来计算第四校验串(例如,C4)。就 这一点,第 一 网络实体可计算第四校验串而无需第二网络实体承诺 第二数据值或者打开对所述第二数据值的所述承诺。在计算完第三 和第四校验串之后,所述方法可包括比较第三和第四校验串或者使 该比较更为便利,从而诸如如果在第三和第四校验串被标识为匹配, 则可基于该比较认为数据值和/或密钥协商通过认证。在第一网络实体与第二网络实体或者与至少一个其他网络实体 之间对数据和/或密钥协商进行认证的多种情况中,可以发生所述方 法的承诺、传输、打开、计算和比较步骤。在这样的情况中,所选 择的第 一 随机值和/或所选择的第二随机值至少在某些情况下可以不 同。相反,第一数据值和/或第二数据值至少在某些情况下可以保持 相同。由此,针对认证密钥协商的不同情况,各个网络实体可重用 第一数据值和/或第二数据值。根据本发明的其他方面,提供了第一和第二网络实体以及计算 机程序产品,用于在第 一 和第二网络实体之间建立连接期间对它们 之间的密钥协商进行认证。通过利用可重用的数据值进行操作,本 发明示例性实施方式的网络实体、方法和计算机程序产品能够避免不得不针对两个网络实体的每次关联生成新的第 一和第二数据值, 否则将需要不期望数量的时间和资源,尤其是当数据值包括密钥的 时候。通过允许在认证步骤中传输和协商数据值及密钥,本发明示 例性实施方式的方法可降低步骤的总数,并且还可降低可能需要用 户控制的步骤的数量。同样,通过基于减小数量的消息交换来对密 钥协商进行认证,本发明示例性实施方式的网络实体、方法和计算校验阶段。本发明示例性实施方式的网络实体、方法和计算机程序 产品由此可以解决现有技术所指出的问题,并且可以提供附加的优点。


由此,已经概括描述了本发明,现在将对附图进行参考,所述附图不必按照尺寸绘制,并且其中图1是将受益于本发明实施方式的一种类型的终端和系统的框图;图2是根据本发明示例性实施方式的能够作为终端和/或接入点操作的实体的示意性框图;图3是更具体示出根据本发明一个示例性实施方式的一种类型 终端的示意性框图;图4是根据本发明一个示例性实施方式在实体之间建立连接期 间关联实体的方法中各种步骤的控制流图;图5是根据本发明一个示例性实施方式的、在图4方法的密钥 交换方法中的各种步骤的控制流图;以及图6是根据本发明的另一示例性实施方式在实体之间建立连接 期间关联实体的方法中各种步骤的控制流图。
具体实施方式
为全面地描述本发明。然而,本发明可以利用许多不同的形式来实现,并且不应当解释为局限于在此阐述的实施方式;而是,提供这 些实施方式以便使得此公开更为彻底和全面,并且将向本领域技术 人员全面传达本发明的范围。贯穿全文,相同的数字表示相同的元 件。参考图1,其提供了将受益于本发明的一种类型的终端和系统的 说明。本发明实施方式的系统、方法和计算机程序产品将主要结合 移动通信应用来描述。然而应该理解,在移动通信产业中以及在移 动通信产业以外,都可以结合各种其他应用来利用本发明实施方式 的系统、方法以及计算机程序产品。例如,可结合有线和/或无线网 络(例如,因特网)应用来利用根据本发明实施方式的系统、方法 以及计算机程序产品。如所示出,系统10包括第一终端12a和第二终端12b,它们能 够彼此无线耦接,诸如在它们之间形成ad-hoc网络。另外,两个终 端中的一个或两个都可耦接至一个或者多个无线接入点(AP) 14。 就这 一 点,终端和A P可配置以根据许多不同无线网络技术中的任意 一种或者多种来彼此通信,所述无线网络技术诸如例如Bluetooth (BT)技术、红外(IrDA)、诸如IEEE 802.11 (例如,802.1 la、 802.11b、 802.11g、 802.11n等)的无线LAN ( WLAN)技术、诸如 IEEE 802.16的WiMAX技术、诸如IEEE 802.15的超宽带(UWB ) 技术、无线通用串行总线(WUSB)技术、近场通信(NFC)技术等。AP 14可进一步耦接至一种或者多种数据网络,诸如局域网 (LAN)、城域网(MAN)和/或广域网(WAN) 。 MSC可直接耦 接至数据网络。然而,在示出的示例性实施方式中,AP耦接至网关 (GTW) 16,该网关耦接至诸如因特网18的WAN。接着,诸如处 理单元20的设备(例如,个人计算机、服务器计算机等)可经由因 特网耦接至终端。尽管在图l中未示出,但是终端12a、 12b中的一 个或者两个可另外通过跨过蜂窝网络、个人通信服务(PCS)网络、 数据网络(例如,因特网)等的一种或者多种来起到移动台的作用。通过将终端12a、 12b彼此连接和/或连接至AP 14,使得终端可 在ad-hoc网络中彼此通信和/或经由APi 争过一个或者多个接入点网 络进行通信,由此实现终端的各种功能。例如,终端可彼此通信和/ 或跨过一个或者多个接入点网络来向计算系统传送数据、内容等, 和/或从计算系统接收内容、数据等。如在此所使用,根据本发明的 示例性实施方式,可以替换地使用术语"数据,,、"内容"、"信 息"和类似的术语来表示能够传输、接收和/或存储的数据。由此, 使用任何这样的术语都不用来限制本发明的精神和范围。现在参考图2,其示出了根据本发明一个实施方式的能够用作终 端12和/或AP14的实体框图。如所示出,该实体包括用于执行根据 本发明示例性实施方式的 一 个或者多个功能的各种部件,其中该各 种部件包含在此处更具体示出和描述的那些部件。然而应该理解, 所述实体可以包括用于执行一个或者多个类似功能的可替换部件, 而并不脱离本发明的精神和范围。更具体地,例如图2所示,实体 可包括连接至存储器24的处理器22。存储器可包括易失性和/或非 易失性存储器,并且通常用于存储内容、数据等。例如,存储器通存储器通常存储客户端应用、指令等,用于使处理器执行与根据本 发明实施方式各个实体操作相关联的步骤。如在此所述,客户端应用的每一个都可以包括由各个实体(例 如,终端12、 AP14)操作的软件。然而应该理解,可替换地,在此 描述的一个或者多个客户端应用可包括固件或硬件,而并不脱离本 发明的精神和范围。通常,所述实体可包括一个或者多个逻辑单元 用于执行一个或者多个客户端应用的各种功能。应当理解,可以利 用许多不同方式中的任意一种来实现逻辑单元。就这一点,执行一 个或者多个客户端应用功能的逻辑单元可在包括一个或者多个集成 电路整体的集成电路组件中实现,或者与实体(或者更具体地,例如各个实体的处理器22)进行通信。集成电路的设计或多或少地是 一种高度自动化的过程。就这一点,复杂和强大的软件工具可用于将逻辑级的设计转换成为半导体电路设计,其中该半导体电路设计 已准备好被蚀刻并形成在半导体衬底上。这些软件工具,诸如,由加州弗里蒙特的Avant!公司提供的以及由加州圣何塞的Cadence Design提供的那些软件工具,使用建立好的设计规则以及强大的预 存储设计模块库来在半导体芯片上自动地为导体布置线路以及定位 组件。 一旦已经完成针对半导体电路的设计,则可将标准化电子格 式(例如,Opus、 GDSII等)的已生成设计传送至半导体制作设施 或者"制造厂"来进行制作。除了存储器24以外,处理器22还可以连接至用于显示、传输 和/或接收数据内容等的至少一个接口或者其他部件。就这一点,接 口可包括用于传输和/或接收数据、内容等的至少一个通信接口 26 或者其他部件。如下文所解释,例如,通信接口可包括一个或者多 个用于将实体耦接至另一实体的近程通信接口 ,诸如BT、 IrDA、 WLAN、 WiMAX、 UWB、 WUSB和/或NFC接口 。除了通信接口以 外,接口还可包括至少一个用户接口 ,其包括显示器28和/或用户输 入接口 30。接着,用户输入接口可包括允许实体从用户接收数据的 多种设备中的任意一种,诸如麦克风、小键盘、触摸显示器、游戏 杆或者其他输入设备。现在参考图3,该图更为详细地示出了受益于本发明实施方式的 一种类型的终端12。然而应当理解,所示出和在下文中描述的终端 仅仅是受益于本发明的一种类型的终端的示意,因此其不应当用来 限制本发明的范围。尽管为了示例目的而示出了终端的多个实施方 式并且将在下文中进行描述,但是其他类型的终端,诸如,便携式 数字助理(PDA)、寻呼机、膝上型计算机和其他类型的电子系统 也可以容易地y使用本发明。终端12包括用于执行根据本发明示例性实施方式的一个或者多 个功能的各种部件,该各种部件包括在此更具体示出和描述的那些 部件。然而应当理解,终端可以包括用于冲丸行一个或者多个类似功 能的可替换部件,而并不脱离本发明的精神和范围。更详细地,例如图3所示,除了天线32以外,终端包括发射器34、接收器36和 分别向发射器提供信号以及从接收器接收信号的控制器38或者其他 处理器。这些信号包括与适合的蜂窝系统空中接口标准相符的信令 信息,并且还包括用户语音和/或用户生成的数据。就这一点,终端 能够利用一个或者多个空中接口标准、通信协议、调制类型和接入 类型来进行操作。更具体地,终端能够根据第一代(1G)、第二代 (2G) 、 2.5G和/或第三代(3G)通信协议等多种通信协议中的任 意一种来操作。应当理解,控制器38包括用于实现终端12的音频和逻辑功能 所需的电路。例如,控制器可以包括数字信号处理器设备、微处理 器设备以及各种模数转换器、数模转换器以及其他辅助电路。根据 这些设备各自的能力在这些设备之间分配终端的控制和信号处理功 能。控制器可另外包括内部语言编码器(VC),并且可以包括内部 数据调制解调器(DM)。此外,控制器可以具有用以操作可存储在 存储器中(如下文所述)的一个或者多个软件程序的功能特性。终端12还包括用户接口 ,该用户接口包括一个或者多个耳机和 /或扬声器40、振铃器42、显示器44以及用户输入接口 ,所有这些 都耦接至控制器38。允许终端接收数据的用户输入接口可包括允许 终端接收数据的许多设备中的任意一种,诸如麦克风46、小键盘48、 触摸显示器和/或其他输入设备。在包括小键盘的实施方式中,小键 盘包括常规数字(0-9)键和相关按键(#、 *),以及用于操作终端 的其他按键。尽管未示出,终端可以包括电池(诸如,振动电池组) 来用于向操作终端所需的各种电路供给电力,以及可选地提供机械 振动作为可检测的输出。终端12还可以包括一个或者多个发射器、接收器和/或收发器 50,用于共享和/或获取数据,诸如通过将终端耦接至另一终端以形 成ad-hoc网络。例如,终端可包括使用由蓝牙特别利益集团所开发 的Bluetooth 无线技术进行操作的Bluetooth (BT)收发器。附加 地或者可替换地,终端可包括其他近程收发器,诸如例如红外(IR)收发器、WLAN收发器、WiMAX收发器、UWB收发器、WUSB收 发器和/或近场通信(NFC)收发器。由此,终端附加地或者可替换 地能够根据这些技术来向设备(诸如,其他终端)传输数据和/或从 设备接收数据。终端12可以进一步包括存储器,例如用户识别模块(SIM) 62, 可分离式用户识别模块(R-UIM)等,其通常存储涉及移动用户的 信息元素。除了 SIM以外,终端可包括其他可移动和/或固定存储器。 就这一点,终端可包括易失性存储器64,例如包括用于临时存储数 据的緩冲区的易失性随机存取存储器(RAM)。终端还包括嵌入式 的和/或可移除式的其他非易失性存储器66。附加地或可替换地,非 易失性存储器包括EEPROM,闪存等。存储器可存储多条信息和数 据中的任意一个,终端使用该信息和数据以实现该终端的功能。例 如,存储器可存储能够唯一标识终端的标识符,诸如国际移动设备 识别(IMEI)码、国际移动用户识别(IMSI)码、移动台综合业务 数字网络(MSISDN)码(移动电话号码)、会话发起协议(SIP) 地址等。另外,存储器可存储能够在终端上操作的一个或者多个客 户应用。现在参考图4,该图示出了根据本发明示例性实施方式的、在网 络实体之间建立端对端连接期间、将第一网络实体68与第二网络实 体70彼此安全关联的控制流程图。如在此示出和描述的,第一和第 二网络实体可包括能够根据本发明示例性实施方式进行操作的许多 不同实体中的任意一种。例如,第一网络实体可包括第一终端12a 或者第二终端12b中的任意一个,而第二网络实体包括第一或者第 二终端中的另一个。可替换地,例如,第一网络实体可包括第一或 者第二终端中的任意一个,而第二网络实体包括AP 14。在另一种可 替换方式中,例如,第一网络实体可包括AP,而第二网络实体包括 第一或者第二终端中的任意一个。在目的在于在第一网络实体68和第二网络实体70之间建立数 据连接的情况中,如下步骤可包含在根据本发明一个示例性实施方式的方法中。网络实体的目的在于检测在附近是否存在可以与其建 立数据连接的其他可能网络实体。在此上下文中,这一阶段可以称 作寻呼阶段,并且例如可以以如下方式实现。第一和第二网络实体 的一个或者两个可以间隔地传输一个或者多个寻呼消息等,并且监 听可能的应答消息。由此,在第一或者第二网络实体中的任意一个 传输寻呼消,包、的情况下,已经接收到该寻呼消息的网络实体可向寻 呼的网络实体2、 3传输应答消息。然后,可以向寻呼网络实体的用 户呈现在附近可能检测到的其他网络实体列表。由此,用户可从此 列表中选择一个或者多个网络实体,并且可与该网络实体建立数据 连接。应当理解,当在建立数据连接中应用根据本发明一个示例性 实施方式的方法时,用户不必输入标识号等。就这一点,与寻呼阶 段相结合,网络实体可将其自身的地址或者其他标识符传输至待建 立的数据连接所涉及的另 一 网络实体,此后在该网络实体间进行通 信期间可使用这些来唯一标识网络实体的地址。在寻呼阶段之后,第一网络实体68和第二网络实体70中的一 个可以跨过它们之间的不安全信道(例如,Bluetooth 、 WLAN、 WiMAX、 UWB、 WUSB等),来与另 一 网络实体建立数据连接,网 络实体之间第一次数据连接的建立时常被称作关联。就这一点,第一和第二网络实体的关联可包括跨过不安全信道执行交互式密钥交 换或者协商,在此期间,如果成功,则可以这样的方式生成共享私 密密钥K=K1=K2,从而所述共享私密密钥仅对第一和第二网络实体 已知。可以以许多不同方式中的任意一种来实现密钥协商。然而, 在一个示例性实施方式中,例如图5所示,根据Diffie-Hellman技术 来实现密钥协商。然而应当理解,除了 Diffie-Hellman技术以外,本其他技术中的任意 一 个交换或协商密钥进行认证。如根据Diffie-Hellman技术所示,第 一 网络实体可以选择许多参 数,包括质数值/ 、整除p-7的质数值《、以及其值^《的乘法幂对 p取^t的g。可替换地,可向第一和第二网络实体中的一个或者两个提供这些参数。不考虑第一网络实体如何接收参数,第一网络实体 可生成第一秘密值"(诸如通过在l和《-l之间选择随机值),并且至少基于参数g来计算第一密钥值Yl,诸如以如下方式Yl=gamod / 。然后,假设尚未将参数提供至第二网络实体,则第一网络实体可 将第 一 密钥值Y1和参数g和/7传输至第二网络实体。如在此所述,所述的许多值是"随机数"或者随机生成的。然 而应当理解,可以以许多不同方式中的任意一种来生成或者选择这 种值,由此所述值可以并且大多数通常依不同情况而不同。就这一 点,尽管可将值描述为随机数或者随机选择的或生成的,但是在多 种不同情况中,可以随机选择或者生成该值、伪随机地或者通过用 于选择或者生成多个不同值的许多不同算法中的一个或者多个来选 择或者生成该值。类似于第一网络实体68,第二网络实体70可生成第二秘密值6, 诸如同样通过在l和《-l之间选择随机数(或者伪随机数)来生成, 并且至少基于参数g来计算第二密钥值Y2,诸如以如下方式Y2=g* mod/7。然后,第二网络实体可将第二密钥值Y2传输至第一网络实 体。 一旦第一和第二网络实体已经生成了其各自的第一秘密值a和 第二秘密值6,并且已经分别接收了另一网络实体的密钥值Y2和 Yl,则网络实体可基于以上值来计算或者生成第一和第二私密密钥。 即,第一网络实体可基于第一秘密值a和第二密钥值Y2来生成第一 私密密钥Kl,诸如以如下方式Kl= (Y2) 。modp。类似地,第二 网络实体可基于第二秘密值6和第一密钥值Y1来生成第二私密密钥 K2,诸如以如下方式K2= ( Yl ) 6mod;7。此后,如果密钥协商已 经成功,即,意味着在没有干扰或者外部影响的条件下实现了数据 传输,则K1=K2。由此,第一和第二网络实体两者可知晓相同的共 享加密密钥K=K1=K2,该共享加密密钥可用于对将要经由数据连接 传输的信息进行加密,并且用于在各方已经校验彼此的认证之后进 行解密。如上所述,许多变量可以通过将整数对质数取模所定义的代数群中的算法来计算或者生成。然而应当理解,用来计算或者生成那 些变量的算法还可以在其他适合的代数群中操作,如果这样期望的 话。还应当理解,如果在密钥协商期间生成的共享加密密钥K长于实体68、 70针对这种密钥预留的最大长度,则从在密钥协商期间产 生的加密密钥来形成由实体所利用的共享加密密钥K,诸如通过将 所生成的密钥K裁剪成为适合的长度或者通过选择其中的预定部分 来形成。例如,在基于现有Bluetooth 技术的系统中,使用最大长 度为128位的加密密钥作为共享加密密钥K是可能的。如在背景技术部分中所述,Diffie-Hellman技术的 一个缺点在于, 密钥协商易于受到第三方的攻击,该第三方干预密钥协商过程,由 此能够影响在第一网络实体68和第二网络实体70之间的通信,并 且除了其他交换的变量以外,还有机会改变所传输的第一密钥值Yl 和第二密钥值Y2中的一个或者两个。由此,本发明的示例性实施方下所述,密钥协商认证可以出现在在第 一 和第二实体之间的密钥协 商之后。然而应当理解,可替换地,密钥协商认证可以出现在密钥 协商之前、甚至出现在密钥协商期间,而不脱离本发明的精神和范围。再次参考图4,在第一和第二网络实体之间的密钥协商之后,第 一网络实体68和第二网络实体70都可以选4奪各自相对较长(例如, 160位)的随机数(或者伪随机数)值Rl和R2用于在进一步的校 验阶段中使用。同样是为了在进一步的校验阶段中使用,第一和第 二网络实体可生成、计算或者提供各自的可重用密钥或者数据值Pl和P2。可重用密钥可包括许多不同值中的任意一个,其包括例如先 前计算的第一密钥值Y1和第二密钥值Y2(例如,P1=Y1、 P2=Y2)。 在这样的情况下,已协商的秘密密钥K可包括P1和P2的函数K^g (PI, P2)。在生成第一随机值Rl之后,第一网络实体68可通过首先基于 第一可重用密钥Pl和随机值Rl形成承诺(commitment)来承诺(commit to )第一可重用密钥PI。例如,第一网络实体可通过对包 括第一可重用密钥PI和随机值Rl的消息应用单向哈希函数hl,诸 如公式Cthl (PI, Rl)来形成承诺C1 (第一校验串)。哈希函数 hi可包括许多不同哈希函数中的任意一个,所述哈希函数例如 SHA-256 (安全哈希算法)函数等。能够计算密码承诺的其他函数都 可以用来代替哈希函数。在形成承诺C1之后,第一网络实体可向第 二网络实体传输承诺C1,以及如果期望的话可以传输第 一 可重用密 钥P1的部分或者全部。类似于第一网络实体68,第二网络实体70 可向第一网络实体传输第二可重用密钥P2和随机值R2,第二可重 用密钥P2和/或随^L值R2能够以纯文本的方式传输,而第二网络实 体不必承诺第二可重用密钥。在承诺第一可重用密钥Pl之后、以及在接收到第二可重用密钥 P2和第二随机值R2之后的某个时间点上,第一网络实体68可通过 向第二网络实体70传输第一随机值R1来打开承诺。另外,如果第 二网络实体先前不知晓第一可重用密钥pi、或者没有接收到第一可重用密钥Pl,则第一网络实体还可向第二网络实体传输第一可重用 密钥Pl (或者其中的部分)。以此方式,第二网络实体可校验所承 诺的第一可重用密钥Pl (在承诺Cl中)是否与先前接收的第一可 重用密钥Pl (随承诺Cl接收的)相匹配。更具体地,第二网络实 体可通过类似于第一网络实体形成承诺Cl (例如,hl=h2)的方式, 向包括先前接收的第一可重用密钥Pl和现在接收的第一随机值Rl 的消息应用单向哈希函数,诸如根据公式C2=h2 (Pl, Rl)来计算 校验串C2。然后,第二网络实体可通过比较函数bhfl (C1, C2) 来将承诺C1与校验串C2进行比较。比较函数可以以许多不同方式 中的任意一种来比较Cl和C2,但是在一个示例性实施方式中,比 较函数包括等同性校验以识别Cl和C2之间的匹配(即,Cl-C2)。 如果比较函数bl的结果是假(即,C1^C2),则认为密钥协商未通 过认证,以及第二网络实体可终止第一和第二网络实体的关联。如果比较函数bl的结果是真(即,C1=C2),则第二网络实体70成功地校验承诺的第一可重用密钥Pl,并且可基于第一可重用密 钥Pl和第二可重用密钥P2以及第一随机值Rl和第二随机值R2, 来计算第三校验串C3。类似地,在接收第二可重用密钥P2和第二 随机值R2之后的任意时间点,第一网络实体可基于Pl和P2以及 Rl和R2来计算第四校验串C4。就这一点,在期望网络实体大约同 时获得其各自的第三和第四校验串的情况下,由于第一网络实体68 能够在第二网络实体计算第三校验串(第二网络实体首先校验承诺) 之前计算第四校验串,所以第一网络实体可以花费更多的时间来计算第四校验串。网络实体68、 70可以以许多不同方式中的任意一种来计算第三 校验串C3和第四校验串C4。例如,网络实体可通过诸如以下公式 R二f(Rl, R2)向随机值应用组合函数(例如,哈希函数、串联等), 来首先计算第一随机值R1和第二随机值R2的组合R。然后,网络 实体可通过向组合R以及第一可重用密钥Pl和第二可重用密钥P2 应用各自的函数cvl和cv2来计算第三校验串C3和第四校验串C4, 其中函数cvl和cv2可以是相同的函数也可以是不同的函数。例如, 网络实体可通过将MAC (消息证书代码)函数应用到作为输入消息 的P1和P2上、并且将R作为密钥,来计算第三和第四校验串,以 便由此产生短输出校验串C3和C4。为了进一步降低输出校验串的 大小,则第三和第四校验串可包括截断的MAC,如果期望这样的话。在网络实体68、 70已经计算第三校验串C3和第四校验串C4之 后,可通过应用比较函数b2=f2 (C3, C4)来比较校验串。比较函 数可以许多不同方式中的任意一种来比较C3和C4,不过在一个示 例性实施方式中,比较函数包括等同性校验以识别C3和C4之间的 匹配(即,C3=C4)。可以以许多不同方式中的任意一种来将比较 函数应用至第三和第四校验串。例如,尽管先前的消息交换是以带 内方式来跨过网络实体之间的不安全信道(例如,Bluetooth 、 WLAN、 WiMAX、 UWB、 WUSB等)实现的,但是可以以带外方式 来应用比较函数。例如,网络实体之一可跨过带外信道(例如,IR、NFC等)来向另一网络实体传输其各自的第三或第四校验串,使得接收网络实体可应用比较函数来比较第三和第四校验串,或者诸如 通过为用户比较而呈现校验串来使校验串的比较更为便利。在其他 的带外实例中,通过为网络实体的用户(或者网络实体的一个或者 两者的用户)进行比较而呈现第三和第四校验串,来应用比较函数 以对第三和第四校验串进行比较。在用户比较第三和第四校验串的 这种情况中,用户可诸如经由各个实体的用户输入接口来向网络实 体中的一个或者两个指示匹配或者不匹配。不考虑如何比较第三和第四校验串C3和C4,如果比较函数b2 的结果是假,则认为密钥协商没有通过认证,并且网络实体68、 70 中的一个或者两者可终止它们的关联。然而,如果比较函数bl的结 果为真,则认为密钥协商通过认证,从而使得网络实体可以假定共 享加密密钥K是可靠的。然后,网络实体可以使用共享加密密钥K 来进行数据加密和解密,从而跨过在其他方面不安全的信道来安全 地进行通信。应当理解,在各种情况中,在进一步的校验阶段之前,第一可 重用密钥Pl和第二可重用密钥P2中的一个或者两个对于网络实体 68、 70中的一个或者两个可能是已知的。在这种情况下,先前知道 第一可重用密钥Pl和第二可重用密钥P2的实体不需要从另一实体 接收这些密钥的任何一个。更具体地,如果两个可重用密钥对第一 网络实体是已知的,则第 一 网络实体不必从第二网络实体接收第二 可重用密钥P2。并且如果两个可重用密钥对第二网络实体是已知的, 则第二网络实体不必从第一网络实体接收第一可重用密钥Pl。另夕卜, 如果第二实体经过推理已知可重用密钥Pl、或者如果P1随承诺C1 传输至第二实体,则第一网络实体不必在承诺C1的计算中包括可重 用密钥Pl。然而,如果可重用密钥Pl仅随第一随机值展示给第二 实体,则通常如上所述,在承诺的计算中包括P1。还应当理解,可重用密钥Pl和P2不但可以包括密钥本身,而 且还可以包括整个密钥协商消息。在这种情况下,由于密钥协商消息可随用于传输承诺以及各自随机值的消息附带,所以不需要单独 的密钥协商协议。此外,本发明的示例性实施方式通常可以适用于在实体之间对 任何数据协商进行认证。如图6所示,根据本发明示例性实施方式的对数据协商进行认证可包括第一和第二网络实体68、 70跨过不安 全信道来执行交互式数据协商,如果在此期间成功,则可用这样的 方式生成数据串D或者达成一致,使得所述数据串D对第一和第二 网络实体而言是已知的。如所示出,可以以类似于图4的方式来执 行进一步的校验阶段。然而,与图4所示的进一步校验阶段形成对 比,图6的第一网络实体可通过向包括数据串D和随机值Rl的消 息应用单向哈希函数hl (即,Cl=hl (D, Rl ))来形成承诺C1 (第 一校验串)。然后,第一网络实体可向第二网络实体传输承诺C1, 而第二网络实体向第一网络实体传输第二随机值R2。还如图6中所示,在从第一网络实体68接收第一随机值Rl之 后,第二网络实体70可校验承诺的数据串D (在承诺Cl中)是否 与第二网络实体已知的数据串D匹配。就这一点,第二网络实体可 通过对包括已知数据串D和现在所接收的第一随机值Rl的消息应 用单向哈希函数h2,诸如根据类似于第一网络实体形成承诺C1 (例 如,M=h2)的方式按如下公式C2=h2 (D, Rl )来计算校验串C2。 如之前那样,接着第二网络实体可通过应用比较函数bl来将承诺 Cl与校验串C2进行比较,诸如为了标识匹配(即,C1=C2)。如 果比较函数的结果是假(即,C1^C2),则认为数据协商未通过认 证,并且第二网络实体可终止第一和第二网络实体的关联。否则, 如果比较函数bl的结果是真(例如,C1=C2),则网络实体可基于 已知的数据串D以及第一随机值R1和第二随机值R2,来计算第三 校验串C3和第四校验串和C4,诸如,如之前那样通过计算组合R 以及对R和D应用各自的函l史cvl和cv2 (例如,MAC函lt),并 且如果期望的话,截断MAC的结果。如之前那样,通过应用比较函 数b2来比较第三校验串C3和第四校验串C4校验,诸如为了标识匹配(即,C3=C4 )。应当理解,尽管对于将第一网络实体和第二和/或其他网络实体 相关联的情况、和/或将第二网络实体与第 一和/或其他网络实体相关联的情况,随机值Rl和R2可以有所不同,然而第一密钥Pl和第 二密钥P2 (或者数腺串D)可以在从一种情况到下一情况时重用。 由此,本发明的示例性实施方式避免了针对两个网络实体的每个关 联生成新的密钥Pl和P2,否则会需要不期望数量的时间和资源。 同样,通过仅需要交换三个入站(inbound)消息(例如,传输Cl 和P1、传输P2和R2、以及传输R1),本发明的示例性实施方式针 对在网络实体之间对密钥协商进行认证提供了有效的校验阶段。根据本发明的一个方面,由系统的一个或多个实体(诸如,第 一网络实体68和第二网络实体70 (例如,终端12、 AP 14等)中的 一个或两个)所执行的功能可以由诸如硬件和/或固件的各种部件, 包括那些上面所描述的,单独地和/或在计算机程序产品控制下执行。 用于执行本发明示例性实施方式的一个或多个功能的计算机程序产 品包括诸如非易失性存储介质的计算机可读存储介质和软件,其中 该软件包括计算机可读程序代码部分,诸如实现在计算机可读存储 介质上的 一 系列计算机指令。就这一点,图4、图5和图6是根据本发明示例性实施方式的方 法、系统和程序产品的控制流程图。应当理解,可由诸如包括一个 或多个的计算机指令的硬件、固件和/或软件的各种部件来实施控制 流程图的每个块或步骤、以及流程图中块或者步骤的组合。应当理 解,可将任何此类计算机程序指令加载到计算机或其他的可编程装 置(即,硬件)之中以生成一种机器,使得在计算机或其他可编程 部件上运行的指令能够创建用于实现在控制流程图的块或步骤中指 定功能的部件。这些计算机程序指令也可存储在计算机可读存储器 中,所述计算机可读存储器指引计算机或其他可编程装置以特定的 方式运作,使得存储在计算机可读存储器中的指令产生产品,所述 产品包括实现在控制流程图的块或步骤中指定功能的指令部件。计算机程序指令还可加载到计算机或其他可编程装置上,以使得在计 算机或其他可编程装置上执行 一 系歹lj的操作步骤以产生计算机可执 行处理,从而使在计算机或其他可编程装置上运行的指令能够提供 用于实现在控制流程图的块或步骤中指定功能的步骤。因此,流程图的块或步骤支持用于执行特定功能的部件的组合、 用于执行特定功能的步骤的组合以及用于执行特定功能的程序指令 部件。还应当理解,可由基于专用硬件的计算机系统来实现控制流 程图的 一个或多个块或步骤、以及控制流程图中的块或步骤的组合, 其中所述计算机系统执行特定的功能或步骤、或专用硬件和计算机 指令的组合。受益于上述描述和相关附图所提出教导的本发明领域技术人员 会想到本发明的许多改进和其他实施方式。由此,应当理解,本发 明不限于公开的特定实施方式,并且改进和其他实施方式旨在包括 于所附权利要求书的范围内。尽管在此使用了特定术语,但仅出于 一般和描述方面使用它们,而并非出于限制目的。
权利要求
1.一种第一网络实体,用于对与第二网络实体进行的数据协商进行认证,所述第一网络实体包括处理单元,能够通过基于选择的第一随机值形成第一校验串来承诺第一数据值,以及向所述第二网络实体传输所述第一校验串,其中所述处理单元能够从所述第二网络实体接收选择的第二随机值;此后其中所述处理单元能够通过向所述第二网络实体传输所述第一随机值来打开对所述第一数据值的承诺,从而所述第二网络实体能够基于所述第一校验串以及基于所述第一随机值计算的第二校验串来校验所述承诺的第一数据值,此后所述第二网络实体能够基于所述第一数据值和所述第一和第二随机值来计算第三校验串,其中所述处理单元能够基于第二数据值以及所述第一和第二随机值来计算第四校验串,所述第四校验串的计算无需所述第二网络实体承诺所述第二数据值或者打开对所述第二数据值的所述承诺,其中所述处理单元能够比较所述第三和第四校验串或者使该比较更为便利,基于该比较来对所述数据协商进行认证,以及其中当所述第二网络实体成功校验所述承诺的第一数据值时,所述处理单元能够比较所述第三和第四校验串或者使该比较更为便利。
2. 根据权利要求1所述的第一网络实体,其中所述处理单元能 够承诺包括第 一密钥的第 一数据值,其中处理单元能够传输所述第 一校验串和所述第一密钥,以及其中所述处理单元能够传输所述第一随机值,从而所述第二网络 实体能够基于已经进一步基于随所述第一校验串传输的所述第一密 钥计算的第二校验串来校验所述承诺的第 一 密钥。
3. 根据权利要求2所述的第一网络实体,其中所述第二数据值 包括第二密钥,其中所述处理单元进一步能够从所述第二网络实体接收所述第二密钥,以及其中所述处理单元能够基于所述接收的第二密钥以及所述第一 和第二随机值来计算所述第四校验串。
4. 根据权利要求1所述的第一网络实体,其中在认证所述数据 协商之前,所述第一和第二数据值包括所述第一和第二网络实体两 者已知的相同数据串,其中所述处理单元能够承诺所述数据串,以 及其中所述处理单元能够传输所述第 一随机值,从而所述第二网络实体能够基于已经进一步基于所述第二网络实体已知的所述数据串 计算的第二校验串来校验所述承诺的数据串。
5. 根据权利要求4所述的第一网络实体,其中所述处理单元能够基于所述第一网络实体已知的所述数据串以及所述第一和第二随 机值来计算所述第四校验串。
6. 根据权利要求1所述的第一网络实体,其中在对与所述第二 网络实体或者至少一个其他网络实体的所述数据协商进行认证的多种情况中,所述处理单元能够承诺所述第一数据值、接收所述第二 随机值、打开所述承诺、计算所述第四校验串、以及比较所述第三 和第四校验串或者使该比较更为便利,以及其中所述选择的第 一 随机值至少在某些情况中不同,以及其中所 述第一数据值至少在某些情况中相同。
7. 根据权利要求1所述的第一网络实体,其中所述处理单元能 够通过进 一 步基于所述第 一 数据值形成所述第 一 校验串来承诺所述 第一数据值。
8. 根据权利要求1所述的第一网络实体,其中所述处理单元能 够通过独立于所述第 一数据值形成所述第 一校验串来承诺所述第一 数据值,并且向所述第二网络实体传输所述第一校验串和所述第一 数据值。
9. 一种第二网络实体,用于对与第一网络实体进行的数据协商 进行认证,所述第二网络实体包括处理单元,能够接收第一校验串,所述第一网络实体已经通过基 于所选择的第 一随机值形成所述第 一校验串来承诺第 一数据值,其中所述处理单元能够向所述第一网络实体传输选择的第二随机值;此后其中所述处理单元能够接收所述第 一随机值,所述第 一 网络实体 已经通过向所述第二网络实体传输所述第一随机值来打开对所述第 一数据值的承诺,其中所述处理单元能够基于所述第一校验串和已经基于所述第 一随机值计算的所述第二校验串来校验所述承诺的第 一数据值,其中所述处理单元能够基于所述第一数据值以及所述第一和第 二随机值来计算第三校验串,所述第 一 网络实体能够基于第二数据 值以及所述第 一 和第二随机值来计算第四校验串,所述第四校验串 的计算无需所述第二网络实体承诺所述第二数据值或者打开对所述 第二数据值的所述承诺,其中所述处理单元能够比较所述第三和第四校验串或者使该比 较更为便利,基于所述比较来对所述密钥协商进行认证,以及其中当所述处理单元成功校验所述承诺的第 一数据值时,所述处 理单元能够比较所述第三和第四校验串或者使该比较更为便利。
10. 根据权利要求9所述的第二网络实体,其中所述第一数据值 包括第 一密钥,其中所述处理单元进一步能够接收所述第 一密钥, 以及其中所述处理单元能够基于已经进一步基于随所述第一校验串 传输的所述第 一 密钥计算的第二校验串来校验所述承诺的第 一 密钥。
11. 根据权利要求10所述的第二网络实体,其中所迷第二数据 值包括第二密钥,其中所述处理单元进一步能够向所述第一网络实 体传输所述第二密钥,从而所述第一网络实体能够基于所述接收的 第二密钥以及所述第 一 和第二随机值来计算所述第四校验串。
12. 根据权利要求9所述的第二网络实体,其中在对所述数据协商进行认证之前,所述第一和第二数据值包括所述第一和第二网络 实体两者已知的相同数据串,其中所述处理单元能够接收第 一 校验 串,所述第 一校验串基于所述数据串和在所述第 一 网络实体承诺所 述数据串情形下选择的所述第一随机值来形成,以及其中所述处理单元能够基于已经进一步基于所述第二网络实体 已知的所述数据串计算的第二校验串来校验所述承诺的第 一 密钥。
13. 根据权利要求12所述的第二网络实体,其中所述处理单元 能够向所述第一网络实体传输所述第二随机值,从而所述第一网络 实体能够基于所述第一网络实体已知的所述数据串以及所述第一和 第二随机值来计算所述第四校验串。
14. 根据权利要求9所述的第二网络实体,其中在对与所述第一 网络实体或者至少 一 个其他网络实体的所述数据协商进行认证的多种情况中,所述处理单元能够接收所述第一校验串、传输所述第二 随机值、接收所述第一随机值、校验所述承诺的第一数据值、计算 所述第三校验串、以及比较所述第三和第四校验串或者使该比较更 为便利,以及其中所述选择的第二随机值至少在某些情况中不同,以及其中所 述第二数据值至少在某些情况中是相同的。
15. —种对第 一和第二网络实体之间的数据协商进行认证的方 法,所述方法包括在第一网络实体处,通过基于选择的第一随机值形成第一校验串 来承诺第 一数据值,以及向所述第二网络实体传输所述第 一校验串;在所述第一网络实体处从所述第二网络实体接收选择的第二随 才几叶直;此后在所述第一网络实体处,通过向所述第二网络实体传输所述第一 随机值来打开对所述第 一 数据值的承诺,从而所述第二网络实体能 够基于所述第 一校验串和已经基于所述第 一随机值计算的第二校验 串来校验所述承诺的第 一数据值,此后所述第二网络实体能够基于 所述第 一数据值以及所述第 一 和第二随机值来计算第三校验串;在所述第一网络实体处,基于第二数据值以及所述第一和第二随机值来计算第四校验串,所述第四校验串的计算无需所述第二网络 实体承诺所述第二数据值或者打开对所述第二数据值的所述承诺;以及比较所述第三和第四校验串或者使该比较更为便利,基于所述比 较来对所述数据协商进行认证,其中当所述第二网络实体成功校验所述承诺的第 一数据值时,发 生所述比较步骤。
16. 根据权利要求15所述的方法,其中所述承诺步骤包括承诺 第 一密钥,其中传输所述第 一校验串进一步包括传输所述第一密钥, 以及其中传输所述第一随机值包括传输所述第一随机值,从而所述 第二网络实体能够基于已经进一步基于随所述第一校验串传输的所 述第 一 密钥计算的第二校验串来校验所述承诺的第 一 密钥。
17. 根据权利要求16所述的方法,其中所述第二数据值包括第 二密钥,其中所述接收步骤进一步包括在所述第一网络实体处从所 述第二网络实体接收所述第二密钥,以及其中计算所述第四校验串包括基于所述接收的第二密钥以及所 述第一和第二随机值来计算所述第四校验串。
18. 根据权利要求15所述的方法,其中在对所述数据协商进行 认证之前,所述第一和第二数据值包括所述第一和第二网络实体两 者已知的相同数据串,其中所述承诺步骤包括承诺所述数据串,以 及其中传输所述第一随机值包括传输所述第一随机值,从而所述 第二网络实体能够基于已经进一步基于所述第二网络实体已知的所 述数据串计算的第二校验串来校验所述承诺的数据串。
19. 根据权利要求18所述的方法,其中计算所述第四校验串包 括基于所述第一网络实体已知的所述数据串以及所述第一和第二 随机值来计算所述第四校验串。
20. 根据权利要求15所述的方法,其中在对所述第一网络实体 和所述第二网络实体或者至少 一 个其他网络实体之间的所述数据协 商进行认证的多种情况中,发生所述承诺、接收、打开、计算和比 较步骤,其中所述选择的第 一 随机值至少在某些情况中不同,以及其中所 述第一数据值至少在某些情况中是相同的。
21. 根据权利要求15所述的方法,其中所述承诺步骤包括通过 进一步基于所述第 一数据值形成所述第 一校验串来承诺所述第 一数 据值。
22. 根据权利要求15所述的方法,其中所述承诺步骤包括,通 过独立于所述第 一数据值形成所述第 一校验串来承诺所述第 一数据 值,并且向所述第二网络实体传输所述第 一校验串和所述第 一数据值。
23. —种对第 一 和第二网络实体之间的数据协商进行认证的方 法,所述方法包括在所述第二网络实体处接收第 一 校验串,所述第 一 网络实体已经 通过基于选择的第 一 随机值形成所述第 一校验串来承诺第 一数据值;从所述第二网络实体向所述第一网络实体传输选择的第二随机<i;此后在所述第二网络实体处接收所述第一随机值,所述第一网络实体 已经通过向所述第二网络实体传输所述第一随机值来打开对所述第 一数据值的承诺;在所述第二网络实体处基于所述第一校验串和基于所述第一随 机值计算的第二校验串来校验所述承诺的第 一数据值;在所述第二网络实体处基于所述第一数据值以及所述第一和第 二随机值来计算第三校验串,所述第一网络实体能够基于第二数据 值以及所述第一和第二随机值来计算第四校验串,所述第四校验串 的计算无需所述第二网络实体承诺所述第二数据值或者打开对所述第二数据值的所述承诺;以及比较所述第三和第四校验串或者使该比较更为便利,基于所述比 较来对所述密钥协商进行认证,其中当所述第二网络实体成功校验所述承诺的第 一数据值时,发 生所述比较步骤。
24. 根据权利要求23所述的方法,其中所述第一数据值包括第 一密钥,其中接收所述第 一 校验串进 一 步包括接收所述第 一 密钥, 以及其中所述校验步骤包括基于已经进 一 步基于随所述第 一 校验串 传输的所述第 一 密钥计算的第二校验串来校验所述承诺的第 一 密钥。
25. 根据权利要求24所述的方法,其中所述第二数据值包括第 二密钥,其中所述传输步骤进一步包括向所述第一网络实体传输 所述第二密钥,从而所述第一网络实体能够基于所述接收的第二密 钥以及所述第 一 和第二随机值来计算所述第四校验串。
26. 根据权利要求23所述的方法,其中在对所述数据协商进行 认证之前,所述第一和第二数据值包括所述第一和第二网络实体两 者已知的相同数据串,其中接收第一校验串包括接收基于所述数 据串以及在所述第 一 网络实体承诺所述数据串的情况下所选择的所 述第一随机值形成的第一校验串,以及其中所述校验步骤包括基于已经进一步基于所述第二网络实体 已知的所述数据串计算的第二校验串来校验所述承诺的第 一 密钥。
27. 根据权利要求26所述的方法,其中所述传输步骤包括向 所述第一网络实体传输所述第二随机值,从而所述第一网络实体能够基于所述第一网络实体已知的所述数据串以及所述第一和第二随 机值来计算所述第四校验串。
28. 根据权利要求23所述的方法,其中在对所述第二网络实体 与所述第 一 网络实体或者至少 一 个其他网络实体之间的所述数据协 商进行认证的多种情况中,发生所述接收所述第一校验串、传输、接收所述第一随机值、校验、计算和比较步骤,其中所述选择的第二随机值至少在某些情况中不同,以及其中所 述第二数据值至少在某些情况中是相同的。
29. —种计算机程序产品,用于对第一和第二网络实体之间的数 据协商进行认证,所述计算机程序产品包括其中存储有计算机可读 程序代码部分的至少一个计算机可读存储介质,所述计算机可读程序代码部分包括第一可执行部分,用于在所述第一网络实体处通过基于选择的第 一随机值形成第 一校验串来承诺第 一数据值,以及向所述第二网络实体传输所述第一校验串;第二可执行部分,用于在所述第一网络实体处从所述第二网络实体接收选择的第二随机值;第三可执行部分,用于在所述第二可执行部分接收所述第二随机 值之后,在所述第一网络实体处打开对所述第一数据值的承诺,所 述承诺通过向所述第二网络实体传输所述第一随机值来打开,从而 所述第二网络实体能够基于所述第一校验串和已经基于所述第一随机值计算的第二校验串来校验所述承诺的第一数据值,由此所述第 二网络实体能够基于所述第一数据值以及所述第一和第二随机值来计算第三校验串;第四可执行部分,用于在所述第一网络实体处基于第二数据值以 及所述第 一 和第二随机值来计算第四校验串,所述第四校验串的计 算无需所述第二网络实体承诺所述第二数据值或者打开对所述第二 数据值的所述承诺;以及第五可执行部分,用于比较所述第三和第四校验串或者使该比较 更为便利,基于所述比较来对所述数据协商进行认证,其中当所述第二网络实体成功校验所述承诺的第一数据值时,所 述第五可执行部分适用于比较所述第三和第四校验串或者使该比较 更为i"更利。
30. 根据权利要求29所述的计算机程序产品,其中所述第一可执行部分适用于承诺第一密钥,并且适用于进一步传输所述第一密 钥,以及其中所述第二可执行部分适用于传输所述第一随机值,从而所述 第二网络实体能够基于已经进一步基于随所述第一校验串传输的所述第 一 密钥计算的第二校验串来校验所述承诺的第 一 密钥。
31. 根据权利要求30所述的计算机程序产品,其中所述第二数 据值包括第二密钥,其中所述第二可执行部分进一步适用于在所述 第一网络实体处从所述第二网络实体接收所述第二密钥,以及其中第四可执行部分适用于基于所述接收的第二密钥以及所述第 一 和第二随机值来计算所述第四校验串。
32. 根据权利要求29所述的计算机程序产品,其中在对所述数 据协商进行认证之前,所述第一和第二数据值包括所述第一和第二 网络实体两者已知的相同数据串,其中所述第 一可执行部分适用于 承诺所述数据串,以及其中所述第三可执行部分适用于传输所述第一随机值,从而所述 第二网络实体能够基于已经进一步基于所述第二网络实体已知的所 述数据串计算的第二校验串来校验所述承诺的数据串。
33. 根据权利要求32所述的计算机程序产品,其中所述第四可 执行部分适用于基于所述第 一 网络实体已知的所述数据串以及所述 第一和第二随机值来计算所述第四校验串。
34. 根据权利要求29所述的计算机程序产品,其中在对所述第 一网络实体与所述第二网络实体或者至少一个其他网络实体之间的 所述数据协商进行认证的多种情况中,所述第一、第二、第三、第 四、以及第五可执行部分适用于承诺所述第一数据值、接收所述第 二随机值、打开所述承诺、计算所述第四校验串、以及比较所述第 三和第四校验串或者使该比较更为便利,其中所述所选择的第 一 随机值至少在某些情况中不同,以及其中 所述第 一数据值至少在某些情况中是相同的。
35. 根据权利要求29所述的计算机程序产品,其中所述第一可执行部分适用于通过进一步基于所述第一数据值形成所述第一校验 串来承诺所述第 一数据值。
36,根据权利要求29所述的计算机程序产品,其中所述第一可 执行部分适用于通过独立于所述第 一 数据值形成所述第 一 校验串来 承诺所述第 一 数据值,并且向所述第二网络实体传输所述第 一 校验 串和所述第一数据值。
37, —种计算机程序产品,用于对第一和第二网络实体之间的数 据协商进行认证,所述计算机程序产品包括其中存储有计算机可读 程序代码部分的至少一个计算机可读存储介质,所述计算机可读程 序代码部分包括第一可执行部分,用于在所述第二网络实体处接收第一校验串, 所述第一网络实体已经通过基于选择的第一随机值形成所述第一校 验串来承诺第一数据值;第二可执行部分,用于从所述第二网络实体向所述第一网络实体传输选择的第二随机值;第三可执行部分,用于在所述第二可执行部分传输所述第二随机 值之后,在所述第二网络实体处接收所述第一随机值,所述第一网 络实体已经通过向所述第二网络实体传输所述第一随机值来打开对 所述第一数据值的承诺;第四可执行部分,用于在所述第二网络实体处基于所述第一校验 串和已经基于所述第 一 随机值计算的第二校验串来校验所述承诺的 第一数据值;第五可执行部分,用于在所述第二网络实体处基于所述第一数据 值以及所述第 一和第二随机值来计算第三校验串,所述第 一 网络实 体能够基于第二数据值以及所述第一和第二随机值来计算第四校验 串,所述第四校验串的计算无需所述第二网络实体承诺所述第二数 据值或者打开对所述第二数据值的所述承诺;以及第六可执行部分,用于比较所述第三和第四校验串或者使该比较 更为便利,基于所述比较来对所述密钥协商进行认证,其中当所述第三可执行部分成功校验所述承诺的第 一数据值时, 所述第六可执行部分适用于比较所述第三和第四校验串或者使该比 專交更为<更利。
38. 根据权利要求37所述的计算机程序产品,其中所述第一数 据值包括第一密钥,其中所述第一可执行部分适用于进一步接收所 述第一密钥,以及其中所述第四可执行部分适用于基于已经进一步基于随所述第 一校验串传输的所述第 一 密钥计算的第二校验串来校验所述承诺的 第一密钥。
39. 根据权利要求38所述的计算机程序产品,其中所述第二数 据值包括第二密钥,其中所述第二可执行部分进一步适用于向所述 第一网络实体传输所述第二密钥,从而所述第一网络实体能够基于 所述接收的第二密钥以及所述第一和第二随机值来计算所述第四校 验串。
40. 根据权利要求37所述的计算机程序产品,其中在对所述数 据协商进行认证之前,所述第 一 和第二数据值包括所述第 一 和第二 网络实体两者已知的相同数据串,其中所述第 一可执行部分适用于 接收第 一校验串,所述第 一校验串是基于所述数据串以及在所述第 一网络实体承诺所述数据串时所选择的所述第 一 随机值来形成,以及其中所述第四可执行部分适用于基于已经进一步基于所述第二 网络实体已知的所述数据串计算的第二校验串来校验所述承诺的第 一密钥。
41. 根据权利要求40所述的计算机程序产品,其中所述第二可 执行部分适用于向所述第 一 网络实体传输所述第二随机值,从而所 述第一网络实体能够基于所述第一网络实体已知的所述数据串以及 所述第一和第二随机值来计算所述第四校验串。
42. 根据权利要求37所述的计算机程序产品,其中在对所述第 二网络实体和所述第一网络实体或者至少一个其他网络实体之间的所述数据协商进行认证的多种情况中,所述第一、第二、第三、第 四、第五以及第六可执行部分适用于接收所述第一校验串、传输所 述第二随机值、接收所述第一随机值、校验所述承诺的第一数据值、 计算所述第三校验串、以及比较所述第三和第四校验串或者使该比 專交更为1"更利,其中所述选择的第二随机值至少在某些情况中不同,以及其中所 述第二数据值至少在某些情况中是相同的。
全文摘要
一种用于对第一和第二网络实体之间的数据协商进行认证的方法,可包括第一网络实体承诺已协商的数据值,并且向第二网络实体传输承诺的数据值和第一随机值。第一网络实体可接收第二随机值,并且然后可打开所承诺的数据值,从而第二网络实体可校验所承诺的数据值。如果成功,则基于数据值以及第一和第二随机值,第二网络实体可计算第三校验串,以及第一网络实体可类似地计算第四校验串。第一网络实体可计算第四校验串,而无需第二网络实体承诺该数据值。然后,本方法可包括比较校验串,从而可基于比较来认为已协商的数据通过认证。
文档编号H04L29/06GK101273572SQ200680035266
公开日2008年9月24日 申请日期2006年9月18日 优先权日2005年10月3日
发明者K·纽伯格, N·阿索坎 申请人:诺基亚公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1