GSM流量与加密:A5/1流密码
Ray Felch //
免责声明:在传输蜂窝数据前,请务必使用法拉第袋或屏蔽笼,以免意外违反法规在受管制频率上非法传输。此外,拦截和解密他人数据是违法的,因此在研究手机流量时请谨慎。
有用术语
移动电话相关:
- MS:移动站(手机)
- SIM:用户身份模块(SIM卡)
- IMSI:国际移动用户身份(用户ID)
- TMSI:临时IMSI(通过混淆ISMI保护隐私)
- Ki:128位唯一用户密钥(与IMSI配对)
基站相关:
- BTS:基站收发台(包含收发无线电信号的设备、天线,以及与基站控制器(BSC)加密解密通信的设备)
- BSC:基站控制器(处理无线信道分配,接收手机测量数据,控制BTS间切换)
核心网络相关:
- NSS:网络子系统,负责通过BSC和BTC路由呼叫
- MSC:移动交换中心(网络交换)
- VLR:访问位置寄存器(漫游该区域的移动站数据库)
- HLR:归属位置寄存器(永久用户信息主数据库)
- AuC:认证中心
变量:
- RAND:128位随机数(由AuC发送至MS,用于MS认证挑战)
- SRES:发送至MS的挑战(使用RAND + Ki + A3算法生成)
- KC:唯一生成的密钥(使用RAND + Ki + A8算法生成)
- 注意:数据使用KC + A5/1算法加密
初步信息
在深入加密过程前,需了解尽管有三种不同算法(A3、A8和A5/1),但整体过程可简化为:
- A3(认证)算法仅用于验证移动站(MS)是否有权接入网络。
- 一旦认证通过,A8(密钥生成)算法仅用于创建唯一密钥(KC),最终由MS和网络使用A5/1流密码算法实时加密/解密数据。
- A3算法、A8算法、IMSI和Ki均存在于MS(手机)SIM卡中,而A5/1流密码算法存在于MS(手机)硬件中。
- 此外,归属网络(HLR、VLR、MSC、AuC)通过其数据库访问相同信息。
典型流程
流程图01
流程:(遵循流程图01)
- 移动站(MS)请求接入网络,MS通过BSC/BTS将其IMSI发送至网络子系统(NSS)。
- MS发送的IMSI被转发至网络上的MSC,MSC将该IMSI传递至HLR并请求认证。
- HLR检查其数据库,确保IMSI属于该网络。
- 如果有效,HLR将认证请求和IMSI转发至认证中心(AuC)。
- AuC将访问其数据库,搜索与给定IMSI配对的Ki。
- AuC生成128位随机数(RAND)。
- RAND和Ki被传入A3(认证)算法,生成32位SRES(签名响应)用于挑战-响应方法。
- RAND通过BSC/BTS传输至移动站(MS)。
- MS接收的RAND与SIM卡-Ki一起传入SIM卡-A3(认证)算法,生成手机的SRES响应。
- 手机的SRES响应通过BSC/BTS传输回网络上的AuC。
- AuC比较发送的SRES与接收的SRES是否匹配。如果匹配,则认证成功。用户(MS)加入网络。
- RAND与SIM卡-Ki一起传入SIM卡-A8(密钥)算法,生成密钥(KC)。
- 生成的KC与A5(流密码)算法一起用于加密或解密数据。
- A5算法存储在手机硬件中,负责实时加密和解密数据。
安全级别
算法:
IMSI混淆:
- 用户首次加入网络时,认证中心(AuC)分配TMSI(临时IMSI),后续将替代用户IMSI使用。虽称为“临时”,但TMSI实际上与IMSI一起存储在VLR(访问位置寄存器)中。
- 当手机关闭时,手机会将TMSI保存到SIM卡上,确保再次开机时可用。
- 每次新更新(漫游、切换等)都会生成新的TMSI。TMSI用于替代IMSI以保护用户身份。
数据包截图示例:
- 位置更新请求(TMSI尚未建立)
- 认证请求
- TMSI / A5/1算法支持
总结
本文记录了我使用软件定义无线电捕获GSM流量数据包后的后续研究,旨在更好地理解GSM移动网络协议和流程,重点关注部署的认证和加密算法。
我认为,探索这一相对未被触及的攻击向量需求巨大,尤其是随着我们迈向5G技术。A5/1流密码算法至今仍在许多GSM网络中使用,历史上已被证明存在可利用漏洞,且不少网络甚至未在协议中实现加密(短信数据完全暴露)。
这些漏洞若未加防护,可能将我们的私人短信、个人数据甚至GPS位置暴露于公众。需要更多研究以确保隐私安全。从信息安全角度看,关注点可能包括中间人攻击、网络入侵等。这一领域广阔开放。
参考文献:
- https://www.sans.org/reading-room/whitepapers/telephone/gsm-standard-an-overview-security-317
- https://en.wikipedia.org/wiki/GSM
- https://payatu.com/blog_28 by https://payatu.com/blogger_by%20Rashid%20Feroze
准备好深入学习?通过Antisyphon的实惠课程提升技能! 支持随付随训的培训,提供实时/虚拟和点播选项。