我获得了Mifare Classic身份验证跟踪,并且想知道是否有任何可用于获取密钥的工具或教程?
Start | End | Src | Data
---------|---------|-----|--------
0 | 4704 | Rdr | 60 00 f5 7b
6708 | 11380 | Tag | 21 91 c4 03
82240 | 83552 | Rdr | 26
249792 | 250848 | Rdr | 26
252020 | 254388 | Tag | 04 00
333568 | 336032 | Rdr | 93 20
337204 | 343092 | Tag | 45 c7 a6 23 07
446208 | 456672 | Rdr | 93 70 45 c7 a6 23 07 f8 f6
457908 | 461428 | Tag | 88 be 59
1870544 | 1875248 | Rdr | 60 00 f5 7b
1877252 | 1881924 | Tag | be fd 8b 22
1953424 | 1954736 | Rdr | 26
2120208 | 2121264 | Rdr | 26
2122452 | 2124820 | Tag | 04 00
2205152 | 2207616 | Rdr | 93 20
2208788 | 2214676 | Tag | 45 c7 a6 23 07
2317024 | 2327488 | Rdr | 93 70 45 c7 a6 23 07 f8 f6
2328724 | 2332244 | Tag | 88 be 59
2538400 | 2543104 | Rdr | 60 00 f5 7b
2545108 | 2549844 | Tag | b3 38 4c d0
2651552 | 2660864 | Rdr | 55 09 6b fe ec fa ba c2 !crc
2662100 | 2666836 | Tag | a3! bf! 4f 07
17282768 |17287536 | Rdr | ef b6 fc 33 !crc
答案 0 :(得分:3)
论文Garcia et al.: Dismantling MIFARE Classic (ESORICS 2008)应该给你一个很好的起点:
“第二个更有效的攻击使用了加密的弱点 CRYPTO1密码允许我们恢复内部状态 密码给出了密钥流的一小部分。一个人来攻击这个攻击 只需要读者进行一次或两次部分认证即可恢复 一秒钟内的密钥,在普通硬件上。这次袭击 不需要任何预先计算,只需要大约8 MB 要执行的内存。
当攻击者窃听通信时 在标签和阅读器之间,相同的方法使我们能够恢复所有 跟踪中使用的密钥并对其进行解密。这给了我们足够的 读取卡,克隆卡或将卡还原到的信息 以前的状态。我们已经成功地执行了这些攻击 真实的系统,包括伦敦牡蛎卡和荷兰人 OV-Chipkaart。“
此外,CRAPTO1 library(基于上述论文和其他一些发现)应该为您提供一个如何实现工具来从已记录的MIFARE Classic跟踪中恢复密钥的起点。
此跟踪的有趣部分是:
446208 | 456672 | Rdr | 93 70 45 c7 a6 23 07 f8 f6
这是读者的选择命令,您可以从中获取标记的UID:45 c7 a6 23
。
1870544 | 1875248 | Rdr | 60 00 f5 7b
这是一个针对扇区0的密钥A的身份验证命令。
1877252 | 1881924 | Tag | be fd 8b 22
这是标签响应认证命令发送的随机数。标签发送随机数后,命令就会中止。
2538400 | 2543104 | Rdr | 60 00 f5 7b
这是一个针对扇区0的密钥A的身份验证命令。
2545108 | 2549844 | Tag | b3 38 4c d0
这是标签响应认证命令发送的随机数。
2651552 | 2660864 | Rdr | 55 09 6b fe ec fa ba c2 !crc
这是读者的随机数(用密钥流ks 1 加密)和读者对标签挑战(随机数)的响应,基于认证密钥(用密钥流ks 2加密子>)。
2662100 | 2666836 | Tag | a3! bf! 4f 07
这是标签对基于身份验证密钥(使用密钥流ks 3 进行加密)的读者挑战(随机数)的响应。
我想知道我的计算是否正确,关键是36 ... 41
!?