【发布时间】:2020-07-01 03:45:24
【问题描述】:
在非接触式和接触式读卡器上的同一张卡中,ATS 和 ATR 应该相同吗? 双接口卡上的 JavaCard 应用程序以不同的 ATS 和 ATR 响应是否会影响该小程序的执行?
这里还有另一个问题:Difference between contact card and contactless(RF) card 这似乎表明如果它们使用相同的传输协议,它们可以是相同的。
举一个具体的例子,我有一个 JavaCard J3H145,它通过非接触式阅读器和接触式阅读器提供不同的 ATR(通过 pcsc_scan 显示)。这是否意味着读者自己在做某事(the Identiv 3700f)?我有几个 javacard 小程序可以通过接触而不是非接触方式工作。当我通过 pcscd 跟踪 ADPU 时,所有内容都是 Attempting PTS to T=1(是否需要来自 T=CL 的读者翻译?)。
编辑:补充研究
有一些相关的问题开始讲述这个故事:
详细说明ATR与ATQ-A与ATQ-B之间的转换过程,同时
- Smartcard with different historical bytes depending on interface
- How to change applet's privilege and the card Historical Bytes?
表明可以从 GP API 更改历史字节(因此 ATS/ATR 是可编辑的),所以我认为有一种方法可以手动修复它们。
我也在 PN532 屏蔽上测试了 J3H145(测试我的特定读者翻译),我得到了一个看似被截断的 ATR: 3B 80 80 01 01 (ISO 14443 Type B without historical bytes) 和过度接触(当一切正常时!)ATR: 3B DC 18 FF 81 91 FE 1F C3 80 73 C8 21 13 66 05 03 63 51 00 02 50 (JCOP3 SecID P60 CS (JavaCard))
为了完整起见,我正在尝试在非接触式接口上运行https://github.com/ANSSI-FR/SmartPGP,这目前适用于双接口卡上的接触式接口。 ATR/ATS的差异是罪魁祸首吗?
【问题讨论】:
标签: smartcard javacard contactless-smartcard globalplatform