我有一张非接触式卡,我知道这是一张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:
所以,我的卡是DESFire卡或DESFire EV1卡。问题是,我怎样才能检测到我的卡中哪一个是精确的?
答案 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将是: