Mifare 1k值块操作

时间:2013-10-16 12:39:50

标签: nfc rfid mifare apdu contactless-smartcard

我遇到了Mifare Standard 1k卡的问题。我在地址为62的数据块上创建了一个值块(00000001FFFFFFFE0000000100FF00FF - 有效?)。值块的值应该是1,值块的地址是0。

我已将数据块2的访问位更改为:

  • C1 = 1
  • C2 = 1
  • C3 = 0

其他2个数据块具有工厂访问位。扇区预告片的访问位也改变了:

  • C1 = 0
  • C2 = 1
  • C3 = 1

那么,相应扇区(第16个扇区)的访问位是3B478C69(有效吗?)。

问题是我不能对该块执行任何值块特定功能(递增,递减等),我总是得到6A81作为响应 - > “卡被阻止或命令不受支持”。 我正在使用的APDU是FFF5C13E0400000001

1 个答案:

答案 0 :(得分:5)

OMNIKEY读者可以使用非接触式存储卡的PC / SC API扩展。这些扩展为MIFARE Classic值块的递增和递减定义的命令是:

<强>增量:

+------+------+------+------+------+-------------+
| CLA  | INS  | P1   | P2   | Lc   | DATA        |
+------+------+------+------+------+-------------+
| 0xFF | 0xD4 | BLOCK#      | 0x04 | XX 00 00 00 |
+------+------+------+------+------+-------------+

或(取决于固件版本???)具有1字节数据字段的相同命令:

+------+------+------+------+------+----+
| 0xFF | 0xD4 | BLOCK#      | 0x01 | XX |
+------+------+------+------+------+----+

<强>递减:

+------+------+------+------+------+-------------+
| CLA  | INS  | P1   | P2   | Lc   | DATA        |
+------+------+------+------+------+-------------+
| 0xFF | 0xD8 | BLOCK#      | 0x04 | XX 00 00 00 |
+------+------+------+------+------+-------------+

或(取决于固件版本???)具有1字节数据字段的相同命令:

+------+------+------+------+------+----+
| 0xFF | 0xD8 | BLOCK#      | 0x01 | XX |
+------+------+------+------+------+----+

BLOCK#: P1是块编号的MSB(始终为零),P2是块编号的LSB。

XX 的 增量/减量值。

这些命令记录在OMNIKEY Contactless Smart Card Readers Developer Guide

似乎两个命令都隐式发出传输命令来提交操作。没有记录PC / SC扩展的恢复命令,但是,恢复命令可通过OMNIKEY同步API获得。