繁体   English   中英

ISO 7816-3 T=0 如何工作?

[英]How does ISO 7816-3 T=0 work?

我试图了解发送 APDU 命令-响应对的通信。 谁能以简单的方式解释 T=0 是如何工作的?

APDU和TPDU有什么区别?

例如,命令头为 CLA、INS、P1、P2 和 P3=0x20 32 字节数据。 卡片如何知道命令的第 5 个字节是 Lc 还是 Le? 卡如何知道不需要任何命令数据,以及它如何知道读卡器是否需要响应中的数据?

还有一点,过程字节什么时候参与到场景中? 是程序字节吗? 或者,过程字节? 卡是否必须发送程序字节?

APDU 是应用协议数据单元,TPDU 是传输协议数据单元。 如果已为 T=0 定义了 APDU 命令响应对,并且它同时具有命令数据和响应数据(情况 4S),则将生成单独的 TPDU 以发送和接收数据( GET RESPONSE )。 参见 ISO/IEC 7816-3 (2006) 的第 12.2.1 章。

该卡知道 P3(字节 5)的含义,因为它是服务器。 每个命令都应该以这样的方式实现,即 P3 只能具有单一含义。 ISO/IEC 7816 在这方面不符合 OSI 堆栈 - 层没有严格分开。 这是 ISO 7816 的主要问题之一。

过程字节是 T=0 传输协议的一部分。 没有在应用协议中定义,尽管它可能映射到 SW1,即状态字的第一部分。 它仅用于向接口设备 (IFD) 指示要执行的操作。 有关更多信息,请参阅 ISO/IEC 7816-3 (2006) 的第 10.3.3 章。 第10章定义了T=0,T=1不包含过程字节。

APDU 用于应用层,TPDU 用于物理层。 如果您向卡发送“00 84 00 00 08”,卡可以响应“xx xx xx xx xx xx xx xx 90 00”。 p3后面没有数据,所以p3代表le。 否则,p3 代表 lc。 但是,我认为没有必要区分 le 和 lc。

假设通信分为 3 个部分--PC 到控制器(控制器有 2 个 A 部分 MCU,通过 i2c 或 SPI 或 UART 和无线电控制器单元连接到 Rcontroller 单元)。 -控制器到无线电控制器(天线和无线电传输芯片) -无线电控制器到目标或其他 NFC 设备。 APDU 是从 PC 到控制器,TPDU 是从控制器到无线电控制器。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM