傻瓜式 Mifare class 破解方法一、简述 Mifare class 为恩智浦公司(前身为飞利浦子公司)最重要的非接触 IC 卡产品,具体型 号包括 S50、S70 等(以下简称 MC) 。MC 在城市公交地铁、出租车、公园年票、美食广场 餐卡等领域,几乎全部使用/曾经使用过。目前占有国内 90%非接触卡应用市场。 现在知道,由于 MC 采用了移位寄存加密算法较为简单,因此约从 2006~2007 年开始, 就有关大学的研究人员开始分析其算法了。以下是简单的事情经过。 2007 年 12 月,K. Nohl 和 H. Plotz 在柏林举行的 CCC 会议上介绍了他们对 MIFARE Classic 芯片进行逆向工程和安全分析的部分结果, 公布了 MIFARE-Classic 卡用于认证过 程的 Classic 随机数产生方法和算法,并指出其中的 48 bit 流密码算法; 2008 年 3 月, 荷兰奈梅亨大学 (NRU ) D. Garcia 教授领导的研究小组还原出 Crypto1 F. 算法和认证方法,并找到了攻击 MIFARE-Classic 芯片系统的有效方法,并于 10 月,在 西班牙举行的 ESORICS 2008 会议上发表了他们的研究结果;2009 年英国伦敦大学的 N. T. Courtois 也提出了一种不需要预计算的卡端攻击方法。 2008 年 3 月份,NXP 公司发出律师函,并最终将上述研究者诉至荷兰地方法院,要求 其停止反向研究 mifare 技术与散布 mifare 破解技术。但是,光荣伟大正确的法院此时 没有支持 NXP 的诉讼请求,宣布此项研究合法。随着 MC 算法的被揭开,mifare 在开源 社区得到了广泛的研究, 并最终成就了一大批智能卡的软硬件开源项目, 给智能卡的发 展带来的清新的空气。 中国智能卡行业的主管部门工信部于 2008 年以密传电文的形式发文,要求国内各领域 限制与最终禁止 MC 在与国家经济相关的项目中使用。 基于以上原因,NXP 公司决定最迟于 2015 年,完全停产 MC 产品。 但是,事情正在起变化…… 二、破解 开放社区自从取得了 MIFARE 技术核心之后, 从没有停止对 mifare 技术的反向工程工作, 建筑在开放、共享的理念之上,社区进展很快,不仅解析、重构、复制了 crapto-1 算法,而 且已经开发出完全的 MC 模拟器,其中较为著名的智能卡讨论网络社区有: 等等… XXXXXXXXXXX;XXXXXXXXXX;XXXXXXXXXXXX 等等 ; 随着部分硬件厂家贡献了其硬件设计方案,MC 的破解工作最终于 2010 年取得突破性 进展,特定读卡器的支援下,完成了超级破解程序,所谓超级破解程序,就是利用常用的软 件、硬件条件,在非常短的时间情况下完成对 MC 密码的傻瓜式的破解过程。 其原理大约是重构 mifare 加密算法,模拟出一个 mifare 算法芯片,利用 MC 协议中的 漏洞(握手协议返回 ox50 加密)在已知明文,已知密文,已知算法的总体情况下利用 CPU 处理求得密钥算子。 目前已经出现 MC 破解光盘,即将破解程序封装到启动光盘,完全避免了程序编译、部 署, 一次电脑启动即可使用, 同时提高了读卡器的兼容性, 使得 MC 的破解难度进一步降低。