ImageVerifierCode 换一换
格式:DOCX , 页数:69 ,大小:290.82KB ,
资源ID:6479562      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6479562.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(ZLG522S系列模块的应用.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

ZLG522S系列模块的应用.docx

1、ZLG522S系列模块的应用目 录第1章 概述 11.1 概述 1第2章 ZLG522S读写卡模块 22.1 概述 22.2 S50/S70卡 22.2.1 特点 22.2.2 数据结构 22.2.3 操作流程 52.3 PLUS CPU卡 52.3.1 特点 52.3.2 数据结构 62.3.3 操作流程 72.4 DESFire卡 102.4.1 特点 102.4.2 数据结构 112.4.3 安全性 112.4.4 访问权限编码 122.4.5 命令集 132.4.6 状态编码和错误代码 132.4.7 操作流程 142.5 ZLG522S读写卡模块 182.5.1 特点 182.5.2

2、 选型表 192.5.3 引脚接口 192.5.4 典型应用 202.5.5 命令设置 222.5.6 通信协议 232.5.7 模块功能 332.6 ZLG522S系列读写卡模块使用例程 382.6.1 S50/70读写操作 382.6.2 S50/70卡值操作 392.6.3 S50/70修改密钥 402.6.4 DESFire卡洗卡 412.6.5 DESFire卡读写标准文件操作 432.6.6 DESFire卡读写记录文件操作 432.6.7 DESFire卡值操作 44第1章 概述1.1 概述在当今社会生活中,越来越多的使用着形形色色的“卡“,如常见的公交卡,银行卡和电话卡等等。这

3、些卡,以其记录的信息方式不同可以分为条码卡、磁条卡和IC卡等。在上述卡中,IC卡具有更高的数据安全性,因而应用最为广泛,如金融财务、软件加密、医疗卫生、交通票务、休闲娱乐管理等各种领域。IC卡是集成电路卡(Integrated Circuit Card,ICC),在有些场合又称为智能卡、灵巧卡和智慧卡等。将一张专用集成电路镶嵌于符合ISO/IEC7916标准的基片中,即制成一张IC卡,当然也可以封装成纽扣、钥匙牌和各种装饰物等特殊形状。根据与外界数据交换的界面不同分为:接触式IC卡、非接触式IC卡和双界面卡。根据使用芯片的功能不同分为:存储器卡、逻辑加密卡、CPU卡。非接触式IC卡继承了接触式

4、IC卡容量大、安全性高等优点,又克服了因触点外露导致的污染、磨损、静电以及插卡才能访问的缺点而得到广泛地应用。Mifare系列非接触式IC卡是当前国内使用较广泛的卡,如公交卡、火车IC卡车票等。如广州的羊城通使用的就是S50/70卡,广深和谐号票卡使用的就是MIFARE Ultralight卡。表 1.1 Mifare系列卡名称IC卡芯片简称MIFARE UltralightMF0 IC U1MF0MIFARE Ultralight CMF0 IC U2MIFARE Mini MF1 IC S20-MIFARE StandardMF1 IC S50MF1或S50MF1 IC S70MF1或S7

5、0MIFARE PLUSMF1 PLUSx0PLUS CPUMIFARE ProX-MF2MIFARE DESFireMF3 IC D20/40/80MF3MIFARE DESFire EV1MF3 IC D21/41/81如表 1.1所示。MIFARE Ultralight、MIFARE Ultralight C、MIFARE Mini、MIFARE Standard是逻辑加密卡;MIFARE PLUS、MIFARE ProX、MIFARE DESFire、MIFARE DESFire EV1是CPU卡。其中MIFARE PLUS(PLUS CPU,后文均称为PLUS CPU)卡是基于MIF

6、ARE Standard的安全等级升级版。第2章 ZLG522S读写卡模块2.1 概述ZLG522S系列读写卡模块是基于13.56MHz频率的系列读写卡模块。它支持ISO14443标准协议,可支持MIFARE Standard、MIFARE Ultralight、MIFARE ProX、MIFARE DESFire、MIFARE PLUS。它采用NXP公司的MF RC522,该芯片是NXP针对“三表”应用推出的一款低电压、低功耗、体积小的非接触式读写芯片。本系列模块具有具有易用、可靠、多样和体积小等特点。在介绍ZLG522S读写卡前先介绍一下S50/70卡和PLUS CPU卡。图 2.1 ZL

7、G522S系列模块2.2 S50/S70卡2.2.1 特点 容量为1K/4K字节E2PROM; S50卡分为16个扇区,每个扇区为4块,每块16个字节,以块为存取单位; S70卡分为40个扇区,前32个扇区每扇区4块,后8个扇区每个扇区为16块, 每个扇区有独立的一组密码及访问控制; 支持ISO14443-3A唯一序列号(4字节); 具有防冲突机制,支持多卡操作; 无电源,自带天线,内含加密控制逻辑和通信逻辑电路; 数据保存期为10年,可改写10万次,读无限次; 工作频率:13.56MHz; 通信速率:106 KBit/s; 读写距离:100mm以内(与读写器有关)2.2.2 数据结构S50卡

8、的数据结构如表 3.1所示。S70卡的前32个扇区的数据结构和S50卡的完全相同,后8个扇区的数据结构如表 3.2所示。表 2.1 S50卡的数据结构扇区块数据块备注0123456789ABCDEF00数据块只读1数据块数据/值块2数据块数据/值块3Key A控制位Key B扇区0区尾块10数据块数据/值块1数据块数据/值块2数据块数据/值块3Key A控制位Key B扇区1区尾块150数据块数据/值块1数据块数据/值块2数据块数据/值块3Key A控制位Key B扇区15区尾块表 2.2 S70卡的3239扇区的数据结构扇区块数据块备注0123456789ABCDEF320数据块数据/值块1

9、数据块数据/值块14数据块数据/值块15Key A控制位Key B扇区32区尾块390数据块数据/值块1数据块数据/值块14数据块数据/值块15Key A控制位Key B扇区39区尾块S50/70卡的数据块都可以作为值块,值块中的数据有格式要求,若数据格式不对,则之操作时会失败,值块数据格式如表 3.3所示。表 2.3 值块的数据格式字节0123456789ABCDEF说明值/值值地址/地址地址/地址每个扇区的最后一块为区尾块,该块是当前扇区的密钥和访问权限控制位存放块。该块的前6字节为Key A;后6个字节为KeyB;中间4个字节为控制位。当密钥有效时,读出的密钥数据始终为0x00,即密钥不

10、可读。S50/S70的每个扇区都可设置一组密钥,每个数据块和区尾块可以单独设置访问权限(扇区3239每5个数据块可设置一个访问权限)控制位的数据结构如表 3.4所示。其中下标表示所控制的数据块(扇区3239中下标0表示控制的数据块为块04;下标1表示控制的数据块为块59;下标2表示控制的数据块为块1014;下标3表示控制的数据块为块15)。/表示数据位取反。表 2.4 控制位数据结构位01234567字节6/C10 /C11/C12/C13/C20/C21/C22/C23字节7/C30/C31/C32/C33C10C11C12C13字节8C20C21C22C23C30C31C32C33字节9R

11、FU表 2.5 区尾块访问权限设置访问控制位所控制的访问对象注释KEY A访问控制位KEY BC1C2C3读写读写读写000禁止Key AKey AKey BKey AKey AKey B可读010禁止禁止Key A禁止Key A禁止Key B可读100禁止Key BKey A|B禁止禁止Key B110禁止禁止Key A|B禁止禁止禁止001禁止Key AKey AKey AKey AKey AKey B可读011禁止Key BKey A|BKey B禁止Key B101禁止禁止Key A|BKey B禁止禁止111禁止禁止Key A|B禁止禁止禁止注:灰色行为key B可读并可用于存储数据

12、的访问控制条件。区尾块和key A被预定义为传输配置状态。因为在传输配置状态下key B可读,新卡必须用key A认证。因为访问控制位本身也可以禁止访问,所以个人化时应当特别小心。对数据块(块02或块014)的读写访问取决于其访问控制位,分为“禁止”、“Key A”、“KeyB”和“Key A|B”( Key A或Key B)。相关访问控制位的设置确定了其用途以及相应的可用命令。 读写块:允许读、写操作。 数值块:运行另外的数值操作加值、减值、传输和恢复。在用于非充值卡的一种情况(001)下,只能够读和减值。在另一种情况(110)下,可以用key B充值。 厂商块:只读,不受访位控制位设置的影

13、响! 密钥管理:在传输配置状态下,必须用key A 认证。表 2.6 数据块访问权限设置访问控制位所控制的访问操作用途C1C2C3读写加值减值传输恢复000Key A|B注Key A|B注Key A|B注Key A|B注传输配置状态010Key A|B注Key B注禁止禁止读写块100Key A|B注Key B注禁止禁止读写块110Key A|B注Key B注Key B注Key A|B注数值块001Key A|B注禁止禁止Key A|B注数值块011Key B注Key B注禁止禁止读写块101Key B注禁止禁止禁止读写块111禁止禁止禁止禁止读写块注:如果相应扇区区尾块Key B可读,则不得

14、用作认证(前表中所有灰色行,但有些兼容卡则在Key B可读的情况下,仍可以用Key B做认证)。如果读写器试图用灰色行的访问控制条件以Key B认证任何扇区的任何块,卡将在认证后拒绝所有后续存储器访问。2.2.3 操作流程S50/70卡的所有数据块在满足读条件的情况下都可以用读命令进行访问,在满足写条件下除了厂商块外都可以用写命令进行写入。S50/70卡没有专用的修改密钥和控制位的命令,若需要修改密钥或控制位,则需要采用读-改-写的方式,即读出区尾块(密钥数据读出始终为0x00),修改需要改写的数据(若不修改密钥,则需要将密钥恢复成原来的值),然后将数据写入区尾块。S50/70卡的值是一个lo

15、ng型的数,用特定的格式存放在数据块中,如表 3.3所示。S50/70卡没有专用的格式化值块的命令,若需要值块操作时,需要将数据块的内容格式化为值块格式,并用写命令写入(若数据块内的数据格式是值块的格式,则不需要该步骤),然后再用值块操作命令。图 2.2 S50/70卡操作流程2.3 PLUS CPU卡PLUS CPU卡在MIFARE Standard卡的基础上将安全等级做了大幅度提升。2.3.1 特点 2或4K字节 E2PROM; 简单的固定存储器结构,与MIFARE Mini,MIFARE Standard卡兼容; 存储器结构与MIFARE S70相同(扇区,块); 可随意配置访问条件;

16、支持ISO14443-3A唯一序列号(4或7字节),支持任意随机ID; 多扇区认证,多块读和写; AES用于认证、加密和认证数据完整性; 防撕裂保护; 密钥可存储为MIFARE CRYPTO1密钥(248位/扇区)或AES密钥(2128位/扇区); 完全虚拟卡概念; 中继攻击检查; 通信速率可达848 Kbit/s; 单独写操作次数:通常为200,000; 通过CC EAL4安全认证。PLUS CPU卡有4个安全等级: 安全等级0。该等级为出厂模式,该模式下可以任意修改卡内的数据(无需认证密钥)。 安全等级1。该等级和S50/70卡完全兼容,所有操作都和S50/70卡相同。 安全等级2。该等级

17、和S50/70卡相比,是在CRYPTO1认证前加入了AES认证(激活后只必须至少执行一次AES认证),但该等级下没有值块操作。 安全等级3。该等级下的认证操作均为AES认证,读写器与卡之间的通信可选择数据加密或线路保护(MAC)。2.3.2 数据结构PLUS CPU卡的数据结构是在S50/70卡的基础上增加了AES密钥和配置块,如表 3.7所示。表 2.7 PLUS CPU卡数据结构地址说明0x00000x007F扇区0310x00800x00FF扇区32390xB000MFP配置块(设置不带MAC读操作的次数)0xB001应用标识符(IID)0xB002ATS信息0xB003配置块(配置是否

18、强制使用中继攻击检测和是否使用随机ID)0x40000x403F扇区031的AES密钥KeyA = 扇区号 2KeyB = 扇区号 2 + 10x40400x404F扇区3239的AES密钥KeyA = 扇区号 2KeyB = 扇区号 2 + 10x8000NXP独有密钥(用于认证是否是NXP的卡)0x9000主控密钥0x9001配置密钥0x9002等级2升级密钥0x9003等级3升级密钥0x9004等级1增加AES认证密钥0xA000选择虚拟卡(VC)命令的MAC计算密钥0xA001中继攻击检测命令的MAC计算密钥0xA080虚拟卡(VC)轮询命令的数据加密密钥0xA081虚拟卡(VC)轮询

19、命令的MAC计算密钥2.3.3 操作流程PLUS CPU卡的操作分为以下几种: 数据/值块操作 卡片升级 卡片配置(安全等级3)1 安全等级0下的操作在安全等级0下,所有的数据块和配置块都可以任意写入(使用个人化命令,数据写入后不能读出,若有格式的配置块则需要按格式写入,若格式错误会出现卡片提升到相应等级后却不可用的情况)且不需要认证任何密钥。当所有需要个人化的数据块(0x9000、0x9001、0x9002(若存在)和0x9003,这几个地址必须修改)被修改后,则可以用提交个人化命令将卡片提升到安全等级1。在没有提交个人化前,所有数据块和配置块都可以任意修改。2 安全等级1下的操作该等级下的

20、操作和S50/70卡完全一样,详细操作流程见3.2.3。若卡号为7个字节,则在选择后需要在再次防碰撞(参数改为0x95)和选择,并将第1次防碰撞得出4字节卡号的第1字节0x88(级联字节)去掉,在与第2次防碰撞得出的4字节卡号合并在一起组成7字节的卡号。防碰撞得出的什么卡号(不管是否有级联字节),选择卡时就输入什么卡号,认证时输入的卡号为最后一次选择卡时使用的卡号(若是使用激活函数,则认证时输入的卡号是激活函数输出卡号最后4字节)。符合ISO14443-3A激活的流程如图 3.3所示。图 2.3 ISO14443-3A的激活流程注:只有7字节和10字节卡号的情况下,前1、2次防碰撞得到的卡号才

21、会有级联字节,最后一次防碰撞得到的卡号是没有级联字节,所以S50/70卡的激活不用处理级联字节。PLUS CPU卡的卡号有4字节和7字节的区别,使用时完全按照ISO14443-3A的激活流程操作即可。3 安全等级2下的操作PLUS CPU卡安全等级2下的操作和S50/70卡比较多了一次AES认证,CRYPTO1认证使用的密钥不再是区尾块中存放密钥,而是用AES认证时生成的过程密钥与区尾块中存放密钥经过异或运算的结果作为CRYPTO1认证密钥。该安全等级下没有值块操作。PLUS CPU卡分为PLUS S和PLUS X。PLUS S卡没有安全等级2。图 2.4 安全等级2的操作流程4 安全等级3下

22、的操作PLUS CPU卡在安全等级3下有很多个性化的操作。本文中只介绍基本的操作(没有修改配置块时的功能操作),其他操作请参考PLUS CPU卡的数据手册。PLUS CPU卡采用AES认证,若多个扇区的密钥相同时,且这几个扇区是连续操作,则更换扇区操作的时候不用再次认证密钥。PLUS CPU卡分为PLUS S和PLUS X。在安全等级3下PLUS S卡没有值块操作,且读写操作命令的参数选项没有PLUS X多。PLUS CPU卡安全等级3下采用AES认证,所以区尾块的存放CRYPTO1密钥就无效,访问控制为字节59。同S50/S70比较。多了字节5,字节69的功能和S50/70完全相同,其功能见

23、表 3.4、表 3.5和表 3.6。字节5是控制本扇区的数据块是否允许明文读取(默认为允许)。表 2.8 安全等级3的区尾块字节0123456789ABCDEF说明RFU控制位RFUPLUS CPU卡安全等级3是工作在ISO14443-4,所以卡片激活后需要额外的操作让卡片处于ISO14443-4的激活状态。图 2.5 安全等级3的操作流程2.4 DESFire卡MIFARE DESFire (MF3 IC D40)是符合ISO 14443 A的CPU卡。传输协议遵循ISO 14443-4部分。2.4.1 特点 操作距离:最大100mm(取决于天线的形状) 操作频率:13.56MHz 快速数据

24、传输:106kbit/s,424kbit/s 高数据完整性:4字节MAC、16位CRC、奇偶校验、位编码、位计数 真实可确定的防冲突性 7字节的唯一标识符(符合ISO 14443-3的级联第二层) 使用ISO 14443-4传输协议 4k字节NV-存储器 NV-存储器写时间2ms(1ms擦除,1ms编程) 数据可保存10年 可写100, 000次 一个卡最多可同时存在28个应用 每个应用程序多达16个文件 RF信道的硬件DES/3DES数据加密,可防止重放攻击。 通过4字节MAC进行数据验证 应用级验证2.4.2 数据结构和S50/70以及PLUS CPU卡比较,DESFire卡的数据结构不再

25、是固定地址的存储结构,而是采用文件的结构。一张空白的DESFire卡是不能使用的,需要在上面创建文件后才能使用。DESFire卡的NV存储器(MF3 IC D40的用户存储空间为4K字节)通过灵活的文件系统来组织。文件系统允许单张卡上存在最多28个不同的应用。每个应用下最多可建立16个文件。每个应用由它的3字节应用标识符(AID)表示。支持5种不同的文件类型,如表 2.9所示。表 2.9 DESFire卡支持的文件类型及编码文件类型编码标准数据文件0x00备份数据文件0x01带备份的值文件0x02带备份的线性记录文件0x03带备份的循环记录文件0x04DESFire卡的文件具有以下特点: 每个

26、文件可在卡片初始化时在终端或读写卡器中创建。 如果文件或应用在操作中被废弃,可使它永久无效。 对文件结构本身产生影响的命令(例如,建立或删除一个应用,改变密钥)会启动一个自动的恢复机制,它可保护文件结构不会被破坏。 如果需要使用恢复机制,它在下一个命令执行之前完成,不需要用户的交互操作。 为了确保应用级的数据完整性,所有5个带备份的文件类型都实现了面向处理的备份。在一个应用中,可以混合带备份和不带备份的文件类型,因此备份只用于文件07,而文件815不支持备份机制。2.4.3 安全性7字节UID在生产线编程之后就不能再进行更改,这样就确保了每个器件的唯一性。UID可用于为每个卡生成多种密钥。在数

27、据发送之前,卡和读写器之间可完成3重认证,这取决于配置使用DES还是3DES。卡和读写器之间之间的数据传输可设置为以下3种安全等级: 直接的数据传输 带DES/3DES加密校验和(MAC)的直接数据传输 DES/3DES加密的数据传输(在加密之前进行CRC校验)应用层允许对用户数据进行访问。每个应用可最多设置14个不同的用户密钥用于控制对卡中保存的数据进行访问。数据传输的安全等级可以通过创建文件时的通信设定字节进行设置:表 2.10 通信设置编码通信模式B7-2B1B0明文通信000000-0明文+MAC通信00000001完全DES/3DES加密的通信00000011DES和3DES密钥都保存在16个字节的字符串中。如果密钥串的后半部分等于前半部分,密钥作为单DES密钥进行处理;如果密钥串的后半部分不等于前半部分,密钥作为3DES密钥进行处理。所有基于密钥的操作(认证,MAC,加密)分别使用DES或3DES方法进行进一步处理。单DES密钥的例子: 0x00 11 22 33 44 55 66 77 00 11 22 33 44 55 66 770x00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 003DES密钥的

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1