Mifare PlusX 4K:是否有一致但唯一的密钥部分可用于无需身份验证的身份验证?
Mifare PlusX 4K: is there a consistent but unique part of the key that can be used for identification without authentication?
我正在尝试编写一个 PC 应用程序 (Windows, .NET),它根据一些配备 RFID 识别的卡来识别学生,以建立讲座出勤记录。目前我有一个 Stronglink SL040A RFID reader (http://www.stronglink-rfid.com/en/rfid-modules/sl040.html),它作为 HID 运行并通过一系列击键发送数据。
该系统与 Mifare 1K classic 等旧卡完美配合(甚至与 PayPass 信用卡配合使用)。然而,匈牙利当局发行的新学生卡(和身份证)包含 Mifare PlusX 4K 芯片,每次使用该卡时似乎都会发送一个新密钥。我曾尝试使用 reader 的配置工具提供的设置进行试验,但无济于事。我可以通过更改结束块参数让 1K 经典卡发送更长的密钥,但 PlusX 4K 不断发送更短且不一致的密钥。
我是一名物理学家,对这些芯片和一般的 RFID 认证没有更深入的了解——我只是想完成一开始看起来很容易的工作。我无意以任何方式破解或滥用这些卡,我只是想在卡上找到一些数据块,这些数据块在每次使用时都保持一致,不需要复杂的身份验证协议,但在不同的卡之间是唯一的。
这是否可能或者是否违背了这些芯片的理念?如果可能的话,我是要买一个新的 reader 还是我可以让它满足我的需要?
非常感谢您的想法。
来自 MiFare PlusX 4K datasheet:
Section 8.2:
There are three different versions of the PICC. The UID is programmed into a locked part
of the NV-memory reserved for the manufacturer:
• unique 7-byte serial number
• unique 4-byte serial number
• non-unique 4-byte serial number
Due to security and system requirements, these bytes are write-protected after being
programmed by the PICC manufacturer at production.
...
During personalization, the PICC can be configured to support Random ID in security
level 3. The user can configure whether Random ID or fixed UID shall be used. According
to ISO/IEC 14443-3 the first anticollision loop (see Ref. 5) returns the Random Number
Tag 08h, the 3-byte Random Number and the BCC, if Random ID is used. The retrieval of
the UID in this case can be done using the Virtual Card Support Last command, see
Ref. 3 or by reading out block 0.
根据您的描述,这些卡似乎 运行 处于安全级别 3,不幸的是,卡的向后兼容部分仅存在于较低的安全级别。上面提到的 Virtual Card Support Last 命令也只有在 3 级认证后才可用。
除非你可以使用 ISO/IEC 14443-4 协议层,否则你想做的事情恐怕是不可能的,我认为这会让你在第 3 级进行身份验证?相关数据好像在8.7节,涉及到AES认证。
我正在尝试编写一个 PC 应用程序 (Windows, .NET),它根据一些配备 RFID 识别的卡来识别学生,以建立讲座出勤记录。目前我有一个 Stronglink SL040A RFID reader (http://www.stronglink-rfid.com/en/rfid-modules/sl040.html),它作为 HID 运行并通过一系列击键发送数据。
该系统与 Mifare 1K classic 等旧卡完美配合(甚至与 PayPass 信用卡配合使用)。然而,匈牙利当局发行的新学生卡(和身份证)包含 Mifare PlusX 4K 芯片,每次使用该卡时似乎都会发送一个新密钥。我曾尝试使用 reader 的配置工具提供的设置进行试验,但无济于事。我可以通过更改结束块参数让 1K 经典卡发送更长的密钥,但 PlusX 4K 不断发送更短且不一致的密钥。
我是一名物理学家,对这些芯片和一般的 RFID 认证没有更深入的了解——我只是想完成一开始看起来很容易的工作。我无意以任何方式破解或滥用这些卡,我只是想在卡上找到一些数据块,这些数据块在每次使用时都保持一致,不需要复杂的身份验证协议,但在不同的卡之间是唯一的。
这是否可能或者是否违背了这些芯片的理念?如果可能的话,我是要买一个新的 reader 还是我可以让它满足我的需要?
非常感谢您的想法。
来自 MiFare PlusX 4K datasheet:
Section 8.2: There are three different versions of the PICC. The UID is programmed into a locked part of the NV-memory reserved for the manufacturer:
• unique 7-byte serial number
• unique 4-byte serial number
• non-unique 4-byte serial number
Due to security and system requirements, these bytes are write-protected after being programmed by the PICC manufacturer at production.
...
During personalization, the PICC can be configured to support Random ID in security level 3. The user can configure whether Random ID or fixed UID shall be used. According to ISO/IEC 14443-3 the first anticollision loop (see Ref. 5) returns the Random Number Tag 08h, the 3-byte Random Number and the BCC, if Random ID is used. The retrieval of the UID in this case can be done using the Virtual Card Support Last command, see Ref. 3 or by reading out block 0.
根据您的描述,这些卡似乎 运行 处于安全级别 3,不幸的是,卡的向后兼容部分仅存在于较低的安全级别。上面提到的 Virtual Card Support Last 命令也只有在 3 级认证后才可用。
除非你可以使用 ISO/IEC 14443-4 协议层,否则你想做的事情恐怕是不可能的,我认为这会让你在第 3 级进行身份验证?相关数据好像在8.7节,涉及到AES认证。