一种鉴权方法及相应的信息传递方法

文档序号:7621001阅读:180来源:国知局
专利名称:一种鉴权方法及相应的信息传递方法
技术领域
本发明涉及通信安全技术,具体涉及一种鉴权方法及相应的信息传递方法。
背景技术
通常情况下,相互通信的一端比如第一模块,向另外一端比如第二模块传递信息时,一般是在第二模块建立了对第一模块的可信任的连接后才进行的,也即该连接为第二模块对第一模块鉴权通过后建立的连接,通过这种连接,第一模块可以向第二模块传递相关信息时,第二模块可以判断出所传递信息的有效性。但是,在某些时候,通信双方还没有建立有效的通信连接之前,一方需要向另外一方传递重要信息时,就没有有效的办法来解决。比如说,用于通信双方相互鉴权的密钥因为某种原因失去了同步,变得不再一致,从而导致正常的相互鉴权无法通过,因而,也无法建立有效的互信连接,此时,通信的一方例如第一模块需要告诉另外一方例如第二模块,需要重新同步鉴权密钥,这时,所述通信的第一模块如何将需要同步鉴权密钥的信息传送给第二模块,以及第二模块接收到第一模块的需要同步鉴权密钥的信息后,怎么能够相信这是真的,而不是一个攻击者发起的攻击行为呢?还例如,在未来的通信网络中,随着业务的丰富、网络功能的扩展,对终端与网络间或两个通信模块之间通信安全的要求也相应提高,而信息传递量的几何级递增,则要求具有更加安全与便捷的信息传递方式。
先以现有的3G鉴权为例,对现有的鉴权方法和信息传递方法简单介绍一下,现有有3G网络中的鉴权是由MS(终端)、MSC/VLR(移动交换中心/访问位置寄存器)或SGSN(GPRS业务服务节点)、HLR/AUC(归属位置寄存器/鉴权中心)协同工作完成,SIM卡或USIM卡上保存了一鉴权密钥KI,HLR/AUC也存有与用户SIM卡或USIM卡上的KI一致的鉴权密钥KI。由MS和AUC分别根据各自的鉴权密钥KI计算出相应鉴权参数,再由MSC/VLR比较双方的计算结果,完成网络对MS合法性的验证。该过程中包括终端对网络的鉴权,终端对网络的鉴权失败时,会给网络反馈“鉴权失败”的消息。
上述终端向网络发送信息的是未经过网络鉴权的,这种终端向网络发送信息的方式用于返回“鉴权失败”类的信息时可能不致导致严重的安全问题,但在某些应用场合,终端向网络发送信息时网络若不能对终端鉴权就会存在严重的安全问题。
例如,在一些涉及密钥设置与更新的情况下终端向网络发送信息若不经过网络的鉴权,将存在严重的安全隐患。按照现有技术,可通过USSD或短信息的方式将信息传递给网络侧,这种信息传递方式因会引起鉴权流程,能解决信息传递的安全问题,但对信令资源消耗较大。
综上所述,如何在不增加现有通信协议、信令资源和运营成本的基础上,方便地传递信息,且保障通信的安全性是一个值得解决的问题。

发明内容
有鉴于此,本发明要解决技术问题是提供一种鉴权方法及相应的信息传递方法,使得不需要增加现有通信协议、信令或鉴权参数和营运成本,即可方便地从终端向网络侧传递信息且保障终端和网络通信的安全性,也可方便安全地实现通信模块之间的鉴权与信息传递。特别地,在终端与网络建立连接之前,例如在鉴权的过程中,向网络传送有效信息。
为解决上述问题,本发明提供了一种信息传递方法,用于3G网络中终端向网络传递信息,所述方法包括以下步骤a.终端用约定的特定值代替SQNMS产生再同步标记AUTS,对网络发送再同步请求命令且附上所述再同步标记AUTS;
b.网络侧在接收到所述再同步请求命令并判断出所述再同步标记AUTS中的SQNMS为所述约定的特定值时,执行所述约定的特定值对应的操作。
优选地,所述方法还包括,在步骤a之前终端对网络侧发送可引起鉴权流程的命令或请求,网络侧接收到所述命令或请求时对终端发起鉴权请求且附上产生的相应的鉴权参数,相应地,在步骤a中,终端接收所述鉴权参数并在向网络侧发送再同步请求命令前根据所述鉴权参数对网络进行鉴权。
优选地,所述步骤a之前终端对网络侧发送可引起鉴权流程的命令或请求可以是位置更新请求或业务请求。
优选地,所述鉴权参数包括随机数RAND和鉴权标记AUTN,相应的,在步骤a中所述对网络进行鉴权是根据RAND和AUTN对网络鉴权。
优选地,根据RAND和AUTN对网络鉴权是指判断AUTN是否满足一致性要求,如果不满足,则对网络鉴权失败。
优选地,判断出AUTN满足一致性要求后,进一步判断SQNHE是否在可接受的范围内,如果是,则确认对网络鉴权通过,用所述约定的特定值代替SQNMS产生再同步标记AUTS,否则,直接根据SQNMS产生再同步标记AUTS。
优选地,步骤b还包括判断AUTS是否合法。
优选地,所述步骤b中判断出SQNMS为所述约定的特定值后进一步判断AUTS是否合法,若合法则执行对应的约定内容。
优选地,所述步骤b中判断出AUTS合法后进一步判断SQNMS是否为所述约定的特定值,若是则执行对应的约定内容,否则,根据SQNMS更新SQNHE。
优选地,所述约定的特定值是指约定某一范围内的值或某个或多个具体值。
优选地,所述执行约定内容可以是执行密钥更新、执行鉴权算法更新、执行防盗验证、取消防盗验证、获得相关信息和返回特殊操作执行结果信息中一个或多个。
为解决上述问题,本发明同时提供了一种鉴权方法,用于通信网络中终端与网络间的鉴权,所述方法包括以下步骤a.网络侧产生随机数,并根据随机数、终端的鉴权密钥和序列号生成鉴权元组,发送给终端;b.终端根据自身保存的鉴权密钥对所述鉴权元组进行一致性验证,并根据自身保存的序列号判断来自网络的序列号是否可接受,判断出对所述鉴权元组的一致性验证通过,且所述来自网络的序列号可接受时,对网络鉴权通过,并用约定的特定值代替终端保存的序列号生成再同步标记,向网络发送再同步请求且附上所述再同步标记;c.网络在接收到所述再同步请求,判断出所述再同步标记中的所述序列号为所述约定的特定值时,执行约定的对应操作。
优选地,所述方法还包括在步骤a之前,终端对网络侧发送可引起鉴权流程的命令或请求,所述命令或请求可以是位置更新请求或业务请求。
优选地,所述步骤b中还包括,当终端判断出对来自网络的所述鉴权元组一致性验证通过但来自网络的序列号不属于可接受的范围时,直接根据终端保存的序列号生成再同步标记,向网络发送再同步请求且附上所述再同步标记。
优选地,所述步骤b中还包括,当终端判断出对来自网络的所述鉴权元组一致性验证未通过时,则向网络发送鉴权失败信息。
优选地,所述步骤b中还包括,终端判断出对所述鉴权元组的一致性验证通过,且所述来自网络的序列号可接受时,根据所述来自网络侧的序列号更新终端侧保存的序列号。
优选地,所述步骤c中还包括网络侧对所述再同步标记进行合法性判断。
优选地,所述步骤c可以进一步是判断出所述来自终端的序列号为所述约定的特定值后进一步判断再同步标记是否合法,若合法则执行对应的约定内容;优选地,所述步骤c可以进一步是判断出再同步标记合法后进一步判断所述来自终端的序列号是否为所述约定的特定值,若是则执行对应的约定内容,否则,根据所述来自终端的序列号更新网络侧保存的序列号。
优选地,所述约定的特定值是指约定某一范围内的值或某个或多个具体值。
优选地,所述执行约定内容可以是执行密钥更新、执行鉴权算法更新、执行防盗验证、取消防盗验证、获得相关信息和返回特殊操作执行结果信息中一个或多个。
本发明还提供了另外一种鉴权方法,用于可相互通信的模块之间的鉴权,所述模块至少包括保存了第一鉴权密钥、第一同步密钥和第一序列号的第一模块,以及保存了第二鉴权密钥、第二同步密钥和第二序列号的第二模块,其特征在于,所述方法至少包括以下步骤a.第二模块产生随机数,并根据随机数、第二鉴权密钥和第二序列号生成消息鉴权编码,将所述随机数、第二序列号和生成的消息鉴权编码发送给第一模块;b.第一模块根据第一鉴权密钥和所述随机数以及第二序列号对所述消息鉴权编码进行一致性验证,并根据第一序列号判断第二序列号是否可接受,判断出对所述消息鉴权编码的一致性验证通过,且第二序列号可接受时,对第二模块的鉴权通过,并用约定的特定值代替第一序列号和所述随机数以及第一同步密钥生成再同步鉴权编码,向第二模块发送再同步请求且附上所述再同步鉴权编码和代替第一序列号的所述约定的特定值;c.第二模块在接收到所述再同步请求,判断出来自第一模块的第一序列号为所述约定的特定值时,执行约定的对应操作。
优选地,所述步骤b中所述用约定的特定值代替第一序列号和第一同步密钥生成再同步鉴权编码进一步是用约定的特定值代替第一序列号和所述随机数以及第一同步密钥生成再同步鉴权编码。
优选地,所述步骤b中还包括,第一模块判断出对所述消息鉴权编码的一致性验证通过,且第二序列号可接受时,根据所述第二序列号更新第一序列号。
优选地,当第一模块判断出对所述消息鉴权编码的一致性验证通过但第二序列号不属于可接受的范围时,直接根据终第一序列号和所述随机数以及第一同步密钥生成再同步鉴权编码,向网络发送再同步请求且附上所述再同步鉴权编码和第一序列号。
优选地,所述步骤b中还包括,当第一模块判断出对所述消息鉴权编码的一致性验证未通过时,则向第二模块发送鉴权失败信息。
优选地,所述步骤b中,第一模块对所述消息鉴权编码进行一致性验证进一步是第一模块根据第一鉴权密钥、所述随机数和第二序列号采用和第二模块根据所述随机数、第二鉴权密钥和第二序列号产生消息鉴权编码一致的方法产生一个运算结果,比较自己产生的运算结果和所述消息鉴权编码是否一致,如果一致,则对所述消息鉴权编码的一致性验证通过,否则,对所述消息鉴权编码的一致性验证不通过。
优选地,所述步骤b中,第一模块判断第二序列号是否可接受进一步是判断第二序列号和第一序列号的差值是否在一定的范围内,如果是,则判断出第二序列号可接受,否则,判断出第二序列号不可以接受。
优选地,所述步骤c中还包括第二模块对所述再同步鉴权编码进行合法性判断。
优选地,所述步骤c可以进一步是判断出所述来自第一模块的第一序列号为所述约定的特定值后进一步判断再同步鉴权编码是否合法,若合法则执行对应的约定内容;优选地,所述步骤c可以进一步是判断出来自第一模块的再同步鉴权编码合法后进一步判断所述第一序列号是否为所述约定的特定值,若是则执行对应的约定内容,否则,根据所述第一序列号更新保存的第二序列号。
优选地,所述步骤c进一步包括判断出来自第一模块的再同步鉴权编码非法后,返回失败信息。
优选地,所述步骤c中第二模块对所述再同步鉴权编码进行合法性判断进一步是第二模块根据第二同步密钥、所述随机数和第一序列号采用和第一模块根据所述随机数、第一同步密钥和第一序列号产生再同步鉴权编码一致的方法产生一个运算结果,比较自己产生的运算结果和所述再同步鉴权编码是否一致,如果一致,则判断出再同步鉴权编码合法,否则,判断出再同步鉴权编码非法。
优选地,所述约定的特定值是指约定某一范围内的值或某个或多个具体值。
优选地,所述执行约定内容可以是执行密钥更新、执行鉴权算法更新、获得相关信息和返回特殊操作执行结果信息中一个或多个。
本发明终端向网络传递信息的方法不需增加或改变现有的信令资源或鉴权参数,方便地实现终端与网络侧的鉴权与信息传递且保障网络安全性,也可方便安全地实现两个通信模块之间鉴权和信息传递。


图1是本发明的具体实施方式
一的流程图。
图2是本发明的具体实施方式
一的第一实施例的流程图。
图3是本发明的具体实施方式
一的第二实施例的流程图。
图4是本发明的具体实施方式
二的第一实施例中,第一模块需要向第二模块传送特定的信息时的主流程。
图5是本发明的具体实施方式
二的第一实施例中,第一模块不需要向第二模块传送特定的信息时的主流程。
图6是本发明的具体实施方式
二的第一实施例中,第二模块执行同步处理的子流程。
图7是本发明的具体实施方式
二的第二实施例中,第二模块执行同步处理的子流程。
具体实施例方式
本发明终端向网络侧传递信息的方法利用3G网络鉴权流程中的已有参数来实现,不需增加信令资源。
为了更好地理解本发明,先简单介绍一下现有的第三代移动通信系统中的鉴权流程,在移动终端中保存国际移动用户标识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接收到新的五元组后,删除对应的旧的五元组。关于鉴权流程,可以参照3GPP规范。
可见在3G通信系统的现有鉴权流程中,SQNMS主要用于判断AUTN中SQNHE是否是最新的或SQNHE是否在可接受范围内,以及更新SQNHE时使用。
本发明通过改进措施,提供一种改进的鉴权方法和信息传递方法,使得在终端对网络侧鉴权通过即终端根据自己保存的KI对AUTN的一致性验证通过并且AUTN中的SQNHE在可接受范围内的情况下,也产生再同步标记和发送再同步请求命令,并利用终端向网络侧发送的再同步请求命令和所附的再同步标记AUTS中的SQNMS来向网络侧传递信息。本发明中终端对网络侧鉴权通过后,用约定的特定值代替SQNMS产生再同步标记AUTS,向网络侧发送同步请求命令并附上该再同步标记,网络侧接收到所述同步请求命令时,判断AUTS中SQNMS是否为约定的特定值,若是,则执行约定的内容;否则按正常同步处理流程处理,即根据SQNMS更新SQNHE并作后续处理。网络侧在判断AUTS中SQNMS是否为约定的特定值之前,还可以进一步执行对终端的鉴权和对SQNMS的完整性验证,从而判断AUTS的合法性。本发明的方法既充分利用了现有鉴权参数方便地对网络传递信息,又利用了网络侧处理再同步请求命令时的鉴权步骤提高了终端对网络传递信息的安全性和完整性。
本发明提供的鉴权方法和相应的信息传递方法并不仅应用于终端与网络间的鉴权与信息传递,还可用于任何可相互通信的两模块之间的鉴权及信息传递,例如Wimax,……等无线通信网络间的模块,或者是有线通信网络间的模块。
下面结合附图对本发明的具体实施方式
进行详细的说明首先,通过具体实施方式
一对本发明提供的方法在移动通信中的实施与应用予以说明,请参阅图1,图1为本发明具体实施方式
一的流程图。
在步骤101中,终端向网络侧发起位置更新请求。
本步骤也可以是向网络侧发起业务请求。实际当中可以是终端发送的任何可以引起网络侧对终端进行鉴权的消息。
步骤102,网络侧接收到该位置更新请求后将产生的鉴权元组中的相应鉴权参数发送给终端。本发明中网络侧实际也可以只产生所述相应鉴权参数。
所述鉴权元组可以包括随机数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等组成了鉴权五元组。本发明中,终端在向网络侧传递信息时,只需用到其中的RAND和AUTN。
HLR/AUC产生了鉴权五元组后将相应的国际移动用户识别码IMSI和鉴权五元组RAND、CK、IK、XRES和AUTN发送给MSC/VLR。MSC/VLR为电路域设备,对于分组域的网络,对应的设备可以为SGSN。鉴权时,网络侧的MSC/VLR将接收自HLR/AUC的鉴权元组中的随机数RAND和鉴权标记AUTN传送给终端MS。
步骤103,终端MS接收到网络侧发送的相应鉴权参数即随机数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,对网络侧MSC/VLR返回再同步请求命令或同步失败(Synchronisation failure)消息,同时附上产生的再同步标记AUTS。
终端对网络侧鉴权通过后,用约定的特定值代替SQNMS并根据自己的KI和接收到的RAND以及AMF等计算得到MAC-S,再用约定的特定值代替SQNMS并根据AK和MAC-S产生再同步标记AUTS,向网络侧发送再同步请求命令并附上所述再同步标记AUTS,或者向网络侧发送同步失败消息,并在该消息中包含AUTS。至于具体产生过程,以及产生时使用的算法可参照3GPP规范。
步骤104,网络侧接收到再同步请求命令后,判断出再同步标记AUTS中的SQNMS为约定的特定值时,执行对应约定的内容,也即执行对应操作。
终端和网络侧预先约定网络侧在接收到终端的再同步请求命令后,如果判断出SQNMS为约定的特定值时,则根据该特定值执行对应的约定内容,也即执行对应操作。所述执行对应约定的内容可以是执行密钥更新、执行鉴权算法更新、执行防盗验证、取消防盗验证、获得相关信息和返回特殊操作执行结果信息等等操作中的一个或者多个。所述获得相关信息可以是根据SQNMS的值获得终端是否具备某种能力,例如是否支持GPS定位功能,是否支持移动支付等等,所述特殊操作可以是响应鉴权管理域AMF不同值进行相应处理的执行结果,也可以是根据某种配置进行初始化操作执行结果,也可以是移动终端漫游时,根据当前位置区或者运营商对移动终端进行了特殊初始化操作执行结果,等等。
在步骤104中,还可以包括判断AUTS合法性步骤。
也即,在判断再同步标记AUTS中的SQNMS是否为约定的特定值之前,可以进一步包括判断AUTS合法性步骤。具体地说,网络侧的MSC/VLR接收到终端返回的再同步标记AUTS时,将AUTS和对应五元组中的RAND一并发送给HLR/AUC,HLR/AUC先根据RAND、KI、SQMMS和AMF等采用与终端一致的算法计算得出MAC-S,再将之与接收到的AUTS中的MAC-S比较,若一致,判断出AUTS合法,否则,判断出AUTS非法。HLR/AUC判断AUTS非法时,向MSC/VLR返回AUTS不合法的消息。HLR/AUC判断AUTS合法时,进一步判断SQNMS是否为约定的特定值,若为约定的特定值则执行约定的内容。否则,即不为约定的特定值时按正常同步流程处理,即根据SQNMS更新SQNHE,并作后续处理。关于正常同步流程处理可以参照3GPP规范。
或者在判断再同步标记AUTS中的SQNMS为约定的特定值之后,并在执行对应约定的内容之前,可以进一步包括判断AUTS合法性步骤。
具体地说,网络侧的MSC/VLR接收到终端返回的再同步标记AUTS时,将AUTS和对应五元组中的RAND一并发送给HLR/AUC,HLR/AUC判断出SQNMS为所述约定的特定值后,先根据RAND、KI、SQMMS和AMF等采用与终端一致的算法计算得出MAC-S,再将之与接收到的AUTS中的MAC-S比较,若一致,判断出AUTS合法,否则,判断出AUTS非法。HLR/AUC判断AUTS非法时,向MSC/VLR返回AUTS不合法的消息。HLR/AUC判断AUTS合法时,执行所述约定的内容。HLR/AUC判断出SQNMS不是所述约定的特定值时,按正常同步流程处理,即判断AUTS合法时,根据SQNMS更新SQNHE,并作后续处理;判断AUTS非法时,向MSC/VLR返回AUTS不合法的消息。关于正常同步流程处理可以参照3GPP规范。
在步骤103中,产生MAC-S时,也可根据RAND、KI、SQNMS计算产生,即,不再根据AMF,对应地在步骤104中,网络侧验证MAC-S合法性时,也根据RAND、KI、SQNMS来验证,而不再根据AMF来进行。
请参阅图2,图2为所示本发明具体实施方式
一的第一实施例,本实施例中将对终端使用本发明的方法通知网络侧密钥更新的过程予以说明,以便更好地理解本发明。
在步骤201,终端向网络发起位置更新请求;本步骤也可以是向网络侧发起业务请求。实际当中可以是终端发送的任何可以引起网络侧对终端进行鉴权的消息。
在步骤202,网络侧接收到所述请求后,通过对终端发送鉴权请求,将产生的对应该终端的鉴权元组中的相应的鉴权参数发送给终端。
具体地说,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。鉴权时,MSC/VLR向终端发起鉴权请求,并同时将五元组中相应的鉴权参数RAND和AUTN发送给终端。
实际应用中,不产生期望响应XRES、加密密钥CK及完整性密钥IK也不影响本发明的实现。可视为对本实施例的变形。
步骤203,终端接收到鉴权请求时,先对网络进行鉴权,判断鉴权是否通过。
具体地说,终端接收到来自网络侧的随机数RAND和鉴权标记AUTN时,根据接收到的RAND、自身保存的KI和接收到的AUTN中的SQNHE以及AMF采用与HLR/AUC计算AUTN中MAC-A一致的算法生成MAC-A,然后终端将自身生成的MAC-A与网络侧生成的MAC-A比较,若不一致,则认为对网络的鉴权未通过,执行步骤204;若一致,则执行步骤205。
步骤204中,终端向网络返回“鉴权失败”的信息,然后结束本次流程。
步骤205,终端判断SQNHE是否在可接受范围内,如果是,则判断出对网络鉴权通过,并执行步骤206,否则,判断出同步失败,并执行步骤207。
步骤206,终端用约定的特定值代替SQNMS产生再同步标记AUTS,对网络发起再同步请求命令,并附上再同步标记AUTS。具体地说,终端用约定的特定值代替SQNMS并根据自己的KI和接收到的RAND以及AMF等计算得到MAC-S,再用约定的特定值代替SQNMS并根据AK和MAC-S产生再同步标记AUTS,向网络侧发送再同步请求命令并附上所述再同步标记AUTS。也即,向MSC/VLR发送同步失败消息,该同步失败消息中包含了AUTS。该约定的特定值对应的约定内容,也即网络侧识别到该约定的特定值时执行的内容为“产生新的鉴权密钥”;在本步骤中还包括终端根据RAND和KI产生新的鉴权密钥。然后执行步骤208。
步骤206,终端可以进一步根据SQNHE更新保存的SQNMS。
步骤207,终端直接根据SQNMS产生再同步标记AUTS,对网络发起再同步请求命令,并附上再同步标记AUTS。具体地说,终端根据自己的KI、SQNMS和接收到的RAND以及AMF等计算得到MAC-S,再根据SQNMS、AK和MAC-S产生再同步标记AUTS,然后对网络侧发起再同步请求命令,并附上该再同步标记AUTS。也即,向MSC/VLR发送同步失败消息,该同步失败消息中包含了AUTS。然后执行步骤208。
步骤208,网络侧接收到再同步请求命令时,根据对应五元组中的RAND、保存的KI、接收到的AUTS中的SQNMS和AMF等采用与终端意一致的算法计算得到MAC-S,然后通过比较自身产生的MAC-S与接收到的AUTS中的MAC-S是否一致来对终端鉴权,若MAC-S值比较一致则认为鉴权通过,即认为AUTS合法,然后执行步骤209;否则,认为AUTS非法,执行步骤212;具体地说,网络侧的MSC/VLR接收到终端返回的再同步标记AUTS时,将AUTS和对应五元组中的RAND一并发送给HLR/AUC,HLR/AUC先根据接收到RAND、AUTS中的SQNMS、自己保存的KI和AMF等采用与终端一致的算法计算得出MAC-S,再将之与接收到的AUTS中的MAC-S比较,若一致,判断出AUTS合法,否则,判断出AUTS非法。需要说明的是,如果AUTS中SQNMS根据AK进行了加密,HLR/AUC可以根据RAND和KI产生AK来解密SQNMS密文,得到SQNMS明文。由于这是3GPP协议规范内容,因此,这里不对其进行详细叙述。
步骤209,网络侧HLR/AUC判断AUTS中的SQNMS是否为约定的特定值。如果为约定的特定值则执行步骤210;如果不为约定的特定值则执行步骤211;步骤210,网络侧执行约定的特定值对应的约定内容,即执行鉴权密钥更新动作,也就是HLR/AUC根据RAND和KI采用与终端一致的算法产生新的鉴权密钥,然后结束本次信息传递流程。
步骤211,HLR/AUC根据SQNMS的值更新SQNHE,然后结束本次信息传递流程。
步骤212,网络侧返回失败信息;然后结束本次信息传递流程。
对本发明而言,在步骤206以及207中,实际中产生MAC-S时,不使用AMF也不影响本方法的实现,即也可仅根据RAND、KI、SQNMS计算产生,至于具体算法可参照3GPP规范。当然,若终端如此操作时,在步骤208中,网络侧也应采取与终端一致的参数和算法来生成MAC-S对终端鉴权,这样的改变应视为对本实施例的变形,应属于本发明的保护范围。
本实施例中,步骤208和209,及其以后步骤,网络侧接收到再同步请求命令时,网络侧HLR/AUC可以先判断AUTS中的SQNMS是否为约定的特定值,如果不是,则按照正常的同步流程处理,而不是直接执行步骤211,否则,即,判断出AUTS中的SQNMS为约定的特定值时,进一步判断AUTS的合法性,并在判断出AUTS合法后执行步骤210,在判断出AUTS非法后执行步骤212。
请参阅图3,图3所示为本发明具体实施方式
一的第二实施例,本实施例中相对于上述第一实施例,网络侧接收到再同步请求命令时,网络侧HLR/AUC可以先判断AUTS中的SQNMS是否为约定的特定值,后判断AUTS的合法性,如下在步骤301,终端向网络发起位置更新请求;在步骤302,网络侧接收到所述请求后,通过对终端发送鉴权请求,将产生的对应该终端的鉴权元组中的相应的鉴权参数发送给终端。
具体地说,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。鉴权时,MSC/VLR向终端发起鉴权请求,并同时将五元组中相应的鉴权参数RAND和AUTN发送给终端。
实际应用中,不产生期望响应XRES、加密密钥CK及完整性密钥IK也不影响本发明的实现。可视为对本实施例的变形。
步骤303,终端接收到鉴权请求时,先对网络进行鉴权,判断鉴权是否通过。
具体地说,终端接收到来自网络侧的随机数RAND和鉴权标记AUTN时,根据接收到的RAND、自身保存的KI和接收到的AUTN中的SQNHE以及AMF采用与HLR/AUC计算AUTN中MAC-A一致的算法生成MAC-A,然后终端将自身生成的MAC-A与网络侧生成的MAC-A比较,若不一致,则认为对网络的鉴权未通过,执行步骤304;若一致,则执行步骤305。
步骤304中,终端向网络返回“鉴权失败”的信息,然后结束本次流程。
步骤305,终端判断SQNHE是否在可接受范围内,如果是,则判断出对网络鉴权通过,并执行步骤306,否则,判断出同步失败,并执行步骤307。
步骤306,终端用约定的特定值代替SQNMS产生再同步标记AUTS,对网络发起再同步请求命令,并附上再同步标记AUTS。具体地说,终端用约定的特定值代替SQNMS并根据自己的KI和接收到的RAND以及AMF等计算得到MAC-S,再用约定的特定值代替SQNMS并根据AK和MAC-S产生再同步标记AUTS,向网络侧发送再同步请求命令并附上所述再同步标记AUTS。也即,向MSC/VLR发送同步失败消息,该同步失败消息中包含了AUTS。该约定的特定值对应的约定内容,也即网络侧识别到该约定的特定值时执行的内容为“产生新的鉴权密钥”;在本步骤中还包括终端根据RAND和KI产生新的鉴权密钥。然后执行步骤308。
步骤306,终端可以进一步根据SQNHE更新保存的SQNMS。
步骤307,终端直接根据SQNMS产生再同步标记AUTS,对网络发起再同步请求命令,并附上再同步标记AUTS。具体地说,终端根据自己的KI、SQNMS和接收到的RAND以及AMF等计算得到MAC-S,再根据SQNMS、AK和MAC-S产生再同步标记AUTS,然后对网络侧发起再同步请求命令,并附上该再同步标记AUTS。也即,向MSC/VLR发送同步失败消息,该同步失败消息中包含了AUTS。然后执行步骤308。
步骤308,网络侧接收到再同步请求命令时,网络侧HLR/AUC判断AUTS中的SQNMS是否为约定的特定值。如果为约定的特定值则执行步骤309;如果不为约定的特定值则执行步骤310;需要说明的是,如果AUTS中SQNMS根据AK进行了加密,HLR/AUC可以根据RAND和KI产生AK来解密SQNMS密文,得到SQNMS明文。由于这是3GPP协议规范内容,因此,这里不对其进行详细叙述。
步骤309,网络侧根据对应五元组中的RAND、保存的KI、接收到的AUTS中的SQNMS和AMF等采用与终端一致的算法计算得到MAC-S,然后通过比较自身产生的MAC-S与接收到的AUTS中的MAC-S是否一致来对终端鉴权,若MAC-S值比较一致则认为鉴权通过,即认为AUTS合法,然后执行步骤311;否则,认为AUTS非法,执行步骤313;具体地说,网络侧的MSC/VLR接收到终端返回的再同步标记AUTS时,将AUTS和对应五元组中的RAND一并发送给HLR/AUC,HLR/AUC先根据接收到RAND、AUTS中的SQNMS、自己保存的KI和AMF等采用与终端一致的算法计算得出MAC-S,再将之与接收到的AUTS中的MAC-S比较,若一致,判断出AUTS合法,否则,判断出AUTS非法。
步骤311,网络侧执行约定的特定值对应的约定内容,即执行鉴权密钥更新动作,也就是HLR/AUC根据RAND和KI采用与终端一致的算法产生新的鉴权密钥,然后结束本次信息传递流程。
步骤310,网络侧根据对应五元组中的RAND、保存的KI、接收到的AUTS中的SQNMS和AMF等采用与终端意一致的算法计算得到MAC-S,然后通过比较自身产生的MAC-S与接收到的AUTS中的MAC-S是否一致来对终端鉴权,若MAC-S值比较一致则认为鉴权通过,即认为AUTS合法,然后执行步骤312;否则,认为AUTS非法,执行步骤313;具体地说,网络侧的MSC/VLR接收到终端返回的再同步标记AUTS时,将AUTS和对应五元组中的RAND一并发送给HLR/AUC,HLR/AUC先根据接收到RAND、AUTS中的SQNMS、自己保存的KI和AMF等采用与终端一致的算法计算得出MAC-S,再将之与接收到的AUTS中的MAC-S比较,若一致,判断出AUTS合法,否则,判断出AUTS非法。
步骤312,HLR/AUC根据SQNMS的值更新SQNHE,然后结束本次信息传递流程。
步骤313,网络侧返回失败信息;然后结束本次信息传递流程。
对本发明而言,在步骤306以及307中,实际中产生MAC-S时,不使用AMF也不影响本方法的实现,即也可仅根据RAND、KI、SQNMS计算产生,至于具体算法可参照3GPP规范。当然,若终端如此操作时,在步骤309或310中,网络侧也应采取与终端一致的参数和算法来生成MAC-S对终端鉴权,这样的改变应视为对本实施例的变形,应属于本发明的保护范围。
上述实施方式和实施例中,说明了对于SQNMS是否为约定的特定值的判断,以及对于AUTS的合法性判断,其顺序可以调换,一般情况下,调换判断顺序并不影响到实施效果。但值得注意的是,在先判断SQNMS是否为约定的特定值,后判断AUTS的合法性的情况下,HLR/AUC在判断出SQNMS为约定的特定值后,可以根据SQNMS的特定值来进一步确定判断AUTS合法性时使用的判断处理方式,比如,使用何种算法或参数来执行判断,等等。因此,先判断SQNMS是否为约定的特定值,后判断AUTS的合法性的情况可以使得本方法具有更强的扩展性。
本发明所述的方法,不只可用于向网络侧传送密钥更新请求信息,还可以向HLR/AUC传送更新鉴权算法的请求信息,还可以向网络侧传送终端是否执行防盗验证和取消防盗验证信息,以及向HLR/AUC传送终端是否支持变换SQN验证参数和设置限制IK和CK的有效时间的阈值等等。
对于HLR/AUC发起密钥更新的情况下,终端可以利用本发明方法向HLR/AUC返回密钥更新是否成功的信息。
实际当中,可以设定SQNMS的某些值可以用作约定的特定值,比如,设定SQNMS小于256范围内的值作为可以用作约定的特定值,显然,这样SQNMS用于判断AUTN是否可以接受的初始值应该大于等于256,当然,也可以设置某一个值,比如1024为可以用作约定的特定值。还可以同时设定SQNMS在某一范围内的值和某些特定值作为可以用作约定的特定值,例如可以同时设定SQNMS小于256范围内的值和1024、2048两个特定值作为可以用作约定的特定值。例如,约定将SQNMS=128表示为终端向HLR/AUC传送请求更新鉴权密钥的信息,将SQNMS=12表示为终端向HLR/AUC传送终端设置防盗验证的信息,将SQNMS=13表示为终端向HLR/AUC传送终端取消防盗验证的信息,将SQNMS=1023表示为终端向HLR/AUC传送密钥更新成功的信息,将SQNMS=1024表示为终端向HLR/AUC传送密钥更新失败的信息。
上述MSC/VLR为电路域设备,对于分组域的网络,对应的MSC/VLR设备为SGSN,因此本发明可以等同应用于分组域。
上述各个具体实施方式
或实施例中,终端和HLR/AUC产生新鉴权密钥可以是使用成熟的摘要算法,相应摘要算法可以参见《应用密码学》一书或相关的算法论文或报告;当然,产生新密钥时,也可以使用3GPP协议中提到的由随机数RAND和鉴权密钥KI产生加密密钥CK或完整性密钥IK的算法来进行。
上述各个具体实施方式
或实施例中,终端对于AUTN一致性验证,对于SQNHE是否属于可接受范围的判断,HLR/AUC对于AUTS合法性的验证,以及HLR/AUC产生鉴权元组时,对于SQNHE的更新;产生鉴权元组的算法,以及产生AUTS的算法,等等,可以参见3GPP相关协议,由于是公知技术,这里不再赘述。
下面对本发明的具体实施方式
二进行介绍,通过具体实施方式
二对本发明在两个通信模块间的实施及应用予以说明,所述模块包括第一模块和第二模块,在第一模块中保存第一鉴权密钥AK1和第一同步密钥SK1,在第二模块对应地保存第二鉴权密钥AK2和第二同步密钥SK2;在第一模块中保存第一序列号SQN1,在第二模块中保存第二序列号SQN2。
鉴权时,第二模块将产生的鉴权参数信息发送给第一模块,所述鉴权参数信息包括一个随机数RAND,SQN2和一个消息鉴权编码MAC-A;实际当中,第二模块产生鉴权参数信息时,首先产生一个随机数RAND,比如,第二模块设置一个随机数发生器,通过随机数发生器产生该随机数RAND,然后根据随机数RAND、SQN2和AK2进行计算,得到消息鉴权编码MAC-A;第一模块对接收自第二模块的鉴权参数信息进行一致性验证,也即,对MAC-A进行一致性验证,这里是根据AK1和接收自第二模块的RAND以及SQN2,按照和第二模块计算MAC-A一致的方法进行计算,得到一个计算结果,并比较自己计算得到的结果和接收自第二模块的MAC-A是否一致,如果不一致,则对MAC-A的一致性验证不通过,判断出对第二模块鉴权不通过。如果MAC-A的一致性验证通过,则第一模块根据自己保存的SQN1验证SQN2是否可以接受,如果可以接受,则判断出对第二模块鉴权通过,并根据SQN2更新SQN1;如果判断SQN2不可以接受,则第一模块根据RAND、SQN1和SK1进行计算得到一个再同步鉴权编码MAC-S,向第二模块发送再同步消息,消息中包括SQN1和MAC-S。第二模块验证第一模块的再同步消息的合法性,也即验证再同步鉴权编码MAC-S的合法性,这里是根据自己保存的SK2、RAND和接收自第一模块的SQN1,按照和第一模块计算MAC-S一致的方法进行计算,得到一个计算结果,并比较自己计算得到的结果和接收自第一模块的MAC-S是否一致,如果一致,则判断出第一模块的再同步消息合法,并根据SQN1更新SQN2;如果不一致,则判断出第一模块的再同步消息非法。这里,第二模块验证MAC-S一致性时,需要用到RAND,第二模块可以事先在产生鉴权参数之后保存了对应的RAND,也可以是由第一模块将该RAND回送给第二模块,需要注意的是,由第一模块将该RAND回送给第二模块的做法降低了本方法的安全性,例如,可能受到消息重放的攻击。
上述第一模块根据SQN2更新SQN1,可以是将SQN1的值设置为等于SQN2。
上述第二模块根据SQN1更新SQN2,可以是将SQN2的值设置为等于SQN1,或者根据SQN1产生一个新值来代替SQN2本身的值;或在将SQN2的值设置为等于SQN1之后,重新根据SQN2产生一个新值来代替SQN2本身的值。根据SQN1或SQN2产生一个新值可以是对SQN1或SQN2增加一个随机增量,比如增加一个1到256之间的随机数来得到所述新值。实际当中,可以通过随机数发生器来产生1到256之间的随机数。
上述第一模块根据自己保存的SQN1验证SQN2是否可以接受,可以是判断SQN1和SQN2的差值是否在一定的范围内,例如,是否(SQN1-SQN2)大于0,或者是否(SQN1-SQN2)大于0且小于256,等等。如果差值在所述范围内,则判断出SQN2可以接受,否则,判断SQN2不可以接受。
上述计算MAC-A和MAC-S值的计算可以是已知的摘要计算,也可以是使用业界公知的一些算法来进行。
上述第二模块更新SQN2以后,可以重新开始上述鉴权流程,即第二模块产生一个随机数RAND,比如,第二模块通过设置的随机数发生器产生该随机数RAND。第二模块根据随机数RAND、SQN2和AK2进行计算,得到一个消息鉴权编码MAC-A,并将RAND、SQN2和MAC-A发送给第一模块,第一模块进行相应处理,等等。
第一模块和第二模块预先约定第二模块在接收到第一模块的再同步消息后,如果判断出SQN1为约定的特定值时,则根据该特定值执行对应的约定内容,也即执行对应操作。
根据约定,第一模块可以向第二模块传送特定的信息,使第二模块根据特定信息执行对应的特定操作。
第一模块可以和第二模块预先约定第二模块在接收到第一模块的再同步消息后,如果判断出SQN1为约定的特定值时,则根据该特定值执行对应的约定内容,也即执行对应操作。所述执行对应约定的内容可以是执行密钥更新、执行鉴权算法更新、获得相关信息和返回特殊操作执行结果信息等等操作中的一个或者多个。所述获得相关信息可以是获得第一模块是否具备某种能力,例如,根据SQN1的值获得第一模块是否支持GPS定位功能,是否支持移动支付等等,所述特殊操作可以第一模块执行的一些特定操作,例如根据某种配置进行初始化操作执行结果,等等。
请参阅图4,为本发明具体实施方式
二的第一实施例中,第一模块需要向第二模块传送特定的信息时的主流程在步骤402,鉴权时,第二模块将产生的鉴权参数信息发送给第一模块。
所述鉴权参数信息包括一个随机数RAND,SQN2和一个消息鉴权编码MAC-A;实际当中,第二模块产生鉴权参数时,首先产生一个随机数RAND,比如,第二模块通过设置的随机数发生器产生该随机数RAND,然后根据随机数RAND、SQN2和AK2进行计算,得到一个消息鉴权编码MAC-A,并将RAND、SQN2和MAC-A作为要发送给第一模块的鉴权参数;在步骤403,第一模块对接收自第二模块的消息进行一致性验证,也即,根据AK1和接收自第二模块的RAND以及SQN2,按照和第二模块计算MAC-A一致的方法进行计算,得到一个计算结果,并比较自己计算得到的结果和接收的MAC-A是否一致,如果不一致,则判断出对第二模块鉴权不通过。如果一致性验证通过,则执行步骤404。
在步骤404,第一模块根据自己保存的SQN1验证SQN2是否可以接受,如果可以接受,则判断出对第二模块鉴权通过,并根据SQN2更新SQN1,执行步骤405;否则,如果判断SQN2不可以接受,则执行步骤406。
在步骤405,第一模块用约定的特定值代替SQN1并根据自己的SK1和接收到的RAND等进行计算得到一个再同步鉴权编码MAC-S,向第二模块发送再同步消息,消息中包括代替SQN1的所述约定的特定值和MAC-S,第二模块接收到再同步消息后进入执行同步处理的子流程。
在步骤406,第一模块根据RAND、SQN1和SK1进行计算得到一个消息鉴权编码MAC-S,第一模块向第二模块发送再同步消息,消息中包括SQN1和MAC-S,第二模块接收到再同步消息后进入执行同步处理的子流程。
上述步骤404第一模块根据自己保存的SQN1验证SQN2是否可以接受,可以是判断SQN1和SQN2的差值是否在一定的范围内,例如,是否(SQN1-SQN2)大于0,或者是否(SQN1-SQN2)大于0且小于256,等等。如果差值在所述范围内,则判断出SQN2可以接受,否则,判断SQN2不可以接受。
请参阅图5,为本发明具体实施方式
二的第一实施例中,第一模块不需要向第二模块传送特定的信息时的主流程在步骤502,鉴权时,第二模块将产生的鉴权参数信息发送给第一模块。
所述鉴权参数信息包括一个随机数RAND,SQN2和一个消息鉴权编码MAC-A;实际当中,第二模块产生鉴权参数时,首先产生一个随机数RAND,比如,第二模块通过设置的随机数发生器产生该随机数RAND,第二模块根据随机数RAND、SQN2和AK2进行计算,得到一个消息鉴权编码MAC-A,并将RAND、SQN2和MAC-A作为要发送给第一模块的鉴权参数;在步骤503,第一模块对接收自第二模块的消息进行一致性验证,也即,根据AK1和接收自第二模块的RAND以及SQN2,按照和第二模块计算MAC-A一致的方法进行计算,得到一个计算结果,并比较自己计算得到的结果和接收的MAC-A是否一致,如果不一致,则判断出对第二模块鉴权不通过。如果一致性验证通过,则执行步骤504。
在步骤504,第一模块根据自己保存的SQN1验证SQN2是否可以接受,如果可以接受,则判断出对第二模块鉴权通过,执行步骤506,即根据SQN2更新SQN1,并结束流程;否则,如果判断SQN2不可以接受,则执行步骤505。
在步骤505,第一模块根据RAND、SQN1和SK1进行计算得到一个消息鉴权编码MAC-S,第一模块向第二模块发送再同步消息,消息中包括SQN1和MAC-S,第二模块接收到再同步消息后进入执行同步处理的子流程。
上述步骤504第一模块根据自己保存的SQN1验证SQN2是否可以接受,可以是判断SQN1和SQN2的差值是否在一定的范围内,例如,是否(SQN1-SQN2)大于0,或者是否(SQN1-SQN2)大于0且小于256,等等。如果差值在所述范围内,则判断出SQN2可以接受,否则,判断SQN2不可以接受。
请参阅图6,为本发明具体实施方式
二的第一实施例中的第二模块执行同步处理的子流程在步骤601,第二模块验证第一模块的再同步消息的合法性,如果第一模块的再同步消息合法则执行步骤602,如果第一模块的再同步消息非法则执行步骤603,即返回同步失败信息,结束流程。
在步骤602,第二模块判断再同步消息中SQN1是否为约定的特定值,如果不是,则执行步骤604;如果是,则执行步骤605。
在步骤604,根据SQN1更新SQN2,结束流程。
在步骤605,第二模块执行对应约定的内容,也即执行对应操作。实际当中,可以预先约定第二模块在接收到第一模块的再同步消息后,如果判断出再同步消息中SQN1为约定的特定值时,则根据该特定值执行对应的约定内容,也即执行对应操作。然后,结束流程。
请一并参阅本发明的图4、图5及图7,为本发明的具体实施方式
二的第二实施例,与上述第一实施例的区别在于第一实施例中第二模块执行同步处理的子流程时,先进行再同步消息的合法性判断,而后进行再同步消息中SQN1是否为约定的特定值的判断。在本实施例中,先判断再同步消息中SQN1是否为约定的特定值,而后进行再同步消息的合法性判断,如图7所示在步骤701,第二模块验证第一模块的再同步消息中SQN1是否为约定的特定值,如果是,则执行步骤702,否则,执行步骤703。
在步骤702,第二模块验证第一模块的再同步消息的合法性,如果第一模块的再同步消息合法则执行步骤704,如果第一模块的再同步消息非法,则执行步骤706。
在步骤703,第二模块验证第一模块的再同步消息的合法性,如果第一模块的再同步消息合法则执行步骤705,否则,如果第一模块的再同步消息非法,则执行步骤706。
在步骤704,第二模块执行对应约定的内容,也即执行对应操作。实际当中,可以预先约定B模块在接收到A模块的再同步消息后,如果判断出再同步消息中SQN1为约定的特定值时,则根据该特定值执行对应的约定内容,也即执行对应操作。然后结束流程。
在步骤705,根据SQN1更新SQN2,然后结束流程。
步骤706,返回同步失败信息,然后结束流程。
上述具体实施方式
二中,第二模块执行同步处理的子流程时,第二模块验证第一模块的再同步消息的合法性具体可以是,第二模块根据自己保存的SK2、RAND和接收自第一模块的SQN1,按照和第一模块计算MAC-S一致的方法进行计算,得到一个计算结果,并比较自己计算得到的结果和接收自第一模块的MAC-S是否一致,如果一致,则判断出MAC-S合法,也即第一模块的再同步消息合法;如果不一致,则判断出MAC-S非法,也即第一模块的再同步消息非法。这里,第二模块验证MAC-S一致性时,需要用到RAND,第二模块可以事先在产生鉴权参数之后保存了对应的RAND,也可以是由第一模块将该RAND回送给第二模块,当然,后者可能会存在一定的安全隐患,例如,可能受到消息重放的攻击。
上述具体实施方式
或实施例中,说明了对于SQN1是否为约定的特定值的判断,以及对于再同步消息的合法性判断,其顺序可以调换,一般情况下,调换判断顺序并不影响到实施效果。但值得注意的是,在具体实施方式
二的第二实施例中,即先判断SQN1是否为约定的特定值,后判断再同步消息的合法性的情况下,第二模块在判断出SQN1为约定的特定值后,可以根据SQN1的特定值来进一步确定判断再同步消息合法性时所使用的判断处理方式,比如,根据所述约定的特定值确定使用何种算法或采用哪些参数来执行所述对再同步消息的合法性判断,等等。因此,先判断SQN1是否为约定的特定值,后判断再同步消息的合法性的情况可以使得本方法具有更强的扩展性。
上述具体实施方式
或实施例中,第一模块再计算再同步鉴权编码时,可以不使用随机数参与运算,相应的,第二模块验证第一模块的再同步消息的合法性时,也不使用随机数参与运算。不过,这样会降低第一同步密钥的安全性,是针对本发明的一种改劣实现,因此,这里不再详细阐述这种改劣方法的具体实施步骤。
上述具体实施方式
或实施例中,在第一模块中,第一鉴权密钥AK1和第一同步密钥SK1可以相同,也即,第一鉴权密钥AK1和第一同步密钥SK1可以是同一个密钥;相应地,在第二模块中,第二鉴权密钥AK2和第二同步密钥SK2也可以相同,也即,第二鉴权密钥AK2和第二同步密钥SK2也可以是同一个密钥。
上述第二实施方式及相关实施例中,可以设定SQN1的某些值用作约定的特定值,比如,设定SQN1小于256范围内的值作为可以用作约定的特定值,显然,这样SQN1用于判断SQN2是否可以接受的初始值应该大于等于256。当然,也可以设置某一个值,比如1024为可以用作约定的特定值。还可以同时设定SQN1在某一范围内的值和某些特定值作为可以用作约定的特定值,例如可以同时设定SQN1小于256范围内的值和1024、2048两个特定值作为可以用作约定的特定值。例如,约定将SQN1=128表示为向第二模块传送更新鉴权密钥的信息,将SQN1=1023表示为向第二模块传送密钥更新成功的信息,将SQN1=1024表示为向第二模块传送密钥更新失败的信息。
可以理解,以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种信息传递方法,用于3G网络中终端向网络传递信息,其特征在于,所述方法包括以下步骤a.终端用约定的特定值代替SQNMS产生再同步标记AUTS,对网络发送再同步请求命令且附上所述再同步标记AUTS;b.网络侧在接收到所述再同步请求命令并判断出所述再同步标记AUTS中的SQNMS为所述约定的特定值时,执行所述约定的特定值对应的操作。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括,在步骤a之前终端对网络侧发送可引起鉴权流程的命令或请求,网络侧接收到所述命令或请求时对终端发起鉴权请求且附上产生的相应的鉴权参数,相应地,在步骤a中,终端接收所述鉴权参数并在向网络侧发送再同步请求命令前根据所述鉴权参数对网络进行鉴权。
3.根据权利要求2所述的方法,其特征在于,所述步骤a之前终端对网络侧发送可引起鉴权流程的命令或请求可以是位置更新请求或业务请求。
4.根据权利要求2所述的方法,其特征在于,所述鉴权参数包括随机数RAND和鉴权标记AUTN,相应的,在步骤a中所述对网络进行鉴权是根据RAND和AUTN对网络鉴权。
5.根据权利要求4所述的方法,其特征在于,根据RAND和AUTN对网络鉴权是指判断AUTN是否满足一致性要求,如果不满足,则对网络鉴权失败。
6.根据权利要求5所述的方法,其特征在于,判断出AUTN满足一致性要求后,进一步判断SQNHE是否在可接受的范围内,如果是,则确认对网络鉴权通过,用所述约定的特定值代替SQNMS产生再同步标记AUTS,否则,直接根据SQNMS产生再同步标记AUTS。
7.根据权利要求1所述的方法,其特征在于,步骤b还包括判断AUTS是否合法。
8.根据权利要求7所述的方法,其特征在于,所述步骤b中判断出SQNMS为所述约定的特定值后进一步判断AUTS是否合法,若合法则执行对应的约定内容。
9.根据权利要求7所述的方法,其特征在于,所述步骤b中判断出AUTS合法后进一步判断SQNMS是否为所述约定的特定值,若是则执行对应的约定内容,否则,根据SQNMS更新SQNHE。
10.根据权利要求1所述的方法,其特征在于,所述约定的特定值是指约定某一范围内的值或某个或多个具体值。
11.根据权利要求1所述的方法,其特征在于,所述执行约定内容可以是执行密钥更新、执行鉴权算法更新、执行防盗验证、取消防盗验证、获得相关信息和返回特殊操作执行结果信息中一个或多个。
12.一种鉴权方法,用于通信网络中终端与网络间的鉴权,所述方法包括以下步骤a.网络侧产生随机数,并根据随机数、终端的鉴权密钥和序列号生成鉴权元组,发送给终端;b.终端根据自身保存的鉴权密钥对所述鉴权元组进行一致性验证,并根据自身保存的序列号判断来自网络的序列号是否可接受,判断出对所述鉴权元组的一致性验证通过,且所述来自网络的序列号可接受时,对网络鉴权通过,并用约定的特定值代替终端保存的序列号生成再同步标记,向网络发送再同步请求且附上所述再同步标记;c.网络在接收到所述再同步请求,判断出所述再同步标记中的所述序列号为所述约定的特定值时,执行约定的对应操作。
13.根据权利要求12所述的方法,其特征在于,所述方法还包括在步骤a之前,终端对网络侧发送可引起鉴权流程的命令或请求,所述命令或请求可以是位置更新请求或业务请求。
14.根据权利要求12所述的方法,其特征在于,所述步骤b中还包括,当终端判断出对来自网络的所述鉴权元组一致性验证通过但来自网络的序列号不属于可接受的范围时,直接根据终端保存的序列号生成再同步标记,向网络发送再同步请求且附上所述再同步标记。
15.根据权利要求12所述的方法,其特征在于,所述步骤b中还包括,当终端判断出对来自网络的所述鉴权元组一致性验证未通过时,则向网络发送鉴权失败信息。
16.根据权利要求12所述的方法,其特征在于,所述步骤b中还包括,终端判断出对所述鉴权元组的一致性验证通过,且所述来自网络的序列号可接受时,根据所述来自网络侧的序列号更新终端侧保存的序列号。
17.根据权利要求12所述的方法,其特征在于,所述步骤c中还包括网络侧对所述再同步标记进行合法性判断。
18.根据权利要求17所述的方法,其特征在于,所述步骤c可以进一步是判断出所述来自终端的序列号为所述约定的特定值后进一步判断再同步标记是否合法,若合法则执行对应的约定内容。
19.根据权利要求17所述的方法,其特征在于,所述步骤c可以进一步是判断出再同步标记合法后进一步判断所述来自终端的序列号是否为所述约定的特定值,若是则执行对应的约定内容,否则,根据所述来自终端的序列号更新网络侧保存的序列号。
20.根据权利要求12到19中任一项所述的方法,其特征在于,所述约定的特定值是指约定某一范围内的值或某个或多个具体值。
21.根据权利要求12到19中任一项所述的方法,其特征在于,所述执行约定内容可以是执行密钥更新、执行鉴权算法更新、执行防盗验证、取消防盗验证、获得相关信息和返回特殊操作执行结果信息中一个或多个。
22.一种鉴权方法,用于可相互通信的模块之间的鉴权,所述模块至少包括保存了第一鉴权密钥、第一同步密钥和第一序列号的第一模块,以及保存了第二鉴权密钥、第二同步密钥和第二序列号的第二模块,其特征在于,所述方法至少包括以下步骤a.第二模块产生随机数,并根据随机数、第二鉴权密钥和第二序列号生成消息鉴权编码,将所述随机数、第二序列号和生成的消息鉴权编码发送给第一模块;b.第一模块根据第一鉴权密钥和所述随机数以及第二序列号对所述消息鉴权编码进行一致性验证,并根据第一序列号判断第二序列号是否可接受,判断出对所述消息鉴权编码的一致性验证通过,且第二序列号可接受时,对第二模块的鉴权通过,并用约定的特定值代替第一序列号和所述随机数以及第一同步密钥生成再同步鉴权编码,向第二模块发送再同步请求且附上所述再同步鉴权编码和代替第一序列号的所述约定的特定值;c.第二模块在接收到所述再同步请求,判断出来自第一模块的第一序列号为所述约定的特定值时,执行约定的对应操作。
23.根据权利要求22所述的方法,其特征在于,所述步骤b中所述用约定的特定值代替第一序列号和第一同步密钥生成再同步鉴权编码进一步是用约定的特定值代替第一序列号和所述随机数以及第一同步密钥生成再同步鉴权编码。
24.根据权利要求23所述的方法,其特征在于,所述步骤b中还包括,第一模块判断出对所述消息鉴权编码的一致性验证通过,且第二序列号可接受时,根据所述第二序列号更新第一序列号。
25.根据权利要求23所述的方法,其特征在于,所述步骤b中还包括,当第一模块判断出对所述消息鉴权编码的一致性验证通过但第二序列号不属于可接受的范围时,直接根据终第一序列号和所述随机数以及第一同步密钥生成再同步鉴权编码,向网络发送再同步请求且附上所述再同步鉴权编码和第一序列号。
26.根据权利要求23所述的方法,其特征在于,所述步骤b中还包括,当第一模块判断出对所述消息鉴权编码的一致性验证未通过时,则向第二模块发送鉴权失败信息。
27.根据权利要求23所述的方法,其特征在于,所述步骤b中,第一模块对所述消息鉴权编码进行一致性验证进一步是第一模块根据第一鉴权密钥、所述随机数和第二序列号采用和第二模块根据所述随机数、第二鉴权密钥和第二序列号产生消息鉴权编码一致的方法产生一个运算结果,比较自己产生的运算结果和所述消息鉴权编码是否一致,如果一致,则对所述消息鉴权编码的一致性验证通过,否则,对所述消息鉴权编码的一致性验证不通过。
28.根据权利要求23所述的方法,其特征在于,所述步骤b中,第一模块判断第二序列号是否可接受进一步是判断第二序列号和第一序列号的差值是否在一定的范围内,如果是,则判断出第二序列号可接受,否则,判断出第二序列号不可以接受。
29.根据权利要求23所述的方法,其特征在于,所述步骤c中还包括第二模块对所述再同步鉴权编码进行合法性判断。
30.根据权利要求29所述的方法,其特征在于,所述步骤c可以进一步是判断出所述来自第一模块的第一序列号为所述约定的特定值后进一步判断再同步鉴权编码是否合法,若合法则执行对应的约定内容;
31.根据权利要求29所述的方法,其特征在于,所述步骤c可以进一步是判断出来自第一模块的再同步鉴权编码合法后进一步判断所述第一序列号是否为所述约定的特定值,若是则执行对应的约定内容,否则,根据所述第一序列号更新保存的第二序列号。
32.根据权利要求29所述的方法,其特征在于,所述步骤c进一步包括判断出来自第一模块的再同步鉴权编码非法后,返回失败信息。
33.根据权利要求30到32中任一项所述的方法,其特征在于,所述步骤c中第二模块对所述再同步鉴权编码进行合法性判断进一步是第二模块根据第二同步密钥、所述随机数和第一序列号采用和第一模块根据所述随机数、第一同步密钥和第一序列号产生再同步鉴权编码一致的方法产生一个运算结果,比较自己产生的运算结果和所述再同步鉴权编码是否一致,如果一致,则判断出再同步鉴权编码合法,否则,判断出再同步鉴权编码非法。
34.根据权利要求22中所述的方法,其特征在于,所述约定的特定值是指约定某一范围内的值或某个或多个具体值。
35.根据权利要求22中所述的方法,其特征在于,所述执行约定内容可以是执行密钥更新、执行鉴权算法更新、获得相关信息和返回特殊操作执行结果信息中一个或多个。
全文摘要
本发明公开了一种鉴权方法及相应的信息传递方法,该信息传递方法包括终端和网络侧预先约定网络侧判断出SQNMS为约定的特定值时执行对应的约定内容,所述方法至少包括以下步骤a.终端用所述特定值代替SQNMS产生再同步标记AUTS,对网络发送再同步请求命令且附上所述再同步标记AUTS;b.网络侧在接收到所述再同步请求命令并判断出所述再同步标记AUTS中的SQNMS为所述约定的特定值时,执行所述约定内容。本发明终端向网络传递信息的方法不需增加或改变现有的信令资源或鉴权参数,方便地从终端向网络侧传递信息且保障网络安全性。
文档编号H04W12/00GK1859729SQ200510085888
公开日2006年11月8日 申请日期2005年7月7日 优先权日2005年6月4日
发明者王正伟, 孔杰 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1