基于通用引导构架实现推送功能的方法和设备的制作方法

文档序号:7961600阅读:136来源:国知局
专利名称:基于通用引导构架实现推送功能的方法和设备的制作方法
技术领域
本发明涉及网络通讯技术领域,具体涉及一种基于通用引导构架实现推送功能的方法和启动引导服务器功能实体设备。
背景技术
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过程后已经获取了Ks_NAF。当该密钥过期或者即将过期时,NAF1会重新发起GBA PUSH过程。此时,会存在如下问题当NAF1在Ks_NAF密钥即将过期而重新发起GBA PUSH过程中,在上述步骤3中,BSF接收到NAF1的请求消息,由于此时BSF中的Ks_NAF密钥也是即将过期,因此,BSF检查出该UE已经有一个引导会话过程,即上次BSF和NAF1之间的引导会话过程,这样,BSF会执行步骤3b,即BSF还是会计算出和上次NAF1的GBAPUSH过程相同的Ks_NAF。在步骤4中,BSF向NAF返回的参数还是上次返回的参数,如旧的B-TID、旧的Ks_NAF、旧的密钥有效期等,而不是新生成引导会话过程参数,从而没有达到NAF重新发起GBA PUSH过程的目的,导致NAF和UE后续的通讯过程中存在严重的安全漏洞。

发明内容
本发明的目的在于,提供一种基于通用引导构架实现推送功能的方法和设备,使NAF在由于密钥即将过期等情况下需要重新执行推送功能时,能够获得新的引导会话过程参数,从而实现了提高NAF和UE之间的通讯安全性、完善基于通用引导构架推送功能技术方案的目的。
为达到上述目的,本发明提供的一种基于通用引导构架实现推送功能的方法,包括a、启动引导服务器功能实体BSF接收到网络应用功能实体NAF传来的密钥请求消息后,判断出所述NAF需要重新执行推送功能;b、BSF生成并保存新的引导会话过程参数,BSF将所述新的引导会话过程参数返回给NAF。
所述步骤a具体包括a1、BSF保存执行推送功能的NAF的NAF标识信息;a2、BSF在确定其接收到的密钥请求消息中的NAF标识信息与其存储的NAF标识信息匹配后,判断出所述NAF需要重新执行推送功能。
所述步骤a1具体包括BSF在接收到NAF传输来的密钥请求消息后,在确定出BSF和用户设备UE之间还没有一个引导会话过程时,生成新的引导会话过程参数和衍生密钥Ks_NAF,并保存所述生成引导会话过程参数和所述NAF的NAF标识信息。
所述步骤a2具体包括BSF在接收到NAF传输来的密钥请求消息后,在确定出BSF和UE之间存在一个引导会话过程,且密钥请求消息中的NAF标识信息与其以前存储的NAF标识信息匹配时,判断出所述NAF需要重新执行推送功能。
所述步骤a具体包括a3、NAF将表示NAF重新执行推送功能的标识参数通过密钥请求消息传输至BSF;a4、BSF根据密钥请求消息中的标识参数判断出NAF重新执行推送功能。
所述步骤a4具体包括BSF确定出其和UE之间存在一个引导会话过程后,根据密钥请求消息中的标识参数,判断出所述NAF需要重新执行推送功能。
所述步骤b还包括BSF删除其存储的旧的引导会话过程参数。
本发明还提供一种启动引导服务器功能实体设备,所述设备中设置有判断模块;判断模块用于在BSF接收到NAF传来的密钥请求消息后,判断出所述NAF需要重新执行推送功能后,触发BSF生成新的引导会话过程参数,BSF保存所述新的引导会话过程参数,并返回给NAF。
判断模块保存执行推送功能的NAF的NAF标识信息,并在确定BSF接收到的密钥请求消息中的NAF标识信息与其存储的NAF标识信息匹配后,判断出所述NAF需要重新执行推送功能。
判断模块根据NAF传输来的密钥请求消息中携带的标识参数判断出NAF重新执行推送功能。
通过上述技术方案的描述可知,本发明中的BSF通过为重新执行推送功能的NAF生成新的引导会话过程参数,使NAF在由于密钥即将过期等情况下,能够获得新的引导会话过程参数如新的密钥、新的密钥有效期等,使NAF和UE之间的密钥能够周期性的变化;从而通过本发明提供的技术方案实现了提高NAF和UE之间的通讯安全性、完善推送功能技术方案的目的。


图1是3GPP中定义的GBA的架构示意图;
图2是现有技术的UE执行引导会话过程的流程图;图3是现有技术的NAF通过Zn接口获取Ks_NAF的流程图;图4是现有技术的GBA PUSH的实现过程流程图;图5是本发明实施例的GBA PUSH的实现过程流程图一;图6是本发明实施例的GBA PUSH的实现过程流程图二。
具体实施例方式
当同一个NAF由于密码即将过期等原因而需要重新执行推送功能时,本发明中的BSF应该为上述重新执行推送功能的NAF生成新的引导会话过程参数,如为密码即将过期而发送密钥请求消息的NAF生成新的引导会话过程参数,并将新的引导会话过程参数传输至NAF。
BSF判断发送密钥请求消息的NAF是否为重新执行推送功能的NAF的方法有多种,下面介绍两种不同的实现方法一、当NAF首次执行GBA PUSH操作时,BSF保存该NAF的NAF_ID,如BSF在保存引导会话过程参数的同时,保存NAF_ID,即保存一个对该UE执行GBA PUSH的NAF_ID列表。这样,当同一个NAF重新执行GBAPUSH功能时,密钥请求消息中的NAF_ID一定与以前保存的引导会话过程参数中的NAF_ID相匹配,BSF确定出该NAF由于Ks_NAF密钥即将过期而重新执行GBA PUSH过程,此时,BSF应该删除其保存的旧的引导会话过程参数,然后,生成新的Ks_NAF、B-TID以及其他引导会话过程参数,并保存,以便以后可以和其他的NAF一起使用,在这个保存过程中,也需要保存NAF_ID。
方法二、NAF在向BSF发送密钥请求消息时,在密钥请求消息中增加一个标识参数,该标识参数用来表示NAF是否重新执行GBA PUSH操作。也就是说,NAF在第一次向BSF发送密钥请求消息时携带的标识参数的值,与NAF以后重新向BSF发送的发送密钥请求消息中携带的标识参数的值不同。这样,BSF可以根据该标识参数数值的不同来区分NAF是首次执行GBA PUSH过程,还是重新执行GBAPUSH过程,BSF根据其判断的结果能够确定出是否启动一个新的引导会话过程。
下面结合附图5对包含上述方法一的GBAPUSH的实现流程进行说明。
图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是否有权执行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_ID等参数,以便这些参数在以后也可以和其他的NAF一起使用。BSF也可以只保存RAND和B-TID两者中的一个。
如果BSF检查出该UE已经有一个引导会话过程,则到步骤3b。
在步骤3b、BSF首先比较接收到的NAF发送来的请求消息中的NAF_ID是否能够与以前保存的引导会话过程中的NAF_ID列表中的某一个记录相匹配,如果可以匹配,则说明该GBA PUSH过程是由于Ks_NAF密钥即将过期而导致NAF重新执行的GBA PUSH过程,此时,BSF删除旧的引导会话过程参数,然后,执行步骤3a;如果不可以匹配,则BSF利用上述公式计算出Ks_NAF,然后,BSF保存NAF_ID,并从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发送来的数据。
下面结合附图6对包含上述方法二的GBA 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业务标识)参数,该请求消息中还携带一个标识参数,用于标识此NAF是首次执行GBA PUSH过程,还是重新执行GBA PUSH过程。
到步骤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首先检查NAF发送来的请求消息中的标识参数,如果该标识参数表示该GBA PUSH过程是由于Ks_NAF密钥即将过期而导致NAF重新执行的GBA PUSH过程,此时,BSF删除旧的引导会话过程参数,然后,执行步骤3a,重新启动一个引导会话过程;如果该标识参数表示该GBA PUSH过程是NAF首次执行GBA PUSH过程,则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发送来的数据。
本发明提供的启动引导服务器功能实体设备中设置有判断模块。
判断模块主要用于当BSF和该UE已经有一个引导会话过程时,BSF收到NAF发来的密钥请求消息、并在判断出需要执行推送功能的NAF需要重新执行推送功能,触发BSF,使BSF为该NAF生成新的引导会话过程参数,BSF保存新的引导会话过程参数,并将新的引导会话过程参数传输至NAF。
当NAF由于密钥即将过期等原因,会向BSF发送密钥请求消息,判断模块可以采用多种方法来判断NAF是否重新执行推送功能,如BSF在存储引导会话过程参数时,同时存储NAF_ID,这样,判断模块可以根据NAF传输来的PUSH消息中的NAF_ID与BSF存储的信息进行匹配,如果匹配,则确定该NAF重新执行推送功能,此时,BSF生成新的引导会话过程参数,并继续后续的处理过程;如果不匹配,则确定该NAF第一次执行推送功能,此时BSF根据已有的引导会话参数计算Ks_NAF,并继续后续的处理过程。再如,NAF向BSF发送密钥请求消息时,在密钥请求消息中携带表示重新执行推送功能的标识参数,这样,判断模块可以根据BSF接收到的密钥请求消息中的标识参数来判断NAF是否重新执行推送功能,如果NAF是重新执行推送功能,则触发BSF生成新的引导会话过程参数,并继续后续的处理过程;如果NAF不是重新执行推送功能,则触发BSF根据已有的引导会话参数计算Ks,进而计算出衍生密钥Ks_NAF,并继续后续的处理过程。具体如上述方法中的描述。
本发明通过在BSF中设置判断模块,使BSF能够为重新执行GBA PUSH的NAF生成新的引导会话参数,从而保证了NAF和UE之间的通讯安全。
虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,本发明的申请文件的权利要求包括这些变形和变化。
权利要求
1.一种基于通用引导构架实现推送功能的方法,其特征在于,包括步骤a、启动引导服务器功能实体BSF接收到网络应用功能实体NAF传来的密钥请求消息后,判断出所述NAF需要重新执行推送功能;b、BSF生成并保存新的引导会话过程参数,BSF将所述新的引导会话过程参数返回给NAF。
2.如权利要求1所述的方法,其特征在于,所述步骤a具体包括a1、BSF保存执行推送功能的NAF的NAF标识信息;a2、BSF在确定其接收到的密钥请求消息中的NAF标识信息与其存储的NAF标识信息匹配后,判断出所述NAF需要重新执行推送功能。
3.如权利要求2所述的方法,其特征在于,所述步骤a1具体包括BSF在接收到NAF传输来的密钥请求消息后,在确定出BSF和用户设备UE之间还没有一个引导会话过程时,生成新的引导会话过程参数和衍生密钥Ks_NAF,并保存所述生成引导会话过程参数和所述NAF的NAF标识信息。
4.如权利要求2所述的方法,其特征在于,所述步骤a2具体包括BSF在接收到NAF传输来的密钥请求消息后,在确定出BSF和UE之间存在一个引导会话过程,且密钥请求消息中的NAF标识信息与其以前存储的NAF标识信息匹配时,判断出所述NAF需要重新执行推送功能。
5.如权利要求1所述的方法,其特征在于,所述步骤a具体包括a3、NAF将表示NAF重新执行推送功能的标识参数通过密钥请求消息传输至BSF;a4、BSF根据密钥请求消息中的标识参数判断出NAF重新执行推送功能。
6.如权利要求5所述的方法,其特征在于,所述步骤a4具体包括BSF确定出其和UE之间存在一个引导会话过程后,根据密钥请求消息中的标识参数,判断出所述NAF需要重新执行推送功能。
7.如权利要求1至6中任一权利要求所述的方法,其特征在于,所述步骤b还包括BSF删除其存储的旧的引导会话过程参数。
8.一种启动引导服务器功能实体设备,其特征在于,所述设备中设置有判断模块;判断模块用于在BSF接收到NAF传来的密钥请求消息后,判断出所述NAF需要重新执行推送功能后,触发BSF生成新的引导会话过程参数,BSF保存所述新的引导会话过程参数,并返回给NAF。
9.如权利要求8所述的设备,其特征在于判断模块保存执行推送功能的NAF的NAF标识信息,并在确定BSF接收到的密钥请求消息中的NAF标识信息与其存储的NAF标识信息匹配后,判断出所述NAF需要重新执行推送功能。
10.如权利要求8所述的设备,其特征在于判断模块根据NAF传输来的密钥请求消息中携带的标识参数判断出NAF重新执行推送功能。
全文摘要
本发明提供一种基于通用引导构架实现推送功能的方法和设备,本发明中的BSF在确定出需要实现推送功能的NAF为重新执行推送功能的NAF时,为该NAF生成新的引导会话过程参数,并传输至该NAF。本发明中的NAF在由于密钥即将过期等情况下,能够获得新的引导会话过程参数如新的密钥、新的密钥有效期等,使NAF和UE之间的密钥能够周期性的变化;从而实现了提高NAF和UE之间的通讯安全性、完善推送功能技术方案的目的。
文档编号H04Q7/22GK101087260SQ20061008311
公开日2007年12月12日 申请日期2006年6月5日 优先权日2006年6月5日
发明者何承东, 严军 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1