一种实现gba密钥的方法及其终端设备的制作方法

文档序号:7700360阅读:245来源:国知局
专利名称:一种实现gba密钥的方法及其终端设备的制作方法
技术领域
本发明涉及移动通信领域,尤其涉及一种实现GBA密钥的方法和一种实现GBA密 钥的终端设备。
背景技术
随着数据业务的开展,运营商和用户都需要有可靠的认证机制来保证合法的业务 使用以及正确的计费。尤其是在3G(第三代移动通信网络)业务中,很多应用都需要在终 端(例如UE)和应用服务器之间进行双向认证,如手机电视(MBMS),为了验证合法用户对业 务的使用,终端与业务系统之间都需要进行登录鉴权;若业务数据流需要进行加扰或加密, 则终端与业务系统之间需要进行保密通信。而众多业务如果各自使用自己独立的认证,就 会造成屡次更换设备。为了解决应用层的密钥共享、业务鉴权等一系列问题,3GPP (第三代移动通信标准 化组织)定义了一种通用认证机制(General BootstrappingArchitecture, GBA)。GBA 是 一种通用的鉴权机制,既可以用于现有的服务,也可以用于将来的新业务,以一种一致的方 式解决安全认证的问题,从而避免为每一种新服务都提供独有的鉴权机制,避免了各种认 证鉴权机制之间的差异性。GBA广泛应用于MBMS、安全定位服务(SUPL)等业务。参见图1,为现有3G网络中GBA的简单网络模型。如图所示,BSF(Bootstrapping 服务功能)处于用户的归属网络中,可通过Zh接口从HSS (Home Subscriber System,归属 用户系统)获得GBA的用户安全设置(GUSS);通过Ub接口与UE利用AKA协议进行相互认 证,并且建立共享密钥,这个密钥将应用在UE和NAF (NetworkApplication Function,网络 应用功能)之间;通过Zn接口将该共享密钥和用户安全设置传递给NAF,以便UE和NAF之 间基于该共享密钥进行安全的信息交互。GBA的相关流程通常分为GBA初始化阶段(该阶 段将生成GBA密钥资料Ks)以及基于GBA的业务访问阶段(即使用Ks生成GBA密钥并以 此进行业务通信)。基于图1所示的网络模型,GBA初始化阶段的流程可如图2所示,包括步骤201、UE向BSF发送HTTP请求,请求中携带用户标识。步骤202、BSF通过Zh接口从HSS中获得该UE的用户profile (其中包含用户的全 部GUSS)和 AV (认证向量),AV 中包括 RAND、AUTN、CK (CipherKey,加密密钥)、IK (Integrity Key,完整性密钥)和XRES。步骤203、BSF通过401消息把随机数RAND和AUTN发送给UE。步骤204、UE利用RAND生成AUTN,并与BSF发送过来的AUTN进行比对,对比的结 果一致则成功认证网络;UE还利用AKA算法生成CK、IK和RES。步骤205、UE发送HTTP请求到BSF,其中包含摘要AKA响应,该响应使用RES作为 验证码。步骤206、BSF将摘要AKA响应与使用XRES生成的相应参数进行比对,从而对UE 进行鉴权。
步骤207、如果鉴权成功,BSF利用CK和IK生成Ks,并且生成B-TID。B-TID能够 唯一标识该次Bootstrapping事件,以后NAF可以根据这个值向BSF索取达成的相关密钥 Ks_NAF。步骤208、BSF发送200 OK消息到UE通知认证成功,该消息中包含B-TID,以及Ks 的生存期。步骤209、在UE中根据CK和IK产生Ks。后续在基于GBA的业务访问阶段,UE和BSF利用Ks生成密钥Ks_NAF,并以Ks_NAF 作为UE和NAF之间信息交互的认证密钥。根据终端UICC(Universal Integrated Circuit Card,通用集成电路卡)能力的 不同,GBA可以分为GBA_ME和GBA_U。在GBA_ME模式下,密钥的协商和生成都在ME (Mobile Equipment,移动设备)中完成。由于GBA_ME模式基于开放的ME-USIM卡接口(即UE的移动设备和客户识别模块 之间的接口),导致攻击者可以通过监听机卡接口获得密钥参数(如CK、IK、RES),并进一步 根据3GPP中定义的Ks生成方式生成Ks,从而导致该方案存在严重的安全漏洞。

发明内容
本发明实施例提供了一种实现GBA密钥的方法以及终端设备,用以解决因终端设 备的开放式的机卡接口易被监听、用于生成GBA密钥的信息易被截获所导致的GBA密钥安 全性差的问题。本发明实施例提供的实现GBA密钥的方法中,在用户终端的移动设备ME上和认证 服务功能BSF设备上配置有第一密钥,当用户终端向BSF设备请求启动GBA密钥流程后,该 方法包括所述用户终端对所述BSF设备鉴权通过后生成认证信息并发送给所述BSF设备;所述BSF设备根据所述认证信息对所述用户终端鉴权通过后,根据其上配置的第 一密钥生成GBA密钥资料Ks ;所述用户终端的ME根据其上配置的第一密钥,采用与所述BSF设备相同的方式生 成GBA密钥资料Ks ;所述BSF设备和所述用户终端分别根据各自生成的Ks生成用于在所述用户终端 和网络应用功能NAF之间共享的GBA密钥Ks_NAF。本发明实施例提供的实现GBA共享密钥的终端设备,包括客户识别模块和移动设 备ME,所述ME包括第一存储单元,用于存储配置于所述移动设备的第一密钥,该密钥与配置在BSF 设备上的第一密钥相同;GBA处理单元,用于在BSF设备对所述终端设备鉴权通过后,根据所述第一存储单 元中存储的第一密钥,采用与所述BSF设备相同的方式生成GBA密钥资料Ks并保存;以及, 根据生成的Ks生成用于在所述用户终端和网络应用功能NAF之间共享的GBA密钥Ks_NAF。本发明的上述实施例,通过在终端设备的ME与网络侧设备问预先配置第一密钥, 该密钥的作用是作为生成GBA密钥资料的参数,ME和BSF在生成GBA密钥资料时都利用第 一密钥作为参数生成GBA密钥资料。由于第一密钥保存在ME中,其无法或不易通过监听机卡接口方式被截获,从而保证了 GBA密钥资料的安全性,进而保证了根据该GBA密钥资料生 成的GBA密钥的安全性,与现有技术相比,在不增加终端设备和网络设备及网络系统改造 难度的情况下,提高了 GBA密钥安全性。


图1为现有GBA的简单网络模型示意图;图2为现有GBA密钥的流程示意图;图3为本发明实施例提供的GBA密钥的流程示意图;图4为本发明实施例提供的更新终端设备和BSF设备之间的共享密钥的流程示意 图;图5为本发明实施例提供的UE的结构示意图。
具体实施例方式本发明实施例中,需要预先在UE的ME中和BSF设备中配置共享密钥Km,并对UE 和BSF设备中的Ks的算法进行改进,使UE侧和网络侧采用统一的算法生成Ks,并在生成 Ks时利用共享的Km。下面结合附图对本发明实施例进行详细描述。参见图3,为本发明实施例提供的3G网络的GBA初始化阶段流程示意图,该流程描 述了 GBA_ME模式下的BGA初始化阶段过程,该流程包括步骤301、UE向BSF发送HTTP请求,请求中携带用户标识,如IMSI (International Mobile Subscriber Identifier,国际移动用户标识符)。步骤302、BSF根据用户标识,通过Zh接口从HSS (或其他存储有用户信息的设备, 如HLR,以下同)得该UE的用户profile和AV, AV中包括RAND、AUTN、CK、IK和RES。步骤303、BSF通过401消息把随机数RAND和AUTN发送给UE。步骤304a 304c、UE利用RAND生成AUTN,并与BSF发送过来的AUTN进行比对, 对比的结果一致则成功认证网络;UE还利用AKA算法生成CK、IK和RES。该步骤中,ME通过机卡接口将RAND和AUTN发送给SIM (或USIM,以下同)卡;SIM 卡利用RAND生成AUTN,以及生成CK、IK, RES,并将生成的CK、IK, RES通过机卡接口发送给 ME。步骤305、ME发送HTTP请求到BSF,其中包含摘要AKA响应,该响应使用RES作为 验证码。步骤306、BSF将摘要AKA响应与使用XRES生成的相应参数进行比对,从而对UE 进行鉴权。步骤307、如果鉴权成功,BSF利用CK、IK和预先保存在BSF中的Km生成Ks,并且 生成B-TID。步骤308、BSF发送2000K消息到UE的ME通知认证成功,该消息中包含B-TID,以 及Ks的生存期信息。步骤309、在UE中根据CK、IK和预先保存在ME中的Km生成Ks。该步骤中,Ks的生成过程在ME中完成。
后续在基于GBA的业务访问阶段,UE和BSF利用Ks生成密钥Ks_NAF,并以Ks_NAF 作为UE和NAF之间信息交互的认证密钥。图3所示的流程中,由于Km预先配置在ME中,不能或不易被监听到或截获到,因 此,即使非法用户通过机卡接口监听到CK、IK,但由于Ks的生成除了利用CK、IK以外,还利 用了 Km,而Km无法或不易被监听到,因此在CK、IK被截获的情况下,非法用户因无法获取 到Km以致无法获得Ks,从而保证了 GBA认证的安全性。进一步地,RES的生成也可利用Km。一种方式是,BSF根据其上配置的Km生成RES ; 另一种方式是=HSS设备中需要预先配置Km,BSF从HSS获取到的AV中包含的RES是利用 HSS中配置的Km生成的;UE生成RES时,由ME利用其上配置的Km并采用与网络侧相同的 算法生成RES。这样,由于Km预先配置在ME中,不能或不易被监听到或截获到,因此,即使 通过机卡接口监听到某些用于生成RES的参数,但由于RES的生成还利用了 Km,而Km无法 或不易被监听到,因此在某些用于生成RES的参数被截获的情况下,非法用户因无法获取 到Km以致无法获得RES,进而使BSF无法对UE成功鉴权,从而进一步保证了 GBA认证的安 全性。本发明实施例中,Ks可按照以下的算法函数生成Ks = Hl (CK、IK、Km)................................................[1]其中,Hl可以为单向摘要函数,如SHA-256。式(1)中的函数还可以增加其他参数作为输入,例如固定字符串,或者终端与网 络侧约定的任何参数,例如,增加输入参数“Ktgeneration”(仅是参数示意)后的函数 为Ks = Hl (CK, IK、Km、“Ks_generation”)........................[2]Ks生成函数中除了可以增加特定参数外,还可以增加终端与网络侧(如BSF设 备)约定的变换方法,例如输入参数先经过某种变化(如置换、根据S盒变换、单向摘要函 数变换、与指定参数异或等)后,再通过Hl函数计算得到Ks。一种对输入参数进行SHAl变
换的Ks生成函数为Ks = Hl (SHA1 (CK、IK, Km))....................................[3]以上增加输入参数和对输入参数进行变换的两种方法可以配合使用。通常,Ks生 成函数的输入参数越多,算法越复杂,生成的Ks也越安全。RES可按照以下的算法函数生成RES = H2 (Res_AV, Km)............................................[4]其中,H2可以为单向摘要函数,如SHA-256,Res AV为五元组中的RES参数。式(4)中的函数还可以增加其他参数作为输入,例如固定字符串,或者终端与网 络侧约定的任何参数。RES的生成函数中除了可以增加特定参数外,还可以增加终端与网络 侧约定的变换方法,例如输入参数先经过某种变化(例如置换、根据S盒变换、单向摘要函 数变换、与指定参数异或等)后,再通过H2函数计算得到RES。这两种方法可以配合使用。本发明实施例中,可将Km配置在ME的安全区域内(如保存在终端操作系统内核 区域或者保存在安全芯片中),以使其不能或不易被监听到或截获到。Km可以随机取值,长 度不限,从安全性考虑,以不小于128bits为宜。对于不同厂家的终端,Km可以取值不同, 以保证某一厂家泄露Km密钥后,不影响其他厂家终端的安全性。
终端与BSF间可以通过初始预置的方式共享Km,也可以对Km用其他预共享的密钥 加密后,从BSF发送给终端,或从终端发送给BSF。还可以对终端和BSF中共享的Km进行更新。图4给出了一种终端和BSF双方之间更新Km的方法,如图所示,该流程包括步骤401、UE向BSF发送业务请求。步骤402、BSF向UE发送更新Km的通知。步骤403、BSF和UE之间使用预共享的密钥Kn相互认证。该步骤中的密钥Kn可通过初始预置的方式配置在UE的ME中,并可在UE入网时 将其注册到HSS中。BSF可以从HSS获取该UE的Kn,并与UE保存的Kn进行相互认证。密 钥Kn可配置在ME的安全区域内,其所在的安全区域可比Km所在的安全区域的安全级别更 尚ο步骤404、在认证通过后,BSF使用Kn加密新的Km,并将加密的Km发送给UE。步骤405、UE接收到该Km后,用ME中保存的Kn解密出Km,并用该Km更新ME中 的原Km。通过图4所示的流程可以看出,通过使用预共享的密钥Kn相互认证以及用Kn加 密传送的Km,提高了 Km更新过程的安全性,进而保证GBA过程的安全性。基于相同的技术构思,本发明实施例还给出了能够实现上述功能的终端设备的结 构。参见图5,为本发明实施例所提供的终端设备的结构示意图。该终端设备包括:ME 51和客户识别模块(如SIM卡)52。ME 51包括收发处理单元511,用于该移动终端与网络侧设备的通信,包括收发无线信号,可 采用常规信号处理单元实现,如包括基带信号处理单元(或电路)和射频处理单元(或电 路);机卡接口单元512,用于与客户识别模块52通信,可采用常规的接口电路实现;第一存储单元513,用于存储配置于该终端设备的密钥Km。较佳地,该存储单元是 ME中的安全存储单元,可通过初始预置方式将Km配置到该存储单元中。GBA处理单元514,用于在BSF设备对该终端设备鉴权通过后,利用第一存储单元 513中存储的Km,采用与BSF设备相同的算法生成GBA密钥资料Ks并保存;以及,根据保存 的Ks生成GBA密钥(即该终端设备与NAF通信时所使用的密钥,如Ks_NAF)。上述终端设备还可包括第二存储单元515和更新单元516,其中第二存储单元515用于存储通过初始预置方式配置的密钥Kn ;较佳地,该存储单 元是ME中的安全存储单元;更新单元516用于接收BSF设备发送的使用Kn加密的更新后的Km,然后使用第二 存储单元515存储的Kn解密得到更新后的Km,并用该Km更新第一存储单元513中原有的 Km。客户识别模块52可按照常规方式,接收ME 51通过机卡接口单元512发送的随机 数RAND和AUTN,利用RAND生成AUTN,并与BSF发送过来的AUTN进行比对,根据对比结果 对BSF设备进行鉴权;在鉴权通过后,还可以生成CK、IK和RES并通过机卡接口单元512发 送给GBA处理单元514,以使GBA处理单元514利用CK、IK和Km生成Ks。
客户识别模块52也可以不生成RES,而是由GBA处理单元514利用第一存储单元 513存储的Km生成RES并通过收发处理单元511发送给BSF设备进行鉴权。上述终端设备的GBA处理单元514可按照以下公式生成Ks =Ks = Hl (CK、IK、Km), 其中,Hl为单向摘要函数,CK为所述用户终端的客户识别模块生成的加密密钥,IK为所述 用户终端的客户识别模块生成的完整性密钥。GBA处理单元514所采用的所述公式中的输 入参数还包括该用户终端和BSF设备之间约定的其他参数;或者,所述公式中的输入参数 先按照该用户终端和BSF设备之间约定的变换方式变换后,再按照单向摘要函数Hl生成 Ks。综上所述,本发明实施例通过在终端的ME与网络侧设备间共享密钥Km,ME和BSF 根据该Km进行密钥协商和生成,由于Km安全地保存在ME中,使其无法通过监听机卡接口 被截获,从而保证GBA密钥的安全性,进而在不增加终端设备和网络设备及网络系统改造 难度的情况下,避免了因机卡接口监听导致的GBA密钥安全性差的问题。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精 神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围 之内,则本发明也意图包含这些改动和变型在内。
权利要求
一种实现通用引导架构GBA密钥的方法,应用于基于移动设备的GBA架构GBA_ME,其特征在于,在用户终端的移动设备ME上和认证服务功能BSF设备上配置有第一密钥,当用户终端向BSF设备请求启动GBA密钥流程后,该方法包括所述用户终端对所述BSF设备鉴权通过后生成认证信息并发送给所述BSF设备;所述BSF设备根据所述认证信息对所述用户终端鉴权通过后,根据其上配置的第一密钥生成GBA密钥资料Ks;所述用户终端的ME根据其上配置的第一密钥,采用与所述BSF设备相同的方式生成GBA密钥资料Ks;所述BSF设备和所述用户终端分别根据各自生成的Ks生成用于在所述用户终端和网络应用功能NAF之间共享的GBA密钥Ks_NAF。
2.如权利要求1所述的方法,其特征在于,所述用户终端生成认证信息,具体为所述 用户终端的ME根据用第一密钥生成所述认证信息的第一函数以及其上配置的第一密钥生 成认证信息;所述BSF设备根据所述认证信息对所述用户终端鉴权,具体为所述BSF设备根据其上配置的第一密钥生成认证信息,并根据所述用户终端发送的认 证信息对所述用户终端进行鉴权。
3.如权利要求1所述的方法,其特征在于,所述用户终端生成认证信息,具体为所述 用户终端的ME根据用第一密钥生成所述认证信息的第一函数以及其上配置的第一密钥生 成认证信息;所述BSF设备根据所述认证信息对所述用户终端鉴权,具体为所述BSF设备根据所述用户终端发送的认证信息和获取到的该用户终端对应的认证 向量中的认证信息,对所述用户终端进行鉴权,所述认证向量中的认证信息是根据用第一 密钥生成所述认证信息的第一函数以及预先在网络侧配置的第一密钥生成的。
4.如权利要求1所述的方法,其特征在于,所述第一密钥通过初始预置方式配置在所 述用户终端的ME中。
5.如权利要求4所述的方法,其特征在于,所述用户终端的ME上和网络侧设备上还预 置有第二密钥,通过初始预置方式将所述第一密钥配置在所述用户终端的ME中之后,还包 括所述BSF设备从所述网络侧设备上获取预置的所述第二密钥后,所述用户终端和所述 BSF利用各自的第二密钥相互鉴权;鉴权通过后,所述用户终端接收BSF发送的使用第二密钥加密的更新后的第一密钥;所述用户终端使用ME上预置的第二密钥解密得到更新后的第一密钥,并用其更新ME 中原有的第一密钥。
6.如权利要求1 5任一项所述的方法,其特征在于,ME中的所述第一密钥保存在ME 的安全区域内。
7.如权利要求1 5任一项所述的方法,其特征在于,所述BSF设备根据其上配置的第 一密钥生成Ks,具体为按照以下公式生成Ks Ks = Hl (CK、IK、Km)其中,Hl为单向摘要函数,CK为所述BSF设备从存储用户信息的设备获得的所述用户终端对应的加密密钥,IK为所述BSF设备从存储用户信息的设备获得的所述用户终端对应 的完整性密钥,Km为所述BSF设备上配置的第一密钥;所述用户终端的ME根据其上配置的第一密钥,采用与所述BSF设备相同的方式生成 Ks,具体为按照以下公式生成Ks Ks = Hl (CK、IK、Km)其中,Hl为单向摘要函数,CK为所述用户终端的客户识别模块生成的加密密钥,IK为 所述用户终端的客户识别模块生成的完整性密钥,Km为所述用户终端上配置的第一密钥。
8.如权利要求7所述的方法,其特征在于,所述公式中的输入参数还包括所述用户终 端和所述BSF之间约定的其他参数;或者,所述公式中的输入参数先按照所述用户终端和所述BSF设备之间约定的变换方式变 换后,再按照单向摘要函数Hl生成Ks。
9.一种实现GBA共享密钥的终端设备,包括客户识别模块和移动设备ME,其特征在于, 所述ME包括第一存储单元,用于存储配置于所述移动设备的第一密钥,该密钥与配置在BSF设备 上的第一密钥相同;GBA处理单元,用于在BSF设备对所述终端设备鉴权通过后,根据所述第一存储单元中 存储的第一密钥,采用与所述BSF设备相同的方式生成GBA密钥资料Ks并保存;以及,根据 生成的Ks生成用于在所述用户终端和网络应用功能NAF之间共享的GBA密钥Ks_NAF。
10.如权利要求9所述的终端设备,其特征在于,所述GBA处理单元进一步用于,根据所 述第一存储单元存储的第一密钥生成认证信息并发送给所述BSF设备进行鉴权。
11.如权利要求9所述的终端设备,其特征在于,所述第一存储单元存储的第一密钥是 通过初始预置方式配置到所述第一存储单元中的。
12.如权利要求11所述的终端设备,其特征在于,还包括第二存储单元,用于存储通过初始预置方式配置的第二密钥;更新单元,用于接收BSF设备发送的使用第二密钥加密的更新后的第一密钥,使用所 述第二存储单元存储的第二密钥解密得到更新后的第一密钥,并用其更新第一存储单元中 原有的第一密钥。
13.如权利要求10 12任一项所述的终端设备,其特征在于,所述第一存储单元为ME 中的安全存储单元。
14.如权利要求10 12任一项所述的终端设备,其特征在于,所述GBA处理单元按照 以下公式生成Ks:Ks = Hl (CK、IK、Km)其中,Hl为单向摘要函数,CK为所述用户终端的客户识别模块生成的加密密钥,IK为 所述用户终端的客户识别模块生成的完整性密钥,Km为所述第一存储单元中存储的第一密 钥。
15.如权利要求14所述的终端设备,其特征在于,所述GBA处理单元所采用的所述公式 中的输入参数还包括所述用户终端和所述BSF设备之间约定的其他参数;或者,所述公式 中的输入参数先按照所述用户终端和所述BSF设备之间约定的变换方式变换后,再按照单 向摘要函数Hl生成Ks。
全文摘要
本发明公开了一种实现GBA密钥的方法及其终端设备,应用于GBA_ME,在用户终端的ME上和认证服务功能BSF设备上配置有第一密钥,当用户终端向BSF设备请求启动GBA密钥流程后,该方法包括所述用户终端对所述BSF设备鉴权通过后生成认证信息并发送给所述BSF设备;所述BSF设备根据所述认证信息对所述用户终端鉴权通过后,根据其上配置的第一密钥生成Ks;所述用户终端的ME根据其上配置的第一密钥,采用与所述BSF设备相同的方式生成Ks;所述BSF设备和所述用户终端分别根据各自生成的Ks生成用于在所述用户终端和网络应用功能NAF之间共享的GBA密钥Ks_NAF。采用本发明可提高GBA密钥安全性。
文档编号H04W12/02GK101888626SQ20091008429
公开日2010年11月17日 申请日期2009年5月15日 优先权日2009年5月15日
发明者侯清富, 张慧媛, 彭华熹, 曹雪霏, 罗红, 路晓明 申请人:中国移动通信集团公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1