深度解析 3GPP TS 33.512:4.2.2.1.3 NAS based redirection from 5GS to EPS (5G到4G的NAS重定向安全)
本文技术原理深度参考了3GPP TS 33.512 V18.2.0 (2024-06) Release 18规范中,关于“4.2.2.1.3 NAS based redirection from 5GS to EPS”的核心章节,旨在为读者揭示5G网络如何安全地将用户引导至4G网络,以及其中蕴含的关键安全原则。
引言:从繁华都市到恬静乡村的无缝切换
我们的故事主角,5G用户小敏,趁着假期回到了位于乡下的奶奶家。奶奶家风景优美,但地处偏远,小敏的运营商“未来移动”在这里尚未完全覆盖5G信号,而是通过与当地一家运营商的漫游协议,为用户提供成熟稳定的4G (EPS)服务。
小敏的5G手机开机后,本能地尝试向“未来移动”的5G核心网(5GC)发起注册。然而,核心网的AMF根据小敏的地理位置和漫游策略,需要告诉她的手机:“嘿,此地5G非最优选,请切换至我们的4G合作伙伴网络,那边信号满格!”
这个“引导”或“重定向”的指令,听起来简单,但在安全工程师李工眼中,却是一个极其敏感的操作。一个未经保护的重定向指令,就如同一个可以被任何人伪造的“改道”交通指示牌,攻击者可以利用它恶意地将用户从安全的5G高速公路引向充满风险的崎岖小路,甚至导致服务中断。因此,如何安全地发出这个重定向指令,是AMF必须通过的一项严峻考验。
1. 核心原则:先建立信任,再下达指令 (Security First, Redirect Second)
AMF下发重定向指令,本质上是在改变UE的网络接入行为,这是一个拥有很高权限的命令。3GPP对此制定了“铁律”:在下达如此重要的指令之前,必须首先在UE和AMF之间建立一个牢不可破的、双向信任的加密信令通道。
规范原文 4.2.2.1.3 Requirement Description:
“As specified in TS 33.501, clause 6.16.4… The following requirements apply to Registration Reject message with an EMM cause which indicates to the UE that the UE shall not use 5GC:
- the AMF only sends such a Registration Reject message once NAS security has been established between the AMF and the UE; and
- the UE only acts upon such Registration Reject message if received integrity protected and if UE has verified the integrity of the Registration Reject message successfully.”
深度解析:
这段描述是本节乃至5G信令安全设计的基石。李工将其分解为两个不可逾越的红线:
红线一:AMF侧 → 必须在NAS安全建立后发送
-
“once NAS security has been established” (一旦NAS安全已建立):这句话是整个流程的“安全阀”。它意味着AMF不能在注册流程的一开始就简单粗暴地告诉UE“去4G吧”。它必须先走完标准的认证流程(Authentication),然后执行安全模式控制流程 (Security Mode Command Procedure)。
-
当AMF向UE发送
Security Mode Command消息,并且收到UE返回的Security Mode Complete消息后,“NAS安全”才算正式建立。此刻,双方已经激活了协商好的加密和完整性保护密钥(K_nas_enc, K_nas_int)。从此以后,它们之间所有的NAS信令都会被加密和完整性保护。 -
执行顺序是关键:只有在这个受保护的信令通道建立之后,AMF才能发送重定向指令。这就像银行客服要你转账前,一定会通过多重验证确认你的身份,绝不会在电话一接通就直接下指令。
红线二:UE侧 → 只接受和执行受完整性保护的指令
-
“if received integrity protected and if UE has verified the integrity” (如果收到的是受完整性保护的,并且UE已成功校验其完整性):安全是双向的。规范不仅约束了AMF,也给UE下达了指令。UE必须像一个警惕的卫兵,对于收到的任何
Registration Reject消息,都要先检查上面有没有合法的“防伪标签”——NAS消息认证码 (MAC)。 -
UE会使用激活的完整性密钥
K_nas_int,对收到的消息计算一个期望的MAC值,并与消息附带的MAC值进行比对。如果比对一致,证明这条指令确实是合法的AMF发出的,并且在传输途中未被篡改。UE才会执行重定向操作。 -
如果收到的
Registration Reject消息没有MAC,或者MAC校验失败,UE必须将其视为非法指令,并直接丢弃。这能有效抵御攻击者在空中接口伪造重定向指令的攻击。
2. 实现机制:巧用“注册拒绝”消息
有趣的是,3GPP并没有为“重定向到4G”设计一个全新的NAS消息。而是巧妙地复用了现有的Registration Reject(注册拒绝)消息,通过一个特殊的“拒绝原因码”来传递这个意图。
规范原文 4.2.2.1.3 Requirement Description:
“…by including a EMM cause indicating to the UE that it shall not use 5GC, as described in clause 5.31.3 in TS 23.501”
深度解析:
当AMF决定要重定向UE时,它会构造一个Registration Reject消息。在这个消息中,它会包含一个特殊的5GMM cause(5G移动性管理原因值),例如#11: "PLMN not allowed",并可能附带一个更详细的EMM cause,明确指示UE“你不应使用5GC”。
这种设计非常高效,它避免了协议的臃肿,利用现有消息的扩展性来承载新的功能。对于UE来说,收到Registration Reject后,它不仅知道自己被拒绝了,还会去解析具体的原因,从而得知下一步应该怎么做——是彻底放弃,还是去尝试接入EPS(4G)。
3. 测试场景:李工的“安全引航”演习
现在,李工将通过一个严谨的测试用例,来检验“先锋通信”的AMF是否是一位合格的“安全引航员”。
-
场景设置:
-
李工在他的核心网模拟环境中,为小敏的用户数据(Subscription Profile)配置一条策略:“当该用户在漫游区域A(模拟奶奶家)发起注册时,应将其重定向至EPS”。
-
他的UE模拟器将扮演小敏的手机,发起初始注册。
-
李工将使用网络分析仪(如Wireshark)捕获AMF与UE之间的N1接口信令,这是他进行裁决的关键证据。
-
-
执行步骤 (The Secure Way):
-
[UE → AMF]: UE模拟器发送
Registration Request消息。此刻,信令是未保护的。 -
[AMF → UE]: AMF收到请求,查询用户数据,命中了重定向策略。但它并没有立即发送
Registration Reject。相反,它启动了标准的安全流程,向UE发送Authentication Request。 -
[UE → AMF]: UE模拟器正确响应,返回
Authentication Response。 -
[AMF → UE]: 认证成功后,AMF进入关键的第二步,发送
Security Mode Command。此消息本身是受完整性保护的。 -
[UE → AMF]: UE模拟器校验SMC通过后,激活NAS安全密钥,并返回加密和完整性保护的
Security Mode Complete。---- 至此,NAS安全上下文完全建立,加密通道开启 ----
-
[AMF → UE]: 【关键观测点】 在收到
Security Mode Complete之后,AMF终于发送了Registration Reject消息。
-
-
分析与裁决:
李工在他的Wireshark抓包中,仔细分析捕获到的
Registration Reject消息。他需要确认两点:-
时序正确性:这条消息的出现时间点,必须在
Security Mode Complete消息之后。如果在之前,哪怕内容正确,也判定为测试失败。 -
消息安全性:李工点开这条
Registration Reject消息的详情,检查其NAS安全头(Security Header)。它必须包含一个“完整性保护和加密”的指示,并且消息末尾必须附带一个有效的NAS MAC。李工的工具会自动使用协商好的密钥进行校验,如果校验通过,则证明消息是安全的。
-
-
预期结果:
如果时序和安全性都得到确认,李工就会判定“先锋通信”的AMF通过了此项测试。随后,他还会观察到他的UE模拟器,在收到这条安全的
Registration Reject后,终止了5G注册流程,并开始尝试向他搭建的4G MME模拟器发起Attach Request。整个重定向过程安全、平稳、无缝地完成了。
通过这次演习,李工验证了AMF不仅能够正确执行运营商的策略,更重要的是,它始终将安全置于首位,遵循了“先建立信任,再下达指令”的黄金法则,确保了即便是网络间的切换引导,也不会给攻击者留下任何可乘之机。
FAQ 环节
Q1:为什么不直接在UE发起注册时就告诉它去4G,这样不是更节省信令开销吗?
A1:这样做确实能节省几个信令交互,但牺牲了安全性,这是绝对不可接受的。如果在一个不受保护的初始消息中就进行重定向,攻击者可以轻易地伪造这个消息,进行“重定向攻击”,例如,在一个5G信号良好的区域,恶意地将大量用户踢回4G网络,造成网络拥堵和用户体验下降。因此,额外的安全建立信令开销是保障网络稳健性和安全性的必要投资。
Q2:除了漫游,还有哪些常见场景会触发5G到4G的重定向?
A2:常见的场景包括:1)业务不支持:用户尝试使用的某个特定业务(例如某些传统的语音业务或企业专网业务)在当前网络的5G实现中尚不支持,但4G支持得很好。2)终端能力或签约限制:用户的终端虽然支持5G,但其签约的数据套餐可能是“4G速率套餐”,或者运营商策略限制该类用户优先驻留在4G。3)网络负载均衡:在某些区域,5G网络出现拥塞,运营商为了保证整体服务质量,可能会策略性地将部分用户引导至负载较轻的4G网络。4)CIoT优化:对于某些物联网(CIoT)设备,其业务对时延不敏感但对功耗极其敏感,运营商可能会将其引导至NB-IoT或LTE-M等更成熟的4G物联网技术上。
Q3:这种重定向会不会导致UE在5G和4G之间来回“乒乓切换”?
A3:这是一个需要运营商策略来规避的问题。规范本身假设“Operator policies in EPC and 5GC are assumed to avoid steering UEs back and forth between EPC and 5GC.”,即运营商应配置合理的策略,避免产生乒乓效应。例如,一旦UE被重定向到4G,在一定时间内或在同一区域内,4G侧的网络(MME)不应再轻易地将其重定向回5G,形成一个稳定的驻留状态。
Q4:这个重定向流程对用户来说是可感知的吗?
A4:对用户来说,这个过程通常是透明且无感的。手机状态栏的信号标识可能会从“5G”短暂跳变到“4G”,但整个过程非常迅速,通常不会影响正在进行的数据业务(如果有的话,会通过后续的会话重建流程恢复)。用户只会感觉到网络连接是通的,而不会察觉到底层发生了从5G到4G的接入系统切换。
Q5:EMM cause和5GMM cause有什么关系?
A5:5GMM cause是5G移动性管理(5G Mobility Management)协议中定义的原因代码,用于5G核心网内的流程。EMM cause是4G时代演进分组系统移动性管理(EPS Mobility Management)协议中定义的原因代码。在5G到4G重定向这个特殊场景下,Registration Reject消息作为一个5GMM消息,其主要原因由5GMM cause承载。但为了更好地指导UE去和4G网络交互,它可以“附带”一个EMM cause,这个原因码是4G的MME能看懂的语言,UE在后续与MME交互时可能会用到。这体现了协议在异系统互通时的兼容性设计。