SmartCardIC卡公交收费机设计(一)——MIFARE1卡存储结构与特性电子与信息工程学院SmartCard课程目标MIFARE1卡存储结构与读写操作MIFARE1卡值块结构与值操作MIFARE1卡防冲突特性与防冲突操作MIFARE1卡安全特性与存取控制设置SmartCard项目开发——IC卡公交收费系统系统需求分析:1.具备小额电子钱包功能,定额方式收费2.操作方便快捷3.工作距离50cm4.具备显示余额、异常报警(非法卡或余额不足)5.可将当班收款额上传总站数据库6.公交公司可调整定额额度7.卡遗失可挂失8.抗干扰能力强SmartCard项目实现之第一步——卡型选择接触式IC卡非接触式IC卡操作不方便,频繁使用易磨损操作方便快捷,不易磨损复习:非接触式IC卡(ContactlessICC)是在卡中敷设天线,利用天线的接收发射,与读写器的天线交换信号,实现一种无线通讯,又被称为射频卡(RFC——RadioFrequencyCard),简称RF卡,非接触式IC卡系统被称为射频识别系统(RFID——RadioFrequencyIdentification)。SmartCard非接触式IC卡的基本构成非接触式IC卡:芯片+天线+卡基耦合元件外壳芯片SmartCardSmartCard非接触式IC卡的特点可靠性高、寿命长。非接触式IC卡与读写器之间无机械接触,避免了由于接触读写而产生的各种故障。非接触式ID卡表面无裸露的芯片,无须担心芯片脱落、静电击穿、弯曲、损坏等问题,既便于卡片的印刷,又提高了卡片使用的可靠性。操作快捷便利。动态处理。成本较高。SmartCardEMID厚卡EMID薄卡PHILIPSMIFARE1卡TI(德州仪器)Tag-it电子标签手表卡与钥匙扣卡非接触式IC卡种类繁多,哪一种最适合公交收费系统呢?SmartCard非接触式IC卡的分类按片内IC:存储卡、逻辑加密卡、CPU卡按工作距离:密耦合卡、近耦合和疏耦合卡按工作频率的高低:125kHz的低频卡(30kHz~300kHz),13.56MHz的高频或射频卡(3MHz~30MHz),915MHz、2.45GHz的超高频卡(300MHz~3GHz)、5.8GHz的微波卡(3GHz)。按卡内芯片供电方式:卡内带电池的有源卡和卡内无电池、由读写器以无线感应方式供电的无源卡按使用过程中的读写方式:只读卡(ID卡)和读写卡(带EEPROM)SmartCard特点频段工作频率数据传输速率读写距离读写区域低频125~134KHz慢适中(1m)较为均匀高频13.56MHz较快适中(1m)较为均匀超高频860~960MHz快远(10m)很难定义不同频段射频卡的特点SmartCard非接触式IC卡的国际标准标准组织阵营频段技术规范EPCglobal全球产品电子代码管理中心欧美企业沃尔玛、思科、敦豪快递、麦德龙和吉列等UHF(860-960MHz)电子产品代码(EPC)、电子标签规范和互操作性、识读器-电子标签通信协议、中间件软件系统接口等ISO/IEC国际标准组织/国际电工委员会全球非盈利工业标准组织多个频段识别卡与身份识别ISO/IEC14443自动识别ISO/IEC15693ISO/IEC18000UID泛在技术核心组织日本电子厂商、IT企业2.45GHz和13.56MHz电子标签超微芯片部分规格SmartCard非接触式IC卡的ISO/IEC国际标准IC卡读写器国际标准读写距离工作频率CICCCCDISO/IEC10536密耦合(0~1cm)0~30MHzPICCPCDISO/IEC14443近耦合(7~10cm)VICCVCDISO/IEC15693疏耦合(1m)135kHz,6.75MHz,13.56MHz,27.125MHz注释:ICC——集成电路卡CICC——Close-CoupledICC,紧密(密耦合)卡;PICC——ProximityICC,称为接近(近耦合)卡;VICC——VicinityICC,称为邻近(疏耦合)卡。CD——CouplingDevice,是读写器中发射电磁波的部分SmartCardISO/IEC14443国际标准现阶段ISO/IEC14443(草案)主要有两个体系并存:ISO/IEC14443-TypeA、ISO/IEC14443-TypeB。TypeA:以PHILIPS公司为代表,包括SIEMENS、HITACHI、GEMPLUS、G&D和Schlumberger等公司TypeB:以ST(意法半导体)、MOTOROLA、ATMEL、韩国SAMSUNG和日本的NEC等公司为代表。SmartCardISO/IEC18000国际标准18000-1:物理层18000-2:低于135KHz通信的空中接口的参数;18000-3:在13.56MHz通信的空中接口的参数;18000-4:在2.45GHz通信的空中接口的参数;18000-5:5.8GHz通信的空中接口的参数;18000-6:860-960MHz通信的空中接口的参数;18000-7:433MHz通信的空中接口的参数;SmartCard项目实现之第一步——卡型选择低频非接触式ID卡高频非接触式逻辑加密卡超高频非接触式IC卡数据传输速率低,防冲突性能差;没有加密,不安全数据传输率高,防冲突性能好,安全性高读写距离远,防冲突性能好;容易受周围环境干扰,读写器成本高SmartCard目前高频卡的产品主要包括:ISO14443TypeA卡——Mifare1S50卡、UltraLight卡LEGICTypeA卡、上海公交卡即华虹IC卡、复旦微电子TypeA卡ISO14443TypeB卡——ATMELRF020ISO15693(电子标签)卡——PHILIPSI-Code2、TITag-it标签I-CODE(电子标签)卡——PHILIPSI-Code、上海贝岭BL75R02SONYFelica卡——香港八达通、深圳通中国二代身份证市场主流卡型SmartCardMifare1非接触式IC卡基本性能指标:卡内器件:无线智能卡芯片MifareMF1ICS50+天线线圈标准:遵从ISO/IEC14443TypeA标准工作频率:13.56MHz数据传送速率:106kbit/s(9.4μs/bit)SmartCardMifare1卡片的存储结构存储容量:1024×8位字长(即1KB),存储介质:EEPROM分为16个扇区(扇区0~15)每个扇区有4个块(Block)块0、块1、块2和块3。每个块有16个字节。一个扇区共有16Byte×4=64Byte块0(厂商标志)块1块2块3块0块1块2块3(密码A+存取控制+密码B)块0块1块2块3(密码A+存取控制+密码B)扇区0扇区1........扇区15SmartCard块功能详解1)厂商块地址:扇区0块0内容:IC卡厂商标志,包含卡序列号SN、卡类型号TagType及卡容量字节等关键数据。特性:只读,安全防伪例:420A7E00368804004481740630373937H卡类型号TagType卡序列号SN卡容量字节SIZESmartCard块功能详解2)数据块(块0~2)每块16字节。可由区尾块中的存取控制位(accessbits)配置为:读写块:用作一般的数据操作,可用读/写命令直接读/写整个块值块:用作定值操作,可以进行加值/减值(INC/DEC)的运算。数据块数据的读/写/加值/减值条件:符合该块存取条件的要求+通过该扇区的密码认证。SmartCard块功能详解3)区尾块(SectorTrailer)每个扇区的块3为区尾块,包含:KEYA(6B)+Accessbits(4B)+KEYB(6B)例:A0A1A2A3A4A5FF078069B0B1B2B3B4B5密钥A默认值存取控制位默认值密钥B默认值SmartCardMIFARE1卡特点:支持城市一卡通EEPROM存储器结构提供多应用:1K字节EEPROM,16个扇区,4数据块/扇区,16字节/块。用户可以定义每一个存储器块的访问条件。每个扇区(每应用)拥有各自独立的密钥,支持带密钥层次的多应用。适合定额收费:卡芯片中内建有增值/减值的专项数学运算电路,非常适合公交/地铁等行业的定额收费系统SmartCardMIFARE1卡防冲突特性利用每张卡全球唯一的SN实现二进制树状搜索防冲突算法。例:SN1:420A7E00SN2:420A7E01SN3:421A7E01冲突1选择SN2、SN3冲突2选择SN3SmartCardPOWEROFF状态IDLE状态READY状态ACTIVE状态HALT状态RESETREQUEST命令ANTICOLLISION命令启动防冲突循环读取卡回送的UID(SN)HALT命令SELECTUID命令应用:AUTENTICATION/READ/WRITE/INC/DEC命令WAKEUP命令MIFARE卡防冲突流程SmartCardMIFARE1卡特点:支持多卡同时操作卡芯片与读写芯片中都内嵌防冲突模块,可实现真正的(硬件)防冲突,可高速识别天线范围内的多张卡,适应多人同时刷卡。SmartCardMIFARE1卡的安全特性密码认证:所有扇区需通过密码认证才能进行读/修改操作。存取控制:所有块可通过设置存取控制条件限制存取。SmartCardMifare1卡的密码认证方式Mifare1卡的密码的认证采用了三次相互认证的方法,具有很高的安全性。(A)RB(E)(B)TOKENAB(C)(D)TOKENBA非接触式卡读写器Mifare1卡片SmartCard(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’,校验正确,否则将无法通过校验;SmartCard(A)环:Mifare1卡取随机数RB=1100,KEY1=1010,加密/解密算法:异或,发送RB给读写器(B)环:读写器取随机数RA=0011,KEY2=1010,加密/解密算法:异或,接收RB对RB加密:TOKENB=RB异或KEY2=0110,发送TOKENB+RA(C)环:Mifare1卡片对TOKENB解密:RB‘=TOKENB异或KEY1=1100=RB,校验正确;(D)环:Mifare1卡片对RA加密TOKENA=RA异或KEY1=1001;(E)环:读写器收对TOKENA解密:RA’=TOKENA异或KEY2=0011=RA,校验正确SmartCardMifare1卡存取控制设置Accessbits(存取控制位):定义该扇区中4个块的访问条件,及定义数据块的类型(读写或值)Mifare1卡出厂初始化时,所有扇区块3的初始化值均为A0A1A2A3A4A5FF078069B0B1B2B3B4B5卡初始化后的存取控制条件为:密码A永不可读,校验密码A或密码B正确后可以修改;密码B在校验密码A或密码B正确后可读,可修改;存取控制位在校