CN101141792A - 一种通用引导架构推送的方法 - Google Patents
一种通用引导架构推送的方法 Download PDFInfo
- Publication number
- CN101141792A CN101141792A CNA2006101287771A CN200610128777A CN101141792A CN 101141792 A CN101141792 A CN 101141792A CN A2006101287771 A CNA2006101287771 A CN A2006101287771A CN 200610128777 A CN200610128777 A CN 200610128777A CN 101141792 A CN101141792 A CN 101141792A
- Authority
- CN
- China
- Prior art keywords
- naf
- bsf
- push
- message
- gba
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种GBA PUSH的方法,该方法包括:A.NAF向BSF发起认证请求消息;B.BSF向UE发送用来建立BSF与UE之间的引导会话过程的PUSH信息消息,并向NAF发送携带衍生密钥和衍生密钥有效期的认证应答消息;C.NAF使用所述衍生密钥加密PUSH数据,并通过PUSH业务消息发送给UE;D.UE使用衍生密钥解密从NAF收到的PUSH数据。本发明能够解决由NAF向UE主动发起通信请求的GBA PUSH业务的需求,能够满足OMA的需求。并且,本发明在GBA PUSH过程中产生的GBA参数不限于网络侧NAF主动发起的业务过程,UE也可以使用该GBA参数保护UE主动发起的业务请求。
Description
技术领域
本发明涉及通讯网络中通用引导架构技术领域,特别是一种通用引导架构推送的方法。
背景技术
近年来,随着通用引导架构(Generic Bootstrapping Architecture,GBA)应用的日益广泛,一些由网络应用功能实体(NAF)向用户设备(UE)主动发起通信请求的GBA推送(PUSH)业务产生了新的需求。这种情况下,UE没有到网络侧的通道,或者只有到引导服务器功能实体(BSF)的反馈通道,即UE不能向NAF发送消息,因此也就不能主动连接到网络侧。此时必须由网络侧的NAF主动向BSF发起GBA PUSH请求过程,由BSF向UE主动推送GBA PUSH信息,并向NAF发送请求应答响应。GBA只能提供UE有返回网络应用实体NAF的反馈通道的安全保护,GBA PUSH适用于网络侧NAF主动发起的业务过程,但是并不限制在UE使用GBA PUSH过程中产生的GBA参数来保护UE主动发起的业务过程。
开放移动联盟(OMA)向第三代合作伙伴计划(3GPP)提出了如下的GBA PUSH需求:
1)一个网络实体能够安全地触发产生它和移动终端之间的安全关联;
2)网络侧的实体能够向移动终端发送产生共享安全关联的消息,这个消息在发送时是被安全保护的,并且也可以推迟发送;
3)移动终端最好不需要联系任何网络实体来产生安全关联或者检查消息。
为此,3GPP定义了一种通用引导架构推送功能(GBA PUSH)的架构。该架构如图1所示,通常包括:UE、BSF、用户归属网络服务器(HSS)、用户定位功能实体(SLF)和NAF。其中,BSF用于生成GBA会话参数;HSS中存储用于描述用户信息的签约文件,同时HSS还兼有产生鉴权信息的功能;SLF用于在存在多个HSS时,协助BSF查找相应的HSS;NAF用于为UE提供网络业务。
另外,当UE和BSF之间共享了一个根密钥(Ks)后,UE可以利用公式:
Ks_NAF或Ks_ext_NAF=KDF(Ks,″gba-me″,RAND,IMPI,NAF_Id)或者公式:
Ks_int_NAF=KDF(Ks,″gba-u″,RAND,IMPI,NAF_Id)
推导出与提供PUSH服务的NAF之间衍生的共享密钥Ks_NAF或者外部共享的衍生密钥(Ks_ext_NAF)/内部共享的衍生密钥(Ks_int_NAF)。为了描述方便,以下将Ks_NAF、Ks_ext_NAF、Ks_int_NAF统称为Ks_(ext/int)_NAF。在上述公式中,NAF_Id是由NAF域名以及要Ua接口上的协议标识(UaID)连接而成;RAND是BSF发送的随机数;私有用户标识(IMPI)是指UE的私有用户标识;″gba-me″或者″gba-u″代表字符串;KDF是密钥导出函数的缩写。这样,UE侧就获取了衍生的共享密钥Ks_(ext/int)_NAF。当BSF将Ks_(ext/int)_NAF发送给NAF后,UE和NAF之间就可以根据Ks_(ext/int)_NAF建立双方通讯的安全通道。
在上述现有技术中,虽然已经给出了GBA PUSH的架构,但是,目前还没有给出相关的GBA PUSH流程,也就说还没有具体实现GBA PUSH。
发明内容
有鉴于此,本发明提出了一种GBA PUSH的方法,用以实现GBA的推送。
根据上述目的,本发明提供了一种GBA PUSH的方法,该方法包括:
A.NAF向BSF发起认证请求消息;
B.BSF向UE发送用来建立BSF与UE之间的引导会话过程的PUSH信息消息,并向NAF发送携带衍生密钥的认证应答消息;
C.NAF使用所述衍生密钥加密PUSH数据,并通过PUSH业务消息发送给UE;
D.UE使用衍生密钥解密从NAF收到的PUSH数据。
步骤A中所述的认证请求消息中包括:UE的用户标识、NAF标识NAF_ID。
所述用户标识为:IMPI、或者IMPU、或者B-TID、或者表示用户标识的别名。
所述的认证请求消息进一步包括:请求密钥有效期参数、和/或GSID参数。
所述的认证请求消息中进一步包括表示GBA PUSH请求的标识;步骤B之前进一步包括:BSF根据所述表示GBA PUSH请求的标识,确定所述的认证请求消息为GBA PUSH认证请求。
所述表示GBA PUSH请求的标识为:扩展GSID参数的值表示GBAPUSH业务的标识、或者扩展NAF-Id参数的取值来表示GBA PUSH业务的标识、或者扩展Diameter协议头的Vendor-Specific-Application-Id参数取值来表示GBA PUSH业务的标识、或者扩展Diameter协议头的Application-ID参数来表示GBA PUSH业务的标识、或者在请求消息中添加表示GBA PUSH的新参数。
步骤B之前进一步包括:BSF发现已经与所述UE之间存在一个引导会话过程,则计算出衍生密钥,并向NAF发送携带衍生密钥和衍生密钥有效期的认证应答消息,然后执行步骤C以及后续步骤。
步骤B之前进一步包括:BSF收到所述请求消息后,到归属用户服务器HSS获取该用户的鉴权向量信息和GBA用户安全设置GUSS,所述鉴权向量信息包括AUTN、RAND、IK、CK以及XRES;BSF根据IK和CK计算出Ks,并生成Ks密钥有效期LifeTime和B-TID。
步骤B中所述PUSH信息消息包括:AUTN;RAND和/或B-TID;LifeTime。
所述PUSH信息消息进一步包括NAF_ID。
步骤B进一步包括:BSF对PUSH信息消息中的LifeTime进行完整性保护。
步骤B进一步包括:UE收到所述PUSH信息消息,通过检查AUTN认证网络成功后,计算得到IK、CK,再根据IK和CK计算出Ks,并向BSF发送表示成功的响应消息。
步骤B进一步包括:所述的UE根据Ks计算出衍生密钥。
步骤B进一步包括:所述的UE向BSF发送的响应消息中包含响应结果RES;所述的BSF根据RES完成对所述的UE的认证。
步骤B进一步包括:如果BSF在规定时间内没有收到UE的响应消息或者收到UE发送的表示失败的响应消息,则再次向UE发送所述PUSH信息消息;当发送所述PUSH信息消息超过规定次数或时间时,BSF向NAF发送表示失败的响应消息。
步骤B中所述的认证应答消息进一步包括:衍生密钥有效期;B-TID和/或用户安全设置USS。
步骤B中BSF向NAF发送认证应答消息之前进一步包括BSF执行延迟发送的处理;或者,步骤C之前进一步包括NAF执行延迟发送的处理。
步骤C中所述的PUSH业务消息进一步包括:B-TID和/或NAF_ID。
步骤D中进一步包括UE计算出衍生密钥的步骤。
从上述方案中可以看出,由于在本发明的方法中,BSF收到NAF发起的请求衍生密钥的消息后,向UE发送用来建立BSF与UE之间的共享Ks的PUSH消息,以及计算出衍生密钥,并向NAF发送携带衍生密钥的应答消息,之后,NAF使用所述衍生密钥加密PUSH数据,并发送给UE,而UE则计算出衍生密钥,并使用该衍生密钥解密从NAF收到的PUSH数据。因此,本发明能够解决由NAF向UE主动发起通信请求的GBA PUSH业务的需求,能够满足OMA的需求。并且,本发明在GBA PUSH过程中产生的GBA参数不限于网络侧NAF主动发起的业务过程,UE也可以使用该GBA参数保护UE主动发起的业务请求。
本发明还提供了UE与BSF之间有反馈通道的解决方案,该方案进一步能够达到以下效果:1)当BSF发给UE的PUSH信息消息丢失时,由于BSF可以重新给UE发送PUSH信息消息,因此对于NAF发来的加密的PUSH数据,UE总能解密;2)可以保证UE总是在收到BSF发来的PUSH信息消息之后才会收到NAF发来的加密的PUSH数据消息,因此总能解密PUSH数据;3)除了UE可以完成对网络的认证以外,还可以完成网络如BSF对UE的认证,从而实现双向认证。
附图说明
图1为GBA PUSH的架构示意图;
图2为本发明第一实施例的流程示意图;
图3为本发明第二实施例的流程示意图;
图4为本发明第三实施例的流程示意图;
图5为本发明第四实施例的流程示意图;
图6为本发明第五实施例的流程示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,以下举实施例对本发明进一步详细说明。
图2所示的是本发明第一实施例的流程示意图。在第一实施例中,UE有到网络侧实体BSF的反馈通道,并且BSF对于每个NAF都要生成一个新的GBA会话参数。所述GBA参数包括CK、IK、Ks等一套参数。
参照图2,本发明第一实施例的流程如下:
步骤101,NAF需要发送数据到UE,并且NAF事先知道UE的某种用户标识,例如私有用户标识(IMPI)、与IMPI对应的公有用户标识(IMPU)或者假名。如果所述用户标识不是IMPI,而是其它标识,例如IMPU或者假名,BSF或HSS能够知道与该用户标识对应的IMPI。
步骤102,NAF向BSF发送消息请求衍生的共享密钥Ks_(ext/int)_NAF。消息中携带该UE的某种用户标识和NAF标识(NAF_ID)参数,所述用户标识为IMPI、或者与IMPI对应的IMPU或假名等。在消息中还可以进一步携带请求密钥有效期(Req_KeyLT)参数和/或GBA业务标识(GSID)参数。
步骤103,BSF收到上述请求消息后,首先检查该NAF是否有权执行GBA PUSH操作。
检查通过后,BSF首先到HSS获取该用户的鉴权向量(AV)信息五元组和GBA用户安全设置(GUSS),其中鉴权向量五元组包括鉴权令牌(AUTN)、随机数(RAND)、完整性密钥(IK)、加密密钥(CK)以及期望结果(XRES)。然后,BSF根据IK和CK计算出共享密钥(Ks)。
另外,BSF还可以为Ks定义一个密钥有效期限(LifeTime),以便Ks进行定期更新。BSF还可以生成一个引导事务标识(B-TID),用于标识BSF和UE之间的本次鉴权交互事务。
最后,BSF保存所创建的引导会话过程参数以及RAND参数等信息,其中,引导会话过程参数包括B-TID、IMPI、Ks、密钥有效期、引导会话过程的开始时间、应用相关的GUSS等等。由于B-TID为RAND加上@和UE的引导服务功能实体的域名,即两者存在一一对应的关系,因此在本步骤中BSF可以只保存RAND或B-TID。
步骤104,BSF将B-TID、Ks的有效期LifeTime以及对应的AUTN、RAND,还有对应请求的NAF_ID一起发送给UE。其中的B-TID、NAF_ID和LifeTime可以使用对应的完整性密钥IK进行完整性保护。
步骤105,UE收到消息后,首先检查AUTN来认证网络。
认证成功后,根据认证与密钥协商(AKA)算法计算得到IK、CK,再根据对应的IK检验收到消息的完整性保护是否通过,然后再根据IK和CK计算出Ks,并计算出鉴权响应值(RES)。保存所述Ks与B-TID、密钥有效期LifeTime、NAF_ID之间的对应关系。
如果UE认证网络失败,则可以给BSF发送一个指示消息,以指示网络认证失败的原因,如果是鉴权向量不同步的原因,则消息中携带重同步令牌参数AUTS。BSF收到该消息后,可以重新生成新的GBA会话参数,并再次执行步骤104,发送给UE。
步骤106,UE向BSF发送响应消息OK,并且该响应消息中携带有RES。
步骤107,BSF收到响应消息后,检查响应消息中携带的RES与XRES是否一致,来完成对UE的认证。认证通过后,BSF再利用上述公式算出Ks_(ext/int)_NAF。
步骤108,BSF向NAF发送应答消息,其中携带Ks_(ext/int)_NAF和密钥有效期LifeTime。其中密钥有效期LifeTime对应于步骤102的请求消息中的Req-KeyLT。
如果步骤102的请求消息中含有GSID,BSF还要从UE的GUSS中提取出用户安全设置(USS),一起发送给NAF。
步骤109,NAF保存Ks_(ext/int)_NAF、密钥有效期LifeTime。如果有USS,则还保存USS。然后NAF使用Ks_(ext/int)_NAF加密PUSH数据。
步骤110,NAF向UE发送加密的PUSH数据。
步骤111,UE收到NAF发来的PUSH消息后,根据NAF的IP地址得到NAF_ID,并与步骤104中得到的NAF_ID比较,验证其合法性。然后根据NAF_ID以及步骤105中保存的对应关系找到对应的Ks,使用上述公式计算对应的Ks_(ext/int)_NAF,并用Ks_(ext/int)_NAF解密NAF发来的PUSH数据。
对于上述流程,还可以存在如下变化:
1)上述步骤105和步骤106中的RES作为可选项,也可以不发。对应地步骤107中也没有通过RES对UE进行认证的步骤。
2)在上述步骤107中,如果BSF在规定时间内没有收到UE的确认消息,可以再次通过步骤104发送给UE,如果到了规定的次数或时间,BSF仍然没有收到UE响应,则BSF向NAF发送请求失败的响应。
3)上述步骤108中也可能携带B-TID,步骤110中也可能携带B-TID和/或NAF_ID。那么,步骤111中UE也可能直接根据收到的消息中的NAF_ID验证其合法性,并根据B-TID或NAF_ID找到对应的Ks。
4)步骤104中不携带NAF_ID,而是步骤108、110中携带B-TID,步骤110中还可能携带NAF_ID。UE则根据B-TID找到相应的Ks,生成Ks_(ext/int)_NAF。
5)可以在步骤105中直接计算衍生密钥,也可以在后面的步骤111中计算。
6)步骤105中,也可以不保存该Ks与B-TID、密钥有效期LifeTime之间的对应关系,而直接保存NAF_ID与Ks_NAF之间的对应关系。
7)NAF如果想要设置衍生密钥的生存时间缩短,并使UE对应的衍生密钥有效期缩短为同样的有效期,可以通过设置步骤102中的Req_KeyLT来通知BSF,并通过步骤104中的BSF发给UE的Ks的有效期LifeTime为相应的Req_KeyLT,来通知UE设置为相同的衍生密钥有效期。
8)UE和NAF在衍生密钥的有效期过期之后,都不可以再使用衍生密钥保护业务数据。
图3所示的是本发明第二实施例的流程示意图。在第二实施例中,UE也有到网络实体BSF的反馈通道,但是与第一实施例不同的是,第二实施例中BSF对于每个NAF都使用同一个GBA会话参数。
参照图3,本发明第二实施例的流程如下:
步骤201,NAF需要发送数据到UE,并且NAF事先知道UE的某种用户标识,例如IMPI、与IMPI对应的IMPU或者假名。如果所述用户标识不是IMPI,而是其它标识,例如IMPU或者假名,BSF或HSS能够知道与该用户标识对应的IMPI。
步骤202,NAF向BSF发送消息请求Ks_(ext/int)_NAF。消息中携带该UE的某种用户标识和NAF_ID参数,所述用户标识为IMPI或者与IMPI对应的IMPU或假名等。在消息中还可以进一步携带Req_KeyLT参数和/或GSID参数。
步骤203,BSF收到上述请求消息后,首先检查该NAF是否有权执行GBA PUSH操作。检查通过后,再检查该UE是否已经有一个引导会话过程。
如果结果是该UE还没有一个引导会话过程,或者判断出NAF需要执行新的GBA PUSH操作,则BSF启动一个新的引导会话过程:首先到HSS获取该用户的鉴权向量信息五元组和GUSS;然后BSF根据IK和CK计算出Ks;BSF还为Ks定义了一个密钥有效期限LifeTime,以便Ks进行定期更新;并生成一个B-TID,用于标识BSF和UE之间的本次鉴权交互事务;最后BSF需要保存所创建的引导会话过程参数以及RAND参数等信息,同样BSF可以只保存RAND或B-TID两者之一;然后执行步骤204及其后续步骤。
如果结果是该UE已经有一个引导会话过程,则BSF利用NAF_ID和已有的GBA会话参数以及上述公计算出Ks_(ext/int)_NAF。然后执行步骤208及其后续步骤。
步骤204,BSF将B-TID、Ks的有效期LifeTime以及对应的AUTN和RAND一起发送给UE。其中,对于B-TID和LifeTime可以使用对应的IK进行完整性保护。
步骤205,UE收到消息后,首先检查AUTN来认证网络。认证成功后,根据AKA算法计算得到IK、CK,再根据对应的IK检验收到消息的完整性保护是否通过,然后再根据IK和CK计算出Ks,并计算出RES。并保存该Ks与B-TID、密钥有效期LifeTime之间的对应关系。
如果UE认证网络失败,则可以给BSF发送一个指示消息,以指示网络认证失败的原因,如果是不同步的原因,则消息中携带AUTS参数。BSF收到该消息后,可以重新生成新的GBA会话参数,并再次执行步骤204,发送给UE。
步骤206,UE向BSF发送响应消息OK,其中携带RES。
步骤207,BSF收到响应后,根据RES完成对UE的认证。认证通过后,BSF再利用NAF_ID和上述公式算出Ks_(ext/int)_NAF;
步骤208,BSF向NAF发送应答消息,其中携带Ks_(ext/int)_NAF和密钥有效期LifeTime,如果NAF请求中含有GSID,BSF还要从UE的GUSS中提取出USS,一起发送给NAF。
步骤209,NAF保存Ks_(ext/int)_NAF、密钥有效期LifeTime。如果有USS,则还保存USS。然后NAF使用Ks_(ext/int)_NAF加密PUSH数据。
步骤210,NAF向UE发送加密的PUSH数据。
步骤211,UE收到NAF发来的PUSH消息后,根据NAF的IP地址得到NAF_ID,并使用上述公式计算对应的Ks_(ext/int)_NAF,然后用Ks_(ext/int)_NAF解密NAF发来的PUSH数据。
本发明第二实施例的流程还可以有如下变化:
1)上述步骤205和步骤206中的RES作为可选项,也可以不发。对应地步骤207中也没有通过RES对UE进行认证的步骤。
2)在上述步骤207中,如果BSF在规定时间内没有收到UE的确认消息,可以再次通过步骤204发送给UE,如果到了规定的次数或时间,BSF仍然没有收到UE响应,则BSF向NAF发送请求失败的响应。
3)上述步骤208中也可能携带B-TID,步骤210中也可能携带B-TID和/或NAF_ID。那么,步骤211中UE也可能直接根据收到的消息中的NAF_ID验证其合法性,并根据B-TID或NAF_ID找到对应的Ks。
4)NAF如果想要设置衍生密钥的生存时间缩短,并使UE对应的衍生密钥有效期缩短为同样的有效期,可以通过设置步骤202中的Req_KeyLT来通知BSF,并通过步骤204中的BSF发给UE的Ks的有效期LifeTime为相应的Req_KeyLT,来通知UE设置为相同的衍生密钥有效期。
5)UE和NAF在衍生密钥的有效期过期之后,都不可以再使用衍生密钥保护业务数据。
图4所示的是本发明第三实施例的流程示意图。在第三实施例中,UE没有到网络实体BSF的反馈通道,并且BSF对于每个NAF都要生成一个新的GBA会话参数。
参照图4,本发明第三实施例的流程如下:
步骤301,NAF需要发送数据到UE,并且NAF事先知道UE的某种用户标识,例如IMPI、与IMPI对应的IMPU或者假名。如果所述用户标识不是IMPI,而是其它标识,例如IMPU或者假名,BSF或HSS能够知道与该用户标识对应的IMPI。
步骤302,NAF向BSF发送消息请求Ks_(ext/int)_NAF,消息中携带该UE的某种用户标识和NAF_ID参数,所述用户标识为IMPI或者与IMPI对应的IMPU或假名等。在消息中还可以进一步携带Req_KeyLT参数和/或GSID参数。
步骤303,BSF收到上述请求消息后,首先检查该NAF是否有权执行GBA PUSH操作。
检查通过后,首先到HSS获取该用户的鉴权向量信息五元组和GUSS;然后BSF根据IK和CK计算出Ks;BSF还为共享密钥Ks定义一个密钥有效期LifeTime,以便Ks进行定期更新;并生成一个B-TID,用于标识BSF和UE之间的本次鉴权交互事务;BSF再利用上述公式算出Ks_(ext/int)_NAF;最后,BSF保存所创建的引导会话过程参数以及RAND参数等信息,其中,引导会话过程参数包括B-TID、IMPI、Ks、密钥有效期、引导会话过程的开始时间、应用相关的GUSS等等。同样,由于B-TID为RAND加上一固定的地址,即两者存在一一对应的关系,因此在本步骤中BSF可以只保存RAND或B-TID。
步骤304,BSF将B-TID、Ks的有效期限LifeTime以及对应的AUTN、RAND还有对应请求的NAF_ID一起发送给UE。其中,对于B-TID、NAF_ID和LifeTime可以使用对应的IK进行完整性保护。
步骤305,UE收到消息后,首先检查AUTN来认证网络。认证成功后,根据AKA算法计算得到IK、CK,再根据对应的IK检验所收到消息的完整性保护是否通过,然后再根据IK和CK计算出Ks;并保存该Ks与B-TID、密钥有效期LifeTime、NAF_ID之间的对应关系。
步骤306,BSF向NAF发送应答消息,其中携带Ks_(ext/int)_NAF和密钥有效期LifeTime。如果NAF请求中含有GSID,BSF还要从UE的GUSS中提取出USS,一起发送给NAF。
步骤307,NAF保存Ks_(ext/int)_NAF、密钥有效期LifeTime。如果有USS,则还保存USS。然后NAF使用Ks_(ext/int)_NAF加密PUSH数据。并且NAF还可以等待一定的延迟发送时间(DeferTime)。
步骤308,NAF将加密的PUSH数据发送给UE。
步骤309,UE收到NAF发来的PUSH消息后,UE根据NAF的IP地址得到NAF_ID,并与步骤304中得到的NAF_ID比较,验证其合法性。然后根据NAF_ID以及步骤305中保存得对应关系找到对应的Ks,使用上述公式计算对应的Ks_(ext/int)_NAF,并用Ks_(ext/int)_NAF解密NAF发来的PUSH数据。
对于本发明第三实施例的流程,也可以存在如下变化:
1)步骤304以及步骤306没有先后顺序的要求,即步骤306也可以放到步骤304之前。
2)步骤307中的延迟发送处理也可以在步骤304和步骤306之间进行。
3)上述步骤306中也可能携带B-TID,步骤308中也可能携带B-TID和/或NAF_ID。在步骤309中,UE也可能直接根据收到的消息中的NAF_ID验证其合法性,并根据B-TID或NAF_ID找到对应的Ks。
4)步骤304中不携带NAF_ID,而在步骤306、308中携带B-TID,步骤308还可能带NAF_ID。则步骤309中,UE根据B-TID找到相应的Ks,生成Ks_(ext/int)_NAF。
5)可以在步骤305中直接计算衍生密钥,也可以在后面的步骤309中计算。
6)步骤305中,也可以不保存该Ks与B-TID、密钥有效期LifeTime之间的对应关系,而直接保存NAF_ID与Ks_NAF之间的对应关系。
7)NAF如果想要设置衍生密钥的生存时间缩短,并使UE对应的衍生密钥有效期缩短为同样的有效期,可以通过设置步骤302中的Req_KeyLT来通知BSF,并通过步骤304中的BSF发给UE的Ks的有效期LifeTime为相应的Req_KeyLT,来通知UE设置为相同的衍生密钥有效期。
8)UE和NAF在衍生密钥的有效期过期之后,都不可以再使用衍生密钥保护业务数据。
图5所示的是本发明第四实施例的流程示意图。在第四实施例中,UE同样没有到网络实体BSF的反馈通道,但是与第三实施例不同的是,第四实施例中BSF对于每个NAF都使用同一个GBA会话参数。
参照图5,本发明第四实施例的流程如下:
步骤401,NAF需要发送数据到UE,并且NAF事先知道UE的某种用户标识,例如IMPI、与IMPI对应的IMPU或者假名。如果所述用户标识不是IMPI,而是其它标识,例如IMPU或者假名,BSF或HSS能够知道与该用户标识对应的IMPI。
步骤402,NAF向BSF发送消息请求Ks_(ext/int)_NAF,消息中携带该UE的某种用户标识和NAF_ID参数,所述用户标识为IMPI或者与IMPI对应的IMPU或假名等。在消息中还可以进一步携带Req_KeyLT参数和/或GSID参数。
步骤403,BSF收到上述请求消息后,首先检查该NAF是否有权执行GBA PUSH操作。检查通过后,再检查该UE是否已经有一个引导会话过程。
如果结果是该UE还没有一个引导会话过程,或者判断出NAF需要执行新的GBA PUSH操作,则BSF启动一个新的引导会话过程:首先到HSS获取该用户的鉴权向量信息五元组和GUSS;然后BSF根据IK和CK计算出Ks;BSF还为Ks定义了一个密钥有效期限LifeTime,以便Ks进行定期更新;并生成一个B-TID,用于标识BSF和UE之间的本次鉴权交互事务;BSF再利用上述公式算出Ks_(ext/int)_NAF;最后BSF需要保存所创建的引导会话过程参数以及RAND参数等信息,同样BSF可以只保存RAND或B-TID两者之一;然后执行步骤404及其后续步骤。
如果结果是该UE已经有一个引导会话过程,则BSF利用NAF_ID和已有的GBA会话参数以及上述公计算出Ks_(ext/int)_NAF。然后执行步骤406及其后续步骤。
步骤404,BSF将B-TID、Ks的有效期限LifeTime以及对应的AUTN和RAND一起发送给UE。其中,对于B-TID和LifeTime可以使用对应的完整性密钥IK进行完整性保护。
步骤405,UE收到消息后,首先检查AUTN来认证网络。认证成功后,根据AKA算法计算得到IK、CK,再根据对应的IK检验收到消息的完整性保护是否通过,然后再根据IK和CK计算出Ks;并保存该Ks与B-TID、密钥有效期LifeTime之间的对应关系。
步骤406,BSF向NAF发送应答消息,其中携带Ks_(ext/int)_NAF和密钥有效期LifeTime,如果NAF请求中含有GSID,BSF还要从UE的GUSS中提取出USS,一起发送给NAF。
步骤407,NAF保存Ks_(ext/int)_NAF、密钥有效期LifeTime。如果有USS,则还保存USS。然后NAF使用Ks_(ext/int)_NAF加密PUSH数据。并且NAF还可以等待一定的延迟发送时间(DeferTime)。
步骤408,NAF将加密的PUSH数据发送给UE。
步骤409,UE收到NAF发来的PUSH消息后,根据NAF的IP地址得到NAF_ID,使用上述公式计算对应的Ks_(ext/int)_NAF,并用Ks_(ext/int)_NAF解密NAF发来的PUSH数据。
对于本发明第四实施例的流程,还可以存在下列变化:
1)步骤404和步骤406没有先后顺序的要求,即步骤406也可以放到步骤404之前。
2)步骤407中的延迟发送处理也可以在步骤404和步骤406之间进行。
3)上述步骤406中也可能携带B-TID,步骤408中也可能携带B-TID和/或NAF_ID。在步骤409中,UE也可能直接根据收到的消息中的NAF_ID验证其合法性,并根据B-TID或NAF_ID找到对应的Ks。
4)NAF如果想要设置衍生密钥的生存时间缩短,并使UE对应的衍生密钥有效期缩短为同样的有效期,可以通过设置步骤402中的Req_KeyLT来通知BSF,并通过步骤404中的BSF发给UE的Ks的有效期LifeTime为相应的Req_KeyLT,来通知UE设置为相同的衍生密钥有效期。
5)UE和NAF在衍生密钥的有效期过期之后,都不可以再使用衍生密钥保护业务数据。
图6所示的是本发明第五实施例的流程示意图。第五实施例主要描述密钥过期的情况下,NAF向BSF发起重新GBA PUSH的过程。
参照图6,本发明第五实施例的流程如下:
步骤501,NAF向BSF发送Ks_(ext/int)_NAF信息请求消息,参数包括B-TID、NAF_ID,还可以进一步包括Req_KeyLT和/或GSID。
其中,可以扩展GSID字段的值表示GBA PUSH业务的标识;或者扩展NAF-Id的取值来表示GBA PUSH业务的标识;或者扩展制造商特定应用标识Vendor-Specific-Application-Id取值来表示GBA PUSH业务的标识;或者扩展Diameter协议的应用标识(Application-ID)来表示GBA PUSH业务的标识;或者在请求消息中添加表示GBA PUSH业务的新参数,例如GBA-PUSH。如果Zn接口采用超文本传输协议(HTTP)通信,则可以采用和上述DIAMETER协议类似的扩展方法实现。另外,如果Zn接口是采用http协议通信的,也可以扩展用户代理(user agent)和域名(realm)等参数或定义一个新的HTTP请求消息头域来实现。
步骤502,BSF收到该请求消息后,通过检查请求消息中的GSID参数、或者NAF-Id参数、或者Vendor-Specific-Application-Id参数、或者Application-ID参数、或者表示GBA PUSH业务的新参数的值,根据上述参数的值,BSF判断出该请求为NAF请求更新GBA PUSH会话参数的请求。
步骤503,BSF、NAF和UE继续执行和上述实例相同的后续GBA PUSH过程,即第一实施例中步骤103及其后续步骤、第二实施例中步骤203及其后续步骤、第三实施例中步骤303及其后续步骤、或第四实施例中步骤103及其后续步骤。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (19)
1.一种通用引导架构GBA推送PUSH的方法,其特征在于,该方法包括:
A.网络应用功能实体NAF向引导服务器功能实体BSF发起认证请求消息;
B.BSF向用户设备UE发送用来建立BSF与UE之间的引导会话过程的PUSH信息消息,并向NAF发送携带衍生密钥的认证应答消息;
C.NAF使用所述衍生密钥加密PUSH数据,并通过PUSH业务消息发送给UE;
D.UE使用衍生密钥解密从NAF收到的PUSH数据。
2.根据权利要求1所述的方法,其特征在于,步骤A中所述的认证请求消息中包括:
UE的用户标识、NAF标识NAF_ID。
3.根据权利要求2所述的方法,其特征在于,所述用户标识为:私有用户标识IMPI、或者公有用户标识IMPU、或者引导事务标识B-TID、或者表示用户标识的别名。
4.根据权利要求2或3所述的方法,其特征在于,所述的认证请求消息进一步包括:请求密钥有效期参数、和/或GBA业务标识GSID参数。
5.根据权利要求2所述的方法,其特征在于,所述的认证请求消息中进一步包括表示GBA PUSH请求的标识;
步骤B之前进一步包括:BSF根据所述表示GBA PUSH请求的标识,确定所述的认证请求消息为GBA PUSH认证请求。
6.根据权利要求5所述的方法,其特征在于,所述表示GBA PUSH请求的标识为:
扩展GSID参数的值表示GBA PUSH业务的标识、或者扩展NAF-Id参数的取值来表示GBA PUSH业务的标识、或者扩展Diameter协议头的制造商特定应用标识Vendor-Specific-Application-Id参数取值来表示GBA PUSH业务的标识、或者扩展Diameter协议头的应用标识Application-ID参数来表示GBA PUSH业务的标识、或者在请求消息中添加表示GBA PUSH的新参数。
7.根据权利要求1所述的方法,其特征在于,步骤B之前进一步包括:
BSF发现已经与所述UE之间存在一个引导会话过程,则计算出衍生密钥,并向NAF发送携带衍生密钥和衍生密钥有效期的认证应答消息,然后执行步骤C以及后续步骤。
8.根据权利要求1所述的方法,其特征在于,步骤B之前进一步包括:
BSF收到所述请求消息后,到归属用户服务器HSS获取该用户的鉴权向量信息和GBA用户安全设置GUSS,所述鉴权向量信息包括鉴权令牌AUTN、随机数RAND、完整性密钥IK、加密密钥CK以及期望结果XRES;
BSF根据IK和CK计算出Ks,并生成Ks密钥有效期Life Time和B-TID。
9.根据权利要求1所述的方法,其特征在于,步骤B中所述PUSH信息消息包括:AUTN;RAND和/或B-TID;Life Time。
10.根据权利要求9所述的方法,其特征在于,所述PUSH信息消息进一步包括NAF_ID。
11.根据权利要求9或10所述的方法,其特征在于,步骤B进一步包括:
BSF对PUSH信息消息中的Life Time进行完整性保护。
12.根据权利要求9或10所述的方法,其特征在于,步骤B进一步包括:
UE收到所述PUSH信息消息,通过检查AUTN认证网络成功后,计算得到IK、CK,再根据IK和CK计算出Ks,并向BSF发送表示成功的响应消息。
13.根据权利要求12所述的方法,其特征在于,步骤B进一步包括:
所述的UE根据Ks计算出衍生密钥。
14.根据权利要求12所述的方法,其特征在于,步骤B进一步包括:
所述的UE向BSF发送的响应消息中包含响应结果RES;
所述的BSF根据RES完成对所述的UE的认证。
15.根据权利要求1所述的方法,其特征在于,步骤B进一步包括:如果BSF在规定时间内没有收到UE的响应消息或者收到UE发送的表示失败的响应消息,则再次向UE发送所述PUSH信息消息;
当发送所述PUSH信息消息超过规定次数或时间时,BSF向NAF发送表示失败的响应消息。
16.根据权利要求1所述的方法,其特征在于,步骤B中所述的认证应答消息进一步包括:衍生密钥有效期;B-TID和/或用户安全设置USS。
17.根据权利要求1所述的方法,其特征在于,步骤B中BSF向NAF发送认证应答消息之前进一步包括BSF执行延迟发送的处理;或者,
步骤C之前进一步包括NAF执行延迟发送的处理。
18.根据权利要求1所述的方法,其特征在于,步骤C中所述的PUSH业务消息进一步包括:B-TID和/或NAF_ID。
19.根据权利要求1或18所述的方法,其特征在于,步骤D中进一步包括UE计算出衍生密钥的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2006101287771A CN101141792A (zh) | 2006-09-09 | 2006-09-09 | 一种通用引导架构推送的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2006101287771A CN101141792A (zh) | 2006-09-09 | 2006-09-09 | 一种通用引导架构推送的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101141792A true CN101141792A (zh) | 2008-03-12 |
Family
ID=39193469
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2006101287771A Pending CN101141792A (zh) | 2006-09-09 | 2006-09-09 | 一种通用引导架构推送的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101141792A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110126017A1 (en) * | 2008-07-31 | 2011-05-26 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods, Nodes, System, Computer Programs and Computer Program Products for Secure User Subscription or Registration |
CN103460674A (zh) * | 2011-02-11 | 2013-12-18 | 良好科技公司 | 用于供应推送通知会话的方法、装置与*** |
CN104041092A (zh) * | 2012-12-25 | 2014-09-10 | 华为技术有限公司 | 获取、发送cbc和/或cbe信息的方法及相关设备 |
CN104735656A (zh) * | 2009-02-05 | 2015-06-24 | 瑞典爱立信有限公司 | 用于在网络中保护自举消息的设备和方法 |
CN104756458A (zh) * | 2012-10-29 | 2015-07-01 | 瑞典爱立信有限公司 | 用于保护通信网络中的连接的方法和设备 |
WO2017032298A1 (zh) * | 2015-08-27 | 2017-03-02 | 华为技术有限公司 | 密钥分发和接收方法、密钥管理中心、第一和第二网元 |
CN107623668A (zh) * | 2016-07-16 | 2018-01-23 | 华为技术有限公司 | 一种网络认证方法、相关设备及*** |
CN110830240A (zh) * | 2018-08-09 | 2020-02-21 | 阿里巴巴集团控股有限公司 | 一种终端与服务器的通信方法和装置 |
CN112311543A (zh) * | 2020-11-17 | 2021-02-02 | 中国联合网络通信集团有限公司 | Gba的密钥生成方法、终端和naf网元 |
CN113543124A (zh) * | 2020-04-14 | 2021-10-22 | 中国电信股份有限公司 | 密钥分发方法、***和卡应用 |
-
2006
- 2006-09-09 CN CNA2006101287771A patent/CN101141792A/zh active Pending
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8750506B2 (en) * | 2008-07-31 | 2014-06-10 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods, nodes, system, computer programs and computer program products for secure user subscription or registration |
US20110126017A1 (en) * | 2008-07-31 | 2011-05-26 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods, Nodes, System, Computer Programs and Computer Program Products for Secure User Subscription or Registration |
CN104735656A (zh) * | 2009-02-05 | 2015-06-24 | 瑞典爱立信有限公司 | 用于在网络中保护自举消息的设备和方法 |
US10313116B2 (en) | 2009-02-05 | 2019-06-04 | Telefonaktiebolaget Lm Ericsson (Publ) | Apparatuses and a method for protecting a bootstrap message in a network |
CN103460674A (zh) * | 2011-02-11 | 2013-12-18 | 良好科技公司 | 用于供应推送通知会话的方法、装置与*** |
CN103460674B (zh) * | 2011-02-11 | 2016-10-05 | 良好科技公司 | 用于供应/实现推送通知会话的方法和推送供应实体 |
CN104756458A (zh) * | 2012-10-29 | 2015-07-01 | 瑞典爱立信有限公司 | 用于保护通信网络中的连接的方法和设备 |
CN104756458B (zh) * | 2012-10-29 | 2018-07-10 | 瑞典爱立信有限公司 | 用于保护通信网络中的连接的方法和设备 |
CN104041092A (zh) * | 2012-12-25 | 2014-09-10 | 华为技术有限公司 | 获取、发送cbc和/或cbe信息的方法及相关设备 |
CN104041092B (zh) * | 2012-12-25 | 2018-06-05 | 华为技术有限公司 | 获取、发送cbc和/或cbe信息的方法及相关设备 |
US10826688B2 (en) | 2015-08-27 | 2020-11-03 | Huawei Technologies Co., Ltd. | Key distribution and receiving method, key management center, first network element, and second network element |
WO2017032298A1 (zh) * | 2015-08-27 | 2017-03-02 | 华为技术有限公司 | 密钥分发和接收方法、密钥管理中心、第一和第二网元 |
CN107623668A (zh) * | 2016-07-16 | 2018-01-23 | 华为技术有限公司 | 一种网络认证方法、相关设备及*** |
US11075752B2 (en) | 2016-07-16 | 2021-07-27 | Huawei Technologies Co., Ltd. | Network authentication method, and related device and system |
CN110830240A (zh) * | 2018-08-09 | 2020-02-21 | 阿里巴巴集团控股有限公司 | 一种终端与服务器的通信方法和装置 |
CN110830240B (zh) * | 2018-08-09 | 2023-02-24 | 阿里巴巴集团控股有限公司 | 一种终端与服务器的通信方法和装置 |
CN113543124A (zh) * | 2020-04-14 | 2021-10-22 | 中国电信股份有限公司 | 密钥分发方法、***和卡应用 |
CN112311543A (zh) * | 2020-11-17 | 2021-02-02 | 中国联合网络通信集团有限公司 | Gba的密钥生成方法、终端和naf网元 |
CN112311543B (zh) * | 2020-11-17 | 2023-04-18 | 中国联合网络通信集团有限公司 | Gba的密钥生成方法、终端和naf网元 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101141792A (zh) | 一种通用引导架构推送的方法 | |
CN102638794B (zh) | 鉴权和密钥协商方法、认证方法、***及设备 | |
CN101371491B (zh) | 提供无线网状网络的方法和装置 | |
EP2522100B1 (en) | Secure multi-uim authentication and key exchange | |
CN102413464B (zh) | 基于gba的电信能力开放平台密钥协商***和方法 | |
CN101317359A (zh) | 生成本地接口密钥的方法及装置 | |
US10158608B2 (en) | Key establishment for constrained resource devices | |
CN102265659A (zh) | 通信***、毫微微小区基站、认证设备、通信方法及记录介质 | |
CN101039181B (zh) | 防止通用鉴权框架中服务功能实体受攻击的方法 | |
US20130019097A1 (en) | Method and Apparatus for Securing Communication Between a Mobile Node and a Network | |
CN101087261B (zh) | 基于通用引导构架实现推送功能的方法、设备和*** | |
WO2023134281A1 (zh) | 通信处理方法及装置、终端、存储介质和计算机程序产品 | |
TW201417551A (zh) | 對稱式動態認證與金鑰交換系統及其方法 | |
CN101090513B (zh) | 一种获取业务密钥的方法 | |
CN102065421A (zh) | 一种更新密钥的方法、装置和*** | |
CN101378313B (zh) | 建立安全关联的方法、用户设备和网络侧设备 | |
KR101837150B1 (ko) | 프록시 서비스 제공을 위한 프록시 인증시스템 및 인증방법 | |
CN102694779B (zh) | 组合认证***及认证方法 | |
CN101087260B (zh) | 基于通用引导构架实现推送功能的方法和设备 | |
CN102014385A (zh) | 移动终端的认证方法及移动终端 | |
CN1953371A (zh) | 一种对自由使能的客户端或者代理进行鉴权的方法 | |
CN103297969A (zh) | 一种ims单点登录组合鉴权方法和*** | |
CN102474503A (zh) | 客户端安全访问消息存储服务器的方法和相关设备 | |
Song et al. | Performance evaluation of an authentication solution for IMS services access | |
CN117499920A (zh) | 一种认证方法、装置及*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20080312 |