我有一张非接触式卡,并且我知道它是 MIFARE 卡。我没有文件,也没有身份验证 key 。重置后,我收到以下 ATS:
myubuntu@lol-MS-7693:~$ nfc-list nfc-list uses libnfc 1.7.1 NFC device: ACS / ACR122U PICC Interface opened 1 ISO14443A passive target(s) found: ISO/IEC 14443A (106 kbps) target: ATQA (SENS_RES): 03 44 UID (NFCID1): 04 8c 4c 92 e9 48 80 SAK (SEL_RES): 20 ATS: 75 77 81 02 80
在google中搜索上述ATS后,我发现了以下信息here :
所以,我的卡是 DESFire 卡或 DESFire EV1 卡。问题是,我怎样才能检测出我的两张卡到底是哪一张呢?
最佳答案
MIFARE DESFire EV1 是 MIFARE DESFire 的后续产品。 DESFire EV1 增加了对新加密算法(特别是 AES)的支持,并提高了加密操作的安全性,以抵御以 MIFARE DESFire 闻名的旁道攻击。
您可以通过向卡发送GetVersion命令(命令码0x60)来区分这两个版本。
如果您使用 native 命令模式,这将类似于:
READER ---> CARD: 60 CARD <--- READER: AF 04 01 XX XX XX XX 05 READER ---> CARD: AF CARD <--- READER: AF 04 01 01 HH LL XX 05 READER ---> CARD: AF CARD <--- READER: 00 XX XX XX XX XX XX XX XX XX XX XX XX XX XX
字节HH
包含主要软件版本,对于DESFire是0x00,对于DESFire EV1是0x01。
如果您使用 PC/SC 读卡器与卡通信,您可能需要使用 DESFire APDU 封装的 native 命令集:
READER ---> CARD: 90 60 00 00 00 CARD <--- READER: 04 01 XX XX XX XX 05 91 AF READER ---> CARD: 90 AF 00 00 00 CARD <--- READER: 04 01 01 HH LL XX 05 91 AF READER ---> CARD: 90 AF 00 00 00 CARD <--- READER: XX XX XX XX XX XX XX XX XX XX XX XX XX XX 91 00
关于nfc - DESFire 和 DESFire EV1 卡有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40101316/