首页> 中国专利> 一种同步SQN的处理方法

一种同步SQN的处理方法

摘要

本发明提供了一种同步SQN的处理方法,尤其涉及一种MSC/VLR处理HLR/AUC返回的同步处理结果消息的方法,所述方法包括:MSC/VLR接收到HLR/AUC发送的同步处理结果消息后,根据同步处理结果消息中包含的不同内容信息执行相应的处理操作。通过该方法可方便安全地实现终端向HLR/AUC传送信息以及HLR/AUC处理该信息后向MSC/VLR做出不同的反馈。特别地,在终端与网络建立连接之前,例如在鉴权的过程中,向HLR/AUC传送有效信息以及HLR/AUC向MSC/VLR做出相应的反馈。

著录项

  • 公开/公告号CN1859709A

    专利类型发明专利

  • 公开/公告日2006-11-08

    原文格式PDF

  • 申请/专利权人 华为技术有限公司;

    申请/专利号CN200510036223.4

  • 发明设计人 王正伟;刘斐;

    申请日2005-07-26

  • 分类号H04Q7/38(20060101);

  • 代理机构

  • 代理人

  • 地址 518129 广东省深圳市龙岗区坂田华为总部办公楼

  • 入库时间 2023-12-17 17:51:11

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2008-06-18

    授权

    授权

  • 2007-01-03

    实质审查的生效

    实质审查的生效

  • 2006-11-08

    公开

    公开

说明书

技术领域

本发明涉及通信安全技术,具体涉及一种同步SQN的处理方法。

背景技术

现有的第三代移动通信系统中的鉴权流程,在移动终端中保存国际移动用户标识IMSI、鉴权密钥KI和序列号SQNMS,HLR/AUC中针对该移动终端对应保存IMSI、KI和序列号SQNHE,以用于移动终端和网络相互鉴权。

3G通信系统的现有鉴权流程主要为:HLR/AUC产生随机数RAND,根据随机数RAND和KI产生期望响应XRES、加密密钥CK、完整性密钥IK;根据随机数RAND、序列号SQNHE、鉴权密钥KI和鉴权管理域AMF产生出MAC-A,根据MAC-A,SQNHE、AK和AMF得到鉴权标记AUTN(Authentication Token)。由RAND和XRES、CK、IK和AUTN组成鉴权五元组,将该五元组发送给MSC/VLR保存。当然,实际当中,HLR/AUC是应MSC/VLR的请求才将产生的相应的一个或多个五元组发送给MSC/VLR的。鉴权时,MSC/VLR将对应五元组中RAND和AUTN发送给终端,终端根据自己保存的KI验证AUTN的一致性,如果一致性验证不通过,则向MSC/VLR返回鉴权失败信息;若一致性验证通过,则判断SQNHE是否属于可接受的范围:若属于,则终端判断出对网络鉴权通过,终端向MSC/VLR返回自己产生的鉴权响应,并根据AUTN中的SQNHE更新SQNMS,MSC/VLR比较终端返回的鉴权响应和对应五元组中的XRES是否一致来判断终端的合法性;若判断出SQNHE不属于可接受范围,则终端根据SQNMS产生再同步标记AUTS(Resynchronisation Token),对MSC/VLR返回再同步请求或同步失败(Synchronisation failure)消息,同时附上产生的再同步标记AUTS,也即消息中包含AUTS。MSC/VLR接收到再同步标记AUTS时,将AUTS和对应五元组中的RAND发送给HLR/AUC,HLR/AUC根据对应保存的KI和接收到的RAND,判断AUTS的合法性,如果不合法,则HLR/AUC向MSC/VLR返回AUTS不合法信息;如果判断出AUTS合法,则HLR/AUC根据AUTS中的SQNMS更新SQNHE,并产生一个新的鉴权五元组发送给MSC/VLR,MSC/VLR接收到新的五元组后,删除对应的旧的五元组并利用新五元组重新对终端鉴权。

终端通过比较自己保存的SQNMS和AUTN中的SQNHE是否满足预定的条件来判断SQNHE是否可以接受,该预定条件可以是SQNHE和SQNMS的差值在一个预定范围内,例如,是否(SQNHE-SQNMS)大于0,或者是否(SQNHE-SQNMS)大于0且小于256。如果SQNHE和SQNMS的差值在所述预定范围内,则判断出SQNHE是可接受的;否则判断出SQNHE是不可接受的。

关于3G鉴权流程的详细内容,可以参照3GPP规范,为了突出本发明重点,本文不对其进行详细阐述。

由上可见在3G通信系统的现有鉴权流程中,SQNMS主要用于判断AUTN中SQNHE是否是最新的或SQNHE是否在可接受范围内,以及更新SQNHE时使用。而同步SQN流程也主要用于向HLR/AUC传送真实的SQNMS。

在现实当中,存在用户卡克隆现象,这种现象不但给合法用户带来损失,还会影响到运营商的服务质量。后来有人发现,通过不断地更新用户卡的鉴权密钥,可以避免或发现合法用户卡被克隆。具体过程是终端产生一个随机数,用随机数和原鉴权密钥进行计算得到一个新的鉴权密钥,并向HLR/AUC发送一个更新密钥的命令,命令中包括了所述随机数;HLR/AUC接收到密钥更新命令后,也用所述随机数和原鉴权密钥进行计算,产生一个新的鉴权密钥。这样,终端和网络在下次鉴权时,都用新的鉴权密钥进行鉴权。不难看出,该密钥更新过程存在如下问题:密钥更新后,MSC/VLR中如果还有没有用完的鉴权五元组,HLR/AUC如何让MSC/VLR来清除这些老的五元组,并将新的五元组发送给MSC/VLR,要解决这个问题,就需要在HLR/AUC和MSC/VLR间增加相应的协议。

还有一种情况,终端在连接网络时,可能需要将终端设备的能力,比如是否支持GPS定位,是否是GSM/WCDMA双模手机等等信息传送给网络。

还有一种情况,终端采用密钥托管HLR/AUC的方式来实现防盗功能,用户设置防盗功能和取消防盗功能时,都需要给HLR/AUC发送相应的通知消息。在实现这种密钥托管HLR/AUC的防盗方法中,还有一种鉴权密钥置换方案,即用终端的安全密钥替代用户卡的鉴权密钥来实现与网络侧的相互鉴权。这种情况下,HLR/AUC产生鉴权元组时,使用的对应的终端安全密钥替代用户卡密钥来产生鉴权五元组。这个过程中,终端不但要向HLR/AUC传送设置防盗和取消防盗命令信息,HLR/AUC还要在设置防盗功能时将根据安全密钥产生的鉴权五元组发送给MSC/VLR,并让MSC/VLR删除老的鉴权元组;同样,HLR/AUC也要在取消防盗功能时,将根据鉴权密钥产生的鉴权五元组发送给MSC/VLR,并让MSC/VLR删除老的鉴权元组。要实现这些功能,显然需要增加终端到HLR/AUC的协议,以及增加HLR/AUC到MSC/VLR的协议。

还有一种情况,终端采用密钥托管HLR/AUC的方式来实现锁网功能,终端初次运行时,需要告诉网络终端是一个锁网手机,要求网络采用终端的密钥替代用户卡的鉴权密钥来进行鉴权,这种情况下,终端向HLR/AUC传送锁网手机信息,以及HLR/AUC根据得到该信息后,获取对应终端的初始密钥,并根据初始密钥产生新鉴权元组,将新鉴权元组发送给MSC/VLR,由MSC/VLR根据新鉴权元组来进行鉴权,这个过程,也需要增加手机到HLR/AUC以及HLR/AUC到MSC/VLR的协议。

上述各种情况,增加协议都将导致对HLR/AUC和MSC/VLR的大量更改,因此,实现成本较高。另外,上述终端向HLR/AUC传送命令时还存在假终端对HLR/AUC采取消息重放的攻击。如何在不增加现有通信协议、信令资源和运营成本的基础上,方便地解决终端到HLR/AUC/AUC,以及HLR/AUC到MSC/VLR的信息传递是一个值得解决的问题。

发明内容

有鉴于此,本发明要解决技术问题是提供一种同步SQN的处理方法,通过该方法方便安全地实现终端向HLR/AUC传送信息以及HLR/AUC处理该信息后向MSC/VLR做出不同的反馈。特别地,在终端与网络建立连接之前,例如在鉴权的过程中,向HLR/AUC传送有效信息以及HLR/AUC向MSC/VLR做出相应的反馈。

本发明提供的解决上述问题的技术方案为:一种同步SQN的处理方法,MSC/VLR在对终端进行鉴权时,将接收自HLR/AUC的鉴权五元组中的相应鉴权参数通过鉴权请求消息发送给终端,终端根据自己的鉴权密钥KI和鉴权序列号SQNMS对网络进行鉴权,所述方法包括以下步骤:

a.终端对网络鉴权通过后,终端用约定的特定值代替SQNMS来产生再同步标记AUTS,对网络发送再同步请求命令且附上所述再同步标记AUTS;

b.网络侧HLR/AUC接收到所述再同步请求命令,执行判断所述再同步标记AUTS是否合法,以及判断所述再同步标记AUTS中的SQNMS是否为所述约定的特定值的操作;HLR/AUC根据不同判断结果向MSC/VLR返回包括不同内容信息的同步处理结果消息,并在判断所述再同步标记AUTS合法且再同步标记AUTS中的SQNMS为所述约定的特定值时,执行所述约定的特定值对应的操作;

c.MSC/VLR接收到HLR/AUC发送的同步处理结果消息后,根据同步处理结果消息中包含的不同内容信息执行相应的处理操作。

根据本发明的优选实施方案,其中,所述MSC/VLR在对终端进行鉴权之前进一步包括终端对网络侧发送可引起鉴权流程的命令或请求,所述命令或请求可以是位置更新请求或业务请求。

其中,所述鉴权五元组包括:随机数RAND、期望响应XRES、加密密钥CK、完整性密钥IK和鉴权标记AUTN;所述鉴权标记AUTN包括鉴权序列号SQNHE、鉴权管理域AMF和消息鉴权编码MAC-A;所述相应鉴权参数包括随机数RAND和鉴权标记AUTN。

优选地,步骤a中,终端对网络鉴权通过后,进一步包括根据所述AUTN中的SQNHE更新自己的SQNMS。

优选地,所述终端对网络鉴权通过是指:终端根据自己的鉴权密钥KI和接收的RAND对接收的AUTN进行一致性判断通过,且根据自己的SQNMS判断AUTN中的SQNHE在可接受范围内。

优选地,步骤a还包括:终端根据自己的鉴权密钥KI和接收的RAND对接收的AUTN进行一致性判断通过,且根据自己的SQNMS判断AUTN中的SQNHE不属于可接受范围内时,直接根据SQNMS产生再同步标记AUTS,对网络发送再同步请求命令且附上所述再同步标记AUTS。

优选地,步骤a中,终端直接根据SQNMS来产生再同步标记AUTS是指:终端直接根据自己的SQNMS、鉴权密钥KI和接收到的RAND以及AUTN中的AMF进行计算产生再同步标记AUTS。

优选地,步骤a中,终端用约定的特定值代替SQNMS来产生再同步标记AUTS是指:终端用约定的特定值代替SQNMS来根据自己的鉴权密钥KI、接收到的RAND以及AUTN中的AMF进行计算产生再同步标记AUTS。

优选地,所述步骤b中:HLR/AUC在判断所述再同步标记AUTS合法且再同步标记AUTS中的SQNMS不是所述约定的特定值时,根据SQNMS更新SQNHE。

优选地,所述步骤b进一步包括:所述HLR/AUC判断所述AUTS是否合法,如果非法,则向MSC/VLR返回包括非法同步信息的同步处理结果消息;如果合法,则HLR/AUC判断所述AUTS中的SQNMS是否为所述约定的特定值,如果是,则执行所述特定值对应的操作,并向MSC/VLR返回包括特殊同步信息的同步处理结果信息,否则,根据SQNMS更新SQNHE,并重新产生鉴权元组,向MSC/VLR返回包括新鉴权元组且需要重新鉴权信息的同步处理结果信息。

优选地,所述特殊同步处理信息可以是用于指示以下内容中的一个或多个:对终端鉴权通过,新产生的鉴权元组,新鉴权元组是否是用于鉴权,特定值所指示的同步类型信息,以及是否需要重新对终端鉴权。

优选地,所述步骤c进一步包括:MSC/VLR接收到HLR/AUC发送的同步处理结果消息后,判断同步处理结果消息中是否包含了非法同步信息,如果是,则结束处理流程;否则,MSC/VLR判断同步处理结果消息中是否包含了新鉴权元组信息:如果包含了新鉴权元组信息,则删除旧鉴权,并进一步判断同步处理结果消息中是否包含了需要重新对终端鉴权信息,如果需要重新鉴权则用新鉴权元组对终端重新发起鉴权,否则,保存新鉴权元组以用于后续鉴权,判断出对终端鉴权通过并进行相应的处理;如果不包含所述新鉴权元租信息,则MSC/VLR直接判断出对终端鉴权通过,并根据包含的相应的特殊同步处理信息进行相应的处理。

优选地,所述需要重新对终端鉴权信息是通过对HLR/AUC返回给MSC/VLR的带有鉴权元组的同步处理结果消息进行扩展来携带给MSC/VLR的。

优选地,所述相应的特殊同步处理信息是通过对HLR/AUC返回给MSC/VLR的非法同步处理结果消息进行扩展来携带给MSC/VLR的。

优选地,所述相应的特殊同步处理信息可以是同步用于终端和HLR/AUC协商防盗密钥并设置防盗功能,可以是同步用于终端和HLR/AUC协商取消防盗功能,可以是同步用于终端向HLR/AUC传输特殊信息,所述特殊信息可以是:终端是GSM/WCDMA双模终端,终端支持GPS定位功能,终端支持自动将呼叫转移到固定网络功能,终端向HLR/AUC返回特殊操作执行结果信息。

优选地,所述约定的特定值是指约定某一范围内的值或某个或多个具体值。

优选地,所述执行约定内容可以是执行密钥更新、执行鉴权算法更新、执行防盗验证、取消防盗验证、获得相关信息和返回特殊操作执行结果信息中一个或多个。

本发明提供的解决上述问题的另一技术方案为:提供一种MSC/VLR处理HLR/AUC返回的同步处理结果消息的方法,所述方法包括:MSC/VLR接收到HLR/AUC发送的同步处理结果消息后,根据同步处理结果消息中包含的不同内容信息执行相应的处理操作。

优选地,所述方法进一步包括:MSC/VLR接收到HLR/AUC发送的同步处理结果消息后,判断同步处理结果消息中是否包含了非法同步信息,如果是,则结束处理流程;否则,MSC/VLR判断同步处理结果消息中是否包含了新鉴权元组信息:如果包含了新鉴权元组信息,则删除旧鉴权,并判断同步处理结果消息中是否包含了需要重新对终端鉴权信息,如果需要重新鉴权,则用新鉴权元组对终端重新发起鉴权,否则,保存新鉴权元组以用于后续鉴权,判断出对终端鉴权通过并进行相应的处理;如果不包含新鉴权元组信息,则MSC/VLR直接判断出对终端鉴权通过,并根据包含的相应的特殊同步处理信息进行相应的处理。

优选地,所述需要重新对终端鉴权信息是通过对HLR/AUC返回给MSC/VLR的带有鉴权元组的同步处理结果消息进行扩展来携带给MSC/VLR的。

21.根据权利要求19所述的方法,其特征在于,所述相应的特殊同步处理信息是通过对HLR/AUC返回给MSC/VLR的非法同步处理结果消息进行扩展来携带给MSC/VLR的。

附图说明

图1是本发明的具体实施方式的流程图;

图2是本发明的具体实施方式的第一实施例的流程图;

图3是本发明的具体实施方式的第二实施例的流程图;

图4是本发明的具体实施方式的第三实施例的流程图;

图5是本发明MSC/VLR综合考虑各种可能的特殊同步流程时,处理HLR/AUC发送的同步处理结果消息的流程图。

具体实施方式

本发明同步SQN的处理方法通过对SQN取值空间的划分,使得可以利用同步处理流程完成终端向网络上传特殊命令的操作以及HLR/AUC执行相应操作后对MSC/VLR进行适应性反馈,并通过上传的特殊命令和对MSC/VLR的适应性反馈来完成一些特殊功能。例如,终端向HLR/AUC传送更新密钥信息和MSC/VLR进行相应的鉴权元组的处理,等等。该方案可以保证终端到HLR/AUC和HLR/AUC到MSC/VLR的流程的完整性。

当终端需要向网络侧传送例如需要更新鉴权密钥等的特殊信息时,可以利用现有的鉴权流程,通过扩展改造其中的同步处理流程,即在终端对网络侧鉴权通过,也即终端根据自己保存的KI对AUTN的一致性验证通过并且AUTN中的SQNHE在可接受范围内的情况下,也产生再同步标记和发送再同步请求命令,并利用终端向网络侧发送的再同步请求命令和所附的再同步标记AUTS中的SQNMS来向HLR/AUC传递例如更新密钥的特殊信息。本发明中终端对网络侧鉴权通过后,用约定的特定值代替SQNMS,例如用128代替SQNMS来产生再同步标记AUTS,向网络侧发送同步请求命令并附上该再同步标记,HLR/AUC接收到所述同步请求命令时,判断AUTS是否合法,如果不合法,则向MSC/VLR返回包括非法同步信息的同步处理结果消息;如果判断出AUTS合法,则判断AUTS中SQNMS是否为约定的特定值128,若是,则执行约定的内容,即执行例如密钥更新的操作,并产生新的鉴权元组发送给MSC/VLR;否则按正常同步处理流程处理,即根据SQNMS更新SQNHE并作后续处理。相应地,MSC/VLR在接收到HLR/AUC的同步处理结果信息后,根据不同的处理结果判断对终端鉴权是否通过、同步是否合法、是否取得新的鉴权元组以及是否需要重新对终端鉴权等等。本发明的方法充分利用了现有鉴权参数方便地向HLR/AUC传递信息,以及HLR/AUC根据相应信息做出处理后,对MSC/VLR进行的不同反馈、MSC/VLR针对不同反馈做相应的处理,本方法在丰富了同步处理流程的功能的同时,又由于HLR/AUC处理再同步请求命令时对AUTS进行了合法性验证,因此提高了终端向网络侧传递信息的安全性和完整性。

本发明提供的同步SQN流程,不仅应用于终端向HLR/AUC传送密钥更新消息,还可以向HLR/AUC传送终端的能力支持,比如终端是否支持GPS定位,是否支持自动呼叫转移的蓝牙功能,等等。

下面结合附图对本发明的具体实施方式进行详细的说明:

请参阅图1,图1为本发明具体实施方式的流程图。

在步骤101中,终端向网络侧发起位置更新请求。

本步骤也可以是向网络侧发起业务请求。实际当中可以是终端发送的任何可以引起网络侧对终端进行鉴权的消息。

步骤102,网络侧MSC/VLR接收到该位置更新请求后将产生的鉴权元组中的相应鉴权参数发送给终端。

所述鉴权元组可以包括随机数RAND、期望响应XRES、加密密钥CK、完整性密钥IK和鉴权标记AUTN(Authentication Token)。

所述相应鉴权参数包括RAND和AUTN。

产生鉴权元组时,HLR/AUC用随机数发生器产生的RAND和自身保存的鉴权密钥KI分别计算出XRES、CK、IK。还根据RAND、KI、序列号SQNHE、鉴权管理域AMF产生AUTN。

所述鉴权标记AUTN长16字节,包括以下内容:1)SQNHE^AK,也即用AK加密了的SQNHE,其中序列号SQNHE与匿名密钥AK分别长6字节,SQNHE指保存在网络侧的SQN,以区别于保存在终端的SQNMS;当需要对SQNHE进行加密时,HLR/AUC根据RAND和KI产生AK,使用AK对SQNHE作异或运算,从而加密SQNHE;当不需要对SQNHE进行加密时,AK=0;2)鉴权管理域AMF长2字节。3)消息鉴权编码MAC-A长8字节;MAC-A用于验证RAND、SQNHE、AMF的数据完整性,用于终端对HLR/AUC进行鉴权。HLR/AUC根据RAND、SQNHE、KI和AMF计算出AUTN中的消息鉴权编码MAC-A。

这样,由RAND、AUTN、XRES、CK、IK等组成了鉴权五元组。

HLR/AUC产生了鉴权五元组后将相应的国际移动用户识别码IMSI和鉴权五元组RAND、CK、IK、XRES和AUTN发送给MSC/VLR。MSC/VLR为电路域设备,对于分组域的网络,对应的设备可以为SGSN。鉴权时,网络侧的MSC/VLR将接收自HLR/AUC的鉴权元组中的随机数RAND和鉴权标记AUTN传送给终端MS。

步骤103,终端MS接收到MSC/VLR发送的相应鉴权参数即随机数RAND和鉴权标记AUTN并判断出对网络侧鉴权通过后,用约定的特定值代替SQNMS产生再同步标记AUTS,向网络发起再同步请求命令,并附上再同步标记AUTS。这里,向网络发起再同步请求命令,并附上再同步标记AUTS,也即,向网络侧发送同步失败消息,消息中包含了AUTS。

所述再同步标记AUTS包括以下内容:1)SQNMS^AK,也即用AK加密了的SQNMS,其中序列号SQNMS与匿名密钥AK分别长6字节,SQNMS指保存在终端侧的SQN,以区别于保存在网络侧的SQNHE;当需要对SQNMS进行加密时,终端根据RAND和KI产生AK,使用AK对SQNMS作异或运算,从而加密SQNMS;当不需要对SQNMS进行加密时,AK=0;2)消息鉴权编码MAC-S长8字节;MAC-S用于验证RAND、SQNMS的数据完整性,也用于HLR/AUC对终端进行鉴权,也即,用于HLR/AUC验证AUTS的合法性。一般的,终端根据自己的SQNMS、KI和接收到的RAND以及AMF等计算得到MAC-S,再根据SQNMS、AK和MAC-S产生再同步标记AUTS。

具体地说,终端根据接收到的RAND与自身保存的鉴权密钥KI和接收到的AUTN中的SQNHE以及AMF采用与HLR/AUC计算AUTN中MAC-A一致的算法计算出MAC-A,然后进行一致性验证,即,比较自己计算得到的MAC-A与接收到的AUTN中的MAC-A是否一致,例如是否相同,若不一致,则向MSC/VLR返回鉴权失败信息;若一致则进一步判断SQNHE是否属于可接受的范围:若属于,则终端判断出对网络侧的鉴权通过;若判断出SQNHE不属于可接受范围,则根据SQNMS产生再同步标记AUTS,即,根据SQNMS、KI和接收到的RAND以及AMF等计算得到MAC-S,再根据SQNMS、AK和MAC-S产生再同步标记AUTS,即用AK对SQNMS进行加密,将密文和MAC-S组合来产生AUTS。终端产生了AUTS后,对网络侧MSC/VLR返回再同步请求命令或同步失败(Synchronisation failure)消息,同时附上产生的再同步标记AUTS。

终端对网络侧鉴权通过后,用约定的特定值代替SQNMS来根据自己的KI和接收到的RAND以及AMF等计算得到MAC-S,再根据该特定值代替SQNMS来和AK以及MAC-S产生再同步标记AUTS,即用AK对该特定值进行加密,将密文和MAC-S组合来产生AUTS。终端产生了AUTS后向网络侧发送再同步请求命令并附上所述再同步标记AUTS,或者向网络侧发送同步失败消息,并在该消息中包含AUTS。

关于具体产生AUTS过程,以及产生时使用的算法还可以参照3GPP相关规范,在此不再赘述。

步骤104,MSC/VLR接收到再同步请求命令后,将对应本次鉴权的五元组中的RAND和AUTS发送给HLR/AUC;

步骤105,HLR/AUC接收到再同步请求命令后,对同步消息进行合法性判断,即HLR/AUC先解析出SQNMS,并根据自己保存的KI、AMF值、SQNMS和接收到的同步消息中的RAND进行计算,得到一个计算结果,比较自己计算得到的MAC-S和同步消息中AUTS中的MAC-S是否一致,如果一致,则判断同步消息合法并执行步骤107,否则,判断同步消息非法并执行步骤106。

所述解析出SQNMS是指:当SQNMS采用了加密模式,则HLR/AUC先根据KI和RAND计算出AK,用AK从AUTS中解密出SQNMS明文;当SQNMS采用了明文模式,即AK值设置为0的情况下,HLR/AUC从AUTS中直接得到SQNMS明文。可以参照3GPP相关规范。

步骤106,HLR/AUC向MSC/VLR返回同步处理结果消息,消息中包括非法同步信息。然后,流程进入步骤110。

步骤107,HLR/AUC判断SQNMS是否为约定的特定值时,如果不是,则执行步骤108;否则执行步骤109。

步骤108;根据SQNMS更新SQNHE,并重新产生鉴权元组,并向MSC/VLR返回同步处理结果消息,消息中包括新产生的鉴权元组。然后,流程进入步骤110。

步骤109;根据SQNMS值执行对应约定的内容,也即执行对应操作,并向MSC/VLR返回同步处理结果消息,消息中包括特殊同步信息;然后,流程进入步骤110。

例如,特殊同步信息可以是用于协商执行防盗验证的同步,以告诉MSC/VLR,终端同步不是SQNMS与SQNHE不一致引起的,而是终端需要向网络侧传送协商执行防盗验证相应的信息。

步骤110,MSC/VLR对接收到的HLR/AUC的同步处理结果消息进行处理。也即,当消息中包括非法同步信息时,MSC/VLR结束流程;当消息中包括鉴权元组时,用新鉴权元组对终端重新鉴权;当消息中包括特殊同步信息时,MSC/VLR判断出对终端鉴权通过。

在步骤110中,MSC/VLR判断出对终端鉴权通过后,可以进一步创建用户信息,相关处理流程和MSC/VLR接收到鉴权响应并判断终端产生的鉴权响应和对应本次鉴权的鉴权五元组中的期望响应一致时进行的后续处理一致。

同步处理结果消息中还可以进一步包括是否需要重新对终端进行鉴权的信息。该信息可以通过多种方式来表达:例如,可以对同步处理结果消息进行分类,使用分类码来区分是否需要重新对终端进行鉴权;也可以在消息中扩展一个信元来表达是否需要重新对终端进行鉴权。当所有情况的特殊同步消息中都不包括新鉴权元组时,也即,仅有因SQNHE与SQNMS不同步引起的同步流程中,HLR/AUC传送给MSC/VLR的同步处理结果信息中才有新鉴权元组时,MSC/VLR可以根据新鉴权元组得知需要重新鉴权,因此,可以不需要特别在同步处理结果消息中包括是否需要重新鉴权的信息,或者说,这种情况下,新鉴权元组本身就隐含了需要重新鉴权的信息。

当然,对于当同步处理结果消息中包括了非法同步信息时,该消息中就没有必然包括否需要重新对终端进行鉴权的信息了。

实际当中,还可以在不需要重新对终端进行鉴权时,在消息中包括不需要对终端进行鉴权的信息;而在需要重新对终端进行鉴权时,在消息中不包括不需要对终端进行鉴权的信息,而不是在消息中包括需要对终端进行鉴权的信息。反之,还可以在需要重新对终端进行鉴权时,在消息中包括需要对终端进行鉴权的信息;而在不需要重新对终端进行鉴权时,在消息中不包括需要对终端进行鉴权的信息,而不是在消息中包括不需要对终端进行鉴权的信息。

终端和HLR/AUC预先约定:HLR/AUC在接收到终端的再同步请求命令后,如果判断出SQNMS为约定的特定值时,则根据该特定值执行对应的约定内容,也即执行对应操作。所述执行对应约定的内容可以是执行密钥更新、执行鉴权算法更新、执行防盗验证、取消防盗验证,等等。

上述步骤105及其以后步骤,HLR/AUC接收到再同步请求命令后,对AUTS合法性进行判断的步骤也可以在放在判断再同步标记AUTS中的SQNMS是否为约定的特定值的步骤之后进行。具体如下:

一、HLR/AUC接收到再同步请求命令后,HLR/AUC判断出SQNMS为所述约定的特定值时,先根据RAND、KI、SQMMS和AMF等采用与终端一致的算法计算得出MAC-S,再将之与接收到的AUTS中的MAC-S比较,若一致,判断出AUTS合法,否则,判断出AUTS非法。HLR/AUC判断AUTS非法时,向MSC/VLR返回同步处理结果的消息,消息中包括了同步失败信息。HLR/AUC判断AUTS合法时,执行所述约定的内容,而后向MSC/VLR返回同步处理结果消息,消息中包括了特殊同步信息。

二、HLR/AUC接收到再同步请求命令后,HLR/AUC判断出SQNMS不是所述约定的特定值时,按正常同步流程处理,即判断AUTS合法时,根据SQNMS更新SQNHE,并产生新的鉴权元组,向MSC/VLR返回同步处理结果消息,消息中包括新的鉴权元组和重新鉴权信息;判断AUTS非法时,向MSC/VLR返回同步处理结果消息,消息中包括非法同步信息。

MSC/VLR接收到同步处理结果消息后,仍然按照上述步骤110所述进行相应处理。关于正常同步处理流程可以参照3GPP规范。

为了更好地展现本发明的思想和意义,以下将通过几个具体实施例来对本发明进行详细阐述。

请参阅图2,图2所示为本发明具体实施方式的第一实施例,本实施是使用本发明的同步处理方法进行鉴权密钥更新的流程,在本实施例中,终端和HLR/AUC协商对鉴权密钥进行更新。这里约定用特定值128表示需要更新鉴权密钥,该特定值对应的约定内容,也即网络侧识别到该特定值时执行的内容为“产生新的鉴权密钥以根据新的鉴权密钥进行鉴权”。

在步骤201,终端向网络发起位置更新请求;

本步骤也可以是向网络侧发起业务请求。实际当中可以是终端发送的任何可以引起网络侧对终端进行鉴权的消息。

在步骤202,网络侧MSC/VLR接收到所述请求后,对终端进行鉴权,并通过对终端发送鉴权请求,将对应该终端的当前鉴权五元组中的鉴权参数RAND和AUTN发送给终端。

具体地说,HLR/AUC根据随机数发生器产生随机数RAND,根据RAND和鉴权密钥KI分别计算出期望响应XRES、加密密钥CK、完整性密钥IK。根据随机数RAND、序列号SQNHE、鉴权密钥KI和AMF计算产生出消息鉴权编码MAC-A,再根据MAC-A、SQNHE、匿名密钥AK及鉴权管理域AMF产生鉴权标记AUTN。这里,当需要对SQNHE进行加密时,HLR/AUC根据RAND和KI产生AK,使用AK对SQNHE作异或运算,从而加密SQNHE;当不需要对SQNHE进行加密时,AK=0;

然后HLR/AUC将RAND、AUTN、XRES、CK和IK组成的五元组和对应的IMSI一起发送给MSC/VLR。HLR/AUC是在接收到MSC/VLR的请求鉴权五元组的请求后才将产生的鉴权元组发送给MSC/VLR的。更加详细的细节请参见3GPP相关协议规定,由于是公知技术,这里不再赘述。

鉴权时,MSC/VLR向终端发起鉴权请求,并同时将五元组中的鉴权参数RAND和AUTN发送给终端。

步骤203,终端接收到鉴权请求时,先根据自己保存的KI对接收的RAND和AUTN进行一致性验证,也即先根据自己保存的KI和所述RAND对AUTN进行一致性验证,若验证通过,则执行步骤205,否则,执行步骤204。

具体地说,终端接收到来自MSC/VLR的RAND和AUTN时,根据自身保存的KI、接收到的RAND和接收到的AUTN中的SQNHE以及AMF采用与HLR/AUC计算AUTN中MAC-A一致的算法生成MAC-A,然后终端对自身生成的MAC-A与AUTN中的MAC-A进行比较,若相等则判断出对RAND和AUTN的一致性验证通过,否则,判断出对RAND和AUTN的一致性验证不通过。

步骤204中,终端向网络返回“鉴权失败”的信息,然后结束本次协商鉴权密钥更新的流程。

步骤205,终端判断SQNHE是否在可接受范围内,如果是,则判断出对网络鉴权通过,终端根据SQNHE更新保存的SQNMS,根据RAND和KI产生新的鉴权密钥,并执行步骤206;否则,判断出同步失败,并执行步骤207。

步骤206,终端用约定的特定值128代替SQNMS产生再同步标记AUTS,对网络发起再同步请求命令,并附上再同步标记AUTS。具体地说,终端用特定值128代替SQNMS来根据自己保存的KI和接收到的RAND以及AMF等计算得到MAC-S,再用AK对特定值128进行加密,将密文和MAC-S组合来产生AUTS。终端向网络侧发送再同步请求命令并附上该AUTS。也即,向MSC/VLR发送同步失败消息,该同步失败消息中包含了AUTS。然后执行步骤208。

步骤207,终端直接根据SQNMS产生再同步标记AUTS,对网络发起再同步请求命令,并附上AUTS。具体地说,终端根据自己的KI、SQNMS和接收到的RAND以及AMF等计算得到MAC-S,再根据SQNMS、AK和MAC-S产生AUTS,然后对网络侧发起再同步请求命令,并附上该AUTS。也即,向MSC/VLR发送同步失败消息,该同步失败消息中包含了AUTS。然后执行步骤208。

步骤208,网络侧的MSC/VLR接收到终端发送的同步失败消息时,将消息中的AUTS和对应五元组中的RAND一并发送给HLR/AUC。然后执行步骤209。

实际当中,网络侧的MSC/VLR接收到终端发送的同步失败消息时,向HLR/AUC请求新鉴权元组,请求消息中包括了接收自终端的AUTS和对应鉴权五元组中的RAND。

步骤209,HLR/AUC接收到MSC/VLR发送的AUTS和RAND时,根据AMF、保存的KI、接收到的RAND和AUTS中的SQNMS等采用与终端一致的算法计算得到MAC-S,然后比较自身产生的MAC-S与接收到的AUTS中的MAC-S是否一致,若一致,则认为AUTS合法,然后执行步骤210;否则,认为AUTS非法,然后执行步骤213;

需要说明的是,如果AUTS中SQNMS根据AK进行了加密,HLR/AUC可以根据RAND和KI产生AK来解密SQNMS密文,得到SQNMS明文。由于这是3GPP协议规范内容,因此,这里不对其进行详细叙述。

步骤210,HLR/AUC判断AUTS中的SQNMS是否为约定的特定值128。如果为特定值128则执行步骤211;如果不为特定值128则执行步骤212;

步骤211,HLR/AUC执行特定值128对应的约定内容,即执行鉴权密钥更新动作,也就是根据RAND和KI采用与终端一致的算法产生新的鉴权密钥,然后使用新鉴权密钥产生新鉴权元组,向MSC/VLR发送同步处理结果消息,消息中包括了特殊同步消息,该特殊同步消息为新鉴权元组和不需要重新对终端进行鉴权。然后执行步骤214。

本实施例中通过扩展信元来向MSC/VLR表示是否需要重新对终端进行鉴权的信息,具体可以参见3GPP有关鉴权的相关协议处理规定。

步骤212,HLR/AUC根据SQNMS的值更新SQNHE,产生新鉴权元组,向MSC/VLR发送同步处理结果消息,消息中包括了新鉴权元组和需要重新对终端进行鉴权的信息。然后执行步骤214。

本实施例中通过扩展信元来向MSC/VLR表示是否需要重新对终端进行鉴权的信息,具体可以参见3GPP有关鉴权的相关协议处理规定。

步骤213,向MSC/VLR发送同步处理结果消息,消息中包括了非法同步信息。然后执行步骤214。

步骤214,MSC/VLR判断接收到的同步处理结果消息中是否包括非法同步信息,如果不包括非法同步信息则执行步骤215;否则,执行步骤218。

步骤215,MSC/VLR删除旧鉴权元组,保存该新鉴权元组,并通过相应的扩展信元来判断同步处理结果消息中是否包括需要重新对终端鉴权的信息,如果包括,则执行步骤216,否则执行步骤217。

步骤216,使用新鉴权元组重新发起对终端鉴权,然后结束流程。

步骤217,判断出对终端鉴权通过,然后结束流程。

步骤218,MSC/VLR结束相关处理,然后结束整个流程。

MSC/VLR判断出对终端鉴权通过时,可以进行后续的处理,比如对于位置更新请求引起的鉴权流程来说,MSC/VLR检查是否已经创建了用户信息,如果没有,则从HLR/AUC请求用户的相关签约信息,等等。相关处理流程和MSC/VLR接收到鉴权响应并判断终端产生的鉴权响应和对应本次鉴权的鉴权五元组中的期望响应一致时进行的后续处理一致。

当然,本实施例中,HLR/AUC接收到MSC/VLR发送的再同步请求命令时,也可以先判断AUTS中的SQNMS是否为约定的特定值,后判断AUTS的合法性。

请参阅图3,图3所示为本发明具体实施方式的第二实施例,本实施是使用本发明同步SQN的处理方法实现关于密钥托管HLR/AUC的终端防盗方法中终端启动防盗功能的流程,在本实施例中,终端和HLR/AUC进行防盗密钥的协商。这里约定用特定值1023表示终端需要和HLR/AUC协商防盗密钥以及启动防盗验证,该特定值对应的约定内容,也即网络侧识别到该特定值1023时执行的内容为“产生防盗密钥,以在终端请求对网络进行鉴权时,根据该防盗密钥产生鉴权信息并向终端返回该鉴权信息”。

关于密钥托管HLR/AUC的防盗方法,可以参阅申请号为“PCT/CN2004/001325”的专利申请。

在步骤301,终端向网络发起位置更新请求;

在步骤302,网络侧MSC/VLR接收到所述请求后,对终端进行鉴权,并通过对终端发送鉴权请求,将对应该终端的当前鉴权五元组中的鉴权参数RAND和AUTN发送给终端。

步骤303,终端接收到鉴权请求时,先根据自己保存的KI对接收的RAND和AUTN进行一致性验证,也即先根据自己保存的KI和所述RAND对所述AUTN进行一致性验证,若验证通过,则执行步骤305,否则,执行步骤304。

步骤304中,终端向网络返回“鉴权失败”的信息,然后结束本次协商鉴权密钥更新的流程。

步骤305,终端判断SQNHE是否在可接受范围内,如果是,则判断出对网络鉴权通过,终端根据SQNHE更新保存的SQNMS,并根据防盗密钥产生的规则产生一个新的防盗密钥并保存该防盗密钥用于终端对终端自己的合法性验证。比如,防盗密钥的产生规则可以是根据所述RAND、IMSI和KI等进行摘要运算,得到一个128bit的摘要结果,将该摘要结果作为新防盗密钥。终端产生新防盗密钥后将该新防盗密钥保存于终端的安全模块中,并执行步骤306;终端判断SQNHE不在可接受范围内时,判断出同步失败,并执行步骤307。

步骤306,终端用约定的特定值1023代替SQNMS产生再同步标记AUTS,对网络发起再同步请求命令,并附上再同步标记AUTS。具体地说,终端用特定值1023代替SQNMS来根据自己保存的KI和接收到的RAND以及AMF等计算得到MAC-S,再用AK对特定值1023进行加密,将密文和MAC-S组合来产生AUTS。终端向网络侧发送再同步请求命令并附上该AUTS。也即,向MSC/VLR发送同步失败消息,该同步失败消息中包含了AUTS。然后执行步骤308。

步骤307,终端直接根据SQNMS产生再同步标记AUTS,对网络发起再同步请求命令,并附上AUTS。具体地说,终端根据自己的KI、SQNMS和接收到的RAND以及AMF等计算得到MAC-S,再根据SQNMS、AK和MAC-S产生AUTS,然后对网络侧发起再同步请求命令,并附上该AUTS。也即,向MSC/VLR发送同步失败消息,该同步失败消息中包含了AUTS。然后执行步骤308。

步骤308,网络侧的MSC/VLR接收到终端发送的同步失败消息时,将消息中的AUTS和对应五元组中的RAND一并发送给HLR/AUC。

实际当中,网络侧的MSC/VLR接收到终端发送的同步失败消息时,向HLR/AUC请求新鉴权元组,请求消息中包括了接收自终端的AUTS和对应鉴权五元组中的RAND。

步骤309,HLR/AUC接收到MSC/VLR发送的AUTS和RAND时,根据AMF、保存的KI、接收到的RAND和AUTS中的SQNMS等采用与终端一致的算法计算得到MAC-S,然后比较自身产生的MAC-S与接收到的AUTS中的MAC-S是否一致,若一致,则认为AUTS合法,然后执行步骤310;否则,认为AUTS非法,然后执行步骤313;

步骤310,HLR/AUC判断AUTS中的SQNMS是否为约定的特定值1023。如果为特定值1023则执行步骤311;如果不为特定值1023则执行步骤312;

步骤311,HLR/AUC执行特定值1023对应的约定内容,即根据防盗密钥产生的规则产生一个新的防盗密钥并保存该防盗密钥用于终端对终端自己的合法性验证。比如,防盗密钥的产生规则可以是根据RAND、IMSI和KI等进行摘要运算,得到一个128bit的摘要结果,将该摘要结果作为新防盗密钥。然后向MSC/VLR发送同步处理结果消息,消息中包括了特殊同步信息,该特殊同步信息为同步流程因协商防盗密钥引起。然后执行步骤314。

本实施例中,HLR/AUC通过扩展信元来向MSC/VLR表示同步流程因协商防盗密钥引起的信息,具体可以参见3GPP有关鉴权的相关协议处理规定。

步骤312,HLR/AUC根据SQNMS的值更新SQNHE,产生新鉴权元组,向MSC/VLR发送同步处理结果消息,消息中包括了新鉴权元组。然后执行步骤314;

实际当中,可以通过只传送一个新鉴权元组来向MSC/VLR表示需要对终端重新进行鉴权。

步骤313,向MSC/VLR发送同步处理结果消息,消息中包括了非法同步信息。然后执行步骤314。

步骤314,MSC/VLR判断同步处理结果消息中是否包含了非法同步信息,如果不包括则执行步骤315;否则,执行步骤318。

步骤315,MSC/VLR判断消息中是否包括了新鉴权元组,如果是,在执行步骤316,否则,执行步骤317。

步骤316,MSC/VLR删除旧的鉴权元组,使用所述新鉴权元组重新发起对终端鉴权。然后结束流程。

步骤317,MSC/VLR判断出对终端鉴权通过。然后结束流程。

步骤318,MSC/VLR结束相关处理。然后结束流程。

MSC/VLR判断出对终端鉴权通过时,可以进行后续的处理,比如对于位置更新请求引起的鉴权流程来说,MSC/VLR检查是否已经创建了用户信息,如果没有,则从HLR/AUC请求用户的相关签约信息,等等。相关处理流程和MSC/VLR接收到鉴权响应并判断终端产生的鉴权响应和对应本次鉴权的鉴权五元组中的期望响应一致时进行的后续处理一致。

在一种密钥长期托管锁网中心LC,和临时托管HLR/AUC的锁网实现方法中,在移动终端中设置安全密钥SKey;在网络侧锁网中心LC中保存移动终端标识和预设安全密钥SKey的对应关系以及对应的IMSI匹配码,本发明用移动终端的国际移动台标识IMEI来作为移动终端标识;移动终端开机后,如果判断终端支持锁网,且根据安全密钥对网络鉴权不通过时,需要和网络侧HLR/AUC协商,需要用安全密钥SKey代替鉴权密钥KI来产生鉴权元组,以用于终端和网络侧相互鉴权。终端和网络侧完成所述协商后,终端可以通过和网络侧的鉴权流程获得根据安全密钥SKEY产生的电子钥匙,也即MSC/VLR鉴权时,发送给终端的鉴权参数RAND和AUTN,终端根据对该电子钥匙进行的合法性判断的结果来判断移动终端是否被合法使用,从而满足运营商对租机进行锁网的要求。这里,移动终端在和HLR/AUC进行上述协商时,如果HLR/AUC发现在移动终端用户的签约数据里没有对应该终端的SKey,HLR/AUC将根据该移动终端的国际移动设备台标识IMEI和移动用户的IMSI号从锁网中心LC中获取对应该终端的SKey,保存该SKey,以用于代替鉴权密钥KI产生鉴权五元组,也即,用SKey替代KI来产生鉴权元组,以用于终端对网络鉴权。这样,通过在LC中对每个【IMEI,SKey】对进行IMSI匹配码限制,来限制该移动终端可以使用哪些用户卡来连接网络,从而达到对移动终端进行锁网的目的。

请参阅图4,图4所示为本发明具体实施方式的第三实施例,本实施展示了通过本发明的同步处理流程,终端和网络侧协商锁网鉴权,即协商使用安全密钥SKey替代鉴权密钥KI产生鉴权元组,以用于移动终端和网络相互鉴权,从而实现上述锁网目的。在本实施例中,终端和HLR/AUC协商锁网鉴权,也即HLR/AUC使用安全密钥SKey代替鉴权密钥KI来产生鉴权元组,以用于终端和网络侧相互鉴权。这里约定用特定值63表示所述协商请求,该特定值对应的约定内容,也即网络侧HLR/AUC在处理再同步消息时识别到该特定值时执行的内容为获得移动终端对应的安全密钥SKey,并使用该SKey代替鉴权密钥KI来产生鉴权五元组,同时,指示MSC/VLR利用新鉴权元组重新和终端进行鉴权。

执行流程之前,首先在移动终端中设置安全密钥SKey,锁网鉴权序列号LCSQNMS,LCSQNMS初始值可以为1或一个随机数;在网络侧锁网中心LC中根据该移动终端IMEI保存对应的安全密钥SKey,IMSI匹配码,以及锁网鉴权序列号LCSQNLC,LCSQNLC初始值可以为1或一个随机数;在HLR/AUC中保存该移动终端用户的签约数据里保存移动终端的IMEI信息,并设置LCSQNHE。可以在用户租机并办理签约手续时将该IMEI信息保存在用户的签约数据中,也可以移动终端开机后,通过短信息或者USSD业务操作将移动终端的IMEI传送给HLR/AUC保存。

如下所示处理流程:

在步骤401,终端开机后,向网络发起位置更新请求;

在步骤402,网络侧MSC/VLR接收到所述请求后,对终端进行鉴权,并通过对终端发送鉴权请求,将对应该终端的当前鉴权五元组中的鉴权参数RAND和AUTN发送给终端。

步骤403,终端接收到鉴权请求时,判断是否支持锁网,终端判断是否支持锁网可以这样实现,预先在终端设置一是否锁网的锁网标记,终端根据所述标记判断是否支持锁网。如果不支持,则执行步骤404;否则,执行步骤405。

步骤404,结束本次协商锁网鉴权流程,按卡鉴权流程处理,也即,按卡的正常鉴权流程处理,也即,判断先根据自己保存的KI对接收的RAND和AUTN进行一致性验证,也即先根据自己保存的KI和所述RAND对AUTN进行一致性验证,若验证不通过则向网络返回鉴权失败信息,否则,进一步判断SQNHE是否在可接受范围内,如果不是,则根据SQNMS产生同步标记AUTS,并向网络返回再同步消息,消息中包括该AUTS。如果终端判断出SQNHE在可接受范围内,则产生鉴权响应,加密密钥、完整性密钥,并向网络返回鉴权响应,网络根据终端返回的鉴权响应判断对终端鉴权是否通过,从而决定是否允许终端正常地接入网络。

步骤405,终端先根据自己保存的SKey对接收的RAND和AUTN进行一致性验证,也即根据自己保存的SKey和所述RAND对AUTN进行一致性验证,若验证通过,说明HLR/AUC处于终端鉴权状态,然后执行步骤406,否则,执行步骤408。

具体地说,终端接收到来自MSC/VLR的RAND和AUTN时,根据自身保存的SKey、接收到的RAND和接收到的AUTN中的SQNHE以及AMF采用与HLR/AUC计算AUTN中MAC-A一致的算法生成MAC-A,然后终端对自身生成的MAC-A与AUTN中的MAC-A进行比较,若相等则判断出对RAND和AUTN的一致性验证通过,否则,判断出对RAND和AUTN的一致性验证不通过。

所述终端鉴权状态是指,HLR/AUC产生鉴权元组是,使用SKey替代KI,使用LCSQNHE代替SQNHE来进行,终端对网络鉴权时,使用SKey来判断RAND和AUTN的一致性,使用LCSQNMS来判断AUTN中的SQNHE是否在可以接受的范围内。

步骤406,结束本次协商锁网鉴权流程,按终端鉴权流程处理,也即,按终端的正常鉴权流程处理。也即,终端根据LCSQNMS判断AUTN中的SQNHE是否在可接受范围内,如果是,则判断出对网络鉴权通过,并进入正常运行状态,也即,终端判断出对网络鉴权通过后根据SQNHE更新保存的LCSQNMS,根据SKey产生鉴权响应、加密密钥、完整性密钥,并向网络返回鉴权响应,网络根据终端返回的鉴权响应判断对终端鉴权是否通过,从而决定是否允许终端正常地接入网络;如果终端根据LCSQNMS判断AUTN中的SQNHE不在可接受范围内,则判断出同步失败,即SQNHE与LCSQNMS不同步,终端直接根据SKey和LCSQNMS产生再同步标记AUTS,对网络发起再同步请求命令,并附上该AUTS。具体地说,终端根据自己的SKey、LCSQNMS和接收到的RAND以及AMF等计算得到MAC-S,再根据LCSQNMS、AK和MAC-S产生AUTS,然后对网络侧发起再同步请求命令,并附上该AUTS。也即,向MSC/VLR发送同步失败消息,该同步失败消息中包含了AUTS。通过该再同步请求,使得HLR/AUC根据LCSQNMS更新LCSQNHE。HLR/AUC可以根据自己处于终端鉴权状态得知同步目的是要更新LCSQNHE,而不是SQNHE。

步骤408,终端根据自己保存的KI对接收的RAND和AUTN进行一致性验证,也即根据自己保存的KI和所述RAND对AUTN进行一致性验证,若验证通过,则说明HLR/AUC处于卡鉴权状态,然后执行步骤410,否则,执行步骤409。

具体地说,终端接收到来自MSC/VLR的RAND和AUTN时,根据自身保存的KI、接收到的RAND和接收到的AUTN中的SQNHE以及AMF采用与HLR/AUC计算AUTN中MAC-A一致的算法生成MAC-A,然后终端对自身生成的MAC-A与AUTN中的MAC-A进行比较,若相等则判断出对RAND和AUTN的一致性验证通过,否则,判断出对RAND和AUTN的一致性验证不通过。

所述卡鉴权状态是指,HLR/AUC产生鉴权元组是,使用KI,SQNHE来进行,终端对网络鉴权时,使用KI来判断RAND和AUTN的一致性,使用SQNMS来判断AUTN中的SQNHE是否在可以接受的范围内。

步骤409中,终端向网络返回“鉴权失败”的信息,然后结束本次协商鉴权密钥更新的流程。

步骤410,终端判断SQNHE是否在可接受范围内,如果是,则判断出对网络鉴权通过,终端根据SQNHE更新保存的SQNMS,并执行步骤411;否则,判断出SQNHE和SQNMS不同步,并执行步骤412。

步骤411,终端用约定的特定值63代替SQNMS产生再同步标记AUTS,对网络发起再同步请求命令,并附上再同步标记AUTS。具体地说,终端用特定值63代替SQNMS来根据自己保存的KI和接收到的RAND以及AMF等计算得到MAC-S,再用AK对特定值63进行加密,将密文和MAC-S组合来产生AUTS。终端向网络侧发送再同步请求命令并附上该AUTS。也即,向MSC/VLR发送同步失败消息,该同步失败消息中包含了AUTS。然后执行步骤413。

步骤412,终端直接根据SQNMS产生再同步标记AUTS,对网络发起再同步请求命令,并附上AUTS。具体地说,终端根据自己的KI、SQNMS和接收到的RAND以及AMF等计算得到MAC-S,再根据SQNMS、AK和MAC-S产生AUTS,然后对网络侧发起再同步请求命令,并附上该AUTS。也即,向MSC/VLR发送同步失败消息,该同步失败消息中包含了AUTS。然后执行步骤413。

步骤413,网络侧的MSC/VLR接收到终端发送的同步失败消息时,将消息中的AUTS和对应五元组中的RAND一并发送给HLR/AUC。然后执行步骤414。

实际当中,网络侧的MSC/VLR接收到终端发送的同步失败消息时,向HLR/AUC请求新鉴权元组,请求消息中包括了接收自终端的AUTS和对应鉴权五元组中的RAND。

步骤414,HLR/AUC接收到MSC/VLR发送的AUTS和RAND时,根据AMF、保存的KI、接收到的RAND和AUTS中的SQNMS等采用与终端一致的算法计算得到MAC-S,然后比较自身产生的MAC-S与接收到的AUTS中的MAC-S是否一致,若一致,则认为AUTS合法,然后执行步骤415;否则,认为AUTS非法,执行步骤423;

步骤415,HLR/AUC判断AUTS中的SQNMS是否为约定的特定值63。如果不为特定值63则执行步骤416;如果为特定值63则执行步骤417;

步骤416,HLR/AUC判断处于卡鉴权状态时,根据SQNMS的值更新SQNHE,根据KI,SQNHE产生新鉴权元组;HLR/AUC判断处于终端鉴权状态时,根据SQNMS,也即LCSQNMS的值更新LCSQNHE,根据SKey代替KI,根据LCSQNHE代替SQNHE产生新鉴权元组。当然,由于该步骤紧接着步骤415执行,因此,HLR/AUC是处于卡鉴权状态的。然后向MSC/VLR发送同步处理结果消息,消息中包括了新鉴权元组的信息,然后执行步骤424。

步骤417,HLR/AUC执行特定值63对应的约定内容,即HLR/AUC首先检查签约数据中是否存在该移动终端的安全密钥SKey,如果存在,则执行步0骤422,否则,执行步骤418。

步骤418,HLR/AUC从签约数据中获取该移动终端的IMEI,向锁网中心LC请求该移动终端的安全密钥SKey和LCSQNLC,消息中包括了该移动终端的IMEI和移动终端用户的IMSI,执行步骤419。

步骤419,锁网中心LC根据IMEI查找锁网记录,如果查找不到,说明终端没有被纳入本锁网中心LC的管理,LC向HLR/AUC返回得不到SKey信息,然后执行步骤421,如果查找到该IMEI对应的SKey、LCSQNLC和IMSI匹配码,则执行步骤420。

步骤420,向HLR/AUC返回IMSI匹配判断信息,也即,LC判断该移动终端用户的IMSI是否匹配得到的IMSI匹配码,如果不匹配,则向HLR/AUC返回不允许得到SKey信息,否则,向HLR/AUC返回得到的SKey和LCSQNLC。执行步骤421。

步骤421,HLR/AUC得到LC返回得消息后,判断LC是否得到Skery,判断出LC得不到SKey时,向MSC/VLR返回同步处理结果消息,消息中包括得不到终端的SKey信息,然后执行步骤425;判断出LC不允许得到SKey时,向MSC/VLR返回同步处理结果消息,消息中包括不允许得到终端的SKey信息,然后执行步骤425;判断出消息中包括了得到的SKey和LCSQNLC时,根据该移动终端用户的IMSI保存该SKey,并再根据LCSQNLC更新LCSQNHE,或者,将该SKey保存在该移动终端用户的签约数据中,并将对应的LCSQNHE的值设置为LCSQNLC,然后执行步骤422。

步骤422,HLR/AUC将该用户设置为终端鉴权状态,并使用SKey代替KI,使用LCSQNHE代替SQNHE来产生新鉴权元组,向MSC/VLR发送同步处理结果消息,消息中包括了特殊同步消息,该特殊同步消息为新鉴权元组的信息。然后执行步骤424。

本实施例中HLR/AUC向MSC/VLR传送各种同步处理结果消息时,可以通过扩展原有的协议消息来实现。比如,对于需要向MSC/VLR返回新鉴权元组的情况,通过扩展原来的执行同步成功的协议消息,即HLR/AUC判断AUTS合法时产生新鉴权元组并向MSC/VLR发送新鉴权元组的协议协议消息;对于不需要向MSC/VLR发送新鉴权元组信息的情况,通过扩展原来的执行同步失败的协议消息,即HLR/AUC判断AUTS非法时向MSC/VLR发送同步消息非法信息的协议消息。具体可以参见3GPP有关鉴权的相关协议处理规定。

步骤423,向MSC/VLR发送同步处理结果消息,消息中包括了非法同步信息,然后执行步骤426。

步骤424,MSC/VLR判断出同步处理结果消息中包括新鉴权元组时,删除旧鉴权元组,并使用该新鉴权元组重新对终端进行鉴权;在步骤424,当MSC/VLR使用新鉴权元组对终端进行鉴权时,如果终端判断自己先前刚刚执行过步骤411描述特定值为63的特殊同步时,说明本次鉴权根据的鉴权元组是HLR/AUC因为所述特殊同步,刚刚根据SKey产生的,因此,终端将通过自己的SKey对网络进行鉴权,从而判断自身是否被合法使用。此时,如果移动终端根据自己保存的SKey和接收自MSC/VLR的RAND对接收自MSC/VLR的AUTN进行的一致性验证不通过,移动终端将判断终端被非法使用。因为,这种情况说明保存在移动终端用户的签约数据里的IMEI和该移动终端的IMEI不一致。移动终端可以先更新签约数据里对应的IMEI,而后在按照步骤408及其以后步骤来进行。

步骤425,MSC/VLR判断终端合法,结束本次协商锁网流程。MSC/VLR判断出消息中包括得不到终端的SKey信息时,判断对终端鉴权通过;判断出消息中包括不允许得到终端的SKey信息时,也判断对终端鉴权通过。当然,MSC/VLR还可以增对这两种情况作不同的处理,比如将不同的原因值返回给终端由终端提示给用户,这样,将是更人性化的用户界面。

当MSC/VLR判断对终端鉴权通过时,从HLR/AUC获取用户信息,并插入用户信息。这种情况下,终端无法对网络进行鉴权,因为得不到MSC/VLR的相关鉴权信息,终端在一段预设的时间后将自动关机,或者进入不正常运行状态,并提示用户,终端被非法使用,从而达到锁网目的。

步骤426,MSC/VLR判断出终端不合法,结束本次协商锁网流程。具体而言,MSC/VLR接收到HLR/AUC发送的同步处理结果消息后,判断出同步处理结果消息中包括非法同步信息时,说明移动终端上的用户卡本身就不合法。

综合上述各个实施例,考虑到各种同步处理流程可能同时被要求由HLR/AUC和MSC/VLR支持,因此,MSC/VLR在处理HLR/AUC发送的同步处理结果消息时,需要综合考虑各种可能的特殊同步流程。请参阅图5,图5所示为本发明MSC/VLR综合考虑各种可能的特殊同步流程时,处理HLR/AUC发送的同步处理结果消息的流程:

步骤501,MSC/VLR接收到HLR/AUC发送的同步处理消息后,判断消息中是否包括非法同步消息,如果包括,则执行步骤507;否则,执行步骤502。

步骤502,MSC/VLR判断消息中是否包括新鉴权元组,如果不包括,则执行步骤506;如果包括,则删除旧鉴权元组,并执行步骤503;

步骤503,MSC/VLR判断是否需要重新对终端鉴权,如果需要,则执行步骤504;否则,执行步骤505。

步骤504,根据新鉴权元组对终端鉴权。

步骤505,保存新鉴权元组,以用于下一次鉴权。

步骤506,判断出对终端鉴权通过,并作相应处理。

步骤507,MSC/VLR结束相关处理。

本发明所述的方法,不只可用于向网络侧传送协商密钥更新的请求信息以及终端需要和HLR/AUC协商防盗密钥以及启动防盗验证功能,还可以向HLR/AUC传送协商更新鉴权算法的请求信息,还可以向HLR/AUC传送终端是否执行防盗验证和取消防盗验证信息,当然,也可以向HLR/AUC传送终端是否为GSM/WCDMA双模终端的信息等。

对于HLR/AUC发起协商密钥更新的情况下,终端可以利用本发明方法向HLR/AUC返回密钥更新操作是否执行成功的信息。此时,HLR/AUC向MSC/VLR传送的信息是特殊同步信息,HLR/AUC因为此同步流程重新产生鉴权元组,MSC/VLR根据该消息判断对终端鉴权通过,并创建用户信息。

上述实约定将SQNMS=63表示为终端和HLR/AUC协商启动锁网鉴权,即HLR/AUC使用安全密钥SKey代替鉴权密钥KI来产生鉴权元组,以用于终端和网络侧相互鉴权,将SQNMS=128表示为终端向HLR/AUC传送请求更新鉴权密钥的信息,将SQNMS=1023表示为终端需要和HLR/AUC协商防盗密钥以及启动防盗验证功能,实际当中,还可以约定将SQNMS=1024表示为终端需要和HLR/AUC协商取消防盗验证,将SQNMS=15表示为终端向HLR/AUC传送终端属于锁网手机的信息,将SQNMS=16表示为终端向HLR/AUC传送协商更新鉴权算法的请求信息,以及将SQNMS=17表示为终端向HLR/AUC传送终端为GSM/WCDMA双模终端的信息等。

上述MSC/VLR为电路域设备,对于分组域的网络,对应的MSC/VLR设备为SGSN,因此本发明可以等同应用于分组域。

上述各个具体实施方式或实施例中,终端和HLR/AUC产生新鉴权密钥可以是使用成熟的摘要算法,相应摘要算法可以参见《应用密码学》一书或相关的算法论文或报告;当然,产生新密钥时,也可以使用3GPP协议中提到的由随机数RAND和鉴权密钥KI产生加密密钥CK或完整性密钥IK的算法来进行。

上述各个具体实施方式或实施例中,终端对于AUTN一致性验证,对于SQNHE是否属于可接受范围的判断,HLR/AUC对于AUTS合法性的验证,以及HLR/AUC产生鉴权元组时,对于SQNHE的更新;产生鉴权元组的算法,以及产生AUTS的算法,等等,可以参见3GPP相关协议,由于是公知技术,这里不再赘述。

可以理解,以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号