mifare卡的初值说明及使用方法

上传人:飞*** 文档编号:47313616 上传时间:2018-07-01 格式:PDF 页数:5 大小:65.74KB
返回 下载 相关 举报
mifare卡的初值说明及使用方法_第1页
第1页 / 共5页
mifare卡的初值说明及使用方法_第2页
第2页 / 共5页
mifare卡的初值说明及使用方法_第3页
第3页 / 共5页
mifare卡的初值说明及使用方法_第4页
第4页 / 共5页
mifare卡的初值说明及使用方法_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《mifare卡的初值说明及使用方法》由会员分享,可在线阅读,更多相关《mifare卡的初值说明及使用方法(5页珍藏版)》请在金锄头文库上搜索。

1、Mifare l射频 卡初始值及 其相关说明【本说明是Mifare 1 卡订货合同不可缺少的技术性文档附件】 电气特性:容量为 8K 位 EEPrOM; 分为 16 个扇区,每个扇区为4 块,每块16 个字节,以块为存取单位; 每个扇区有独立的一组密码及访问控制; 每张卡有唯一序列号,为32 位; 具有防冲突机制,支持多卡操作; 无电源,自带天线,内含加密控制逻辑和通讯逻辑电路; 工作温度: -2050; 工作频率: 13.56MHZ ; 通信速率: 106KBPS; 读写距离:可达10mm( 与读写器以及卡天线尺寸有关); 数据保存期为10 年,可改写10 万次,读不限次。工作原理:卡片由一

2、个卷绕天线和特定用途集成电路模块组成。其中,模块由一个高速(106KB 波特率 )的 RF 接口。一个控制单元和一个8K 位 E2PROM 组成。读写器向MF1 卡发出一组固定频率(13.56MHZ) 的电磁波,卡片内有一个LC 串联谐振电路, 其频率与读写器发射的频率相同,在电磁波的激励下,LC 谐振电路产生共振,从而使谐振电容内有了电荷,在这个电容的另一端,接有一个单向导通的电子泵,将电容内的电荷送到模块存储电容内储存,当所积累的电荷达到2V 以上时, 此电容可作为电源向模块电路提供工作电压,将卡内数据发射出去或接收读写器的数据。存储结构:MF1 卡分为 16 个扇区,每区有4 块(块 0

3、块 3),共 64 块,按块号编址为063。第 0 扇区的块0(即绝对地址块0)用于存放芯片商,卡商相关代码,已经固化不可更改。其他各扇区的块0,块 1,块 2 为数据块,用于存贮用户数据;块3 为各扇区控制块,用于存放密码A,存取控制条件设置,密码B。各区控制块结构相同,如下所示:各区控制块3 结构字节号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 说明密码 A(05 字节 ) 存取控制 (69 字节 ) 密码 B(1015 字节 ) 控制属性:每个扇区的用户密

4、码和存取控制条件都是独立设置的,可以根据实际需要设定各自的密码及存取控制。在存取控制中,每个块都有三个控制位相对应,用以决定某数据块或控制块的读写条件,定义为:“CXxy“ ,见表 1 所示。其中 CX 代表每块控制位号(C1C3),x 代表某块所属扇区号(0 15), y 代表该扇区内某块号。例如C1x2 即为 x 扇区内块2 的第 1 控制位,余此类推。注:控制位的设置存放在存取控制字节中,见表2 所示。表 1:控制位定义“CXxy“ 块 0 C1x0 C2x0 C3x0 用户数据块, (0 区 0 块除外 ) 块 1 C1x1 C2x1 C3x1 用户数据块块 2 C1x2 C2x2 C

5、3x2 用户数据块块 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控

6、制位块 2控制位块 1控制位块 0控制位块 3 控制位块 2 控制位块 1控制位块 0控制位各扇区数据块0块 2 的三个控制 位以正反两种形式存在于块3 的存取控制 字节中,它决定了该块的访问权限 (例如进行减值及初始化值操作必须验证KEY A ,进行加值操作必须验证KEY B ,等等 )。三个控制位在存取控制字节(69 字节 )中的 权限 如下 (阴影区的存取控制为厂商初始值;字节 9 为备用字节, 默认值为 69):注释:表3中, KeyA|B 表示密码A 或密码 B, Never 表示没有条件实现。表 3:数据块的存取控制权限(x=0 15 扇区;y=块 0,块 1,块 2) C1xy

7、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 时(

8、厂商预设的初始值,见阴影区),验证密码A 或密码 B 正确后可读出 /可写入 /可加值 /减值及初始化操作。该初始值主要供制卡和发卡商检测心片功能使用, 确认所有读写/加密功能均正常(存取控制初始值“ff078069“ ,请参考 “步骤举例 “自行验算 )后,再依据使用需要和参照表4 表 5 设置新的存取控制权限值,进行用户数据操作和修改新的用户密码。再如当某区块0 的存取控制位C10,C20,C30 的设置均 =100 时,验证密码A 或密码 B 正确后可读出其数据;只有验证密码B 正确后才可允许改写数据;不能进行加值,减值等操作。以厂商初始值“FF 07 80 69“为例,说明存取控制条件

9、对数据块的影响。初始存取控制默认值(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

10、CXx1 CXx0 CXx3 CXx2 CXx1 CXx0 如果用户要读到块1 的内容,对照表4 和查对表3 可知,当存取控制C1x1,C2x1,C3x1=000 时,必需正确校验KEY A 或 KEY B 后才可允许读取块1 的内容,否则, MF1 读写器会因校验某区密码出错而无法读取和传送数据!以此类推, 用户要进行其它操作时,可根据存取条件,对照表 24 来决定其操作权限。表 5 列出了飞利浦公司对MF1 卡的 8 种控制位设置值所对应的存取控制权限表,供发卡商及用户设置MF1 卡使用权限时参考,其释义如下:表 5:块 3 的存取控制权限(供发 卡商及用户设置权限时参考) 控制位设置值密

11、码 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 Key

12、A|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 的读写权限均被锁死而无法访问

13、! MF1卡修改各区块控制位值和数据举例(一),以常用设置 “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算法 ,字节

14、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,字节

15、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“ 的访问权限为:

16、 块 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 个“

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号