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

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

Info

Publication number
CN101087260B
CN101087260B CN2006100831119A CN200610083111A CN101087260B CN 101087260 B CN101087260 B CN 101087260B CN 2006100831119 A CN2006100831119 A CN 2006100831119A CN 200610083111 A CN200610083111 A CN 200610083111A CN 101087260 B CN101087260 B CN 101087260B
Authority
CN
China
Prior art keywords
naf
bsf
request message
push function
secret key
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
CN2006100831119A
Other languages
English (en)
Other versions
CN101087260A (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 CN2006100831119A priority Critical patent/CN101087260B/zh
Publication of CN101087260A publication Critical patent/CN101087260A/zh
Application granted granted Critical
Publication of CN101087260B publication Critical patent/CN101087260B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明提供一种基于通用引导构架实现推送功能的方法和设备,本发明中的BSF在确定出需要实现推送功能的NAF为重新执行推送功能的NAF时,为该NAF生成新的引导会话过程参数,并传输至该NAF。本发明中的NAF在由于密钥即将过期等情况下,能够获得新的引导会话过程参数如新的密钥、新的密钥有效期等,使NAF和UE之间的密钥能够周期性的变化;从而实现了提高NAF和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,使其能够符合GBA push业务的需求。
对于UE来说,网络侧NAF向UE主动发起GBA过程好象是网络侧向自己主动推送一些信息一样,因此,可以将这种GBA过程称为GBA PUSH(基于GBA的推送功能)。
GBA PUSH的实现过程流程图如附图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会重新发起GBAPUSH过程。此时,会存在如下问题:
当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首次执行GBAPUSH操作时,BSF保存该NAF的NAF_ID,如BSF在保存引导会话过程参数的同时,保存NAF_ID,即保存一个对该UE执行GBAPUSH的NAF_ID列表。这样,当同一个NAF重新执行GBAPUSH功能时,密钥请求消息中的NAF_ID一定与以前保存的引导会话过程参数中的NAF_ID相匹配,BSF确定出该NAF由于Ks_NAF密钥即将过期而重新执行GBAPUSH过程,此时,BSF应该删除其保存的旧的引导会话过程参数,然后,生成新的Ks_NAF、B-TID以及其他引导会话过程参数,并保存,以便以后可以和其他的NAF一起使用,在这个保存过程中,也需要保存NAF_ID。
方法二、NAF在向BSF发送密钥请求消息时,在密钥请求消息中增加一个标识参数,该标识参数用来表示NAF是否重新执行GBA PUSH操作。也就是说,NAF在第一次向BSF发送密钥请求消息时携带的标识参数的值,与NAF以后重新向BSF发送的发送密钥请求消息中携带的标识参数的值不同。这样,BSF可以根据该标识参数数值的不同来区分NAF是首次执行GBA PUSH过程,还是重新执行GBA PUSH过程,BSF根据其判断的结果能够确定出是否启动一个新的引导会话过程。
下面结合附图5对包含上述方法一的GBA PUSH的实现流程进行说明。
图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对包含上述方法二的GBAPUSH的实现流程进行说明。
图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之间的通讯安全。
虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,本发明的申请文件的权利要求包括这些变形和变化。

Claims (6)

1.一种基于通用引导构架实现推送功能的方法,其特征在于,包括步骤:
a、启动引导服务器功能实体BSF接收到网络应用功能实体NAF传来的密钥请求消息后,判断出所述NAF需要重新执行推送功能;
b、BSF生成并保存新的引导会话过程参数,BSF将所述新的引导会话过程参数返回给NAF;
所述判断出所述NAF需要重新执行推送功能包括:
BSF在确定其接收到的密钥请求消息中的NAF标识信息与其存储的NAF标识信息匹配后,判断出所述NAF需要重新执行推送功能;或者
BSF根据所述密钥请求消息中包含的表示NAF重新执行推送功能的标识参数判断出NAF重新执行推送功能。
2.如权利要求1所述的方法,其特征在于,所述BSF存储的NAF标识信息包括:
BSF在首次执行基于通用引导架构的推送操作时,保存的NAF标识信息。
3.如权利要求1所述的方法,其特征在于,所述BSF在确定其接收到的密钥请求消息中的NAF标识信息与其存储的NAF标识信息匹配后,判断出所述NAF需要重新执行推送功能具体包括:
BSF在接收到NAF传输来的密钥请求消息后,在确定出BSF和UE之间存在一个引导会话过程,且密钥请求消息中的NAF标识信息与其以前存储的NAF标识信息匹配时,判断出所述NAF需要重新执行推送功能。
4.如权利要求1所述的方法,其特征在于,所述BSF根据所述密钥请求消息中包含的表示NAF重新执行推送功能的标识参数判断出NAF重新执行推送功能具体包括:
BSF确定出其和UE之间存在一个引导会话过程后,根据密钥请求消息中的标识参数,判断出所述NAF需要重新执行推送功能。
5.如权利要求1至4中任一权利要求所述的方法,其特征在于,所述步骤b还包括:
BSF删除其存储的旧的引导会话过程参数。
6.一种基于通用引导构架实现推送功能的设备,其特征在于,所述设备中设置有:
判断模块,用于在启动引导服务器功能实体BSF接收到网络应用功能实体NAF传来的密钥请求消息后,判断出所述NAF需要重新执行推送功能;
参数生成模块,用于触发BSF生成并保存新的引导会话过程参数,并将所述新的引导回话过程参数返回给NAF;
所述判断模块包括:
第一判断子模块,用于在确定BSF接收到的密钥请求消息中的NAF标识信息与其存储的NAF标识信息匹配后,判断出所述NAF需要重新执行推送功能;
第二判断子模块,用于根据所述密钥请求消息中包含的表示NAF重新执行推送功能的标识参数判断出NAF重新执行推送功能。
CN2006100831119A 2006-06-05 2006-06-05 基于通用引导构架实现推送功能的方法和设备 Expired - Fee Related CN101087260B (zh)

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
CN101087260A CN101087260A (zh) 2007-12-12
CN101087260B true CN101087260B (zh) 2011-05-04

Family

ID=38938027

Family Applications (1)

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

Country Status (1)

Country Link
CN (1) CN101087260B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102238540A (zh) * 2010-04-27 2011-11-09 中国移动通信集团公司 通用引导架构密钥更新的方法、装置与系统
US9654284B2 (en) 2012-02-02 2017-05-16 Nokia Solutions And Networks Oy Group based bootstrapping in machine type communication
WO2021196161A1 (en) * 2020-04-03 2021-10-07 Apple Inc. Application Function Key Derivation and Refresh
CN117729539A (zh) * 2022-09-08 2024-03-19 中国移动通信有限公司研究院 业务处理方法、装置、网络设备和存储介质

Also Published As

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

Similar Documents

Publication Publication Date Title
Chen et al. Lightweight and provably secure user authentication with anonymity for the global mobility network
KR101455891B1 (ko) 네트워크와 통신하는 이동 장비에 의해 수행되는 방법 및 이동 장비와 통신하는 네트워크에 의해 수행되는 방법
JP6907241B2 (ja) 保護レンジ検出を用いたセキュリティ状態の修正
CN102638794B (zh) 鉴权和密钥协商方法、认证方法、系统及设备
EP2037621B1 (en) Method and device for deriving local interface key
CN111314056B (zh) 基于身份加密体制的天地一体化网络匿名接入认证方法
He et al. A strong user authentication scheme with smart cards for wireless communications
CN101369893B (zh) 一种对临时用户进行局域网络接入认证的方法
CN101022651B (zh) 一种组合鉴权架构及其实现方法
CN102413464B (zh) 基于gba的电信能力开放平台密钥协商系统和方法
CN101087261B (zh) 基于通用引导构架实现推送功能的方法、设备和系统
EP2472770A1 (en) Entity bidirectional authentication method by introducing an online third party
CN101141792A (zh) 一种通用引导架构推送的方法
CA2545229A1 (en) Method for verifying the validity of a user
US20120167190A1 (en) Entity authentication method with introduction of online third party
CN101039181B (zh) 防止通用鉴权框架中服务功能实体受攻击的方法
KR20130055829A (ko) 시간 기반 인증 시스템 및 방법
US20140115337A1 (en) Symmetric dynamic authentication and key exchange system and method thereof
CN101090513B (zh) 一种获取业务密钥的方法
US8407474B2 (en) Pre-authentication method, authentication system and authentication apparatus
CN101087260B (zh) 基于通用引导构架实现推送功能的方法和设备
CN101282215A (zh) 证书鉴别方法和设备
KR101683286B1 (ko) 이동통신망을 이용한 싱크 인증 시스템 및 방법
CN102065421A (zh) 一种更新密钥的方法、装置和系统
CN104901967A (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: 20110504

Termination date: 20130605