如何解码APDU上终端和芯片之间的通信?

时间:2016-11-12 18:43:37

标签: terminal smartcard apdu smartcard-reader emv

我在APDU上的终端和芯片之间有一次通信,我需要解码该通信。

它是这样的:

Terminal: 00 B6 02 00 06 00
Chip: 49 55 7B 2C 1F 30 57 35 63 7D 24 7B 60 21
Terminal:00 B5 03 0B 04 02 00
Chip:45 43 3C 3B 4A 31 51 35 53 4B 34 2C 30 21 

据我所知,终端正在向智能卡芯片发送命令,智能卡芯片正在响应。 所以,我需要知道他们的沟通内容。它与EMV标准和APDU有关。

我该如何解码?有哪些步骤和规则?

1 个答案:

答案 0 :(得分:4)

芯片和终端之间的通信正在使用APDU。命令APDU和响应APDU。下面将介绍消息的结构。有关详细阅读,请从here下载文档(在emv世界中称为书籍)。事实上,以下是第3册的复制粘贴。如果您需要更多信息,请仔细查看并返回。

所有数据均为十六进制。

  • 命令APDU具有以下格式。
  

[Class] [指令] [参数1] [参数2] [指令长度   数据] [命令]

[最大预期数据响应的长度]

  • 响应APDU的格式为
  

[Data] [APDU执行的2字节状态(参见下面Sw1 Sw2的编码)

  • 类别字节的编码

类字节的最重要的半字节表示命令的类型。 0'行业间命令,'8'属于本规范。

  • 指令字节定义您希望执行的功能。编码的 指令字节是 enter image description here

enter image description here