5G中“加密和完整性保护算法”是指网络侧通过"SECURITY MODE COMMAND"消息,命令终端(UE)激活接入(AS)网络的信令和数据承载安全性,避免数据信息在空中泄露。无线网络(RAN)是在信令无线信令承载(SRB2)和数据承载 (DRB) 建立之前启动该过程的。
图1.通过N1接口进行的加密和完整性保护流程
一、5G终端加密和完整保护性算法
无线网络接入(AS)安全性包括RRC信令(SRB)完整性保护,RRC信令(SRB)和用户面数据(DRB)的加密。完整性保护算法用于信令无线承载SRB1和SRB2,加密算法对于所有无线承载(即SRB1,SRB2和DRB)全部通用。
*SRB0不使用完整性保护和加密算法。
5G网络(RAN)通过空口向UE发送加密和完整性保护“SECURITY MODE COMMAND”消息,其中包括:Selected EPS NAS安全算法IE;选择的EPS NAS安全算法应设置为EIA0和EEA0。
终端(UE)收到消息后,将根据SECURITY MODE COMMAND内容处理;将在消息ngKSI IE中设置为“000”的ngKSI值,把5G-IA0和5G-EA0作为选定的NAS安全算法;另在安全模式下创建本地生成的KAMF启动控制程序:
二、终端加密和完整算法流程
5G系统空口加密和完整保护性算法继承了3G和4G模式;终端在RRC连接完成之后,无线网向终端(UE)发出"SECURITY MODE COMMAND"命令;根据消息中的加密和完整性保护算法执行完毕后,终端回复“SECURITY MODE COMPLETE"。
图2.终端加密和完整性保护消息
三、SECURITY MODE COMMAND消息注释
3.1 securityModeCommand--SMC命令
UuMsg
message
t = c1
t = securityModeCommand(SMC命令)
rrc_TransactionIdentifier = 2(RRC传输ID=2)
criticalExtensions
t = securityModeCommand
tOptFlags
lateNonCriticalExtensionPresent = 0
nonCriticalExtensionPresent = 0
securityConfigSMC(加密模式配置)
securityAlgorithmConfig(加密算法配置)
tOptFlags
integrityProtAlgorithmPresent = 1(完整性保护性算法=是)
cipheringAlgorithm = 2 : CipheringAlgorithm_Root_nea2(加密算法=nea2)
integrityProtAlgorithm = 2 : IntegrityProtAlgorithm_Root_nia2(完整性保护性算法=nia2)
3.2 SecurityModeComplete(加密完成)
UuMsg
message
t = c1
u
securityModeComplete(加密完成)
rrc_TransactionIdentifier = 2(RRC传输ID=2)
criticalExtensions
t = securityModeComplete
tOptFlags
lateNonCriticalExtensionPresent = 0
nonCriticalExtensionPresent = 0