好的,我们继续对3GPP TS 33.401的深度探索之旅。在完成了对4G原生安全机制的全面剖析之后,我们现在将进入一个更为复杂和有趣的领域:网络间的互通与漫游。现代移动通信网络并非孤岛,4G (E-UTRAN)、3G (UTRAN)、2G (GERAN) 网络长期并存,用户需要在这些不同的“高速公路”和“国道”之间无缝穿梭。

本文将聚焦于第九章 Security interworking between E-UTRAN and UTRAN (E-UTRAN与UTRAN的安全互通),我们将看到,当我们的主角“小明”的手机在4G和3G网络之间移动时,他的安全“护照”是如何被查验、转换和更新的。

深度解析 3GPP TS 33.401:第九章 4G与3G的安全互通 (E-UTRAN & UTRAN Interworking)

本文技术原理深度参考了3GPP TS 33.401 V18.3.0 (2025-03) Release 18规范中,关于“9 Security interworking between E-UTRAN and UTRAN”的核心章节,旨在为读者深入剖析在空闲态(IDLE)和连接态(Handover)下,4G与3G网络间安全上下文的映射与传递机制。

想象一下,小明正在4G网络下享受着高速冲浪的快感,突然他走进了一座信号屏蔽严重的大楼,4G信号消失,手机屏幕上的“4G+”变成了“3G”。或者,他正乘坐高铁,列车穿过一个只有3G覆盖的乡村。在这些场景下,为了保证服务的连续性,手机必须能够安全、平滑地切换到3G网络。

第九章的核心任务,就是为这种**跨无线接入技术(Inter-RAT, Radio Access Technology)**的移动性,提供一套严密的安全保障方案。其核心思想,不再是重新进行一次完整的AKA认证,而是巧妙地利用已有的安全上下文,进行一次“安全身份的转换”。

1. 空闲穿行:RAU/TAU过程中的安全互通 (9.1 RAU and TAU procedures)

这是最常见的Inter-RAT移动场景。UE在空闲态(ECM-IDLE)下,从一个网络的覆盖区移动到另一个网络的覆盖区。

  • 从4G到3G:UE发起的是RAU (Routing Area Update,路由区更新) 流程。

  • 从3G到4G:UE发起的是TAU (Tracking Area Update,跟踪区更新) 流程。

1.1 从4G到3G:创建一张“3G通行证” (9.1.1 RAU procedures in UTRAN)

小明的手机在4G网络下处于空闲态,他走进了只有3G覆盖的地下室。手机检测到信号变化,决定向3G网络(UTRAN)发起注册,即RAU流程。此时,手机中只有一个4G的“身份证”——KASMEGUTI。它不能直接把这个拿给3G网络的“警察”(SGSN)看。

Mapping of EPS security context to UMTS security context

If the UE sends the RAU Request with the “old P-TMSI” Information Element including mapped GUTI it shall also include the KSI equal to the value of the eKSI associated with the current EPS security context…

The MME and UE shall derive CK’ and IK’ from the KASME and the NAS uplink COUNT value…

深度解读:映射安全上下文 (Mapped Security Context)

这个过程就像是用4G的身份凭证,去申请一张临时的3G通行证。

  1. UE发起请求:UE向3G网络发送RAU Request消息。在这个消息中,它会携带一个由4G的GUTI映射而来的临时3G身份P-TMSI,以及当前4G上下文的标识eKSI

  2. MME与SGSN的后台交接:3G网络的SGSN收到这个请求后,无法识别这个“映射GUTI”。它会根据GUTI中的信息,找到UE之前所在的MME,并向其请求用户上下文。

  3. 密钥的“魔法”转换:此时,关键的转换发生了。UE和MME会执行一个完全相同的密钥派生过程:它们拿出当前共享的4G根密钥KASME,再结合一个新鲜度参数——即将发送的下一条上行NAS消息的NAS COUNT,将它们送入一个特定的密钥派生函数(KDF,定义在附录A.13)。这个函数的输出,就是一对全新的、128比特的、符合3G UMTS规范的会话密钥:CK'IK'

  4. 上下文传递:MME将这对新鲜出炉的CK'IK',连同eKSI(现在它在3G网络中被称为KSI)以及用户的其他信息,一起发送给SGSN。

  5. 3G安全的建立:SGSN收到这对密钥后,就拥有了与UE通信的安全基础。它会用这对密钥来保护后续与UE的通信,例如发起3G的安全模式命令流程,建立3G的无线链路保护。

Keys CK’ and IK’ and the KSI shall replace all the currently stored UTRAN PS key parameters CK, IK, KSI values on both USIM and ME.

深度解读:一旦这个映射过程成功,UE会将这对新的CK'IK'(及其标识KSI覆盖掉USIM卡和手机内存中任何已有的3G密钥。这意味着,这张“3G通行证”成为了当前唯一合法的3G身份。

身份验证的“防伪标签”:NAS-token

为了防止在RAU过程中UE身份被伪造,规范还引入了一个额外的安全机制。

The UE shall include a truncated NAS-token…into the P-TMSI signature IE…The NAS-token is derived as specified in Annex A.9. The UE shall use the uplink NAS COUNT value that it would use in the next NAS message to calculate the NAS-token…

深度解读

  • UE在发送RAU请求时,会用KASMENAS COUNT计算一个NAS-token

  • 这个NAS-token的截断值会被放在P-TMSI signature字段中,一并发送给网络。

  • 当SGSN向MME请求上下文时,会将这个token也转发过去。MME会执行相同的计算,并验证token是否匹配。

  • 这个token,就如同在申请“3G通行证”的表格上盖的一个独一无二的“4G防伪印章”,MME通过核验这个印章,就能确认这份申请确实来自那个合法的UE。

1.2 从3G到4G:重返高速公路 (9.1.2 TAU procedures in E-UTRAN)

小明从地下室回到了地面,手机检测到了强劲的4G信号,决定从3G网络回到4G网络,发起TAU流程。此时,他手中可能握着两份“身份证”:一份是之前从4G映射到3G时产生的CK'IK';另一份可能更早,是在他上次使用4G时保留的原生KASME

这个过程比从4G到3G要复杂,因为它涉及到两种可能的上下文。

Case 2: Mapped P-TMSI included in “old GUTI” IE in TAU Request

The UE shall include in the TAU Request:

  • the KSI with corresponding P-TMSI…
  • a 32bit NONCEUE…

深度解读:再次映射

如果UE当前在4G网络中没有可用的原生安全上下文,它就需要基于现有的3G上下文,反向映射出一个4G的上下文。

  1. UE发起请求:UE向4G网络发送TAU Request。其中包含3G的身份标识P-TMSIKSI,同时,UE还会生成一个32比特的随机数 NONCEUE

  2. MME的后台交接与密钥派生:MME收到请求后,找到对应的SGSN,并从SGSN那里获取3G的会话密钥CKIK

  3. 双向随机数,双重保险:MME自己也会生成一个32比特的随机数 NONCEMME。然后,MME和UE双方,都使用**CKIKNONCEUENONCEMME** 这四个参数,通过一个特定的KDF(定义在附录A.11),共同派生出一个全新的、256比特的映射4G根密钥K'ASME

  4. NAS SMC激活:MME随后会发起一次NAS SMC流程。在这个流程中,MME会把NONCEUENONCEMME都包含进去。UE收到后,首先校验NONCEUE是否与自己当初发送的一致(防止重放),然后执行与MME相同的派生,得到K'ASME,并完成安全激活。

引入NONCEUENONCEMME这两个双向随机数,极大地增强了映射过程的安全性,确保了每次映射生成的K'ASME都是全新的,即使底层的CKIK没有改变。

2. 飞速穿越:Handover过程中的安全互通 (9.2 Handover)

Handover(切换)是UE在连接态下的跨RAT移动。它对时延的要求比空闲态移动要苛刻得多,整个过程必须在几百毫秒内完成,以保证业务(如语音通话)不中断。

2.1 从4G到3G:紧急“降级” (9.2.1 From E-UTRAN to UTRAN)

小明正在进行一场重要的VoLTE通话,此时他进入了只有3G覆盖的区域。网络必须立即将他切换到3G的电路域(CS)或分组域(PS)。

UE and MME shall derive a confidentiality key CK’, and an integrity key IK’ from the KASME and the selected NAS downlink COUNT value…

深度解读

  • 密钥派生:与空闲态的RAU类似,切换过程同样需要从KASME映射出一对CK'IK'。但这里的“新鲜度”参数发生了变化:使用的是**NAS downlink COUNT (下行NAS计数器)**。

  • 原因:切换是由网络侧(MME和eNB)主导的流程,使用网络侧更容易控制和同步的下行COUNT作为新鲜度参数,流程更顺畅。

  • 上下文前置准备:MME在决定切换之前,就已经计算好了CK'IK',并将它们连同其他切换参数,预先发送给目标3G网络(SGSN或MSC)。

  • UE的计算:源eNB在向UE发送的切换命令(MobilityFromE-UTRACommand)中,会包含NAS downlink COUNT的最低几位。UE收到后,结合自己本地完整的COUNT值,推算出MME使用的完整COUNT值,然后执行与MME相同的派生,得到一致的CK'IK'

一旦UE进入3G网络,它就立即使用这对新密钥与3G网络进行安全通信,通话得以无缝继续。

2.2 从3G到4G:重返“主场” (9.2.2 From UTRAN to E-UTRAN)

当小明从3G覆盖区回到4G覆盖区时,切换流程与空闲态的TAU过程(9.1.2)非常相似。

A) Handover signalling using the mapped EPS security context…

B) Subsequent NAS signalling to determine whether a native EPS security context can be taken in use…

深度解读

  1. 第一步:使用映射上下文完成切换

    • 源3G网络(SGSN)向目标MME发起切换请求,并传递CKIK

    • MME和UE同样通过交换NONCEMME(包含在发往UE的切换命令的透明容器中),从CKIK派生出一个映射密钥K'ASME

    • UE使用这个K'ASME立即建立起与目标eNB的空口安全,完成切换。

  2. 第二步(可选):恢复原生上下文

    • 切换完成后,UE会立刻发起一次TAU流程。

    • 在这个TAU请求中,如果UE的内存里还保留着一个“非当前”的原生KASME,它会把对应的KSIASME告诉MME。

    • MME收到后,如果确认自己也拥有这个原生的上下文,它就可以选择发起一次Key-change-on-the-fly流程(如7.2.9节所述),将UE的安全状态从临时的“映射”上下文,切换回更安全、更受信任的“原生”上下文。

这个“先映射,后恢复”的两步走策略,兼顾了切换的低时延(第一步)和长期安全(第二步)。

3. 规范的建议 (9.3 Recommendations on AKA at IRAT-mobility to E-UTRAN)

After a handover from GERAN or UTRAN into E-UTRAN, it is strongly recommended to run an AKA and perform a key change on-the-fly of the entire key hierarchy as soon as possible after the handover if there is no native security context in E-UTRAN.

深度解读:这是一个非常重要的安全建议。映射上下文虽然解决了互通问题,但它的“根”毕竟来自安全性相对较弱的2G/3G网络。因此,3GPP强烈建议,一旦UE通过映射上下文回到了4G网络,如果它没有可用的原生4G上下文,网络应该尽快发起一次完整的AKA认证,建立一个全新的、纯正的4G原生安全上下文,并将所有密钥体系刷新一遍。这就像是,用临时通行证入境后,应尽快去办理正式的居民身份,以享受最高级别的安全保障。

4. 总结

第九章为我们描绘了一幅4G与3G网络安全无缝对接的蓝图。面对Inter-RAT移动性这一复杂场景,规范没有采用“一刀切”的强制重认证,而是设计了一套精妙的映射安全上下文机制。

  • 核心是密钥映射:无论是从4G到3G,还是从3G到4G,核心都是利用现有的会话密钥(KASMECK/IK),结合新鲜度参数(NAS COUNTNONCE),通过单向的KDF函数,派生出符合目标网络规范的新密钥。

  • 双向随机数增强安全:在从3G到4G的映射中,引入UE和MME双方的随机数NONCE,极大地增强了派生密钥的随机性和安全性,有效抵抗了各类已知攻击。

  • 兼顾效率与安全:在切换场景下,采用“先映射快速切换,后恢复原生上下文”的两步走策略,在保证业务连续性的前提下,逐步将网络恢复到最安全的状态。

  • 原生上下文优先:规范始终强调原生4G上下文的更高安全级别,并推荐在条件允许时尽快回归原生上下文,体现了“安全不妥协”的最终原则。

这套互通机制,使得小明在4G和3G网络间自由穿梭时,其通信安全始终处于一个可控、可信且持续的状态,真正实现了“无感知的安全漫游”。


FAQ 环节

Q1:为什么从4G到3G的密钥映射使用NAS COUNT,而从3G到4G却要使用更复杂的NONCE交换?

A1:这反映了两个系统安全能力的不对等。4G的KASME是一个256比特的强密钥,而NAS COUNT提供了一个可靠的、同步的新鲜度来源,用它们来派生128比特的3G密钥CK'/IK'是“降维打击”,安全性足够。而反过来,3G的CK/IK只有128比特,且没有像NAS COUNT那样定义得足够严谨的、可用于跨系统派生的新鲜度参数。为了从较弱的密钥安全地派生出256比特的强密钥K'ASME,必须引入额外的、高质量的随机性。通过UE和MME双方都提供32位随机数NONCE,并将它们拼接起来,就为密钥派生注入了64比特的强大新鲜度,确保了派生出的K'ASME的安全性。

Q2:“映射上下文”和“原生上下文”在使用上有什么区别吗?对用户有影响吗?

A2:对于用户来说,两者在使用上没有任何区别,整个过程是完全透明的。无论是使用原生还是映射上下文,UE的通信都会受到加密和完整性保护。区别在于安全级别和信任根。原生上下文的信任根是4G的AKA,密钥强度为256比特。映射上下文的信任根是3G的AKA,密钥强度为128比特。因此,原生上下文被认为更安全。网络侧(MME)会知道上下文的类型,并根据此执行不同的策略,如“尽快重认证回归原生上下文”。

Q3:如果小明的手机同时保存了一个映射上下文和一个非当前的原生上下文,当他从3G区域回到4G区域时,会发生什么?

A3:这是一个典型的上下文恢复场景。

  1. 首先,他会使用当前的3G上下文,执行TAU流程(如9.1.2所述),与MME建立一个临时的映射4G上下文K'ASME),以快速接入4G网络。

  2. 在发送这条TAU Request消息时,因为他的手机里还有一个“非当前”的原生上下文,他会把这个原生上下文的KSIASME也包含在消息里,告诉MME:“我除了有3G身份,我还有一个以前的4G老身份,你还认吗?”

  3. MME收到后,看到这个KSIASME,就会在自己的数据库里查找。如果找到了这个匹配的、有效的原生上下文,MME就会知道UE是“自己人”回归了。

  4. 此时,MME就可以选择发起一次Key-change-on-the-fly流程,指示UE放弃临时的映射上下文,重新激活那个更安全的原生上下文。

Q4:为什么在从4G切换到3G时,UE需要根据NAS downlink COUNT的低几位来“猜测”完整的COUNT值?

A4:这是为了节省空口信令开销。完整的32位COUNT太长,不适合放在对时延要求极为苛刻的切换命令中。而UE和MME之间的COUNT值通常是大致同步的。MME只需要在切换命令中给出COUNT的最低4或5个比特,UE就可以结合自己本地存储的COUNT值,推断出MME使用的完整COUNT。例如,UE本地的COUNT...10110,收到的低4位是0010。UE会发现,比10110稍大的、且低4位是0010的数,最可能的就是...110010。通过这种方式,可以用极小的信令开销,实现双方对新鲜度参数的高概率同步。

Q5:第九章只讲了和UTRAN(3G)的互通,和GERAN(2G)的互通是怎样的?

A5:与GERAN(2G)的互通机制在第十章Security interworking between E-UTRAN and GERAN中有详细描述。其基本原理与第九章高度相似,也是基于映射安全上下文。主要区别在于2G的安全能力更弱,其原生密钥Kc只有64位。因此,从4G/3G的KASMECK/IK映射到2G的Kc时,需要使用不同的密钥转换函数(如c3)。同样,从2G回到4G时,也需要使用NONCE交换来增强安全性。第十章的内容很大程度上是第九章在2G场景下的一个“特例化”应用。