文献标识码:A
DOI:10.16157/j.issn.0258-7998.2015.07.014
中文引用格式:张海峰,侯战斌,陈奎林. 一种低功耗高安全双界面智能卡芯片的设计与实现[J].电子技术应用,2015,41(7):50-53.
英文引用格式:Zhang Haifeng,Hou Zhanbin,Chen Kuilin. A design and implementation of low-power and high-security chip for dual-interface smart card[J].Application of Electronic Technique,2015,41(7):50-53.
0 引言
双界面CPU卡是一种同时支持接触式与非接触式两种通信方式的CPU卡,接触接口和非接触接口共用一个CPU进行控制,接触模式和非接触模式自动选择。在一张卡片上同时拥有接触式与非接触式两种界面,这就避免了持卡者要对两张各自仅带有接触式界面或非接触式界面的电子钱包分别进行充值的麻烦,为人们的生活带来极大的便利。在消费交易过程中,其非接触接口可以为消费过程提供更加快捷的方式;而在对卡片进行充值时,接触接口则更为安全。
1 芯片的核心电路结构
双界面CPU卡是基于双界面芯片设计的,按一定规格封装而成。根据ISO/IEC 7816和ISO/IEC 14443-A协议规定,本文设计的一种低功耗高安全双界面芯片同时兼有接触式和非接触式通信接口。
如图1,芯片主要由CPU、接触通信接口、非接触通信接口、存储器以及加密模块组成。同时还包括时钟、复位、功耗管理、初始化等系统模块和上下电复位管理、电源管理、电压调节器、传感器等模拟模块。
其中CPU内核采用高性能的8位R8051XC2,指令与标准8051兼容,内置3个16位Time和DMA协处理器。通过Bank扩展机制,可以使存储空间突破64 KB的限制,最大可访问8 MB。CPU的主要功能是对接受的命令进行解析后实现对存储器数据的访问和处理。128 kB Flash作为程序存储区,可提供灵活、强大的片上操作系统(COS)开发空间,也方便将来软件应用程序的升级,同时可通过配置相应寄存器控制8 KB EEPROM作为程序补丁区。32 KB EEPROM、6 KB XRAM和280 B RF Buffer作为外部数据存储区,提供了强大的数据处理能力,4 KB external SFR可方便将来硬件寄存器的改版升级。通过MMU单元,可方便实现程序存储器、外部数据存储器和内部数据存储器的地址映射和权限管理。
1.1 非接触接口单元
非接触接口单元以ISO/IEC 14443-3 TYPE A为通信协议,主要包含三个部分:射频模拟前端电路、数字基带电路和存储器。如图2所示。
射频模拟前端电路RF_AFE从13.56 MHz近场中获取能量,产生电源和13.56 MHz时钟信号,并对数据进行调制和解调。数字基带电路连接射频前端电路和存储器,是这两个模块的接口,在CPU指令控制下完成射频通信。数字基带电路包括时钟产生模块、复位产生模块、解码模块、编码模块、收发控制模块、防碰撞模块、CRC 校验模块等。时钟产生模块的输入为模拟前端电路产生的13.56 MHz方波,通过分频处理产生各个模块需要的频率,同时这个模块还要完成时钟的同步功能。解码模块和编码模块分别对接收信号和发射信号的数据帧进行解码和编码, 编码模块采用曼彻斯特码编码器对发送信号进行编码,解码模块通过改进米勒码解码器对接收信号进行解码;控制单元则主要完成PICC主状态机控制,判断接收的帧类型,对发送及接收数据进行奇偶检验,同时实现对各组成模块的状态转移控制及对RF buffer的读写控制。另外,CRC校验模块用于对接收信号和发送信号的代码实现CRC-16校验功能;考虑到上层COS命令的现场应用,存储器采用280 B的寄存器组实现。
1.2 电源管理单元
电源管理是指对接触电源和非接触RF电源进行统一管理,输出一路恒定电源。芯片在正常应用情况下,只会有单一界面工作的需求,不会双界面同时工作。如表1所示,电源输出采用接触优先的策略,即只要有接触电源存在,输出电源就会选择接触电源;只有在接触电源不存在的情况下,输出电源才会选择RF电源。
1.3 芯片的复位管理
在电源上下电过程中,要求产生复位信号。具体复位管理如表2。
根据电源管理和复位管理的方式,双界面的模式判断流程如图3所示。
2 芯片的高安全性
2.1 芯片安全防护机制
非接触接口单元以ISO/IEC 14443-3 TYPE A为通信协议,主要包含三个部分:射频模拟前端电路、数字基带电路和存储器。
如表3,对芯片安全的攻击可分为三种基本类型:物理攻击、扰乱攻击和侧信道攻击。
针对以上攻击方法,该芯片采取如下防范策略。
物理攻击防范方面:
(1)采用多层电路设计,将包含敏感数据的层隐藏在较不敏感的层之下,使得微探针技术的使用受到一定限制。
(2)减小芯片形体尺寸:使攻击者无法使用光学显微镜来分析芯片的电路结构。
(3)顶层传感器保护网:在芯片的表面加上一层格状的带有保护信号的激活网络,当入侵行为发生时,该信号中断,通过控制电路使内存中相应内容清零。
(4)锁存电路:在芯片的微处理器中设置锁存位。当出现异常情况时,它会发出锁存信号,立即清除芯片中的敏感数据。
扰乱攻击的防范方面:
(1)加入监测电路,集成高低电压检测报警、高低频率检测报警、温度检测报警、光检测报警,当外界环境异常时,可发出警告标志,使芯片对自身数据进行防护。
(2)引入Double check电路,对加密算法多次运算结果对比,正确则输出,错误则不输出。
侧信道攻击的防范方面:
(1)采用平衡电路降低信号能量,设置金属防护以抑制电磁发射。
(2)执行并行随机处理来加大幅值噪声水平以干扰芯片工作时泄露的功耗信息分析。
(3)随机中断处理引入不同的时钟频率和时间噪声。
2.2 存储器的安全访问机制
程序存储器分为应用程序区、Bootloader区和EEPROM补丁程序区。在Bootloader区运行期间,可下载应用程序,而在应用模式下,为保护应用程序区和EEPROM补丁程序区的程序安全,其访问权限可配置为不可写入,防止芯片在异常状态中对应用程序造成意外的篡改,而Bootloader区硬件控制为不可写入,只能在CP测试阶段通过硬件的BIST接口写入,既能防止应用程序意外跳转到Bootloader区,对应用程序进行破坏,又能从源头上保证程序的安全性。对于数据存储区,也可以配置为不可写入,目的是保护关键数据,防止芯片在异常状态中对数据造成意外篡改。此外,对CPU访问权限出错的情况,程序会进入异常状态,将相应的出错标志位置位并进入中断处理程序或直接进入复位状态。
在电路结构上,为了进一步对存储的数据进行加密,采用了地址、数据扰动技术,结构如图4所示。基本原理是通过一个线性的逻辑映射把CPU要访问的存储器地址变换成不连续及混乱的地址,这样就可以使攻击者不能分辨和分析程序是在顺序执行或跳转,也不能根据地址来猜测数据类型。而CPU在读取这些数据的时候,通过一个线性的逆变换就可以得到真正的数据。这种变换和逆变换是由硬件电路完成的,因此对CPU是透明的,所以对软件的开发没有影响。同理,写入或读出存储器的数据也是经过变换加密的。
2.3 芯片设计的安全性
系统层级上,采用32 MHz高精度内部时钟振荡器,保证芯片工作时不受外部时钟的干扰。芯片内部的真随机数发生器(符合FIPS140-2和NIST SP800-22),基于电阻在通电后产生电热噪声的随机分布特性,利用噪声随机性产生数据作为数据源,具有性能良好、随机度高的特点。复用成熟IP CRC(Cyclical Redundancy Check,循环冗余码校验)可用于数据的完整性校验,而看门狗计数器(Watch Dog Timer,WDT)也可防止程序跑飞,保证芯片运行的安全。
芯片的加密模块采用DES/3DES分组密码加密算法,通过分组、移位、查表和交换等操作,使智能卡数据安全性更高。同时芯片也集成了由中国密码管理局编制的商用密码分组标准对称加密算法SM1模块,与软件实现方式相比,具有加密速度快、加密安全性能高等优点,使得该芯片能满足多数国家安全认证要求。同时,这些加密算法引入了随机噪声、随机掩码和随机等待三者相结合的防侧信道攻击技术,保证芯片加密运算时的安全性。
3 芯片的低功耗
为减小芯片功耗,本文设计的PMU(功耗管理模块)很好地从系统层级上实现了芯片的低功耗管理。在DES、SM1等功耗较大模块工作时,会关闭其他不相关工作模块。在芯片Standby状态下及非接触模式接收、发送数据过程中,将关闭CPU、DES、SM1、CRC等数字模块,同时也逐级关闭VR、FLASH、EEPROM和OSC等模拟模块。
在电路结构上,采用门控时钟技术和控制电路节点跳变方法降低芯片的功耗,以门控时钟取代原始时钟,同时控制电路系统内部各触发器和锁存器输出的跳变次数。动态控制时钟的低功耗技术,可保证芯片在射频电磁场中具备优异的通信稳定性和可靠性。
4 结果分析
本文根据ISO/IEC7816和ISO/IEC 14443-A协议,完成基于CPU的、集接触与非接触接口为一体的低功耗高安全芯片的设计及样品测试,并通过了全部逻辑功能验证,包括程序加载过程、IO接口通信、FLASH/EEPROM/SRAM读写操作、DES/3DES/SM1加解密、随机数产生、CRC校验、以及安全机制防护等。
在采用HHNEC的0.13 μm工艺条件下,包括CPU及DMA协处理器、通信接口、时钟、复位、功耗管理、硬件加解密、存储访问控制等所有逻辑电路,其综合后规模约8万门,芯片面积约为8.08 mm2,正常工作平均功耗约2 mA,满足智能卡封装对芯片面积的要求。
(1)逻辑综合结果
逻辑综合结果如表4所示。
(2)RF测试结果
RF测试结果如表5所示。
(3)DIP40陶封芯片功能验证
RF陶封芯片功能验证结果如表6所示。
(4)功耗测试结果
功耗测试结果如表7所示。
5 结论
本文设计的一种低功耗高安全双界面智能卡芯片,通过流片加工及样品验证,可完全满足协议对双界面芯片性能的要求,构筑了完善的智能卡安全体系结构,实现了芯片面积、速度和功耗之间较好的平衡。
其高安全性、兼容性及超低功耗设计可完全作为POS机等移动设备近距离支付通讯的载体,可很好地应用于城市一卡通领域和金融领域,实现公交、水电、煤气等小额非接触支付以及电子钱包存折应用,同时还可作为数据的安全存储和身份认证产品,用于企业员工管理等。
参考文献
[1] ISO/IEC 14443-1-2/-3/-4,ISO/IEC 10373-6,ISO/IEC 7816-3/-4/-5/-6.
[2] 闵昊.智能卡领域的一大技术进步——双界面卡[J].安防科技,2003(6).
[3] MAYES K,MARKANTONAKIS K.Smart cards,tokens,security and applications[M].Springer,2008.
[4] SHELFER K M,PROCACCINO J D.Smart card evolution[J].Communications of the ACM,2002,45(7).
[5] Zhang Xinfang.For mobile payment development based on smart card technology[J].China Financial,2013(3):35.
[6] Wen Zhang,Yue Chen.Measures for dual-interface IC card security[J].China ITS Journal,2012(11):76.