一种抗重放攻击的方法、系统及移动终端的制作方法

文档序号:7969859阅读:264来源:国知局
专利名称:一种抗重放攻击的方法、系统及移动终端的制作方法
技术领域
本发明涉及移动通信系统中的鉴权技术,尤其涉及一种抗重放攻击的方法、系统及移动终端(ME)。
技术背景在移动通信系统中,为了保证运营业务的安全性,网络侧都要对接入的 用户设备(UE)进行鉴权,使得非法UE无法得到网络侧提供的服务,保障 运营商利益;UE也会验证网络侧发送的鉴权信息是否有效,即UE对网络 侧进行鉴权,防止非法网络侧利用合法网络侧已使用过的鉴权信息对UE进 行重放攻击,使UE相信该非法网络侧合法。通常情况下,网络侧对UE的鉴权和UE对网络侧的鉴权包含在一个鉴 权处理中进行,并且可采用鉴权元组来进行。鉴权元组一般包括五个元素, 因此通常称鉴权五元组。这五个元素分别是随机数(RAND)、期望响应 (XRES)、加密密钥(CK)、,完整性密钥(IK)和鉴权标记(AUTN)。 其中,AUTN进一步包括鉴权序列号(SQN)、鉴权管理域(AMF)和消息 鉴权编码(MAC)三个部分。利用鉴权五元组进行鉴权的处理过程一般包括网络侧首先产生 一个 RAND,然后根据RAND、自身当前保存的SQN、 UE与网络共享的密钥及 其它信息生成鉴权五元组,并将其中的部分参数,如RAND和AUTN发送 给UE; UE根据接收到的RAND和AUTN,进行校验,包括根据RAND、 AUTN中的SQN和与网络共享的密钥计算出一个MAC值,并比较该MAC 值和从接收的AUTN中解析的MAC值是否一致,如果一致,则UE校验接 收的AUTN中的SQN是否符合要求,例如在要求SQN按升序生成的情况 下,判断所接收的SQN是否大于自身当前保存的SQN,如果是,则SQN 满足要求;或者进一步地,判断二者差值是否在预设的范围之内等,如果是,则SQN满足要求,校验成功,UE对网络侧鉴权通过;否则,若SQN不满 足要求,UE可认为是重放攻击,向网络侧发起同步SQN的流程。UE利用 RAND和与网络共享的密钥计算出一个响应(RES),然后将该RES发送给 网络侧;网络侧比较从UE接收的RES与鉴权五元组中的XRES是否 一致, 如果一致,则网络侧对UE的鉴权通过。上述鉴权过程中,网络侧和UE都会存储有用于鉴权的SQN,并且SQN 会根据实际应用情况进行更新,如网络侧的SQN随生成的鉴权五元组进行 更新,如递增等;UE的SQN值随网络侧发来的SQN值进行更新,如递增 等,以保证网络侧的SQN和UE的SQN同步,并且最新。UE的SQN由 UE管理和维护,UE由ME和用户卡组成,其中用户卡可以为通用集成电路 卡(UICC )或者可移动用户身份模块(R-UIM )。实际应用中,UE的SQN 有可能存储在用户卡中,也有可能存储在ME中,如对于需要使用互联网协 议多媒体子系统(IMS)业务的第二代移动通信系统(2G)的用户来说,由 于用户卡不支持IMS模块,无法保存相关的参数,如密钥和SQN等,注册 IMS业务鉴权所需的SQN便只能存储在ME中,然而现有技术中,没有对 存储在ME中的SQN的产生及管理进行明确说明。对于这种用户来说,由 于针对该用户卡的SQN信息存储在原ME中,因此当用户卡从一个ME移 到另一个ME时,该用户卡的SQN信息便会丢失,得到的可能是新更换的 当前ME中存储的SQN,如在原ME中SQN为X,在当前ME中SQN为Y, 并且若Y小于X,则进行上述鉴权时,由于对该用户卡来说,SQN的值不 但没有进行递增更新,反而减小了,此时便有可能受到重放攻击,对非法网 络侧的鉴权通过。发明内容有鉴于此,本发明实施例一方面提供一种抗重放攻击的方法,另一方面 提供一种抗重放攻击的系统及移动终端,能够避免重放攻击。本发明实施例所提供的抗重放攻击的方法,鉴权序列号SQN存储在移 动终端ME中,该方法包括用户设备的ME确定当前用户卡与之前的用户卡不同时,生成不满足鉴权 通过要求的SQN,向网络侧发送携带该SQN的SQN重同步请求;网络侧根据 所<接收的SQN重同步请求,生成与ME同步的SQN,作为网络侧的SQN。本发明实施例所提供的抗重放攻击的系统,包括移动终端ME和网络 側,其中,ME,用于在确定当前用户卡与之前的用户卡不同时,生成不满足鉴权通过 要求的鉴权序列号SQN,向网络側发送携带该SQN的SQN重同步请求;网络侧,用于接收来自ME的SQN重同步请求,根据所接收的重同步 请求,生成与ME同步的SQN,作为网络侧的SQN。本发明实施例所提供的抗重放攻击的移动终端,至少包括识别模块、 鉴权序列号SQN生成模块和发送接收模块,其中,识别模块,用于对用户卡进行识别,并在识别出当前用户卡与之前的用户 卡不同时,向SQN维护模块发送生成新SQN的通知;SQN维护模块,用于接收来自识别模块的通知和来自发送接收模块的 SQN,根据所接收的通知和SQN,生成不满足鉴权通过要求的SQN,发送给发 送接收模块;发送接收模块,用于接收来自网络侧的SQN,并将所接收的SQN发送给 SQN维护模块;接收来自SQN维护模块的SQN,向网络側发送携带该SQN的 重同步请求。从上述方案可以看出,本发明实施例中ME确定当前用户卡与之前的用 户卡不同时,生成不满足鉴权通过要求的SQN,向网络侧发起SQN重同步 请求;网络侧根据所接收的SQN重同步请求,生成与ME同步的SQN,作 为网络侧的SQN。从而可以使原来使用过的鉴权五元组中的SQN值都变为 无效值,避免由于不同用户卡使用相同SQN时,存在重放攻击的危险,有
效抵抗了重放攻击。


图1为本发明实施例中采用实现方式一的抗重放攻击的方法流程图。
图2为本发明实施例中采用实现方式二的抗重放攻击的方法流程图。 图3为本发明实施例中抗重放攻击的系统结构示意图。
具体实施例方式
本发明实施例的基本思想是ME确定当前用户卡与之前的用户卡不同 时,生成不满足鉴权通过要求的SQN,向网络侧发起SQN重同步请求;网 络侧根据所接收的SQN重同步请求,生成与ME同步的SQN,作为网络侧 的SQN。
具体实现时,ME生成不满足鉴权通过要求的SQN的方法可以有很多 种。下面Y又列举两种实it见方式。 一首先生成一个随才几的SQ]SM直,然后用 来自网络侧的SQN值对该随机的SQN值进行调整,如果该SQN值不满足 鉴权通过要求,则执行向网络侧发起SQN重同步请求的操作;否则,重新 生成一个SQN值,直到该SQN值不满足鉴权通过要求,执行向网络侧发起 SQN重同步请求的操作。二无需先生成随机的SQN值,而是直接根据所 接收的来自网络侧的SQN值生成一个不满足鉴权通过要求的SQN值,然后 执行向网络侧发起SQN重同步请求的操作。
下面将对本发明实施例中抗重放攻击的方法对采用上述两种实现方式 的具体流程进行详细描述。
实现方式一首先生成一个随机的SQN值,然后用来自网络侧的SQN 值对该随机的SQN值进行调整。
参见图1,图1为本发明实施例中采用实现方式一的抗重放攻击的方法 流程图。该流程包括如下步骤
步骤101, ME判断当前用户卡与之前的用户卡是否相同,如果相同,
则执行步骤102;否则执行步骤103。
步骤102,进行注册或鉴权时,ME使用自身保存的SQN,并且该SQN 随网络侧发送来的SQN值不断更新,结束本流程。
本步骤中,在进行注册或鉴权时,ME接收到网络侧发送来的RAND和 AUTN后,使用自身安全内存中保存的SQN对来自网络侧的AUTN中的 SQN进行校验,判断该网络侧的SQN是否符合要求,如果最终ME对网络 侧的鉴权通过,则ME的SQN进行更新,如递增等。
步骤103, ME为当前用户卡生成一个SQN值SQNME"
本步骤中,ME通过随机函^t为当前用户卡生成一个新的SQN值,该 SQN占用48位比特(bit)'记为SQNME1。
步骤104,进行注册或鉴权时,ME接收到网络侧发送来的SQN伍SQNn。
本步骤中,进行注册或鉴权时,ME接收到网络侧发送来的RAND和 AUTN ,其中AUTN包含网络侧的SQN值,记为SQNN 。
步骤105, ME判断SQNME1是否满足鉴权通过要求?如果满足,则执 行步骤106;否则,直接执行步骤107。
本步骤中,ME对来自网络侧的AUTN中的SQN进行校验之前,首先 判断SQNME,是否满足鉴权通过要求。其中,判断方法可以有很多种,下面 列举二种进行说明
方法一判断SQNn是否大于SQNME1,如果小于,则不满足鉴权通过 要求;否则,满足鉴权通过要求。
方法二预先设置差值门限值,判断SQNmjh和SQNn的差植是否大于 预设的差值门限值,如果二者差值大于差值门限值,则不满足鉴权通过要求; 否则,满足鉴权通过要求。
因为目前进行注册或鉴权时, 一般会对网络侧的SQN与UE的SQN的 差值设定一个范围,如差值范围值L,当网络侧的SQN大于UE的SQN, 并且二者差值在该有效差值范围值L内时,对SQN的校验才通过。因此本 方法中,可以将该有效差值范围值L作为差值门限值,判断SQNME1和SQNN
的差值是否在预设的有效差值范围L外,如杲差值大于L,则不满足鉴权通 过要求;否则,满足鉴权通过要求。
或者,本方法中可以设置一个足够大的差值门限值,具体实现时,可以 在已有L的基础上,再设置差值倍数N,将有效差值范围值L与差值倍数N 的积作为差值门限值,然后判断SQNme,和SQNN的差值是否足够大,即判 断SQNme,和SQNw的差值是否大于有效差值范围L与差值倍数N的积,如 果差值大于LxN,则不满足鉴权通过要求;否则,满足鉴权通过要求。此 外,本方法中,还可以预先设置一个足够大的其它值,做为差值门限值。
本发明通过预先设置差值门限值,使不满足鉴权通过要求的SQN针对 原来的SQN来说,做了大幅度的调整,从而充分避免了原来使用过的鉴权 五元组中的SQN值的有效性,进一步有效抵抗了重放攻击。
步骤106, ME重新生成不满足鉴权通过要求的SQN值,记为SQNME2, 然后执行步骤107。
本步骤中,ME重新生成不满足鉴权通过要求的SQN值的方法也可以 有很多种。
如可以按照步骤103中的方法通过随才几函lt生成一个新的SQN值, 然后将该值与SQNn迸行比校,按照步骤105中的判断方法判断新生成的 SQN值是否满足鉴权通过要求,如果不满足鉴权通过要求,则将该SQN值 记为SQNME2。
或者,也可以在SQNN的基础上,加上或减去一个随机值,该随机值可 由随机函数生成;或者还可以在SQNwE,的基础上加上或减去一个随机值, 该随机值也可由随机函数生成,然后按照步骤105中的判断方法判断新生成 的SQN值是否满足鉴权通过要求,如果不满足鉴权通过要求,则将该SQN 值记为SQNME2。
再或者,如果是按步骤105中列举的方法二作为进行判断的方法,则可 先生成一个随机函数,对该随机值进行判断,判断其是否大于步骤105中的 L或LxN等差值门限值,如果大于,则在SQNN的基础上,加上或减去该
随机值,并将结果值记为SQNME2。较佳地,本步骤中所生成的不满足鉴权通过要求的SQN为大于接收的 来自网络侧的SQNN值,即 一般在SQNN的基础上累加值,如加上一个随机值。步骤107 步骤108, ME向网络側发起SQN重同步的请求,网络侧生 成与ME同步的SQN,作为网络侧的SQN。 此处,实现过程同现有技术中相同。实现方式二,直接根据来自网络侧的SQN值生成不满足鉴权通过要求 的SQN值。参见图2,图2为本发明实施例中采用实现方式二的抗重^:攻击的方法 流程图。该流程包括如下步骤步骤201, , ME判断当前用户卡与之前的用户卡是否相同,如果相同, 则执行步骤202;否则执行步骤203。步骤202,进行注册或鉴权时,ME使用自身保存的SQN,并且该SQN 随网络侧发送来的SQN值不断更新,结束本流程。本步骤中,在进行注册或鉴权时,ME接收到网络侧发送来的RAND和 AUTN后,使用自身安全内存中保存的SQN对来自网络側的AUTN中的 SQN进行校验,判断该网络侧的SQN是否符合要求,如果最终ME对网络 侧的鉴权通过,则ME的SQN进行更新,如递增等。步骤203,进行注册或鉴权时,ME接收到网络侧发送来的SQN值SQNN。本步骤中,进行注册或鉴权时,ME接收到网络侧发送来的RAND和 AUTN,其中AUTN包含网络侧的SQN值,记为SQNN。步骤204, ME根据所接收的SQNw生成不满足鉴权通过要求的SQN, 记为SQNME。本步骤中,ME可以在SQNw的基础上,加上或减去一个随机值,生成 不满足鉴权通过要求的SQN。具体实现时,该随机值可由随机函数生成,对该随机值进行判断,判断其是否大于步骤105中的L或LxN等差值门限 值,如果大于,则在SQNw的基础上,加上或减去该随机值,并将结杲值记 为SQNME。或者也可以在SQNN的基础上,加上或减去一个随机值,生成新 的SQN值,然后对该SQN值按照步骤105中的判断方法判断其是否满足鉴 权通过要求,如果不满足筌权通过要求,则将该SQN值记为SQNME。步骤205 步骤206, ME向网络侧发起SQN重同步的请求,网络侧生 成与ME同步的SQN,作为网络侧的SQN。上面对本发明抗重放攻击的方法结合实施例进行了详细描述,下面再对 本发明抗重放攻击的系统结合实施例进行详细描述。参见图3,图3为本发明实施例中抗重放攻击的系统结构示意图。如图 3所示,该系统包括ME300和网络侧310。其中,ME300,用于在确定当前用户卡与之前的用户卡不同时,生成不满 足鉴权通过要求的鉴权序列号SQN,向网络侧发送携带该SQN的SQN重同步 请求。网络侧310,用于接收来自ME300的SQN重同步请求,根据所接收的 重同步请求,生成与ME300同步的SQN,作为网络侧310的SQN。并且ME300进一步用于在确定当前用户卡与之前的用户卡相同时, ME300使用自身保存的SQN,并且该SQN根据网络側发来的SQN进行更新。具体实现时,ME300可具体包括识别模块301、 SQN维护模块302 和发送接收模块303。其中,识别模块301,用于对用户卡进行识别,并在识别出当前用户卡与 之前的用户卡不同时,向SQN维护模块302发送生成新SQN的通知。SQN维护模块302,用于接收来自识别模块301的通知和来自发送接收模 块303的SQN,根据所接收的通知和SQN,生成不满足鉴权通过要求的SQN, 发送给发送接收模块303。发送接收模块303,用于接收来自网络侧的SQN,并将所接收的SQN 发送给SQN维护模块302;接收来自SQN维护模块302的SQN,向网络侧
发送携带该SQN的重同步请求。其中,识别模块301进一步用于在识别出当前用户卡与之前的用户卡相同时,向SQN维护模块302发送更新SQN的通知;SQN维护模块302 进一步用于接收来自识别模块301的更新通知和来自发送接收模块303的 SQN,根据所接收的通知和SQN,对自身存储的SQN进行更新。其中,SQN维护模块302在生成不满足鉴权通过要求的SQN时,所采 用的方法可以与图1所示流程步骤103至步骤106中的描述一致,也可以同 图2所示流程步骤203至步骤204中的描述一致。以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了 进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已, 并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任 何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1、一种抗重放攻击的方法,其特征在于,鉴权序列号SQN存储在移动终端ME中,该方法包括用户设备的ME确定当前用户卡与之前的用户卡不同时,生成不满足鉴权通过要求的SQN,向网络侧发送携带该SQN的SQN重同步请求;网络侧根据所接收的SQN重同步请求,生成与ME同步的SQN,作为网络侧的SQN。
2、 如权利要求l所述的方法,其特征在于,所述ME生成不满足鉴权通过 要求的SQN包括ME随机生成SQN值SQNME1; ME收到网络侧发来的SQN值SQNN,对 SQNME1与SQNn迸行比校,如果SQNME1不满足鉴权通过要求,则使用该SQNME1 作为不满足鉴权通过要求的SQN;否则,重新生成不满足鉴权通过要求的SQN 值SQNME2。
3、 如权利要求2所述的方法,其特征在于,所述不满足鉴权通过要求的 SQN大于来自网络侧的SQNN,或小于来自网络侧的SQNN。
4、 如权利要求l所述的方法,其特征在于,所述ME生成不满足鉴权通过 要求的SQN包括ME收到网络侧发来的SQN值SQNN,根据该SQNN计算出 不满足鉴权通过要求的SQN。
5、 如权利要求4所述的方法,其特征在于,所述根据该SQNN计算出不满 足鉴权通过要求的SQN为在所述SQNN的基础上累加或减去一个随机值,得 到不满足鉴权通过要求的SQN。
6、 如权利要求2至5中任意一项所述的方法,其特征在于,该方法进一步 包括预先设置差值门限值;所述不满足鉴权通过要求的SQN为与SQNn的 差值大于所述差值门限值的SQN。
7、 如权利要求6所述的方法,其特征在于,所述差值门限值为预先设置 的有效差值范围值,或预先设置的有效差值范围值的倍数。
8、 如权利要求l所述的方法,其特征在于,该方法进一步包括ME确定 当前用户卡与之前的用户卡相同时,ME使用自身保存的SQN,并且该SQN根 据网络侧发来的SQN进行更新。
9、 一种抗重放攻击的系统,其特征在于,该系统包括移动终端ME和网络侧,其中,ME,用于在确定当前用户卡与之前的用户卡不同时,生成不满足鉴权通过 要求的鉴权序列号SQN,向网络侧发送携带该SQN的SQN重同步请求;网络侧,用于接收来自ME的SQN重同步请求,根据所接收的重同步请求, 生成与ME同步的SQN,作为网络侧的SQN。
10、 如权利要求9所述的系统,其特征在于,所述ME至少包括识别模 块、鉴权序列号SQN生成模块和发送接收模块,其中,识别模块,用于对用户卡进行识别,并在识别出当前用户卡与之前的用户 卡不同时,向SQN维护模块发送生成新SQN的通知;SQN维护模块,用于接收来自识别模块的通知和来自发送接收模块的 SQN,根据所接收的通知和SQN,生成不满足鉴权通过要求的SQN,发送给发 送接收模块;发送接收模块,用于接收来自网络侧的SQN,并将所接收的SQN发送给 SQN维护模块;接收来自SQN维护模块的SQN,向网络侧发送携带该SQN的 重同步请求。
11、 如权利要求IO所述的系统,其特征在于,所述识别模块进一步用于 在识别出当前用户卡与之前的用户卡相同时,向SQN维护模块发送更新SQNSQN维护模块进一步用于接收来自识别模块的更新通知和来自发送接收 模块的SQN,根据所接收的通知和SQN,对自身存储的SQN进行更新。
12、 一种抗重放攻击的移动终端,其特征在于,该移动终端ME至少包括 识别模块、鉴权序列号SQN生成模块和发送接收模块,其中,识别才莫块,用于对用户卡进行识别,并在识别出当前用户卡与之前的用户 卡不同时,向SQN维护模块发送生成新SQN的通知;SQN维护模块,用于接收来自识别模块的通知和来自发送接收模块的 SQN,根据所接收的通知和SQN,生成不满足鉴权通过要求的SQN,发送给发 送接收模块;发送接收模块,用于接收来自网络侧的SQN,并将所接收的SQN发送给 SQN维护模块;接收来自SQN维护模块的SQN,向网络侧发送携带该SQN的 重同步请求。
13、如权利要求12所述的移动终端,其特征在于,所述识别模块进一步用 于在识别出当前用户卡与之前的用户卡相同时,向SQN维护模块发送更新 SQN的通知;SQN维护模块进一步用于接收来自识别模块的更新通知和来自发送接收 模块的SQN,根据所接收的通知和SQN,对自身存储的SQN进行更新。
全文摘要
本发明公开了一种抗重放攻击的方法,包括用户设备的移动终端ME确定当前用户卡与之前的用户卡不同时,生成不满足鉴权通过要求的鉴权序列号SQN,向网络侧发送携带该SQN的SQN重同步请求;网络侧根据所接收的SQN重同步请求,生成与ME同步的SQN,作为网络侧的SQN。此外,本发明还公开了一种抗重放攻击的系统及移动终端。本发明所提供的方法、系统及移动终端,能够避免重放攻击。
文档编号H04W12/04GK101163326SQ20061014019
公开日2008年4月16日 申请日期2006年10月12日 优先权日2006年10月12日
发明者刘文宇, 昉 尤, 李志明, 洁 赵 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1