3

假设我想阅读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.

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

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

或者像我最初提到的那样选择应用程序后,我可以直接进行这样的事情(读取记录): 链接到源

4

2 回答 2

4

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

总而言之,您通常会做什么来获取存储在卡上的静态数据:

  1. 找到应用程序(如您所示)。
  2. 通过 AID 选择应用程序。
  3. 使用 READ RECORD 命令读取数据文件(通常前几个文件的前几条记录包含感兴趣的数据)。到目前为止,在我尝试过的卡上,不需要先发出 GET PROCESSING OPTIONS 命令,但您只能通过发出 GPO 命令并评估卡发送的 AFL 来获取与交易相关的实际文件/记录的列表。但是您仍然可以使用蛮力方法来查找与您相关的记录。
  4. 使用 GET DATA 命令读取数据元素(当然您需要知道要查找的数据元素)。
于 2014-04-16T15:08:36.807 回答
2

只是为了增加米歇尔的出色回答: -

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