FM1208非接触CPU卡读写系统的研制
- 格式:doc
- 大小:37.00 KB
- 文档页数:6
深圳市联合智能卡有限公司CPU卡的特性本文由“联合智能卡”编辑 CPU卡的全称是Chip Operating System,由于卡内带有微处理器CPU、存储单元(包括随机存储器RAM、程序存储器ROM(FLASH)、用户数据存储器EEPROM 以及芯片操作系统COS,相当于一台微型计算机,也有计算机的数据存储功能,还有命令处理和数据安全保护等功能。
CPU卡具有技术先进性、高安全性、可兼容性、广泛应用性、可拓展性等特点。
●技术先进性1)高端智能非接触CPU卡(FM1208) 系列产品采用先进的超深亚微米EEPROM工艺技术。
2)容量为64K Byte EEPROM,大容量可以支持多种应用,如公交结算、小额支付等金融行业,实现一卡多种应用。
3)同时该产品还通过了建设部IC卡应用规范。
●高安全性1) 芯片内置硬件DES协处理器,比普通的卡片的流加密技术具有更高的安全性2) 芯片和COS的协同安全技术为CPU卡提供了双重的安全保证。
在卡片的使用过程中,没有密钥的直接传输,无法通过侦听等方式截取密钥;同时COS内部设有密钥的最大重试次数,能防范对卡片的恶意攻击。
在以上规范标准基础上,因其高安全性,非常适合应用在电子钱包小额支付等金融领域,有效防止金融交易中出现的数据错误,保护消费者交易的私密性、安全性及个人利益不受损害。
●可兼容性FM1208高智能非接触CPU卡,不仅具备高安全性,大容量等优势,而且还有着广泛的兼容性。
该产品符合ISO14443 Type A标准和ISO/IEC 7816-5,,可以兼容现有的非接触逻辑加密卡,如市场上广泛应用的S50等,十分方便在已有应用下的升级和扩展。
特别适合于广泛使用的非接触逻辑加密卡应用平滑向非接触CPU卡应用的过渡,可以最小的代价满足客户安全性需求。
●广泛应用性FM1208是复旦微电子针对国内公交、高速、校园、城市一卡通及小额消费、电子钱包等领域的需求而设计开发的高智能非接触CPU卡芯片。
武汉理工大学毕业设计(论文)电动汽车充电桩计费系统的IC卡读写子系统设计学院(系):自动化学院专业班级:自动化专业1104班学生姓名:李振威指导教师:李道远摘要电动汽车产业在国内外正处于蓬勃发展时期,因此与其配套的充电设施也受到了空前的关注。
作为该产业链上的重要一环,电动汽车充电站在未来有非常大的发展前景。
对于充电桩充电系统,它必须能够为电动车使用者提供安全性高、可信赖、方便快捷的充电服务。
本文基于电动汽车充电站计费管理系统的需要,利用IC卡来进行读写子系统的方案设计。
从实际应用的角度出发,使得设计出的IC卡读写子系统不仅方便用户进行使用,并且能与其它的充电站相适用。
方案不仅对IC卡读写子系统的硬件框架结构进行了详细描述,而且明确了各个部件的功能,提供了相应的IC卡读写以及计费方案。
本文根据电动汽车充电桩的基本运营需要求,采用目前最流行CPU卡作为金融消费媒介。
通过对充电桩系统软件和硬件的设计为消费者提供一整套刷卡充电消费服务。
第一步,根据项目的应用需求对CPU卡的卡上文件系统进行设计。
规划了CPU卡内部的安全体系和文件访问流程,并确定读卡器终端与卡片信息交互的方式,设计CPU卡的应用方案。
第二步,系统的硬件采用ARM主控板,操作系统采用Linux嵌入式系统,在这个平台上对充电桩的IC卡应用进行方案设计,并编写充电桩刷卡消费应用程序。
第三步,通过一系列的测试来确保卡片能够正确识别,对用户身份进行认证,实现正确计费和对意外情况处理进行处理等功能。
关键词:充电桩;计费系统;CPU卡;ARMAbstractElectric car industry at home and abroad is in a boom period, and therefore its supporting charging facilities have also been unprecedented attention. As an important part of the industry chain, electric car charging stations have a very big future prospects. Charging system for charging pile, it must be able to provide users of electric vehicles safe, reliable, convenient and efficient charging service.Based on the needs of electric vehicle charging station billing management system, the use of IC card reading and writing subsystem design. From a practical point of view, making the design of the IC card reader subsystem is not only user-friendly to use, and with other charging stations with applicable. Program not only for the IC card reader subsystem hardware framework is described in detail, but clearly the function of each part, to provide the corresponding IC card reading and writing as well as the accounting scheme.According to the basic operations of electric car charging pile request, using the most popular consumer CPU card as a financial intermediary. By charging point system design software and hardware to provide consumers with a set of credit card charge consumer services. The first step, according to the application requirements of the project for the CPU card card file system design. Planning the internal CPU card security system and file access process and to determine the terminal card information reader interacts with the design of the CPU card applications. The second step, the hardware system adopts ARM MPU, the operating system uses the Linux embedded system on this platform charging pile of IC card application design, and write consumer credit card charge pile applications. The third step, through a series of tests to ensure that the card can be identified correctly, the user identity authentication, to achieve the correct billing and processing of unforeseen circumstances processing functions.Keywords: charging pile; billing system; CPU card; ARM目录摘要 (II)Abstract (III)第1章绪论 (1)1.1 课题研究背景 (1)1.2 国内外研究现状 (1)1.3 课题研究的意义 (2)1.4 研究内容及章节安排 (2)第2章硬件构成 (4)2.1主控单元硬件环境搭建 (4)2.2 CPU卡应用系统的硬件设计 (5)第3章IC卡设计原理 (7)3.1 IC卡选型 (7)3.2 FM1208CPU卡简介 (8)3.3 卡内操作系统FMCOS (9)3.4 卡内文件系统 (10)3.4.1 CPU卡的文件类型 (11)3.4.2 文件空间结构 (12)3.4.3 文件的访问方式 (13)3.4.4 文件标识符与文件名称 (14)3.5 FMCOS的安全体系 (15)3.5.1 安全状态 (15)3.5.2安全属性 (16)3.5.3安全机制 (16)3.5.4安全算法 (17)第4章数据传输的加密技术 (18)4.1 加密算法基础 (18)4.2 加密算法分类 (18)4.3 DES及MAC (20)第5章充电桩CPU卡计费实现 (22)5.1 CPU卡计费方案设计 (22)5.2 CPU卡应用计费应用设计与实现 (22)5.2.1 嵌入式Linux操作系统移植 (22)5.2.2 ZM703读写模块数据传输协议 (24)5.2.3CPU卡基本操作命令 (24)5.2.4 CPU卡初始化及应用过程所需指令 (25)5.3 CPU卡应用计费应用程序设计与实现 (27)第6章结论与展望 (28)6.1 工作总结 (28)6.2 研究展望 (28)参考文献 (29)致谢 (30)附录 (31)第1章绪论1.1 课题研究背景由于我国国民经济的迅速发展,人民的生活水平也不断提高,机动车保有量的增长速度最近几年一直处在世界领先的地位。
非接触CPU卡步伐加快国内外应用重点不同随着智能卡技术的逐渐成熟,其应用的范围也越发的广泛,全球智能卡需求量逐年递增,2007年,全球智能卡出货量达到了42亿张,比2006年增加了20%,而在这其中,CPU卡达到了33亿张之多,比2006年增加了25%,在所有智能卡产品中,CPU卡占据了80%,而存储卡只占20%,但是仅仅在十年前,这个数字还是颠倒过来的。
可见CPU卡代表了智能卡未来的发展方向。
CPU卡分为接触式和非接触式两种,其中非接触CPU卡技术日益成熟,不断促进了新应用的产生,并已成为当今全球最令人关注的智能卡技术。
过去几年中,非接触智能卡的增长率一直维持在5~10%左右,且主要应用是逻辑加密卡而不是非接触CPU卡。
但从2006年下半年开始,非接触CPU 卡市场的增长明显加快,其主要推动因素来自于两个市场:一个是电子护照,另一个是基于万事达的Paypass和VISA的Visa wave等银行卡。
而在中国,近年来国内城市通卡的热潮也在一定程度上推动了非接触CPU卡市场的发展。
620)this.style.width=620;" border=0>本文将就国内外两个著名芯片商,上海复旦微电子股份有限公司和英飞凌科技(中国)有限公司多年来对于推广非接触CPU卡应用所作出的努力来看国内外非接触CPU卡的发展现状。
复旦微电子上海复旦微电子股份有限公司从2006年开始就参加了建设部组织的CPU卡联盟,并积极参与了建设事业非接触式CPU 卡COS和芯片标准的制定工作,2006年底其作为联盟的芯片厂家就拿出了国内第一款符合PBOC2.0和建设部规范的非接触式CPU卡——FM1208,并一举通过了银行卡检测中心的PBOC2.0测试。
上海复旦微电子股份有限公司市场部经理王宝东先生介绍:复旦微电子很多年前就开始了非接触CPU卡的研发工作,2006年底,在FM1208非接触CPU 卡通过银行卡检测中心的PBOC2.0的测试后,复旦微电子就开始了非接触CPU卡的推广工作,其中仅在重庆“长江掌中行”的项目中就应用了十几万片芯片,并且还先后在身份认证、城市通卡等领域做了大量的推广工作,到目前为止FM1208非接触CPU卡芯片已经出货几十万片,“合肥通”非接触CPU卡项目、上海世博会证件卡项目等也都已指定使用复旦微电子的非接触CPU卡芯片。
FM1208(自定义)CPU卡读写模块修订历史目录1. 概述 (1)2. 性能指标 (2)2.1 产品特性 (2)2.2 应用场合 (2)2.3 产品尺寸 (2)2.3.1 天线一体 (2)2.3.2 天线分体(标准型) (4)3. 硬件接口 (5)3.1 UART 通信接口: (6)3.2 分体模块与天线的连接 (7)3.3 辅助输出 (7)3.4 通信指示灯 (8)3.5 结构尺寸 (8)4. 通信协议 (10)4.1 数据帧结构 (10)4.2 命令码 (10)4.3 操作状态码 (11)5. 命令详解 (13)5.1 读取模块信息(FC = 0x15) (13)5.2 读取卡片序列号(FC = 0x16) (13)5.3 控制辅助输出端口(FC = 0x14) (14)5.4 CPU卡激活ISO14443-4(FC = 0x18) (15)5.5 外部认证(FC = 0xC0) (15)5.6 创建密钥文件(FC = 0xC6) (17)5.7 创建目录(FC = 0xC2) (19)5.8 选择目录或文件(FC=0xC3) (21)5.9 创建二进制数据文件(FC = 0xC4) (22)5.10 写二进制数据文件(FC = 0xC8) (24)5.11 读二进制数据文件(FC = 0xC9) (26)5.12 删除目录内容(FC = 0xC5) (29)5.13 APDU透传指令(FC = 0x19) (30)6. 常见故障分析 (32)6.1 打开串口失败 (32)6.2 与模块通信不上 (32)6.3 读取不到卡片序列号 (32)6.4 初始化卡片失败 (32)6.5 回收卡片失败 (32)6.6 读写文件数据失败 (33)7. 定制开发 (34)8. 技术支持 (35)9. 附录1:IC卡简介 (36)10. 附录2:CPU卡常用APDU错误码 (38)1.概述CPU卡读写模块支持上海复旦微电子FM1208卡片的数据读写操作,具有UART通信接口。
FM1208CPU 卡发卡命令流¾ 卡片上电,执行Request, Anticoll, Select 操作(成功) ¾ 执行RATS 进入CPU 卡流程(成功)发送:E051接收:1078809002209000FFFFFFFFFFFFFFFF ¾ 选择¾ 发送:0A010********* (8字节加密后数据,加密数据为<XXXXXXXX+00000000>) 返回:0A019000¾ 擦除MF 下数据:800E000000发送:0B01800E000000 ………… 接收:FA0101 发送:FA0101 接收:0B019000¾ 选择MF :发送:接收:¾ 建立密钥文件:80E00000073F005001F0FFFF发送:0B0180E00000073F005001F0FFFF 接收:0B019000¾ 写入密钥:80D401000D36F0F0FF33FFFFFFFFFFFFFFFF发送:0A0180D401000D36F0F0FF33FFFFFFFFFFFFFFFF 接收:0A019000 ……¾ 带MAC 写二进制文件:第一步:去随机数发送:0B010********* 接收:0B01xxxxxxxx9000第二步:计算MAC 并发送命令 发送:0A0104D6950022111122223333000603010006199808170000003019980815199812155566nn nn nn nn末尾四字节为使用随机数+四字节00为初始值对04D6950022111122223333000603010006199808170000003019980815199812155566计算MAC所得,具体算法见《PBOC电子钱包、电子存折卡片规范》接收:0A019000其他命令见脚本中命令,由于雷同,不一一列出,望见谅。
FM1208非接触CPU卡读写系统的研制来源:单片机与嵌入式系统2010-6-9 13:55:39关键词: 非接触CPU卡读写系统单片机IC卡时间:地点:用户:标签类型:工作频率:标准:实施公司:方案解决商:硬件提供商:【提要】Mifare算法的破解,给城市公用事业IC卡系统安全敲响了警钟。
在科技化、信息化飞速发展的当今时代,只有不断创新、不断提高城市公用事业IC卡系统的安全系数及技术水平,才能有更高、更远的发展,也才能为国家的信息发展作出贡献。
非接触CPU卡智能卡技术正成为一种技术上更新换代的选择,用CPU卡替换逻辑加密卡的时代已到来。
引言随着非接触逻辑加密卡的不断应用,其技术的不足之处也日益暴露,难以满足更高的安全性和更复杂的多应用的需求。
2008年,互联网上公布了破解Mifare Classic IC芯片(即M1芯片)密码的方法;德国研究员亨里克·普洛茨(Henryk Plotz)和弗吉尼亚大学计算机科学在读博士卡尔斯滕·诺尔(Karsten Noh1)成功地破解了恩智浦半导体的Mirare经典芯片的安全算法;德国Virginia大学和荷兰Radboud大学两个独立研究小组分别证实了Mi-fare芯片的易受攻击性,并发表了破解芯片加密算法的论文以及演示了实际操作芯片的破解过程。
破解事件公开后,荷兰内务部大臣特霍斯特在接受媒体采访时表示,全球多达10亿张IC卡中所使用的一项技术可轻易破解。
此次破解风波经过国内媒体的转载报道后,在我国引起了轩然大波,城市公用事业IC卡应用作为非接触式逻辑加密卡的应用大户,不得不让我们静下心来认真思考城市公用事业IC卡系统的安全问题及未来走向。
如果掌握了破解技术,不法分子可以很低的经济成本对采用该芯片的各类“一卡通”、门禁卡进行非法充值或复制,这将带来很大的社会安全隐患。
因此,非接触CPU智能卡技术正成为一种技术上更新换代的选择,用CPU卡替换逻辑加密卡的时代已到来。
1 非接触逻辑加密卡Mifare卡的安全性问题Philips公司(现NXP)的Mifare 1卡片,在非接触卡应用领域占有全球80%的市场份额,是目前非接触智能卡的工业标准,也成为ISO14443-A的工作草案。
Mifare的安全认证依赖于每个扇区独立的KEYA和KEYB的校验,可以通过扇区控制字对KEYA和KEYB的不同安全组合,实现扇区数据的读写安全控制。
其个人化也比较简单,主要包括数据和各扇区KEYA、KEYB的更新,在其间所有敏感数据(包括KEYA和KEYB)都是直接以明文的形式更新的。
KEYA和KEYB的校验机制只能解决卡片对终端的认证,而无法解决终端对卡片的认证,即存在俗称为“伪卡”的风险。
Mifare的密钥就是一个预先设定的固定密码,无论用什么方法计算密钥,最后一定要和原先写入的固定密码一致,就可以对被保护的数据进行读写操作。
因此无论是一卡一密的系统还是统一密码的系统,经过破解都可以实现对非接触逻辑加密卡的解密。
有种观点认为,只要是采用了一卡一密、实时在线系统,或非接触逻辑加密卡的ID号,就能避免密钥被解密。
其实,非接触逻辑加密卡被解密就意味着M1卡可以被复制,使用在线系统尽管可以避免被非法充值,但是不能保证非法消费,即复制一张一样ID号的M1卡,就可以进行非法消费。
现在的技术使用FPGA就可以完全复制。
基于这个原理,Mifare的门禁卡也是不安全的。
2 非接触CPU卡的特点与优势非接触CPU卡,也称智能卡,卡内的集成电路中带有微处理器CPU、存储单元(包括随机存储器RAM、程序存储器ROM(Flash)、用户数据存储器EEPROM)以及芯片操作系统COS。
装有COS的CPU卡相当于一台微型计算机,不仅具有数据存储功能,同时具有命令处理和数据安全保护等功能。
非接触CPU智能卡与非接触逻辑加密卡相比,有以下特点:①芯片和COS的安全技术为CPU卡提供了双重的安全保证;②拥有独立的CPU处理器和芯片操作系统;③对计算机网络系统要求较低,可实现脱机操作,可实现真正意义上的一卡多用,每个应用之间相互独立,并受控于各自的密钥管理系统;④交易中自动保证数据的完整性(防拔);⑤可以更灵活地支持各种不同的应用需求,更安全的设计交易流程;⑥独立的保密模块——使用相应的实体SAM卡密钥实现加密、解密以及交易处理,从而完成与用户卡之间的安全认证。
非接触CPU智能卡的优势是:①先进性。
CPU卡可以作为银行的金融卡使用,代表当前IC卡应用的最高安全等级,正成为IC卡应用中的主流产品。
②规范性。
支持符合ISO7816-3标准的T=0、T=1通信协议,符合《中国金融集成电路(IC)卡规范》、《中国金融集成电路(IC)卡应用规范》,支持符合银行规范的电子钱包、电子存折功能。
③兼容性。
由于有中国人民银行的统一规范及严格检测,CPU卡具有很好的兼容性、安全性。
芯片和COS的安全技术为CPU卡提供了双重的安全保证;支持DES、TripleDES 等加密算法,支持线路加密、线路保密功能,防止通信数据被非法窃取或篡改,使用过程密钥实现加密、解密。
④可扩展性。
卡片支持多种容量选择,如2 KB、4 KB、8 KB、16KB、32KB的EEPROM 空间。
CPU卡从卡结构到卡容量可以很容易扩展到多种应用,可以与银行联合,实现真正意义上的一卡多用。
⑤安全性。
与逻辑加密卡相比,由于智能卡内部具有CPU芯片,在具有数据判断能力的同时,也具备了数据分析处理能力,因此智能卡可以随时区分合法和非法读写设备,并且由于有了CPU芯片,具备数据运算能力,还可以对数据进行加密解密处理,因此具有非常高的安全性。
CPU卡是在将EEPROM芯片封装在卡片上的同时,将微处理器芯片(CPU)也封装在里面。
这样,EEPROM的数据接口在任何情况下都不会与IC卡的对外数据线相连接。
外部读写设备只能通过CPU与IC卡内的EEP-ROM进行数据交换,在任何情况下都不能再访问到EEP-ROM中的任何一个单元。
外部读写设备在与智能卡进行数据交换时,首先必须发指令给CPU,由CPU根据其内部的ROM中存储的卡片操作系统(COS)对指令进行解释,并进行分析判断。
在确认读写设备的合法性后,允许外部读写设备与智能卡建立连接,之后的数据操作仍然要由外部读写设备发出相应的指令,并用CPU对指令进行正确解释,允许外部读写设备和智能卡中的数据存储区(RAM)进行数据交换。
数据交换成功后,在CPU的控制下,利用智能卡中的内部数据总线,再将内部RAM中的数据与EEPROM中的数据进行交换。
这样就实现了对智能卡EEPROM中数据的安全保护,因此具有非常高的安全性。
3 非接触CPU卡FM1208的特点与性能FM1208是复旦微电子股份有限公司设计的单界面非接触CPU卡芯片,产品支持。
ISO14443-A协议,硬件DES协处理器,内置8 KB的EEPROM。
FM1208的特色是能够兼容现有广泛使用的非接触逻辑加密卡,将非接触逻辑加密卡(Mirare算法)和符合银行标准的接触式CPU卡的功能合二为一。
特点:通信协议为ISO14443-A;MCU指令兼容8051;支持106 kbps数据传输速率;Triple-DES协处理器;程序存储器32K×8位ROM;数据存储器8K×8位EEPROM;256×8位iRAM;384×8位xRAM;低压检测复位;高低频检测复位;EEPROM满足10万次擦写指标和10年数据保存指标。
FM1208典型处理时间:识别一张卡时间为3 ms(包括复位应答和防冲突);EEPROM擦写时间为2.4 ms;典型交易过程<350 ms。
FM1208的安全机制:有反电源分析模块;有高低频检测复位模块,芯片工作频率超出检测范围自动复位;ROM反逆向提取,存储器数据加密。
FM1208功能框图如图1所示。
图一FM1208功能框图4 非接触CPU卡FM1208的COS由于CPU卡具有很高的安全性及一张卡支持多种应用的特点,所以IC卡家族中CPU 卡的使用范围正日益扩大。
类似一台计算机,CPU卡内也有CPU、存储器和输入输出接口,所以在应用中CPU卡也必然需要操作系统。
上海复旦微电子股份有限公司成功地开发了自主版权的CPU卡操作系统——FMCOS(FMSH Card Operating System)。
该操作系统符合ISO7816系列标准及《中国金融集成电路(IC)卡规范》,适用于保险、医疗保健、社会保障、公共事业收费、安全控制、证件、交通运输等诸多应用领域,特别是在金融领域。
FMCOS详细规定了电子钱包、电子存折和磁条卡功能(Easy Entry)3种基本应用。
FMCOS特点如下:①支持Single DES、Triple DES算法,且可自动根据密钥的长度选择Single DES、Triple DES算法。
②支持线路加密、线路保护功能,防止通信数据被非法窃取或篡改。
③支持在一张卡上实现多个不同的应用:可建立三级目录。
④支持电子钱包功能,钱包大小可由用户自行设定。
⑤支持多种文件类型,包括二进制文件、定长记录文件、变长记录文件、循环文件、钱包文件。
⑥支持ISO7816-3:T=0(字符传送)通信协议。
⑦满足银行标准:符合《中国金融集成电路(IC)卡规范》。
⑧防插拔功能:交易处理过程中非正常拔出的卡片自动恢复。
FMCOS由传输管理、文件管理、安全体系、命令解释4个功能模块组成。
①传输管理:按ISO7816-3标准监督卡与终端之间的通信,保证数据正确地传输,防止卡与终端之间通信数据被非法窃取和篡改。
②文件管理:将用户数据以文件形式存储在EEP-ROM中,保证访问文件时的快速性和数据安全性。
③安全体系:安全体系是FMCOS的核心部分,它涉及对卡的鉴别与核实,以及对文件访问时的权限控制机制。
④命令解释:根据接收到的命令检查各项参数是否正确,执行相应的操作。
5 系统开发基础及芯片选型(1)射频基站芯片的选择和使用基站芯片用于非接触射频卡与中央处理器之间的信息通信。
以下芯片均可以实现对FM1208等符合ISO14443 TYPA标准的CPU卡的读写,可以参考相关文档。
本设计主要以卡片为主,所以对于基站芯片的具体应用,可以参考相关文档。
Philips系列芯片:RC500、RC522、RC531、RC632。
复旦系列芯片:FM1702N、FM1702SL,、FM1715N、FM1725N。
TI公司的基站芯片:RI-R6C-001A、TRF7960。
EM公司基站芯片:EM4094、EM4294。
(2)单片机的选择和使用对于非接触射频卡的信息处理,根据功能和速度的要求,可以选择不同的方案。
各种CPU芯片各有优缺点。