资源描述:
《智能卡边频攻击安全防范措施》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、智能卡边频攻击安全防范措施时间:2006-10-10来源:作者:点击:212字体大小:【大中小】摘要:边频攻击技术是近年来新流行的一种智能卡攻击方法。与以往方法不同,它通过观察或干扰电路中物理量的变化来分析或操纵智能卡的行为,危害极大。文中比较几种主要的智能卡安全攻击方法的收益成本比;重点分析差分能量分析与能量短脉冲干扰的攻击原理与关键步骤,并从软件、硬件和应用层面提出相应的安全防范措施。关键词:智能卡边频攻击安全防范措施 在智能卡应用日益广泛的今天,智能卡应用系统的安全问题非常重要。通常认为智能卡具
2、有较高的安全性[1],但随着一些专用攻击技术的出现和发展,智能卡也呈现出其安全漏洞,导致整个应用系统安全性降低。分析智能卡面临的安全攻击,研究相应的防御措施,对于保证整个智能卡应用系统的安全性有重大意义。下面分析目前主要的智能卡攻击技术之一——边频攻击技术,并有针对性地提出相应的安全设计策略。1智能卡简述 智能卡是将具有存储、加密及数据处理能力的集成电路芯片镶嵌于塑料基片上制成的卡片。智能卡的硬件主要包括微处理器和存储器两部分,逻辑结构如图1所示。 图1智能卡硬件结构 智能
3、卡内部的微处理器多采用8位字长的CPU(当然更高位的微处理器也正在开始应用)。微处理器的主要功能是接收外部设备发送的命令,对其进行分析后,根据需要控制对存储器的访问。访问时,微处理器向存储器提供要访问的数据单元地址和必要的参数,存储器则根据地址将对应的数据传输给微处理器,最后由微处理器对这些数据进行处理操作。此外,智能卡进行的各种运算(如加密运算)也是由微处理器完成的;而控制和实现上述过程的是智能卡的操作系统COS。卡内的存储器容量由只读存储器ROM、随机存储器RAM和电擦除可编程存储器EEPROM组成
4、。其中,ROM中固化的是操作系统代码,其容量取决于所采用的微处理器;RAM用于存放操作数据,容量通常不超过1KB;EEPROM存储智能卡的各种信息,如加密数据和应用文件等,容量通常介于2KB~32KB之间(这部分存储资源可供用户开发利用)。2对智能卡安全的威胁 对智能卡的攻击可分为三种基本类型: ①逻辑攻击——在软件的执行过程中插入听程序。智能卡及其COS中存在多种潜在的逻辑缺陷,诸如潜藏的命令、不良参数与缓冲器溢出、文件存取、恶意进程、通信协议、加密协议等。逻辑攻击者利用这些缺陷诱骗卡泄露机密数据
5、或允许非期望的数据修改。 ②物理攻击——分析或更改智能卡硬件。用于实现物理攻击的手段和工具包括化学溶剂、蚀刻与着色材料、显微镜、亚微米探针台以及粒子束FIB等。 ③边频攻击——利用物理量来分析和更改智能卡的行为。通过观察电路中的某些物理量,如能量消耗、电磁辐射、时间等的变化规律,来分析智能卡的加密数据;或通过干扰电路中的某些物理量,如电压、电磁辐射、温度、光和X射线、频率等,来操纵智能卡的行为。 智能卡攻击方法的有效性以攻击者所获得的效益高于其耗费的时间、精力、经费等作为标准。表1给出了上述三种攻
6、击类型的情况对比。 表1智能卡攻击情况对比 由表1可见,物理攻击成本过高,耗时费力,较少被采用;逻辑攻击虽然投入较少,容易实施,但也容易防范,成功率较低。近年来,新兴的边频攻击技术因其较高的收益成本比而被广泛使用。尽管智能卡业界对于边频攻击的解决方案已有了越来越多的认识,然而许多智能卡对于这类攻击仍毫无免疫力。目前,应用最为广泛的边频分析和边频操纵技术包括:差分能量分析技术DPA(DifferentialPowerAnalysis)与能量短脉冲波形干扰(PowerGlitching)
7、技术。下面重点就这两种边频攻击的方法加以分析,并给出相应的安全策略。3差分能量分析3.1DPA攻击的分析 DPA(差分能量分析)攻击是通过用示波镜检测电子器件的能量消耗来获知其行为的。图2为某智能卡用DES算法加密时的能量追踪图。 图2DES运算的能量追踪图 由图2可见,能量消耗是不连续的并呈现出某种模式。众所周知,用DES算法对一个输入数据加密时需要执行16次循环,因此可以在能量轨迹的16次重复模式中识别出这些循环。攻击者只需知道算法的明文(输入)或密文(输出),通过分析和比
8、较一系列的能量轨迹就可重现加密密钥。DPA攻击的基础是假设被处理的数据与能量消耗之间存在某种联系,换句话说,假设处理0比1所用的能量要少(反之亦然),那么对两个不同数据执行同一算法的两个能量轨迹会由于输入数据的不同而产生微小的差别。用计算机严格按时钟计算两条轨迹的差得到差分轨迹,差分轨迹中出现峰值的时刻即是输入数据产生差别的时钟周期。如此检查加密算法的所有输入以及每一对0和1产生的差分轨迹,就可以识别出它们出现在程序代码中的确切时间,从而获