深度解析 3GPP TS 33.501:6.2.1 密钥体系 (Key Hierarchy) - 5G安全的“信任之树”
本文技术原理深度参考了3GPP TS 33.501 V18.9.0 (2025-03) Release 18规范中,关于“6.2.1 Key hierarchy”的核心章节,旨在为读者以可视化的方式,深度剖析5G安全密钥是如何从一个唯一的“信任之根”开始,层层派生,构建起一棵覆盖整个通信链路的“信任之树”。
在上一篇文章中,我们见证了一场由UE发起的、跨越多个核心网元的严谨“大考”——主认证流程。我们知道,这场考试的最终“文凭”,不仅仅是一句“认证成功”,更是一份极其珍贵的“加密宝藏”——锚点密钥K_SEAF。
那么,这份宝藏究竟是什么?它又将如何开启后续所有的安全通信?今天,我们将深入解读规范的6.2.1节——密钥体系(Key Hierarchy)。这一节是整个5G安全体系中最为核心和基础的密码学蓝图。它完美地诠释了“一把钥匙开一把锁”以及“风险隔离”的最高安全设计原则。
我们将看到,5G网络的安全,并非依赖于一大堆互不相关的密钥,而是源自一棵结构清晰、逻辑严谨、从同一个“根”生长出来的“信任之树”。树根深植于最安全的核心,树干支撑起核心网的信任,枝干延伸至无线网络的边缘,最终的叶片则保护着每一条信令和数据的传输。
我们的主角,工厂AGV“智行一号”,已经成功通过了主认证。现在,核心网工程师“李工”的任务,就是利用认证的成果,为“智行一号”的后续所有通信,制作一套专属的、层层隔离的“通行密钥”。让我们跟随李工的视角,来见证这棵“信任之树”是如何从一颗种子开始,生根发芽,并最终枝繁叶茂的。
1. 信任之树的全貌:Figure 6.2.1-1 图解
规范的6.2.1节,开篇就为我们展示了这棵“信任之树”的全貌——Figure 6.2.1-1: Key hierarchy generation in 5GS。这张图是理解本章所有内容的核心,我们将从上到下,从根到叶,逐一解构这棵树的每一个节点(密钥)和每一条枝干(派生关系)。
(规范原文图片引用说明)
这张图清晰地展示了,所有密钥最终都源于UE和归属网络(HPLMN)中共同持有的一个最高机密。然后,通过一系列标准的密钥派生函数(KDF),逐级生成用于不同层面、不同目的的会话密钥。
2. 树根:K - 埋藏在最深处的“遗传密码”
The keys related to authentication (see Figure 6.2.1-1) include the following keys: K, CK/IK.
在信任之树的最顶端,是唯一的“树根”——长期密钥**K**。
- 存储位置:
K被极其安全地存储在两个地方:用户的USIM(或eSIM/iSIM)内部的防篡改硬件中,以及运营商归属网络核心的“终极数据库”UDM/ARPF中。 - 特性:它是永久性的(或生命周期非常长),是用户签约身份的密码学体现。它绝不会以任何明文形式离开其安全存储环境。
- 作用:
K本身不直接参与任何通信的加密,它的唯一作用,就是在主认证(AKA)过程中,作为“种子”,生成第一代密钥。
在AKA流程中,K会与网络发来的随机数RAND进行运算,生成CK(Cipher Key)和IK(Integrity Key)。这对密钥是认证过程的直接产物,是信任之树的第一节“主根”。
场景代入:
“智行一号”的eSIM芯片深处,烧录着一个唯一的、无法被读取的密钥K。在工厂的UDM服务器阵列中,一个经过多重物理和逻辑防护的数据库(ARPF)里,也存储着一个与之一模一样的K。这便是“智行一号”所有安全通信的“遗传密码”。
3. 树干的基座:K_AUSF - 归属网络的“主干密钥”
- KAUSF is a key derived
- by ME and AUSF from CK’, IK’ in case of EAP-AKA’, CK’ and IK’ is received by AUSF as a part of transformed AV from ARPF; or,
- by ME and ARPF from CK, IK in case of 5G AKA, KAUSF is received by AUSF as a part of the 5G HE AV from ARPF.
从CK和IK出发,派生出的第一个关键中间密钥是K_AUSF。这个密钥的派生方式根据认证方法(5G AKA或EAP-AKA’)的不同而略有差异,但其本质和角色是一致的。
- 生成者:由UE和归属网络的AUSF共同生成。
- 生命周期:它的生命周期可以比单次会话更长。规范允许AUSF缓存
K_AUSF,用于后续的快速重认证或特定业务(如SoR/UPU)。 - 作用:
K_AUSF是归属网络内部的“主干密钥”,它承载了来自根密钥K的全部信任。它的核心使命,是派生出交付给服务网络的“锚点密钥”。
4. 树干:K_SEAF - 支撑服务网络信任的“锚点”
KSEAF is an anchor key derived by ME and AUSF from KAUSF. KSEAF is provided by AUSF to the SEAF in the serving network.
K_SEAF是整个密钥体系中承上启下的“树干”,是服务网络中所有安全的“锚点”。
- 生成者:由UE和归属网络的AUSF共同生成(派生自
K_AUSF和服务网络名)。 - 所有者:AUSF将其安全地传递给服务网络的SEAF(位于AMF中)。这是归属网络向服务网络传递信任的唯一通道。
- 生命周期:
K_SEAF的生命周期非常短暂。规范要求,SEAF在根据K_SEAF派生出下一级密钥K_AMF之后,应立即删除K_SEAF。 - 作用:作为锚点,它确保了服务网络获得的信任根源于合法的归属网络。它的唯一使命就是生成
K_AMF。
场景代入:
李工指着屏幕上的流程解释道:“当中国的AUSF认证完‘智行一号’后,它并没有把自家的‘主干密钥’K_AUSF直接给日本的AMF。而是用K_AUSF和日本网络的名字,生成了一把‘一次性授权密钥’K_SEAF,然后把这个K_SEAF交给了日本的SEAF。日本的SEAF拿到后,马上用它生成了自己部门的‘工作密钥’K_AMF,然后立刻销毁了K_SEAF。这就像总公司给分公司下发一个一次性的密码信封,分公司看完即焚,确保了核心机密不会在分公司久留。”
5. 主枝干:K_AMF - 核心网移动性管理的“工作密钥”
KAMF is a key derived by ME and SEAF from KSEAF. KAMF is further derived by ME and source AMF when performing horizontal key derivation.
K_AMF是信任之树上第一个主要的枝干,是核心网信令保护的基石。
- 生成者:由UE和SEAF共同派生(派生自
K_SEAF和用户的SUPI)。 - 所有者:存储在UE和AMF中。
- 生命周期:
K_AMF的生命周期与UE在AMF上的注册周期相关联,相对较长。当UE切换到新的AMF时,旧AMF会基于当前的K_AMF派生出一个新的K_AMF'(水平密钥派生)给新AMF,实现安全上下文的快速迁移。 - 作用:
K_AMF有两个核心作用:- 直接用于派生保护NAS信令的密钥。
- 作为“父密钥”,派生出用于无线接入网的密钥。
5.1 NAS信令的“叶片”:K_NASint 和 K_NASenc
- KNASint is a key derived by ME and AMF from KAMF, which shall only be used for the protection of NAS signalling with a particular integrity algorithm.
- KNASenc is a key derived by ME and AMF from KAMF, which shall only be used for the protection of NAS signalling with a particular encryption algorithm.
K_AMF会进一步分化出两片专门的“叶子”,用于保护手机(UE)和AMF之间的NAS信令:
K_NASint:用于NAS信令的完整性保护(防篡改)。K_NASenc:用于NAS信令的机密性保护(防窃听)。
这种密钥分离原则非常重要,确保了用于不同密码学目的的密钥是独立的,增强了整体的安全性。
6. 无线侧枝干:K_gNB - 接入网的“区域密钥”
KgNB is a key derived by ME and AMF from KAMF. KgNB is used as KeNB between ME and ng-eNB.
为了将安全扩展到无线接入网,AMF会基于K_AMF派生出下一个层级的密钥——K_gNB。
- 生成者:由AMF(和UE)派生。
- 所有者:AMF将其安全地传递给为UE提供服务的gNB。UE自己也会在本地计算出相同的
K_gNB。 - 作用:
K_gNB是gNB侧所有安全密钥的“父密钥”,用于保护UE和gNB之间的所有通信,包括RRC信令和用户数据。当UE连接的是ng-eNB时,这个密钥被称为K_eNB,但本质和派生方式是相同的。
场景代入:
李工解释:“我的AMF是核心网的‘交通警察’,它自己拿着K_AMF这把‘总钥匙’。当它指挥‘智行一号’去和某个基站(gNB)对接时,它不会把自己的总钥匙给基站。而是用总钥匙为这次对接,专门制作了一把‘临时区域钥匙’K_gNB,然后安全地发给那个基站。这样,基站只能用这把钥匙和‘智行一号’通信,它对AMF和其他基站的事情一无所知,实现了风险隔离。”
6.1 RRC与UP的“叶片”:K_RRC 和 K_UP 系列密钥
- KRRCint is a key derived by ME and gNB from KgNB…
- KRRCenc is a key derived by ME and gNB from KgNB…
- KUPint is a key derived by ME and gNB from KgNB…
- KUPenc is a key derived by ME and gNB from KgNB…
与NAS层类似,K_gNB这根“无线侧枝干”也会进一步分化出四片“叶子”,分别用于保护不同的空中接口流量:
K_RRCint/K_RRCenc:分别用于RRC信令(UE与gNB间的控制信令)的完整性保护和加密。K_UPint/K_UPenc:分别用于用户平面数据(UE与gNB间传输的实际业务数据)的完整性保护和加密。
7. 信任之树的延展:中间密钥 (Intermediate keys)
除了上述主干密钥,规范还定义了一些用于特定场景(尤其是移动性)的中间密钥。
NH(Next Hop):用于实现切换时的“前向安全”。当UE即将切换到下一个gNB时,AMF可以提前计算出一个NH密钥并交给当前gNB。当前gNB利用NH可以为下一次切换派生出新的K_gNB*,而NH本身不会被暴露。这确保了即使当前gNB被攻破,攻击者也无法预测出UE下一个切换目标的密钥。K_AMF':用于AMF间的切换。源AMF使用它来为目标AMF生成一个新的K_AMF,实现安全上下文的快速迁移。
8. 总结:密钥体系的设计哲学
通过对6.2.1节的逐层剖析,我们可以总结出5G密钥体系所蕴含的几个核心设计哲学:
- 统一信任根 (Unified Root of Trust):所有安全都源于USIM和UDM中唯一的长期密钥
K,确保了信任源的单一和可控。 - 分层派生 (Hierarchical Derivation):密钥逐级生成,每一级密钥的权力都受到其父密钥的限制。这构建了一个清晰的信任链,便于管理和审计。
- 职责分离与最小权限 (Separation of Concerns & Least Privilege):不同网络实体(AMF, gNB)只掌握其职责范围内的最小密钥集。gNB不知道
K_AMF,SEAF用完K_SEAF就销毁。这种设计极大地隔离了风险,防止了单点故障导致整个系统崩溃。 - 密钥用途分离 (Key Separation):即使派生自同一个父密钥,用于加密和完整性保护的密钥也是分开的;用于保护控制面(NAS/RRC)和用户面(UP)的密钥也是分开的。这可以抵御复杂的跨协议、跨层面攻击。
- 兼顾效率与安全 (Efficiency vs. Security):通过
K_AMF'和NH等机制,在保证安全的前提下,实现了移动性场景下的快速密钥更新和上下文传递,避免了频繁的、高开销的主认证流程。
这棵精心设计的“信任之树”,是5G能够自信地宣称其拥有“端到端安全”的底气所在。它不仅仅是一套密码学规则的堆砌,更是对现代网络安全设计思想的深刻理解和完美实践。
FAQ
Q1:这么多密钥,UE和网络是如何确保在每一步派生出的结果都是一致的? A1:这是通过使用确定性的密钥派生函数(KDF)和严格同步的输入参数来实现的。规范在附录A中详细定义了每一个密钥派生所使用的KDF以及其所有输入参数(例如,父密钥、算法ID、服务网络名、SUPI等)。只要UE和网络侧的相应实体(如AUSF, AMF, gNB)使用相同的KDF,并保证输入的所有参数完全一致,那么输出的密钥就必然是逐比特相同的。这也是为什么在认证和切换等流程中,信令消息需要精确地传递和同步这些参数的原因。
Q2:K_SEAF的生命周期为何如此之短,用完即焚的目的是什么?
A2:这是为了最大限度地减小“锚点密钥”的暴露风险。K_SEAF是归属网络(HPLMN)信任传递给服务网络(VPLMN)的唯一凭证,是服务网络中所有密钥的“根”。让它在SEAF中“阅后即焚”,可以确保:1) 减少攻击时间窗口:即使SEAF/AMF被攻破,攻击者也只能获取到已经派生出的K_AMF,而无法获取到更高层级的K_SEAF,更无法用它来派生其他密钥。2) 前向安全:K_SEAF的销毁,使得即使K_AMF在未来某个时刻泄露,攻击者也无法反向推导出K_SEAF,从而无法影响下一次全新的主认证流程。
Q3:用户平面(UP)的完整性保护(K_UPint)是可选的,那么在什么情况下会开启它?
A3:是否开启用户平面的完整性保护,是一个在安全需求与**网络性能(吞吐量、时延)**之间的权衡。通常会在以下场景开启:
- 高安全等级的业务:例如,企业专网、金融交易、关键任务通信(MC-PTT)等网络切片,对数据的防篡改要求极高,此时SMF会策略性地开启UP完整性保护。
- 不可信的传输段:如果用户数据需要经过一些被认为是不可信的传输网络段,开启完整性保护可以提供端到端的保障。
- 法规要求:在某些国家或行业,可能有法规强制要求对特定类型的用户数据进行完整性保护。
Q4:当UE从一个gNB切换到另一个gNB时,是重新生成一整套密钥树吗?
A4:不是。UE和网络会进行一次高效的“密钥更新”,而不是“密钥重建”。在切换时,源AMF会利用当前的K_AMF,为目标gNB派生出一个新的K_gNB*。这个过程可能利用NH密钥(垂直密钥派生)或直接基于旧K_gNB(水平密钥派生)。然后,目标gNB和UE再基于这个新的K_gNB*,派生出新的RRC和UP密钥。整个过程的“根”K_AMF保持不变,无需重新进行主认证,非常快速,保证了切换的无缝性。
Q5:图6.2.1-1中,KN3IWF这根枝干是做什么用的?
A5:K_N3IWF是用于非3GPP接入场景的密钥。当用户通过一个不可信的Wi-Fi网络接入5G核心网时,UE需要与核心网的N3IWF(非3GPP互通功能)网元之间建立一个IPsec安全隧道,以保护所有在Wi-Fi上传输的数据。K_N3IWF就是从K_AMF派生出来,专门用于生成这个IPsec隧道的密钥。这棵“信任之树”在这里又伸出了一根重要的枝干,将安全性扩展到了蜂窝网络之外,体现了5G融合接入的设计理念。