5G注册流程中的两个安全激活分界点
5G注册流程中最容易被忽略、也最容易混淆的,是安全激活的两个分界点:NAS加密从哪条消息开始,以及AS空口加密从哪条消息开始。把这两条消息看清楚,整个注册流程的安全架构就串起来了。
1. 分界点①:NAS加密起点
注册流程进行到第9条消息,AMF向UE下发 NAS Security Mode Command。这条消息本身的处境很特殊:
- 它只有完整性保护、不加密。因为此时UE和AMF刚刚完成主认证、派生出NAS安全密钥,正是靠这条消息把选定的NEA/NIA算法协商下去——“用来建立加密的钥匙信”,自己还没法被加密,否则就成了先有鸡还是先有蛋的死循环。
- 它必须能被完整性保护校验通过,UE才能确认这条命令没有被攻击者篡改(尤其防”算法降级”类攻击)。
紧接着的第10条消息,UE回的 NAS Security Mode Complete,就是第一条NAS加密消息。以此为界:
- 此后所有NAS信令——注册、PDU会话建立/修改、鉴权等各类流程——一律采用协商好的NEA算法加密、NIA算法做完整性保护;
- NAS加密是端到端的:UE ↔ AMF,中间的gNB对NAS消息”看得到、解不开”。
2. 分界点②:AS空口加密起点
NAS安全激活完成后,进入AS层的激活。第13条消息,gNB向UE下发 RRC Security Mode Command,这条消息同样特殊:
- 它跑在SRB0上,是明文传输。SRB0只承载RRC连接建立阶段的初始信令,此时SRB1还没建立,更没有AS安全上下文可用。
- 和NAS SMC同理,它是”用来激活加密的命令”,自身只能先行明文,靠后续密钥推导校验来防篡改。
第14条消息,UE回的 RRC Security Mode Complete,是第一条AS加密消息,此时已经走在新建立的SRB1上。以此为界:
- 此后SRB1、SRB2上的RRC信令均在PDCP层加密+完整性保护;
- 所有DRB承载的用户面数据,同样在PDCP层做NEA加密+NIA完整性保护;
- AS安全是UE ↔ gNB之间的,加密在空口的PDCP层终结。
3. 两条分界线放在一起看
| 分界点① NAS | 分界点② AS | |
|---|---|---|
| 激活命令 | 第9条 NAS Security Mode Command | 第13条 RRC Security Mode Command |
| 命令本身 | 仅完整性保护、不加密 | SRB0上明文 |
| 第一条加密消息 | 第10条 NAS Security Mode Complete | 第14条 RRC Security Mode Complete |
| 保护范围 | 其后所有NAS信令(注册、PDU会话等) | 其后SRB1/SRB2的RRC信令 + 所有DRB用户面数据 |
| 保护位置 | UE ↔ AMF 端到端 | PDCP层,UE ↔ gNB |
一句话总结:两条”Security Mode Command”都不加密,两条”Security Mode Complete”都是各自安全域的第一条加密消息——前者是钥匙信,后者才是上了锁的第一封信。NAS这把锁锁在UE和AMF之间,AS这把锁锁在空口的PDCP层。