专利名称:提供新鲜会话密钥的制作方法
技术领域:
本发明通常涉及通信系统,并且具体来说,涉及无线通信系统。
背景技术:
传统的无线通信系统使用各种认证技术来保护通过该系统传输
的信息的安全和/或完整。例如,认证和密钥协商(AKA)协议已经 在第三代合作伙伴计划(3GPP)认证基础结构中实现。可以对3GPP AKA协议进行杠杆作用,以使得网络中的应用功能和/或用户侧的应 用功能能够通过使用自举(bootstrapping)技术来建立共享密钥。
附图l概念地图释了自举体系结构100的传统模型,该自举技术 体系结构是基于3GPP AKA协议的。所述自举体系结构100包括归 属用户服务器(HSS),其通过接口 Zh与自举服务器功能(BSF) 连接。BSF通过接口 Ub与一个或多个用户设备(UE,通常也称为移 动单元)耦合。BSF还通过接口 Zn连接到网络应用功能(NAF)。 NAF通过接口 Ua耦合到UE。所述自举体系结构100中所包含的实 体在3GPP技术规范3GPP TS 33.220 V6.3.0 ( 2004 - 12 )中有详细描 述,因此,其全部引入于此作为参考。此后,3GPP技术规范3GPP TS 33.220 V6.3.0 ( 2004 - 12 )将被称为3GPP技术规范。
附图2概念地图释了一种传统自举过程200。如箭头205所示, UE可以通过向BSF发送请求来开始自举过程200。如图中双向箭头 210所示,BSF可以从HSS检取用户安全设置和/或认证数据,例如 i人证向量。BSF向UE发送认证请求(由箭头215指示),认证请求 215可以基于用户安全设置和/或从HSS检取的认证数据来形成。认 证请求215可以包括可在认证处理中使用的随机数和/或认证令牌。 UE (在220 )执行认证和密钥协商过程,以检验所述认证请求是来自
经授权的网络的。UE还可以计算各种会话密钥和/或摘要AKA响应。 摘要AKA响应被发往BSF(如箭头225所指示),BSF可以(在 230)基于摘要AKA响应来认证UE。之后,BSF可以(在230 )产 生一个或多个密钥(Ks)以及一个或多个密钥的生命周期。确认信息 包括密钥以及,如果有的话,包括密钥生命周期,该确认消息将被送 到UE,如箭头235所指示。作为对接收到该确认消息的响应,UE可 以(在240)产生一个或多个密钥(Ks),所述密钥应该对应于由BSF 产生的所述一个或多个的密钥。UE和BSF可以使用密钥(Ks)来产 生密钥原料(key material) Ks—NAF,所述密钥原料可以4皮用于UE 和NAF之间的通信。
附图3概念地图释了一种用来形成UE和NAF之间的安全通信 链路的传统方法300。 UE (在305)使用密钥(Ks)设计密钥原料 Ks_NAF,之后向NAF传送应用请求,如箭头310所指示。应用请求 310典型地包括自举处理标识符(B-TID)以及其它信息。NAF向 BSF发送认证请求,如箭头315所指示。i人证请求315包括B - TID 和NAF主机名称。BSF提供认证答复,如箭头320所指示。认证答 复320典型地包括从密钥(Ks)导出的密钥原料Ks一NAF以及任何适 当的密钥生命周期。密钥原料Ks—NAF由NAF存储(在325)并且 由UE提供应用答复,如箭头330所指示。 一旦完成用于形成安全通 信链路的方法300, UE和NAF就可以通过附图1中示出的接口 Ua 安全地进行通信。
诸如上面描述的3GPP GBA体系结构的传统自举过程典型地不 能够产生与NAF关联的新鲜的密钥原料(Ks一NAF),除非该密钥原 料(Ks)被改变或更新。这将使系统暴露在安全危险中和/或降低系 统的效率。例如,如果NAF未能结合重发保护,那么对相同Ks_NAF 的疏忽的重用可能会使NAF暴露于重发攻击。NAF可以规定每次 请求Ks一NAF,然后相应的密钥原料(Ks)也应该被更新,但这需要 服务的设计者要具有安全意识。实际上,设计者可能不了解所述安全 风险,或者他们可能没有时间或没有专门技能来修改NAF,以通过规
律地更新密钥原料(Ks)来防止重发攻击。而且,重发保护或者新鲜 的Ks_NAF在系统首次配置时可能不是必需的,但是随着时间的过 去,NAF的使用可能发展,使得重发攻击成为考虑因素。NAF的设 计者可以决定选择安全的做法,并且规定不论何时NAF请求 Ks—NAF, UE都应该更新密钥原料(Ks)。尽管这种方法可能会增 加安全性,但是其也可以降低系统的效率。例如,可能必须重复地被 联系HSS来更新密钥原料(Ks),这将给遗留的认证系统增加通信 量。与HSS的重复交互可能还会增加UE等待由NAF提供的服务开 始的时间。
在3GPP才支术规范中规定的GBA体系结构可以允许同一对UE 和NAF之间的平行独立会话,或者可以不允许同一对UE和NAF之 间的平行独立会话。具体来说,对于为平行会话提供密钥原料方面来 说,3GPP技术规范没布提供清楚的指导准则。例如,3GPP技术规 范规定UE可以每个NAF—Id存储至多 一个Ks—NAF密钥。3GPP技 术规范还表明当UE和NAF同意新的密钥原料(Ks )时,仅相应 的Ks—NAF被更新。存储在UE中的与其它NAF—Id有关的所有其它 Ks—NAF不应该纟皮影响。
3GPP技术规范中的所述不明确性留下了若干重要问题没有解 决。例如,NAF可以规定对于每次会话都会请求密钥原料(Ks) 的更新(例如,由于NAF没有重发保护)。当在UE和NAF之间建 立第一会话时,密钥原料(Ks)可以被更新,并且会话密钥(Ks—NAF) 可以被存储在UE上。如果第二平行会话与第一会话同时被建立,密 钥原料(Ks)可以被再次更新,并且可以形成新的会话密钥。然而, 3GPP技术规范没有规定哪些会话密钥应该被存储在UE中。
发明内容
为了提供对本发明的一些方面的基本理解,而呈现下面的内容。 该发明内容不是对本发明的详尽概述。其不是为了标识本发明的重要 或者关键元素或者描述出本发明的范围。所述发明内容的唯一目的是
作为后面讨论的具体实施方式
的前序而以简单的形式呈现某些概念。 本发明用于处理前面提出的问题中的一个或多个问题的影响。
在本发明的一个实施例中,提供了一种用于密钥原料产生的方 法,其中,使用密钥原料来认证用于用户设备和至少一个网络应用功
能的通信。该方法可以包括提供与第一密钥原料相关联的自举标识 符和第一随机数;接收表示第二随机数的信息;以及基于第一密钥原 料、第一随机数和第二随机数形成第二密钥原料。
在本发明的另一个实施例中,提供了一种用于密钥原料产生的方 法,其中使用密钥原料来认证用于用户设备和至少一个网络应用功能 的通信。该方法可以包括接收与第一密钥原料相关联的自举识别符 和第一随机数;确定第二随机数;提供与第一密钥原料相关联的自举 识别符、第一随机数和第二随机数;以及接收通过使用与第一密钥原 料相关联的自举标识符、第一随机数和第二随机数而生成的第二密钥 原料。
在本发明的另一个实施例中,提供了一种用于密钥原料产生的方 法,其中,使用密钥原料来认证用于用户设备和至少一个网络应用功 能的通信。该方法可以包括接收与第一密钥材料相关联的自举标识 符、第一随机数和第二随机数;基于与第一密钥原料相关联的自举标 识符确定第一密钥原料;并且基于第一密钥原料、第一随机数和第二 随机数来形成第二密钥原料。
结合附图,参考下面的描述可以理解本发明,其中,相同的参考 标号标识相同的元素,并且其中
图l概念地图释了基于3GPP AKA协议的自举体系结构的传统
模型;
图2概念地图释了一种传统自举过程;
图3概念地图释了一种用于形成UE和NAF之间的安全通信链 路的传统方法;以及
图4概念地图释了根据本发明的用于提供新鲜会话密钥的方法 的一个示例性实施例。
尽管本发明容许有各种修改和可供选择的形式,但是其具体实施 例已经通过附图中的例子的方式被示出并且在这里被详细描述。然 而,应该理解,这里对具体实施例的描述不是想要将本发明限制为所 公开的特定形式,而是恰恰相反,其意图是为了覆盖落入由所附权利 要求所定义的本发明的精神和范围内的所有修改、等同物和替换方 式。
具体实施例方式
下面描述本发明的说明性实施例。为了清楚起见,在本说明书中 没有描述实际实现方式的全部特征。当然,应当理解的是,在任何这 种实际实施例的开发中,应当作出多个对于实现方式特定的决定以实 现开发者的具体目的,诸如为了与系统相关或商业相关的约束条件相 兼容,这对于各种实现方式可以是不同的。此外,应该理解的是,这 种开发努力可能会是复杂的且耗时的,但是,尽管如此,这对于受益 于本公开内容的本领域普通技术人员来说仅是所承担的例行程序。
可以按照软件、或对计算机存储器内的数据比特进行操作的算法 和符号表示来呈现本发明的各个部分以及对应的详细描述。所述描述
其工作内容的方式。这里所使用的算法如其通常被使用的那样,表示 导致期望结果的有条理的步骤序列。所述步骤是需要对物理量进行物 理操作的步骤。通常,尽管不是必需的,所述量是以能够被存储、传 递、组合、比较和以其它方式被操作的光、电或磁信号的形式的。主 要是为了公共使用的原因,已经多次被证明方便的是将这些信号称 为比特、值、元素、符号、字符、项、数字等。
然而,应当理解,全部这些类似的术语都将与适当的物理量相关 联,并且仅是应用于这些物理量的方便标记。除非另外具体指明,或 者从讨论中可以明显看出,否则,诸如"处理"或"计算"或"推算"
或"确定"或"显示"等的术语指的是计算机系统或类似的电子计算 设备的动作和处理,所述计算机系统或类似的电子计算设备对表示为 计算机系统的寄存器和存储器中的物理、电子量的数据进行操作,并 将其变换为类似地表示为计算机系统存储器或寄存器中的物理量或 者其它这种信息存储、传输或显示设备中的物理量的其它数据。
还应当注意,本发明的软件实现的方面通常在某种形式的程序存 储介质上被编码或者在某种类型的传输介质上被实现。所述程序存储 介质可以是磁的(例如,软盘或硬盘)或光的(例如光盘只读存储器,
或"CD ROM"),以及可以是只读的或随机访问的。类似地,所述 传输介质可以是双绞线对、同轴电缆、光纤或现有技术中已知的某种 其它适当的传输介质。本发明不限于任何给定实现方式的这些方面。 现在将参照附图来描述本发明。在附图中示意地描述各个结构、 系统和设备,仅是用于解释的目的,以及为了不使得本发明在本领域 普通技术人员公知的细节上变得模糊。尽管如此,所包括的附图是用 于描述和解释本发明的示例性实施例的。这里使用的词语和短语应当
语的理解相一致的含义。这里对术语和短语的一致使用没有想要暗示 有对所述术语和短语的任何特定定义,即,与本领域普通技术人员所 理解的普通和习惯含义不同的定义。至于想要让术语和短语具有特定 含义的情况,即,与本领域普通技术人员所理解的含义不同的含义的 情况,所述特定含义将会在说明书中以直接且明确地提供所述术语或 短语的具体定义的确定方式而被明确地提出。
图4概念地图释了用于提供新鲜会话密钥的方法400的一个是示 例性实施例。在所图释的实施例中,用户设备405确定(在410)随 机数。例如,用户设备405可以确定(在410)表示随机数(RANDuE) 的128位字符串。还可以被称为移动单元的用户设备405可以包括蜂 窝电话、个人数字助理、智能电话、文本消息传递设备、膝上型计算 机等。然后,如箭头420所指示的那样,用户设备405向网络应用功 能415提供应用请求消息。应用请求消息420可以用于建立新的会话
或用于刷新与网络应用功能415的旧的会话。在一个实施例中,应用 请求消息420包括所述随机数和自举标识符(B-TID)。例如,应用 请求消息420可以包括表示所述随机数(RANDUE )的128位字符串 和与密钥原料(Ks )相关联的自举标识符。密钥原料(Ks )可以是之 前在相互认证过程中被协商的,诸如所述认证过程诸如根据通用自举 体系结构执行的认证过程。
网络应用功能模块415接收应用请求信息420并且(在425)确 定另一随机数。例如,网络应用功能模块415可以响应于接收到应用 请求信息420而确定表示随机数(RANDNAF)的128位字符串。之后, 网络应用功能模块415向自举服务器功能430提供密钥请求信息,如 箭头435所指示。在一个实施例中,密钥请求信息435包含由用户设 备405和网络应用功能415产生的自举标识符和随机数(RANDuE和 RAND丽)。
自举服务器功能430使用由网络应用功能415提供的自举标识 符,以便(在440)访问与用户设备405和/或网络应用功能415相关 联的密钥原料。自举服务器功能430 (在445)通过使用诸如自举标 识符的表示密钥原料(Ks)的信息以及由用户设备405和网络应用功 能模块415产生的随机数(RANDue , RANDNAF)来形成会话密钥。 例如,自举服务器功能430可以使用密钥推导功能(KDF)(在445) 形成会话密钥(Ks一NAFi),这样,Ks—NAFi = KDF ( Ks, RANDUE, RANDNAF),其中,标号i (这里也被称为标识符)表示用于标识会 话密钥的会话号码。在一个实施例中,通过连接随机数(RAND , RANDNAF)来给出标号i。之后,会话密钥(Ks—NAFi)被提供给网 络应用功能415,如箭头450所指示。在一个实施例中,自举服务器 功能430还可以确定密钥期满时间并且为网络应用功能415提供该密 钥期满时间。本领域普通技术人员应当理解,密钥摘要功能可以使用 其它信息,诸如网络应用功能的地址(NAF—Id),以导出会话密钥 (Ks—NAFi)。
网络应用功能415^到会话密钥(Ks—NAFi)并且(在455 )存
储会话密钥(Ks—NAFi)。网络应用功能415还提供表示由网络应用 功能415产生的随机数(RANDNAF)的信息给用户设备405,由箭头 460指示。用户设备405 (在465 )使用诸如自举标识符的表示密钥原 料(Ks)的信息和随机数(RANDuE, RANDNAF)形成会话密钥。例 如,用户设备405可以使用密钥推导功能(KDF)(在465)形成会 话密钥(Ks_NAFi),这样,Ks_NAFi = KDF(Ks, NAF—Id, RANDue, RANDNAF)。由自举服务器430和用户设备405 (在445和465 )导出 的会话密钥应当是对应的,从而可以被用于认证用户设备405和网络 应用功能415。因此,用户设备405和网络应用功能415可以形成安 全连接,如箭头470所指示。
在一个实施例中,每次用户i殳备405和网络应用功能415例如4吏 用3GPPGBA建立新的会话时可以产生新的会话密钥(Ks—NAFi)。 用户设备405和网络应用功能415都可以促成随机数(RANDue和 RANDNAF),其可以被用来计算新鲜的会话密钥。因此,网络应用功 能415不必提供其自己的重发保护或者担心是否应该请求更新密钥原 料(Ks)。由于会话密钥可以是新鲜的,因此网络应用功能415可以 直接使用它。因为使用3GPP技术规范中定义的消息,所以没有增加 新的延迟。因此,可以在不需要更新密钥原料(Ks)的情况下提供新 鲜的会话密钥。减少密钥原料(Ks)需要被更新的次数还可以改进通 信系统的效率。通过实现这里所讨论的实施例中的一个或多个实施例 还可以澄清3GPP技术规范中的一些含糊之处。例如,提供由唯一标 识符所标识的新鲜的会话密钥可以解决关于在建立平行会话的情况 下应该存储哪个会话密钥的含糊问题。在一个实施例中,与每个平行 会话相关联的并由所述标识符所标识的会话密钥将被存储。
上面公开的特定实施例仅仅是说明性的,因为可以通过对于本领 域普通技术人员来说明显的不同但等同的方式来修改和实施本发明。 而且,除了下面权利要求中所描述的内容之外,没有任何对这里示出 的结构和设计进行限制的意图。因此,显然的是,上面公开的特定实 施例可以被改变或者修改,并且所有这种变化都将被认为是在本发明
的范围和精神之内的。因此,这里所寻求的保护如下面的权利要求所 述。
权利要求
1.一种用于认证通信的密钥原料产生方法,该方法包括提供与第一密钥原料相关联的自举标识符以及第一随机数;接收指示第二随机数的信息;以及基于第一密钥原料、第一随机数和第二随机数来形成第二密钥原料。
2. 如权利要求l所述的方法,包括确定第一随机数。
3. 如权利要求l所述的方法,其中,接收指示第二随机数的信 息的步骤包括响应于提供指示第一密钥原料和第一随机数的信息而 接收指示第二随机数的信息。
4. 如权利要求l所述的方法,包括使用第二密钥原料在用户 设备和至少 一个网络应用功能之间建立安全连接。
5. —种用于认证通信的密钥原料产生方法,该方法包括 接收与第一密钥原料相关联的自举标识符和第一随机数; 确定第二随机数;提供与第一密钥原料相关联的自举标识符、第一随机数和笫二随 机数;以及接收通过使用与第一密钥原料相关联的自举标识符、第一随机数 和第二随机数而形成的第二密钥原料。
6. 如权利要求5所述的方法,其中,确定第二随机数的步骤包 括响应于接收指示第一密钥原料和第一随机数的信息而确定第二随 机数。
7. 如权利要求5所述的方法,包括 给所述用户设备提供所述第二随机数;以及 使用第二密钥原料,建立用户设备和至少一个网络应用功能之间的安全连接。
8. —种用于认证通信的密钥原料产生方法,该方法包括 接收与笫一密钥原料相关联的自举标识符、第一随机数和第二随机数。基于与第一密钥原料相关联的自举标识符访问第一密钥原料;并且基于第一密钥原料、第一随机数和第二随机数形成第二密钥原料。
9. 如权利要求8所述的方法,包括给至少一个网络应用功能 提供所述第二随机数。
10. 如权利要求8所述的方法,包括给至少一个网络应用功能 提供所述第二密钥原料。
全文摘要
本发明提供了一种密钥原料产生方法,其中,密钥原料被用来认证用于用户设备和至少一个网络应用功能的通信。该方法包括提供与第一密钥原料相关联的自举标识符和第一随机数,接收指示第二随机数的信息,以及基于第一密钥原料、第一随机数和第二随机数来形成第二密钥原料。
文档编号H04L9/08GK101160779SQ200680012747
公开日2008年4月9日 申请日期2006年4月10日 优先权日2005年4月18日
发明者萨瓦·帕特尔 申请人:朗迅科技公司