CPU卡读写论文
- 格式:doc
- 大小:397.00 KB
- 文档页数:13
1 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的工作草案。
2 随着非接触逻辑加密卡不断应用的过程,非接触逻辑加密卡技术的不足之处也日益暴露,难以满足更高的安全性和更复杂的多应用的需求。
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)、用户数据存储器
3 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
4 根据其内部的ROM中存储的卡片操作系统(COS)对指令进行解释,并进行分析判断,在确认读写设备的合法性后,允许外部读写设备与智能卡建立连接,之后的数据操作仍然要由外部读写设备发出相应的指令,并用CPU对指令进行正确解释后,允许外部读写设备和智能卡中的数据存储区(RAM)进行数据交换,数据交换成功后,在CPU的控制下,利用智能卡中的内部数据总线,再将内部RAM中的数据与EEPROM中的数据进行交换。这样就实现了对智能卡EEPROM中数据的安全保护,因此具备非常高的安全性。
3.4 认证机制与密匙系统
非接触CPU卡智能卡可以通过内外部认证的机制,例如像建设部定义的电子钱包的交易流程,高可靠的满足不同的业务流程对安全和密钥管理的需求。对电子钱包圈存可以使用圈存密钥,消费可以使用消费密钥,清算可以使用TAC密钥,更新数据可以使用卡片应用维护密钥,卡片个人化过程中可以使用卡片传输密钥、卡片主控密钥、应用主控密钥等,真正做到一钥一用。
非接触CPU卡加密算法和随机数发生器与安装在读写设备中的密钥认证卡(SAM卡)相互发送认证的随机数,可以实现以下功能:
通过终端设备上SAM卡实现对卡的认证。
非接触CPU卡与终端设备上的SAM卡的相互认证,实现对卡终端的认证。
通过ISAM卡对非接触CPU卡进行充值操作,实现安全的储值。
通过PSAM卡对非接触CPU卡进行减值操作,实现安全的扣款。
在终端设备与非接触CPU卡中传输的数据是加密传输。
通过对非接触CPU卡发送给SAM卡的随机数MAC1,SAM卡发送给非接触CPU的随机数MAC2和由非接触CPU卡返回的随机数TAC,可以实现数据传输验证的计算。而MAC1、MAC2和TAC就是同一张非接触CPU卡每次传输的过程中都是不同的,因此无法使用空中接收的办法来破解非接触CPU卡的密钥。
但同时,与非接触逻辑加密卡系统相比,非接触CPU卡智能卡的系统显得更为复杂,需要进行更多的系统改造,比如密钥管理、交易流程、PSAM卡以及卡片个人化等。密钥通常分为充值密钥(ISAM卡),减值密钥(PSAM卡),身份认证密钥(SAM卡)。
4 非接触CPU卡FM1208的特点与性能
FM1208是复旦微电子股份有限公司设计的单界面非接触CPU卡芯片,产品支持ISO14443-A协议,硬件DES协处理器,内置8Kbyte的EEPROM。FM1208的特色是能够兼容现有广泛使用的非接触逻辑加密卡,将现在广泛使用的非接触逻辑加密卡(Mifare算法)和符合银行标准的接触式CPU卡的功能合二为一。