2 S1接口如何解密?是否抓取到了S6a接口的密钥就可以解密? 查阅了相关文档,个人理解是这样的。先做个总结。 终端用户和网络侧安全相关的事件主要有3个。1是鉴权,2是加密,3是完整性保护。其中1鉴权是必选的。2和3是可选的。 这里首先要说的就是用户的根密钥K,K是USIM卡的根密钥,可用于鉴权,并可用于生成IK和CK,用于加密和完整性保护。是128位的长度。而GSM的用户根密钥才用的是Ki,只有64位长度,根据Ki同样可以计算出Kc用于加密和完整性保护。LTE采用的是USIM卡的根密钥K,128位。所以理论上2G用户过渡到4G是需要换SIM卡的,即换成标准的USIM卡。如果实在不想换卡,则需要采用4G的定制终端,采用伪4元组鉴权加密方案实现。参考百度文库这篇文章:http://wenku.baidu.com/link?url=CNhB2_-wygGCgHYJPtpV4yEzG8Y_DRnBX1LGwbhNDfUiTPtw80x0_bV0NRBCzhhXEULCtqTpYT_ffwWR-o00NLZ3KTzR9C_AgepUQ63-rZe。TD-LTE号码和卡方案浅析。 需要说明的是,根密钥K是运营商共享的,只保存在USIM卡和AUC中,并不在网络当中传递,所以要抓包抓到K是不可能的。 先说鉴权: 1 鉴权:鉴权实际上是比对网络侧的计算结果XRES和UE的计算结果RES。其中XRES由AUC生成,附着时下发给MME。RES由UE生成,计算所需的RAND由MME下发。 XRES=用户的根密钥K+RAND随机数+F2函数生成。其结果保存在AUC上,并在附着过程中下发给MME。 RES=用户的根密钥K+RAND随机数+F2函数生成。 两者比对,鉴权通过。 (LTE的鉴权向量四元组包括RAND、XRES、Kasme和AUTN。其中发给终端的是RAND、AUTN和3位标识KSIasme。) (由于计算RES的根密钥K不在网络中传递,所以要仿制Usim卡冒充鉴权比较难。 再说加密和完整性保护。 2 加密: LTE中用于NAS信令加密的密钥称之为Knasenc,用于用户面加密的密钥是Kupenc。 UE侧:根据根密钥K--->CK--->Kasme--->Knasenc。用于NAS信令加密 根据根密钥K--->CK--->Kasme--->Kenb---->Kupend。用于用户数据的加密。 网络侧: MME:根据根密钥K---CK--->Kasme----Knaenc。用于NAS信令加密。(通过NAS SMC security mode control)过程协商完成。 eNodeB侧:根据根密钥K---CK---Kasme----KeNB---Kupend用于用户面数据的加密。 其中Kenb是在UE从ECM-IDLE进入ECM-Connected时由UE和MME各自根据上行的NAS信令COUNT和KASME计算得到的。MME将计算得到的KeNB在S1AP Initial Context Setup Request消息中传送给eNB。 NAS加密所需要的所有输入和过程是: Knasenc+NAS信令序列号+SRB ID+方向+长度+算法(EEA1/EEA2/EEA3)+SMC流程协商好的密钥块(KeyStream Block)+明文NAS消息===加密后的密文。 NAS信令解密的过程则相反。 所以,S1接口的解密必要条件是,能够破解EEA1/EEA2/EEA3算法,并且能够得到密钥Knasenc。由于Knasenc通过Kasme生成。所以理论上是可以解密的。但还要能够破解算法。 论坛又一篇帖子在讨论这个,供参考。http://www.gprshome.com/thread-4608-1-1.html |