- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
非接触IC卡的安全性问题带来的挑战和机会
一、关于Mifare卡安全问题的分析
1、Mifare卡安全问题的背景介绍
Mifare Classic 非接触IC卡(下简称Mifare卡)。Mifare是NXP公司(原Philips半导体MIKON)于上世纪90年代推出的非接触逻辑加密IC卡。Mifare卡在全球交通、门禁、识别等领域得到了广泛的使用,中国是Mifare卡最大的市场。
针对Mifare卡的安全性攻击从未停止,2008年出现了高效的攻击手段,并在网络上公布了攻击细节。Mifare卡的安全性问题引起了国内外的广泛的重视和担忧。
2、Mifare卡的安全机制
读写器和卡之间需要通过相互认证,认证后,读写器和卡之间的通讯加密。对EEPROM的操作有逻辑权限加以控制。引入伪随机数保证每次认证的过程不重复。
3、Mifare卡安全机制分析
读写器和卡之间相互认证借鉴了ISO9798-2中的三次相互认证的协议,是最为关键的安全机制。相互认证方案和加解密过程是保密的,包括:认证的加密算法细节、认证过程中的运算细节和伪随机数产生的细节。在认证过程中,可知道的是双方都:采用了相同的对称加密算法和用同一密钥来进行认证和加密。
4、对Mifare卡的安全性攻击
随着安全研究者和攻击者不断针对Mifare 卡的攻击和分析,其认证相关的所有细节被完全公布:版图逆向分析的手段获得卡内伪随机数产生电路和加密算法电路;通过试验的方法找出认证中数据的规律,从而分析出完整的认证细节。
安全性机制弱点主要在于:伪随机数只有16位,周期太短;48位密钥强度不够,加密算法结构简单,加密函数缺陷明显。
5、两种主要的攻击手段
A、针对卡内基于16位LFSR的随机数方案弱点的重放攻击,攻击效果和系统应用的流程相关。
B、针对序列密码算法设计缺陷的攻击,倒推获取卡的密钥,这是比较彻底的攻击。
6、单卡攻击的主要方式
原卡复制即多次伪造出与原卡一模一样的卡片,使读卡机器无法识别伪卡
1、获取“读”密钥(一般即消费密钥)
2、找到UID号可改写的相同产品的空卡或FPGA仿真卡
原卡充值即攻破充值密钥后,可以私自非法对原卡充值
1、攻破充值密钥
2、了解应用数据结构
原卡恢复即先将原卡数据完整拷贝出来备份,待其中钱消费快结束时,再将备份数据写回原卡,完成对原卡的数值回复和再充值
1、攻破充值密钥
2、攻破“读”(消费)密钥
3、原卡的交易流程设计中,支持数据回写
7、Mifare卡安全性问题的分析
Mifare卡的安全性问题是真实存在的。随着攻击细节的公布,攻击门槛大大降低,出现首个攻击事件只是个时间问题。目前对Mifare的攻击是针对单卡而言,批量复制和针对完整的应用系统的攻击仍是很难的,而完善的应用系统设计可大幅提高攻击的难度。Mifare卡用户应重视当前的安全性问题,针对自身的实际应用情况进行安全性评估,积极应对。
二、国内Mifare卡用户的应对策略
1、国内企业如何应对
A、已运行项目
通过完善管理和处罚(包括刑事)手段,对潜在攻击者形成震慑。缩短交易数据上传和分析处理时间,尽量做到实时处理。终端设备支持黑名单下载,尽量增大黑名单容量和更新能力。调整数据结构或交易流程,增加系统的安全,一定程度弥补卡片的安全漏洞。尽快向非接触CPU卡等高安全产品升级。
B、新项目直接采用非接触CPU卡等高安全产品。
2、一步到位的升级选择
非接触CPU卡是非接触IC卡市场和技术的发展趋势,也是Mifare卡升级的首要选择,CPU卡芯片安全性高、功能强大、存储容量大。COS有公开、统一的可遵循国际或国家标准,CPU卡得到建设部等国家部门的大力推动。国产芯片已成熟、价格也趋于合理。至2008年初起,在建设部的领导下,许多城市的公交卡已经开始了Mifare卡到非接触CPU卡的升级试点。2008年以来国家密码管理部门开展了一系列的密码安全标准制定工作,提出各种应用的密码安全方案。
3、非接触CPU卡的COS
非接触CPU卡的指令等操作都是通过卡片操作系统COS来完成。芯片和COS的安全技术为CPU卡提供了双重的安全保证。自带操作系统的CPU卡对计算机网络系统要求较低,可实现脱机操作。可实现真正意义上的一卡多应用,每个应用之间相互独立,并受控于各自的密钥管理系统,甚至可以实现多种COS应用的一卡共用。
4、非接触CPU卡的安全性优势
CPU卡采用3DES加密算法,它使用3次64位的单DES加密算法对数据进行三次加密,密钥长度为128位,多年来,它在对付强力攻击时是比较安全的,进一步将可采用128位密钥长度的国家商用密码算法SM1替代3DES算法进行加密操作。
CPU卡由于支持卡片锁定和应用锁定/解锁功能,应用商可以根据要求设定密钥尝试次数比如三次,超过次数限制,则卡片锁定或者应用锁定。
CPU卡支持密文传输,密钥是不在线路上以明文出现的,它每次的送出都是经过随机数加密的,而且因为有随机数的参加,确保每次传输的内容不同。
CPU卡支持密钥专用,不同的应用可以设定不同的密钥,从而使攻击者不容易得手。
5、非接触CPU卡易用性更佳
CPU卡有深入、全面的国际/国内标准(如PBOC2.0)规范可以遵循,可实现更好的兼容性和功能扩展性。
CPU卡由COS保证了卡上数据的完整性。当写操作或其交易过程中异常中断时,COS负责恢复异常的数据,使交易过程不出现不确定的中间状态,大大简化了交易终端的异常处理程序,统一交易终端的交易处理流程。
CPU具有使用对称或非对称算法对交易数据进行签名(TAC)的功能,终端或通道无法伪造出交易数据的数字签名,因此无法伪造交易数据。
6、Mifare卡升级到非接触CPU卡所需的工作
充值、发卡体系、密钥管理系统以及后台软件系统的改造升级(安全技术要求需要符合国家密码管理部门的审批要求)。
消费POS机改造(通常只需升级软件)。
卡片升级:Mifare卡一次性直接替换成为CPU卡;逐步替换存量Mifare卡,新发卡用能兼容Mifare的CPU卡,达到平稳过渡,平滑升级的效果。
三、复旦微电子的全面解决方案
1、RFID/IC卡产品线简介
自1999年推出第一个IC卡芯片以来,目前已开发了20多款产品,芯片出货量累计超过4亿片。拥有国内最全、出货量最大的RFID/IC卡产品线,涵盖:存储卡 / 逻辑加密卡 / CPU 卡、接触 / 非接触、IC卡芯片 / 读写器芯片等等。
2、挑战与机会
复旦微电子是目前国内非接触IC卡产品出货量最大的芯片供应商(不包括二代证)。Mifare卡安全性问题对复旦微电子来说,既是挑战,也是机遇。我们已经准备好全面的技术解决方案来满足客户向CPU卡升级的需求
3、复旦微电子完善的CPU卡产品
复旦微电子拥有完善的CPU卡产品线,主要有三大系列,一是FM1208系列 (兼容M1卡),专为城市交通卡向CPU卡升级打造;二是FM1216系列 (兼容非接存储卡);三是FM1920系列(SMAP应用)。
4、非接触CPU卡芯片--FM1208
单界面非接触CPU卡芯片,符合《建设部非接触CPU卡芯片技术要求》,支持ISO14443-A通讯标准;8位CPU内核;8Kbyte EEPROM;硬件DES加密算法;能兼容所有的主流非接触存储卡;可支持COS开发以符合《建设部非接触CPU卡COS技术要求》《PBOC2.0电子钱包/电子存折》。
FM1208应用模式-1
标准的非接触CPU卡模式(FM1208):
卡片不支持兼容非接触存储卡,只是作为标准的非接触CPU 卡来应用;
适合于原来没有应用非接触存储卡而新开展非接触CPU 卡的应用领域;
典型应用:合肥城市通卡,安全门禁卡。
FM1208应用模式-2
复合卡模式(FM1208M01):
独立的非接触存储卡钱包和非接触CPU卡钱包和应用,相当于在一个芯片上实现复合卡的功能;
适合与应用模式比较简单的一卡多用领域;
典型应用:重庆长江掌中行。
FM1208应用模式-3
共享钱包模式(FM1208SH01/FM1208M01):
非接触存储卡和非接触CPU卡共用一个钱包,两种接口共享数据;
COS能在支持CPU卡应用的同时能实现对存储卡功能和数据的处理,保证两个接口操作的数据同步;
典型应用:上海公共交通。
双界面CPU卡-- FM1216
双界面CPU卡芯片,符合《建设部非接触CPU卡芯片技术要求》;
支持ISO14443-A非接触接口;
支持ISO7816接触接口;
8位MCU处理器;
支持DES、国密SM1和RSA加密算法;
数据EEPROM为16Kbyte;
能兼容所有的主流非接触存储卡。
FM17xx、FM1920读写器芯片
非接触读写器芯片FM17系列是复旦微电子最成功的产品之一,至今已销售超过300万颗,国内市场份额超过50%。
FM1920是继FM17系列之后推出智能读写器芯片;
内置8位CPU、硬件DES协处理器、大容量EEPROM存储器;
支持ISO14443、ISO15693协议;
嵌入式软件支持PBOC规范、方便POS开发;
良好用户编程接口,操作全面兼容FM17系列;
低功耗、接口种类丰富。
四、总结
Mifare非接触逻辑加密卡的安全性问题确实存在,对于卡片供应商,系统商和用户需要积极应对提高应用系统的安全性,采用更高安全和多应用特性的CPU卡是较好的选择。
复旦微电子已经准备好从芯片、机具到系统应用的全面技术解决方案来满足客户向CPU卡升级的需求,愿与卡片供应商,终端提供商,系统集成商合作共同为最终用户提供安全,可靠,满足用户需求的IC卡解决方案。
(文/上海复旦微电子股份有限公司)