不同卡类型的Mifare UID

Mifare UIDs of different card types

不同类型的Mifare卡可以有相同的UID吗?

例如,是否存在具有相同UID的Mifare Classic 1K(4字节UID)和Mifare Classic 4K(4字节UID)?或者是否有具有相同 UID 的 Mifare Ultralight 和 Mifare Plus(均具有 7 字节 UID)?

这取决于您考虑的产品类型和 UID 长度。

4 字节序列号(仅限 ISO 14443 A 类,这是用于 MIFARE 产品的协议):大约有 40 亿个可能的 UID 值(2^32 = 4,294,967,296),其中一些值是保留的,而不是可用作普通 UID。但是,NXP claims 在 MIFARE 产品组中已售出超过“50 亿个非接触式和双接口 IC”。所以根据鸽巢原则,一定至少有一些重复。

此外,除了NXP之外,还有其他厂商生产4字节UID的ISO 14443 Type A芯片(有的甚至是MIFARE产品),这些厂商之间没有明确划分可用序列号范围的方案。

7字节序列号有点不同。每个制造商都分配了一组序列号(例如 NXP 序列号以 0x04 开头,Infineon 以 0x05 开头,等等)。在该块内,许多制造商(例如 NXP)保证他们只使用每个序列号一次。每个制造商都有 2^48 = 超过 280 万亿个可用 UID,因此在相当长一段时间内保持它们的唯一性应该是可能的。

除了正品tag/card产品还有

  • 假冒产品的 UID 可能与现有标签重叠(参见 this question on duplicate serial numbers of counterfeit(?) NTAG203 chips),
  • 可以编程为具有特定 UID 的标签(例如,对于 4 字节 MIFARE Classic,这些标签存在),并且
  • 可以模拟具有任意 UID 的非接触式智能卡的设备(例如嵌入到许多 Android 设备中的 Broadcom NFC 芯片组,请参阅此 and this answer)。