【问题标题】:Mifare DESFire EV1 4k Manufacturer BlockMifare DESFire EV1 4k 制造商块
【发布时间】:2016-08-22 12:21:12
【问题描述】:

我最近使用的是 Mifare Classic 1k 智能卡。我使用制造商块(扇区 0,块 0)来识别卡,因为 Mifare Classic 卡的 UID 并不是真正唯一的。

我的应用场景是我想从智能卡中读取一个标识符并将其与数据库进行比较,其中每个用户都有一个分配给他们的智能卡。因此用户可以使用他们的卡登录。

现在我必须使用新的 Mifare DESFire EV1 4k 卡。这些卡是否也有类似制造商块或只有 7 字节 UID 的东西?使用此 UID 识别卡是否安全?

【问题讨论】:

  • 取决于您所说的“identify”...您是否打算确定您的卡是一批 MIFARE Classic 或 MIFARE DESFire 卡中的一张特定卡?或者您打算确定该卡是 MIFARE Classic 还是 MIFARE DESFire?
  • 也不清楚,你想达到什么程度的安全。 张卡片也允许写入这些信息...
  • 我正在尝试编写一个软件,该软件从智能卡中读取标识符并与数据库进行比较,其中每个用户都有分配给他的智能卡。所以用户可以用他的卡登录。当我使用 Mifare Classic 卡时,我使用制造商块作为标识符,但我的公司现在改用 Mifare DESFire 卡。我正在搜索卡的序列号之类的东西,以便我可以将卡分配给用户。
  • @MichaelRoland(我不需要它,但我很感兴趣)识别它是 Mifare Classic 还是 Mifare DESFire 卡的最佳方法是什么?

标签: uniqueidentifier rfid mifare contactless-smartcard serial-number


【解决方案1】:

您可以期望 正版 MIFARE DESFire EV1 卡的 7 字节 UID 是唯一的。但请注意,DESFire EV1 卡可以配置为使用随机的 4 字节 UID。在这种情况下,UID 是为每个 RF 激活随机生成的。此类卡的7字节UID只能通过认证后使用GetCardUID命令(命令码0x51)获取。

但是,您应该注意(特别是考虑到您的用例)UID 很容易被克隆,并且不适合对卡片(或其用户)进行身份验证。另请参阅

如果您想要与 MIFARE Classic 的制造商块相媲美的东西(即显示产品类型和生产批次信息的东西),MIFARE DESFire 卡有一个GetVersion 命令(命令代码 0x60)。

最后,请注意,MIFARE Classic 卡的制造商块并不能真正提供比 UID 本身更多的唯一性。原因是制造商块的前 4 个字节是 UID 本身。下一个字节是 UID 上的校验和(因此对于具有相同 UID 的卡,它的值是相同的)。接下来的 3 个字节是 SAK 和 ATQA 值,对于所有(大多数?)MIFARE Classic 1K 卡,它们通常是“88”和“0400”。其余字节标识芯片类型(因此所有相同类型的卡都相同)和生产批次(因此至少每个批次都相同)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多