gpt4 book ai didi

rfid - 使用 APDU C# 设置自己的身份验证 key MiFare Classic

转载 作者:行者123 更新时间:2023-12-04 22:04:50 24 4
gpt4 key购买 nike

我正在使用 CardWerk 的 SMARTCARD API。

如何使用 APDU 更改默认 key ( (byte)0xFF, (byte)0xFF, (byte)0xFF, (byte)0xFF, (byte)0xFF, (byte)0xFF )?

APDU 由 CLASS、INSTRUCTION、P1、P2 组成。
我一直在阅读文档,但找不到将实际 key 更改为新 key 所需的参数。

最佳答案

修改 MIFARE Classic 卡的 key 的过程是这样的:

  • 向要更改 key 的 secor 进行身份验证。
  • 使用正常的读取操作读取扇区尾部(或生成包含所需访问字节的新扇区尾部)。扇区尾部是扇区的最后一个 block (即对于 MF Classic 1K,每个扇区的 block 3)。
  • 用新 key 填充扇区尾部。请注意,您将无法在第 2 步中读取当前 key ,因此您必须填写 key A 和 key B(如果存在),即使您希望它们保持与以前相同!)
  • 使用正常的写入操作写入扇区尾部。
  • 向另一个扇区进行身份验证(如果您希望更改立即生效)。

  • 扇区预告片的格式如下:
    xx xx xx xx xx xx zz zz zz gg yy yy yy yy yy yy

    在哪里 xx xx xx xx xx xx是键 A, yy yy yy yy yy yy是键 B 和 zz zz zz是强制执行基于 key 的访问权限的访问字节。 gg是一个没有特定含义的通用字节,除非您使用 MIFARE 应用程序目录或 NXP 的 NDEF 映射来使用 MIFARE Classic 作为 NFC 标签)。

    警告将访问字节设置为无效值将使卡无法访问!

    示例扇区预告片可能如下所示:
    FF FF FF FF FF FF 78 77 88 00 FF FF FF FF FF FF

    访问条件意味着您可以使用 key A 读取并使用 key B 读取/写入。

    由于 MIFARE Classic 卡不使用 APDU,因此很难为此提供现成的 APDU 命令。 (MIFARE Classic 卡是非接触式存储卡,使用其专有的非接触式协议(protocol)和符合 PC/SC 的智能卡读卡器通常仅将这些专有的内存访问命令映射到 APDU。)

    但是,如果您的阅读器支持存储卡的 PC/SC 2.01 命令,则命令可能如下所示:
  • 加载 key xxxxxxxxxxxx键入插槽 0(取决于您的阅读器,您可能需要在 P2 中编码不同的插槽编号;请记住在这种情况下调整身份验证命令):
    FF 82 2000 06 xxxxxxxxxxxx
  • 使用该 key 作为 key A 验证扇区 0:
    FF 86 0000 05 01 0000 60 00
  • 使用该 key 作为 key B 验证扇区 0:
    FF 86 0000 05 01 0000 61 00
  • 为扇区 0(在 block 3 中)编写新的扇区尾部:
    FF D6 0003 10 xxxxxxxxxxxx zzzzzz gg yyyyyyyyyyyy
  • 关于rfid - 使用 APDU C# 设置自己的身份验证 key MiFare Classic,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23616263/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com