随着移动网络的发展,移动用户几乎达到了全民覆盖。移动网络为我们的衣食住行提供了高效便捷,但是无线空口的数据是否绝对安全,是否能被破解呢?今天就来谈下,无线数据的解析。
无线空口数据的解析,需要区分加密场景和非加密场景,非加密场景时可以直接通过被动式空收设备在空口进行数据捕获,再使用专有设备进行数据解析,但对于加密场景,还需要相关密钥和算法才能实现数据流解密。
1. 如何判断数据在空口是否加密?
需要通过空口的RRC信令进行确认。基站发给终端的SecurityModeCommand信令中的SecurityAlgorithmConfig部分会携带UE和基站双方协商的加密和完整性保护算法,当选择的加密算法为NEA1/NEA2/NEA3/EEA1/EEA2/EEA3时,意为空口加密,当加密算法为NEA0和EEA0时则为空加密,即不加密。
如下图所示,即为4G空口不加密的场景。
图1 4G SMC信令及参数
2. 如何对加密数据进行解密?
当空口数据是加密场景时,需要获得其加密算法和密钥,反过来再使用解密技术来解密数据流。
以4G为例,空口用户面数据加密密钥为Kupenc,根据密钥派生算法, Kupenc是由ME和eNB根据KeNB衍生的,而KeNB又是由Kasme派生的,KeNB会在特定信令中以不加密形式携带,如InitialContextSetupRequest,UEContextModificationRequest,故此我们获得解密相关关键信息的流程如下,首先要获取到KeNB,再获取空口RRC的加密算法。
图2 4G加密相关信令流程
在有些场景,如果KeNB的数据不好获取,也可以通过S6a接口的Authentication Information Answer来获取Kasme,通过Kasme再进一步派生KeNB。
然后,根据KeNB和加密算法派生出Kupenc,相关密钥的派生逻辑如下图所示。
图3 4G Kupenc派生关系逻辑图
5G空口的解密流程与4G类似,只是由KeNB变为KgNB,同时密钥的派生架构略有不同。
综上,无线空口数据并非不能破解,但是在加密的场景下,如果想要破解,则需要获取核心网的相关秘钥,这对于数据的应用权限要求是非常高的。