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 编码数据对象。
什么是历史字节,给定一个 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 编码数据对象。