Micro USB OTG reader 是否对EMV 卡进行明文离线PIN 验证?

Is Plaintext offline PIN verification on EMV card by Micro USB OTG reader?

我有 n88 micro USB OTG EMV 卡 Reader。我使用下面的应用程序读取卡数据

https://play.google.com/store/apps/details?id=sasc.android.smartcard

当我在日志中看到,CVM 列表中未将明文离线 PIN 验证列为规则。

smart card app results

我的问题是,如果我在 "read record" 阶段后尝试验证 PIN,卡会接受验证命令吗?直到现在我得到验证命令的命令无效响应。那么如果CVM列表中没有规则,是否可以进行明文PIN验证?

实际上您不应该执行 CVM 不支持的验证方法。但如果你想强制执行明文验证命令(明文离线 PIN 验证),结果将取决于特定的支付卡。例如,对于 Visa 卡,您始终可以执行明文,但万事达卡可能不允许在自己的应用程序控制字节中使用明文。

在你的情况下,卡片似乎根本不支持离线密码。

您可以立即发送验证 PIN 命令,因为在读取记录命令之后没有其他命令需要发送到卡。终端开始检查 "Processing restrictions" 然后 "Offline data authentication".

CVM根据终端和卡片参数协商选择。如果 CVM 列表不包括 PIN,当然终端不会询问 PIN(或其他方法,如签名)。

我没有看到卡的内核代码,但如果你要求卡执行PIN,当然卡会在执行前检查可能的CVM方法。所以我们可以说是的,CVM List 必须包含 PIN。