DESFire和DESFire EV1卡的区别是什么?

时间:2016-10-18 06:46:21

标签: nfc smartcard mifare contactless-smartcard fingerprinting

我有一张非接触式卡,我知道这是一张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后,我发现了以下信息here

enter image description here

所以,我的卡是DESFire卡或DESFire EV1卡。问题是,我怎样才能检测到我的卡中哪一个是精确的?

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

您可以通过主要硬件版本号来识别您的卡类型

Reader       Card
 60      -> 
         <-  AF 04 01 XX HH LL XX 05
 AF      ->
         <-  AF 04 01 01 XX XX XX 05
 AF      ->  
         <-  00 XX XX XX XX XX XX XX XX XX XX XX XX XX XX

HH将是:

  • 0x00 = DESFire(MF3ICD40)
  • 0x01 = MIFARE DESFire EV1
  • 0x12 = MIFARE DESFire EV2
相关问题