
【课程设计】IC卡公交收费机设计 MIFARE 1卡存储结构与特性PPT.ppt
46页SmartCardSmartCardICIC卡公交收费机设计(一)卡公交收费机设计(一)——MIFARE 1MIFARE 1卡存储结构与特性卡存储结构与特性电子与信息工程学院电子与信息工程学院SmartCardSmartCard课 程 目 标• MIFARE 1 MIFARE 1卡存储结构与读写操作卡存储结构与读写操作• MIFARE 1MIFARE 1卡值块结构与值操作卡值块结构与值操作• MIFARE 1MIFARE 1卡防冲突特性与防冲突操作卡防冲突特性与防冲突操作• MIFARE 1MIFARE 1卡安全特性与存取控制设置卡安全特性与存取控制设置SmartCardSmartCard项目开发——IC卡公交收费系统•系统需求分析:1.具备小额电子钱包功能,定额方式收费2.操作方便快捷3.工作距离<50cm4.具备显示余额、异常报警(非法卡或余额不足)5.可将当班收款额上传总站数据库6.公交公司可调整定额额度7.卡遗失可挂失8.抗干扰能力强SmartCardSmartCard项目实现之第一步——卡型选择•接触式IC卡 •非接触式IC卡操作不方便,频繁使用易磨损操作方便快捷,不易磨损复习:复习:非接触式非接触式IC卡(卡( Contactless ICC)是在卡中敷设天线,利用天线的接收发射,与读写器的天线交换信号,实现一种无线通讯,又被称为射频卡(RFC——Radio Frequency Card),简称RF卡,非接触式IC卡系统被称为射频识别系统(RFID——Radio Frequency Identification)。
SmartCardSmartCard非接触式IC卡的基本构成 •非接触式IC 卡:芯片+天线+卡基SmartCardSmartCardSmartCardSmartCard非接触式IC卡的特点 •可靠性高、寿命长 非接触式IC卡与读写器之间无机械接触,避免了由于接触读写而产生的各种故障非接触式ID卡表面无裸露的芯片,无须担心芯片脱落、静电击穿、弯曲、损坏等问题,既便于卡片的印刷,又提高了卡片使用的可靠性 •操作快捷便利 •动态处理 •成本较高 SmartCardSmartCardEM ID厚卡EM ID薄卡PHILIPS MIFARE 1卡TI (德州仪器)Tag-it电子标签手表卡与钥匙扣卡非接触式IC卡种类繁多,哪一种最适合公交收费系统呢?SmartCardSmartCard非接触式IC卡的分类•按片内IC:存储卡、逻辑加密卡、CPU卡•按工作距离:密耦合卡、近耦合和疏耦合卡 •按工作频率的高低按工作频率的高低 ::125kHz的低频卡(30 kHz ~300 kHz),13.56MHz的高频或射频卡(3MHz~30 MHz),915MHz、2.45GHz的超高频卡(300MHz ~3GHz)、5.8GHz的微波卡(>3GHz)。
•按卡内芯片供电方式:卡内带电池的有源卡和卡内无电池、由读写器以无线感应方式供电的无源卡 •按使用过程中的读写方式:只读卡(ID卡)和读写卡 (带EEPROM)SmartCardSmartCard不同频段射频卡的特点 特点频段工作频率 数据传输速率读写距离 读写区域低频125~134KHz慢适中(<1m)较为均匀高频13.56MHz较快适中(<1m)较为均匀超高频860~960MHz快远(<10m)很难定义SmartCardSmartCard非接触式IC卡的国际标准标准组织阵营频段技术规范EPCglobal 全球产品电子代码管理中心 欧美企业 沃尔玛、思科、敦豪快递、麦德龙和吉列等 UHF(860-960 MHz )电子产品代码(EPC)、电子标签规范和互操作性、识读器-电子标签通信协议、中间件软件系统接口等ISO/IEC 国际标准组织/国际电工委员会 全球非盈利工业标准组织 多个频段识别卡与身份识别ISO/IEC14443自动识别ISO/IEC15693ISO/IEC18000UID 泛在技术核心组织 日本电子厂商、IT企业 2.45GHz和13.56MHz 电子标签超微芯片部分规格 SmartCardSmartCard非接触式IC卡的ISO/IEC国际标准注释:ICC——集成电路卡CICC——Close-Coupled ICC,紧密(密耦合)卡;PICC——Proximity ICC,称为接近(近耦合)卡;VICC——Vicinity ICC,称为邻近(疏耦合)卡。
CD ——Coupling Device,是读写器中发射电磁波的部分 SmartCardSmartCardISO/IEC14443国际标准现阶段ISO/IEC 14443(草案)主要有两个体系并存:ISO/IEC14443-Type A、ISO/IEC14443-TypeB Ø TypeA:以PHILIPS公司为代表,包括SIEMENS、HITACHI、GEMPLUS、G&D和Schlumberger等公司 Ø TypeB:以ST(意法半导体)、MOTOROLA、ATMEL、韩国SAMSUNG和日本的NEC等公司为代表 SmartCardSmartCardISO/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通信的空中接口的参数;SmartCardSmartCard项目实现之第一步——卡型选择•低频非接触式ID卡•高频非接触式逻辑加密卡•超高频非接触式IC卡数据传输速率低,防冲突性能差;没有加密,不安全数据传输率高,防冲突性能好,安全性高读写距离远,防冲突性能好;容易受周围环境干扰,读写器成本高SmartCardSmartCard目前高频卡的产品主要包括:•ISO14443TypeA卡——Mifare 1 S50卡卡、Ultra Light卡 LEGIC Type A 卡、上海公交卡即华虹IC卡、复旦微电子Type A 卡•ISO14443TypeB卡——ATMEL RF020•ISO15693(电子标签)卡——PHILIPS I-Code2、TI Tag-it标签•I-CODE(电子标签)卡—— PHILIPS I-Code、上海贝岭BL75R02•SONY Felica卡——香港八达通、深圳通•中国二代身份证市场主流卡型SmartCardSmartCardMifare 1非接触式IC卡 基本性能指标:•卡内器件: 无线智能卡芯片Mifare MF1 IC S50 +天线线圈•标准: 遵从ISO/IEC 14443 Type A 标准•工作频率: 13.56MHz•数据传送速率: 106kbit/s (9.4μs/bit)SmartCardSmartCardMifare 1卡片的存储结构 •存储容量:1024×8位字长(即1KB),•存储介质:EEPROM•分为16个扇区(扇区0 ~15)•每个扇区有4个块(Block)块0、块1、块2和块3。
•每个块有16个字节•一个扇区共有 16 Byte×4 = 64 Byte SmartCardSmartCard块功能详解1)厂商块地址:扇区0块0内容:IC卡厂商标志,包含卡序列号SN、卡类型号TagType及卡容量字节等关键数据特性:只读,安全防伪例:420A7E0036 88 0400 4481740630373937H卡类型号TagType卡序列号SN卡容量字节SIZESmartCardSmartCard块功能详解2)数据块(块0~2)•每块16字节可由区尾块中的存取控制位(access bits)配置为: p读写块:用作一般的数据操作,可用读/写命令直接读/写整个块p值块:用作定值操作,可以进行加值/减值(INC/DEC)的运算•数据块数据的读/写/加值/减值条件: 符合该块存取条件的要求 + 通过该扇区的密码认证 SmartCardSmartCard块功能详解 3)区尾块 (Sector Trailer)•每个扇区的块3为区尾块,包含: KEY A(6B)+ Access bits(4B)+KEY B(6B)例:A0A1A2A3A4A5 FF078069 B0B1B2B3B4B5 密钥A默认值存取控制位默认值密钥B默认值SmartCardSmartCardMIFARE 1卡特点:支持城市一卡通•EEPROM存储器结构提供多应用: 1K字节EEPROM,16个扇区, 4数据块/扇区,16字节/块。
用户可以定义每一个存储器块的访问条件每个扇区(每应用)拥有各自独立的密钥,支持带密钥层次的多应用•适合定额收费: 卡芯片中内建有增值/减值的专项数学运算电路,非常适合公交/地铁等行业的定额收费系统SmartCardSmartCardMIFARE 1卡防冲突特性•利用每张卡全球唯一的SN实现二进制树状搜索防冲突算法例:SN1:420A7E00SN2:420A7E01SN3:421A7E01冲突1选择SN2、SN3冲突2选择SN3SmartCardSmartCardPOWER OFF状态IDLE状态READY状态ACTIVE状态HALT状态RESETREQUEST 命令ANTICOLLISION命令启动防冲突循环读取卡回送的UID(SN)HALT命令SELECT UID命令应用:AUTENTICATION/READ/WRITE/INC/DEC命令WAKE UP 命令MIFARE MIFARE 卡卡卡卡防冲突流程防冲突流程防冲突流程防冲突流程SmartCardSmartCardMIFARE 1卡特点:支持多卡同时操作•卡芯片与读写芯片中都内嵌防冲突模块,可实现真正的(硬件)防冲突,可高速识别天线范围内的多张卡,适应多人同时刷卡。
SmartCardSmartCardMIFARE 1卡的安全特性•密码认证:所有扇区需通过密码认证才能进行读/修改操作•存取控制:所有块可通过设置存取控制条件限制存取SmartCardSmartCardMifare 1 卡的密码认证方式 •Mifare 1 卡的密码的认证采用了三次相互认证的方法,具有很高的安全性 SmartCardSmartCard(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’,校验正确,否则将无法通过校验;SmartCardSmartCard(A)环 :Mifare 1卡取随机数RB=1100,KEY1=1010,加密/解密算法:异或,发送RB给读写器(B)环 :读写器取随机数RA=0011,KEY2=1010,加密/解密算法:异或,接收RB对RB加密:TOKENB=RB异或KEY2=0110,发送TOKENB+RA(C)环 :Mifare 1卡片对TOKEN B解密: RB‘=TOKENB异或KEY1=1100=RB,校验正确;(D) 环 :Mifare 1卡片对RA加密TOKENA=RA异或KEY1=1001 ;(E)环 :读写器 收对TOKEN A解密:RA’=TOKENA异或KEY2=0011=RA,校验正确SmartCardSmartCardMifare 1 卡存取控制设置•Access bits(存取控制位):定义该扇区中4个块的访问条件,及定义数据块的类型(读写或值)•Mifare 1 卡出厂初始化时,所有扇区块3的初始化值均为 A0A1A2A3A4A5 FF078069 B0B1B2B3B4B5 卡初始化后的存取控制条件为: 密码密码A永不可读永不可读,校验密码A或密码B正确后可以修改; 密码B在校验密码A或密码B正确后可读,可修改; 存取控制位在校验密码A或密码B正确后可读,可修改; 数据块在校验密码A或密码B正确后可读,可修改。
SmartCardSmartCard公交卡密钥存取条件的设置•对象:各扇区块对象:各扇区块3 3•存取条件:存取条件:1.1.密码密码A永不可读永不可读,校验密码A或密码B正确后可以修改2.密码B在校验密码A或密码B正确后可读,可修改;3.存取控制位在校验密码A或密码B正确后可读,可修改;SmartCardSmartCard存取控制位对块3的控制结构密密码A密密码A存取控制存取控制 存取控制存取控制密密码B密密码BC1X3C2X3C3X3readwritereadwriteread write000neverKEYA|BKEYA|BneverKEYA|BKEYA|B010neverNeverKEYA|BneverKEYA|Bnever100neverKEYBKEYA|BneverneverKEYB110neverNeverKEYA|Bnevernevernever001neverKEYA|BKEYA|BKEYA|BKEYA|BKEYA|B011neverKEYBKEYA|BKEYBneverKEYB101neverNeverKEYA|BKEYBnevernever111neverNeverKEYA|BneverneverneverSmartCardSmartCardC2X3_bC2X2_bC2X1_bC2X0_bC1X3_bC1X2_bC1X1_bC1X0_bC1X3C1X2C1X1C1X0C3X3_bC3X2_bC3X1_bC3X0_bC3X3C3X2C3X1C3X0C2X3C2X2C2X1C2X0BX7BX6BX5BX4BX3BX2BX1BX0存取控制位的结构11111111000001111000000001101001SmartCardSmartCard公交卡预付费金额存取条件设置•对象:扇区1块0~2•存取条件: 校验密码A或密码B正确后可读,可修改。
SmartCardSmartCard存取控制位对数据块的控制结构C1XYC2XYC3XYReadWriteIncrement Decr,,Transfer,,restore000KEYA|BKEYA|BKEYA|BKEYA|B010KEYA|Bnevernevernever100KEYA|BKEYBnevernever110KEYA|BKEYBKEYBKEYA|B001KEYA|BneverneverKEYA|B011KEYBKEYBnevernever101KEYBnevernevernever111NeverneverneverneverSmartCardSmartCardC2X3_bC2X2_bC2X1_bC2X0_bC1X3_bC1X2_bC1X1_bC1X0_bC1X3C1X2C1X1C1X0C3X3_bC3X2_bC3X1_bC3X0_bC3X3C3X2C3X1C3X0C2X3C2X2C2X1C2X0BX7BX6BX5BX4BX3BX2BX1BX0存取控制位的结构11111111000001111000000001101001SmartCardSmartCard公交卡流水号存取条件设置•对象:对象:扇区14块0•存取条件:存取条件: 校验密码A/B正确可读,永不可修改。
其他各块条件默认SmartCardSmartCard存取控制位对数据块的控制结构C1XYC2XYC3XYReadWriteIncrement Decr,,Transfer,,restore000KEYA|BKEYA|BKEYA|BKEYA|B010KEYA|Bnevernevernever100KEYA|BKEYBnevernever110KEYA|BKEYBKEYBKEYA|B001KEYA|BneverneverKEYA|B011KEYBKEYBnevernever101KEYBnevernevernever111NeverneverneverneverSmartCardSmartCardC2X3_bC2X2_bC2X1_bC2X0_bC1X3_bC1X2_bC1X1_bC1X0_bC1X3C1X2C1X1C1X0C3X3_bC3X2_bC3X1_bC3X0_bC3X3C3X2C3X1C3X0C2X3C2X2C2X1C2X0BX7BX6BX5BX4BX3BX2BX1BX0存取控制位的结构11101111000001111000000101101001SmartCardSmartCard扇区14存取控制字节=EF 07 81 69H 将扇区14块3的内容修改为FFFFFFFFFFFFEF078169FFFFFFFFFFFFSmartCardSmartCardMIFARE 1卡特点:支持开放环境下的安全可靠应用•高保密性:q 全球唯一SN;q 密钥及传输密码保护,各扇区密码独立且有三套(KEYSET0、1、2)二个(KEY A、KEY B)密码。
q 密码认证采用三次相互认证;q 存取控制位保护,用户可以定义每一个存储器块的访问条件q RF信道数据加密 •高可靠性: 无线通讯链路使用各种校验机制确保数据可靠传输SmartCardSmartCard实训 MIFARE 1卡的读写操作与存储结构 •按标志连接非接触式IC卡读写器的电源线,电源指示灯闪亮一下表示连接正确注意电源注意电源+5V+5V与地不可接反与地不可接反•按标志连接非接触式IC卡读写器与PC机间的通信线,打开MIFARE系列非接触式IC卡演示软件MWRF,确认通信正常•装载密码(Load Key)操作:在RFDEMO软件界面中选择密码集0(KEYSET0),密码A(KEY A),将扇区0-14的密码A设置为全F,而将扇区15的密码A设置为全0启动密码下载,下载过程中红色指示灯点亮;下载完毕后红色指示灯熄灭 SmartCardSmartCard•MIFARE 1MIFARE 1卡读写操作卡读写操作: : 将MIFARE 1卡按任意方向置入MIFARE开发板天线有效工作范围内,对MIFARE 1卡的扇区0、1和15的块0、1、2进行读/写操作记录读取的卡数据,标明各块的类型及卡的类型号、序列号、容量及各扇区的密码和访问权限。
注注意意::不不得得随随意意修修改改各各扇扇区区块块3的的数数据据,,特特别别是是访问权限字节,以免造成扇区被锁死访问权限字节,以免造成扇区被锁死 SmartCardSmartCard•MIFARE 1MIFARE 1卡值操作卡值操作: : 将MIFARE 1卡按任意方向置入MIFARE开发板天线有效工作范围内,对MIFARE 1卡的扇区1块0做值块初始化,读出并记录块0数据,说明值块格式;对扇区1块0做加值/减值操作,读出并记录操作结果SmartCardSmartCard•防冲突测试防冲突测试 (1)分别读出并记录二张MIFARE 1卡(分别记为1#卡、2#卡)的序列号,及其扇区0块1的内容,记录在报告上 (2)将二张MIFARE 1卡同时放置在读写器天线有效工作范围内,在RFDEMO软件中执行读操作,根据读出的SN找出被选中的卡(例如为1#卡) (3)在RFDEMO软件中执行写操作,修改扇区0块1的内容并将数据记录在报告上 (4)将被选中的卡撤离读写器天线有效工作范围,读出另一张卡(例如2#卡)的扇区0块1的内容,并将数据记录在报告上 (5)取走(4)中的卡,重新读出并记录被选中的卡的扇区0块1的数据,并记录在报告上。
(6)比较上述实验数据,说明MIFARE1卡是否具备防冲突功能SmartCardSmartCard•存取控制设置:存取控制设置:(1)读出并记录扇区14块0的内容;修改内容并再次读出,记录修改后的内容说明该块的存取控制条件2)修改扇区14的存取控制字节,将扇区14块0设置为校验密码A/B正确可读,永不可修改其他各块条件不变 (3)重复(1),说明修改存取控制字节产生的结果4)将存取控制位恢复为默认值注意:严禁修改对块注意:严禁修改对块3的设置,否则容易错误将存取控制位的设置,否则容易错误将存取控制位设为永不可写,将无法恢复为默认值设为永不可写,将无法恢复为默认值。












