MIFARE 的 ATS 中的历史字节是什么以及在哪里?

What and where are historical bytes in a MIFARE's ATS?

什么是历史字节,给定一个 ATS 值,你怎么知道哪些字节是 "historical"?

在我的特殊情况下,我有一张 MIFARE DESFire 卡的 ATS。 ATS 为 75 77 81 02 80。根据我的理解,DESFire 应该没有历史字节,但如果存在这些字节,我将如何识别它们在 ATS 中的位置?

历史字节是接口字节之后ATS的所有剩余字节(当然CRC字节除外)。在您的示例中,ATS 似乎解码为

  • T0 = 75h: Y(1) = 7h 且 FSCI = 5h,因此有 TA(1)、TB(1) 和 TC(1) 三个接口字节。
  • TA(1) = 77h
  • TB(1) = 81h
  • TC(1) = 02h
  • 剩余字节 = 80h = 历史字节

历史字节的含义在ISO/IEC 7816-4 中定义。对于您的情况,该标准描述:

If the first historical byte is set to [...] '80' the remaining historical bytes shall consist of optional consecutive COMPACT-TLV data objects; the last one may carry a status indicator in COMPACT-TLV format

在您的情况下,没有这样的 COMPACT-TLV 编码数据对象。