CPU卡技术3.ppt_第1页
CPU卡技术3.ppt_第2页
CPU卡技术3.ppt_第3页
CPU卡技术3.ppt_第4页
CPU卡技术3.ppt_第5页
已阅读5页,还剩267页未读 继续免费阅读

下载本文档

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

文档简介

第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 理解和掌握MIFARE1卡 M1卡 的存储结构 3 通过MIFARE非接触式IC卡开发系统的使用 了解MIFARE卡的基本操作方法 2 实训设备与器件 1 实训设备 MIFARE系列非接触式IC卡开发板 586电脑 MIFARE系列非接触式IC卡开发系统演示软件 2 实训器件 MIFARE1卡 3 实训步骤与要求1 RF系列非接触式IC卡开发系统的安装 1 按系统提示安装MIFARE系列非接触式IC卡开发系统演示软件MWRF 2 按标志连接MIFARE系列非接触式IC卡开发板的电源线及串口线 注意电源 5V与地不可接反 2 使用MIFARE系列接触式IC卡开发系统演示软件MWRF访问MIFARE1卡 1 按使用手册的说明操作演示软件 对MIFARE非接触式IC卡开发板的MCM进行建立连接 装载密码 LoadKey 操作 实验用MIFARE1卡所有扇区的初始密码被设置为FFFFFFH 在演示软件界面中选择密码集0 密码A 将扇区0 14的密码A设置为FFFFFFH 而将扇区15的密码A设置为000000H 启动密码下载 下载过程中红色指示灯点亮 下载完毕后红色指示灯熄灭 这一步骤与卡无关 2 将MIFARE1卡按任意方向置入MIFARE开发板天线有效工作范围内 对MIFARE1卡的各扇区的块0 1 2进行读 写操作 操作界面如图3 1所示 在表3 1中记录读取的卡数据并分析其存储结构 标明各块的类型及卡的类型号 序列号 容量及各扇区的密码和访问权限 注意 不得随意修改各扇区块3的数据 特别是访问权限字节 以免造成扇区被锁死 图3 1RF系列非接触式IC卡开发系统演示软件MWRF操作界面 表3 1MIFARE1存储结构记录与数据分析表 3 测试防冲突功能 1 分别读出并记录两张MIFARE1卡的序列号 2 分别将这两张MIFARE1卡的扇区0块1的数据修改为FFFFFFFFFFFFFFFFH 3 将两张MIFARE1卡同时放置在读写器天线有效工作范围内 读出扇区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的数据分析可以看到 MIFARE1卡的存储容量为8Kb 1KB 并划分为16个扇区 每个扇区划分为4个数据存储块 每个数据块有16B 每个扇区的块3存放着该扇区的密码和存取控制条件 即每个扇区可有不同的密码和多种密码管理方式 2 每个扇区无论读 写都必须先通过密码认证 3 每张卡具有惟一的卡片序列号 没有相同的两张MIFARE卡片 由上述分析可以看到 MIFARE卡具有极高的安全性 能够实现一卡多用 4 由步骤3的操作及表3 2的数据分析可以看到MIFARE卡片具备防冲突功能 当一张以上的卡同时处在读写器天线的有效工作范围内 发生冲突 时 读写器可根据卡片的全球惟一的序列号选择其中一张卡并使之激活 能且仅能对这张卡进行下一步的操作 而其他卡不会同时被选中 不能进行下一步的操作 这样就避免了对重叠卡的误操作 由于采用了非接触式操作 有可能出现多张卡同时处在读写器天线的有效工作范围内的情况 称之为 冲突 因此防冲突是各种非接触式IC卡首先要解决的问题之一 关于防冲突的详细介绍参见3 3节 5 思考与接触式IC卡门禁系统相比较 由MIFARE1卡及其读写器构成的非接触式门禁系统有何优胜之处 采用MIFARE1卡作为门钥匙时 应以卡中的哪个数据作为其惟一的身份标志 3 2非接触式IC卡概述 3 2 1非接触式IC卡系统的构成与特点1 非接触式IC卡系统的构成1 非接触式IC卡非接触式IC卡 也称为 应答器 是射频识别系统的电子数据载体 卡中嵌有耦合元件和微电子芯片 其结构如图3 2所示 在读写器的响应范围之外 非接触式IC卡处于无源状态 通常 非接触式IC卡没有自己的供电电源 电池 只是在读写器响应范围之内 卡才是有源的 卡所需要的能量以及时钟脉冲 数据 都是通过耦合单元的电磁耦合作用传输给卡的 图3 2非接触式IC卡的基本结构 非接触式IC卡的外形尺寸符合国际标准ISO7810对ID 1型卡的规定 85 72mm 54 03mm 0 76mm 其制造工艺是在四层PVC薄膜 两层嵌入薄膜和两层覆盖薄膜 之间粘合一个非接触式IC卡模块及耦合元件而构成的 其中 耦合元件一般为电磁感应天线线圈 起电感耦合作用 将设计成线圈状的天线安放在承载薄膜的上面 且用适当的连接技术将其与芯片模块连接在一起 天线的制造主要采用以下四种方法 绕制工艺 布线工艺 丝网印刷工艺和蚀刻工艺 非接触式IC卡的薄膜结构如图3 3所示 图3 3非接触式IC卡的薄膜结构 2 非接触式IC卡读写器典型的非接触式IC卡读写器 也称为 阅读器 包含有高频模块 发送器和接收器 控制单元以及与卡连接的耦合元件 如图3 4所示 由高频模块和耦合元件发送电磁场 以提供非接触式IC卡所需要的工作能量以及发送数据给卡 同时接收来自卡的数据 此外 大多数非接触式IC卡读写器都配有上传接口 以便将所获取的数据上传给另外的系统 个人计算机 机器人控制装置等 图3 4非接触式IC卡系统的基本组成 2 非接触式IC卡的特点 1 可靠性高 寿命长 由于读写之间无机械接触 避免了因接触读写而产生的各种故障 且非接触式IC卡及读写器表面均无裸露的触点 无须担心触点损坏或脱落 卡弯曲损害所致之卡片失效 卡和读写器均为全封闭防水 防尘结构 既避免静电 尘污对卡的影响 也可防止粗暴插卡 异物插入读写器插槽以及读写器 吃卡 等问题 这些都将大大提高卡及机具的可靠性和使用寿命 2 操作快捷便利 无接触通信使读写器在10cm范围内就可以对卡片操作 无需插拔 且非接触式IC卡使用时无方向性 卡片可以任意方向掠过读写器表面完成操作 既方便又提高了使用速度 3 动态处理 由于非接触式IC卡与读写器之间通信时处于相对运动的状态 对电路的处理速度 可靠性等都提出了更高的要求 因此 对应用于安全性要求较高的场合 目前仍主要采用接触式CPU卡 非接触式CPU卡正处于发展中 4 成本较高 显然 由于卡和读写器都需要将射频技术结合进去 因此必然会增加其成本 3 2 2非接触式IC卡的分类和国际标准1 非接触式IC卡的分类关于接触式IC卡的国际标准ISO IEC7816已相对成熟 但是关于非接触式IC卡的标准ISO IEC14443和ISO IEC15693尚未完成 因此 目前市面上多种类型的非接触式IC卡并存 1 与接触式IC卡相类似 按卡内集成电路的不同可分为存储器卡 片内只含有EEPROM存储介质 逻辑加密卡 内含加密逻辑和EEPROM 如Philips的MIFARESTAND LIGHT Siemens的SLE44R31 35 CPU卡 内含CPU EEPROM RAM及固化于ROM中的片内操作系统COS 甚至用于密码运算的写处理器CAU 如OTI的EYECON 表3 3非接触式IC卡分类 表中 ICC为集成电路卡 CICC为Close coupledICC 即紧密 密耦合 卡 PICC为ProximityICC 称为接近 近耦合 卡 VICC为VicinityICC 称为邻近 疏耦合 卡 CD为CouplingDevice 是读写器中发射电磁波的部分 此外 还有远距离系统 其作用距离是1 10m 个别系统也有更远的距离 所有远距离系统都是在微波范围内用电磁波工作的 发送频率为5 8GHz 也有些系统使用915MHz 在欧洲是不允许的 5 8GHz和24 125GHz 3 按工作频率的高低分为125kHz的低频卡 30 300kHz 13 56MHz的高频 或射频 卡 3 30MHz 915MHz 2 45GHz的超高频卡 300MHz 3GHz 以及5 8GHz的微波卡 大于3GHz 频率越高 通信速率越快 系统工作时间越短 4 按卡内芯片供电方式可分为卡内带电池的有源卡和卡内无电池 由读写器以无线感应方式供电的无源卡 前者通信距离较远 但体积相对较大 目前实际应用较为广泛的为后者 5 按使用过程中的读写方式分为只读卡和读写卡 只读卡只读不写 仅供 或主要供 对象识别用 多被封装为电子标签 钥匙扣 圈 甚至手表等形式 因此有的文献将这种卡通称为应答器 表3 4非接触式IC卡系统概览 续表 续表 2 非接触式IC卡的国际标准非接触式IC卡的国际标准包括ISO IEC10536 ISO IEC14443和ISO IEC15693 如表3 3所示 其中ISO IEC10536 1 2 3已讨论通过 定为正式标准 而ISO IEC14443和ISO IEC15693尚为草案 由于目前使用的非接触式IC卡大多为PICC 近耦合卡 因此近年来国际标准化组织多次举行国际会议以推进ISO IEC14443的正式实施 现阶段ISO IEC14443 草案 主要有两个体系并存 ISO IEC14443 TYPEA和ISO IEC14443 TYPEB 其中TYPEA以Philips公司为代表 包括Siemens Hitachi Gemplus G D和Schlumberger等公司 并已推出包括存储器卡 逻辑加密卡 CPU卡和组合卡在内的各种产品 TYPEB以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串联谐振电路产生共振 从而使电容内有了电荷 在这个电容的另一端 接有一个单向导通的电子泵 将电容内的电荷送到另一个电容内储存 当所积累的电荷达到2V时 此电容可以作为电源为其他电路提供工作电压 供卡内集成电路工作所需 3 同时卡内的电路对接收到的信息进行分析 判断发自读写器的命令 如需在EEPROM中写入或修改内容 还需将2V电压提升到15V左右 以满足写入EEPROM的电压要求 4 IC卡对读写器的命令进行处理后 发射应答信息给读写器 5 读写器接收IC卡的应答信息 3 3 2非接触式IC卡与读写器的信号接口 图3 6TYPEA和TYPEB卡与读写器之间的信号 图中阴影部分为fc 13 56MHz载波 数据传输速率 13 56MHz 128 106kb s 9 4 s b 从PICC发向PCD的信号用副载波 subcarrier 调制 副载波的频率fs fc 16 847kHz 一个位时间等于8个副载波周期 可以看到 两种方式最主要的分别在于载波调制程度的不同 如图3 6 a 所示 以及二进制数据的编码方法不同 如图3 6 b 所示 从TYPEA和TYPEB的比较可以看出以下几点 1 从读写器到卡的调制 TYPEA用100 ASK 因此其信号区别明显 易于检测 抗干扰能力强 但在每一位的传送 传送速率为106kb s时 传送周期为9 4 s 中 有约3 s的信号间歇 这时的读写器到卡的能量供应中断 必须在卡内电路中加一个大容量电容以维持一定的能量供应 而TYPEB用10 ASK 卡片可以从读写器获得持续的能量 但信号区别不明显 容易造成误读 写 抗干扰能力较差 2 TYPEA卡片能量的中断会导致卡片时钟的中断 而回避时钟中断问题又可能留一个 后门 让 单步跟踪 有机可乘 3 当试图提速时 如传送速率为212kb s时 位传送周期仅为4 7 s 这种情况下3 s的中断已大于传送周期的60 而传送速率为424kb s时 位传送周期仅为2 35 s 这种情况下3 s的中断已使系统无法工作 即TYPEA无法实现这种传送速率 4 TYPEA的防冲突需要卡片上较高和较精确的时序 因此需要在卡和读写器中分别加一些硬件 而TYPEB的防冲突可以用软件来实现 目前TYPEA与TYPEB孰优孰劣尚在争议中 TYPEA的产品具有更高的市场占有率 如Philips公司的MIFARE系列占有了当前约80 的市场 且在较为恶劣的工作环境下更有优势 但TYPEB应该在安全性 高速率和适应性方面有更好的前景 并且更适合于CPU卡 3 3 3初始化与防冲突1 TYPEA的初始化与防冲突1 PCD卡管理命令PCD用以管理进入其工作范围的多张IC卡的命令有 1 REQA TYPEA请求命令 2 WAKEUP 唤醒命令 3 ANTICOLLISION 防冲突命令 4 SELECT 选择命令 5 HALT 停止命令 图3 7为TYPEA的PICC状态图 对各状态的说明如下 1 POWEROFF 断电 状态 PICC尚未获得能量 未进入PCD工作区 而处于断电状态 因此也不能发射负载波 2 IDLE 休闲 状态 PICC进入PCD工作区 被电磁场激活后 获得能量 生成电压 进入IDLE状态 同时能对已被调制的信号解调 并认识来自PCD的REQA和WAKEUP命令 3 READY 就绪 状态 当接收到一个有效的REQA或WAKEUP命令时 就进入READY状态 在这一状态中采用防冲突方法 用UID 惟一标识符 从多张IC卡中选择出一张PICC 此时该张PICC就进入ACTIVE 激活 状态 4 ACTIVE 激活 状态 在本状态 完成本次应用 一次交易 所要求的全部操作 5 HALT 停止 状态 PICC完成一次交易后 被置于HALT状态 状态转换所需命令也已分别列入PICC状态图 见图3 7 中 图3 7TYPEA的PICC状态图 2 PCD初始化和防冲突流程 图3 8PCD初始化和防冲突总流程图 TYPEA 表3 5UID结构 表中CT为级联信号 表示在下一级中还有UID BCC为本级检验码 首先由PCD发送REQA命令或WAKEUP命令 使卡进入READY状态 这两个命令的差别是 REQA命令使卡从IDLE状态进入READY状态 而WAKEUP命令使卡从HALT状态进入READY状态 PICC接收到命令后 所有处在PCD电磁场范围内的PICC同步发出ATQA应答 说明本卡UID的大小 1 2或3 之后进入READY状态 执行防冲突循环操作 PCD通过发送ANTICOLLISION和SELECT命令执行防冲突循环操作 这两条命令的格式如下 其中 SEL为指令码 其代码为93 95或97 分别代表选择UIDCL1 UIDCL2或UIDCL3 NVB表示本命令的长度 NVB的前半字节表示字节数 后半字节表示位数 PCD初始化和防冲突总流程如图3 8所示 首先选出UIDCL1 然后检查SAK SAK返回UID 完整否 的信息 如果UID的大小为1 SAK返回 完整 信息 如果UID的大小为2 则还需选择UIDCL2再次进入位帧防冲突过程 最终才能选出PICC的惟一标识符UID 然后进入激活状态 图3 9所示为PCD完成位帧防冲突的过程 其操作过程如下 1 PCD指定防冲突命令SEL代码为93 95或97 分别对应于UIDCL1 UIDCL2或UIDCL3 2 PCD指定NVB的值是 20H 此值表示PCD不发出UIDCLn的任一部分 而迫使在场的PICC发回完整的UIDCLn 3 PCD发送SEL和NVB到PICC 4 所有PICC返回UIDCLn 5 假如多于一个卡发回应答 则产生了冲突 此时PCD接收到的应答信息至少有1位既是0又是1 即该位的前半部分和后半部分都有调制信号 如果不发生冲突 则可跳过 6 10 步 PCD应认出第1个发生冲突的位置 6 PCD指定NVB的值为UIDCLn的有效位个数 所谓 有效位 是指接收到的UIDCLn发生冲突之前的部分 后面再由PCD决定加一位 0 或 1 一般加 1 7 PCD发送命令SELNVB和有效位数据 8 只有其UIDCLn部分与PCD发送的有效数据内容相等时 才发出UIDCLn的其余位 这样就排除了冲突位为 0 的PICC 9 假如还有冲突发生 重复 6 9 步 最大循环次数为32 10 假如没有冲突再发生 PCD指定NVB为 70H 此值表示PCD将发送完整的UIDCLn 11 PCD发送命令 SELNVB40BITUIDCLnCRCA 12 与40位UIDCLn匹配的PICC 以SAK作为应答 图3 9PCD防冲突循环流程 TYPEA 2 TYPEB的初始化和防冲突PCD用以管理进入其工作范围的多张IC卡的命令有 1 REQB TYPEB请求命令 2 SLOTMARKER 时隙标记命令 3 ATTRIB 标识命令 4 DESELECT 解除选取命令 图3 10TYPEB的PICC状态图 图3 10为TYPEB的PICC状态图 TYPEB的初始化和防冲突流程如下 1 POWEROFF 断电 状态 同TYPEA 2 IDLE 休闲 状态 PICC生成电压 等待接收有效的REQB命令 对于TYPEB卡 通过发送REQB命令可直接启动防冲突算法 使用的方法是动态的Slotted ALOHA法 时隙 ALOHA法 接收到有效的REQB命令后 PICC规定一个惟一的时隙 SLOT 用于回送它的应答ATQB 如果规定的时隙是第1个时隙 总共可以有16个时隙 那么PICC发送ATQB并进入READY DECLARED 就绪 宣布 状态 如果规定的时隙不是第1个时隙 PICC进入READY REQUESTED 就绪 请求 状态 3 READY REQUESTED状态 监听PCD发出的SLOTMARKER命令 该命令中给出了SLOTMARKER 如果PICC的SLOT与它匹配 每次最多一张卡能匹配 就发生应答ATQB 并进入READY DECLARED状态 如果PICC的SLOT与它不匹配 则仍留在READY REQUESTED状态 ATQB包含惟一标识符PUPI Pseudo UniqPiccIdentifier 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 将不再参与防冲突循环 当卡从射频场退出 将回到POWEROFF状态 上述TYPEB的防冲突机制可由软件来完成 3 4非接触式IC卡芯片技术 3 4 1MIFARE1非接触式IC卡的总体描述MIFARE1IC智能 射频 卡采用先进的芯片制造工艺制作 内建有高速的CMOSEEPROM ASIC等 卡片上除了IC微晶片及一副高效率天线外 无任何其他元件 根据ISO IEC14443A标准 Philips开发了无线智能卡芯片MF1ICS50 它是MIFARE1IC智能 射频 卡的核心 该芯片的通信层MIFARERF接口遵从ISO IEC14443A标准的第2部分和第3部分 保密层 securitylayer 使用经区域验证的CRYPTO1流密码 field provenCRYPTO1streamcipher 使典型MIFARE系列芯片的数据交换得到保密 1 MIFARERF接口 ISO IEC14443A 无线传送数据和能量 1 无线传送数据和能量 即MIFARE卡片上无源 无任何电池 MF1ICS50连接着几匝线圈 线圈嵌入到塑料卡片中 这就形成了一张无源的无线智能卡 工作时的电源能量由读写器天线发送无线电载波信号耦合到卡片的天线上而产生电能 一般可达2V以上 供卡片上IC工作 其工作距离最高可达100mm 由天线的结构决定 2 工作频率为13 56MHz 3 数据传送速率快 且为106kb s 2 真正的防冲突智能的防冲突功能允许同一工作区域中有不止一张卡同时工作 防冲突算法每次只选择一张卡 确保对被选中的卡正确执行操作 而且同一区域中的其他卡不会破坏数据 3 保密性 security MIFARE卡的一个特殊要点是高保密性 防止欺骗 相互认证 mutualchallenge 和响应确认数据保密 报文确认检查防止系统受到任何干扰 序列号不可修改更保证了每张卡都是惟一的 1 需要通过三次相互认证 mutualthreepassauthentication 符合ISO IECDIS9798 2的规定 2 RF信道的数据加密 多重防攻击保护 3 每个扇区 每个应用 有两套独立的密钥 支持带密钥层次的多应用 supportmulti applicationwithkeyhierarchy 4 每张卡有全球惟一的序列号 5 在运输过程中访问EEPROM有传输密钥保护 transportkeyprotectsaccesstoEEPROMonchipdelivery 4 数据高度可靠 正确 读写器和卡之间的无线通信链路使用了以下的机制确保数据可靠地传输 1 卡片上有高速的CRC协处理器实现每个块16位CRC 2 每个字节都有奇偶校验位 3 位计数检查 4 用位编码区别1 0和没有信息 5 信道监控 协议序列和位流分析 5 EEPROM存储器结构提供多应用MIFARE系统提供了一个实时的多应用功能 每区有两个不同的密钥 这样系统可以使用密钥层次 1 内建1KBEEPROM 分成16个扇区 每扇区又分成4个数据块 每一块中有16个字节 2 用户可以定义每一个存储器块的访问条件 3 每个扇区 每个应用 有两套独立的密钥 支持带密钥层次的多应用 4 数据保存期可达10年以上 5 可写100000次以上 6 卡片抗静电保护能力达2kV以上 6 方便用户系统的设计使用户使用更加方便 例如卡片上还内建有增值 减值的专项的数学运算电路 非常适合公交 地铁等行业的定额收费系统 由于数据传送速率很高 典型的购票处理时间 ticketingtransaction 小于100ms 包括备份管理 这样MIFARE卡用户就不需要停在读写器前面 增大了通道门的吞吐量 减少了上公共汽车的时间 如果卡放在钱包中 甚至钱包中有硬币也可以进行交易 3 4 2MIFARE1非接触式IC卡的功能组成 图3 11MF1ICS50非接触式IC卡的功能组成图 1 RF射频接口电路在卡的RF射频接口电路中 波形转换模块接收读写器所发送的13 56MHz的无线电调制信号 一方面送调制 解调模块 经解调得到相应的数字信息送数字电路模块 另一方面进行波形转换 将正弦波转换为方波 然后对其整流滤波 由电压调节模块对电压进行进一步的处理 包括稳压等 最终输出提供卡片上各电路的工作电压 POR模块主要是对卡片上的各个电路进行POWER ON RESET 上电复位 使各电路同步启动工作 而数字电路模块送出的数字信息则经由调制 解调模块调制为13 56MHz的无线电调制信号 再送往波形转换模块发送给读写器 2 数字电路部分模块1 ATR模块 AnswerToRequest 请求之应答 当一张MIFARE1卡处在读写器的天线工作范围之内时 程序员控制读写器向卡发出Requestall 或Requeststd 命令后 卡的ATR将启动 将卡片Block0中2个字节的卡类型号 TagType 传送给读写器 建立卡与读写器的第一步通信联络 如果不进行第一步的ATR工作 读写器对卡的其他操作 读 写操作等 将不会进行 2 AntiCollision模块 防 卡片 冲突功能如果有多张MIFARE1卡处在读写器的天线工作范围之内 则AntiCollision模块的防冲突功能将被启动工作 读写器将会首先与每一张卡进行通信 读取每一张卡的序列号 SerialNumber 由于每一张MIFARE1卡都具有惟一的序列号 决不会相同 因此程序员将启动读写器中的AntiCollision防重叠功能配合卡上的防重叠功能模块 根据卡序列号来选定其中一张卡 被选中的卡将被激活 可以与读写器进行数据交换 而未被选中的卡处于等待状态 随时准备与读写器进行通信 AntiCollision模块 防重叠功能 启动工作时 读写器将得到卡片的序列号 SerialNumber 序列号存储在卡的Block0中 共有5个字节 实际有用的为4个字节 另一个字节为序列号的校验字节 3 SelectApplication模块 卡片的选择当卡与读写器完成了上述两个步骤 读写器要想对卡进行读 写操作时 必须对卡进行 Select 操作 以使卡真正地被选中 被选中的卡将卡片上存储在Block0中的卡容量 Size 字节传送给读写器 当读写器收到这一字节后 方可对卡进行进一步的操作 如密码验证等 4 Authentication AccessControl模块 认证及存取控制模块完成上述的三个步骤后 读写器对卡进行读 写操作之前 必须对卡上已经设置的密码进行认证 如果匹配 则允许进一步的读 写操作 MIFARE1卡上有16个扇区 每个扇区都可分别设置各自的密码 互不干涉 必须分别加以认证 才能对该扇区进行下一步的操作 因此每个扇区可独立地应用于一个应用场合 整个卡可以设计成一卡多用 一卡通 的形式来应用 密码的认证采用了三次相互认证的方法 具有很高的安全性 如果事先不知卡上的密码 则因密码的变化可以极其复杂 试图靠猜测密码而打开卡上一个扇区的可能性几乎为零 特别需要注意的是 无论是程序员还是卡的使用者 都必须牢记卡中的16个扇区的每一个密码 否则 遗忘某一扇区的密码将使该扇区中的数据不能读写 没有任何办法可以挽救这种低级错误 但是 卡上的其他扇区可以照样使用 5 Control ArithmeticUnit 控制及算术运算单元这一单元是整个卡的控制中心 是卡的 头脑 它主要对卡的各个单元进行操作控制 协调卡的各个步骤 同时它还对各种收 发的数据进行算术运算处理 递增 递减处理和CRC运算处理等 是卡中内建的中央微处理器 MCU 单元 6 RAM ROM单元RAM主要配合控制及算术运算单元 将运算的结果进行暂时存储 例如将需存储的数据由控制及算术运算单元取出送到EEPROM存储器中 将需要传送给读写器的数据由控制及算术运算单元取出 经过RF射频接口电路的处理 通过卡片上的天线传送给读写器 RAM中的数据在卡失掉电源后 卡片离开读写器天线的有效工作范围 将会丢失 同时 ROM中则固化了卡运行所需要的必要的程序指令 由控制及算术运算单元取出 对每个单元进行指令控制 使卡能有条不紊地与读写器进行数据通信 7 CryptoUnit 数据加密单元该单元完成对数据的加密处理及密码保护 加密的算法可以为DES标准算法或其他 8 EEPROM存储器及其接口电路 EEPROMINTERFACE EEPROMMEMORY该单元主要用于存储用户数据 在卡失掉电源后 卡片离开读写器天线的有效工作范围 数据仍将被保持 MIFARE1卡片中的这一单元容量为8192b 1KB 分为16个扇区 3 4 3MIFARE1卡片的存储结构1 MIFARE1卡片的存储区划分MIFARE1卡片的存储容量为1024 8b字长 即1KB 采用EEPROM作为存储介质 整个结构划分为16个扇区 编为扇区0 15 每个扇区有4个块 block 分别为块0 块1 块2和块3 每个块有16个字节 一个扇区共有16B 4 64B 如图3 12所示 图3 12MIFARE1卡片的存储结构图 1 厂商块厂商块是存储器第1个扇区 扇区0 的第1个数据块 块0 它包含了IC卡厂商的数据 基于保密性和系统的安全性 这一块在IC卡厂商编程之后被置为写保护 因此该块不能再复用为应用数据块 其中 第0 3个字节为卡片的序列号 第4个字节为序列号的校验码 第5个字节为卡片的容量 Size 字节 第6 7个字节为卡片的类型号字节 即TagType字节 其他字节由厂商另加定义 例如 一张MIFARE1卡扇区0中的块0 block0 存储的16个字节的内容为420A7E00368804004481740630373937H 则其序列号为420A7E00H 序列号的校验码为36H 容量字节Size为88H 卡片类型号TagType为0400H 2 数据块所有的扇区都包含三个数据块 扇区0只有两个数据块和一个只读的厂商块 每个块有16个字节 数据块可以被以下的访问控制位 accessbits 配置为读写块或值块 1 读写块 用作一般的数据保存 可用读 写命令直接读 写整个块 例如在食堂消费时采用输入饭菜金额的方式扣款 2 值块 用作数值块 可以进行初始化值 加值 减值 读值的运算 系统配用相应的函数完成上述功能 有效的命令包括加 减 恢复 发送命令 例如在食堂消费时对于定额套餐采用输入餐号的方式加以扣款 以及用于公交 地铁等行业的检票 收费系统 值块有一个固定的数据格式 可以进行错误检测和纠正并备份管理 值块只能在值块格式的写操作时产生 值块格式如表3 6所示 其中 值 VALUE 表示一个带符号的4字节值 这个值的最低一个字节保存在最低的地址中 取反的字节以标准的2的补码的格式保存 为了保证数据的正确性和保密性 值被保存了三次 两次不取反保存 一次取反 带下划线者 保存 表3 6MIFARE1卡的值块格式 地址 address 表示一个1字节的地址 当执行强大的备份管理时用于保存存储块的地址 地址字节保存了4次 取反和不取反各保存两次 在执行加 减 恢复 传送操作时地址保持不变 它只能通过写命令改变 通常数据块中的数据都是需要保密的数据 例如购买公交卡时所预付的车费 智能大厦 智能小区进出时所需的控制信息 股票交易时持卡人必须对已存放在卡中的交易密码数据 如帐户 存款信息 持有的股票数量 品种等 进行确认后方能进行股票交易等 对这些数据的读 写 加值 减值均需符合该块存取条件的要求及通过该扇区的密码认证 3 区尾块每个区都有一个区尾 sectortrailer 它包括以下两点 1 密钥A 第0 5字节 共6B 和密钥B 第10 15字节 共6B 可选 读密钥时返回逻辑0 2 存取控制位 accessbits 第6 9字节 共4B 访问这个扇区中4个块的条件 存取控制位也可以指出数据块的类型 读写或值 密钥A的缺省值为A0A1A2A3A4A5H 密钥B的缺省值为B0B1B2B3B4B5H 存取控制位的缺省值为FF078069H 如果不需要密钥B 那么块3的最后6B可以作为数据字节 用户数据可以使用区尾的第9字节 这个字节具有与字节6 7和8一样的访问权限 2 MIFARE1卡的密码认证方式 图3 13三次相互认证的令牌原理框图 三次相互认证的过程如下 A 环 由MIFARE1卡片向读写器发送一个随机数据RB B 环 由读写器收到RB后向MIFARE1卡片发送一个令牌数据TOKENAB 其中包含了用读写器中存放的密码加密后的RB及读写器发出的一个随机数据RA C 环 MIFARE1卡片收到TOKENAB后 用卡中的密码对TOKENAB的加密的部分进行解密得到RB 并校验第一次由 A 环中MIFARE1卡片发出去的随机数RB是否与 B 环中接收到的TOKENAB中的RB 相一致 若读写器与卡中的密码及加密 解密算法一致 将会有RB RB 校验正确 否则将无法通过校验 D 环 如果 C 环校验是正确的 则MIFARE1卡片用卡中存放的密码对RA加密后发送令牌TOKENBA给读写器 E 环 读写器收到令牌TOKENBA后 用读写器中存放的密码对令牌TOKENBA中的RA 随机数 进行解密得到RA 并校验第一次由 B 环中读写器发出去的随机数RA是否与 D 环中接收到的TOKENBA中的RA 相一致 同样 若读写器与卡中的密码及加密 解密算法一致 将会有RA RA 校验正确 否则将无法通过校验 如果上述的每一个环都为 真 且都能正确通过验证 则整个的认证过程将成功 读写器将允许对刚刚认证通过的卡片上的这个扇区进入下一步的操作 读 写等操作 卡片中的其他扇区由于有其各自的密码 因此不能对其进行进一步的操作 如果想对其他扇区进行操作 则必须完成相应扇区的认证过程 认证过程中的任何一环出现差错 整个认证将告失败 必须重新开始 如果事先不知卡片上的密码 则由于密码的变化可以极其复杂 因此靠猜测密码而想打开卡片上的一个扇区的可能性几乎为零 3 MIFARE1卡存取控制与数据区的关系 表3 7MIFARE1卡存取控制的结构 表3 8MIFARE1卡存取控制对块3的控制结构 表3 9MIFARE1卡存取控制对数据块的控制结构 MIFARE1卡出厂初始化时 所有扇区的块3的初始化值均为 表3 10初始化状态的存取控制位 对照上表可确定卡初始化后的存取控制条件为 密码A永不可读 校验密码A或密码B正确后可以修改 密码B在校验密码A或密码B正确后可读 可修改 数据块在校验密码A或密码B正确后可读 可修改 应用人员可以根据自己应用的具体情况 对不同的扇区选用不同的存取控制 不同的密码 但应注意其每一位的格式 以免误用 一旦将某数据块设置为不可读 写 加值 减值 该块将被锁死 而一旦忘记某扇区的密码 要想重新试出来几乎是不可能的 因此该扇区也将被锁死 3 5非接触式IC卡接口设备内核技术 3 5 1MIFARE非接触式IC卡读写模块硬件内核电路1 MCM200 MCM500读写模块总体描述Philips公司的MIFARE非接触式IC卡读写模块主要有两种产品型号 即MCM200和MCM500 MIFARECoreModule是MCM的全称 意为MIFARE核心模块 这两种智能模块均用于MIFARE非接触式IC卡读写器中 负责读写器中对非接触式IC卡的读写等功能 其基本功能包括调制 解调 产生射频信号 安全管理和防冲突处理 是读写器MCU 微控制器 与非接触式IC卡交换信息的桥梁 MCM200的软件与MCM500模块100 兼容 其主要区别在于读写距离不同 MCM200模块对卡片的操作距离为25mm 而MCM500模块对卡片的操作距离为100mm MIFARE所具有的独特的MIFARERF 射频 非接触式接口标准已被制定为国际标准 ISO IEC14443TYPEA标准 1 MCM200模块为标准的双列直插32引脚 如图3 14所示 其引脚功能描述见表3 11 MCM500模块为48引脚带屏蔽盒的封装 如图3 15所示 其引脚功能与MCM200类同 图3 14MCM200模块引脚排列示意图 图3 15MCM500模块引脚排列示意图 表3 11MCM引脚功能描述 表3 11MCM引脚功能描述 2 工作频率为13 56MHz 3 MCM200模块为标准的 5V电源供电 供电范围为4 75 5 25V MCM500模块为标准的 12V电源供电 4 典型 电流消耗40mA 最大不超过80mA 最小10mA左右 5 MCM200模块读写距离可达25mm MCM500模块读写距离可达100mm 6 与卡片的通信速率可达106kb 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 2 MCM的硬件内核接口电路MCM的硬件内核接口电路可分为以下四个部分 1 与MCU 微处理机CPU 接口电路 2 RF模块接口电路 3 与天线射频接口电路 4 与电源接口电路 图3 16MCM与MCU的接口电路 图3 17RF模块接口电路 3 与天线射频接口电路ANT和GND引脚可用阻抗50 的同轴电缆直接与正极性天线相连接 连接长度一般应小于50cm MCM的外部金属屏蔽盒 仅MCM500有 必须连接到同轴电缆的外屏蔽包裹线 以使信号不能扩散 且免受外界电磁辐射信号等的影响 如果天线工作不正常 则可用 天线调谐器 来调谐 使之能将MIFARE1卡的有效操作距离保持在25mm 100mm以上 4 与电源接口电路与电源的接口包括这样几组信号 DVDD 数字电路正电源端 5V DGND 数字电路接地端 0V BP 缓冲器供电 通电工作时为 5V 不通电工作时为 3V RFVDD RF电路正电源端 MCM500 12V MCM200 5V RFGND RF电路接地端 0V 注意 RFGND和DGND应该分开接地或接到系统的接地端 连接线应该具有高导电特性且愈短愈粗愈好 MCM供电电源端与GND端必须跨接100nF的电容 这些电容应尽可能靠近MCM 为避免引起接地环路 整个系统应由单一电源供电 且纹波电压应小于50mv 3 5 2MCM的硬件内核寄存器剖析MCU是通过对MCM内核特殊的内存寄存器的读写来控制MCM的 这些寄存器位于MCM中ASIC 特殊应用IC 的内部 共有16个寄存器可存取 在对MCM进行读 写操作时 各寄存器担负着不同的功能和作用 不是所有的寄存器都是可写或可读的 即有些寄存器只能读而不能写 有些则反之 MCM实际上是MCU与非接触式IC智能 射频 卡之间进行信息 数据 交换的 中间人 任何读取或写进卡片上的数据均须通过MCM来传递 读取MCM指通过MCM接收来自MIFARE1卡的应答及数据 写MCM意味着去控制MCM 例如 送一些类型的指令给它 表3 12MCM中ASIC内核特殊寄存器一览表 1 数据寄存器 DATA寄存器 任何传递到MIFARE1卡的数据或来自MIFRAE1卡的数据都必须分别地被写入DATA寄存器或从DATA寄存器中读出 DATA寄存器中有一个16B的FIFO 先进先出 队列寄存器 数据写到DATA寄存器后 被存放在这个16B的FIFO 先进先出 队列寄存器中 等待向卡片或MCU传送 例如 MCU向卡写数据Xi 则Xi必须首先被写入到DATA寄存器中 然后在MCM与MIFARE1卡进行通信时 由卡上的ASIC顺序读取DATA寄存器中的数据 送往调制 解调模块调制到13 56MHz的射频信号上 由天线发射给MIFARE1卡 并存放在卡片上指定的存储器中 从而完成MCU向MIFRAE1卡写数据的过程 反之 MCU要读取卡数据Xj 则由MCM的RF模块接收来自卡片的射频信号 经解调得到数字信息Xj存入DATA寄存器中 然后由MCU按先入先出的原则逐一读出 需要指出的是 在传送DATA寄存器中的数据之前必须先设定要传输多少位 bit 或多少字节 Byte 即必须对BCNTS和BCNTR寄存器进行有效的正确设置 以确定有多少字节将要被写入DATA寄存器发送给卡或将从卡接收多少个字节到DATA寄存器中 当来自卡的数据流接收结束或没有被接收时 STACON寄存器中的DV标志被置位 1 而且MCM上的引脚也将由 HIGH 变为 LOW 当DV位为1时 STACON寄存器中的error bit 出错位 将被设置 如果没有相关的error bit被设置 则FIFO寄存器中的数据将被假设为正确 且可以被读出 2 状态 控制寄存器 STACON寄存器 表3 13STACON寄存器控制位表 注意 当对STACON寄存器进行设置时 在写数据到STACON寄存器的这一写周期中 RFS位的设置必须与RF单元相一致 1 SOR位 软复位 SOR是SOftwareReset 软件复位 的缩写 置位SOR位将复位MCM 2 AC位 防冲突 设置了AC位 即AC 1 将使防冲突状态机启动工作 执行内部存取 这一存取在设置AC位后的12 s开始 至35 s结束 在这一段时间内 不允许MCU向MCM进行写 Write 数据操作 即设置AC位后必须延迟35 s以上才能进行下一步的写操作 这是为了保证防冲突状态机处理软件的正确运行 使其能识别天线范围内的多张MIFARE1卡 读取所有天线范围内的M1卡的SerialNumber 为下一步选择其中一张MIFARE1卡 选定其中一个SerialNumber 进行数据读 写而作准备 Philips公司推荐至少延迟35 s 然后进行写DATA TOC寄存器等操作 2 状态寄存器 表3 14STACON寄存器标志位表 1 DV DataValid数据有效 标志 DV标志为 1 表明MCM与MIFARE卡之间的传输已经完成 并且主处理机可能已经从MCM中收到数据 而DV 0表示数据接收尚未完成或未能接收到数据 有一种情况例外 即当TOC计数器溢出时 无论接收是否完成 DV都将被设置为1 此时TE标志将被设置为1 表明时间溢出出错 DV标志保持 1 的持续时间 出错标志亦将保持有效 在有效的数据被存储进FIFO寄存器时 DV标志将持续保持 在向MCM写数据时的写指令周期内 DV标志将被清除 DV标志也可能会被软复位 Soft Reset 清除 2 出错标志 在MCU与MCM MCM与MIFARE1卡进行数据通信时 经常会出现各种错误 这些错误由出错标志位的置位来表征 例如 卡没能认证 Authentication 通过 则会

温馨提示

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

评论

0/150

提交评论