智能卡攻击技术浅析与高安全性芯片设计

【摘 要】随着智能卡应用越来越广泛,安全威胁成为了急需解决的问题。通过分析相应的需求,设计并实现了一种高安全性的智能卡芯片。集成了8位微处理器内核,真随机数发生器,DES/3DES、SF33加解密协处理器,存储器访问控制机制和专用的硬件安全电路来保证智能卡的安全性。

【关键词】智能卡;攻击技术;安全机制

Smartcard Attack Techniques Analysis and High Security Chip Design

HU Yan-zi LIN Ping-fen

(Beijing Embedded System Key Lab, Beijing University of Technology, Beijing, 100124, China)

【Abstract】As smartcard using more and more widely,security threats become a serious problem,this paper analysis security threats of smart card, design and implement a high-security smart card. Integrated 8-bit microprocessor, true random number generator, DES/3DES, SF33 encryption co-processor, memory access control mechanisms and dedicated hardware security circuit to ensure the security of smartcard.

【Key words】Smartcard; Attack techniques; Security logic

0 引言

随着微电子技术、计算机通信和信息安全技术的进步,智能卡技术得到了进一步的发展。随着智能卡应用范围的不断扩大,针对智能卡的各种各样的攻击性的犯罪现象已经出现,而且有增长的趋势。因此,智能卡的安全性和保密性显得日益重要。本文实现了一种高安全性的智能卡芯片,且其面积、功耗、速度均在一个可接受的合理范围之内。

1 智能卡攻击技术分析

对智能卡的攻击方法越来越多,主要可分为硬件攻击和分析攻击两种类型。

1.1 硬件攻击

目前,对智能卡的硬件攻击是入侵式的攻击模式,实施起来需要高端的实验设备和专用的探测技术,难度大,成本高,但也并非不能。主要方式有如下几种:

1.1.1 微探针技术:去除芯片封装后,用微探针对芯片进行物理探测,从而分析出智能卡的有关设计信息和存储结构,甚至可直接读取出存储器中的信息[1]。

1.1.2 版图重构:利用高倍显微镜研究芯片内部电路的连接关系,通过重构芯片的逻辑电路图来分析芯片的内部结构和存储方式。

1.2 分析攻击

对智能卡常见的分析攻击是逻辑分析和失效分析。

逻辑分析是对智能卡在正常工作时的参数或状态进行检测,经过分析得到卡片的工作规律和机密数据。

失效分析是攻击者通过诱发卡片的失效行为从而得到卡片的机密数据。这是因为现代集成电路都是硅片制成的,而硅片的电性能会随不同的环境参数而改变。因此,攻击者会通过将智能卡置于不同的环境来诱发芯片产生失效行为。

2 芯片的安全性设计与实现

面对各种各样的攻击手段,智能卡应采取相应的防攻击措施。其基本原理是:增加芯片上集成电路的复杂性;提高电路的抗干扰能力;掩盖真正的电源功率的消耗;提高对异常信号的控制功能等等[2]。本设计中的安全性预防措施如下。

2.1 智能卡芯片结构

本设计中智能卡芯片的结构如下图1所示,分为模拟电路和数字电路两部分。模拟电路负责接触式和非接触式两种工作模式下的数据、时钟、复位信号产生与传递,电源管理和系统安全等。数字电路以8051为核心,集成了与协议和安全性相关的外设和存储器。

图1 芯片系统结构

安全机制主要包括以下几个方面:1)真随机数发生器和DES、3DES、SF33加解密模块来保证通信的安全。2)存储器加密机制保证存储器中信息的安全性。3)专用的安全电路,如低电压检测电路、温度检测电路、随机时钟产生电路和防DPA攻击电路等来防止对芯片的恶意攻击。

2.2 真随机数发生器设计

在智能卡的交易过程中,需要多次用到随机数来保证交易的安全性,如智能卡和读卡器的相互鉴别、过程密钥的产生等[3]。

图2 随机数产生电路

本设计中采用了一种纯数字的随机数产生方法,如下图2所示,在第一个采样时钟周期,开关1、4闭合,开关2、3断开,则形成两个相互独立、自由振荡的环形振荡器。第二个采样时钟周期,开关1、4断开,开关2、3闭合,则两组反相器交叉相连形成双稳态器件。反相器的瞬时输出电压以及内部噪声的绝对和相对值决定了电路最终稳定在哪个逻辑值上,即可产生1比特随机数输出。

设计中使用了16组振荡器的输出,经过异或和同步处理后得到随机序列。随机序列经采集后,使用DIEHARD battery of tests of randomness[4]随机数测试程序进行测试,检验随机序列的性能皆可满足要求。

2.3 加解密模块设计

为保证交易过程中数据的可靠性和安全性,应使用数据加密技术将数据加密后传送。本设计中实现了DES、3DES对称加解密算法。DES算法的基本思想是扩散与混乱。扩散就是把明文的每位信息的影响发散到尽可能多的密文信息上去,以便隐藏明文的统计结构。混乱是利用加密变换使密文统计不取决于明文统计。DES通过非线性函数f(R,K)反复16圈移位、置换代替,以及对密钥的置换移位等做法,实现扩散与混乱[5]。为提高加密强度,应用中普遍采用3DES算法进行加密运算,即使用两个密钥对明文加密/解密3次。另外,为了推广具有自主版权的密码算法和兼容社保卡等特殊应用,本设计中还实现了国家密码办的SF33加解密算法。

2.4 存储器安全

在本设计中,集成了ROM、SRAM和 eFlash来存储程序和用户数据。为了防止智能卡在受到物理攻击时泄露存储器中的信息,达到保护存储器中信息安全性的目的,存储器中的信息都是经过特殊的加密机制处理过的,其结果是即便存储内容被攻击者非法获得,这些加密后的信息对攻击者也是毫无意义的。另外,这种加密存储器的设计是完全由数字逻辑电路实现的,在数据和地址送往存储器或从存储器中读出的过程中同时进行加解密操作,对于软件开发者和用户来说都是不可见的。因此,存储器的加解密不会给开发者带来额外的负担。

2.5 安全电路设计

本设计中针对分析攻击采用的安全措施主要有低电压检测电路、温度检测电路、随机时钟产生电路、防DPA攻击电路等。

2.5.1 低电压检测电路

eFlash存储器的读操作很容易受工作电压的影响,这是因为在eFlash中有一个判断存储值的单元,这个单元在非正常的工作电压下会发生判断错误,从而使读取的程序或数据与所存储的不符。而智能卡在接触式插拔过程中或非接触式应用中,都可能工作在低电压下, 因此设计了专门的低电压检测电路, 保证芯片的工作电压不会低于1.62V, 一旦检测到电压偏离将引起芯片的内部复位。

2.5.2 温度检测电路

修改环境温度也可被用作对智能卡的攻击方法。这是因为芯片中的电路和存储器都对温度的变化比较敏感,在极端的温度条件下,会使电路动态参数不稳定甚至不能正常工作[6]。而存储器中的一些位在极端温度下会被修改或者失效。因此,设计了温度检测电路,使芯片工作在-40-+85℃的温度范围内,一旦检测到当前温度超出此范围,芯片就停止工作。

2.5.3 随机时钟产生电路

如果处理器在每一次复位后执行一个相同的指令,很容易被攻击者发现。这是因为这样智能卡在每次相同的交易所消耗的时间和功耗都是相同的分布,推测处理器的行为也能简化成对协议的分析。因此预防措施是在可观察和关键的操作之间改变时钟的频率,这样可以改变智能卡在交易时的时间和功耗分部,从而达到有效防止这种攻击的目的。

在本设计中,芯片的系统时钟是不固定的,通过软件配置寄存器,可以选择系统时钟源和分频系数,使系统时钟在1MHz—40MHz之间变化。

2.5.4 防DPA攻击电路

DPA攻击是通过用示波器检测芯片中器件的能量消耗来获知其行为的攻击方法。在本设计中集成了专用的防DPA攻击的电路,如下图3所示。

A点的电流大小由8bits控制字调整可变电流源给出。当数字部分功耗增加时,电源检测电路会检测到电源电压下降,从而调整limiter泄流减少。数字部分功耗减小时,电源检测电路会会检测到电源电压上升,从而调整limiter泄流增大。使A点的电流始终保持固定值,这样即可达到防DPA攻击的目的。

图3 防DPA攻击电路

3 总结

芯片采用SMIC 公司0.18 um 的CMOS 工艺设计和制造,整体面积为4mm2,芯片制造完成之后,通过了所有的功能验证和安全机制验证。可适用于电子商务、社会保障卡系统等高安全性的应用领域。

【参考文献】

[1]黄显明.智能卡攻击技术分析及安全防范策略综述[J].金卡工程,2008,12(4):49-52.

[2]王爱英.智能卡技术[M].北京:清华大学出版社,2009.

[3]Ronggong Song. Advanced smart card based password authentication protocol[J]. Computer Standards & Interfaces, 2010, 10(5-6): 321-325.

[4]http://stat.fsu.edu/~geo[OL].

[5]薛元星,赵春平,李昊.电信智能卡芯片安全技术分析[J].中国集成电路,2005,3:85-88.

[6]http://wenku.baidu.com/view/7c9b4a1d650e52ea551898da.html[OL].

[责任编辑:江广霞]

推荐访问:智能卡 浅析 安全性 芯片 攻击