经常说 EMV 卡不能被克隆。我想知道,特别是对于商品智能卡读卡器/写卡器,为什么会这样?使用商品硬件无法读取哪些特定数据,需要什么类型的硬件才能读取?
为什么无法克隆 EMV 卡?
打个比方,扩展人们所说的关于它是芯片的内容:
旧式磁条卡只是编码在卡上的一串字符,可以读取或写入,仅此而已。就像一本书的一页,你可以读它,但如果你不明白,你就不能问它问题。
EMV 芯片是一个小型微处理器。它运行特定的应用程序。您不能只阅读它所知道的内容,但您可以通过从 EMV 集中发出命令来“问”它“问题” ,然后查看它返回的内容。与磁条不同,它是交互式的,能够回答,更重要的是,拒绝回答查询。
所有这些都被简化了一点。加密显然在 EMV 中扮演着重要角色,它比你可以采访的一些小微虫要复杂得多,就像我说的那样,但本质就在那里。
就像@Lucas Kauffman 提到的那样,EMV 不是不可克隆的,但它要困难得多,至少如果你从第一原则开始的话。与许多安全问题一样,既然发现了漏洞,这些复杂的差异将开始变得越来越少,因为可以购买克隆器而无需了解它们的实际工作原理。
芯片实际上是一个可以执行计算执行指令的设备。它用于挑战响应以授权攻击者。因此不可能只克隆它们。
剑桥大学展示了针对 EMV 卡的攻击。他们发表了一篇关于它的论文,名为“Chip and Skin: Cloning EMV card with a preplay attack”。
该攻击严重依赖于银行终端使用的有缺陷的随机数生成器。还有一个关于芯片和引脚的 Defcon 演示文稿,可以在这里找到。
去年,我参加了 OWASP 分会会议,Cambrdige 高级研究员 Steven Murdoch 介绍了他们的攻击。他还指出,最近犯罪分子已经意识到,他们需要将完整的 PC 在背包中进行攻击,以减少可以放入塑料银行卡中的简单芯片(芯片本身仅长 3 毫米)。
关键是 EMV 卡不只是每次都输出相同的响应。它们是一个挑战-响应系统:它们通过从终端读取“挑战”消息,在芯片内进行一些计算,然后输出一个独特的“响应”消息来工作。如果您捕获该响应,那么您只会捕获一种可能的输出——与它发送的质询相对应的输出。由于终端不应该两次输出相同的质询并且质询应该是不可预测的,因此该捕获响应在将来应该是无用的。
为了完全克隆 EMV 芯片,您需要知道存储在其中的秘密。由于它从不传送那个秘密,因此获得它是不切实际的。
这与仅知道如何传输一个数字的其他识别技术(例如 RFID 和磁条)形成鲜明对比。在这些技术的情况下,克隆该输出相当简单。