引 言
随着非接触逻辑加密卡的不断应用,其技术的不足之处也日益暴露,难以满足更高的安全性和更复杂的多应用的需求。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所示。
图1 FM1208功能框图