You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何理解Mifare Classic 1K访问条件并配置KeyA只读KeyB全权限

Mifare Classic 1K 访问权限配置与访问位解析

一、目标权限的直接配置方案

要实现KeyA仅读、KeyB拥有全权限(读/写/修改权限),且两者均可认证,每个扇区的尾块(如扇区0的Block3)需设置以下访问控制字节:

  • 字节6:0x00(控制当前扇区前3个数据块的权限)
  • 字节7:0x69(控制当前扇区尾块的权限)
  • 字节8:0xFF(字节6的反码,用于校验)
  • 字节9:0x96(字节7的反码,用于校验)

最终该扇区访问控制段(字节6-9)为:00 69 FF 96。搭配你的KeyA(如默认FF FF FF FF FF FF)和自定义KeyB写入尾块后即可生效。

二、C1/C2/C3访问位的核心逻辑

Mifare Classic每个扇区的尾块中,字节6-9是访问控制区:

  • 字节6+字节8(反码):管控当前扇区前3个数据块(Block0/1/2)的权限
  • 字节7+字节9(反码):管控当前扇区尾块(Block3)的权限

每3个连续bit对应一个块的权限,这三个bit就是C1、C2、C3,但需注意:存储在字节中的顺序是C3、C2、C1。比如文档中提到的C1=0, C2=0, C3=1,实际在字节里对应的二进制bit序列是100。

这些C1C2C3的组合是NXP定义的固定权限映射规则,无需纠结“来源”,只需根据目标权限查表匹配对应组合即可。例如:

  • 数据块的C1=0, C2=0, C3=1(存储为100):KeyA可读不可写,KeyB可读可写
  • 尾块的C1=0, C2=1, C3=0(存储为010):KeyA可认证但无法读写KeyB/访问位,KeyB可执行全操作

三、文档标注与示例冲突的解惑

  1. 字节6的C23/C13指向扇区3:这是文档标注错误(或翻译歧义),正确逻辑是:每个扇区的尾块访问控制字节仅对应当前扇区的4个块,字节6对应当前扇区的Block0/1/2,字节7对应当前扇区的Block3,与其他扇区无关。
  2. Block3的C1/C2/C3与表4.4不匹配:大概率是混淆了“文档逻辑顺序的C1C2C3”和“字节存储的bit顺序”。将示例中的字节7转成二进制,拆分出3个bit组后逆序排列,再与表4.4对比即可匹配。

内容的提问来源于stack exchange,提问作者Eko Muhammad Rilo Pembudi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 07:52:41