读取EMV卡的公共数据

时间:2014-04-16 11:08:51

标签: smartcard apdu contactless-smartcard emv

说我想阅读EMV卡的公共元素。 我将列出一些我认为涉及的步骤。

1. First, select application
   In order to select application we must: 
   (1) find out AID  of application using PSE (if present)
   (2) Try existing AID list.

现在,想象一下我使用上述两种方法之一成功选择了应用程序。

我的问题是:我必须采取哪些步骤才能阅读 public 元素 EMV卡?更确切地说:我是否需要提供带有PDOL的卡并获得AIP和AFL (http://www.openscdp.org/scripts/tutorial/emv/initiateapplicationprocess.html) 使用GET PROCESSING OPTIONS和然后读出记录?

或者在选择我最初提到的应用程序后,我可以直接继续这样的事情(读出记录): link to source

2 个答案:

答案 0 :(得分:3)

支付系统的EMV规范可在http://www.emvco.com/公开获取。这些规范包含EMV兼容支付终端如何从卡读取数据的详细过程和流程,因此您可以简单地实现这些规范的相关部分。

总结一下,您通常会采取什么措施来获取存储在卡上的静态数据:

  1. 找到应用程序(如您所示)。
  2. 按AID选择应用程序。
  3. 使用READ RECORD命令读取数据文件(通常前几个文件的前几个记录包含有趣的数据)。在我到目前为止尝试的卡片上,没有要求首先发出GET PROCESSING OPTIONS命令,但是你只能通过发出GPO命令并评估卡片发送的AFL来获得与交易相关的实际文件/记录列表。但你仍然可以使用暴力破解程序查找与你相关的记录。
  4. 使用GET DATA命令读取数据元素(当然,您需要知道要查找的数据元素)。

答案 1 :(得分:2)

只是为了补充Michel的优秀答案: -

  • 在选择支付应用程序的AID之前,您无需选择PSE或PPSE,但这样做可以获得卡上显示的支付应用程序列表。如果需要,您可以安全地跳过此步骤。
  • GET DATA确实可以读取Nicolas Riousset提到的数据以及来自Visa和MasterCard的大量专有数据。您需要Visa或MC规范来了解专有数据的标签。
  • GPO读取AFL和AIP不是必需的,但如果您不使用它,则需要使用强力检查并检查所有SFI和记录。 AFL会不会更容易? PDOL不需要向卡提供真实数据 - 只需提供卡所请求的标签,其长度为'00'字节值。