好的,我们继续进行系列的下一篇深度解读。
深度解析 3GPP TS 33.210:Annex B & C Security protection for GTP & IMS (保护“老功臣”:GTP与IMS的信令安全)
本文技术原理深度参考了3GPP TS 33.210 V18.1.0 (2024-06) Release 18规范中,附录B (normative) “Security protection for GTP”和附录C (normative) “Security protection of IMS protocols”的核心章节,旨在为读者提供一个关于如何在5G时代,利用NDS/IP安全框架保护GTP和IMS这两个关键协议的实战解析。
引言:博物馆里的“镇馆之宝”
“陈工,我们已经学习了如何用IPsec为5G核心网的Za接口修建‘装甲隧道’,也学会了如何用TLS为SBA接口提供‘加密管道’。”在一次关于网络演进安全的讨论会上,小林提出了新的问题,“但这似乎都是针对5G新架构的。在我们网络中,还运行着大量为了兼容4G漫游的GTP协议,以及承载着VoLTE/VoNR的IMS系统。这些‘老功臣’,它们的信令也跑在IP上,而且同样敏感,我们该如何保护它们?”
资深架构师陈默笑了:“小林,你的问题非常好。一座现代化的城市,不仅要有新建的摩天大楼,更要懂得如何保护好历史悠久的‘博物馆’和‘歌剧院’。GTP (GPRS Tunnelling Protocol) 和 IMS (IP Multimedia Subsystem),就是我们移动通信网络中的两大‘镇馆之宝’。GTP承载了从2G到4G时代移动性的核心逻辑,IMS则开启了全IP化的多媒体通信时代。在5G网络中,它们依然扮演着不可或缺的角色。”
他将TS 33.210翻到了附录B和C。“规范的附录,特别是规范性附录 (normative annex),不是可有可无的补充说明,而是具有与正文同等效力的强制性要求。附录B和C,就是3GPP为GTP和IMS这两大‘镇馆之宝’量身定制的**‘安保细则’**。它详细规定了,如何将我们在第5章学习的NDS/IP通用安全框架,具体应用到这两个特殊的协议上,确保它们在开放的IP环境中,也能享受到与5G原生信令同等级别的安全保护。”
这篇文章,我们将化身为“安保系统集成工程师”,深入GTP和IMS的世界,学习如何将IPsec这套“标准化安防系统”,精确地部署到这两个“历史建筑”的关键出入口和内部通道中。
1. 保护移动性的“神经索”:Security protection for GTP (Annex B)
GTP是移动核心网的“血液”,GTP-C(控制面)信令承载着用户的移动性管理、会话上下文、鉴权信息等高度敏感的数据。特别是在运营商之间的漫游接口(Gp接口,逻辑上对应5G的N8/N9等接口)上,GTP-C信令的泄露或篡改,将导致灾难性的后果。
1.1 为什么要保护GTP-C? (B.1 The need for security protection)
GTP-C is used for traffic that that is sensitive in various ways including traffic that is:
- critical with respect to both the internal integrity and consistency of the network;
- essential in order to provide the user with the required services;
- crucial in order to protect the user data in the access network and that might compromise the security of the user data should it be revealed.
-
深度解析:
规范开宗明义,指出了保护GTP-C的三大理由:
-
网络完整性: GTP-C信令的完整性,是整个核心网状态一致性的基础。
-
业务可用性: 它是用户能够成功建立和维持数据会话的前提。
-
用户数据安全: GTP-C中承载的鉴权和上下文信息,是保护用户数据安全的第一道防线。
因此,结论是:“it is necessary to apply security protection to GTP signalling messages (GTP-C)”。而用户面的GTP-U,则明确“is not protected by NDS/IP mechanisms”。
-
1.2 如何“精确制导”地保护GTP-C? (B.2 Policy discrimination of GTP-C and GTP-U)
GTP-C和GTP-U通常使用相同的IP地址,但使用不同的UDP端口号(GTP-C使用2123,GTP-U使用2152)。这为实现差异化保护提供了绝佳的“抓手”。
It shall be possible to discriminate between GTP-C messages, which shall receive protection, and other messages, including GTP-U, that shall not be protected. … IPsec can easily distinguish GTP-C datagrams from other datagrams that may not need IPsec protection.
Security policies shall be checked for all traffic… so datagrams can be processed in the following ways:
- discard the datagram;
- bypass the datagram (do not apply IPsec);
- apply IPsec.
-
深度解析:
这正是**安全策略数据库(SPD)**发挥作用的地方。在边界的SEG上,需要配置至少两条针对GTP的策略:
-
策略一(针对GTP-C):
IF (protocol=UDP AND destination_port=2123) THEN PROTECT using IPsec SA_XYZ. -
策略二(针对GTP-U):
IF (protocol=UDP AND destination_port=2152) THEN BYPASS.
通过这种基于端口的策略歧视(Policy discrimination),SEG可以像一个智能的分拣机,自动地将需要保护的GTP-C信令送入IPsec“装甲隧道”,而将GTP-U用户面数据直接放行。
-
1.3 在哪里部署保护? (B.3 Protection of GTP-C transport protocols and interfaces)
IPsec ESP shall be used with both encryption and integrity protection for all GTP-C messages traversing inter-security domain boundaries.
Gn and Gp control plane traffic shall be routed via a SEG when it takes place between different security domains. In order to do so, operators shall operate NDS/IP Za-interface between SEGs.
-
深度解析:
规范再次强调了SEG和Za接口的核心地位。
-
所有跨运营商的GTP-C信令(Gp接口),必须通过SEG进行路由,并在Za接口上使用同时包含加密和完整性保护的IPsec ESP隧道进行传输。这是对漫游信令的最高安全等级要求。
-
对于运营商内部的GTP-C信令(Gn接口),是否以及在哪里部署Zb接口进行保护,则由运营商自行决定。
-
-
场景化应用:加固国际漫游链路
当国内用户漫游到海外时,归属地网络(HPLMN)的SGSN/MME与拜访地网络(VPLMN)的SGSN/MME之间,需要通过Gp接口交换GTP-C消息来创建和管理用户的漫游数据会话。为了保护这条链路,双方运营商的边界SEG会建立起一条Za接口的IPsec隧道,所有发往UDP端口2123的流量,都会被强制送入这条隧道进行加密和保护。
2. 守护多媒体会话的“总机”:Security protection of IMS protocols (Annex C)
IMS是承载VoLTE、VoNR、RCS(富媒体通信)等所有IP多媒体业务的核心网络。其核心信令协议是SIP (Session Initiation Protocol, 会话发起协议)。SIP信令中包含了用户的身份、呼叫的源和目的、媒体协商的参数等极其敏感的信息。
2.1 为什么需要保护IMS信令? (C.1 The need for security protection)
The security architecture of the IP multimedia Core Network Subsystem (IMS) is specified in 3GPP TS 33.203. …confidentiality and integrity protection for SIP-signalling are provided in a hop-by-hop fashion.
The other hops, within the IMS core network including interfaces within the same security domain or between different security domains are protected by NDS/IP security mechanisms as specified by this Technical Specification.
-
深度解析:
IMS的安全是一个端到端、跳由跳的体系。
-
第一跳(UE到P-CSCF): 被称为Gm接口,其安全由TS 33.203定义的接入安全机制(通常是基于IPsec或TLS)来保护。
-
其他跳(核心网内部和网间): 规范明确指出,这些“其他跳”的安全,由TS 33.210的NDS/IP机制来保护。
-
2.2 如何以及在哪里保护IMS信令? (C.2 Protection of IMS protocols and interfaces)
与GTP的保护逻辑完全一致,IMS的跨域信令保护,也依赖于SEG和Za接口。
IMS control plane traffic within the IMS core network shall be routed via a SEG when it takes place between different security domains… IMS operators shall operate NDS/IP Za-interface between SEGs…
…IPsec ESP shall be used with both encryption and integrity protection for all SIP signalling traversing inter-security domain boundaries.
-
深度解析:
-
所有跨运营商的IMS信令(如不同运营商的P-CSCF与I-CSCF之间),必须通过SEG进行路由。
-
在Za接口上,必须使用同时包含加密和完整性保护的IPsec ESP隧道来传输所有的SIP信令。
-
-
场景化应用:保护一通跨国VoLTE通话
一位国内用户,拨打了一位正在美国漫游的朋友的VoLTE电话。
-
国内用户的IMS核心网,需要将SIP INVITE请求,发送到美国运营商的IMS核心网。
-
这个SIP信令包,会首先被路由到国内运营商的边界SEG。
-
国内SEG与美国运营商的SEG之间,已经建立了一条Za接口的IPsec隧道。
-
SEG将这个SIP包封装进ESP,进行加密和完整性保护,然后通过公共互联网发送到对端SEG。
-
美国SEG收到后,解封装并验证签名,再将原始的SIP包转发给其内部的IMS网络。
通过这个过程,这通跨国电话的信令细节(如谁打给谁、通话何时开始等),在公共互联网上得到了完全的保护。
-
结论:“新瓶装旧酒”,经典协议的安全现代化
通过对附录B和C的学习,我们看到,3GPP并没有因为5G SBA架构的出现,就抛弃GTP和IMS这两个“老功臣”。相反,它通过一种非常优雅和一致的方式,将TS 33.210定义的现代化NDS/IP安全框架,“嫁接”到了这些经典协议之上。
-
统一的架构: 无论是GTP-C还是SIP,其跨域安全都遵循**“流量收敛于SEG,通过Za接口IPsec隧道保护”**的统一模型。
-
精细化的策略: 利用SPD和基于端口/协议的策略歧视,实现了对GTP-C/GTP-U、SIP/RTP等不同性质流量的差异化保护。
-
强制性的高标准: 对于跨越运营商边界的GTP-C和IMS信令,规范都给出了**“强制加密+完整性”**的最高安全要求,毫不妥协。
附录B和C,是TS 33.210将理论框架应用到具体实践的典范。它展示了如何通过一个通用的、底层的安全平台(NDS/IP),去灵活地、向后兼容地加固各种上层协议,确保了在网络全面IP化的浪潮中,没有任何一个关键的信令协议,会成为安全版图上的“薄弱环节”。
FAQ 环节
Q1:为什么GTP-C需要保护,而GTP-U不需要?
A1:因为它们的数据敏感性和对性能的要求完全不同。**GTP-C(控制面)承载的是“指令”,如用户的位置更新、会话的建立与拆除、鉴权密钥等,这些信息一旦被窃取或篡改,会对网络安全和用户隐私造成巨大威胁。而GTP-U(用户面)**承载的是用户的“货物”,即加密后的用户IP包。对GTP-U再进行一层IPsec加密,不仅会带来巨大的性能开销(UPF/SGW-U需要具备极高的IPsec吞吐能力),而且通常是“重复加密”(用户数据在UE和服务器之间通常已有HTTPS等应用层加密)。因此,从性能和效率的角度,NDS/IP选择聚焦于保护更敏感、流量更小的GTP-C信令。
Q2:IMS安全中,Gm接口和Za接口的保护机制有什么不同?
A2:它们保护的对象和信任模型不同。Gm接口是UE与P-CSCF(运营商网络入口)之间的接口,这是一个用户与网络之间的接口,信任度较低。TS 33.203为其定义了基于SIM卡鉴权的、专门的IPsec或TLS建链机制,以实现严格的用户身份认证和接入安全。而Za接口是运营商SEG与运营商SEG之间的接口,这是一个网络与网络之间的接口,双方在建立漫游协议时,已经建立了一定的商业信任。其安全机制(NDS/IP)的核心,是通过IKEv2和预共享密钥/PKI,实现网络实体之间的认证和信道加密。
Q3:规范说Za接口上的加密是“recommended”(推荐的),但在附录B和C中又说对GTP-C和IMS是强制的,这是否矛盾?
A3:不矛盾,这体现了规范的分层逻辑。在第5章的通用框架中,规范为Za接口设定了一个基础安全模板:“完整性强制,加密推荐”。这是一个普适性的、最低限度的要求。然后,在附录B和C这些针对具体协议的“实施细则”中,规范根据GTP-C和IMS信令的高度敏感性,对这个基础模板进行了“加强”,将加密从“推荐”提升到了“强制”。这种“通用模板 + 特定加强”的设计,使得规范既有统一性,又有灵活性。
Q4:如果我的网络是纯5G,没有2G/3G/4G漫游,还需要关心GTP的安全吗?
A4:需要。虽然GTP最经典的场景是4G及以前的漫游接口,但在5G核心网内部,GTP-U依然是N3(gNB-UPF)和N9(UPF-UPF)接口上承载用户数据的核心协议。GTP-C的某些功能也被5G的控制面接口所借鉴和演进。更重要的是,只要你的5G网络需要与4G网络进行互操作(例如,VoNR到VoLTE的回落和切换),就必然会涉及到与4G核心网MME的GTP-C信令交互。因此,在可预见的未来,GTP安全依然是运营商网络安全的重要组成部分。
Q5:这些附录都是“normative”(规范性)的,它和“informative”(资料性)的附录有什么区别?
A5:这是一个理解3GPP规范结构的关键问题。Normative(规范性)的附录,其法律效力与规范正文完全相同,其中包含的所有“shall”、“must”等要求,都是厂商实现和运营商部署时必须遵守的强制性规定。附录B和C就属于此类。而Informative(资料性)的附录(如TS 28.552的附录A),其内容仅为参考、示例或背景信息,不包含任何强制性要求,主要是为了帮助读者更好地理解规范。