为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

Mifare l射频卡初始值及其相关说明

2017-09-27 10页 doc 27KB 26阅读

用户头像

is_321635

暂无简介

举报
Mifare l射频卡初始值及其相关说明Mifare l射频卡初始值及其相关说明 Mifare l射频其 【本说明是Mifare 1 订货合同不可缺少的技术性文档附件】 容量为8K位EEPROM; ? 分为16个扇区,每个扇区为4块,每块16个字节,以块为存取单位; ? 每个扇区有独立的一组密码及访问控制; ? 每张卡有唯一序列号,为32位; ? 具有防冲突机制,支持多卡操作; ? 无电源,自带天线,内含加密控制逻辑和通讯逻辑电路; ? 工作温度:-20?~50?; ? 工作频率:13.56MHZ; ? 通信速率:106KBPS; ? 读写距离...
Mifare l射频卡初始值及其相关说明
Mifare l射频卡初始值及其相关说明 Mifare 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 块结构 存取控制(6~9字说明 密码A(0~5字节) 密码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的读写权限均被锁死而无法访问! —— (一),以常用设置"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 0 0 0 0 1 0 0 C2Y 1 1 1 1 C1Y 0 1 1 1 7 0 C1Y 0 1 1 1 C3Y 1 0 0 0 8 0 1 1 1 0 1 1 C3Y 1 0 0 0 C2Y 1 1 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 768 = C13C23C33 = C1YC2YC3Y = 0 1 1 2 768 = C12C22C32 = C1YC2YC3Y = 1 1 0 1 768 = C11C21C31 = C1YC2YC3Y = 1 1 0 0 768 = C10C20C30 = C1YC2YC3Y = 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"的访问条件及其改写步骤,对用户的其它控制条件亦可参照应用。 ? 盲目操作:造成某些区块误操作被锁死不能再使用。应当仔细参考表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卡芯片电路均采用飞利浦公司原装产品,品质可靠,性能稳定; 3、MF1卡均经严格的测试,保证出厂的正品率?99。9%; 4、客户在收到MF1卡的90天内,务必尽快使用厂商默认值对卡的所有区块进行读写检测,超期 恕不受理; 5、如果在厂商默认状态下(保持控制位存取控制值为FF078069,KeyA=KeyB=FFFFFFFFFFFF) 不能正确读写数据,属产品质量问题,请在验收期内尽快与制卡商联系!属制卡工艺引起的,由制卡商负责解决;确属芯片质量引起的, 制卡商有义务联系飞利浦公司的相关芯片供货商协调 解决; 6、如果客户已经改写了控制位的值(例如将默认值FF078069改写为08778F69),表明客户已经认可MF1卡质量,而后出现的操作失误问题(例如丢失KeyB而不能再改写数据块等等),属客户责任,与供货商产品质量无关! 7、 通常,本厂生产的MF1卡内已具有厂商代码和保修代码,客户返回有问题的MF1卡经检测若非本厂卡,首次退还不予解决,在退卡登记名册再次出现非本厂卡,则一律没收,敬请体谅! 8、制卡商可依据客户要求,义务提供飞利浦公司相关《 Mifera 1 IC S50 》等原始文档(英文PDF文档)。 9、本厂技术性文档为订货合同必须附件,客户可以广为散发传播,但必须同意保证本文档的完 整和不被修改!
/
本文档为【Mifare l射频卡初始值及其相关说明】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索