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

下载本文档

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

文档简介

IC卡 IntegratedCircuitCard 即 集成电路卡 在日常生活中已随处可见 自1972年法国人罗兰 莫雷诺 RolandMoreno 首先提出IC卡的设想 1976年法国布尔 Bull 公司研制出世界第一张IC卡以来 IC卡技术飞速发展 已经形成涉及全球众多著名电子巨头的新兴技术产业 第9章IC卡接口技术 IC卡概述接触式IC卡接口技术非接触式IC卡接口技术 本章主要内容 第9章IC卡接口技术 IC卡概述 IC卡的分类IC卡应用系统的构成要素IC卡的国际标准 IC卡的分类 按镶嵌芯片的不同分类简单的串行通信协议的设计根据卡与外界数据交换界面的不同分类根据应用领域的不同分类根据与外界数据传输形式的不同分类 按镶嵌芯片的不同分类 按卡内镶嵌芯片的不同可将智能卡分为存储器卡 逻辑加密卡和CPU卡三类 1 存储器卡 存储器卡卡内嵌入的芯片为存储器芯片 这些芯片多为通用E2PROM 或FlashMemory 无安全逻辑 可对片内信息不受限制地任意存取 卡片制造中也很少采取安全保护措施 不完全符合或支持ISO IEC7816国际标准 而多采用两线串行通信协议 I2C总线协议 或3线串行通信协议 特点 按镶嵌芯片的不同分类 2 逻辑加密卡 逻辑加密卡由非易失性存储器和硬件加密逻辑构成 一般是专门为IC卡设计的芯片 具有安全控制逻辑 安全性能较好 同时采用ROM PROM E2PROM等存储技术 从芯片制造到交货 均采取较好的安全保护措施 如运输密码TC TransportCard 的取用 支持ISO IEC7816国际标准 特点 3 CPU卡 CPU卡也称智能卡 保密微控制器卡 加密微控制器卡 片内带加密协处理器 在IC卡家族中出现最晚 也最具生命力 CPU卡的硬件构成包括CPU 存储器 含RAM ROM E2PROM等 卡与读写终端通信的I O接口及加密运算协处理器CAU ROM中则存放有COS ChipOperationSystem 片内操作系统 有很高的数据处理和计算能力以及较大的存储容量 因此应用的灵活性 适应性较强 极强的安全防伪能力 它不仅可验证卡和持卡人的合法性 而且可鉴别读写终端 已成为一卡多用及对数据安全保密性特别敏感场合的最佳选择 如金融信用卡和手机SIM卡等 真正意义上的 智能卡 特点 按镶嵌芯片的不同分类 根据卡与外界数据交换界面的不同分类 接触式IC卡 接触式IC卡以符合ISO IEC7816标准的多个金属触点为卡芯片与外界的信息传输媒介 成本低 实施相对简便 非接触式IC卡则不用触点 而是借助无线收发传送信息 因此在前者难以胜任的交通运输等诸多场合有较多应用 根据卡与外界数据交换界面的不同可将智能卡分为 非接触式IC卡 根据应用领域的不同分类 根据应用领域的不同可将智能卡分为金融卡和非金融卡 即银行卡和非银行卡 金融卡又分为信用卡和现金卡 前者用于消费支付时 可按预先设定额度透支资金 后者可用做电子钱包和电子存折 但不得透支 而非金融卡的涉及范围极广 实质上囊括了金融卡之外的所有领域 如门禁卡 组织代码卡 医疗卡 保险卡 IC卡身份证 电子标签等 根据与外界数据传输形式的不同分类 根据与外界数据传输形式的不同可将智能卡分为串行通信卡和并行通信卡 串行通信卡即为目前最常用的卡 也是目前国际标准中所规定的接口方式 采用串行方式与外界交换信息 卡芯片引脚较少 易于封装和接口 但随着芯片存储容量的增大 引发了两个问题 一是芯片面积急剧增长 给卡的封装带来困难 二是读写时间过长 读写1MB的容量需要12分钟 并行通信卡由于采用并行通信 故无此二弊 但国际标准中尚无此类接口标准 深圳艾柯电子公司研制的P型IC卡的引脚数多达32个 不仅速度极快 而且容量增大 与串行通信卡一样 它也有存储型 逻辑加密型和CPU型 并已在纳税申报等系统中得以应用 IC卡应用系统的构成要素 一个标准的IC卡应用系统通常包括 IC卡 IC卡接口设备 IC卡读写器 PC 较大的系统还包括通信网络和主计算机等 如图所示 IC卡应用系统的基本构成 IC卡应用系统的构成要素 1 IC卡 IC卡即由持卡人掌管 记录有持卡人的特征代码 文件资料的便携式信息载体 2 IC卡接口设备 InterFaceDevice IFD 接口设备即通常所说的IC卡读写器 是卡与PC进行信息交换的桥梁 而且常常是IC卡的能量来源 其核心通常为工作可靠的工业控制单片机 如Intel的51系列等 3 PC PC是系统的核心 完成信息汇总 统计 计算 处理 报表的生成 输出和指令的发放 系统的监控管理以及卡的发行与挂失 黑名单的建立等 4 网络与计算机 在金融服务等相对大的系统中 网络是使前端PC与上级控制 授权 服务 管理中心 即中央计算机 主计算机 连接的必备条件 IC卡的国际标准 1 接触式IC卡的国际标准 ISO IEC7816是IC卡遵循的主要国际标准 该标准也引用了以前制定的有关识别卡标准 ISO IEC推出的7816国际标准已有10个部分 分别对IC卡的物理特性 卡触点的尺寸与位置 电信号与传输协议 行业间交换命令 数据元以及IC卡注册管理办法等做出了详细规定 IC卡的国际标准 2 非接触式IC卡的国际标准 每个国际标准又由几个部分组成 但到目前为止 部分标准尚未正式通过 还是草案 ISO IEC7816中的大部分内容仍适合于非接触式IC卡 ISO IEC10536 ISO IEC14443和ISO IEC15693 3 测试标准 ISO IEC10373 接触式IC卡接口技术 所谓接触式IC卡 就是在使用时通过有形的金属电极触点将卡的集成电路与外部接口设备直接接触连接 提供集成电路工作的电源并进行数据交换的IC卡 其特点是在卡的表面有符合ISO IEC7816标准的多个金属触点 在本节中将以一种应用较为广泛的接触式IC卡 SLE4442卡为典型实例 介绍接触式IC卡的接口技术 SLE4442卡概述SLE4442卡硬件接口电路SLE4442卡读写技术 SLE4442卡概述 SLE4442是由德国西门子 Siemens 公司设计的逻辑加密存储卡 它具有2KB的存储容量和完全独立的可编程加密代码 ProgrammableSecurityCode PSC 存储器 内部电压提升电路保证了芯片能够以单 5 电压供电 较大的存储容量能够满足通常应用领域的各种要求 因此是目前国内应用较多的一种IC卡芯片 SLE4442卡概述 1 总体描述 1 采用多存储器结构 2 2线连接协议 复位响应满足ISO IEC7816 3标准 3 触点配置及串行接口满足ISO IEC7816 同步传输协议 4 仅当正确输入3个字节的可编程加密代码 PSC 后方可修改数据 5 芯片采用NMOS工艺技术 每个字节的写入 擦除编程时间为2 5ms 6 存储器具有至少104次的写入 擦除周期 数据保持时间至少10年 SLE4442卡芯片的特点如下 SLE4442卡概述 SLE4442卡的触点 SLE4442卡的引脚定义和功能说明 SLE4442卡的触点如图所示 引脚定义和功能如表所示 SLE4442卡概述 2 存储器结构 SLE4442的存储器结构如图所示 主要包括3个存储器 256 8B的E2PROM型主存储器 32 1B的PROM型保护存储器 4 8B的E2PROM型加密存储器 SLE4442卡的存储器结构 SLE4442卡概述 1 主存储器 MainMemory 存储器为可重复擦除使用的E2PROM型存储器 按字节寻址 擦除和写入 主存储器的地址是从0 00H 255 FFH 共256B 2KB 主存储器可分为两个数据区 保护数据区和应用数据区 保护数据区主存储器前32B为保护数据区 地址从0 00H 31 1FH 这部分的数据读出不受限制 但擦除和写入操作均受到保护存储器内部数据状态的限制 根据这一特性 主存储器的保护数据区一般均作为IC卡的标识数据区 存放一些固定不变的标识参数 如厂商代码 发行商代码等 应用数据区主存储器后224B为应用数据区 地址从32 20H 255 FFH 这部分的数据读出不受限制 但擦除和写入均受控于加密存储器数据校验比较结果的影响 SLE4442卡概述 2 保护存储器 ProtectionMemory 保护存储器是一个32 1B的一次性可编程只读存储器 PROM 它按位寻址和写入 保护存储器每个被写 0 的单元所对应控制的主存储器的字节单元不再接受任何擦除和写入操作命令 从而使得该字节单元内的数据不可再被改变 因此 对保护存储器单元的写入一定要特别小心 SLE4442卡概述 3 加密存储器 SecurityMemory 加密存储器是一个4 8B的E2PROM型存储器 在这个存储器中 第0个字节为 密码输入错误计数器 ErrorCounter EC 密码输入错误计数器的有效位是低3位 在芯片初始化时 计数器设置成 111 这一字节是可读的 每次比较密码时 先要判定计数器中是否还有 1 如果还有 1 则将一个 1 写成 0 然后进行比较 校验字 操作 如果比较结果一致 则密码错误计数器将允许进行擦除操作 注意 芯片不能自动进行擦除操作 同时打开主存储器 保护存储器和加密存储器 并允许进行擦除和写入操作 如果比较结果不一致 则密码错误计数器中为 1 的个数减少1位 只要计数器的内容不全为 0 则芯片的比较 校验字 操作还允许再次进行 当连续3次输入错误密码后 即密码计数器减少为0 则芯片的存储单元将全部被锁死 由此可见 加密存储器可以理解为进入整个芯片的 关卡 SLE4442卡硬件接口电路 SLE4442卡接口设备的硬件组成包括 卡座 IC卡适配插座 输入接口电路 存储器 微处理器和外围接口组成 如图所示 卡座 卡座是读写器与卡的物理连接部件 是影响读写器寿命的主要因素 也是设计或选购读写器的重要指标 它包括与卡接触的8个片触点 检测 插卡到位 的一对状态开关 固定和弹出卡的机械装置 与输入接口电路相接的电气终端和安装基座 1 按触点接触方式分类 滑触式着落式 2 按卡的插入 退出形式分类 推入 拉出式推入 推入弹出式推入 自动弹出式 推入 提 压式只推式电动出入卡式 卡座 3 选择卡座的标准和依据 触点电气性能及与卡接触的可靠性 插拔寿命 对卡触点及其他部分的磨损程度 卡从接触好到识别有效的位置差 价格因素 对应用现场的适应性 输入接口电路 IC卡的输入接口电路是连接IC卡与读写器的通路 由它实现对IC卡的供电并满足不带电插拔IC卡的要求 以及实现时钟供给和信号的可靠传输 1 电源供给 对IC卡和读写器应分别设置各自独立的供电电路 如图所示 IC卡接口设备供电电路 输入接口电路 2 接口电路 IC卡芯片的逻辑端口一般采用漏极 集电极 开路输出及非嵌位保护式输入结构 因此 读写器输入接口电路与IC卡各信号端口的接口必须外加上拉电阻 如图所示 SLE4442卡接口电路 输入接口电路 3 外围接口 读写器的外围接口对象通常为LED 数码 或LCD 字符 点阵 显示屏和简易键盘 PC以及条码阅读器 电量传感器等信号输入设备 电磁锁 电闸等被控对象 与PC的通信多取RS232或RS485串行通信标准 也有取并行通信方式的 并配以MAX232 MAX485 491接口驱动芯片 为实现键盘输入和屏显输出 必须设置相应扫描驱动电路 LCD液晶显示器在应用中注意温度和背光源的选择 脱机考勤机和不少手持机常要求输出年 月 日 星期 时 分和秒等时间信息 必须要考虑备用电池 SLE4442卡读写技术 传送协议与操作模式芯片的操作命令PSC校验中止与错误状态 传送协议与操作模式 SLE4442卡与接口设备 InterFaceDevice IFD 之间的传送采用两线连接协议 满足ISO IEC7816同步传送协议 I O线上的数据变化只在CLK信号下降沿有效 传送协议包括4种模式 复位和复位响应 Answer To Reset ATR 命令模式 CommandMode 输出数据模式 OutgoingDataMode 和处理模式 ProcessingMode 复位和复位响应 SLE4442卡芯片的复位方式有以下两种 复位和复位响应 外部复位方式 基于ISO IEC7816 3的同步协议 加电复位 PoweronReset 内部复位方式 加电后I O被置于高阻态 必须在对任意地址进行读操作或做一个复位响应操作之后才可以进行数据交换 在操作期间的任意时刻都可以复位 复位及复位响应的时序关系如图所示 在复位响应期间 启动 和 停止 状态都被忽略 复位和复位响应 复位子程序RESET CLRRSTCLRCLKCLRI OLCALLDELAY 12 sLCALLDELAY 12 sSETBRSTLCALLDELAY 12 sSETBCLKLCALLDELAY 12 sCLRCLK LCALLDELAY 12 sCLRRSTLCALLDELAY 12 sMOVB 20HRESET0 SETBCLKLCALLDELAY 12 sCLRCLKLCALLDELAY 12 sDJNZB RESET0SETBI ORET 复位子程序如下 命令模式 复位响应以后 芯片等待命令 每条命令都以 启动状态 开始 整个命令包括3个字节 随后紧跟着一个附加脉冲并用一个 停止状态 来结束操作 图为命令模式的时序关系 命令模式的时序关系 命令模式 启动状态 在CLK为高状态 H状态 期间 I O线的下降沿为启动状态 停止状态 在CLK为高状态 H状态 期间 I O线的上升沿为停止状态 读数据时处于输出数据模式 写入 将数据1改写为0称为 写 和擦除 将数据0改写为1称为 擦除 以及校验数据时处于处理模式 命令子程序 接收了一个命令之后 卡芯片处于两种可能的模式 输出数据模式 在这一模式下IC卡芯片发送数据给IFD 图右上角为输出数据模式的时序关系图 命令模式的时序关系 处理模式 当命令为修改 写入或校验数据时 卡芯片在执行命令后将处于处理模式 在这一模式下对IC卡芯片做内部处理 图右下角为处理模式的时序关系图 命令模式的时序关系 处理模式 在处理模式期间 根据新旧数据 可能发生下列几种情况 所有的值都以50kHz的时钟频率为准 先擦除后写入 5ms 相当于M 256个时钟脉冲 只写入不擦除 2 5ms 相当于M 124个时钟脉冲 只擦除不写入 2 5ms 相当于M 124个时钟脉冲 数据校验 2 5ms 相当于M 124个时钟脉冲 处理模式子程序 芯片的操作命令 1 命令格式 每条命令包含3个字节 其排列顺序如下 SLE4442具有7种命令 其格式和功能如表所示 芯片的操作命令 2 读主存储器 ReadMainMemory 读主存储器命令格式如下 读主存储器命令读出主存储器的内容 命令的控制字为30H 读主存储器的时序如图所示 读主存储器的时序图 读主存储器子程序 芯片的操作命令 3 读保护存储器 ReadProtectionMemory 读保护存储器命令格式如下 读保护存储器命令的控制字为34H 对保护存储器进行读取操作不受限制 读保护存储器的时序如图所示 读保护存储器的时序图 芯片的操作命令 4 读加密存储器 ReadSecurityMemory 读加密存储器命令格式如下 读加密存储器命令类似于读保护存储器 可以读出4B的加密存储器的内容 该命令的控制字为31H 读加密存储器的时序如图所示 读加密存储器的时序图 芯片的操作命令 5 修改主存储器 UpdateMainMemory 修改主存储器命令格式如下 修改主存储器命令根据所传送的字节数据 寻址主存储器的E2PROM字节 然后修改相应字节的内容 该命令的控制字为38H 其命令时序如图所示 修改主存储器的时序图 芯片的操作命令 修改主存储器的子程序如下 修改主存储器子程序WRITE MOVR4 21H 取要写的字节数WRITE0 MOVR7 38H 设置修改主存储器命令控制字MOVR6 20H 取修改主存储器命令地址字MOVA R0MOVR5 A 取修改主存储器命令数据字LCALLCOMMAND 送修改主存储器命令给卡LCALLOPERA254 处理模式INC32H 地址字指向主存储器下一个单元INCR0 指向下一个数据DJNZR4 WRITE0 未写完继续RET 芯片的操作命令 6 修改加密存储器 UpdataSecurityMemory 修改加密存储器命令格式如下 为保护参照字字节 这一命令仅当PSC成功校验之后方能执行 否则 只能对错误计数器 地址0 进行由 1 写 0 的操作 7 写保护存储器 WriteProtectionMemory 写保护存储器命令格式如下 写保护存储器命令的执行过程包含一个把被输入的数据与在E2PROM中对应数据进行比较的过程 芯片的操作命令 8 比较校验数据 CompareVarificationData 比较校验数据命令格式如下 该命令把输入的 校验数据 的各个字节与相对应的参照数据 存放在加密存储器中 进行比较 这一过程将在处理模式中需要给出时钟脉冲 比较校验数据命令的时序如图所示 比较校验数据命令的时序图 PSC校验 如果需要修改SLE4442的数据 那么必须正确校验存储在加密存储器中的可编程加密代码PSC 校验的过程并不是仅由比较校验数据命令来完成的 而是由多个命令构成的一个流程来共同完成 这一流程必须被精确执行 任何变化都将导致校验失败 从而使写入 擦除操作被禁止 只要校验过程未能成功完成 密码错误计数器的一个字位将只会被从 l 写成 0 并且不能被擦除 PSC校验流程如下图所示 PSC校验 PSC校验 表为PSC校验所需命令一览表 校验过程必须按表中顺序执行各命令 PSC校验子程序 中止与错误状态 1 中止 Break 在CLK为低状态期间 如果RST置为高状态 则任何操作均无效 I O线被锁定到高阻状态 Z状态 需要一个最小维持时间tRES 5 s之后 芯片才能接收新的有效复位 中止后芯片准备做进一步的操作 2 错误状态 Failures 在芯片操作过程中 可能出现以下几种操作失败的情况 比较失败 错误命令 不正确的命令脉冲数 对已被保护的字节进行重写或擦除操作 对保护存储器的一位进行重写或擦除操作 在上述错误发生时 芯片总是在8个时钟脉冲的最后 将I O线置成高阻状态 Z状态 非接触式IC卡接口技术 源起与射频识别技术的非接触式IC卡技术近年来发展十分迅速 产品占据了非金融卡的绝大部分市场 而其技术与标准也正在发展与完善中 荷兰Philips公司的MIFARE技术是当今非接触式IC卡的主流技术 由于其自身优越的性能和极高的安全性 自推出之日起就得到了业界的一致认同并得到了广泛的应用 现在 MIFARE技术已经被制定为非接触IC卡的国际标准即ISO IEC14443 TYPEA 在本节中将以Philips公司的MIFARE1卡片为典型实例介绍非接触式IC卡技术与接口技术 非接触式IC卡接口技术 MIFARE1非接触式IC卡MIFARE1卡接口设备内核技术实践与思考 MIFARE1非接触式IC卡 MIFARE1非接触式IC卡的总体描述MIFARE1非接触式IC卡的功能组成MIFARE1卡的存储结构 MIFARE1非接触式IC卡的总体描述 MIFARE1非接触式IC智能 射频 卡采用先进的芯片制造工艺制作 内建有高速的CMOSE2PROM ASIC等 卡片上除了IC微晶片及一副高效率天线外 无任何其他元件 根据ISO IEC14443A标准 Philips开发了无线智能卡芯片MIFARE1ICS50 它是MIFARE1非接触式IC智能 射频 卡的核心 该芯片的通信层MIFARERF接口遵从ISO IEC14443A标准的第2部分和第3部分 保密层 SecurityLayer 使用经区域验证的CRYPTO1流密码 field provenCRYPTO1streamcipher 使典型MIFARE系列芯片的数据交换得到保密 MIFARE1非接触式IC卡的总体描述 1 MIFARERF接口 ISO IEC14443A 无线传送数据和能量 1 无线传送数据和能量 即MIFARE卡片上无源 无任何电池 MIFARE1ICS50连接着几匝线圈 线圈嵌入到塑料卡片中 这就形成了一张无源的无线智能卡 工作时的电源能量由读写器天线发送无线电载波信号耦合到卡片的天线上而产生电能 一般可达2V以上 供卡片上IC工作 其工作距离最高可达100mm 由天线的结构决定 2 工作频率为13 56MHz 3 数据传送速率快 且为106Kbps MIFARE1非接触式IC卡的总体描述 2 真正的防冲突 智能的防冲突功能允许同一工作区域中有不止一张卡同时工作 防冲突算法每次只选择一张卡 确保对被选中的卡正确执行操作 而且同一区域中的其他卡不会破坏数据 3 保密性 Security MIFARE卡的一个特殊要点是高保密性 防止欺骗 相互认证 MutualChallenge 和响应确认数据保密 报文确认检查防止系统受到任何干扰 序列号不可修改更保证了每张卡都是唯一的 MIFARE1非接触式IC卡的总体描述 1 需要通过3次相互认证 MutualThreePassAuthentication 符合ISO IECDIS9798 2的规定 2 RF信道的数据加密 多重防攻击保护 3 每个扇区 每个应用 有两套独立的密钥 支持带密钥层次的多应用 SupportMulti applicationwithKeyHierarchy 4 每张卡有全球唯一的序列号 5 在运输过程中访问E2PROM有传输密钥保护 TransportKeyProtectsAccesstoE2PROMonChipDelivery MIFARE1非接触式IC卡的总体描述 4 数据高度可靠 正确 读写器和卡之间的无线通信链路使用了以下机制确保数据可靠地传输 1 卡片上有高速的CRC协处理器实现每个块16位CRC 2 每个字节都有奇偶校验位 3 位计数检查 4 用位编码区别1 0和没有信息 5 信道监控 协议序列和位流分析 MIFARE1非接触式IC卡的总体描述 5 E2PROM存储器结构提供多应用 MIFARE系统提供了一个实时的多应用功能 每区有两个不同的密钥 这样系统可以使用密钥层次 1 内建1KBE2PROM 分成16个扇区 每扇区又分成4个数据块 每一块中有16个字节 2 用户可以定义每一个存储器块的访问条件 3 每个扇区 每个应用 有两套独立的密钥 支持带密钥层次的多应用 4 数据保存期可达10年以上 5 可写100000次以上 6 卡片抗静电保护能力达2kV以上 MIFARE1非接触式IC卡的总体描述 6 方便用户 系统的设计使用户使用更加方便 例如 卡片上还内建有增值 减值的专项的数学运算电路 非常适合公交 地铁等行业的定额收费系统 由于数据传送速率很高 典型的购票处理时间 TicketingTransaction 小于100ms 包括备份管理 这样MIFARE卡用户就不需要停在读写器前面 增大了通道门的吞吐量 减少了上公共汽车的时间 如果卡放在钱包中 甚至钱包中有硬币也可以进行交易 MIFARE1非接触式IC卡的功能组成 MIFARE1非接触式ICS50非接触式IC卡的功能组成如图所示 整个卡片包含了两个部分 即RF射频接口电路和数字电路部分 MIFARE1ICS50非接触式IC卡的功能组成图 MIFARE1非接触式IC卡的功能组成 1 RF射频接口电路 在卡的RF射频接口电路中 波形转换模块接收读写器所发送的13 56MHz的无线电调制信号 一方面送调制 解调模块 经解调得到相应的数字信息送数字电路模块 另一方面进行波形转换 将正弦波转换为方波 然后对其整流滤波 由电压调节模块对电压进行进一步的处理 包括稳压等 最终输出提供卡片上各电路的工作电压 POR模块主要是对卡片上的各个电路进行POWER ON RESET 上电复位 使各电路同步启动工作 而数字电路模块送出的数字信息则经由调制 解调模块调制为13 56MHz的无线电调制信号 再送往波形转换模块发送给读写器 MIFARE1非接触式IC卡的功能组成 2 数字电路部分模块 1 ATR模块 AnswerToRequest 请求之应答 建立卡与读写器的第一步通信联络 2 AntiCollision模块 防 卡片 冲突功能 3 SelectApplication模块 卡片的选择 4 Authentication AccessControl模块 认证及存取控制模块 5 Control ArithmeticUnit 控制及算术运算单元 MIFARE1非接触式IC卡的功能组成 6 RAM ROM单元 RAM主要配合控制及算术运算单元 将运算的结果进行暂时存储 7 CryptoUnit 数据加密单元 8 E2PROM存储器及其接口电路 E2PROMINTERFACE EEPROMMEMORY 该单元主要用于存储用户数据 在卡失掉电源后 卡片离开读写器天线的有效工作范围 数据仍将被保持 MIFARE1卡的存储结构 MIFARE1卡片的存储区划分MIFARE1卡的密码认证方式MIFARE1卡存取控制与数据区的关系 MIFARE1卡片的存储区划分 MIFARE1卡片的存储容量为1024 8B 即1KB 采用E2PROM作为存储介质 整个结构划分为16个扇区 编为扇区0 15 每个扇区有4个块 Block 分别为块0 块1 块2和块3 每个块有16个字节 一个扇区共有16B 4 64B 如图所示 MIFARE1卡片的存储结构图 1 厂商块 2 数据块 3 区尾块 厂商块 厂商块是存储器第1个扇区 扇区0 的第1个数据块 块0 它包含了IC卡厂商的数据 基于保密性和系统的安全性 这一块在IC卡厂商编程之后被置为写保护 因此该块不能再复用为应用数据块 其中 第0 3个字节为卡片的序列号 第4个字节为序列号的校验码 第5个字节为卡片的容量 Size 字节 第6 7个字节为卡片的类型号字节 即TagType字节 其他字节由厂商另加定义 数据块 所有的扇区都包含3个数据块 扇区0只有两个数据块和一个只读的厂商块 每个块有16B 数据块可以被以下的访问控制位 AccessBits 配置为读写块或值块 读写块 用做一般的数据保存 可用读 写命令直接读 写整个块 例如 在食堂消费时采用输入饭菜金额的方式扣款 值块 用做数值块 可以进行初始化值 加值 减值 读值的运算 系统配用相应的函数完成上述功能 有效的命令包括加 减 恢复 发送命令 例如 在食堂消费时对于定额套餐采用输入餐号的方式加以扣款 以及用于公交 地铁等行业的检票 收费系统 数据块 值块有一个固定的数据格式 可以进行错误检测和纠正并备份管理 值块只能在值块格式的写操作时产生 值块格式如表所示 区尾块 密钥A 第0 5B 共6B 和密钥B 第10 15B 共6B 可选 读密钥时返回逻辑0 存取控制位 AccessBits 第6 9B 共4B 访问这个扇区中4个块的条件 存取控制位也可以指出数据块的类型 读写或值 密钥A的默认值为A0A1A2A3A4A5H 密钥B的默认值为B0B1B2B3B4B5H 存取控制位的默认值为FF078069H 如果不需要密钥B 那么块3的最后6B可以作为数据字节 用户数据可以使用区尾的第9B 这个字节具有与字节6 7和8一样的访问权限 每个区都有一个区尾 SectorTrailer 它包括以下两点 MIFARE1卡的密码认证方式 MIFARE1卡的密码认证采用3次相互认证的方法 具有很高的安全性 如图所示 为3次相互认证的令牌原理框图 3次相互认证的令牌原理框图 A 环 由MIFARE1卡片向读写器发送一个随机数据RB B 环 由读写器收到RB后向MIFARE1卡片发送一个令牌数据TOKENAB 其中包含了用读写器中存放的密码加密后的RB及读写器发出的一个随机数据RA MIFARE1卡的密码认证方式 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 校验正确 否则将无法通过校验 MIFARE1卡的密码认证方式 如果上述的每一个环都为 真 且都能正确通过验证 则整个的认证过程将成功 读写器将允许对刚刚认证通过的卡片上的这个扇区进入下一步的操作 读 写等操作 卡片中的其他扇区由于有其各自的密码 因此不能对其进行进一步的操作 如果想对其他扇区进行操作 则必须完成相应扇区的认证过程 认证过程中的任何一环出现差错 整个认证将告失败 必须重新开始 如果事先不知卡片上的密码 由于密码的变化极其复杂 因此靠猜测密码而想打开卡片上的一个扇区的可能性几乎为零 MIFARE1卡存取控制与数据区的关系 在MIFARE1卡中每个扇区的块3 即第4块 包含了该扇区的密码A 6个字节 存取控制 4个字节 密码B 6个字节 是一个特殊的块 下面将对密码A 密码B 存取控制与数据区的关系加以说明 存取控制的结构如表所示 存取控制的结构表 b表示取反 如C2X3 b即C2X3取反 X表示扇区号 Y表示第几块 C表示控制位 B表示备用位 MIFARE1卡存取控制与数据区的关系 存取控制对块3的控制如表所示 X 0 15 存取控制对块3的控制表 KEYA B表示密码A或密码B never表示没有条件实现 MIFARE1卡存取控制与数据区的关系 对数据块的控制如表所示 对数据块的控制表 X 0 15扇区 Y 每个扇区的0 2块 MIFARE1卡存取控制与数据区的关系 存取控制位表示如表所示 位 76543210 开发应用人员可以根据自己应用的具体情况 对不同的扇区可选用不用的存取控制 不同的密码 但应注意其每一位的格式 以免误用 注意 MIFARE1卡接口设备内核技术 MIFARE1非接触式IC卡读写模块硬件内核电路MCM的硬件内核寄存器描述MCM的软件编程 MIFARE1非接触式IC卡读写模块硬件内核电路 MCM200 MCM500读写模块总体描述MCM的硬件内核接口电路 MCM200 MCM500读写模块总体描述 Philips公司的MIFARE1非接触式IC卡读写模块主要有两种产品型号 即MCM200和MCM500 这两种智能模块均用于MIFARE1非接触式IC卡读写器中 负责读写器中对非接触式IC卡的读写等功能 其基本功能包括调制 解调 产生射频信号 安全管理和防冲突处理 是读写器MCU 微控制器 与非接触式IC卡交换信息的桥梁 MCM200的软件与MCM500模块100 兼容 其主要区别在于读写距离不同 MCM200模块对卡片的操作距离为25mm 而MCM500模块对卡片的操作距离为100mm MIFARE1所具有的独特的MIFARE1RF 射频 非接触式接口标准已被制定为国际标准 ISO IEC14443TYPEA标准 MCM200 MCM500读写模块总体描述 MCM200模块特性 标准的双列直插32引脚 工作频率 13 56MHz 标准的 5V电源供电 供电范围为4 75 5 25V 典型 电流消耗40mA 最大不超过80mA 最小10mA左右 读写卡片距离可达25mm以上 与卡片的通信速率可达106Kbps 模块与卡片通信时 数据加密 每个扇区设有3套密码及其认证和密码存储器 有防卡片重叠功能 MCM200模块引脚排列示意图 MCM200模块引脚排 MCM引脚功能描述表如表所示 MCM200 MCM500读写模块总体描述 16个字节的FIFO 先进先出 队列接收 发送缓冲寄存器 在模块与卡片通信时自动侦查错误 自动对数据流分析 对RF 射频 通道自动监控 内建8位 16位的CRC协处理器 提供CRC PARITY等数据校验 支持多种方式的活动天线 并且不需 天调系统 天线调节系统 对天线进行补偿调节 标准的MIFARE并行接口与MCM500100 全兼容 MCM200的软件与MCM500模块100 全兼容 可控制 级联MCM500模块 工作温度范围在 20 70 MCM200 MCM500读写模块总体描述 MCM引脚功能描述表如表所示 MCM的硬件内核接口电路 MCM的硬件内核接口电路可分为以下4部分 与MCU 微处理机CPU 接口电路 RF模块接口电路 与天线射频接口电路 与电源接口电路 与MCU 微处理机CPU 接口电路 MCM可由外部MCU发出特殊命令来启动运行 在任何情况下 MCM都可以由对地址的选择来启动工作 对MCM内部存储器的存取 意味着将激活和CS信号 以及对地址为00H 0FH的寄存器的合适设置 通过读特殊I O地址的信息 可以得到MCM的状态信息 采用不同的MCU及其连接方法 将会有不同的硬件信号时序及数据信息流信息等 如图所示 MCM可以由标准的MCU接口信号来控制 这些标准的控制信号可以控制MCM的ASIC进行工作 其中使用了标准的微控制器和微处理机通信协议 MCM与MCU的接口电路 RF模块接口电路 MCM与RF模块的接口电路如图所示 RF模块接口一般由以下几个引脚来实现 通过KOMP0与PAUSE0可与RF0模块相连接 通过KOMP1与PAUSE0可与RF1模块相连接 仅MCM500有两个RF模块 通过RxKOMP与TxPAUSE0可与其他的级联MCM模块相连接 RF模块接口电路 与天线射频接口电路 ANT和GND引脚可用阻抗50 的同轴电缆直接与正极性天线相连接 连接长度一般应小于50cm MCM的外部金属屏蔽盒 仅有MCM500 必须连接到同轴电缆的外屏蔽包裹线 以使信号不能扩散 且免受外界电磁辐射信号等的影响 如果天线工作不正常 则可用 天线调谐器 来调谐 使之能将MIFARE1卡的有效操作距离保持在25mm 100mm以上 与电源接口电路 与电源的接口包括这样几组信号 DVDD 数字电路正电源端 5V DGND 数字电路接地端 0V BP 缓冲器供电 通电工作时为 5V 不通电工作时为 3V RFVDD RF电路正电源端 MCM500 12V MCM200 5V RFGND RF电路接地端 0V RFGND和DGND应该分开接地或接到系统的接地端 连接线应该具有高导电特性且愈短愈粗愈好 MCM供电电源端与GND端必须跨接100nF的电容 这些电容应尽可能靠近MCM 为避免引起接地环路 整个系统应由单一电源供电 且纹波电压应小于50mV 注意 MCM的硬件内核寄存器描述 MCU是通过对MCM内核特殊的内存寄存器的读写来控制MCM的 这些寄存器位于MCM中的ASIC 特殊应用IC 的内部 共有16个寄存器可存取 读取MCM 一般的指向MIFARE1卡请求 MCM实际上是MCU与非接触式IC智能 射频 卡之间信息 数据 交换的 中间人 任何读取卡片上的数据 或写进卡片上的数据 均必须通过MCM来传递 写MCM意味着去控制MCM 例如 送一些类型的指令给它 MCM的硬件内核寄存器描述 如表所示是MCM中ASIC内核特殊寄存器一览表 数据寄存器 DATA寄存器 STACON寄存器ENABLE寄存器BCNTS寄存器BCNTR寄存器BAUDRATE寄存器TOC寄存器MODE寄存器CRCDATA寄存器CRCSTACON寄存器KEYDATA寄存器KEYSTACON寄存器KEYADDR寄存器RCODE寄存器 数据寄存器 DATA寄存器 任何传递到MIFARE1卡的数据或来自MIFRAE1卡的数据都必须分别地被写入DATA寄存器或从DATA寄存器中读出 DATA寄存器中有一个16B的FIFO 先进先出 队列寄存器 数据写到DATA寄存器后 被存放在这个16B的FIFO 先进先出 队列寄存器中 等待向卡片或MCU传送 在传送DATA寄存器中的数据之前必须先设定要传输多少位 bit 或多少字节 Byte 即必须对BCNTS和BCNTR寄存器进行有效的正确设置 以确定有多少字节将要被写入DATA寄存器发送给卡或将从卡接收多少个字节到DATA寄存器中 当来自卡的数据流接收结束或没有被接收时 STACON寄存器中的DV标志被置位 1 而且MCM上的引脚也将由 HIGH 变为 LOW 当DV位为1时 STACON寄存器中的error bit 出错位 将被设置 如果没有相关的error bit被设置 则FIFO寄存器中的数据将被假设为正确 且可以被读出 注意 STACON寄存器 STACON寄存器地址 01H 是一个状态控制寄存器 将数据写到STACON寄存器中将对MCM进行状态控制 如表所示为STACON寄存器控制位表 当写数据到STACON寄存器时 即对STACON寄存器进行设置 在写数据到STACON寄存器的这一写周期中 RFS位的设置必须与RF单元相互一致 设置AC位 即 AC 1 将使防重叠状态机启动工作 执行内部存取 这一存取在设置AC位后的12 s开始 至35 s结束 在这一间隙时间 不允许MCU向MCM进行写 Write 数据操作 必须延迟35 s 这是为了保证防重叠状态机处理软件的正确运行 让其能识别叠放在一起的多张MIFARE1卡片 为下一步进行选择一张指定SN SerialNumber 的MIFARE1卡片进行数据读 写而做准备 注意 STACON寄存器 读取STACON寄存器 将告诉一系列的MCM及卡片的当前状况信息 如表所示为读取STACON寄存器后的一系列标志位表 STACON寄存器 在上表中 仅当DV DataValid数据有效 位被设置有效时 即DV 1 TE PE CE BE及AE标志才有效 但有一例外 即当认证 Authentication 正确完成后 AE标志也直接有效 SOR是SoftwareReset 软件复位 的缩写 当执行SOR后 所有的标志将被清除 且当对MCM的任何一个寄存器执行写周期时 所有的标志也将被清除 当对MCM内的任何一个寄存器执行写周期时 所有的这些标志也将被清除 仅当FIFO是空时 DV标志将被写周期清除 有时候MCM接收少于8bits 例如在接收ACK或NACK时 时 MCM将不影响PE CE及AE标志 在MCU与MCM MCM与MIFARE1卡片进行数据通信时 经常会出现各种错误 例如 卡片没能认证 Authentication 通过 则会使AE出错位置位等 STACON寄存器 以下是在检查DV位之后 相关的出错情况 如下表所示 ENABLE寄存器 ENABLE寄存器地址 02H ENABLE寄存器的设置将影响卡片在通信时对Parity和CRC的校验 在ENABLE寄存器中有针对Parity和CRC校验的复位允许位 resetENABLEbits 对ENABLE寄存器进行写操作 将执行对Parity和CRC块的控制 在对MCM进行编程的开始时 必须对ENABLE寄存器进行写操作 即必须将CE位关闭 仅当执行 Select 命令操作时才打开CE位 由于MCM在电源接通时或在任何数据通信开始时 都会复位Parity和CRC块 因此无须额外地去执行这一操作 注意 BCNTS寄存器 BCNTS寄存器地址 03H BCNTS是传送时的位计数器 寄存器 这里的传送指的是CPU向MCM的DATA寄存器写数据 因此BCNTS寄存器实际上是一个字节发送控制器 它控制了MCU向DATA寄存器中写进的数据字节数目 例如 设置BCTRS 10H 则可向MCM的DATA寄存器写进的数据字节数目为2个 8位字长的数据 因为总的bit数目 10H 16D 多余的数据 MCM将不予接收 由于BCNTS寄存器是控制向DATA寄存器写数据的字节数目 因此这一操作必须在数据写入DATA寄存器之前完成 并要求使用二进制代码来操作 BCNTR寄存器 BCNTR寄存器地址 04H BCNTR是接收时的位计数器 寄存器 与BCNTS寄存器相反 BCNTR寄存器控制了MCU读取DATA寄存器的数据字节数目 例如 设置BCNTR 20H 则可向MCM的DATA寄存器读取的数据字节数目为4个 8位字长的数据 因为总的bit数目 20H 32D 多余的数据 MCM将不予理会 由于BCNTR寄存器是控制向DATA寄存器读取数据的字节数目 因此这一操作必须在读DATA寄存器之前完成 并要求使用二进制代码来操作 BCNTR寄存器中的值将与实际接收到的数据字节相比较 如果有差别 则STACON寄存器中的BE标志被设置 BAUDRATE寄存器 BAUDRATE寄存器地址 05H BAUDRATE指为数据传输到卡片上或卡片上的数据传到MCM时通信的位速率 虽然BAUDRATE寄存器的后4位相关与指定的位速率 但是实际有用于MIFARE1卡的只是最后一位 位速率的计算公式 如果BRX 0X0Eh则有 tbit 9 44 s 1 105 94kHz 上述BRX 0X0Eh为对BAUDRATE寄存器进行设置的推荐值 对于MIFRAE1卡来说BRX大约值为0X0Eh 即初始化时BAUDRATE寄存器应设置为 00001110B 0Eh TOC寄存器 TOC寄存器地址 06H TOC是英文TimeOutCounter 定 时间溢出数器 的缩写 对TOC寄存器的设置即对定时时间的控制 写数据至TOC寄存器 可以控制定时溢出计数器 定时溢出的计算公式如下 如果用0X00H写给TOC 即TOC 0X00H 则将关闭定时溢出记数器 即tTOC 0 TOC寄存器 注意 TOC寄存器中的值必须在MCM与MIFARE1卡片通信时被设置 TOC寄存器常用的设置值为0AH 即定时tTOC 100 10 s 1ms TOC寄存器中的值 非零值 将在没有通信时 永久地被递减 因此 在没有通信时 或通信刚结束时 TOC寄存器中的值必须被设置 即设置TOC 0X00H 例如 在FIFO中的数据有效时 就必须这样做 否则将影响STACON寄存器的TE出错标志 如果有溢出出现 则TE标志被设置 DV标志被激活 在完成写数据到DATA寄存器 定时溢出计数器应该经常被初始化 但有一个例外 即在认证操作 AUTHENCATION 的开始时段 定时溢出计数器应该在存取 KEYSTACON 和 KEYADDR 寄存器之后 在存取DATA寄存器之前被初始化 一般在读取 Read 和保存 Save 了STACON寄存器中的数据之后定时溢出计数器必须被关闭 MODE寄存器 MODE寄存器地址 07H MODE 指在与卡片数据相互往来时的数据编码模式 MODEofDATACoding MODE寄存器的设置控制了MCM在与卡片数据相互通信时的数据编码模式 MODE寄存器的每一位都与数据通信模式有关 但在使用

温馨提示

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

评论

0/150

提交评论