



免费预览已结束
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
M if a r e l 射频卡初始值及卡初始值及其相关说明相关说明 本说明是 Mifare 1 卡卡订货合同不可缺少的技术性文档附件 电气特性 电气特性 容量为 8K 位 EEPrOM 分为 16 个扇区 每个扇区为 4 块 每块 16 个字节 以块为存取单位 每个扇区有独立的一组密码及访问控制 每张卡有唯一序列号 为 32 位 具有防冲突机制 支持多卡操作 无电源 自带天线 内含加密控制逻辑和通讯逻辑电路 工作温度 20 50 工作频率 13 56MHZ 通信速率 106KBPS 读写距离 可达 10mm 与读写器以及卡天线尺寸有关 数据保存期为 10 年 可改写 10 万次 读不限次 工作原理 工作原理 卡卡片由一个卷绕天线和特定用途集成电路模块组成 其中 模块由一个高速 106KB 波特率 的 RF 接 口 一个控制单元和一个 8K 位 E2PROM 组成 读写器向 MF1 卡发出一组固定频率 13 56MHZ 的电磁波 卡卡片内有一个 LC 串联谐振电路 其频率与读写器发射的频率相同 在电磁波的激励下 LC 谐振电路产生 共振 从而使谐振电容内有了电荷 在这个电容的另一端 接有一个单向导通的电子泵 将电容内的电荷 送到模块存储电容内储存 当所积累的电荷达到 2V 以上时 此电容可作为电源向模块电路提供工作电压 将卡卡内数据发射出去或接收读写器的数据 存储结构 存储结构 MF1 卡分为 16 个扇区 每区有 4 块 块 0 块 3 共 64 块 按块号编址为 0 63 第 0 扇区的块 0 即 绝对地址块 0 用于存放芯片商 卡商相关代码 已经固化不可更改 其他各扇区的块 0 块 1 块 2 为数 据块 用于存贮用户数据 块 3 为各扇区控制块 用于存放密码 A 存取控制条件设置 密码 B 各区控 制块结构相同 如下所示 字节号 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 控制值 FF FF FF FF FF FF FF 07 80 69 FF FF FF FF FF FF 各区控制块 3 结构 说明 密码 A 0 5 字节 存取控制 6 9 字节 密码 B 10 15 字节 控制属性 控制属性 每个扇区的用户密码和存取控制条件都是独立设置的 可以根据实际需要设定各自的密码及存取控 制 在存取控制中 每个块都有三个控制位相对应 用以决定某数据块或控制块的读写条件 定义为 CXxy 见表 1 所示 其中 CX 代表每块控制位号 C1 C3 x 代表某块所属扇区号 0 15 y 代表该扇区内某块号 例如 C1x2 即为 x 扇区内块 2 的第 1 控制位 余此类推 注 控制位的设置存放在存取控制字节中 见表 2 所示 表 1 控制位定义 CXxy 块 0 C1x0 C2x0 C3x0 用户数据块 0 区 0 块除外 块 1 C1x1 C2x1 C3x1 用户数据块 块 2 C1x2 C2x2 C3x2 用户数据块 块 3 C1x3 C2x3 C3x3 密匙存取控制块 表 2 三个控制位在存取控制字节中的位置 注 b 表示取反 位号 字节号 bit 7 6 5 4 3 2 1 0 字节 6 C2x3 b C2x2 b C2x1 b C2x0 b C1x3 b C1x2 b C1x1 b C1x0 b 字节 7 C1x3 C1x2 C1x1 C1x0 C3x3 b C3x2 b C3x1 b C3x0 b 字节 8 C3x3 C3x2 C3x1 C3x0 C2x3 C2x2 C2x1 C2x0 字节 9 BX7 BX6 BX5 BX4 BX3 BX2 BX1 BX0 所属块 块3控制位 块2控制位 块1控制位 块0控制位 块3控制位 块2控制位 块1控制位 块0控制位 各扇区数据块 0 块 2 的三个控制位以正反两种形式存在于块 3 的存取控制字节中 它决定了该块的 访问权限 例如进行减值及初始化值操作必须验证 KEY A 进行加值操作必须验证 KEY B 等等 三个控 制位在存取控制字节 6 9 字节 中的权限如下 阴影区的存取控制为厂商初始值 字节 9 为备用字节 默认 值为 69 注释 表 3 中 KeyA B 表示密码 A 或密码 B Never 表示没有条件实现 表 3 数据块的存取控制权限 x 0 15 扇区 y 块 0 块 1 块 2 C1xy C2xy C3xy 读 写 加值 减值 初始化 0 0 0 KeyA B KeyA B KeyA B KeyA B 0 1 0 KeyA B Never Never Never 1 0 0 KeyA B KeyB Never Never 1 0 0 KeyA B KeyB KeyB KeyA B 0 0 1 KeyA B Never Never KeyA B 0 1 1 KeyB KeyB Never Never 1 0 1 KeyB Never Never Never 1 1 1 Never Never Never Never 例如 某区块的 3 个存取控制位 C1xy C2xy C3xy 000 时 厂商预设的初始值 见阴影区 验证密码 A 或密码 B 正确后可读出 可写入 可加值 减值及初始化操作 该初始值主要供制卡和发卡商检测心片功能 使用 确认所有读写 加密功能均正常 存取控制初始值 ff078069 请参考 步骤举例 自行验算 后 再依据 使用需要和参照表 4 表 5 设置新的存取控制权限值 进行用户数据操作和修改新的用户密码 再如当某区块 0 的存取控制位 C10 C20 C30 的设置均 100 时 验证密码 A 或密码 B 正确后可读出 其数据 只有验证密码 B 正确后才可允许改写数据 不能进行加值 减值等操作 以厂商初始值 FF 07 80 69 为例 说明存取控制条件对数据块的影响 初始存取控制默认值 C1x0 C2x0 C3x0 000 C1x1 C2x1 C3x1 000 C1x2 C2x2 C3x2 000 C1x3 C2x3 C3x3 001 和 KeyA KeyB 默认值 由厂商提供 通常为 ffffffffffff 那么块 3 中 厂商初始的存取控制值如下表所示 表 4 块 3 中厂商初始存取控制值 号表示需要取反 Bit 7 6 5 4 3 2 1 0 字节字节 6 1 1 1 1 1 1 1 1 字节字节 7 0 0 0 0 0 1 1 1 字节字节 8 1 0 0 0 0 0 0 0 CXx3 CXx2 CXx1 CXx0 CXx3 CXx2 CXx1 CXx0 如果用户要读到块 1 的内容 对照表 4 和查对表 3 可知 当存取控制 C1x1 C2x1 C3x1 000 时 必 需正确校验 KEY A 或 KEY B 后才可允许读取块 1 的内容 否则 MF1 读写器会因校验某区密码出错而无 法读取和传送数据 以此类推 用户要进行其它操作时 可根据存取条件 对照表 2 4 来决定其操作权限 表 5 列出了飞利浦公司对 MF1 卡卡的 8 种控制位设置值所对应的存取控制权限表 供发卡卡商及用户设置 MF1 卡卡使用权限时参考 其释义如下 表 5 块 3 的存取控制权限 供发卡卡商及用户设置权限时参考 控制位设置值 密码 A 权限 存取控制权限 密码 B 权限 C1x3 C2x3 C3x3 读 写 读 写 读 写 0 0 0 Never KeyA KeyA Never KeyA KeyA 0 1 0 Never Never KeyA Never KeyA Never 1 0 0 Never KeyB KeyA B Never Never KeyB 1 1 0 Never Never KeyA B Never Never Never 0 0 1 Never KeyA KeyA KeyA KeyA KeyA 0 1 1 Never KeyB KeyA B KeyB Never KeyB 1 0 1 Never Never KeyA B KeyB Never Never 1 1 1 Never Never KeyA B Never Never Never 例如 当块 3 的存取控制位 C13 C23 C33 100 时 表示 密码 A 不可读 隐藏 验证 KEYB 正确 后 可写 或更改 存取控制 验证 KEYA 或 KEYB 正确后 可读不可写 写保护 密码 B 不可读 验 证 KEYB 正确后可写 又如 当块 3 的存取控制位 C13 C23 C33 110 或者 111 时 除存取控制值需要在验证 KEYA 或 KEYB 正确后仅仅可读外 其它如存取控制值的改写 密码 A 密码 B 的读写权限均被锁死而无法访问 M F 1 卡修改各区块控制位值和数据M F 1 卡修改各区块控制位值和数据 举例 举例 一 以常用设置 08 77 8F 69 控制条件为例 先搞清楚它 具有的访问权限 1 对 08 77 8F 69 值进行计算 该值定位于各区块 3 的 6 7 8 9 四个字节内 字节 6 08 字节 7 77 字节 8 8F 字节 9 69 默认值 不予计算 2 例如 字节 6 08 对应其二进制值 00001000 则对 6 7 8 这三个字节进行二进制转换结果见下表 字节字节 6 0 0 0 0 1 0 0 0 字节字节 7 0 1 1 1 0 1 1 1 字节字节 8 1 0 0 0 1 1 1 1 3 参照表 2 及表 4 算法 字节 6 的全部二进制值取反 字节 7 的低四位二进制值取反 字节 8 不变 得到 字节号字节号 对应二进制值对应二进制值 位置位置 高高 4 位位 位置位置 低低 4 位位 字节字节 6 字节字节 7 字节字节 8 0 0 0 0 1 0 0 0 0 1 1 1 0 1 1 1 1 0 0 0 1 1 1 1 C2Y C1Y C3Y 1 1 1 1 0 1 1 1 1 0 0 0 C1Y C3Y C2Y 0 1 1 1 1 0 0 0 1 1 1 1 所所 属属 块块 位位 块块 3 块块 2 块块 1 块块 0 块块 3 块块 2 块块 1 块块 0 4 对以上 6 7 8 字节的存取 控制二进制已取反值 依照表 2 表 4 块位转换为各块控制值 如下表 块块3位位 字节字节7 字节 字节6 字节 字节8 C13 C23 C33 C1Y C2Y C3Y 0 1 1 块块2位位 块块1位位 块块0位位 字节字节7 字节 字节6 字节 字节8 C12 C22 C32 C1Y C2Y C3Y 1 1 0 字节字节7 字节 字节6 字节 字节8 C11 C21 C31 C1Y C2Y C3Y 1 1 0 字节字节7 字节 字节6 字节 字节8 C10 C20 C30 C1Y C2Y C3Y 1 1 0 注意 高 4 位的各块值 低 4 位的各块值时 其值可用 高 4 位值 低 4 位值时 其值不可用 5 查对访问权限 数据存取控制依照表 3 块 3 存取控制依照表 5 该例 08 77 8F 69 的访问权限为 块 3 011 权限为 KeyA KeyB 均不可读 验证 KeyB 正确后可改写 KeyA 和 KeyB 验证 KeyA 或 KeyB 正确后可读 控制位 在此可见密钥 KeyB 的重要性 KeyB 不正确是无法看到块 3 控制值 更无法 修改密钥 块 2 块 1 块 0 110 权限为 验证 KeyA 或 KeyB 后可读该块数据 减值以及初始化值 只有验 证 KeyB 正确后才可改写该块数据 在此可以看到密钥 KeyB 对改写数据块也起着关键性作用 二 08 77 8F 69 控制条件设置步骤 由 一 可知 KeyB 设置后为不可读 并且改写数据和改写控制位都需要正确验证它 故 KeyB 设置后程序 操作员必须妥善保管 KeyB 值 否则以后改写数据和控制位时 不正确的 KeyB 值将无法实现卡的任何操 作 1 修改块 3 控制位的值 最初的各区块 3 内的 KeyA KeyB 都是厂商 12 个 F 默认值 KeyA 在任何条件 下均为不可读 大部分读写机程序表现 KeyA 为未知的 12 个 0 在修改控制值时 先不要修改默认密码 KeyA 和 KeyB 在控制位修改成功后 再去更改新密码值 即先对块 3 的控制位进行修改 默认值 FF 07 80 69 改为新值 08 77 8F 69 并执行写操作 控制位写成功后 KeyB 亦为 12 个 0 不可读了 但仍是隐藏的 12 个 f 默认值 2 修改块 3 的 KeyA 和 KeyB 值 控制位 08 77 8F 69 值写成功后 验证 KeyB 正确后方可改写 KeyA 和 KeyB 新密码 在密码操作模式键入要改写区块之先前密码 B 先前密码为默认值时 则不需改动和加载 加载后反回数据操作模式 再进行读值 KeyA 和 KeyB 值的改写 3 修改块 0 块 2 中数据 由新的控制条件 08778F69 可知 要修改数据 必须先验证 KeyB 故先设置密 码操作为 KeyB 认证方式 加载后再返回数据操作模式 对要修改的数据块进行值的改写操作 4 上例中分析了 08 77 8F 69 的访问条件及其改写步骤 对用户的其它控制条件亦可参照应用 M F 1 卡常见问题及处理建议 M F 1 卡常见问题及处理建议 盲目操作 造成某些区块误操作被锁死不能再使用 应当仔细参考表 3 表 5 的控制权限后 予先得出 操作后的结果是否适合使用要求 并且列出操作顺序表单再操作 最好授权程序员对块 3 的设置作专人操 作 丢失密码 再读写时造成密码认证出错而不能访问卡 特别要求在对 MF 卡进行块 3 编程操作时 必 须及时记录相关卡号的控制值 KeyA KeyB 等 而且应当有专人管理密码档案 错误设置 对 MF1 卡的块 3 控制块了解不透彻 错误的理解造成设置造成错误的设置 依照表 2 可知 目前 Mf1 卡的控制块仅只有 8 种数据块访问控制权限和 8 种控制块设置权限 超出这 16 种权限的其他代 码组合 将直接引起错误设置而使卡片报废 极端权限 当块 3 的存取控制位 C13 C23 C33 110 或者 111 时 称为极端权限 除特殊应用外一般不 被使用 启用前认真权衡对密码读写 存取控制的锁死是否必要 否则 数据加密后即使有密码也无法读取 被锁死的数据区块 看不见 设备低劣 低劣的设备将直接影响卡的读写性能 对 MF 卡进行块 3 编程操作的设备 特别要求其性 能必须十分可靠 运行十分稳定 建议选用由飞利浦公司原装读写模块构建的知名读写机具 编程干扰 在对块 3 进行编程操作时 不可以有任何的 IO 中断或打扰 包括同时运行两个以上程序干 扰甚至 PC 机不良的开关电源纹波干扰等 否则 不成功的写操作将造成某个扇区被锁死的现象 致使该 扇区再次访问时出错而报废 数据出错 在临界距离点上读卡和写卡造成的 通常的读卡 特别是写卡 应该避免在临界状态 刚能 读卡的距离 读卡 因为临界状态下的数据传送是很不稳定的 容易引起读写出错 人为失误 例如 密码加载操作失误 误将 KeyA 加载为 KeyB 或者是误将其他制卡厂约定的初始密 码值如 a0a1a2a3a4a5 b0b1b2b3b4b5 加载到本公司生产的 MF1 卡内 或者在初始状态下 密码 A 000000000000 隐藏状态 实际为 ffffffffffff 控制位 FF 07 80 69 密码 B ffffffffffff 可见 若不经 意地将 KeyA 000000000000 删除后又重新输入 12 个 0 并加载了它 这时无意中已将 KeyA 原来 12 个隐 藏的 f 修改成了 12 个 0 其后果可想而知 卡片失效 读写均无数据传送 读写器报告 寻卡错误 卡片被超标扭曲 弯曲而造成内电路断裂 读写距离过近 与用户使用的读写器性能有关 标准型 MF1 卡的读写距离可达 10cm 在飞利浦公司的 标准读写机具上测试的最大距离 国产知名品牌读写器一般可达 5 10cm 尺寸较小的匙扣卡 其读写距 离当然比标准卡近许多 但只要可靠的读写距离 5 10mm以上 一般不会影响正常使用 制卡厂商责任与义务制卡厂商责任与义务 1 MF1 卡相关控制位的算法与设置 依据于飞利浦公司的 Mifera 1 IC S50 的 PDF 原始文档 本文 档仅供客户参考 如有不当之处 应以原始文档为准 客户可重点对照参考第 12 15 页的原始英文说明 2 MF1 卡芯片
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论