选择卡和 RATS 后,我想开始身份验证。
在 mifare 文档中描述了应该发送 0A 00。该数据应该是 ISO14443-4。我必须把它框起来以适应 ISO14443-3。
块格式是这样的
PCB|CID|INF|EDC
在 PCB 中,我应该说它是 I 块、R 块还是 S 块。
我在这个线程中看到了一个例子,他发送了类似的东西:
90 0A 00 00 01 00 00
它在哪里记录了这个框架,它看起来不像 ISO14443-4 中描述的任何块
您描述的带有 I-block、R-block 或 S-block 的块格式 PCB|CID|INF|EDC 实际上是 ISO 7816-3 T=1 帧(不是 ISO 14443 帧,不是 ISO 7816-4 APDU)。这是在驱动程序级别实现的低级别 ISO 7816。
您提到的线程使用 7816 APDU。
第二个“到卡”是另一个 APDU:CLA=90 INS=AF P1=00 P2=00 Lc=10 Data=43 9D 17 8E 9A 5F BA 70 8D 23 57 10 C9 32 D5 17 Le=00。
根据 Mifare DESFire 的版本,您可以使用本机、本机包装或 ISO 7816-4 命令集样式。
7816 封装 Mifare native 命令如下: 90 [mifare native ins] 00 00 Lc [data] 00
从上面的 2 个命令中,本机命令是 0x0A(验证)和 0xAF(更多数据)。
您无法自由获取 mifare 原生命令集文档。您需要签署 NDA。但是,请查看此文档以了解更多信息:http ://www.nxp.com/documents/application_note/AN11004.pdf
另一个资源:http ://ridrix.wordpress.com/2009/09/19/mifare-desfire-communication-example/
这不是 ISO 14443 框架;它是一个 ISO 7816-4 APDU。