2

我正在尝试使用 DESfire EV1 卡进行身份验证,但该卡没有回复。在尝试进行身份验证之前,我刚刚格式化了卡并创建了一个新应用程序,选择了新应用程序并且需要在创建文件之前进行身份验证。

这是从格式到失败的通信:

Format card to start over
bsp_mifare --> 0b 01 90 fc 00 00 00 (tranceive, 56 bits)
bsp_mifare <-- fa 01 01 (24 bits)
bsp_mifare --> fa 01 01 (tranceive, 24 bits)
bsp_mifare <-- fa 01 01 (24 bits)
bsp_mifare --> fa 01 01 (tranceive, 24 bits)
bsp_mifare <-- fa 01 01 (24 bits)
bsp_mifare --> fa 01 01 (tranceive, 24 bits)
bsp_mifare <-- fa 01 01 (24 bits)
bsp_mifare --> fa 01 01 (tranceive, 24 bits)
bsp_mifare <-- fa 01 01 (24 bits)
bsp_mifare --> fa 01 01 (tranceive, 24 bits)
bsp_mifare <-- 0b 01 91 00 (32 bits)
bsp_mifare --> 0a 01 90 0a 00 00 01 00 00 (tranceive, 72 bits)
bsp_mifare <-- 0a 01 ad 51 73 29 dc 6e 33 cf 91 af (96 bits)
bsp_mifare --> 0b 01 90 af 00 00 10 2e 4a 13 9c a9 d4 23 61 25 28 48 ce 2c 73 2c 70 00 (tranceive, 192 bits)
bsp_mifare <-- 0b 01 fc 25 2e 4f 00 c3 86 e8 91 00 (96 bits)
Create application with default AES key
bsp_mifare --> 0a 01 90 ca 00 00 05 33 22 11 0b 84 00 (tranceive, 104 bits)
bsp_mifare <-- 0a 01 91 00 (32 bits)
Select application...
bsp_mifare --> 0b 01 90 5a 00 00 03 33 22 11 00 (tranceive, 88 bits)
bsp_mifare <-- 0b 01 91 00 (32 bits)
Authenticate...
bsp_mifare --> 0a 01 90 aa 00 00 01 00 00 (tranceive, 72 bits)
bsp_mifare <-- (0 bits)
bsp_mifare --> 0a 01 90 aa 00 00 01 00 00 (tranceive, 72 bits)
bsp_mifare <-- (0 bits)
Failed to authenticate with null AES key: 0x00

如果我尝试使用无效的密钥编号(例如,当 num_keys 为 4 时为 6)进行身份验证,我会收到“没有这样的密钥”回复,因此卡至少部分理解了我的请求。

所以我的问题是,这个“身份验证开始”命令有什么问题:

bsp_mifare --> 0a 01 90 aa 00 00 01 00 00 (tranceive, 72 bits)

(显示的数据是原始数据,包括换行。实际的本机命令是“aa 00”)。

4

1 回答 1

0

事实证明这是一个硬件故障:AES 命令需要比 DES/Crypto1 更多的功率(多 50%),而天线无法在我测试的读取范围内提供这些功率。将卡移近可以解决问题。

于 2013-06-10T07:44:13.733 回答