《非接触CPU智能卡技术》由会员分享,可在线阅读,更多相关《非接触CPU智能卡技术(8页珍藏版)》请在金锄头文库上搜索。
1、非接触 CPU 智能卡技术2011-12-02 18:36:55 来源:互联网 关键字: 智能卡 加密卡 安全性 引 言随着非接触逻辑加密卡的不断应用,其技术的不足之处也日益暴露,难以满足更高的安全性和更复杂的多应用的需求。2008 年,互联网上公布了破解 Mifare Classic IC 芯片( 即 M1芯片)密码的方法;德国研究员亨里克 普洛茨(Henryk Plotz)和弗吉尼亚大学计算机科学在读博士卡尔斯滕诺尔(Karsten Noh1)成功地破解了恩智浦半导体的 Mirare 经典芯片的安全算法;德国 Virginia 大学和荷兰 Radboud 大学两个独立研究小组分别证实了 M
2、i-fare 芯片的易受攻击性,并发表了破解芯片加密算法的论文以及演示了实际操作芯片的破解过程。破解事件公开后,荷兰内务部大臣特霍斯特在接受媒体采访时表示,全球多达 10 亿张 IC卡中所使用的一项技术可轻易破解。此次破解风波经过国内媒体的转载报道后,在我国引起了轩然大波,城市公用事业 IC 卡应用作为非接触式逻辑加密卡的应用大户,不得不让我们静下心来认真思考城市公用事业 IC 卡系统的安全问题及未来走向。如果掌握了破解技术,不法分子可以很低的经济成本对采用该芯片的各类“一卡通” 、门禁卡进行非法充值或复制,这将带来很大的社会安全隐患。因此,非接触 CPU 智能卡 技术正成为一种技术上更新换代
3、的选择,用 CPU 卡替换逻辑加密卡的时代已到来。1 非接触逻辑加密卡 Mifare 卡的安全性问题Philips 公司(现 NXP)的 Mifare 1 卡片,在非接触卡应用领域占有全球 80的市场份额,是目前非接触智能卡的工业标准,也成为 ISO14443-A 的工作草案。Mifare 的安全认证依赖于每个扇区独立的 KEYA 和 KEYB 的校验,可以通过扇区控制字对KEYA 和 KEYB 的不同安全组合,实现扇区数据的读写安全控制。其个人化也比较简单,主要包括数据和各扇区 KEYA、KEYB 的更新,在其间所有敏感数据(包括 KEYA 和 KEYB)都是直接以明文的形式更新的。KEYA
4、 和 KEYB 的校验机制只能解决卡片对终端的认证,而无法解决终端对卡片的认证,即存在俗称为“伪卡 ”的风险。Mifare 的密钥就是一个预先设定的固定密码,无论用什么方法计算密钥,最后一定要和原先写入的固定密码一致,就可以对被保护的数据进行读写操作。因此无论是一卡一密的系统还是统一密码的系统,经过破解都可以实现对非接触逻辑加密卡的解密。有种观点认为,只要是采用了一卡一密、实时在线系统,或非接触逻辑加密卡的 ID 号,就能避免密钥被解密。其实,非接触逻辑加密卡被解密就意味着 M1 卡可以被复制,使用在线系统尽管可以避免被非法充值,但是不能保证非法消费,即复制一张一样 ID 号的 M1 卡,就可
5、以进行非法消费。现在的技术使用 FPGA 就可以完全复制。基于这个原理,Mifare 的门禁卡也是不安全的。2 非接触 CPU 卡的特点与优势非接触 CPU 卡,也称智能卡,卡内的集成电路中带有微处理器 CPU、存储单元( 包括随机存储器 RAM、程序存储器 ROM(Flash)、用户数据存储器 EEPROM)以及芯片操作系统COS。装有 COS 的 CPU 卡相当于一台微型计算机,不仅具有数据存储功能,同时具有命令处理和数据安全保护等功能。非接触 CPU 智能卡与非接触逻辑加密卡相比,有以下特点:芯片和 COS 的安全技术为 CPU 卡提供了双重的安全保证;拥有独立的 CPU 处理器和芯片操
6、作系统;对计算机网络系统要求较低,可实现脱机操作,可实现真正意义上的一卡多用,每个应用之间相互独立,并受控于各自的密钥管理系统;交易中自动保证数据的完整性(防拔) ;可以更灵活地支持各种不同的应用需求,更安全的设计交易流程;独立的保密模块 使用相应的实体 SAM 卡密钥实现加密、解密以及交易处理,从而完成与用户卡之间的安全认证。 非接触 CPU 智能卡的优势是:先进性。CPU 卡可以作为银行的金融卡使用,代表当前 IC 卡应用的最高安全等级,正成为 IC 卡应用中的主流产品。规范性。支持符合 ISO7816-3 标准的 T=0、T=1 通信协议,符合中国金融集成电路(IC)卡规范、中国金融集成
7、电路(IC) 卡应用规范,支持符合银行规范的电子钱包、电子存折功能。兼容性。由于有中国人民银行的统一规范及严格检测,CPU 卡具有很好的兼容性、安全性。芯片和 COS 的安全技术为 CPU 卡提供了双重的安全保证;支持 DES、TripleDES 等加密算法,支持线路加密、线路保密功能,防止通信数据被非法窃取或篡改,使用过程密钥实现加密、解密。可扩展性。卡片支持多种容量选择,如 2 KB、4 KB、8 KB、16KB 、32KB 的 EEPROM 空间。CPU 卡从卡结构到卡容量可以很容易扩展到多种应用,可以与银行联合,实现真正意义上的一卡多用。安全性。与逻辑加密卡相比,由于智能卡内部具有 C
8、PU 芯片,在具有数据判断能力的同时,也具备了数据分析处理能力,因此智能卡可以随时区分合法和非法读写设备,并且由于有了 CPU 芯片,具备数据运算能力,还可以对数据进行加密解密处理,因此具有非常高的安全性。CPU 卡是在将 EEPROM 芯片封装在卡片上的同时,将微处理器芯片(CPU)也封装在里面。这样,EEPROM 的数据接口在任何情况下都不会与 IC 卡的对外数据线相连接。外部读写设备只能通过 CPU 与 IC 卡内的 EEP-ROM 进行数据交换,在任何情况下都不能再访问到 EEP-ROM 中的任何一个单元。外部读写设备在与智能卡进行数据交换时,首先必须发指令给 CPU,由 CPU 根据
9、其内部的ROM 中存储的卡片操作系统(COS)对指令进行解释,并进行分析判断。在确认读写设备的合法性后,允许外部读写设备与智能卡建立连接,之后的数据操作仍然要由外部读写设备发出相应的指令,并用 CPU 对指令进行正确解释,允许外部读写设备和智能卡中的数据存储区(RAM)进行数据交换。数据交换成功后,在 CPU 的控制下,利用智能卡中的内部数据总线,再将内部 RAM 中的数据与 EEPROM 中的数据进行交换。这样就实现了对智能卡EEPROM 中数据的安全保护,因此具有非常高的安全性。3 非接触 CPU 卡 FM1208 的特点与性能FM1208 是复旦微电子股份有限公司设计的单界面非接触 CP
10、U 卡芯片,产品支持。ISO14443-A 协议,硬件 DES 协处理器,内置 8 KB 的 EEPROM。FM1208 的特色是能够兼容现有广泛使用的非接触逻辑加密卡,将非接触逻辑加密卡(Mirare 算法) 和符合银行标准的接触式 CPU 卡的功能合二为一。特点:通信协议为 ISO14443-A;MCU 指令兼容 8051;支持 106 kbps 数据传输速率;Triple-DES 协处理器;程序存储器 32K8 位 ROM;数据存储器 8K8 位 EEPROM;2568位 iRAM;3848 位 xRAM;低压检测复位;高低频检测复位;EEPROM 满足 10 万次擦写指标和 10 年数
11、据保存指标。FM1208 典型处理时间:识别一张卡时间为 3 ms(包括复位应答和防冲突);EEPROM 擦写时间为 24 ms;典型交易过程350 ms。FM1208 的安全机制:有反电源分析模块;有高低频检测复位模块,芯片工作频率超出检测范围自动复位;ROM 反逆向提取,存储器数据加密。FM1208 功能框图如图 1 所示。 4 非接触 CPU 卡 FM1208 的 COS由于 CPU 卡具有很高的安全性及一张卡支持多种应用的特点,所以 IC 卡家族中 CPU 卡的使用范围正日益扩大。类似一台计算机,CPU 卡内也有 CPU、存储器和输入输出接口,所以在应用中 CPU 卡也必然需要操作系统
12、。上海复旦微电子股份有限公司成功地开发了自主版权的 CPU 卡操作系统 FMCOS(FMSH Card Operating System)。该操作系统符合ISO7816 系列标准及中国金融集成电路(IC) 卡规范,适用于保险、医疗保健、社会保障、公共事业收费、安全控制、证件、交通运输等诸多应用领域,特别是在金融领域。FMCOS 详细规定了电子钱包、电子存折和磁条卡功能(Easy Entry)3 种基本应用。FMCOS 特点如下:支持 Single DES、Triple DES 算法,且可自动根据密钥的长度选择 Single DES、Triple DES 算法。 支持线路加密、线路保护功能,防止
13、通信数据被非法窃取或篡改。支持在一张卡上实现多个不同的应用:可建立三级目录。支持电子钱包功能,钱包大小可由用户自行设定。支持多种文件类型,包括二进制文件、定长记录文件、变长记录文件、循环文件、钱包文件。支持 ISO7816-3:T=0(字符传送)通信协议。满足银行标准:符合中国金融集成电路(IC)卡规范。防插拔功能:交易处理过程中非正常拔出的卡片自动恢复。FMCOS 由传输管理、文件管理、安全体系、命令解释 4 个功能模块组成。传输管理:按 ISO7816-3 标准监督卡与终端之间的通信,保证数据正确地传输,防止卡与终端之间通信数据被非法窃取和篡改。文件管理:将用户数据以文件形式存储在 EEP
14、-ROM 中,保证访问文件时的快速性和数据安全性。安全体系:安全体系是 FMCOS 的核心部分,它涉及对卡的鉴别与核实,以及对文件访问时的权限控制机制。命令解释:根据接收到的命令检查各项参数是否正确,执行相应的操作。5 系统开发基础及芯片选型(1)射频基站芯片的选择和使用基站芯片用于非接触射频卡与中央处理器之间的信息通信。以下芯片均可以实现对FM1208 等符合 ISO14443 TYPA 标准的 CPU 卡的读写,可以参考相关文档。本设计主要以卡片为主,所以对于基站芯片的具体应用,可以参考相关文档。Philips 系列芯片:RC500、RC522、RC531 、RC632。复旦系列芯片:FM
15、1702N、FM1702SL,、FM1715N、 FM1725N。TI 公司的基站芯片: RI-R6C-001A、TRF7960。EM 公司基站芯片:EM4094、EM4294。(2)单片机的选择和使用对于非接触射频卡的信息处理,根据功能和速度的要求,可以选择不同的方案。各种 CPU芯片各有优缺点。8051 单片机:价格低廉,入门简单,货源充足。AVR 单片机:价格适中,速度快,外设丰富。ARM:功能强大,速度快,可运行 RTOS。(3)ISO14443-3、ISO14443-4这两部分是学习和操作非接触 CPU 卡的核心。ISOIEC14443-3 规定了邻近卡 (PICCs)进入邻近耦合设
16、备 (PCDs)时的轮寻,通信初始化阶段的字符格式,帧结构,时序信息。REQ 和 ATQ 命令内容,从多卡中选取其中一张的方法,初始化阶段其他必需的参数。这部分规定同时适用于 A 型 PICCs 和 B 型 PICCs。ISOIEC14443-4 规定了非接触半双功块的传输协议,并定义了激活和停止协议的步骤。这部分传输协议同时适用于 A 型卡和 B 型卡。 (4)IS07816-4这一部分是学习和操作,SAM 的基础,其中规定了:由接口设备至卡以及相反方向所发送的报文、命令和响应的内容;在复位应答期间卡所发送的历史字节的结构及内容;当处理交换用的行业间命令时,在接口处所看到的文件和数据的结构;访问卡内文件和数据的方法;定义访问卡内文件和数据的权利的安全体系结构;安全报文交换的方法;访问卡所处理算法的方法(本标准不描述这些算法 )。6 SAM 卡在系统中的应用根据应用方式,SAM 卡在系统中