CN101087261B - 基于通用引导构架实现推送功能的方法、设备和系统 - Google Patents

基于通用引导构架实现推送功能的方法、设备和系统 Download PDF

Info

Publication number
CN101087261B
CN101087261B CN2006100831123A CN200610083112A CN101087261B CN 101087261 B CN101087261 B CN 101087261B CN 2006100831123 A CN2006100831123 A CN 2006100831123A CN 200610083112 A CN200610083112 A CN 200610083112A CN 101087261 B CN101087261 B CN 101087261B
Authority
CN
China
Prior art keywords
naf
bsf
authentication information
key
authentication
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.)
Expired - Fee Related
Application number
CN2006100831123A
Other languages
English (en)
Other versions
CN101087261A (zh
Inventor
何承东
严军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN2006100831123A priority Critical patent/CN101087261B/zh
Publication of CN101087261A publication Critical patent/CN101087261A/zh
Application granted granted Critical
Publication of CN101087261B publication Critical patent/CN101087261B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明提供一种基于通用引导构架实现推送功能的方法、设备和系统,本发明中的UE在与网络侧认证成功后,查找其与所述BSF之间的引导会话过程标识对应的基本密钥,并根据查找到的基本密钥实现数据解密过程。本发明中的BSF获取UE与网络侧的认证信息,并将获取到的认证信息无条件返回给任一需要向UE实现推送的NAF,接收到认证信息的NAF在判断出UE不存在引导会话过程时,将认证信息发送至UE,使UE完成网络认证及数据解密过程;这样,在多个NAF与同一个UE实现GBA PUSH时,避免了UE为每个NAF均计算基本密钥的过程,提高了UE性能,而且,避免了UE不能够实现网络侧认证的问题;从而实现了完善推送功能技术方案的目的。

Description

基于通用引导构架实现推送功能的方法、设备和系统
技术领域
本发明涉及网络通讯技术领域,具体涉及一种基于通用引导构架实现推送功能的方法、设备和系统。
背景技术
3GPP(The Third Generation Partnership Project,第三代移动通信系统)中定义的GBA(Generic Bootstrapping Architecture,通用引导架构)如附图1所示。
图1中,通用鉴权框架通常由IMS用户即UE、BSF(引导服务功能实体)、HSS(用户归属网络服务器)、SLF(用户定位功能实体)和NAF(网络业务应用实体)组成。BSF用于与UE执行引导会话过程(bootstrapping)时进行互验证身份,同时生成BSF与用户的共享密钥Ks。HSS中存储用于描述用户信息的签约文件,同时HSS还兼有产生鉴权信息的功能。SLF用于当存在多个HSS时,协助BSF查找相应的HSS。NAF用于为UE提供网络业务。BSF与HSS、NAF、UE、SLF之间的接口分别为Zh、Zn、Ub、Dz。NAF与UE之间的接口为Ua。
在通常情况下,当用户需要使用某种业务时,如果用户知道该业务需要到BSF进行互鉴权过程,则直接到BSF进行互鉴权,否则,用户会首先和该业务对应的NAF联系,如果该NAF支持使用通用引导框架GBA机制,并且发现该用户还未到BSF进行互认证过程,NAF则通知该用户到BSF进行互鉴权以验证身份。
在Ub接口中,UE执行引导会话过程的流程如附图2所示。
图2中,在步骤1、UE(用户)需要使用某种业务时,如果UE知道该业务需要到BSF进行相互鉴权过程,则直接发送鉴权请求到BSF进行相互鉴权,否则,UE会首先和该业务对应的NAF联系,如果该NAF支持使用通用引导框架GBA机制,并且发现该UE还未到BSF进行互认证过程,则NAF通知该UE到BSF进行互鉴权以验证身份,UE接收到NAF的通知后,再直接发送鉴权请求到BSF进行相互鉴权。
到步骤2、BSF接到鉴权请求后,通过Zh接口从HSS处获取该用户的鉴权向量信息五元组,如鉴权序号AUTN、随机数RAND、完整性密钥IK、加密密钥CK、期望结果XRES。
在步骤3至步骤6、BSF采用HTTP digest AKA协议与UE进行双向认证以及密钥协商,完成UE和BSF之间身份的互相认证。
到步骤7、BSF生成共享根密钥Ks。BSF还为共享根密钥Ks定义了一个有效期限,以便Ks进行定期更新。
到步骤8、BSF为UE分配一个B-TID(引导事务标识),B-TID用于标识BSF和UE之间的本次鉴权交互事务。BSF将该B-TID与共享根密钥Ks、UE的IMPI(IMS私有用户标识)相关联,以便以后BSF可以根据该B-TID查找出相应的Ks。然后,BSF将B-TID和Ks的有效期限一起明文发送给UE。
到步骤9、UE也生成和BSF侧相同的共享根密钥Ks,并保存BSF发送来的B-TID和Ks的有效期限。
在上述过程结束后,UE和BSF之间就共享了一个根密钥Ks,并且UE可以利用公式推导出与想要访问的NAF之间的衍生的共享密钥Ks_NAF,如利用公式Ks_NAF或者Ks_ext_NAF=KDF来推导,这里的KDF即Ks、"gba-me"、RAND、IMPI、NAF_Id;再如利用公式Ks_int_NAF=KDF来推导,这里的KDF即Ks、"gba-u"、RAND、IMPI、NAF_Id。上述公式中的Ks_ext_NAF、Ks_int_NAF可以统一简称为Ks_NAF。上述公式中的NAF_Id是由要访问的NAF域名以及Ua接口上的协议标识UaID连接而成,RAND是随机数,IMPI是指UE的IMS私有用户标识,"gba-me"或者"gba-u"代表字符串;KDF是密钥导出函数的缩写。
在UE获取了其与想要访问的NAF之间的衍生的共享密钥Ks_NAF后,NAF需要获取该衍生的共享密钥Ks_NAF,只有NAF和UE都获取了Ks_NAF,才能建立双方通讯的安全通道。
NAF通过Zn接口获取Ks_NAF的流程图如附图3所示。
图3中,在步骤1、UE在根据上述公式推导出衍生的共享密钥Ks_NAF后,以B-TID为用户名、Ks_NAF为口令向NAF发送连接请求。
到步骤2、NAF收到UE的连接请求后,向BSF发送认证请求消息。认证请求消息中携带有B-TID和NAF主机名。
到步骤3、BSF在接收到认证请求消息后,利用请求消息中的B-TID在其保留的引导会话过程参数信息中查找相应的Ks,这里,BSF保留的引导会话过程参数如B-TID、IMPI、Ks、密钥有效期、引导会话过程的开始时间、应用相关的GUSS(GBA用户安全设置信息)等。如果BSF能够根据B-TID查找到相应的Ks,则完成相应用户的认证,BSF使用查找到的Ks、与用户侧相同的上述公式计算出衍生的共享密钥Ks_NAF,然后,BSF在认证响应消息中将其计算出来的Ks_NAF、Ks_NAF的有效期限、BSF与UE之间相互鉴权的开始时间、以及其他应用相关的USS(用户安全设置信息)发给NAF。NAF接收并保存这些信息。
这样,NAF和UE之间共享了由Ks衍生的密钥Ks_NAF,从而,在后续的通信中,NAF和UE之间可以进行安全通信。
到步骤4、NAF向UE发送连接应答。
从上述描述可以看出,在GBA过程中,UE总是可以主动连接到网络侧如BSF或者NAF,即UE总是有到网络侧方向的返回通道,也就是说,UE可以向NAF发送消息,以便通过此通道触发GBA过程。
随着GBA应用的更加广泛,一些由网络应用实体如NAF向UE主动发起通信请求的GBA推送push业务对GBA产生了新的需求。在这种情况下,UE没有到网络侧方向的返回通道,即UE不能向NAF发送消息,因此,UE也就不能主动连接到网络侧。此时,必须由网络侧NAF向UE主动发起GBA过程,如网络侧经常主动向UE广播一些信息。这样,就需要扩展GBA,使其能够符合GBApush业务的需求。
对于UE来说,网络侧NAF向UE主动发起GBA过程好象是网络侧向自己主动推送一些信息一样,因此,可以将这种GBA过程称为GBA PUSH(基于GBA的推送功能)。
GBAPUSH的实现过程流程图如附图4所示。
图4中,在步骤1、NAF需要向UE广播数据。NAF事先知道UE的某种用户标识如IMPI等,如果NAF事先知道UE的IMPI之外的其它标识,则BSF或HSS应该能够知道与其他标识对应的IMPI。此时,UE没有到NAF的返回通道。
到步骤2、NAF通过Zn接口向BSF发送请求消息,以请求Ks_NAF。该请求消息中携带有该UE的某种用户标识如IMPI等、NAF_ID参数、以及可选的Req_KeyLT(请求密钥有效期)参数和可选的GSID(GBA业务标识)参数。
到步骤3、BSF接收到该请求消息后,首先检查该NAF是否有权执行GBAPUSH操作,在该检查通过后,再检查该UE是否已经有一个引导会话过程,如果检查出该UE还没有一个引导会话过程,表示NAF首次执行GBA PUSH操作,到步骤3a。
步骤3a、BSF启动一个新的引导会话过程,具体过程为:BSF首先从HSS处获取鉴权矢量5元组即AUTN、RAND、XRES、IK、CK,然后,BSF根据IK和CK计算出Ks,再利用上述公计算出Ks_NAF,并生成B-TID。BSF从UE的GUSS中提取出用户安全设置USS。最后,BSF保存上述创建的引导会话过程参数,即B-TID、IMPI、Ks、密钥有效期、引导会话过程的的开始时间、应用相关的GUSS、以及RAND参数等,以便这些参数在以后也可以和其他的NAF一起使用。BSF也可以只保存RAND和B-TID两者中的一个。
如果BSF检查出该UE已经有一个引导会话过程,则到步骤3b。
在步骤3b、BSF利用上述公计算出Ks_NAF,并从UE的GUSS中提取出用户安全设置USS。
到步骤4、BSF向NAF发送响应消息,以向NAF返回Ks_NAF等信息。该步骤有两种不同的执行方式:
步骤4a、如果在步骤3中,该UE没有一个引导会话过程,则BSF向NAF返回AUTN、RAND、B-TID、Ks_NAF、密钥有效期、USS。这里,BSF也可能只返回RAND和B-TID中的一个。
步骤4b、如果在步骤3中,该UE已经有一个引导会话过程,则BSF向NAF返回B-TID、Ks_NAF、密钥有效期、USS。
到步骤5、NAF使用Ks_NAF加密PUSH业务数据,即NAF使用Ks_NAF加密需要发送到UE的广播数据。这里的Ks_NAF是包括Ks_ext_NAF和Ks_int_NAF的。
到步骤6、NAF向UE发送PUSH消息,即执行GBA PUSH过程。该步骤有两种不同的执行方式:
步骤6a、如果BSF和UE之间还没有一个引导会话过程,即UE还没有产生共享密钥Ks_NAF,则NAF向UE发送PUSH消息,PUSH消息中携带有AUTN、RAND、B-TID、NAF_ID、以及可选的加密的数据。这里,NAF也可能只向UE返回RAND和B-TID中的一个。
步骤6b、如果BSF和UE之间已经有一个引导会话过程,即双方都产生了共享密钥Ks_NAF,则NAF向UE发送PUSH消息,PUSH消息中携带有B-TID、NAF_ID、以及可选的加密的数据。
到步骤7、UE接收到NAF发送来的PUSH消息后,解密NAF发送来的数据。同样,该步骤也有两种不同的执行方式:
步骤7a、如果UE接收到的PUSH消息中存在AUTN和RAND,则表明该NAF首次和UE通讯,UE首先通过AUTN和RAND来认证网络,并在认证成功后,先根据IK和CK计算出Ks,再利用上述公式计算出Ks_NAF。最后,UE使用Ks_NAF解密获得NAF发送来的数据。UE也保存引导会话相关的信息如B-TID、Ks等以及RAND、AUTN参数,以便以后也可以和其他的NAF一起使用。
步骤7b、如果UE接收到的PUSH消息中不存在AUTN和RAND,则表示UE需要创建Ks_NAF或者UE从其以前保存的数据中提取Ks_NAF。最后,UE使用Ks_NAF解密获得NAF发送来的数据。
当只有一个NAF如NAF1向某UE如通过IMPI标识的用户发起一次GBAPUSH过程时,上述GBA PUSH的实现流程是没有问题的,但是,当一个NAF如NAF1和BSF完成了对某UE的引导会话过程以后,如果其他NAF如NAF2也需要向同一个UE发起GBAPUSH过程时,就会存在如下问题:
在图4的步骤2中,BSF接收到NAF2发来的请求消息后,由于BSF已经通过NAF1建立了该用户的一个有效的引导会话过程,因此,在执行步骤3时,会执行步骤3b,在执行步骤4时,会执行步骤4b,即BSF只会向NAF2返回B-TID、Ks_NAF、密钥有效期,USS,而不会向NAF2返回AUTN和RAND等信息。但是,在步骤6中,由于NAF2还没有和UE之间建立一个引导会话过程,即NAF2和UE之间是首次通讯,因此,NAF2会执行步骤6a,即NAF2向UE发送PUSH消息,PUSH消息中应该携带有AUTN、RAND、B-TID、NAF_ID、以及可选的加密的数据。这里,NAF也可能只向UE返回RAND和B-TID中的一个。这样,UE可以根据RAND和B-TID这两个参数来认证网络侧。问题是:此时NAF2并不知道AUTN和RAND,所以,NAF2实际上不可能向UE发送AUTN和RAND。从而导致UE不能够完成对网络侧的认证。
同样,在图4的步骤7中,在执行步骤7a时,当UE认证网络侧即NAF2成功后,仍然需要根据IK和CK计算出Ks,再利用上述公式计算出Ks_NAF。其实,UE已经建立并保存了其和NAF1的引导会话过程信息,该引导会话过程信息中已经含有B-TID和Ks等的配对信息,但是,在该过程中UE没有充分利用GBA的这一特点来查找Ks,而是重新利用IK/CK来生成与上述配对信息相同的Ks。由于上述获得Ks的过程比较费时,最终影响了UE的性能。
发明内容
本发明的目的在于,提供一种基于通用引导构架实现推送功能的方法、设备和系统,避免了用户设备计算Ks的过程,节约了用户设备的处理资源,提高了用户设备的性能;BSF通过将认证信息无条件的返回给NAF,保证了用户设备对网络侧的认证能够顺利实现,从而实现了完善基于通用引导构架推送功能技术方案的目的。
为达到上述目的,本发明提供的一种基于通用引导构架实现推送功能的方法,包括:
a、启动引导服务器功能实体BSF将认证信息传输至网络应用功能实体NAF。
b、所述NAF对数据进行加密,并传输至用户设备UE;
c、UE在与网络侧认证成功后,查找其与BSF之间的引导会话过程标识对应的基本密钥,并利用该基本密钥计算衍生密钥,实现数据解密。
所述步骤c具体包括:
UE根据NAF传输来的信息确定其与所述BSF之间的引导事务标识B-TID,并在其自身存储的B-TID与基本密钥的对应关系信息中查找该B-TID对应的基本密钥;
UE在查找到对应的基本密钥后,利用该基本密钥计算衍生密钥,并利用计算出的衍生密钥实现数据解密。
所述步骤c还包括:UE在其自身存储的信息中没有查找到对应的基本密钥时,根据完整性密钥IK和加密密钥CK计算基本密钥,并利用该计算出的基本密钥计算衍生密钥,最后,利用计算出的衍生密钥实现数据解密。
所述步骤a包括:
A、BSF获取UE与网络侧认证的认证信息;
B、BSF将所述认证信息无条件返回给任一需要向所述UE实现推送的NAF。
所述步骤a包括:
BSF在判断出其与UE之间不存在引导会话过程后,从HSS处获取鉴权矢量信息,创建并存储引导会话过程参数信息;
BSF从所述信息中获取并存储认证信息。
所述步骤a包括:
BSF在判断出其与所述UE之间存在引导会话过程后,从其存储的信息中获取认证信息。
所述认证信息为:鉴权序号AUTN,或者所述认证信息为:AUTN和随机数RAND。
本发明提供的基于通用引导构架实现推送功能的方法,包括步骤:
A、BSF获取UE与网络侧认证的认证信息;
B、BSF将所述认证信息无条件返回给任一需要向所述UE实现推送的NAF;
C、NAF将其接收到的认证信息发送至UE。
本发明提供的基于通用引导构架实现推送功能的用户设备,所述用户设备UE中设置有查找模块;
查找模块:用于在UE与网络侧认证成功后,查找UE与BSF之间的引导会话过程标识对应的基本密钥,并触发UE根据该基本密钥计算衍生密钥,实现数据解密。
本发明提供的一种启动引导服务器功能实体设备,BSF中设置有获取认证信息模块和返回认证信息模块;
获取认证信息模块:用于获取UE与网络侧认证的认证信息;
返回认证信息模块:用于将获取认证信息模块获取到的所述认证信息无条件返回给NAF。
本发明还提供一种基于通用引导构架实现推送功能的系统,包括:BSF和NAF,所述BSF中设置有获取认证信息模块和返回认证信息模块;
获取认证信息模块:用于获取UE与网络侧认证的认证信息;
返回认证信息模块:用于将获取认证信息模块获取到的所述认证信息无条件返回给NAF;NAF将其接收到的认证信息发送至UE。
通过上述技术方案的描述可知,本发明中的UE通过查找其与BSF之间的引导会话过程标识对应的基本密钥,并根据查找到的基本密钥来计算衍生密钥,以实现PUSH数据解密过程,在多个NAF与同一个UE实现GBA PUSH情况下,避免了UE为每个NAF均计算基本密钥的过程,节约了UE的处理资源;本发明中的BSF通过获取认证信息,并将认证信息无条件返回给任一需要向UE实现推送的NAF,这样,在多个NAF与同一个UE实现GBA PUSH情况下,避免了UE不能够在后续NAF的GBA PUSH过程中实现网络侧认证的现象,本发明中的UE能够完成各GBA PUSH过程中的网络认证及数据解密过程;从而最终实现了提高UE性能、完善推送功能实现流程的目的。
附图说明
图1是3GPP中定义的GBA的架构示意图;
图2是现有技术的UE执行引导会话过程的流程图;
图3是现有技术的NAF通过Zn接口获取Ks_NAF的流程图;
图4是现有技术的GBA PUSH的实现过程流程图;
图5是本发明实施例的GBA PUSH的实现过程流程图一;
图6是本发明实施例的GBA PUSH的实现过程流程图二。
具体实施方式
在多个NAF(网络应用功能)与同一个UE(用户设备)实现GBA PUSH的情况下,UE在与第一个NAF成功实现网络侧认证、且实现GBA PUSH过程中,UE会保存其与第一个NAF实现GBA PUSH过程中获得的基本密钥Ks信息,如UE保存Ks与B-TID的对应关系等。这样,当UE在实现后续NAF的GBA PUSH过程中成功完成网络侧认证后,本发明中的UE可以充分利用GBA PUSH实现过程中存储Ks信息这一特点,来查找后续的会话引导过程对应的Ks,从而使UE可以直接利用其存储的Ks信息来计算出衍生密钥Ks_NAF,并利用该衍生密钥实现对上述其他NAF发送来的PUSH数据的解密过程,避免了UE根据IK(完整性密钥)和CK(加密密钥)计算基本密钥Ks的过程。
本发明中的UE可以在接收到NAF发送来的PUSH消息、且在与网络侧认证成功后,判断其与BSF之间的引导会话过程标识如NAF传输来的B-TID等是否与其自身存储的信息匹配。这里的NAF可以是第一个向UE实现推送功能的NAF,也可以是后续其他NAF向UE实现推送功能的NAF。也就是说,本发明中的UE在接收到PUSH消息、且与网络侧认证成功后,无论发送PUSH消息的NAF是第一个向UE实现推送功能的NAF,还是后续其他NAF,UE均进行判断、匹配处理。
当UE存储的Ks信息为:Ks与B-TID的对应关系时,UE从其接收到的PUSH消息中获取B-TID,并利用该B-TID在上述Ks与B-TID的对应关系中查找匹配的记录,如果存在匹配的记录,UE利用匹配记录中的Ks计算Ks_NAF,并利用计算出的Ks_NAF解密NAF传输来的PUSH数据;如果不存在匹配的记录,则UE首先根据IK和CK计算Ks,然后,利用计算出的Ks计算Ks_NAF,最后,UE利用计算出的Ks_NAF解密NAF传输来的PUSH数据。
如果PUSH消息中携带有B-TID,则UE可以直接从PUSH消息中获得B-TID,如果PUSH消息中没有携带有B-TID,则UE可以从PUSH消息中的RAND获得B-TID。
从上述描述可以看出,本发明对现有技术图4的步骤7a进行了改进,使UE首先利用B-TID去查找Ks,如果没有查找到对应的Ks,再计算Ks。本发明中的UE也可以存储Ks与其他参数的对应关系,UE在查找时,根据相应的其他参数查找Ks即可。本发明不限制UE存储Ks的具体表现形式。
在多个NAF与同一个UE实现GBA PUSH的情况下,如果UE在与某个NAF实现GBA PUSH过程中,BSF能够获取到UE与网络侧进行认证的认证信息如AUTN等,而且,在后续其他NAF需要向该UE实现GBAPUSH时,BSF不论在什么条件下,都将其获取到的认证信息发送给后续需要实现GBAPUSH的NAF,则后续NAF就能够在判断出UE还没有一个引导会话过程后,将认证信息准确的发送给UE。也就是说,BSF在确定出UE没有一个引导会话过程时,需要将认证信息传输至NAF,BSF在确定出UE有一个引导会话过程时,也需要将认证信息传输至NAF。从而使UE能够顺利的进行对网络侧的认证过程,避免了后续其他NAF向该UE实现GBA PUSH时,不能够将认证信息传输至UE,而导致UE不能够实现网络侧认证的问题。
BSF可以是从HSS处获得认证信息。BSF获得认证信息的具体实现过程可以为:当NAF需要向某个UE实现GBA PUSH时,会向BSF发送密钥请求消息,以请求Ks_NAF。BSF接收密钥请求消息后,会判断上述UE是否有一个引导会话过程,如果BSF确定出上述UE还没有一个引导会话过程,则BSF会从HSS处获取鉴权矢量五元组信息,即AUTN、RAND、XRES、IK、CK。这样,BSF获取到了认证信息,即AUTN,或者AUTN和RAND。
BSF可以存储该五元组信息中的AUTN,或者存储该五元组信息中的AUTN和RAND,以便给后续其他NAF使用。
BSF将认证信息发送给NAF的过程可以为:BSF将认证信息、B-TID、Ks_NAF、密钥有效期、USS通过密钥请求消息的响应消息返回给发送密钥请求消息的NAF。BSF可以通过其他方式将认证信息传输至NAF,如单独将认证信息传输至NAF等。
从上述描述可以看出,本发明对现有技术图4的步骤3a、步骤4b进行了改进,使BSF首先存储UE与网络侧之间的认证信息,然后,不论UE是否存在一个引导会话过程,BSF均将认证信息返回给NAF。本发明不限制BSF存储认证信息、BSF向NAF传输认证信息的具体表现形式。
上述实施例中介绍的两种方法均可以单独适用于GBA PUSH的实现流程中,上述两种方法也可以结合起来适用于GBA PUSH的实现流程中。
下面结合附图5和附图6分别对本发明的两种方法的实现流程进行说明。
图5中,在步骤1、NAF需要向UE广播数据。NAF事先知道UE的某种用户标识如IMPI等,如果NAF事先知道UE的IMPI之外的其它标识,则BSF或HSS应该能够知道与其他标识对应的IMPI。此时,UE没有到NAF的返回通道。
到步骤2、NAF通过Zn接口向BSF发送密钥请求消息,以请求Ks_NAF。该密钥请求消息中携带有该UE的某种用户标识如IMPI等、NAF_ID参数、以及可选的Req_KeyLT(请求密钥有效期)参数和可选的GSID(GBA业务标识)参数。
到步骤3、BSF接收到该密钥请求消息后,首先检查该NAF是否有权执行GBA PUSH操作,在该检查通过后,再检查该UE是否已经有一个引导会话过程,如果检查出该UE还没有一个引导会话过程,表示NAF首次执行GBA PUSH操作,到步骤3a。
步骤3a、BSF启动一个新的引导会话过程,具体过程为:BSF首先从HSS处获取鉴权矢量5元组即AUTN、RAND、XRES、IK、CK,然后,BSF根据IK和CK计算出Ks,再利用上述公计算出Ks_NAF,并生成B-TID。BSF从UE的GUSS中提取出用户安全设置USS。最后,BSF保存上述创建的引导会话过程参数,即B-TID、IMPI、Ks、密钥有效期、引导会话过程的开始时间、应用相关的GUSS、RAND参数等,以便这些参数在以后也可以和其他的NAF一起使用。BSF也可以只保存RAND和B-TID两者中的一个。
如果BSF检查出该UE已经有一个引导会话过程,则到步骤3b。
在步骤3b、BSF利用上述公计算出Ks_NAF,并从UE的GUSS中提取出用户安全设置USS。
到步骤4、BSF向NAF发送响应消息,以向NAF返回Ks_NAF等信息。该步骤有两种不同的执行方式:
步骤4a、如果在步骤3中,该UE没有一个引导会话过程,则BSF向NAF返回AUTN、RAND、B-TID、Ks_NAF、密钥有效期、USS。这里,BSF也可能只返回RAND和B-TID中的一个。
步骤4b、如果在步骤3中,该UE已经有一个引导会话过程,则BSF向NAF返回B-TID、Ks_NAF、密钥有效期。
到步骤5、NAF使用Ks_NAF加密PUSH业务数据,即NAF使用Ks_NAF加密需要发送到UE的广播数据。这里的Ks_NAF是包括Ks_ext_NAF和Ks_int_NAF的。
到步骤6、NAF向UE发送PUSH消息,即执行GBA PUSH过程。该步骤有两种不同的执行方式:
步骤6a、如果NAF和UE之间还没有一个引导会话过程,即UE还没有产生共享密钥Ks_NAF,则NAF向UE发送PUSH消息,PUSH消息中携带有AUTN、RAND、B-TID、NAF_ID、以及可选的加密的数据。这里,NAF也可能只向UE返回RAND和B-TID中的一个。
步骤6b、如果NAF和UE之间已经有一个引导会话过程,即双方都产生了共享密钥Ks_NAF,则NAF向UE发送PUSH消息,PUSH消息中携带有B-TID、NAF_ID、以及可选的加密的数据。
到步骤7、UE接收到NAF发送来的PUSH消息后,解密NAF发送来的数据。同样,该步骤也有两种不同的执行方式:
步骤7a、如果UE接收到的PUSH消息中存在AUTN和RAND,则表明该NAF首次和UE通讯,UE首先通过AUTN和RAND来认证网络,并在认证成功后,UE先根据PUSH消息中的B-TID在其存储的B-TID与Ks的对应关系中查找是否有匹配的记录,如果有匹配的记录,则根据匹配记录中的Ks、利用上述公式计算出Ks_NAF;如果没有匹配的记录,则根据PUSH消息中的IK和CK计算出Ks,再利用上述公式计算出Ks_NAF。最后,UE使用Ks_NAF解密获得NAF发送来的PUSH数据。UE也保存引导会话相关的信息如B-TID、Ks等以及RAND参数,以便以后也可以和其他的NAF一起使用。
步骤7b、如果UE接收到的PUSH消息中不存在AUTN和RAND,则表示UE需要创建Ks_NAF或者UE从其以前保存的数据中提取Ks_NAF。最后,UE使用Ks_NAF解密获得NAF发送来的PUSH数据。
图6中,在步骤1、NAF需要向UE广播数据。NAF事先知道UE的某种用户标识如IMPI等,如果NAF事先知道UE的IMPI之外的其它标识,则BSF或HSS应该能够知道与其他标识对应的IMPI。此时,UE没有到NAF的返回通道。
到步骤2、NAF通过Zn接口向BSF发送密钥请求消息,以请求Ks_NAF。该密钥请求消息中携带有该UE的某种用户标识如IMPI等、NAF_ID参数、以及可选的Req_KeyLT(请求密钥有效期)参数和可选的GSID(GBA业务标识)参数。
到步骤3、BSF接收到该密钥请求消息后,首先检查该NAF是否有权执行GBA PUSH操作,在该检查通过后,再检查该UE是否已经有一个引导会话过程,如果检查出该UE还没有一个引导会话过程,表示NAF首次执行GBA PUSH操作,到步骤3a。
步骤3a、BSF启动一个新的引导会话过程,具体过程为:BSF首先从HSS处获取鉴权矢量5元组即AUTN、RAND、XRES、IK、CK,然后,BSF根据IK和CK计算出Ks,再利用上述公计算出Ks_NAF,并生成B-TID。BSF从UE的GUSS中提取出用户安全设置USS。最后,BSF保存上述创建的引导会话过程参数,即B-TID、IMPI、Ks、密钥有效期、引导会话过程的开始时间、应用相关的GUSS、RAND参数以及AUTN等,以便这些参数在以后也可以和其他的NAF一起使用。BSF也可以只保存RAND和B-TID两者中的一个。
如果BSF检查出该UE已经有一个引导会话过程,则到步骤3b。
在步骤3b、BSF利用上述公计算出Ks_NAF,并从UE的GUSS中提取出用户安全设置USS。
到步骤4、BSF向NAF发送响应消息,以向NAF返回Ks_NAF等信息。该步骤有两种不同的执行方式:
步骤4a、如果在步骤3中,该UE没有一个引导会话过程,则BSF向NAF返回AUTN、RAND、B-TID、Ks_NAF、密钥有效期、USS。这里,BSF也可能只返回RAND和B-TID中的一个。
步骤4b、如果在步骤3中,该UE已经有一个引导会话过程,则BSF首先从其保存的引导会话信息中提取AUTN、RAND,然后,向NAF返回AUTN、RAND、B-TID、Ks_NAF、密钥有效期。这里,BSF也可能只返回RAND和B-TID中的一个。
上述步骤4也可以修改为:BSF不进行判断,直接向NAF发送响应消息,该响应消息中携带有AUTN、RAND、B-TID、Ks_NAF、密钥有效期和USS。
到步骤5、NAF使用Ks_NAF加密PUSH业务数据,即NAF使用Ks_NAF加密需要发送到UE的广播数据。这里的Ks_NAF是包括Ks_ext_NAF和Ks_int_NAF的。
到步骤6、NAF向UE发送PUSH消息,即执行GBAPUSH过程。该步骤有两种不同的执行方式:
步骤6a、如果NAF和UE之间还没有一个引导会话过程,即UE还没有产生共享密钥Ks_NAF,则NAF向UE发送PUSH消息,PUSH消息中携带有AUTN、RAND、B-TID、NAF_ID、以及可选的加密的数据。这里,NAF也可能只向UE返回RAND和B-TID中的一个。
步骤6b、如果NAF和UE之间已经有一个引导会话过程,即双方都产生了共享密钥Ks_NAF,则NAF向UE发送PUSH消息,PUSH消息中携带有B-TID、NAF_ID、以及可选的加密的数据。
到步骤7、UE接收到NAF发送来的PUSH消息后,解密NAF发送来的数据。同样,该步骤也有两种不同的执行方式:
步骤7a、如果UE接收到的PUSH消息中存在AUTN和RAND,则表明该NAF首次和UE通讯,UE首先通过AUTN和RAND来认证网络,并在认证成功后,UE根据PUSH消息中的IK和CK计算出Ks,再利用上述公式计算出Ks_NAF。最后,UE使用Ks_NAF解密获得NAF发送来的PUSH数据。UE也保存引导会话相关的信息如B-TID、Ks等以及RAND参数,以便以后也可以和其他的NAF一起使用。
步骤7b、如果UE接收到的PUSH消息中不存在AUTN和RAND,则表示UE需要创建Ks_NAF或者UE从其以前保存的数据中提取Ks_NAF。最后,UE使用Ks_NAF解密获得NAF发送来的PUSH数据。
本发明提供的基于通用引导构架实现推送功能的用户设备UE中设置有查找模块,查找模块主要用于在UE与网络侧认证成功后,查找其与所述BSF之间的引导会话过程标识对应的基本密钥,如从UE自身存储的信息中查找基本密钥,使UE根据查找到的基本密钥来计算衍生密钥,并利用衍生密钥对NAF传输来的PUSH数据进行解密。UE自身存储的信息可以为:Ks与B-TID的对应关系。查找模块可以在接收到NAF发送来的PUSH消息、且在与网络侧认证成功后,从NAF传输来的消息中获得B-TID,并判断该B-TID是否与其自身存储的信息匹配,从而在多个NAF与同一个UE实现GBA PUSH的情况下,避免了后续其他NAF实现GBA PUSH过程中,UE根据IK和CK计算Ks的过程,节约了UE的处理资源,最终提高了UE的性能。具体如上述方法中的描述。
本发明提供的基于通用引导构架实现推送功能的系统主要包括:BSF和NAF。其中:BSF中设置有获取认证信息模块、返回认证信息模块。
获取认证信息模块主要用于获取UE与网络侧认证的认证信息,如获取认证信息AUTN等。获取认证信息模块可以在BSF保存引导会话过程参数的同时保存认证信息如AUTN,具体如上述方法中的描述。
返回认证信息模块主要用于将获取认证信息模块获取到的认证信息无条件返回给任一需要向该UE实现推送的NAF。返回认证信息模块可以将认证信息、B-TID、Ks_NAF、密钥有效期、USS通过密钥请求消息的响应消息返回给发送密钥请求消息的NAF。这样,接收到认证信息的NAF将其接收到的认证信息发送至UE,使UE完成网络认证及数据解密过程。从而在多个NAF与同一个UE实现GBA PUSH的情况下,避免了后续其他NAF与同一个UE实现GBAPUSH过程中,UE不能够进行网络侧认证的现象。具体如上述方法中的描述。
本发明提供的BSF如上述系统中的描述,在此不再重复描述。
虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,本发明的申请文件的权利要求包括这些变形和变化。

Claims (5)

1.一种基于通用引导构架实现推送功能的方法,其特征在于,包括步骤:
a、启动引导服务器功能实体BSF将认证信息传输至网络应用功能实体NAF,所述认证信息包括衍生密钥Ks_NAF;
b、所述NAF利用所述认证信息对数据进行加密,并传输至用户设备UE;
c、UE在与网络侧认证成功后,查找其与BSF之间的引导会话过程标识对应的基本密钥,并利用该基本密钥计算衍生密钥,实现数据解密;
所述步骤c具体包括:
UE根据NAF传输来的信息确定其与所述BSF之间的引导事务标识B-TID,并在其自身存储的B-TID与基本密钥的对应关系信息中查找该B-TID对应的基本密钥;
UE在查找到对应的基本密钥后,利用该基本密钥计算衍生密钥,并利用计算出的衍生密钥实现数据解密;
UE在其自身存储的信息中没有查找到对应的基本密钥时,根据完整性密钥IK和加密密钥CK计算基本密钥,并利用该计算出的基本密钥计算衍生密钥,最后,利用计算出的衍生密钥实现数据解密;
所述步骤a包括:
A、BSF获取UE与网络侧认证的认证信息,所述认证信息包括随机数RAND和引导事务标识B-TID、或者RAND和B-TID中的一种;
B、BSF将所述认证信息无条件返回给任一需要向所述UE实现推送的NAF。
2.如权利要求1所述的方法,其特征在于,所述步骤a包括:
BSF在判断出其与UE之间不存在引导会话过程后,从用户归属网络服务器HSS处获取鉴权矢量信息,创建并存储引导会话过程参数信息;
BSF从所述引导会话过程参数信息中获取并存储认证信息。
3.如权利要求2所述的方法,其特征在于,所述步骤a包括:
BSF在判断出其与所述UE之间存在引导会话过程后,从其存储的信息中获取认证信息。
4.如权利要求1或2或3所述的方法,其特征在于,所述BSF获取的UE与网络侧认证的认证信息为:鉴权序号AUTN,或者所述认证信息为:AUTN和随机数RAND。
5.一种基于通用引导构架实现推送功能的系统,包括:引导服务器功能实体BSF、网络应用功能实体NAF和用户设备UE,其特征在于,BSF将认证信息传输至NAF,所述认证信息包括衍生密钥Ks_NAF;所述NAF利用所述认证信息对数据进行加密,并传输至UE;
所述用户设备UE中设置有查找模块:
查找模块:用于在UE与网络侧认证成功后,根据认证成功后获得的认证信息查找UE与引导服务器功能实体BSF之间的引导会话过程标识对应的基本密钥,并触发UE根据该基本密钥计算衍生密钥,实现数据解密,所述认证信息包括衍生密钥Ks_NAF;
所述BSF中设置有获取认证信息模块和返回认证信息模块:
获取认证信息模块:用于获取用户设备UE与网络侧认证的认证信息,所述认证信息包括随机数RAND和引导事务标识B-TID、或者RAND和B-TID中的一种;
返回认证信息模块:用于将获取认证信息模块获取到的所述认证信息无条件返回给任一需要向所述UE实现推送的NAF。
CN2006100831123A 2006-06-05 2006-06-05 基于通用引导构架实现推送功能的方法、设备和系统 Expired - Fee Related CN101087261B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2006100831123A CN101087261B (zh) 2006-06-05 2006-06-05 基于通用引导构架实现推送功能的方法、设备和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2006100831123A CN101087261B (zh) 2006-06-05 2006-06-05 基于通用引导构架实现推送功能的方法、设备和系统

Publications (2)

Publication Number Publication Date
CN101087261A CN101087261A (zh) 2007-12-12
CN101087261B true CN101087261B (zh) 2012-05-23

Family

ID=38938028

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006100831123A Expired - Fee Related CN101087261B (zh) 2006-06-05 2006-06-05 基于通用引导构架实现推送功能的方法、设备和系统

Country Status (1)

Country Link
CN (1) CN101087261B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101895881B (zh) * 2009-05-18 2014-09-17 中国移动通信集团公司 一种实现gba密钥的方法及终端可插拔设备
CN101990204B (zh) * 2009-08-07 2014-03-26 中国移动通信集团公司 一种插卡终端业务访问的方法及装置
CN102264069B (zh) * 2010-05-28 2014-03-26 中国移动通信集团公司 基于通用引导架构的认证控制方法、装置及系统
CN102595389B (zh) 2011-01-14 2017-11-03 中兴通讯股份有限公司 一种mtc服务器共享密钥的方法及系统
KR101488268B1 (ko) 2012-08-30 2015-01-30 삼성전자주식회사 푸시 메시지 서비스 방법 및 시스템
CN110830240B (zh) * 2018-08-09 2023-02-24 阿里巴巴集团控股有限公司 一种终端与服务器的通信方法和装置
CN110831002B (zh) * 2018-08-10 2021-12-03 华为技术有限公司 一种密钥推演的方法、装置及计算存储介质
CN112311543B (zh) * 2020-11-17 2023-04-18 中国联合网络通信集团有限公司 Gba的密钥生成方法、终端和naf网元

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1697373A (zh) * 2005-06-17 2005-11-16 中兴通讯股份有限公司 一种用户与应用服务器协商共享密钥的方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1697373A (zh) * 2005-06-17 2005-11-16 中兴通讯股份有限公司 一种用户与应用服务器协商共享密钥的方法

Also Published As

Publication number Publication date
CN101087261A (zh) 2007-12-12

Similar Documents

Publication Publication Date Title
EP2037621B1 (en) Method and device for deriving local interface key
CN111314056B (zh) 基于身份加密体制的天地一体化网络匿名接入认证方法
CN101087261B (zh) 基于通用引导构架实现推送功能的方法、设备和系统
Chen et al. Lightweight and provably secure user authentication with anonymity for the global mobility network
He et al. A strong user authentication scheme with smart cards for wireless communications
Mishra et al. A secure and efficient ECC-based user anonymity-preserving session initiation authentication protocol using smart card
KR101485230B1 (ko) 안전한 멀티 uim 인증 및 키 교환
EP3605942B1 (en) Key agreement for wireless communication
Das A secure and effective user authentication and privacy preserving protocol with smart cards for wireless communications
CN110971415A (zh) 一种天地一体化空间信息网络匿名接入认证方法及系统
EP2248317B1 (en) Secure bootstrapping architecture method based on password-based digest authentication
CN1929371B (zh) 用户和外围设备协商共享密钥的方法
KR20070057871A (ko) 다항식에 기초한 인증 방법
JP2016519873A (ja) 汎用ブートストラッピングアーキテクチャを用いてセキュアな音声通信を確立する方法
CN103313242A (zh) 密钥的验证方法及装置
CN106411926A (zh) 一种数据加密通信方法及系统
Shin et al. An efficient secure authentication scheme with user anonymity for roaming user in ubiquitous networks
CN101141792A (zh) 一种通用引导架构推送的方法
Arshad et al. Security analysis and improvement of two authentication and key agreement schemes for session initiation protocol
CN101039181B (zh) 防止通用鉴权框架中服务功能实体受攻击的方法
CN101090513B (zh) 一种获取业务密钥的方法
Liu et al. A new authentication and key agreement protocol for 5G wireless networks
CN108353279A (zh) 一种认证方法和认证系统
Nikooghadam et al. A provably secure ECC-based roaming authentication scheme for global mobility networks
CN103024735A (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
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120523

Termination date: 20130605