FM1208非接触CPU卡读写系统的开发与研制
(ZHANG Jian-jun, Shandong Institute of Information Engineering Department of Transport, Jinan,ShanDong,250001)
(BAO Guo-feng, Shandong University subsidiary Provincial Hospital Computer Information Center, Jinan,ShanDong,250001)
(MA Yi-bing, Shanhai JIN-AN-TE AUTOID R&D Center, Jinan,ShanDong,250001)
概要: 本文在对非接触逻辑加密卡Mifare和非接触CPU卡比较的基础上,介绍了我国自主研发的复旦FM1208非接触CPU卡的特点及性能,并给出了读写FM1208卡的硬件系统的配置及选型,以及软件设计的参考流程。为已经大量使用的Mifare卡的门禁、考勤、通道管理、消费以及公用事业等应用领域提供了良好的升级解决方案。
Abstract: In this paper, the logic of contactless and non-encrypted Mifare card access to CPU card based on the comparison, on China's self-developed non-contact FM1208 Fudan CPU card features and performance, and FM1208 are given cards to read and write the configuration of the hardware system and Selection, as well as reference software design process. Has been widely used for the Mifare card access control, time, channel management, and consumer applications as well as public utilities, such as the upgrade provides a good solution.
关键字:逻辑加密卡;CPU卡; MIFARE;读写基站; COS
Keyword: non-encrypted card; CPU card ; Mifare;Read & Write base station ; COS
1 引言
近年来,非接触IC卡广泛应用于各个领域,给我们的生活、工作以及管理带来了诸多方便以及益处。
早期投入应用的非接触IC卡技术多为逻辑加密卡,其低廉的成本,简明的交易流程,较简单的系统架构,迅速得到了用户的青睐,并得到了快速的应用和发展。据不完全统计,截至去年年底,国内各领域非接触逻辑加密卡的发卡量已经达到数亿张。
比如最为著名的Philips公司(现NXP)的Mifare 1卡片。其在非接触卡应用领域占有全球80%的市场份额,是目前非接触智能卡的工业标准,也成为ISO14443-A的工作草案。
随着非接触逻辑加密卡不断应用的过程,非接触逻辑加密卡技术的不足之处也日益暴露,难以满足更高的安全性和更复杂的多应用的需求。
2008年,互联网上公布了破解MIFARE CLASSIC IC芯片(即M1芯片)密码的方法。
德国研究员亨里克?普洛茨(Henryk Plotz)和弗吉尼亚大学计算机科学在读博士卡尔斯滕?诺尔(Karsten Nohl)成功地破解了恩智浦半导体的Mifare经典芯片的安全算法。
德国 Virginia大学和荷兰 Radboud大学两个独立研究小组分别证实了 MIFARE芯片的易受攻击性,并发表了破解芯片加密算术的论文以及演示了实际操作芯片的破解过程。
破解事件公开后,荷兰内务部大臣特霍斯特在接受媒体采访时表示,全球多达10亿张安全卡中所使用的一项技术可轻易破解。此次破解风波经过国内媒体的转载报道后,在我国引起了轩然大波,城市公用事业IC卡应用作为非接触式逻辑加密卡的应用大户,不得不让我们静下心来认真思考城市公用事业IC卡系统的安全问题及未来走向。如果掌握了破解技术,不法分子可以很低的经济成本对采用该芯片的各类“一卡通”、门禁卡进行非法充值或复制,带来很大的社会安全隐患。
因此,非接触CPU卡智能卡技术正成为一种技术上更新换代的选择,用CPU卡替换逻辑加密卡的时代已到来。
2 非接触逻辑加密卡Mifare卡的安全性问题
Mifare的安全认证依赖于每个扇区独立的KEYA和KEYB的校验,可以通过扇区控制字对KEYA和KEYB的不同安全组合,实现扇区数据的读写安全控制。其个人化也比较简单,主要包括数据和各扇区KEYA、KEYB的更新,在期间所有敏感数据包括KEYA和KEYB都是直接以明文的形式更新。
由于KEYA和KEYB的校验机制,只能解决卡片对终端的认证,而无法解决终端对卡片的认证,即我们俗称的“伪卡”的风险。
Mifare的密钥就是一个预先设定的固定密码,无论用什么方法计算密钥,最后就一定要和原先写入的固定密码一致,就可以对被保护的数据进行读写操作。 因此无论是一卡一密的系统还是统一密码的系统,经过破解就可以实现对非接触逻辑加密卡的解密。有种观点认为只要是采用了一卡一密、实时在线系统或非接触逻辑加密卡的ID号就能避免密钥被解密,其实,非接触逻辑加密卡被解密就意味着M1卡可以被复制,使用在线系统尽可以避免被非法充值,但是不能保证非法消费,即复制一张一样ID号的M1卡,就可以进行非法消费。现在的技术使用FPGA就可以完全复制。基于这个原理,Mifare的门禁卡也是不安全的。
3 非接触CPU卡的特点与优势
3.1 概念
非接触CPU卡,也称智能卡,卡内的集成电路中带有微处理器CPU、存储单元(包括随机存储器RAM、程序存储器ROM(FLASH)、用户数据存储器EEPROM)以及芯片操作系统COS。装有COS的CPU卡相当于一台微型计算机,不仅具有数据存储功能,同时具有命令处理和数据安全保护等功能。
3.2 特点
非接触CPU卡智能卡与非接触逻辑加密卡相比
? 芯片和COS的安全技术为CPU卡提供了双重的安全保证
? 拥有独立的CPU处理器和芯片操作系统
? 对计算机网络系统要求较低, 可实现脱机操作, 可实现真正意义上的一卡多应用,每个应用之间相互独立,并受控于各自的密钥管理系统
? 交易中自动保证数据的完整性(防拔)?
? 可以更灵活的支持各种不同的应用需求,更安全的设计交易流程。
? 独立的保密模块 -- 使用相应的实体SAM卡密钥实现加密、解密以及交易处理,从而完成与用户卡之间的安全认证。
3.3 优势
3.3.1 先进性。
CPU卡可以作为银行的金融卡使用,代表当前IC卡应用的最高安全等级,正成为IC卡应用中的主流产品。
3.3.2 规范性。
支持符合ISO7816-3标准的T=0、T=1通讯协议,符合《中国金融集成电路(IC)卡规范》、《中国金融集成电路(IC)卡应用规范》,支持符合银行规范的电子钱包、电子存折功能。
3.3.3 兼容性。
由于有中国人民银行的统一规范及严格检测,CPU卡具有很好的兼容性。安全性。芯片和COS的安全技术为CPU卡提供了双重的安全保证。支持DES、Triple DES等加密算法,支持线路加密、线路保密功能,防止通信数据被非法窃取或篡改,使用过程密钥实现加密、解密。
3.3.4 可扩展性。
卡片支持多种容量选择,如2K、4K、8K、16K 、32K字节的EEPROM空间。CPU卡从卡结构到卡容量可以很容易扩展到多应用,可以与银行联合,实现真正意义上的一卡多用。
3.3.5 安全性
与逻辑加密卡相比,由于智能卡内部具有CPU芯片,在具有数据判断能力的同时,也具备了数据分析处理能力,因此智能卡可以随时区分合法和非法读写设备,并且由于有了CPU芯片,具备数据运算能力,还可以对数据进行加密解密处理,因此具备非常高的安全性。
CPU卡是在将EEPROM芯片封装在卡片上的同时,将微处理器芯片(CPU)也封装在里面。这样,EEPROM的数据接口在任何情况下都不会与IC卡的对外数据线相连接。外部读写设备只能通过CPU与IC卡内的EEPROM进行数据交换,在任何情况下都不能再访问到EEPROM中的任何一个单元。
外部读写设备在与智能卡进行数据交换时,首先必须发指令给CPU,由CPU根据其内部的ROM中存储的卡片操作系统(COS)对指令进行解释,并进行分析判断,在确认读写设备的合法性后,允许外部读写设备与智能卡建立连接,之后的数据操作仍然要由外部读写设备发出相应的指令,并用CPU对指令进行正确解释后,允许外部读写设备和智能卡中的数据存储区(RAM)进行数据交换,数据交换成功后,在CPU的控制下,利用智能卡中的内部数据总线,再将内部RAM中的数据与EEPROM中的数据进行交换。这样就实现了对智能卡EEPROM中数据的安全保护,因此具备非常高的安全性。
1