DESFire和DESFire EV1卡有什么区别?

Bra*_*rad 3 smartcard nfc fingerprinting mifare contactless-smartcard

我有一张非接触式卡,我知道它是一张MIFARE卡.我没有文档,也没有身份验证密钥.重置后,我收到了以下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  

在谷歌上面搜索ATS之后,我在这里找到了以下信息:

在此输入图像描述

所以,我的卡是DESFire卡或DESFire EV1卡.问题是,如何才能检测到我的卡中的哪一张正好?

Mic*_*and 6

MIFARE DESFire EV1是MIFARE DESFire的后续产品.DESFire EV1增加了对新加密算法(特别是AES)的支持,并提高了加密操作对MIFARE DESFire已知的旁道攻击的安全性.

您可以通过向卡发送GetVersion命令(命令代码0x60)来区分这两个版本.

如果您使用的是本机命令模式,则类似于:

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包装的本机命令集:

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