用户终端获取bsf为其分配的会话事务标识的方法

文档序号:7618359阅读:213来源:国知局
专利名称:用户终端获取bsf为其分配的会话事务标识的方法
技术领域
本发明涉及第三代无线通信技术领域,特别是指用户终端获取执行用户身份初始检查验证实体(BSF)为其分配的会话事务标识的方法。
背景技术
在第三代无线通信标准中,通用鉴权框架是多种应用业务实体使用的一个用于完成对用户身份进行验证的通用结构,应用通用鉴权框架可实现对应用业务的用户进行检查和验证身份。上述多种应用业务可以是多播/广播业务、用户证书业务、信息即时提供业务等,也可以是代理业务。
图1所示为通用鉴权框架的结构示意图。通用鉴权框架通常由用户终端(UE)101、执行用户身份初始检查验证的实体(BSF)102、用户归属网络服务器(HSS)103和网络应用实体(NAF)104组成。BSF102用于与用户终端101进行互验证身份,同时生成BSF102与用户终端101的共享密钥;HSS103中存储有用于描述用户信息的描述(Profile)文件,该Profile中包括用户身份标识等所有与用户有关的描述信息,同时HSS103还兼有产生鉴权信息的功能。
用户需要使用某种业务时,如果其知道需要首先与BSF进行互鉴权,则直接与BSF联系以进行互鉴权,否则,用户会首先和该业务对应的NAF联系,如果该NAF使用通用鉴权框架且发现发出请求的UE还未与BSF进行互鉴权,则通知发出请求的UE到BSF进行互鉴权以验证身份。
UE与BSF进行互验证的过程是UE向BSF发出鉴权请求,该鉴权请求中包括UE的永久身份标识(IMPI)或由国际移动用户识别码(IMSI)转换得到的IMPI,BSF接到来自UE的鉴权请求后,首先向HSS请求该UE的鉴权信息,该请求中包含了UE的永久身份标识,HSS根据UE的永久身份标识查找到该UE的属性信息并生成鉴权矢量(AV)返回给BSF。鉴权矢量是一个五元组信息,包括完整性密钥IK、加密密钥CK、鉴权随机数RAND、鉴权属性值AUTN和期待返回值XRES。其中鉴权属性值AUTN是由序列号、摘要值及鉴权方式构成的一个复合值。
BSF接收到鉴权矢量后,自己保留IK、CK及XRES,将RAND和AUTN以明文的形式发送给UE,UE中的用户设备(ME)将接收到的RAND和AUTN发送给用户标识卡(UICC),由UICC根据接收到的信息计算出用户端鉴权所需的IK、CK和响应值RES。此时用户端有两种处理模式,一种是UICC将计算出的IK、CK和RES都发送给ME,ME保存IK、CK,然后将RES包含在响应信息中返回给BSF;另一种是UICC只将RES发送给ME,ME将RES包含在响应信息中返回给BSF。BSF检查接收到的RES与自身保存的XRES是否匹配,如果匹配则通过鉴权,否则没有通过鉴权。
鉴权成功后,UE和BSF之间互相认证了身份并且共享了密钥IK、CK,BSF根据密钥IK、CK生成通信密钥Ks,并为该通信密钥Ks定义一个有效期限,以便密钥Ks进行更新。之后,BSF生成一个用于分配给UE的会话事务标识(B-TID),该B-TID为用户名加BSF域名的形式,其中用户名为鉴权过程中使用的鉴权随机数RAND,即B-TID的格式为RAND+BSF域名,并且BSF在本地对该B-TID、用户的永久身份标识、密钥Ks及密钥Ks的有效期限等信息进行关联保存,然后向UE发送指示鉴权成功的消息,该消息中包含以明文形式存在的B-TID,同时该消息中包含密钥Ks的有效期限。密钥Ks通常作为根密钥使用,一般不离开UE和BSF,当用户和NAF通信时,将使用由Ks衍生出的密钥Ks_NAF进行通信。
如果用户端采用第一种处理模式,即ME中保存有IK、CK信息,则当UE接收到来自BSF的指示鉴权成功的消息后,UE中的ME直接从该消息中获取B-TID,然后ME应用自身保存的IK和CK生成密钥Ks,再应用由Ks衍生出的密钥Ks_NAF作为与NAF通信时的保护密钥;如果用户端采用另一种处理模式,即ME中没有IK、CK信息,则当UE接收到来自BSF的指示鉴权成功的消息后,UE中的ME也直接从该消息中获取B-TID,然后ME向UICC发送包含RAND的请求,由UICC根据RAND找到与其对应的IK、CK,并应用该IK、CK计算出ME所需的密钥Ks,进而计算出由Ks衍生出的密钥Ks_NAF,并将Ks_NAF返回给ME,然后ME再应用该Ks_NAF与NAF进行通信。
当用户发现密钥Ks即将过期,或NAF要求UE重新与BSF进行鉴权时,用户端就会重复上述的步骤重新到BSF进行鉴权,以得到新的Ks及B-TID。
由上述通信过程可以看出,现有的ME获取BSF为其分配的B-TID的方式非常简单,即从来自BSF的指示鉴权成功的消息中直接获取即可。而其缺陷也正在于此由于鉴权成功后BSF发送给ME的B-TID是以明文形式进行传送的,这样,很容易使攻击者截获B-TID。再有,UE在向BSF发送鉴权请求时使用的IMPI也是以明文形式进行传送的,因此,很容易使攻击者获取该UE的IMPI与其所应用的B-TID的对应关系,对该用户进行追踪,这样,当UE与NAF通信时,攻击者能够知道该用户正在进行什么业务,从而能够寻找机会攻击该用户的业务。

发明内容
有鉴于此,本发明的目的在于提供一种用户终端获取BSF为其分配的会话事务标识的方法,以避免用户终端被追踪攻击。
为达到上述目的,本发明技术方案是这样实现的一种用户终端获取BSF为其分配的会话事务标识的方法,该方法包括以下步骤a、执行用户身份初始检查验证的实体BSF接收到来自用户终端UE的鉴权请求且对该UE鉴权成功后,生成分配给UE的会话事务标识B-TID,应用鉴权时所使用的密钥对该生成的B-TID进行加密,然后向UE发送指示鉴权成功的消息,该消息中至少包含加密的B-TID;b、UE接收到指示鉴权成功的消息后,获取与步骤a所述相同的密钥,对已加密的B-TID进行解密,获取完整的B-TID。
较佳地,步骤a所述BSF生成的B-TID的格式为由表示唯一性的字段、抗追踪的字段及鉴权随机数RAND共同构成的用户名,再加上BSF的域名。
较佳地,所述表示唯一性的字段为系统当前时间字段,所述抗追踪的字段为BSF任意指定的数构成的字段。
较佳地,步骤a所述BSF应用鉴权时所使用的密钥对B-TID进行加密的方法为应用鉴权时所使用的密钥对B-TID整体进行加密,或者,对B-TID中的任一部分进行加密,且该加密的部分包含鉴权随机数RAND或不包含鉴权随机数RAND。
较佳地,当BSF对B-TID整体进行加密,且由UE中的用户设备ME执行解密操作时,步骤b所述获取与步骤a所述相同的密钥,对已加密的B-TID进行解密,获取完整的B-TID的过程为ME从自身直接获取与步骤a所述相同的密钥,并应用该密钥对加密的B-TID进行解密,直接获取完整的B-TID。
较佳地,当BSF对B-TID中的任一部分进行加密,且由UE中的用户设备ME执行解密操作时,步骤a所述指示鉴权成功的消息中还包括未加密部分的B-TID;步骤b所述获取与步骤a所述相同的密钥,对已加密的B-TID进行解密,获取完整的B-TID的过程为ME从自身直接获取与步骤a所述相同的密钥,并应用该密钥对接加密部分的B-TID进行解密,之后,将解密得到的部分B-TID与未加密部分组合,获得完整的B-TID。
较佳地,当BSF对B-TID整体进行加密,且由UE中的用户标识卡UICC执行解密操作时,步骤b所述获取与步骤a所述相同的密钥,对已加密的B-TID进行解密,获取完整的B-TID的过程为ME接收到指示鉴权成功的消息后,向UICC转发加密的B-TID,且该转发的消息中还包括ME中已保存的与该B-TID对应的鉴权随机数RAND的明文,UICC根据明文的鉴权随机数RAND,从自身获取与步骤a相同的密钥对接收到的B-TID进行解密,直接获取完整的B-TID并保存,之后将完整的B-TID发送给ME。
较佳地,当BSF对B-TID中的任一部分进行加密,且由UE中的用户标识卡UICC执行解密操作时,步骤a所述指示鉴权成功的消息中还包括未加密部分的B-TID;步骤b所述获取与步骤a所述相同的密钥,对已加密的B-TID进行解密,获取完整的B-TID的过程为ME接收到指示鉴权成功的消息后,向UICC转发加密的B-TID,如果加密部分不包含鉴权随机数RAND,则该转发的消息中还包括未加密部分的B-TID,如果加密的部分包含鉴权随机数RAND,则该转发的消息中还包括未加密部分的B-TID和ME中已保存的与该B-TID对应的鉴权随机数RAND的明文,UICC根据明文的鉴权随机数RAND,从自身获取与步骤a相同的密钥对接收到的B-TID进行解密,将解密得到的部分B-TID与未加密部分组合,获得完整的B-TID并保存,之后将完整的B-TID发送给ME。
较佳地,步骤a所述鉴权时所使用的密钥为完整性密钥IK,或加密密钥CK,或由完整性密钥IK和加密密钥CK生成的通信密钥Ks,或以上三者的任意组合。
较佳地,UE获得完整的B-TID后,进一步包括将该B-TID与该B-TID对应的通信密钥关联保存。
较佳地,BSF接收到来自用户终端的鉴权请求后,进一步包括判断该请求中是包含B-TID还是用户身份标识,如果是用户身份标识,则按照现有的鉴权方式继续后续处理;如果是B-TID,则BSF判断本地是否存在该B-TID,如果存在,则提取该B-TID对应的用户身份标识,并然后再按照现有的鉴权方式继续后续处理,否则,BSF要求用户发送包含用户身份标识的鉴权请求。
应用本发明,BSF接收到来自UE的鉴权请求且对该UE鉴权成功后,将所生成B-TID以密文的形式发送给用户终端;用户终端解密后获取完整的B-TID并保存。这样,避免了攻击者直接截获B-TID,而且,也避免了攻击者获取该UE的IMPI与其所应用的B-TID的对应关系,进而避免了攻击者对该用户进行追踪,从而保证了用户信息的安全。


图1所示为通用鉴权框架的结构示意图;图2所示为应用本发明实施例一的流程示意图;图3所示为应用本发明实施例二的流程示意图。
具体实施例方式
下面结合附图及具体实施例,对本发明再作进一步地详细说明。
图2所示为应用本发明实施例一的流程示意图。在本实施例中,ME中保存有鉴权时产生的IK、CK信息。
步骤201,UE向BSF发送鉴权请求,该请求中包含IMPI。
步骤202~203,BSF向HSS请求该UE的鉴权信息,该请求中包含该UE的IMPI,HSS根据UE的IMPI查找到该UE的属性信息并生成鉴权矢量(AV)返回给BSF。AV中包括完整性密钥IK、加密密钥CK、鉴权随机数RAND、鉴权属性值AUTN和期待返回值XRES。
步骤204,BSF与UE进行互鉴权,鉴权过程中,UE中的UICC计算出的IK、CK,并将所计算出的IK、CK发送给ME,ME保存IK、CK信息。
步骤205,鉴权成功后,BSF生成B-TID,应用鉴权时所使用的密钥对B-TID整体进行加密,或者,对B-TID中的任一部分进行加密,该加密的部分可以包含RAND也可以不包含RAND。
BSF所生成的B-TID的格式为由表示唯一性的字段、抗追踪的字段及鉴权随机数RAND共同构成的用户名,再加上BSF的域名,其中,用于表示唯一性的字段为系统当前时间字段,用于表示抗追踪的字段为BSF任意指定的数构成的字段,即B-TID的格式可以表示为如下形式当前时间+BSF指定的一个数+RAND+BSF的域名其中,划线部分为用户名,且用户名部分的各个字段位置的先后顺序根据系统配置而定。
当对B-TID的整体进行加密时,其形式如式(1)所示hash(当前时间+BSF指定的一个数+RAND+BSF的域名) (1)当对B-TID的部分进行加密,且加密部分包含RAND时,其形式如式(2)所示hash(当前时间+BSF指定的一个数+RAND)+BSF的域名 (2)当对B-TID的部分进行加密,且加密部分不包含RAND时,其形式如式(3)所示hash(当前时间+BSF指定的一个数)+RAND+BSF的域名 (3)步骤206,BSF通过指示鉴权成功的消息将加密后的B-TID发送给UE。如果BSF是对B-TID部分进行加密,则该消息中还包含未加密部分的B-TID。
步骤207,由于ME中已保存有IK、CK信息,因此,ME应用与BSF加密时所应用的相同密钥对接收到的信息解密,获取完整的B-TID并保存。具体过程为如果BSF是对B-TID整体进行加密,则ME从自身获取与BSF加密时应用的相同密钥对接收到的B-TID进行解密,直接获取完整的B-TID;如果BSF是对B-TID部分进行加密,则ME从自身获取与BSF加密时应用的相同密钥对接收到的B-TID进行解密,然后将解密得到的部分B-TID与未加密部分组合,从而获得完整的B-TID。例如部分加密时,加密部分和RAND的值总共是256位,RAND是后面的128位,那么ME解密前面的128位然后与后面的RAND组合,形成完整的B-TID。
步骤208,UE中的ME应用自身保存的IK和CK生成密钥Ks,并且将该完整的B-TID与其所对应通信密钥Ks等信息关联保存。也就是说,UE将关联保存该B-TID与该B-TID对应的通信密钥。之后,ME再应用由Ks衍生出的密钥Ks_NAF作为与NAF通信时的保护密钥,使用已获取的B-TID与NAF进行正常的通信。
图3所示为应用本发明实施例二的流程示意图。在本实施例中,ME中不保存鉴权时产生的IK、CK信息。当ME需要使用鉴权时产生的密钥信息时都向UICC请求。
步骤301至303与图2中的步骤201至203相同。
步骤304,BSF与UE进行互鉴权,鉴权过程中,UE中的UICC计算出的IK、CK,并只在自身保存,而不发送给ME。
步骤305至306与步骤205至206相同。
步骤307,ME将接收到的指示鉴权成功的消息后,将其中B-TID信息转发送给UICC。如果BSF对B-TID整体进行加密,则转发的B-TID信息为加密后的B-TID,如果BSF是对B-TID部分进行加密,则该转发的B-TID信息是加密部分的B-TID和未加密部分的B-TID。
由于ME需要UICC执行解密操作,因此,为了能够让UICC从自身保存的信息中获得用于解密的密钥,ME必须将RAND的明文发送给UICC,以便UICC根据已保存的RAND与IK、CK的对应关系得到所需的密钥。也就是说,如果BSF对B-TID整体进行加密即如式(1)的加密方式,或是BSF是对B-TID中的任一部分进行加密且加密部分包含RAND即如式(2)的加密方式,则上述转发的消息中还包括ME中已保存的与该B-TID对应的RAND的明文;如果BSF是对B-TID中的任一部分进行加密,且加密部分不包含RAND,即如式(3)的加密方式,则上述转发的消息中不需要再包含RAND的明文,只包含加密部分的B-TID和未加密部分的B-TID即可。
步骤308,UICC应用与BSF加密时所应用的相同密钥对接收到的信息直接解密,获取完整的B-TID。具体过程为如果BSF是对B-TID整体进行加密,则UICC从自身获取与BSF加密时所应用的相同密钥对接收到的B-TID进行解密,直接获取完整的B-TID;如果BSF是对B-TID部分进行加密,则UICC从自身获取与BSF加密时所应用的相同密钥对接收到的B-TID进行解密,然后将解密得到的部分B-TID与未加密部分组合,从而获得完整的B-TID。并且,UICC将该完整的B-TID与其所对应通信密钥Ks等信息关联保存。也就是说,UE将关联保存该B-TID与该B-TID对应的通信密钥。
步骤309,UICC将完整的B-TID发送给ME,ME进行保存,以便向NAF请求业务。
步骤310,UE使用已获取的B-TID与NAF进行正常的通信。当需要密钥时,UE中的ME以B-TID为索引要求UICC进行计算,其具体过程与现有技术相同,再次不再详细描述。
上述两个实施例的主要区别是,在第一个实施例中,由ME执行解密操作,在第二个实施例中由UICC执行解密操作。
上述两个实施例中所述的鉴权时所使用的密钥为完整性密钥IK,或加密密钥CK,或由完整性密钥IK和加密密钥CK生成的通信密钥Ks,或以上三者的任意组合。当然,具体应用哪种密钥是根据系统配置决定的,且加解密双方都是预先已知的。
另外,对于上述两个实施例而言,UE向BSF发送的鉴权请求中也可以不包含IMPI,而是包含UE已有的B-TID,此时,当BSF接收到来自用户终端的鉴权请求后,先判断该请求中是包含B-TID还是用户身份标识,如果是用户身份标识,则根据该用户身份标识从HSS中获取鉴权矢量,然后按照现有的鉴权方式继续后续处理;如果是B-TID,则BSF判断本地是否存在该B-TID,如果存在,则提取该B-TID对应的用户身份标识,并根据该用户身份标识从HSS中获取鉴权信息,然后再按照现有的鉴权方式继续后续处理,否则,BSF要求用户发送包含用户身份标识的鉴权请求。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种用户终端获取BSF为其分配的会话事务标识的方法,其特征在于,该方法包括以下步骤a、执行用户身份初始检查验证的实体BSF接收到来自用户终端UE的鉴权请求且对该UE鉴权成功后,生成分配给UE的会话事务标识B-TID,应用鉴权时所使用的密钥对该生成的B-TID进行加密,然后向UE发送指示鉴权成功的消息,该消息中至少包含加密的B-TID;b、UE接收到指示鉴权成功的消息后,获取与步骤a所述相同的密钥,对已加密的B-TID进行解密,获取完整的B-TID。
2.根据权利要求1所述的方法,其特征在于,步骤a所述BSF生成的B-TID的格式为由表示唯一性的字段、抗追踪的字段及鉴权随机数RAND共同构成的用户名,再加上BSF的域名。
3.根据权利要求2所述的方法,其特征在于,所述表示唯一性的字段为系统当前时间字段,所述抗追踪的字段为BSF任意指定的数构成的字段。
4.根据权利要求2所述的方法,其特征在于,步骤a所述BSF应用鉴权时所使用的密钥对B-TID进行加密的方法为应用鉴权时所使用的密钥对B-TID整体进行加密,或者,对B-TID中的任一部分进行加密,且该加密的部分包含鉴权随机数RAND或不包含鉴权随机数RAND。
5.根据权利要求4所述的方法,其特征在于,当BSF对B-TID整体进行加密,且由UE中的用户设备ME执行解密操作时,步骤b所述获取与步骤a所述相同的密钥,对已加密的B-TID进行解密,获取完整的B-TID的过程为ME从自身直接获取与步骤a所述相同的密钥,并应用该密钥对加密的B-TID进行解密,直接获取完整的B-TID。
6.根据权利要求4所述的方法,其特征在于,当BSF对B-TID中的任一部分进行加密,且由UE中的用户设备ME执行解密操作时,步骤a所述指示鉴权成功的消息中还包括未加密部分的B-TID;步骤b所述获取与步骤a所述相同的密钥,对已加密的B-TID进行解密,获取完整的B-TID的过程为ME从自身直接获取与步骤a所述相同的密钥,并应用该密钥对接加密部分的B-TID进行解密,之后,将解密得到的部分B-TID与未加密部分组合,获得完整的B-TID。
7.根据权利要求4所述的方法,其特征在于,当BSF对B-TID整体进行加密,且由UE中的用户标识卡UICC执行解密操作时,步骤b所述获取与步骤a所述相同的密钥,对已加密的B-TID进行解密,获取完整的B-TID的过程为ME接收到指示鉴权成功的消息后,向UICC转发加密的B-TID,且该转发的消息中还包括ME中已保存的与该B-TID对应的鉴权随机数RAND的明文,UICC根据明文的鉴权随机数RAND,从自身获取与步骤a相同的密钥对接收到的B-TID进行解密,直接获取完整的B-TID并保存,之后将完整的B-TID发送给ME。
8.根据权利要求4所述的方法,其特征在于,当BSF对B-TID中的任一部分进行加密,且由UE中的用户标识卡UICC执行解密操作时,步骤a所述指示鉴权成功的消息中还包括未加密部分的B-TID;步骤b所述获取与步骤a所述相同的密钥,对已加密的B-TID进行解密,获取完整的B-TID的过程为ME接收到指示鉴权成功的消息后,向UICC转发加密的B-TID,如果加密部分不包含鉴权随机数RAND,则该转发的消息中还包括未加密部分的B-TID,如果加密的部分包含鉴权随机数RAND,则该转发的消息中还包括未加密部分的B-TID和ME中已保存的与该B-TID对应的鉴权随机数RAND的明文,UICC根据明文的鉴权随机数RAND,从自身获取与步骤a相同的密钥对接收到的B-TID进行解密,将解密得到的部分B-TID与未加密部分组合,获得完整的B-TID并保存,之后将完整的B-TID发送给ME。
9.根据权利要求1所述的方法,其特征在于,步骤a所述鉴权时所使用的密钥为完整性密钥IK,或加密密钥CK,或由完整性密钥IK和加密密钥CK生成的通信密钥Ks,或以上三者的任意组合。
10.根据权利要求1所述的方法,其特征在于,UE获得完整的B-TID后,进一步包括将该B-TID与该B-TID对应的通信密钥关联保存。
11.根据权利要求1所述的方法,其特征在于,BSF接收到来自用户终端的鉴权请求后,进一步包括判断该请求中是包含B-TID还是用户身份标识,如果是用户身份标识,则按照现有的鉴权方式继续后续处理;如果是B-TID,则BSF判断本地是否存在该B-TID,如果存在,则提取该B-TID对应的用户身份标识,并然后再按照现有的鉴权方式继续后续处理,否则,BSF要求用户发送包含用户身份标识的鉴权请求。
全文摘要
本发明公开了一种用户终端获取BSF为其分配的会话事务标识的方法,其关键是,BSF接收到来自UE的鉴权请求且对该UE鉴权成功后,将所生成B-TID以密文的形式发送给用户终端;用户终端解密后获取完整的B-TID并保存。这样,避免了攻击者直接截获B-TID,而且,也避免了攻击者获取该UE的IMPI与其所应用的B-TID的对应关系,进而避免了攻击者对该用户进行追踪,从而保证了用户信息的安全。
文档编号H04W12/06GK1867164SQ20051007083
公开日2006年11月22日 申请日期2005年5月19日 优先权日2005年5月19日
发明者黄迎新 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1