《非接触式IC卡技术》PPT课件.ppt_第1页
《非接触式IC卡技术》PPT课件.ppt_第2页
《非接触式IC卡技术》PPT课件.ppt_第3页
《非接触式IC卡技术》PPT课件.ppt_第4页
《非接触式IC卡技术》PPT课件.ppt_第5页
已阅读5页,还剩268页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第3章 非接触式IC卡技术,3.1 实训4:非接触式IC卡的访问操作与存储结构 3.2 非接触式IC卡概述 3.3 非接触式IC卡的工作原理 3.4 非接触式IC卡芯片技术 3.5 非接触式IC卡接口设备内核技术 3.6 实训5:非接触式IC卡的读写控制 3.7 其他类非接触式IC卡技术 思考题,3.1 实训4:非接触式IC卡的访问操作与存储结构,1 . 实训目的 (1) 建立对非接触式IC卡的感性认识。 (2) 理解和掌握MIFARE 1卡(M1卡)的存储结构。 (3) 通过MIFARE非接触式IC卡开发系统的使用,了解MIFARE卡的基本操作方法。,2. 实训设备与器件 (1) 实训设备:MIFARE系列非接触式IC卡开发板,586电脑,MIFARE系列非接触式IC卡开发系统演示软件。 (2) 实训器件:MIFARE 1卡。,3. 实训步骤与要求 1) RF系列非接触式IC卡开发系统的安装 (1) 按系统提示安装MIFARE系列非接触式IC卡开发系统演示软件MWRF。 (2) 按标志连接MIFARE系列非接触式IC卡开发板的电源线及串口线,注意电源+5 V与地不可接反。,2) 使用MIFARE系列接触式IC卡开发系统演示软件MWRF访问MIFARE 1卡 (1) 按使用手册的说明操作演示软件,对MIFARE非接触式IC卡开发板的MCM进行建立连接/装载密码(Load Key)操作。 实验用MIFARE 1卡所有扇区的初始密码被设置为FFFFFFH。在演示软件界面中选择密码集0,密码A,将扇区014的密码A设置为FFFFFFH,而将扇区15的密码A设置为000000H。启动密码下载,下载过程中红色指示灯点亮;下载完毕后红色指示灯熄灭。 这一步骤与卡无关。,(2) 将MIFARE 1卡按任意方向置入MIFARE开发板天线有效工作范围内,对MIFARE 1卡的各扇区的块0、1、2进行读/写操作,操作界面如图3.1所示。在表3.1中记录读取的卡数据并分析其存储结构,标明各块的类型及卡的类型号、序列号、容量及各扇区的密码和访问权限。 注意: 不得随意修改各扇区块3的数据,特别是访问权限字节,以免造成扇区被锁死。,图3.1 RF系列非接触式IC卡开发系统演示软件MWRF操作界面,表3.1 MIFARE 1存储结构记录与数据分析表,3) 测试防冲突功能 (1) 分别读出并记录两张MIFARE 1卡的序列号。 (2) 分别将这两张MIFARE 1卡的扇区0块1的数据修改为FFFFFFFFFFFFFFFFH。 (3) 将两张MIFARE 1卡同时放置在读写器天线有效工作范围内,读出扇区0块0的数据,找出被选中的卡(记为1#卡)的序列号,将扇区0块1的数据修改为0000000000000000H。 (4) 将被选中的卡撤离读写器天线的有效工作范围,读出下一张被选中的卡(记为2#卡)的序列号,并读出其扇区0块1的数据,在表3.2中记入数据1。 (5) 取走2#卡,重新读出1#卡的扇区0块1的数据,在表3.2中记入数据2。,表3.2 防冲突测试记录表,4. 实训总结与分析 (1) 由步骤2的操作及表3.1的数据分析可以看到,MIFARE 1卡的存储容量为8 Kb(1 KB),并划分为16个扇区,每个扇区划分为4个数据存储块,每个数据块有16 B。每个扇区的块3存放着该扇区的密码和存取控制条件,即每个扇区可有不同的密码和多种密码管理方式。 (2) 每个扇区无论读/写都必须先通过密码认证。 (3) 每张卡具有惟一的卡片序列号,没有相同的两张MIFARE卡片。 由上述分析可以看到,MIFARE卡具有极高的安全性,能够实现一卡多用。,(4) 由步骤3的操作及表3.2的数据分析可以看到MIFARE卡片具备防冲突功能。当一张以上的卡同时处在读写器天线的有效工作范围内(发生冲突)时,读写器可根据卡片的全球惟一的序列号选择其中一张卡并使之激活,能且仅能对这张卡进行下一步的操作;而其他卡不会同时被选中,不能进行下一步的操作。这样就避免了对重叠卡的误操作。 由于采用了非接触式操作,有可能出现多张卡同时处在读写器天线的有效工作范围内的情况,称之为“冲突”,因此防冲突是各种非接触式IC卡首先要解决的问题之一。 关于防冲突的详细介绍参见3.3节。,5. 思考 与接触式IC卡门禁系统相比较,由MIFARE 1卡及其读写器构成的非接触式门禁系统有何优胜之处?采用MIFARE 1卡作为门钥匙时,应以卡中的哪个数据作为其惟一的身份标志?,3.2 非接触式IC卡概述,3.2.1 非接触式IC卡系统的构成与特点 1非接触式IC卡系统的构成 1) 非接触式IC卡 非接触式IC卡(也称为“应答器”)是射频识别系统的电子数据载体,卡中嵌有耦合元件和微电子芯片,其结构如图3.2所示。在读写器的响应范围之外,非接触式IC卡处于无源状态。通常,非接触式IC卡没有自己的供电电源(电池),只是在读写器响应范围之内,卡才是有源的,卡所需要的能量以及时钟脉冲、数据,都是通过耦合单元的电磁耦合作用传输给卡的。,图3.2 非接触式IC卡的基本结构,非接触式IC卡的外形尺寸符合国际标准ISO 7810对ID-1型卡的规定(85.72 mm54.03 mm0.76 mm),其制造工艺是在四层PVC薄膜(两层嵌入薄膜和两层覆盖薄膜)之间粘合一个非接触式IC卡模块及耦合元件而构成的,其中,耦合元件一般为电磁感应天线线圈,起电感耦合作用。将设计成线圈状的天线安放在承载薄膜的上面,且用适当的连接技术将其与芯片模块连接在一起。天线的制造主要采用以下四种方法:绕制工艺、布线工艺、丝网印刷工艺和蚀刻工艺。非接触式IC卡的薄膜结构如图3.3所示。,图3.3 非接触式IC卡的薄膜结构,2) 非接触式IC卡读写器 典型的非接触式IC卡读写器(也称为“阅读器”)包含有高频模块(发送器和接收器)、控制单元以及与卡连接的耦合元件,如图3.4所示。由高频模块和耦合元件发送电磁场,以提供非接触式IC卡所需要的工作能量以及发送数据给卡,同时接收来自卡的数据。此外,大多数非接触式IC卡读写器都配有上传接口,以便将所获取的数据上传给另外的系统(个人计算机、机器人控制装置等)。,图3.4 非接触式IC卡系统的基本组成,2非接触式IC卡的特点 (1) 可靠性高、寿命长。由于读写之间无机械接触,避免了因接触读写而产生的各种故障;且非接触式IC卡及读写器表面均无裸露的触点,无须担心触点损坏或脱落、卡弯曲损害所致之卡片失效;卡和读写器均为全封闭防水、防尘结构,既避免静电、尘污对卡的影响,也可防止粗暴插卡、异物插入读写器插槽以及读写器“吃卡”等问题。这些都将大大提高卡及机具的可靠性和使用寿命。,(2) 操作快捷便利。无接触通信使读写器在10 cm范围内就可以对卡片操作,无需插拔;且非接触式IC卡使用时无方向性,卡片可以任意方向掠过读写器表面完成操作,既方便又提高了使用速度。 (3) 动态处理。由于非接触式IC卡与读写器之间通信时处于相对运动的状态,对电路的处理速度、可靠性等都提出了更高的要求,因此,对应用于安全性要求较高的场合,目前仍主要采用接触式CPU卡,非接触式CPU卡正处于发展中。 (4) 成本较高。显然,由于卡和读写器都需要将射频技术结合进去,因此必然会增加其成本。,3.2.2 非接触式IC卡的分类和国际标准 1非接触式IC卡的分类 关于接触式IC卡的国际标准ISO/IEC 7816已相对成熟,但是关于非接触式IC卡的标准ISO/IEC 14443和ISO/IEC 15693尚未完成,因此,目前市面上多种类型的非接触式IC卡并存。 (1) 与接触式IC卡相类似,按卡内集成电路的不同可分为存储器卡(片内只含有EEPROM存储介质),逻辑加密卡(内含加密逻辑和EEPROM,如Philips的MIFARE STAND/LIGHT、Siemens的SLE44R31/35),CPU卡(内含CPU、EEPROM、RAM及固化于ROM中的片内操作系统COS,甚至用于密码运算的写处理器CAU,如OTI的EYECON)。,表3.3 非接触式IC卡分类,表中,ICC为集成电路卡;CICC为Close-coupled ICC,即紧密(密耦合)卡;PICC为Proximity ICC,称为接近(近耦合)卡;VICC为Vicinity ICC,称为邻近(疏耦合)卡;CD为Coupling Device,是读写器中发射电磁波的部分。 此外,还有远距离系统,其作用距离是110 m,个别系统也有更远的距离。所有远距离系统都是在微波范围内用电磁波工作的,发送频率为5.8 GHz,也有些系统使用915 MHz (在欧洲是不允许的)、5.8 GHz和24.125 GHz。,(3) 按工作频率的高低分为125 kHz的低频卡(30300 kHz),13.56 MHz的高频(或射频)卡(330 MHz),915 MHz、2.45 GHz的超高频卡(300 MHz3 GHz)以及5.8 GHz的微波卡(大于3 GHz)。频率越高,通信速率越快,系统工作时间越短。 (4) 按卡内芯片供电方式可分为卡内带电池的有源卡和卡内无电池、由读写器以无线感应方式供电的无源卡。前者通信距离较远,但体积相对较大,目前实际应用较为广泛的为后者。 (5) 按使用过程中的读写方式分为只读卡和读写卡。只读卡只读不写,仅供(或主要供)对象识别用,多被封装为电子标签、钥匙扣(圈)甚至手表等形式,因此有的文献将这种卡通称为应答器。,表3.4 非接触式IC卡系统概览,续表,续表,2非接触式IC卡的国际标准 非接触式IC卡的国际标准包括ISO/IEC 10536、ISO/IEC 14443和ISO/IEC 15693,如表3.3所示。其中ISO/IEC10536-1/2/3已讨论通过,定为正式标准,而ISO/IEC 14443和ISO/IEC 15693尚为草案。由于目前使用的非接触式IC卡大多为PICC(近耦合卡),因此近年来国际标准化组织多次举行国际会议以推进ISO/IEC 14443的正式实施。,现阶段ISO/IEC 14443(草案)主要有两个体系并存:ISO/IEC 14443-TYPEA和ISO/IEC 14443-TYPEB。其中TYPE A以Philips公司为代表,包括Siemens、Hitachi、Gemplus、G&D和Schlumberger等公司,并已推出包括存储器卡、逻辑加密卡、CPU卡和组合卡在内的各种产品;TYPE B以ST(意法半导体)、Motorola、韩国Samsung和日本的NEC等公司为代表。也有其他大公司力图再建议其他类别,如日本Sony公司的Felica卡、以色列的OTI卡、瑞士的Legic卡等。,3.3 非接触式IC卡的工作原理,相对于接触式IC卡,非接触式IC卡需要解决的问题主要有以下三个方面: (1) 非接触式IC卡如何取得工作电压。 (2) 读写器与IC卡之间如何交换信息。 (3) 防冲突问题:多张卡同时进入读写器发射的能量区域(即发生冲突)时如何对卡逐一进行处理。,3.3.1 非接触式IC卡的信息与能量传递 非接触式IC卡在卡的表面上无触点,IC卡与读写器之间通过无线方式(即发射和接收电磁波)进行通信,因此非接触式IC卡的使用依赖于射频识别(RFD)技术的发展,故又将非接触式IC卡称为射频卡(RFC)。典型的射频识别系统由应答器和寻呼器组成,非接触式IC卡的读写器就是寻呼器,而卡则是应答器。 非接触式IC卡和读写器均设有发射和接收射频用的线圈(天线)。由于卡内无电源,因此IC卡工作所需的电压和功率也是通过线圈发送的(如图3.5所示)。,图3.5 非接触式IC卡与读写器接口的电路概况,读写器和IC卡之间的工作关系如下: (1) 读写器发射激励信号(一组固定频率的电磁波)。 (2) IC卡进入读写器工作区内,被读写器信号激励。在电磁波的激励下,卡内的LC串联谐振电路产生共振,从而使电容内有了电荷,在这个电容的另一端,接有一个单向导通的电子泵,将电容内的电荷送到另一个电容内储存,当所积累的电荷达到2 V时,此电容可以作为电源为其他电路提供工作电压,供卡内集成电路工作所需。 (3) 同时卡内的电路对接收到的信息进行分析,判断发自读写器的命令,如需在EEPROM中写入或修改内容,还需将2 V电压提升到15 V左右,以满足写入EEPROM的电压要求。 (4) IC卡对读写器的命令进行处理后,发射应答信息给读写器。 (5) 读写器接收IC卡的应答信息。,3.3.2 非接触式IC卡与读写器的信号接口,图3.6 TYPE A和TYPE B卡与读写器之间的信号,图中阴影部分为fc=13.56 MHz载波,数据传输速率=13.56 MHz/128=106 kb/s(9.4 s/b),从PICC发向PCD的信号用副载波(subcarrier)调制,副载波的频率fs=fc/16=847 kHz。一个位时间等于8个副载波周期。 可以看到,两种方式最主要的分别在于载波调制程度的不同(如图3.6(a)所示)以及二进制数据的编码方法不同(如图3.6(b)所示)。,从TYPE A和TYPE B的比较可以看出以下几点: (1) 从读写器到卡的调制,TYPE A用100%ASK,因此其信号区别明显,易于检测,抗干扰能力强;但在每一位的传送(传送速率为106 kb/s时,传送周期为9.4 s)中,有约3 s的信号间歇,这时的读写器到卡的能量供应中断,必须在卡内电路中加一个大容量电容以维持一定的能量供应;而TYPE B用10%ASK,卡片可以从读写器获得持续的能量;但信号区别不明显,容易造成误读/写,抗干扰能力较差。 (2) TYPE A卡片能量的中断会导致卡片时钟的中断,而回避时钟中断问题又可能留一个“后门”,让“单步跟踪”有机可乘。,(3) 当试图提速时,如传送速率为212 kb/s时,位传送周期仅为4.7 s,这种情况下3 s的中断已大于传送周期的60%,而传送速率为424 kb/s时,位传送周期仅为2.35 s,这种情况下3 s的中断已使系统无法工作,即TYPE A无法实现这种传送速率。 (4) TYPE A的防冲突需要卡片上较高和较精确的时序,因此需要在卡和读写器中分别加一些硬件,而TYPE B的防冲突可以用软件来实现。 目前TYPE A与TYPE B孰优孰劣尚在争议中。TYPE A 的产品具有更高的市场占有率,如Philips公司的MIFARE系列占有了当前约80%的市场,且在较为恶劣的工作环境下更有优势。但TYPE B应该在安全性、高速率和适应性方面有更好的前景,并且更适合于CPU卡。,3.3.3 初始化与防冲突 1TYPE A 的初始化与防冲突 1) PCD卡管理命令 PCD用以管理进入其工作范围的多张IC卡的命令有: (1) REQA:TYPE A请求命令; (2) WAKE UP:唤醒命令; (3) ANTICOLLISION:防冲突命令; (4) SELECT:选择命令; (5) HALT:停止命令。,图3.7为TYPE A 的PICC状态图,对各状态的说明如下: (1) POWER OFF(断电)状态:PICC尚未获得能量(未进入PCD工作区),而处于断电状态,因此也不能发射负载波。 (2) IDLE(休闲)状态:PICC进入PCD工作区,被电磁场激活后,获得能量,生成电压,进入IDLE状态,同时能对已被调制的信号解调,并认识来自PCD的REQA和WAKE UP命令。,(3) READY(就绪)状态:当接收到一个有效的REQA或WAKE UP命令时,就进入READY状态,在这一状态中采用防冲突方法,用UID(惟一标识符)从多张IC卡中选择出一张PICC,此时该张PICC就进入ACTIVE(激活)状态。 (4) ACTIVE(激活)状态:在本状态,完成本次应用(一次交易)所要求的全部操作。 (5) HALT(停止)状态:PICC完成一次交易后,被置于HALT状态。 状态转换所需命令也已分别列入PICC状态图(见图3.7)中。,图3.7 TYPE A的PICC状态图,2) PCD初始化和防冲突流程,图3.8 PCD初始化和防冲突总流程图(TYPE A),表3.5 UID结构,表中CT为级联信号,表示在下一级中还有UID;BCC为本级检验码。 首先由PCD发送REQA命令或WAKE UP命令,使卡进入READY状态。这两个命令的差别是:REQA命令使卡从IDLE状态进入READY状态,而WAKE UP命令使卡从HALT状态进入READY状态。 PICC接收到命令后,所有处在PCD电磁场范围内的PICC同步发出ATQA应答,说明本卡UID的大小(1、2或3),之后进入READY状态,执行防冲突循环操作。,PCD通过发送ANTICOLLISION和SELECT命令执行防冲突循环操作,这两条命令的格式如下:,其中:SEL为指令码,其代码为93、95或97,分别代表选择UID CL1、UID CL2或UID CL3;NVB表示本命令的长度,NVB的前半字节表示字节数,后半字节表示位数。 PCD初始化和防冲突总流程如图3.8所示。首先选出UID CL1,然后检查SAK,SAK返回UID“完整否”的信息,如果UID的大小为1,SAK返回“完整”信息;如果UID的大小为2,则还需选择UID CL2再次进入位帧防冲突过程,最终才能选出PICC的惟一标识符UID,然后进入激活状态。,图3.9所示为PCD完成位帧防冲突的过程,其操作过程如下: (1) PCD指定防冲突命令SEL代码为93、95或97,分别对应于UID CL1、UID CL2或UID CL3。 (2) PCD指定NVB的值是“20H”,此值表示PCD不发出UID CLn的任一部分,而迫使在场的PICC发回完整的UID CLn。 (3) PCD发送SEL和NVB到PICC。 (4) 所有PICC返回UID CLn。,(5) 假如多于一个卡发回应答,则产生了冲突,此时PCD接收到的应答信息至少有1位既是0又是1,即该位的前半部分和后半部分都有调制信号。如果不发生冲突,则可跳过(6)(10)步。PCD应认出第1个发生冲突的位置。 (6) PCD指定NVB的值为UID CLn的有效位个数,所谓“有效位”是指接收到的UID CLn发生冲突之前的部分,后面再由PCD决定加一位“0”或“1”。一般加“1”。 (7) PCD发送命令SEL NVB和有效位数据。 (8) 只有其UID CLn部分与PCD发送的有效数据内容相等时,才发出UID CLn的其余位。这样就排除了冲突位为“0”的PICC。,(9) 假如还有冲突发生,重复(6)(9)步,最大循环次数为32。 (10) 假如没有冲突再发生,PCD指定NVB为“70H”,此值表示PCD将发送完整的UID CLn。 (11) PCD发送命令:SEL NVB 40BIT UID CLn CRCA。 (12) 与40位UID CLn匹配的PICC,以SAK作为应答。,图3.9 PCD防冲突循环流程(TYPE A),2TYPE B的初始化和防冲突 PCD用以管理进入其工作范围的多张IC卡的命令有: (1) REQB:TYPE B请求命令; (2) SLOT MARKER:时隙标记命令; (3) ATTRIB:标识命令; (4) DESELECT:解除选取命令。,图3.10 TYPE B的PICC状态图,图3.10为TYPE B的PICC状态图,TYPE B的初始化和防冲突流程如下: (1) POWER OFF(断电)状态:同TYPE A。 (2) IDLE(休闲)状态:PICC生成电压,等待接收有效的REQB命令。对于TYPE B卡,通过发送REQB命令可直接启动防冲突算法。使用的方法是动态的Slotted-ALOHA法(时隙-ALOHA法)。接收到有效的REQB命令后,PICC规定一个惟一的时隙(SLOT)用于回送它的应答ATQB。如果规定的时隙是第1个时隙(总共可以有16个时隙),那么PICC发送ATQB并进入READY-DECLARED (就绪宣布)状态;如果规定的时隙不是第1个时隙,PICC进入READY- REQUESTED(就绪请求)状态。,(3) READY-REQUESTED状态:监听PCD发出的SLOT MARKER命令,该命令中给出了SLOT MARKER。如果PICC的SLOT与它匹配(每次最多一张卡能匹配),就发生应答ATQB,并进入READY-DECLARED状态;如果PICC的SLOT与它不匹配,则仍留在READY-REQUESTED状态。 ATQB包含惟一标识符PUPI(Pseudo-Uniq Picc Identifier)。PUPI可以是惟一的PICC序列号或芯片序列号的一部分,也可以是PICC计算出的随机数。 (4) READY-DECLARED状态:监听PCD发出的ATTRIB命令,ATTRIB命令中包含有PUPI,假如ATTRIB命令中的PUPI与PICC中的PUPI相同,PCD就赋予该PICC一个地址(NAD),以后就用该地址与PICC进行通信,同时PICC进入ACTIVE(激活)状态。,(5) ACTIVE(激活)状态:在本状态中,完成本次应用(一次交易)所要求的全部操作。在交易结束时,PCD发送DESELECT命令,PICC 进入IDLE状态或HALT状态。 (6) HALT(停止)状态:处于HALT状态的PICC,将不再参与防冲突循环,当卡从射频场退出,将回到POWER OFF状态。 上述TYPE B的防冲突机制可由软件来完成。,3.4 非接触式IC卡芯片技术,3.4.1 MIFARE 1非接触式IC卡的总体描述 MIFARE 1 IC智能(射频)卡采用先进的芯片制造工艺制作,内建有高速的CMOS EEPROM、ASIC等。卡片上除了IC微晶片及一副高效率天线外,无任何其他元件。 根据ISO/IEC 14443A 标准,Philips开发了无线智能卡芯片MF1 IC S50,它是MIFARE 1 IC智能(射频)卡的核心。该芯片的通信层MIFARE RF 接口遵从ISO/IEC 14443A 标准的第2部分和第3部分,保密层(security layer)使用经区域验证的CRYPTO1流密码(field-proven CRYPTO1 stream cipher),使典型MIFARE系列芯片的数据交换得到保密。,1MIFARE RF 接口(ISO/IEC 14443A)无线传送数据和能量 (1) 无线传送数据和能量,即MIFARE卡片上无源(无任何电池),MF1 IC S50 连接着几匝线圈,线圈嵌入到塑料卡片中,这就形成了一张无源的无线智能卡。工作时的电源能量由读写器天线发送无线电载波信号耦合到卡片的天线上而产生电能,一般可达2 V以上,供卡片上IC工作。其工作距离最高可达100 mm(由天线的结构决定)。 (2) 工作频率为13.56 MHz。 (3) 数据传送速率快,且为106 kb/s。,2真正的防冲突 智能的防冲突功能允许同一工作区域中有不止一张卡同时工作,防冲突算法每次只选择一张卡,确保对被选中的卡正确执行操作,而且同一区域中的其他卡不会破坏数据。 3保密性(security) MIFARE卡的一个特殊要点是高保密性,防止欺骗。相互认证(mutual challenge)和响应确认数据保密,报文确认检查防止系统受到任何干扰;序列号不可修改更保证了每张卡都是惟一的。,(1) 需要通过三次相互认证(mutual three pass authentication),符合ISO/IEC DIS9798-2的规定。 (2) RF信道的数据加密,多重防攻击保护。 (3) 每个扇区(每个应用)有两套独立的密钥,支持带密钥层次的多应用(support multi-application with key hierarchy)。 (4) 每张卡有全球惟一的序列号。 (5) 在运输过程中访问EEPROM有传输密钥保护(transport key protects access to EEPROM on chip delivery)。,4数据高度可靠(正确) 读写器和卡之间的无线通信链路使用了以下的机制确保数据可靠地传输。 (1) 卡片上有高速的CRC协处理器实现每个块16位CRC。 (2) 每个字节都有奇偶校验位。 (3) 位计数检查。 (4) 用位编码区别1、0和没有信息。 (5) 信道监控(协议序列和位流分析)。,5EEPROM存储器结构提供多应用 MIFARE系统提供了一个实时的多应用功能,每区有两个不同的密钥,这样系统可以使用密钥层次。 (1) 内建1 KB EEPROM,分成16个扇区,每扇区又分成4个数据块,每一块中有16个字节。 (2) 用户可以定义每一个存储器块的访问条件。 (3) 每个扇区(每个应用)有两套独立的密钥,支持带密钥层次的多应用。 (4) 数据保存期可达10 年以上。 (5) 可写100 000次以上。 (6) 卡片抗静电保护能力达2 kV以上。,6方便用户 系统的设计使用户使用更加方便,例如卡片上还内建有增值/减值的专项的数学运算电路,非常适合公交/地铁等行业的定额收费系统。由于数据传送速率很高,典型的购票处理时间(ticketing transaction)小于100 ms(包括备份管理),这样MIFARE卡用户就不需要停在读写器前面,增大了通道门的吞吐量,减少了上公共汽车的时间;如果卡放在钱包中,甚至钱包中有硬币也可以进行交易。,3.4.2 MIFARE 1非接触式IC卡的功能组成,图3.11 MF1 IC S50非接触式IC卡的功能组成图,1RF射频接口电路 在卡的RF射频接口电路中,波形转换模块接收读写器所发送的13.56 MHz的无线电调制信号。一方面送调制/解调模块,经解调得到相应的数字信息送数字电路模块;另一方面进行波形转换,将正弦波转换为方波,然后对其整流滤波,由电压调节模块对电压进行进一步的处理,包括稳压等,最终输出提供卡片上各电路的工作电压。 POR模块主要是对卡片上的各个电路进行POWER-ON-RESET(上电复位),使各电路同步启动工作。 而数字电路模块送出的数字信息则经由调制/解调模块调制为13.56 MHz的无线电调制信号,再送往波形转换模块发送给读写器。,2数字电路部分模块 1) ATR模块:Answer To Request(“请求之应答”) 当一张MIFARE 1卡处在读写器的天线工作范围之内时,程序员控制读写器向卡发出Request all(或Request std)命令后,卡的ATR将启动,将卡片Block 0 中2个字节的卡类型号(TagType)传送给读写器,建立卡与读写器的第一步通信联络。 如果不进行第一步的ATR工作,读写器对卡的其他操作(读/写操作等)将不会进行。,2) AntiCollision模块:防(卡片)冲突功能 如果有多张MIFARE 1卡处在读写器的天线工作范围之内,则AntiCollision模块的防冲突功能将被启动工作。读写器将会首先与每一张卡进行通信,读取每一张卡的序列号(Serial Number)。由于每一张MIFARE 1卡都具有惟一的序列号,决不会相同,因此程序员将启动读写器中的AntiCollision防重叠功能配合卡上的防重叠功能模块,根据卡序列号来选定其中一张卡。被选中的卡将被激活,可以与读写器进行数据交换;而未被选中的卡处于等待状态,随时准备与读写器进行通信。 AntiCollision模块(防重叠功能)启动工作时,读写器将得到卡片的序列号(Serial Number)。序列号存储在卡的Block 0中,共有5个字节,实际有用的为4个字节,另一个字节为序列号的校验字节 。,3) Select Application 模块:卡片的选择 当卡与读写器完成了上述两个步骤,读写器要想对卡进行读/写操作时,必须对卡进行“Select”操作,以使卡真正地被选中。 被选中的卡将卡片上存储在Block 0中的卡容量“Size” 字节传送给读写器。当读写器收到这一字节后,方可对卡进行进一步的操作,如密码验证等。,4) Authentication & Access Control 模块:认证及存取控制模块 完成上述的三个步骤后,读写器对卡进行读/写操作之前,必须对卡上已经设置的密码进行认证,如果匹配,则允许进一步的读/写操作。 MIFARE 1 卡上有16个扇区,每个扇区都可分别设置各自的密码,互不干涉,必须分别加以认证,才能对该扇区进行下一步的操作。因此每个扇区可独立地应用于一个应用场合,整个卡可以设计成一卡多用(一卡通)的形式来应用。,密码的认证采用了三次相互认证的方法,具有很高的安全性。如果事先不知卡上的密码,则因密码的变化可以极其复杂,试图靠猜测密码而打开卡上一个扇区的可能性几乎为零。 特别需要注意的是,无论是程序员还是卡的使用者,都必须牢记卡中的16个扇区的每一个密码,否则,遗忘某一扇区的密码将使该扇区中的数据不能读写。没有任何办法可以挽救这种低级错误。但是,卡上的其他扇区可以照样使用。,5) Control & Arithmetic Unit:控制及算术运算单元 这一单元是整个卡的控制中心,是卡的“头脑”。它主要对卡的各个单元进行操作控制,协调卡的各个步骤;同时它还对各种收/发的数据进行算术运算处理、递增/递减处理和CRC运算处理等,是卡中内建的中央微处理器(MCU)单元。,6) RAM/ROM 单元 RAM主要配合控制及算术运算单元,将运算的结果进行暂时存储,例如将需存储的数据由控制及算术运算单元取出送到EEPROM存储器中;将需要传送给读写器的数据由控制及算术运算单元取出,经过RF射频接口电路的处理,通过卡片上的天线传送给读写器。RAM中的数据在卡失掉电源后(卡片离开读写器天线的有效工作范围)将会丢失。 同时,ROM中则固化了卡运行所需要的必要的程序指令,由控制及算术运算单元取出,对每个单元进行指令控制,使卡能有条不紊地与读写器进行数据通信。,7) Crypto Unit:数据加密单元 该单元完成对数据的加密处理及密码保护。加密的算法可以为DES标准算法或其他。 8)EEPROM存储器及其接口电路:EEPROM INTERFACE/EEPROM MEMORY 该单元主要用于存储用户数据,在卡失掉电源后(卡片离开读写器天线的有效工作范围)数据仍将被保持。 MIFARE 1卡片中的这一单元容量为8192 b(1 KB),分为16个扇区。,3.4.3 MIFARE 1卡片的存储结构 1MIFARE 1卡片的存储区划分 MIFARE 1卡片的存储容量为10248 b字长(即1 KB),采用EEPROM作为存储介质,整个结构划分为16个扇区,编为扇区015。每个扇区有4个块(block),分别为块0、块1、块2和块3。每个块有16个字节。一个扇区共有 16 B4 = 64 B(如图3.12所示)。,图3.12 MIFARE 1卡片的存储结构图,1) 厂商块 厂商块是存储器第1个扇区(扇区0)的第1个数据块(块0),它包含了IC卡厂商的数据。基于保密性和系统的安全性,这一块在IC卡厂商编程之后被置为写保护,因此该块不能再复用为应用数据块。 其中:第03个字节为卡片的序列号;第4个字节为序列号的校验码;第5个字节为卡片的容量“Size”字节;第67个字节为卡片的类型号字节,即TagType字节;其他字节由厂商另加定义。 例如,一张MIFARE 1卡扇区0中的块0(block 0)存储的16个字节的内容为420A7E00368804004481740630373937H,则其序列号为420A7E00H,序列号的校验码为36H,容量字节Size为88H,卡片类型号TagType为0400H。,2) 数据块 所有的扇区都包含三个数据块(扇区0只有两个数据块和一个只读的厂商块),每个块有16个字节。数据块可以被以下的访问控制位(access bits)配置为读写块或值块。 (1) 读写块:用作一般的数据保存,可用读/写命令直接读/写整个块,例如在食堂消费时采用输入饭菜金额的方式扣款。 (2) 值块:用作数值块,可以进行初始化值、加值、减值、读值的运算,系统配用相应的函数完成上述功能,有效的命令包括加/减/恢复/发送命令。例如在食堂消费时对于定额套餐采用输入餐号的方式加以扣款,以及用于公交/地铁等行业的检票/收费系统。,值块有一个固定的数据格式,可以进行错误检测和纠正并备份管理。 值块只能在值块格式的写操作时产生。值块格式如表3.6所示。其中,值(VALUE)表示一个带符号的4字节值,这个值的最低一个字节保存在最低的地址中,取反的字节以标准的2的补码的格式保存。为了保证数据的正确性和保密性,值被保存了三次,两次不取反保存,一次取反(带下划线者)保存。,表3.6 MIFARE 1卡的值块格式,地址(address)表示一个1字节的地址,当执行强大的备份管理时用于保存存储块的地址,地址字节保存了4次,取反和不取反各保存两次。在执行加/减/恢复/传送操作时地址保持不变,它只能通过写命令改变。 通常数据块中的数据都是需要保密的数据,例如购买公交卡时所预付的车费,智能大厦/智能小区进出时所需的控制信息,股票交易时持卡人必须对已存放在卡中的交易密码数据(如帐户、存款信息、持有的股票数量/品种等)进行确认后方能进行股票交易等。对这些数据的读/写/加值/减值均需符合该块存取条件的要求及通过该扇区的密码认证。,3) 区尾块 每个区都有一个区尾(sector trailer),它包括以下两点: (1) 密钥A(第05字节,共6 B)和密钥B(第1015字节,共6 B,可选),读密钥时返回逻辑0。 (2) 存取控制位(access bits,第69字节,共4 B):访问这个扇区中4个块的条件,存取控制位也可以指出数据块的类型(读写或值)。 密钥A的缺省值为A0A1A2A3A4A5H,密钥B的缺省值为B0B1B2B3B4B5H,存取控制位的缺省值为FF078069H。 如果不需要密钥B,那么块3的最后6 B可以作为数据字节。 用户数据可以使用区尾的第9字节,这个字节具有与字节6、7和8一样的访问权限。,2MIFARE 1 卡的密码认证方式,图3.13 三次相互认证的令牌原理框图,三次相互认证的过程如下: (A) 环:由MIFARE 1卡片向读写器发送一个随机数据RB。 (B) 环:由读写器收到RB后向MIFARE 1卡片发送一个令牌数据TOKEN AB,其中包含了用读写器中存放的密码加密后的RB及读写器发出的一个随机数据RA。 (C) 环:MIFARE 1卡片收到 TOKEN AB 后,用卡中的密码对TOKEN AB的加密的部分进行解密得到RB,并校验第一次由(A)环中MIFARE 1卡片发出去的随机数RB是否与(B)环中接收到的TOKEN AB中的RB相一致;若读写器与卡中的密码及加密/解密算法一致,将会有RB=RB,校验正确,否则将无法通过校验。 (D) 环:如果(C)环校验是正确的,则MIFARE 1卡片用卡中存放的密码对RA加密后发送令牌TOKEN BA给读写器。,(E) 环:读写器收到令牌TOKEN BA后,用读写器中存放的密码对令牌TOKEN BA中的RA(随机数)进行解密得到RA;并校验第一次由(B)环中读写器发出去的随机数RA是否与(D)环中接收到的TOKEN BA中的RA 相一致;同样,若读写器与卡中的密码及加密/解密算法一致,将会有RA=RA,校验正确,否则将无法通过校验。 如果上述的每一个环都为“真”,且都能正确通过验证,则整个的认证过程将成功。读写器将允许对刚刚认证通过的卡片上的这个扇区进入下一步的操作(读/写等操作)。,卡片中的其他扇区由于有其各自的密码,因此不能对其进行进一步的操作。如果想对其他扇区进行操作,则必须完成相应扇区的认证过程。 认证过程中的任何一环出现差错,整个认证将告失败,必须重新开始。 如果事先不知卡片上的密码,则由于密码的变化可以极其复杂,因此靠猜测密码而想打开卡片上的一个扇区的可能性几乎为零。,3MIFARE 1 卡存取控制与数据区的关系,表3.7 MIFARE 1 卡存取控制的结构,表3.8 MIFARE 1 卡存取控制对块3的控制结构,表3.9 MIFARE 1卡存取控制对数据块的控制结构,MIFARE 1 卡出厂初始化时,所有扇区的块3的初始化值均为:,表3.10 初始化状态的存取控制位,对照上表可确定卡初始化后的存取控制条件为:密码A永不可读,校验密码A或密码B正确后可以修改;密码B在校验密码A或密码B正确后可读,可修改;数据块在校验密码A或密码B正确后可读,可修改。 应用人员可以根据自己应用的具体情况,对不同的扇区选用不同的存取控制、不同的密码,但应注意其每一位的格式,以免误用。一旦将某数据块设置为不可读/写/加值/减值,该块将被锁死;而一旦忘记某扇区的密码,要想重新试出来几乎是不可能的,因此该扇区也将被锁死。,3.5 非接触式IC卡接口设备内核技术,3.5.1 MIFARE 非接触式IC卡读写模块硬件内核电路 1MCM200/MCM500读写模块总体描述 Philips公司的MIFARE非接触式IC卡读写模块主要有两种产品型号,即MCM200和MCM500。MIFARE Core Module是MCM的全称,意为MIFARE 核心模块。这两种智能模块均用于MIFARE 非接触式IC卡读写器中,负责读写器中对非接触式IC卡的读写等功能,其基本功能包括调制、解调、产生射频信号、安全管理和防冲突处理,是读写器MCU(微控制器)与非接触式IC卡交换信息的桥梁。,MCM200的软件与MCM500模块100%兼容,其主要区别在于读写距离不同:MCM200模块对卡片的操作距离为25 mm,而MCM500模块对卡片的操作距离为100 mm。 MIFARE所具有的独特的MIFARE RF(射频)非接触式接口标准已被制定为国际标准ISO/IEC 14443 TYPE A 标准。,(1) MCM200模块为标准的双列直插32引脚,如图3.14所示,其引脚功能描述见表3.11;MCM500模块为48引脚带屏蔽盒的封装,如图3.15所示,其引脚功能与MCM200类同。,图3.14 MCM200模块引脚排列示意图,图3.15 MCM500模块引脚排列示意图,表3.11 MCM引脚功能描述,表3.11 MCM引脚功能描述,(2) 工作频率为13.56 MHz。 (3) MCM200模块为标准的+5 V电源供电,供电范围为4.755.25 V;MCM500模块为标准的+12 V电源供电。 (4) (典型)电流消耗40 mA,最大不超过80 mA,最小10 mA左右。 (5) MCM200模块读写距离可达25 mm,MCM500模块读写距离可达100 mm。 (6) 与卡片的通信速率可达106 kb/s。 (7) 模块与卡片通信时,数据加密。 (8) 每个扇区设有三套密码及其认证和密码存储器。,(9) 有防卡片重叠功能。 (10) 有16个字节的FIFO(先进先出)队列接收/发送缓冲寄存器。 (11) 在模块与卡片通信时自动侦查错误,自动对数据流分析。 (12) 对RF(射频)通道自动监控。 (13) 内建8位/16位的CRC协处理器,提供CRC、PARITY等数据校验。 (14) 支持多种方式的活动天线,并且不需“天调系统”(天线调节系统)对天线进行补偿调节。 (15) 有标准的MIFARE并行接口,MCM200模块与MCM500模块100%全兼容。 (16) 可遥控、级联MCM200/MCM500模块。 (17) 工作温度范围在-20+70。,2MCM的硬件内核接口电路 MCM的硬件内核接口电路可分为以下四个部分: (1) 与MCU(微处理机CPU)接口电路; (2) RF模块接口电路; (3) 与天线射频接口电路; (4) 与电源接口电路。,图3.16 MCM与MCU的接口电路,图3.17 RF模块接口电路,3) 与天线射频接口电路 ANT和GND引脚可用阻抗50 的同轴电缆直接与正极性天线相连接,连接长度一般应小于50 cm。 MCM的外部金属屏蔽盒(仅MCM500有)必须连接到同轴电缆的外屏蔽包裹线,以使信号不能扩散,且免受外界电磁辐射信号等的影响。 如果天线工作不正常,则可用“天线调谐器”来调谐,使之能将MIFARE 1卡的有效操作距离保持在25 mm/100 mm以上。,4) 与电源接口电路 与电源的接口包括这样几组信号: DVDD数字电路正电源端(+5 V); DGND数字电路接地端(0 V); BP缓冲器供电(通电工作时为+5 V;不通电工作时为+3 V); RFVDDRF电路正电源端(MCM500:+12 V;MCM200:+5 V); RFGNDRF电路接地端(0 V);,注意: RFGND和DGND应该分开接地或接到系统的接地端,连接线应该具有高导电特性且愈短愈粗愈好。 MCM供电电源端与GND端必须跨接100 nF的电容,这些电容应尽可能靠近MCM。 为避免引起接地环路,整个系统应由单一电源供电,且纹波电压应小于50 mv。,3.5.2 MCM的硬件内核寄存器剖析 MCU是通过对MCM 内核特殊的内存寄存器的读写来控制MCM的。这些寄存器位于MCM中ASIC(特殊应用IC)的内部, 共有16个寄存器可存取。在对MCM进行读/写操作时,各寄存器担负着不同的功能和作用。不是所有的寄存器都是可写或可读的,即有些寄存器只能读而不能写,有些则反之。 MCM实际上是MCU与非接触式IC智能(射频)卡之间进行信息(数据)交换的 “中间人”。任何读取或写进卡片上的数据均须通过MCM 来传递。读取MCM指通过MCM接收来自MIFARE 1卡的应答及数据;写MCM意味着去控制MCM,例如,送一些类型的指令给它。,表3.12 MCM中ASIC内核特殊寄存器一览表,1. 数据寄存器(DATA寄存器) 任何传递到MIFARE 1卡的数据或来自MIFRAE 1卡的数据都必须分别地被写入DATA寄存器或从DATA寄存器中读出。DATA寄存器中有一个16 B的FIFO(先进先出)队列寄存器。数据写到DATA寄存器后,被存放在这个16 B的FIFO(先进先出)队列寄存器中,等待向卡片或MCU传送。 例如,MCU向卡写数据Xi,则Xi必须首先被写入到 DATA寄存器中,然后在MCM与MIFARE 1卡进行通信时,由卡上的ASIC顺序读取DATA寄存器中的数据,送往调制/解调模块调制到13.56 MHz的射频信号上,由天线发射给MIFARE1卡,并存放在卡片上指定的存储器中,从而完成MCU向MIFRAE 1卡写数据的过程。,反之,MCU要读取卡数据Xj,则由MCM的RF模块接收来自卡片的射频信号,经解调得到数字信息Xj存入DATA寄存器中,然后由MCU按先入先出的原则逐一读出。 需要指出的是,在传送DATA寄存器中的数据之前必须先设定要传输多少位(bit)或多少字节(Byte),即必须对BCNTS和BCNTR寄存器进行有效的正确设置,以确定有多少

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论