加密密钥生成的制作方法

文档序号:7943024阅读:329来源:国知局
专利名称:加密密钥生成的制作方法
技术领域
本发明总体涉及用于生成加密密钥的技术。具体地,本发明涉及提供高等级安全 性的加密密钥生成技术。
背景技术
认证和密钥协商协议(AKA)是一种基于质询-响应的、使用对称加密的协议。AKA 的主要目的包括两个彼此通信的实体进行互相认证以及建立用于保护其间交换的通信的 加密密钥。AKA的一个变型是UMTS AKA,包括在技术规范3G TS 33. 102中由3GPP针对3G 移动通信网络而标准化的安全架构中。UMTS AKA的基本概念如图1所示。参照该图,UMTS AKA协议在用户设备(UE)与 网络实体(服)之间运行。网络实体通过向UE发送用户认证请求来发起AKA。将随机质询 或随机码(RAND)和认证令牌(AUTN)与该请求一起发送至UE。在接收到RAND和AUTN时, UE计算密码密钥(CK)和完整性密钥(IK)等等,然后使用CK和IK用于密码处理和完整性 功能。3GPP还在进行所谓“超3G”通信网络的标准化。系统架构演进(SAE)和长期演进 (LTE)是超3G网络的两个密切相关的方面。与传统3G网络相比,基于SAE/LTE的网络可 以施加更高和/或更多安全要求。例如,可能需要以不同等级来保护通信的更多加密密钥。 在另一标准相关文献3GPP TR 33.821中,3GPP推荐了一种密钥层级,用于导出在SAE/LTE 中使用的更多加密密钥。图2示出了这种密钥层级。在该层级的最顶部是密钥K,密钥K是在UE的全球订 户标识模块(USIM)与位于网络中的认证中心(AuC)之间共享的长期加密密钥。向下一级 是一对加密密钥CK和IK,CK和IK是由UE (具体由UE的USIM)以与上述UMTS AKA操作相 同或相似的方式导出的。该层级中的再下一级是密钥Kasme,密钥Kasme是由UE从CK、IK以及 (如果需要)一些其他参数导出的。一旦导出,就将KasmeWAuC传送至接入网,具体而言传 送至SAE/LTE网络的接入安全管理实体(ASME),然后在UE与网络之间共享。当接入网是基 于LTE技术时,ASME的功能由移动性管理实体(MME)来处理。可以通过应用特定加密函数来导出密钥Kasme以及该层级中位于其“下层”的密钥。 例如,Kasme = KDF (CK || IK, 0x02 || PLMN_ID || <other_parameter>)其中KDF基于通用自举架构(GBA)密钥导出函数(KDF)。在3G TS33. 220中规定 了一个 GBA KDF。GBA KDF可以利用加密散列函数,如安全散列算法(SHA)散列函数。在许多SHA散 列函数中,SHA-256是一种高度安全的变型,因为它被认为能够防冲突并且如伪随机函数一 样工作。顾名思义,SHA-256是具有256比特摘要(输出)长度的安全散列算法散列函数。 PLMN_ID是向UE提供服务的网络的标识符。已经认识到,为了实现高等级安全性,GBA KDF函数仅仅主要基于CK和IK是不够的。其原因在于以下风险给定UE可能两次得到相同CK,或者两个不同UE可能得到相同 CK。在这种情况下,破坏了对KDF的输入的“唯一性”,不同UE(使用相同Kasme)之间可能发 生冲突。总而言之,尽管如果χ = y,则KDF(X)肯定产生与KDF(y)相同的密钥,但是反之则 可能不一定成立。即,即使X兴y,仍可能发生KDF(X) =KDF(y)。然而,由于建议KDF基于 SHA-256,如上所述,SHA-256被设计为能够防冲突,因此这是不太可能发生的事件。因此, 对于本文描述的技术,可以安全的假定当且仅当X = y,KDF(x) =KDF(y)。这种假定允许 本文描述的技术集中关注确保对KDF的输入的“唯一性”。GBA KDF规范的标准化团体(ETSI/SAGE,特别算法专家组)已经注意到上述问题, 并建议将UE的私有用户标识(IMPI)包括在<other_parameter>中,以避免不同UE之间的 冲突。作为另一建议,还可以将随机码(如RAND)包括在<other_parameter>中。这在从 ETSI/SAGE至3GPP SA3的联络函(在3GPP文献中编号S3-030219)中进行描述。然而,已经发现,上述建议仍不能保证对KDF的输入的“唯一性”。从以下对GBA KDF函数的安全属性及其在SAE/LTE中针对同一 UE (例如同一 IMPI)的使用的分析中可以 看出这一点。首先,考虑以下基本构造KDF (CK, IMPI)由于已经假定IMPI = IMPI’ (当UE固定时),当且仅当CK = CK,时,该基本构造 将导致两个输入(CK, IMPI)、(CK,,IMPI,)的冲突。其次,考虑另一构造,该构造更接近实际GBA KDF KDF (CK Il IK, IMPI)然而,与起初可能认为的不同,将IK包括在输入中不改变上述冲突属性。S卩,当且 仅当 CK = CK,时,KDF (CK Il IK, IMPI)将等于 KDF (CK,Il IK,,IMPI)。为了理解包括 IK 为 何无用,需要考虑在UE上执行的加密算法如何生成CK和IK。典型的UE侧加密算法是如图9所示的Milenage算法。在图9中,Ek表示高级加 密标准(AES)算法,也称为Rijndael算法,使用密钥K (存储在AuC和UE的USIM中)。现 在考虑如果CK = CK’将发生何种情况。由于AES是一种置换(permutation,一对一映射), 这意味着,中间值(在宽箭头处出现)由f3的结果(正巧为CK)唯一确定。但是,这意味 着,在产生CK时,宽箭头处的值必须与产生CK’时在相同位置出现的值相同。这继而意味 着,作为对f4的输入而出现的值必须相同,因此,相同的f4值必须出现。恰好f4是IK。因 此,已经示出,当且仅当IK = IK’时,CK = CK’。接下来,考虑根据标准化团体(SAGE)的建议的一种“改进”构造,即将RAND包括 在输入中KDF (CK Il IK, RAND || IMPI)假定CK = CK’ (从而IK = IK’)。希望使用RAND将保证唯一性。然而并非如此。 再次考虑Milenage算法中根据RAND来产生CK和IK的“相关”部分如图9所示,存在以 下情形,在宽箭头处与RAND相对应的值与对应于RAND’的值相同。但是再次,AES(Ek)是 一种置换,使得输入必须也相等,即RAND = RAND’。(因为假定固定UE,并且因此在两种情 况下都将出现相同的K,因此AES依赖于K的事实无济于事。)
换言之,已经示出,当且仅当RAND = RAND,时,(CK Il IK, RAND Il IMPI)= (CK,Il IK,,RAND,Il IMPI)。在SAE/LTE的情况下,输入中也可以包括PLMN_ID,但是由于 UE很可能保持在相同网络中多次,因此不能依赖于该参数PLMN_ID来实现保证唯一性的目 的。尝试避免冲突的一种备选方式可以是使用不同于AES的另一算法来进行f3和f4 算法的加密处理。具体地,上述分析基于AES是置换的事实。因此可以使用非置换(多对 一映射)来取代AES。由于两个原因,这是有问题的。首先,必须将现有USIM调整为适合 3GPP SAE架构。其次,通过选择非置换函数,实际上增大了例如f3的两个输出相冲突的概率。缺乏输入唯一性可能是一个严重的安全问题。由于当且仅当RAND = RAND’时,将 出现冲突,并且由于RAND是128比特,预期该冲突将在约2~ (128/2) = 2"64次认证之后出 现(这是所谓的“生日悖论”)。显然,这低于GBA(U8比特)的目标安全等级。对于LTE, 情况甚至更糟,因为需要LTE提供256比特的安全等级。因此,高冲突概率是在SAE/LTE中 提供所需安全等级的重大障碍。

发明内容
相应地,需要一种避免上述冲突的方案。该方案还应当理想地与已经部署的USIM 一起工作,并且不需要替换所有USIM。根据第一方面,提供了一种用于生成加密密钥的方法。加密密钥用于保护两个实 体之间的通信等等。该方法由第一实体执行。该方法形成由第二实体发起的分布式安全操 作的一部分。该方法包括提供至少两个参数,其中,第一参数包括第一实体通过运行该安 全操作而计算的加密密钥集合,或者第一参数是根据所述加密密钥集合导出的;以及第二 参数包括令牌或者是根据令牌导出的,每次第二实体针对第一实体发起安全操作时,所述 令牌具有不同的值(换言之,对于任何两次安全操作,该令牌的值永不相同);以及应用密 钥导出函数,以基于所提供的参数来生成加密密钥。表述“参数包括X”可以意味着具有字符串格式的变量X形成该参数或该参数的一 部分。表述“参数是根据X导出的”可以意味着该参数是将特定函数(如数学函数)至少 应用至变量X的结果。函数的示例包括但不限于算术运算、逻辑运算、字符串运算、及其任 何组合。算术运算可以是加法、减法、乘法等等,及其任何有意义的组合。逻辑运算可以是 与(AND)、或(OR)、异或(XOR)、非(NOT)等等,及其任何有意义的组合。字符串运算可以是 连接、反转、替换等等,及其任何有意义的组合。此外,可以将算术运算、逻辑运算和字符串 运算进行组合。具体地,上述令牌可以包括序号(SQN)或根据SQN导出,所述SQN指示第二实体已 经针对第一实体发起安全操作的次数。对于每次发起,第二实体可以增大SQN。这种机制确 保针对所发起的每次安全操作,令牌具有不同的值。令牌可以具有许多形式。在一种情况下,SQN本身可以是令牌。备选地,可以使用 涉及特定数学运算(如算术运算、逻辑运算和字符串运算中的至少一个)的算法从所述SQN 导出令牌。例如,令牌可以包括由第二实体基于SQN来构造并传送给第一实体的认证令牌 (AUTN),或者根据该AUTN导出。这种构造和传送可以是安全操作的一部分。
具体地,令牌可以包括SQN与匿名密钥(AK)的异或。更具体地,令牌可以是以 下各项的连接SQN与匿名密钥(AK)的异或、认证和密钥管理字段(AMF)以及消息认证码 (MAC)。可以将该连接表示为令牌=AUTN= (SQN xOR AK) 11 AMF 11 MAC或者令牌=函数(AUTN)=函数((SQNxOR AK) Il AMF Il MAC)第二参数还可以包括随机质询或随机码(RAND),或者根据随机质询或随机码 (RAND)导出。RAND可以由第二实体生成,并传送至第一实体,作为安全操作的一部分。第 二参数还可以包括第一实体的标识符,或根据第一实体的标识符导出。该标识符可以是私 有用户标识(IMPI)或者国际移动订户标识(IMSI)。此外,第二参数可以包括通信网络(具 体为第一实体的服务网络)的标识符,或者根据通信网络的标识符导出。例如,该标识符可 以是公共陆地移动网络标识符(PLMN_ID)。具体地,第二参数可以包括0x02、PLMN_ID、RAND、IMPI或IMSI以及令牌的连接, 或根据该连接导出。可以将其表示为0x02 Il PLMN_ID Il RAND Il IMPI Il 令牌当令牌是SQN自身时,以上变为0x02 Il PLMN_ID Il RAND Il IMPI Il SQN当令牌是AUTN时,以上变为0x02 Il PLMN_ID Il RAND Il IMPI Il AUTN关于方法中使用的第一参数,该参数包括第一实体通过运行安全操作而获得的加 密密钥集合,或根据该加密密钥集合导出。该加密密钥集合可以包括密码密钥(CK)和完整 性密钥(IK),或者根据所述CK和所述IK导出。CK和IK可以是第一实体基于AUTN和RAND计算的密码密钥和完整性密钥。可以 从第二实体传送AUTN和RAND。该计算以及AUTN和RAND的传送可以形成安全操作的一部 分。在一个实施中,第一参数可以包括CK和IK的连接,或者根据CK和IK的连接导出。 数学上可以将其表示为CK Il IK本文所述的方法生成加密密钥。该密钥可以至少由第一实体和第二实体在它们之 间的任何后续通信中共享。在特定实施中,该密钥可以是图2的“密钥层级”中的Kasme,可 以由第一实体和第二实体的接入安全管理实体(ASME)共享该密钥。可以将该方法扩展为包括应用一个或多个其他密钥导出函数,以生成更多加密 密钥。这种生成基于或者利用上述基本的、未扩展的方法中生成的加密密钥,例如KASME。由扩展方法生成的加密密钥可以包括以下至少一项用于保护非接入层(NAS)业 务的加密密钥集合;用于保护无线资源控制(RRC)业务的加密密钥集合;用于保护用户平 面(UP)业务的加密密钥集合;以及用于导出保护RRC业务的加密密钥和/或保护UP业务 的加密密钥的中间加密密钥,如ΚεΝΒ。为了更容易理解这些密钥,参照图2,图2示出了 SAE/ LTE中使用的密钥层级。具体地,用于保护NAS业务的加密密钥集合可以包括用于使用加密算法来保护NAS业务的密钥(KNASen。)和/或用于使用完整性算法来保护NAS业务的另一密钥(KNASint)。 类似地,用于保护RRC业务的加密密钥集合可以包括用于使用加密算法来保护RRC业务的 密钥(KKKm。)和/或用于使用完整性算法来保护RRC业务的另一密钥(Krairant)。此外,用于 保护UP业务的加密密钥集合可以包括用于使用加密算法来保护UP业务的密钥(Kupenc)。对于本文描述的技术,“第一实体”可以是用户设备,如移动台。“第二实体”可以是 位于通信网络内的实体,因此是“网络实体”。具体地,第二实体可以位于SAE/LTE网络中。第二实体可以包括认证中心(AuC)/归属地订户服务器(HSQ和移动性管理实体 (MME)。MME可以负责发起针对第一实体的安全操作。所生成的加密密钥可以由AuC/HSS生 成,并由第一实体和MME共享。AuC/HSS可以增大SQN,具体在每次针对第一实体发起安全 操作时增大SQN。此外,AuC/HSS也可以基于SQN来构造AUTN0可以由第一和第二实体以协作方式来执行本文涉及的安全操作。例如,安全操作 可以基于AKA过程,如UMTS AKA协议。该方法涉及的密钥导出函数可以是通用自举架构(GBA)密钥导出函数。通用自举 架构密钥导出函数可以采用安全散列算法(SHA)散列函数。具体地,可以采用具有256比 特长度的摘要的安全散列算法散列函数(SHA-256)。根据另一方面,提供了一种计算机程序产品。所述计算机程序产品包括程序代码 部分,当在计算设备的计算机系统上执行计算机程序产品时,所述程序代码部分用于执行 本文所述的方法的步骤。可以在计算机可读报告介质上存储所述计算机程序产品。一般而言,可以通过硬件、软件或组合的硬件/软件方法来实现该方案。对于硬件实现,提供了一种适于生成用于通信实体的加密密钥的设备。所述设备 可以执行安全操作,加密密钥的生成可以是安全操作的一部分。所述设备包括第一组件, 适于提供至少两个参数,其中,第一参数可以包括通信实体通过运行该安全操作而计算的 加密密钥集合,或者第一参数是根据所述加密密钥集合导出的;以及第二参数可以包括令 牌或者是根据令牌导出的,每次针对通信实体发起安全操作时,所述令牌具有不同的值。所 述设备还包括第二组件,适于执行密钥导出函数,以基于所提供的参数来生成加密密钥。 如上所述,令牌可以采取许多可能形式。令牌可以包括SQN或根据SQN导出,SQN指示已经针对通信实体发起安全操作的 次数。在一个实施中,SQN本身是令牌。备选地,可以使用涉及算术运算、逻辑运算和字符 串运算中的至少一个的算法基于所述SQN构造令牌。例如,令牌可以包括基于SQN构造并 传送给通信实体的AUTN,或者根据该AUTN导出,其中,这种构造和传送形成安全操作的一 部分。例如,令牌可以是以下各项的连接SQN与匿名密钥(AK)的异或、认证和密钥管理字 段(AMF)以及消息认证码(MAC)。可以将该连接表示为令牌=AUTN= (SQN xOR AK) 11 AMF 11 MAC除了令牌之外,第二参数还可以包括RAND,或者根据RAND导出。可以将RAND传 送至通信实体,作为安全操作的一部分。此外,第二参数可以包括通信实体的标识符,或根 据通信实体的标识符导出。该标识符的示例是通信实体的私有用户标识(IMPI)。此外,第 二参数可以包括通信实体的服务网络的标识符,或者根据通信实体的服务网络的标识符导 出。该标识符可以是公共陆地移动网络标识符(PLMN_ID)。第二参数的具体示例可以包括0x02、PLMN_ID、RAND、IMPI或IMSI以及令牌的连接,或根据该连接导出。例如,可以将第二参数表示为0x02 Il PLMN_ID Il RAND Il IMPI Il 令牌当令牌是SQN时,以上变为0x02 Il PLMN_ID Il RAND Il IMPI Il SQN当令牌是AUTN时,以上变为0x02 Il PLMN_ID Il RAND Il IMPI Il AUTN如上所述,第一参数可以包括加密密钥集合,或根据加密密钥集合导出。具体地, 该加密密钥集合可以包括由通信实体作为安全操作的一部分而计算的密码密钥(CK)和完 整性密钥(IK)。备选地,加密密钥集合可以根据密码密钥和完整性密钥导出。作为一个具体实施,第一参数可以包括CK和IK的连接,或者根据所述CK和所述 IK的连接导出,可以将该连接表示为CK Il IK该设备不仅可以基于所提供的第一和第二参数来生成加密密钥,还可以基于所生 成的加密密钥来生成更多加密密钥。因此,该设备可以适于应用一个或多个其他密钥导出 函数,以基于已经生成的加密密钥来生成更多加密密钥。这些“更多加密密钥”可以包括以下至少一项用于保护非接入层(NAS)业务的加 密密钥集合;用于保护无线资源控制(RRC)业务的加密密钥集合;用于保护用户平面(UP) 业务的加密密钥集合;用于导出保护RRC业务的加密密钥和/或保护UP业务的加密密钥的 中间加密密钥K_。上述通信实体可以是用户设备,如移动台(例如移动电话或网卡)。根据另一方面,提供了一种包括上述设备的用户设备。该用户设备可以是移动台。根据另一方面,提供了一种包括上述用户设备的系统。所述系统还包括网络实体。 该网络实体可以用于SAE/LTE网络内。该网络实体可以包括AuC/HSS和MME。MME可以负 责发起针对用户设备的安全操作。AuC/HSS可以生成加密密钥。可以由用户设备和MME共 享所生成的加密密钥。AuC/HSS可以增大SQN,具体地,在每次针对用户设备发起安全操作 时增大SQN。此外,AuC/HSS也可以基于SQN来构造AUTN。


以下参照附图中示出的示例实施例来描述加密密钥生成技术,其中图1是示出了 UMTS AKA协议的基本概念的图;图2是示出了针对SAE/LTE系统提出的密钥层级的框图;图3是示出了设备实施例的框图;图4是示出了系统实施例的框图;图5是示出了方法实施例的框图;图6是示出了网络实体生成认证向量的UMTS AKA操作过程的框图;图7是示出了认证和密钥建立的另一 UMTS AKA操作过程的框图;图8是示出了 UE执行的、作为UMTS AKA操作的一部分的一般认证功能的框图;图9是示出了在UE处执行上述认证功能的特定加密算法的框图;以及图10是示出了上述加密算法的特定细节的框图。
具体实施例方式在以下描述中,为了解释而非限制的目的,阐述了具体细节,如步骤的特定序列、 接口和配置,以提供对加密密钥生成技术的透彻理解。对本领域技术人员而言显而易见地, 在脱离这些具体细节的其他实施例中,可以实现该技术。例如,尽管主要在UMTS AKA协议和 SAE/LTE网络环境的上下文中描述该技术,但是对本领域技术人员而言显而易见地,可以通 过其他安全协议、架构或环境相结合实现该技术。此外,本领域技术人员可以理解,可以使用与编程的微处理器或通用计算机结合 工作的软件来实现在下文中解释的功能。还可以理解,尽管主要以方法和设备的形式来描 述该技术,但是还可以将该技术嵌入计算机程序产品中以及包括计算机处理器和耦合至处 理器的存储器在内的系统中,其中,使用可以执行本文公开的功能的一个或更多程序来对 存储器进行编码。图3示出了设备100的实施例,设备100适于生成用于通信实体(图3中未示出) 的加密密钥。该通信实体适于运行安全操作。设备100包括第一组件102和第二组件104。 第一组件102适于提供至少两个参数,象征性地在箭头106和108处示出。第一参数106包括加密密钥110和112的集合,或根据加密密钥110和112的集 合的导出(尽管图中示出了两个密钥,但是加密密钥集合可以包括任何数目的密钥)。已经 由通信实体通过运行安全操作来计算加密密钥集合。将加密密钥110和112的集合导出为 第一参数106的操作象征性地示出为块114。第二参数108包括令牌116,或根据令牌116 导出。每次针对通信实体发起安全操作时,令牌116具有不同的值。将令牌116导出为第 二参数108的操作象征性地示出为块118。设备100的第二组件104适于运行密钥导出函 数,以基于所提供的参数106和108来生成加密密钥120。参照图4,示出了包括上述设备100的系统200的实施例。通信实体202可以包括 设备100,通信实体202可以是UE,如移动台。当然,通信实体202可以是能够容纳设备100 的任何合适类型的通信实体。此外,系统包括网络实体204,网络实体204可以位于SAE/LTE 网络中。网络实体204可以包括AuC或HSS和MME。它还可以是SAE/LTE网络中的另一通 信实体。与图3和4所示的加密密钥生成设备100相对应,图5中示出了图300,图300示 出了用于生成加密密钥的方法的实施例。所生成的密钥用于保护两个实体之间的通信。第 一实体302可以与图4所示的通信实体202相对应,并且第二实体304可以与图4的网络 实体204相对应。第一实体可以是UE。然而,该实施例不限于UE-网络实体场景。而是可 以应用与一般的任何两个通信实体。MME可以负责发起针对通信实体202的安全操作。所生成的加密密钥可以由MME 和通信实体202共享。具体地,该方法实施例可以由第一实体302执行,作为在箭头300’处象征性地示 出的安全操作的一部分,该安全操作由第二实体304 (具体由其MME)针对第一实体302发 起。该实施例本身包括两个步骤306和308。步骤306提供至少两个参数(图3的106和 108)。第一参数包括第一实体302通过运行安全操作300’计算的加密密钥(图3中所示的 110和11 的集合,或根据加密密钥集合导出。第二参数包括令牌(图3中所示的116),或根据令牌导出,每次第二实体304针对第一实体302发起安全操作300’时,令牌具有不同 的值。在第二步骤308,应用密钥导出函数,基于所提供的参数(图3中所示的106和108) 来生成加密密钥(图3中所示的120)。以下给出实质细节,以解释加密密钥生成技术,其中特别强调该技术如何可以成 功避免两个UE之间的密钥冲突,或者更重要地,如何避免针对同一 UE的安全操作的两次不 同执行之间的密钥冲突。加密密钥生成可以是UMTS AKA操作的一部分。UMTS AKA基于以下实施UE (尤其 是其USIM)与UE的归属地环境(HE)中的AuC/HSS共享用户专有密钥K、特定消息认证函数 Π、f2和特定加密密钥生成函数f3、f4、f5。此外,USIM和AuC/HSS跟踪计数器,或分别跟 踪序号SQNue和SQNhe,以支持网络认证。例如,AuC/HSS可以增大SQNhe,具体地,每次针对第 一实体发起安全操作时增大SQNhe。UMTS AKA操作包括多个过程,包括认证向量(AV)的生 成以及认证和密钥建立。AV过程的目的是向SN/VLR (或MME)提供来自UE的HE的新AV的数组,以执行多 个用户认证。图6示出了 HE生成认证向量的操作。参照该图,在从SN/VLR接收到请求时, AuC/HSS向SN/VLR发送η个认证向量AV(1... η)的有序数组。每个AV包括随机数(或随 机质询)RAND、期望响应XRES、密码密钥CK、完整性密钥IK和认证令牌AUTN。AuC/HSS从生成新序号SQN和不可预测的质询RAND开始操作。随后,计算以下值-消息认证码MAC= f 1 (SQN || RAND || AMF),其中Π是消息认证函数;-期望响应XRES= f2 (RAND),其中f2是(可能截断的)消息认证函数;-密码密钥CK= f3 (RAND),其中f3是密钥生成函数;-完整性密钥IK= f4 (RAND),其中f4是密钥生成函数;以及-匿名密钥AK= K(RAND),其中f5是密钥生成函数。最终,构造认证令牌AUTN = (SQN xOR AK) Il AMF Il MAC。可以由AuC/HSS来构造 它。这里,AK是用于隐藏SQN的匿名密钥,因为SQN可能暴露UE的标识和位置。隐藏SQN 是为了抵御被动攻击。AK的使用可以是可选的。当不使用AK时,可以象征性地代之以值 AK = 000. . . 0。在认证响应中,将AV的数组发送回进行请求的SN/VLR。每个AV对SN/VLR与USIM 之间的一个(并且仅有一个)认证和密钥协商有效。UMTS AKA操作的下一过程,认证和密钥建立,是用于在SN/VLR与UE之间互相认 证和建立新的密码密钥和完整性密钥。图7中示出了该过程。参照该图,当SN/VLR发起认 证和密钥协商时,SN/VLR从数组中选择下一 AV,并将参数RAND和AUTN发送至UE。USIM检 查是否可以接受AUTN,如果是,则产生发送回SN/VLR的响应RES。具体地,在图8中示出了 UE的过程。参照图8,在接收到RAND和AUTN时,UE首先计算匿名密钥AK = f5 (RAND)(或 使用 AK = 000. . . 0),并取回序号 SQN = (SQN xOR AK) xOR AK0 接下来,UE 计算 XMAC = Π (SQN Il RAND Il AMF),并将其与AUTN中包括的MAC进行比较。如果它们不同,则UE将具有 原因指示的用户认证拒绝发送回SN/VLR,UE放弃该过程。否则,UE验证接收的SQN在正确 范围内。如果认为SQN在正确范围内,则UE计算RES = f2 (RAND),并将该参数包括在返回SN/VLR的用户认证响应中。最终,UE计算密码密钥CK = f3 (RAND)和完整性密钥IK = f4 (RAND)0为了提高效率,也可以在接收RAND之后的任何时间,更早地计算RES、CK和IK。 UE可以存储RAND用于同步目的。在接收用户认证响应之后,SN/VLR将RES与来自所选认证向量的期望响应XRES进 行比较。如果XRES与RES相等,则用户的认证已经被接受。然后,USIM和SN/VLR将新计 算的密钥CK和IK传送至执行密码和完整性功能的实体。从以上内容可以看到,UMTS AKA操作基于(RAND,AUTN)对,AUTN包括序号SQN或 根据序号SQN导出,如AUTN = (SQN xOR AK) 11 AMF Il MAC其中AK是匿名密钥,可以通过Milenage (见图9)根据上述输出“f5”来产生。以下函数是对上述冲突问题的第一解决方案KDF (CF Il IK, RAND Il IMPI Il SQN)其中输入已经包括SQN。现在,即使两个RAND相同,S卩RAND = RAND’,SQN始终增 大(例如增大1)的事实将确保输入不同、唯一或独特。备选解决方案使用KDF (CK Il IK, RAND Il IMPI Il AUTN)该方案更容易实现,因为可以“原样”使用来自AKA信令的AUTN。然而,在这种情 况下,输入的“唯一性”可能不明显,因为AUTN = (SQN xOR AK) 11 AMF 11 MAC即使SQN乒SQN,,可能不能直接看出(SQN xOR AK)、(SQN,xOR AK,)将不同,因 为AK可能潜在地“消除”了差异。然而,以下,可以证明(SQN xOR AK)的独特性。假定(CK Il IK, RAND Il IMPI Il AUTN) = (CK,Il IK,,RAND,Il IMPI Il AUTN,)已经表明,这意味着CK = CK,,IK= IK,以及RAND = RAND,。因此,仍要检查AUTN =AUTN’是否成立。这种检查可以转换为检查以下是否成立(SQN xOR AK) Il AMF Il MAC = (SQN,xOR AK,) Il AMF,Il MAC,不失一般性,假定AMF = AMF',MAC = MAC,。此时,只要检查以下是否成立SQN xOR AK = SQN,xOR AK,回想期望RAND = RAND’。参照图9所示的Milenage算法,这意味着AK = AK’(由 于它们是由相同的RAND产生的)。因此,必须有SQN = SQN'这是一个矛盾,因为如上所述,SQN始终“逐步增大”,因此SNQ Φ SQN,。因此,证明第二方案也保证了对KDF函数的输入的唯一性。作为一般方案,取代使用SQN或AUTN来实现唯一性,每次网络针对UE发起UMTS AKA操作时具有不同值的任何令牌都是可行的。例如,可以使用SQN xOR AK(形成AUTN的 一部分),由于它(通过上述分析)具有所需的唯一性属性。这里,上述加密密钥生成技术表现出许多优点。例如,它保证了 KDF输入的唯一 性。因此,它成功地避免了可能的相同输入所带来的问题。使用这种技术,所生成的加密密 钥应当能够满足例如SAE/LTE系统中的高等级安全性要求。作为另一优点,该技术可以基于已经部署的USIM来实现,无需任何USIM替换。使用AUTN而不是SQN的另一具体优点在 于,可以在移动终端中(在USIM之外)实施本发明。 尽管已经在附图中示出了并在前述描述中描述了加密密钥生成技术的实施例,但 是可以理解,该技术不限于本文公开的实施例。在不脱离本发明范围的前提下,能够对该技 术进行许多重新配置、修改和替换。
权利要求
1.一种用于生成加密密钥(120)的方法,所述加密密钥用于保护两个实体(202、204) 之间的通信,其中所述方法由第一实体(202、302)执行,作为由第二实体(204、304)发起的 分布式安全操作的一部分,所述方法包括以下步骤-提供(306)至少两个参数(106、108),其中,第一参数(106)包括所述第一实体(202) 通过运行所述安全操作而计算的加密密钥集合(110、112),或者所述第一参数(106)是根 据所述加密密钥集合导出的;以及第二参数包括令牌(116)或者是根据令牌(116)导出的, 每次所述第二实体(204、304)针对所述第一实体(202、302)发起所述安全操作时,所述令 牌(116)具有不同的值;以及-应用(308)密钥导出函数,以基于所提供的参数(106、108)来生成加密密钥(120)。
2.根据权利要求1所述的方法,其中,所述令牌(116)包括序号SQN或根据序号SQN导 出,所述序号SQN指示所述第二实体O04、304)已经针对所述第一实体(202、302)发起的 所述安全操作的次数。
3.根据权利要求2所述的方法,其中,所述令牌(116)是所述SQN自身。
4.根据权利要求2所述的方法,其中,所述令牌(116)是使用涉及算术运算、逻辑运算 和字符串运算中的至少一项的算法从所述SQN导出的。
5.根据权利要求2至4中任一项所述的方法,其中,所述令牌(116)包括认证令牌AUTN 或根据所述AUTN导出,所述认证令牌AUTN由所述第二实体(204、304)基于所述SQN来构 造,并被传送给所述第一实体(202、302)作为所述安全操作的一部分。
6.根据权利要求4或5所述的方法,其中,所述令牌(116)包括所述SQN与匿名密钥 AK的异或。
7.根据权利要求6所述的方法,其中,所述令牌是以下各项的连接所述SQN与匿名密 钥AK的异或、认证和密钥管理字段AMF以及消息认证码MAC。
8.根据前述权利要求中任一项所述的方法,其中,所述第一参数(106)中包括的或者 用于导出所述第一参数(106)的所述加密密钥集合(110、112)包括密码密钥CK(IlO)和完 整性密钥IK(IU),或者根据所述CK和所述IK导出所述加密密钥集合(110、112)。
9.根据前述权利要求中任一项所述的方法,还包括以下步骤-应用一个或更多其他密钥导出函数,以基于所生成的加密密钥(120)来生成更多加 密密钥。
10.根据权利要求9所述的方法,其中,所述更多加密密钥包括以下至少一项 -用于保护非接入层NAS业务的加密密钥集合;-用于保护无线资源控制RRC业务的加密密钥集合; -用于保护用户平面UP业务的加密密钥集合;以及-用于导出保护RRC业务的加密密钥和/或保护UP业务的加密密钥的中间加密密钥KeNB0
11.根据前述权利要求中任一项所述的方法,其中,所述第一实体(202、30幻是用户设备。
12.根据前述权利要求中任一项所述的方法,其中,所述第二实体(204、304)是网络实体。
13.根据权利要求12所述的方法,其中,所述第二实体(204、304)位于系统架构演进SAE/长期演进LTE网络中。
14.根据权利要求12或13所述的方法,其中,所述第二实体(204、304)包括认证中心 AuC/归属地订户服务器HSS和移动性管理实体MME。
15.根据前述权利要求中任一项所述的方法,其中,所述安全操作是由所述第一实体 (202,302)和第二实体(204,304)协作执行的。
16.根据前述权利要求中任一项所述的方法,其中,所述安全操作基于UMTS认证和密 钥协商AKA协议。
17.一种计算机程序产品,包括计算机程序代码部分,当所述计算机程序产品在计算机 系统上运行时,所述计算机程序代码部分用于执行根据前述权利要求中任一项所述的方法 的步骤。
18.根据权利要求17所述的计算机程序产品,其中,所述计算机程序产品存储在计算 机可读记录介质上。
19.一种适于生成用于通信实体(202、302)的加密密钥的设备(100),所述通信实体适 于运行安全操作,所述设备(100)包括-第一组件(102),适于提供至少两个参数(106、108),其中,第一参数(106)包括所 述通信实体(202、302)通过运行所述安全操作而计算的加密密钥集合(110、112),或者所 述第一参数是根据所述加密密钥集合(110、11幻导出的;以及第二参数(108)包括令牌 (116)或者是根据令牌(116)导出的,每次针对所述通信实体(202、30幻发起所述安全操作 时,所述令牌(116)具有不同的值;以及-第二组件(104),适于运行密钥导出函数,以基于所提供的参数(106、108)来生成加 密密钥(120)。
20.根据权利要求19所述的设备,其中,所述令牌(116)包括SQN或根据SQN导出,所 述SQN指示已经针对所述通信实体(202、30幻发起所述安全操作的次数。
21.根据权利要求20所述的设备(100),其中,所述令牌(116)是所述SQN自身。
22.根据权利要求20所述的设备(100),其中,所述令牌(116)是使用涉及算术运算、 逻辑运算和字符串运算中的至少一项的算法基于所述SQN构造的。
23.根据权利要求20至22中任一项所述的设备(100),其中,所述令牌(116)包括AUTN 或根据AUTN导出,所述AUTN基于所述SQN构造,并被传送给所述通信实体(202、302)作为 所述安全操作的一部分。
24.根据权利要求23所述的设备(100),其中,所述令牌(116)包括所述SQN与匿名密 钥AK的异或。
25.根据权利要求19至M中任一项所述的设备(100),其中,所述第一参数(106)中 包括的或者用于导出所述第一参数(106)的所述加密密钥集合(110、112)包括密码密钥 CK(IlO)和完整性密钥IK(112),或者根据CK和IK导出所述加密密钥集合(110、112),所述 CK和所述IK是所述通信实体(202、302)作为所述安全操作的一部分来计算的。
26.根据权利要求19至25中任一项所述的设备(100),还适于应用一个或更多其他 密钥导出函数,以基于所生成的加密密钥(120)来生成更多加密密钥。
27.一种用户设备Ο02),包括根据权利要求19至沈中任一项所述的设备(100)。
28.—种系统,包括根据权利要求27所述的用户设备(202、302)和网络实体(304)。
29.根据权利要求观所述的系统,其中,所述网络实体(304)用于SAE/LTE网络。
全文摘要
本发明提供了一种用于生成加密密钥(120)的技术。该技术尤其适用于保护协作运行分布式安全操作的两个实体(202、302;204、304)之间的通信。该技术包括提供至少两个参数(106、108),第一参数(106)包括第一实体(202、302)通过运行该安全操作而计算的一些加密密钥(110、112),或者第一参数(106)是根据所述加密密钥(110、112)导出的;以及第二参数(108)包括令牌(116)或者是根据所述令牌(116)导出的,每次第二实体(204、304)针对所述第一实体(202、302)发起安全(114)操作时,所述令牌(116)具有不同的值。对所提供的参数(106、108)应用密钥导出函数,以生成所需的加密密钥(120)。
文档编号H04L9/08GK102057617SQ200880129636
公开日2011年5月11日 申请日期2008年7月21日 优先权日2008年6月6日
发明者卡尔·诺曼, 马茨·内斯隆德 申请人:艾利森电话股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1