本发明要解决的技术问题是提供一种UE在不同系统之间空闲转移时协 商启用安全上下文的方法,保证UE和网络双方使用的安全上下文的一致性。
为了解决上述技术问题,本发明提供了一种协商启用安全上下文的方法, 用户设备从演进的陆地无线接入网EUTRAN转移到通用陆地无线接入网 UTRAN或全球移动通讯系统增强型
数据速率GSM演进实体无线接入网 GERAN,包含:
用户设备UE发送路由区更新请求消息或附着请求消息给服务GPRS支 持节点SGSN,消息中携带安全上下文类型指示符和密钥标识符,所述安全 上下文类型指示符指示用户设备选择的安全上下文是映射安全上下文还是缓 存安全上下文。
进一步的,上述方法还可具有以下特点,当所述安全上下文类型指示符 指示用户设备选择的是缓存安全上下文时,所述消息中携带的密钥标识符为 缓存密钥的密钥标识符,当所述安全上下文类型指示符指示用户设备选择是 映射安全上下文时,所述消息中携带的密钥标识符为映射密钥的密钥标识符, 或者置为空。
进一步的,上述方法还可具有以下特点,所述用户设备UE发送路由区 更新请求消息或附着请求消息前,设置所述请求消息中安全上下文类型指示 符和密钥标识符字段,具体包含:
UE检查是否存有可用的缓存密钥:
如果存有可用的缓存密钥,则不产生映射安全参数,将安全上下文类型 指示符的值置为指示用户设备选择的是缓存安全上下文,并将缓存密钥的密 钥标识符放进密钥标识符字段,使用缓存安全上下文对路由更新请求或附着 请求进行完整性保护;
如果没有可用的缓存密钥,将安全上下文类型指示符的值置为指示用户 设备选择的是映射安全上下文,将EUTRAN转发过来的映射密钥的密钥标识 符放进密钥标识符字段,或者将密钥标识符字段直接置为“空”,路由区更 新请求或附着请求消息没有受到完整性保护。
进一步的,上述方法还可具有以下特点,所述SGSN收到所述路由区更 新请求或附着请求消息后,检查该消息中的安全上下文类型指示符;如果安 全上下文类型指示符指示用户设备所选择的安全上下文为缓存安全上下文, 则SGSN使用缓存安全上下文验证路由区更新或附着请求消息的完整性。
进一步的,上述方法还可具有以下特点,如果所述安全上下文类型指示 符指示用户设备选择的安全上下文为缓存安全上下文时,所述SGSN还须执 行如下步骤:
所述SGSN比较路由更新请求或附着请求消息中的密钥标识符是否与自 身的缓存安全上下文中的密钥标识符一致,如果不一致,通知UE安全上下 文协商不成功,重新进行认证和密钥协商AKA;如果一致,所述SGSN通知 源移动管理单元MME不生成或传送映射安全参数,或者直接删除源MME 发过来的映射安全参数。
进一步的,上述方法还可具有以下特点,所述SGSN通过上下文请求或 者
鉴别请求消息中特定的标志位通知源MME不生成或传送映射安全参数。
进一步的,上述方法还可具有以下特点,所述SGSN比较路由更新请求 或附着请求消息中的密钥标识符与自身的缓存安全上下文中的密钥标识符一 致时,所述SGSN决定启用缓存安全上下文,将所启用的安全上下文的类型 和密钥标识符分别放入安全上下文类型指示符和密钥标识符字段,通过SGSN 响应消息发回UE,UE检查其是否正确,所述SGNS响应消息处于缓存安全 上下文的完整性保护之中。
进一步的,上述方法还可具有以下特点,如果所述安全上下文类型指示 符指示用户设备选择的安全上下文为映射安全上下文,所述SGSN启用由源 MME发过来的映射安全上下文;将所启用的安全上下文的类型和密钥标识分 别放入安全上下文类型指示符和密钥标识符字段,通过SGSN响应消息发送 给UE,UE检查其是否正确,该SGSN响应消息处于映射安全上下文的完整 性保护之中。
进一步的,上述方法还可具有以下特点,所述SGSN响应消息为路由区 更新接受或附着接受消息,或者其他带有安全模式命令的消息。
进一步的,上述方法还可具有以下特点,所述UE收到所述SGNS响应 消息后,检查密钥标识符和安全上下文类型指示符是否正确,如果正确,则 发路由区更新或附着结束给UE;否则通知UE安全上下文协商不成功,重新 认证和密钥协商AKA。
本发明还提出一种协商启用安全上下文的系统,包含用户设备UE和服 务GPRS支持节点SGSN,其中:
所述用户设备还包含:
密钥标识符和指示符填置模
块,用于通知目标SGSN,UE期望使用的安 全上下文;
检查上下文一致性模块,用于检查SGSN所启用的安全上下文是否与UE 一致;
所述SGSN包含:
安全上下文选择判定模块,用于根据用户设备发送的UE期望使用的安 全上下文,判定启用缓存安全上下文还是映射安全上下文;
启用所选安全上下文模块,用于启用安全上下文选择判定模块判定的安 全上下文,并将所启用的安全上下文的信息发送给用户设备。
进一步的,上述系统还可具有以下特点,所述密钥标识符和指示符填置 模块还用于:填置路由区更新请求消息或附着请求消息中的安全上下文类型 指示符和密钥标识符字段,并将所述消息发送给服务GPRS支持节点SGSN, 所述安全上下文类型指示符指示用户设备选择的安全上下文是映射安全上下 文还是缓存安全上下文;
所述检查上下文一致性模块还用于:接收SGSN发送的路由区更新或附 着接受消息,检查消息中携带的安全上下文类型和密钥标识符是否和UE所 选的安全上下文类型和密钥标识符一致;
所述安全上下文选择判定模块还用于,接收用户设备发送的路由区更新 请求消息或附着请求消息,根据消息中携带的安全上下文类型指示符判断选 择缓存安全上下文还是映射安全上下文;
所述启用所选安全上下文模块还用于,启用安全上下文选择判定模块选 择的安全上下文,并将所启用的安全上下文的类型及其对应密钥标识符放入 路由区更新或附着接受消息发送给用户设备。
进一步的,上述系统还可具有以下特点,所述密钥标识符和指示符填置 模块检查是否存有可用的缓存密钥,如果存有可以的缓存密钥,将安全上下 文类型指示符的值置为指示用户设备选择的是缓存安全上下文,并将缓存密 钥的密钥标识符放进密钥标识符字段,使用缓存安全上下文对路由更新请求 或附着请求进行完整性保护;如果没有可用的缓存密钥,则将安全上下文类 型指示符的值置为指示用户设备选择的是映射安全上下文,将映射密钥的密 钥标识符放进密钥标识符字段,或者将密钥标识符字段直接置为“空”。
进一步的,上述系统还可具有以下特点,所述安全上下文选择判定模块, 判断所述安全上下文类型指示符指示用户设备选择的安全上下文为缓存安全 上下文,且所述密钥标识符与自身的缓存安全上下文中的密钥标识符一致时, 所述安全上下文选择判定模块判断选择缓存安全上下文,如果判断所述安全 上下文类型指示符指示用户设备选择的安全上下文为映射安全上下文,所述 安全上下文选择判定模块判断选择映射安全上下文。
进一步的,上述系统还可具有以下特点,所述系统还包含移动管理单元 MME,MME进一步包括特定标志位检查模块,用于检查特定标志位,判定 MME是否需要生成传送映射安全参数;
所述SGSN还包含设置特定标志位模块,用于设置特定标志位,通知 MME是否需要生成传送映射安全参数;
所述安全上下文选择判定模块判定选择缓存安全上下文时,指示所述设 置特定标志位模块设置特定标志位通知MME不需要生成或传送映射安全参 数。
本发明还提出一种协商启用安全上下文的方法,用户设备从演进的陆地 无线接入网EUTRAN转移到通用陆地无线接入网UTRAN或全球移动通讯系 统增强型数据速率GSM演进实体无线接入网GERAN,包含:
用户设备发送路由区更新请求消息或附着请求消息给服务GPRS支持节 点,消息中携带或不携带密钥标识符;
所述服务GPRS支持节点即SGSN收到所述路由区更新请求或附着消息 后,如果消息中携带有密钥标识符且SGSN存有和该密钥标识符对应的缓存 密钥,则SGSN决定启用缓存安全上下文,如果消息中不携带密钥标识符, 则SGSN决定启用映射安全上下文。
进一步的,上述方法还可具有以下特点,所述用户设备通过如下方式决 定是否在更新请求消息或附着请求消息中携带密钥标识符:
UE检查是否存有可用的缓存密钥:
如果存有可用的缓存密钥,则不产生映射安全参数,在路由区更新请求 消息或附着请求消息中携带缓存密钥的密钥标识符,使用缓存安全上下文对 路由更新请求或附着请求消息全部或部分进行完整性保护;
如果没有可用的缓存密钥,则使用EUTRAN安全参数生成映射安全参 数,在路由区更新请求消息不携带密钥标识符,使用映射安全上下文对路由 更新请求或附着请求消息全部或部分进行完整性保护。
进一步的,上述方法还可具有以下特点,所述SGSN收到路由区更新请 求消息或附着请求消息后,如果消息中带有密钥标识符,还须执行如下步骤:
首先通过收到的密钥标识符检查SGSN是否有和UE一样的缓存密钥, 如果有,SGSN通知源MME不生成或传送映射安全参数,或直接删除从源 MME接收到的映射安全参数,如果没有,则SGSN通知UE安全上下文协商 失败,重新作AKA。
进一步的,上述方法还可具有以下特点,所述SGSN是通过上下文请求 或鉴别请求消息中特定的标志位通知源MME不生成或传送映射安全参数。
进一步的,上述方法还可具有以下特点,所述方法还包含:
所述SGSN通过路由区更新接受消息或附着接受消息将所启用的安全上 下文对应的密钥标识符发给UE;
所述UE收到后,检查双方所选的密钥标识符是否一致;如果一致,UE 发路由区更新或附着结束消息给SGSN;如果不一致,所述UE通知所述SGSN 安全上下文协商不成功,重新AKA。
本发明还提出一种协商启用安全上下文的系统,包含用户设备UE和服 务GPRS支持节点,其中:
所述UE还包含:
决定是否带密钥标识符模块,用于通知目标SGSN,UE期望使用的安全 上下文;
检查密钥标识符一致性模块,用于检查SGSN所选的安全上下文是否与 UE一致。
所述SGSN还包括:
安全上下文判定启用模块,用于判定使用缓存安全上下文还是映射安全 上下文;
启用所选安全上下文模块,用于启用安全上下文判定启用模块判定的安 全上下文,并将所启用的安全上下文对应的密钥标识符发送给用户设备。
进一步的,上述系统还可具有以下特点,所述决定是否带密钥标识符模 块还用于:根据本地是否存有缓存密钥在路由区更新请求消息或附着请求消 息中携带或不携带密钥标识符,如果有缓存密钥,在所述消息种携带缓存密 钥的密钥标识符,如果没有缓存密钥,不携带密钥标识符;并将所述消息发 送给服务GPRS支持节点SGSN;
所述检查上下文一致性模块还用于:接收SGSN发送的路由区更新或附 着接受消息,检查消息中携带密钥标识符是否和UE所选的密钥标识符一致;
所述安全上下文选择判定模块还用于,接收用户设备发送的路由区更新 请求消息或附着请求消息,根据消息中是否携带密钥标识符判断选择缓存安 全上下文还是映射安全上下文;
所述启用所选安全上下文模块还用于,启用安全上下文选择判定模块选 择的安全上下文,并将所启用的安全上下文的对应的密钥标识符放入路由区 更新或附着接受消息发送给用户设备。
进一步的,上述系统还可具有以下特点,所述系统还包含MME,包含判 定是否需要提供映射安全参数模块,检查SGSN发过来的上下文请求/附着请 求消息中的特定标志位,从而决定是否要提供映射安全参数;
所述SGSN还包含设置特定标志位模块,用于通过上下文请求消息/附着 请求消息通知MME是否需要生成或传送映射安全参数;
所述安全上下文选择判定模块判定选择缓存安全上下文时,指示所述设 置特定标志位模块通知MME不需要生成或传送映射安全参数。
本发明提出的协商选择安全上下文的方法和系统,定义了安全上下文类 型指示符和密钥标识符,UE和目标SGSN通过安全上下文类型指示符和密钥 标识符,协商选择安全上下文,或者通过是否携带密钥标识符协商选择安全 上下文,保证了UE和SGSN不会同时存有映射安全上下文和缓存安全上下 文,解决了UE从EUTRAN转移到UTRAN/GERAN时,UE和网络侧安全上 下文不同步问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本
申请的一部 分,本发明的示意性
实施例及其说明用于解释本发明,并不构成对本发明的 不当限定。在附图中:
图1提供了本发明第一实施例中安全类型上下文指示附和密钥标识符字 段的示意图。
图2提供了本发明第一实施例中UE从EUTRAN空闲状态下转移到 UTRAN/GERAN时,协商启用安全上下文的方法
流程图。
图3提供了本发明第一实施例中UE从EUTRAN路由区更新到 UTRAN/GERAN时,协商启用安全上下文的信令流程图。
图4提供了本发明第一实施例UE从EUTRAN附着到UTRAN/GERAN 时,协商启用安全上下文的信令流程图。
图5提供了本发明第一实施例中UE从EUTRAN空闲状态下转移到 UTRAN/GERAN时,协商启用安全上下文系统结构示意图。
图6提供了本发明第一实施例中另一种协商选择密钥方法的系统结构示 意图。
图7提供了本发明第二实施例中UE从EUTRAN空闲状态下转移到 UTRAN/GERAN时,协商启用安全上下文的方法流程图。
图8提供了本发明第二实施例中UE从EUTRAN空闲状态下转移到 UTRAN/GERAN时,协商启用安全上下文的信令流程图。
图9提供了本发明第二实施例中UE从EUTRAN空闲状态下转移到 UTRAN/GERAN时,协商启用安全上下文方法的系统结构示意图。
图10提供了本发明第二实施例中另一种协商启用安全上下文方法的系 统结构示意图。
下面将参考附图并结合实施例,来详细说明本发明。
本发明的协商安全上下文方法的主要思想为,用户设备发送路由区更新 请求消息或附着消息时,在消息中携带安全上下文类型指示符和密钥标识符, 指示用户设备选择的安全上下文类型,SGSN收到后,根据指示符判断用户 设备选择的安全上下文类型,选择安全上下文。
图1示出安全上下文类型指示符(Security Context Type Indicator,简称 为指示符)和密钥标识符的对应关系图,其中指示符字段用于表示用户设备 选择的是缓存上下文还是映射上下文,即密钥标识符字段是属于缓存密钥标 识符还是映射密钥标识符,在本发明中为了表述方便,将指示符字段定义为 1个比特位,为“1”时表示用户设备选择的是缓存上下文,为“0”时表示 用户设备选择的映射上下文。也可以根据系统设计的需要,将指示符字段定 义为若干个比特位,用其他不同的值分别代表缓存上下文和映射上下文,本 发明对此不作限定。密钥标识符部分根据安全上下文类型指示符的值,承装 映射密钥的密钥标识符(指示符为“0”)或缓存密钥的密钥标识符(指示符 为“1”),当指示符为“0”时即代表映射安全上下文时,也可以根据系统 设计要求,将密钥标识符字段置为“空”。
上述关系图表示密钥标识符和安全上下文类型指示符的逻辑上
捆绑关 系,并不表示指示符和密钥标识符字段是必须是连续或相邻字段,可以根据 系统设计要求将安全上下文类型指示符和密钥标识符定义在信令消息中不同 的
位置。
图2示出UE从EUTRAN空闲状态下,转移到UTRAN或GERAN时, 协商启用安全上下文的方法流程图,包括以下步骤:
步骤S201,UE决定空闲转移到(Idle mobility)到UTRAN或GERAN;
UE在发路由区更新请求或附着请求消息之前,先填置请求消息中的安全 上下文类型指示符和相应的密钥标识符字段,具体方法包括步骤S202至 S204:
步骤S202,UE检查是否存有可用的缓存密钥,如果有,转步骤S203, 否则,转步骤S204;
步骤S203,如果存有可用的缓存密钥,则将安全上下文类型指示符字段 置为“1”,并将缓存密钥的密钥标识符放进密钥标识符字段,使用缓存安全 上下文对路由区更新或附着请求作完整性保护,同时UE不产生映射密钥及 其密钥标识符,转步骤S205;
步骤S204,如果没有可用的缓存密钥,UE则使用EUTRAN的安全参数 生成映射安全参数,映射安全参数包含映射密钥及其密钥标识符,将安全上 下文类型指示符置为“0”,将将EUTRAN转发过来的映射密钥的密钥标识 符放进密钥标识符字段,或者将密钥标识符字段置为空;
步骤S205,UE通过发路由区更新/附着请求消息将安全上下文类型指示 符和密钥标识符发给目标SGSN。
目标SGSN在向UE发送SGSN响应消息(如路由区更新/附着接受消息) 前,先判定启用哪一组密钥,具体步骤包括步骤S206至S209:
步骤S206,SGSN收到路由区更新/附着请求消息后,检查该消息中安全 上下文类型指示符的值;如果安全上下文类型指示符为“1”,转步骤S207, 如果安全上下文类型指示符为“0”,转步骤S209;
步骤S207,如果指示符为“1”,则SGSN使用缓存安全上下文验证路 由区更新或附着请求消息的完整性,并进一步比较收到的请求消息中的密钥 标识符与自身的缓存密钥标识符是否一致,如果不一致,转步骤S213,通知 UE路由更新/附着不成功,重新AKA,如果一致,转步骤S208;
步骤S208,如果一致,则代表SGSN与UE有相同的缓存密钥,SGSN 删除源MME发送过来的映射安全参数,映射安全参数包含映射密钥及密钥 标识符等,或者通过上下文/鉴别请求消息中特定的标志位,通知源MME不 生成或传送映射安全参数,决定启用缓存安全上下文,转步骤S210;
步骤S209,如果安全上下文类型指示符为“0”,则决定启用映射安全 上下文,启用并保存源MME发过来的映射安全参数,映射安全参数包括映 射密钥及其密钥标识符等;
步骤S210,SGSN通过路由区更新/附着接受消息或者其他带有安全模式 命令的信令消息将所选的安全上下文对应的类型和密钥标识符发回给UE,可 以将所选的安全上下文的类型放入安全上下文类型指示符,将对应的密钥标 识符放入密钥标识符字段,该消息处于所选的安全上下文完整性保护之中;
步骤S211,UE检查确认双方所选的安全上下文是否一致,即检查密钥 标识符和安全上下文类型指示符是否一致;如果一致,转步骤S212;如果不 一致,转步骤S213;
步骤S212,UE发路由区更新/附着结束消息。
步骤S213,通知对方路由区更新/附着不成功,重新做AKA。
或进一步如果是启用缓存安全上下文,也可以根据系统设计要求无需将 密钥标识符及安全上下文类型指示符发回给UE。UE无需再检查安全上下文 类型指示符和密钥标识符。
图3示出了UE从EUTRAN路由更新到UTRAN/GERAN时,协商选择 安全上下文的信令流程图,包括如下:
步骤S301,UE在准备发路由区更新请求时,根据自身是否存在可用的 缓存密钥,填置密钥标识符和安全上下文类型指示符字段;
步骤S302,UE向目标SGSN发路由区更新请求消息,将密钥标识符和 安全上下文类型指示符发给SGSN;
步骤S303,目标SGSN收到路由区更新请求消息后,检查安全上下文类 型指示符和密钥标识符,判断决定启用映射安全上下文还是缓存安全上下文, 如果决定启用缓存安全上下文,SGSN删除MME发过来的映射安全参数,或 者SGSN通过上下文请求消息中的特定标志位,通知源MME不生成或传送 映射安全参数;
步骤S304,SGSN发送上下文请求给源MME;
步骤S305,源MME发送上下文响应给SGSN;
步骤S306,SGSN启用所选的安全上下文,并将所启用的安全上下文对 应的密钥标识符和安全上下文类型指示符放入路由区更新接受消息,并使用 所选的安全上下文对路由区更新接受消息作完整性保护;
步骤S307,SGSN发送路由区更新接受消息给UE;
步骤S308,UE检查SGSN发过来的密钥标识符和安全上下文类型指示 符是否正确,即是否和用户设备所选的密钥标识符和安全上下文类型指示符 一致;
步骤S309,如果密钥标识符和安全上下文类型指示符正确,则UE发路 由区更新结束消息,否则通知SGSN安全上下文协商失败,需要重新做AKA。
或者可以进一步,根据系统设计要求,如果SGSN选择启用缓存上下文, 可以无需将安全上下文类型指示符和密钥标识符通过路由区更新接受消息发 回UE,UE无需再检查安全上下文类型指示符和密钥标识符。
图4示出了UE从EUTRAN附着到UTRAN/GERAN时,协商选择安全 上下文的信令流程图,包括如下:。
步骤S401,UE在准备发送附着请求消息时,根据自身是否存在可用的 缓存密钥,填置密钥标识符和安全上下文类型指示符字段;
步骤S402,UE向目标SGSN发送附着请求消息,将密钥标识符和安全 上下文类型指示符发给SGSN;
步骤S403,目标SGSN收到附着请求消息后,检查安全上下文类型指示 符和密钥标识符,判定使用映射安全上下文还是缓存安全上下文,如果使用 缓存安全上下文,则SGSN直接删除MME发过来的映射安全参数,或者SGSN 通过鉴别请求消息中的特定标志位,通知源MME不生成或传送映射安全参 数;
步骤S404,SGSN发送鉴别请求给源MME;
步骤S405,源MME发送鉴别响应给SGSN;
步骤S406,SGSN启用所选的安全上下文,并将其对应的密钥标识符和 安全上下文类型指示符放入附着接受消息;
步骤S407,SGSN发送附着接受消息给UE,该消息受所选安全上下文的 完整性保护之中;
步骤S408,UE检查SGSN发过来附着接受消息中的密钥标识符和安全 上下文类型指示符是否与自己所选的密钥标识符和安全上下文类型指示符一 致;
步骤S409,如果密钥标识符一致,则UE发附着结束消息给SGSN,否 则通知安全上下文协商失败,需要重新AKA。
或者可以进一步,根据系统设计要求,如果SGSN选择启用缓存安全上 下文,可以无需将安全上下文类型指示符和密钥标识符通过附着接受消息发 回UE,UE无需再检查安全上下文类型指示符和密钥标识符。
在本发明的实施例中,提供了一种用于UE从EUTRAN空闲转移到 UTRAN/ERAN时,协商选择密钥的系统,如图5所示,包括以下单元:
UE,包括:
密钥标识符和指示符填置模块,用于通知目标SGSN,UE期望使用的安 全上下文;
所述密钥标识符和指示符填置模块还用于:填置路由区更新请求消息或 附着请求消息中的安全上下文类型指示符和密钥标识符字段,并将所述消息 发送给服务GPRS支持节点SGSN,所述安全上下文类型指示符指示用户设 备选择的安全上下文是映射安全上下文还是缓存安全上下文;
检查上下文一致性模块,用于检查SGSN所选的安全上下文是否与UE 一致。所述检查上下文一致性模块还用于:接收SGSN发送的路由区更新或 附着接受消息,检查消息中携带的安全上下文类型和密钥标识符是否和UE 所选的安全上下文类型和密钥标识符一致;
SGSN,包括:
安全上下文选择判定模块,用于判定使用缓存安全上下文还是映射安全 上下文;所述安全上下文选择判定模块还用于,接收用户设备发送的路由区 更新请求消息或附着请求消息,根据消息中携带的安全上下文类型指示符判 断选择缓存安全上下文还是映射安全上下文;
启用所选安全上下文模块,用于启用安全上下文选择判定模块判定的安 全上下文,并将所启用的安全上下文的信息发送给用户设备。所述启用所选 安全上下文模块还用于,启用安全上下文选择判定模块选择的安全上下文, 并将所启用的安全上下文的类型及其对应密钥标识符放入路由区更新或附着 接受消息发送给用户设备。
本发明还提供了另一种用于UE从EUTRAN空闲转移到UTRAN/ERAN 时,协商选择密钥的系统,如图6所示,包括以下单元:
UE,包括:密钥标识符和指示符填置模块,检查上下文一致性模块, SGSN,包括:安全上下文选择判定模块,启用所选安全上下文模块。
上述各单元功能同图5所示各单元。
所述系统还包含移动管理单元MME,MME进一步包括特定标志位检查 模块,用于检查特定标志位,判定MME是否需要生成传送映射安全参数;
所述SGSN还包含设置特定标志位模块,用于设置特定标志位,通知 MME是否需要生成传送映射安全参数;
所述安全上下文选择判定模块判定选择缓存安全上下文时,指示所述设 置特定标志位模块设置特定标志位通知MME不需要生成传送映射安全参数。
上述实施例的协商选择密钥的方法和系统,定义了安全上下文类型指示 符和密钥标识符,UE和目标SGSN通过安全上下文类型指示符和密钥标识 符,协商选择安全上下文,保证了UE和SGSN不会同时存有映射安全上下 文和缓存安全上下文,解决了UE从EUTRAN转移到UTRAN/GERAN时, UE和网络侧安全上下文不同步问题。
本发明还提出另一种协商安全上下文的方法,不使用安全上下文类型指 示符,只通过密钥标识符来指示用户设备期望启用的安全上下文,当路由区 更新请求消息或附着消息中携带密钥标识符时,表示用户设备启用的是缓存 安全上下文,不携带密钥标识符时,表示用户设备启用的是映射安全上下文, SGSN根据该信息和用户设备进行协商安全上下文。
图7示出EUTRAN空闲状态下,转移到UTRAN或GERAN时,协商 启用安全上下文生成流程图,包括以下步骤:
步骤S701,UE决定路由更新(RAU,Router Area Update)或附着到 UTRAN或GERAN;
UE在发路由区更新请求消息或附着请求消息之前,先决定路由区更新请 求/附着请求消息是否带有密钥标识符,具体方法包括步骤S702至S704:
步骤S702,UE检查是否存有可用的缓存密钥,如果有,转步骤S703, 如果没有,转步骤S704;
步骤S703,如果存有可用的缓存密钥,则将缓存密钥的密钥标识符放进 路由区更新请求消息/附着请求消息,并使用缓存安全上下文对其做完整性保 护,同时UE不产生映射安全参数(包含映射密钥及其密钥标识符等),转 步骤S705;
步骤S704,如果没有可用的缓存密钥,UE则使用EUTRAN的安全参数 生成映射安全参数,并使用映射安全上下文对路由区更新请求消息/附着请求 消息做完整性保护,其中路由区更新请求消息/附着请求消息中不带密钥标识 符;
步骤S705,UE向目标SGSN发路由区更新请求消息/附着请求消息,该 消息部分或全部处于完整性保护之中;
目标SGSN在向UE发路由区更新接受消息/附着接受消息之前,先判定 启用哪种安全上下文,具体步骤包括步骤S706至S709:
步骤S706,SGSN收到路由区更新请求消息/附着请求消息后,检查该消 息是否带有密钥标识符,如果有,转步骤S707,如果没有,转步骤S709;
步骤S707,如果路由区更新请求消息/附着请求消息带有密钥标识符, SGSN则通过收到的密钥标识符检查SGSN是否有跟UE一样的缓存密钥;如 果有,转步骤S708,如果没有,转步骤S713;
步骤S708,如果SGSN与UE有相同的缓存密钥,SGSN则删除从源MME 接收到的映射安全参数,映射安全参数包含映射密钥及其密钥标识符等;或 者SGSN通过上下文请求或鉴别请求消息中特定的标志位,通知源MME不 生成或传送映射安全参数,决定启用缓存安全上下文,转步骤S710;
步骤S709,如果路由区更新请求消息/附着请求消息中没有密钥标识符, 则SGSN决定启用映射安全上下文,启用并保存源MME发过来的映射安全 参数。
步骤S710,SGSN通过路由区更新接受消息/附着接受消息将所选安全上 下文对应的密钥标识符发给UE;
步骤S711,UE检查双方所选的密钥标识符是否一致;如果双方所选的 密钥标识符一致,转步骤S71 2;如果双方所选的密钥标识符不相同,转步骤 S713;
步骤S712,UE发路由区更新/附着结束消息。
步骤S713,通知对方安全上下文协商不成功。
图8示出了UE从EUTRAN空闲状态下转移到UTRAN/GERAN时,协 商启用安全上下文的信令流程图,包括如下:。
步骤S801,UE在准备发路由区更新/附着请求时,根据自身是否存在可 用的缓存密钥,决定路由区更新/附着请求消息是否带密钥标识符;
步骤S802,UE向目标SGSN发路由区更新/附着请求消息,该消息密钥 标识符部分或整个消息处于完整性保护之中;
步骤S803,目标SGSN收到路由区更新/附着请求消息后,判断使用映 射安全上下文还是缓存安全上下文,如果使用缓存安全上下文,SGSN直接 删除源MME发送过来的映射安全参数,映射安全参数包含映射密钥及其密 钥标识符等,或者SGSN通过上下文请求消息中特定标志位,通知源MME 不生成或传送映射安全参数;
步骤S804,SGSN发送上下文/鉴别请求给源MME;
步骤S805,源MME发送上下文/鉴别响应给SGSN;
步骤S806,SGSN启用所选的安全上下文,并将其对应的密钥标识符放 入路由区更新/附着接受消息;
步骤S807,SGSN发送路由区更新/附着接受消息,该消息受所选安全上 下文的完整性保护;
步骤S808,UE检查SGSN发过来的密钥标识符是否与自己所选的一致;
步骤S809,如果密钥标识符一致,则UE发送路由区更新/附着结束消息, 否则,UE通知SGSN安全上下文协商失败。
在本发明的实施例中,提供了一种用于UE从EUTRAN空闲转移到 UTRAN/GERAN时,协商启用安全上下文的系统,如图9所示,包括以下单 元:
UE,包括:
决定是否带密钥标识符模块,用于通知目标SGSN,UE期望使用的安全 上下文;所述决定是否带密钥标识符模块还用于:根据本地是否存有缓存密 钥在路由区更新请求消息或附着请求消息中携带或不携带密钥标识符,如果 有缓存密钥,在所述消息种携带缓存密钥的密钥标识符,如果没有缓存密钥, 不携带密钥标识符;并将所述消息发送给服务GPRS支持节点SGSN;
检查上下文一致性模块,用于检查SGSN所选的安全上下文是否与UE 一致。所述检查上下文一致性模块还用于:接收SGSN发送的路由区更新或 附着接受消息,检查消息中携带密钥标识符是否和UE所选的密钥标识符一 致。
SGSN,包括:
安全上下文判定启用模块,用于判定使用缓存安全上下文还是映射安全 上下文;所述安全上下文选择判定模块还用于,接收用户设备发送的路由区 更新请求消息或附着请求消息,根据消息中是否携带密钥标识符判断选择缓 存安全上下文还是映射安全上下文;
启用所选安全上下文模块,用于启用安全上下文启用判定模块判定的安 全上下文,并将其对应密钥标识符发送给用户设备;所述启用所选安全上下 文模块还用于,启用安全上下文选择判定模块选择的安全上下文,并将所启 用的安全上下文对应的密钥标识符放入路由区更新或附着接受消息发送给用 户设备。
本发明还提供一种用于UE从EUTRAN空闲转移到UTRAN/ERAN时, 协商启用安全上下文的系统,如图10所示,包括以下单元:
UE,包括:
决定是否带密钥标识符模块,用于通知目标SGSN,UE期望使用的安全 上下文;
检查上下文一致性模块,用于检查SGSN所选的安全上下文是否与UE 一致。
SGSN,包括:
安全上下文判定启用模块,用于判定使用缓存安全上下文还是映射安全 上下文;
启用所选安全上下文模块,用于启用安全上下文启用判定模块判定的安 全上下文,并将其对应密钥标识符发送给用户设备;
上述各单元功能同同9所述各单元。
SGSN还包含设置特定标志位的模块,用于通过上下文请求消息/附着请 求消息通知MME是否需要生成或传送映射安全参数。
MME,判定是否需要提供映射安全参数模块,用于检查SGSN发过来的 上下文请求/附着请求消息中的特定标志位,从而决定是否要提供映射安全参 数。
所述安全上下文选择判定模块判定选择缓存安全上下文时,指示所述设 置特定标志位模块通知MME不需要生成或传送映射安全参数。
上述实施例的协商启用安全上下文的方法和系统,UE通过路由更新请求 消息是否带有密钥标识符,来通知目标SGSN它期望使用的安全上下文,目 标SGSN通过判断路由区更新请求消息中的密钥标识符,从而决定是否需要 映射密钥及其标识符,保证了UE和SGSN不会同时存有映射密钥和缓存密 钥,解决了UE从EUTRAN转移到UTRAN/GERAN时,UE和网络侧安全上 下文不同步问题。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可 以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布 在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程 序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或 者将它们分别制作成各个集成
电路模块,或者将它们中的多个模块或步骤制 作成单个集成电路模块来实现。这样,本发明不限制于任何特定的
硬件和软 件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本 领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和 原则之内,所作的任何
修改、等同替换、改进等,均应包含在本发明的保护 范围之内。