nfc - DESFire 和 DESFire EV1 卡有什么区别?

标签 nfc smartcard mifare contactless-smartcard fingerprinting

我有一张非接触式卡,并且我知道它是 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 :

enter image description 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/

相关文章:

Android NFC Card Emulation 尝试模拟卡

ios - IOS NFC支持读银行卡吗

smartcard - 虚拟智能卡的实现

smartcard - DESFire 写入数据命令失败,出现 917E(长度错误)

mifare - desfire 命令集详细信息

android - 即使包含 Ndef 数据,也不会为 ACTION_NDEF_DISCOVERED 操作发现 NFC 标签

android - NFC - 写入 MiFare Classic 1K

android - 当我的应用程序在前台时,如何防止其他应用程序读取 NFC 标签?

android - 让 NFC/Beam 更加自动化

java - J3D081 全局平台个性化