原网址:http://blog.zol.com.cn/921/article_920151.html
GSM 的加密系统里面大致涉及三种算法,A3,A5,A8,这些并不特定指代什么算法,只是给出算法的输入和输出规范,以及对算法的要求,GSM 对于每种算法各有一个范例实现,理论上并没有限制大家使用哪种算法。但是世界上的设备商和运营商都是很懒得沟通的,看到既然有了范例实现,就都拿来用了,于是全世界的 SIM 卡被XX了都一样拷法。
说到这里就不能不简单介绍一下 SIM 卡, SIM 卡是一种智能卡片,里面有个非常简单的 CPU 和一点 NVRAM,可以存储和读出数据,还可以进行一些运算。卡里面有很多内容,不过我只介绍和加密相关的。每张 SIM 卡里面一般都存着一个全球唯一的标志号,叫做 IMSI,这个是用来唯一标识你 SIM 卡的,手机在开机时候会从卡里面读出这个号发给移动网络,移动那里有一个很大的数据库,描述了 IMSI 和手机号的对应关系,于是网络就知道你的手机号是多少了(如果你手机卡[/B]丢了去补,新补来的卡 IMSI 和原有的不同,而移动数据库那里将你原来的手机号指向新的 IMSI,旧的卡就再也不能用了)除了 IMSI ,还有 16 个字节的密钥数据,这个数据是无法通过 SIM 卡的接口读出的,通常称为 Ki, Ki 在移动网络那边也保存了一份。
在手机登录移动网络的时候,移动网络会产生一个 16 字节的随机数据(通常称为 RAND)发给手机,手机将这个数据发给 SIM 卡, SIM 卡用自己的密钥 Ki 和 RAND 做运算以后,生成一个 4 字节的应答(SRES)发回给手机,并转发给移动网络,与此同时,移动网络也进行了相同算法的运算,移动网络会比较一下这两个结果是否相同,相同就表明这个卡是我发出来的,允许其登录。这个验证算法在 GSM 规范里面叫做 A3,m = 128 bit, k = 128 bit, c=32 bit,很显然,这个算法要求已知 m 和 k 可以很简单的算出 c ,但是已知 m 和 c 却很难算出 k 。A3 算法是做在 SIM 卡里面的,因此如果运营商想更换加密算法,他只要发行自己的 SIM 卡,让自己的基站和 SIM 卡都使用相同的算法就可以了,手机完全不用换。
在
关于SIM卡-GSM加密算法(转载)
最新推荐文章于 2025-09-06 02:40:20 发布
本文介绍了GSM网络中SIM卡的加密系统,包括A3、A5和A8算法的工作原理。SIM卡包含IMSI和密钥Ki,用于身份验证和通信加密。在手机登录网络时,通过RAND和Ki计算SRES和Kc,A3算法用于生成SRES,A8算法生成Kc,A5算法则用于通信过程中的数据加密。尽管A3/A5算法被视为商业机密,但1998/1999年间有人泄露了相关文档,使得这些算法变得公开。

最低0.47元/天 解锁文章
2293

被折叠的 条评论
为什么被折叠?



