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

Mar*_*743 2 terminal apdu smartcard emv smartcard-reader

我在 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 
Run Code Online (Sandbox Code Playgroud)

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

我怎样才能解码它?有哪些步骤和规则?

Ada*_*anu 5

芯片和终端之间的通信使用APDU。命令 APDU 和响应 APDU。下面将向您介绍消息的结构。如需详细阅读,请从此处下载文档(这些文档在 emv 世界中称为书籍)。事实上,以下内容是从第三本书中复制粘贴的。请详细查看,如果您需要更多信息,请回来。

所有数据均为十六进制。

  • 命令 APDU 具有以下格式。

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

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

  • 响应 APDU 的格式为

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

  • 类字节的编码

类字节的最高有效半字节指示命令的类型。0' 行业间命令,'8' 本规范专有。

  • 指令字节定义您想要执行的功能。指令字节的编码是 在此输入图像描述

在此输入图像描述