智能卡的边频攻击分析及安全防范措施

发布者:cloudsousou6最新更新时间:2006-06-19 来源: 单片机及嵌入式系统应用关键字:智能卡  微处理器 手机看文章 扫描二维码
随时随地手机看文章

   在智能卡应用日益广泛的今天,智能卡应用系统的安全问题非常重要。通常认为智能卡具有较高的安全性[1],但随着一些专用攻击技术的出现和发展,智能卡也呈现出其安全漏洞,导致整个应用系统安全性降低。分析智能卡面临的安全攻击,研究相应的防御措施,对于保证整个智能卡应用系统的安全性有重大意义。下面分析目前主要的智能卡攻击技术之一——边频攻击技术,并有针对性地提出相应的安全设计策略。

  1 智能卡简述

  智能卡是将具有存储、加密及数据处理能力的集成电路芯片镶嵌于塑料基片上制成的卡片。智能卡的硬件主要包括微处理器和存储器两部分,逻辑结构如图1所示。

              

  智能卡内部的微处理器多采用8位字长的CPU(当然更高位的微处理器也正在开始应用)。微处理器的主要功能是接收外部设备发送的命令,对其进行分析后,根据需要控制对存储器的访问。访问时,微处理器向存储器提供要访问的数据单元地址和必要的参数,存储器则根据地址将对应的数据传输给微处理器,最后由微处理器对这些数据进行处理操作。此外,智能卡进行的各种运算(如加密运算) 也是由微处理器完成的;而控制和实现上述过程的是智能卡的操作系统COS。卡内的存储器容量由只读存储器ROM、随机存储器RAM和电擦除可编程存储器EEPROM组成。其中,ROM 中固化的是操作系统代码,其容量取决于所采用的微处理器;RAM 用于存放操作数据,容量通常不超过1 KB;EEPROM存储智能卡的各种信息,如加密数据和应用文件等,容量通常介于2 KB~32 KB之间(这部分存储资源可供用户开发利用)。

  2 对智能卡安全的威胁

  对智能卡的攻击可分为三种基本类型:

  ① 逻辑攻击——在软件的执行过程中插入窃听程序。智能卡及其COS中存在多种潜在的逻辑缺陷,诸如潜藏的命令、不良参数与缓冲器溢出、文件存取、恶意进程、通信协议、加密协议等。逻辑攻击者利用这些缺陷诱骗卡泄露机密数据或允许非期望的数据修改。

  ② 物理攻击——分析或更改智能卡硬件。用于实现物理攻击的手段和工具包括化学溶剂、蚀刻与着色材料、显微镜、亚微米探针台以及粒子束FIB等。

  ③ 边频攻击——利用物理量来分析和更改智能卡的行为。通过观察电路中的某些物理量,如能量消耗、电磁辐射、时间等的变化规律,来分析智能卡的加密数据;或通过干扰电路中的某些物理量,如电压、电磁辐射、温度、光和X射线、频率等,来操纵智能卡的行为。

  智能卡攻击方法的有效性以攻击者所获得的效益高于其耗费的时间、精力、经费等作为标准。表1给出了上述三种攻击类型的情况对比。

        

  由表1可见,物理攻击成本过高,耗时费力,较少被采用;逻辑攻击虽然投入较少,容易实施,但也容易防范,成功率较低。近年来,新兴的边频攻击技术因其较高的收益成本比而被广泛使用。尽管智能卡业界对于边频攻击的解决方案已有了越来越多的认识,然而许多智能卡对于这类攻击仍毫无免疫力。目前,应用最为广泛的边频分析和边频操纵技术包括:差分能量分析技术DPA(Differential Power Analysis)与能量短脉冲波形干扰(Power Glitching)技术。下面重点就这两种边频攻击的方法加以分析,并给出相应的安全策略。

  3 差分能量分析

  3.1 DPA攻击的分析

  DPA(差分能量分析)攻击是通过用示波镜检测电子器件的能量消耗来获知其行为的。图2为某智能卡用DES算法加密时的能量追踪图。

  

  由图2可见,能量消耗是不连续的并呈现出某种模式。众所周知,用DES算法对一个输入数据加密时需要执行16次循环,因此可以在能量轨迹的16次重复模式中识别出这些循环。攻击者只需知道算法的明文(输入)或密文(输出),通过分析和比较一系列的能量轨迹就可重现加密密钥。DPA攻击的基础是假设被处理的数据与能量消耗之间存在某种联系,换句话说,假设处理0比1所用的能量要少(反之亦然),那么对两个不同数据执行同一算法的两个能量轨迹会由于输入数据的不同而产生微小的差别。用计算机严格按时钟计算两条轨迹的差得到差分轨迹,差分轨迹中出现峰值的时刻即是输入数据产生差别的时钟周期。如此检查加密算法的所有输入以及每一对0和1产生的差分轨迹,就可以识别出它们出现在程序代码中的确切时间,从而获取加密密钥。

  DPA使得加密算法的内部处理过程可以被研究,这一危险性对智能卡安全提出了更高的要求。加密算法必须使用足够长度的全密钥,以保证探索密钥的过程因过于耗时而不可行。一个完整的算法通常在加密过程中分解成许多小步骤以使处理器可以实现。这些小步骤往往不使用全密钥而是用其中的一部分。DPA可以获取这些小步骤的输出并探索出这些较短的密钥值,因此,从理论上说,所有加密算法都可用DPA破解。虽然这种攻击方法的开发十分复杂,然而其应用却十分简单且只需很小的投资,所需的设备仅限于1台PC及中等精度的示波镜,因此解决DPA问题成为智能卡制造商最急需面对的问题之一。

  3.2 DPA攻击的安全策略

  应对DPA攻击的安全策略基本分为三个层面:硬件、软件和应用层面。

  (1) 硬件层面的反措施

  ① 采用平衡电路降低信号能量,以及设置金属防护以抑制电磁发射。

  ② 执行并行随机处理来加大幅值噪声水平。例如,内部编程电压产生电路可用作并行噪声发生器。

  ③ 随时处理中断引入的时间噪声和不同的时钟频率。对差分轨迹进行计算机处理的基础是轨迹可排列。在加入轨迹之前处理器的工作步骤应是同步的。时间噪声会防止或至少妨碍轨迹很好地排列。

  硬件反措施的好处在智能卡对于侧路攻击的敏感性比较少地依赖于软件的变化,但其弱点在于只能降低智能卡对于侧路攻击的敏感性而无法完全消除它。事实上,硬件防范措施只是将信号降低到噪声水平从而使攻击变得困难。

  (2) 软件层面的反措施

  ① 采用随机处理顺序来减少相关的信号。例如,算法中的平行置换(诸如DES中的S盒)可依随机的顺序来完成,置换的数目重新排序,则可将一次置换产生的信号分解。

  ② 利用随机延时和改变路径来增加计时噪声。计时噪声会妨碍轨迹的排列,并降低差分轨迹的质量。

  ③ 消除密钥值及中间媒介值的时间依存性。当处理过程取决于密钥值时,直接用肉眼观察轨迹就可实现简单的能量分析;而在时间上连续的密钥处理过程则可防止这种易行的攻击。

  ④ 用随机值来隐蔽中间媒介值。能量的泄露取决于一个数据中的位数。如果在实际数据上加上随机数据,处理完之后再减去,那么传递的路径将不会泄露有用的信息。不过,这种隐蔽将会导致传递函数的非线性并产生错误的结果。因此,这些函数需要仔细地重新设计,以补偿由随机数据引起的背离。

  理论上来说,软件对策完美地解决了DPA攻击的问题。然而这种方法必须针对某种算法定制且其设计相当困难,因而非常昂贵且难以维持。

  (3) 应用层面的反措施

  ① 重设计数器,用于限制攻击者试探的次数。连续三次PIN校验失败后自锁是防范差分能量分析的有效方法。

  ② 限制加密算法中输入输出的控制和可见度。如果只能选择部分输入,或只有部分算法的结果返回,攻击者就无法完成差分能量分析。

  以上是防范DPA攻击的基本方法,其缺点是对可靠性的负面影响以及需要改变已有的协议。

  4 能量短脉冲干扰

  4.1 能量短脉冲干扰攻击的分析

  微处理器要求在稳定的电压下工作,能量供应的中断就好像突然冲击程序运行或复位电路。然而,一个短而巧妙的脉冲可以引起单步的程序错误而微处理器仍能继续执行程序。例如, CPU读取存储单元的内容,晶体管用一个阈值来检测存储单元的值,以确定所读的是逻辑“0”或“1”。突然出现的能量短脉冲对存储值和逻辑值都会产生影响。不同的内部容量会使存储值受到不同的影响,有可能会使真实的值被歪曲。如图3所示,与逻辑“0”对应的低电平在正常的操作状态下可能低于阈值电平,然而由于短脉冲的能量下压可能导致其高于阈值电平。

  

  许多加密算法都易受这一类故障注入的影响。采用差分故障分析DFA(Differential Fault Analysis )技术将正确的与错误的密码编码相比较,从而析出秘藏的密钥。有些算法仅当一个精确的中间值被袭击时才能被攻击,而其他算法要求不那么苛刻,可以在处理过程的任何位置被攻击。通常DFA要求有可能对同一个明文加密2次,产生一个正确的和一个错误的密文。

  故障注入的第二种应用发生于安全处理过程关键的决定时刻。若某一应用执行一个诸如PIN校验的安全检查,那么在器件决定是继续还是中断处理的那一刻进行攻击最为有效。攻击者有可能将PIN校验失败转为成功以欺骗处理器。更为严格的一种方式是,在处理器正要将校验失败写入存储器时完全关闭电源,从而避免PIN校验失败计数器溢出。

  短脉冲干扰的第三种应用以操纵通信活动为目标。通信协议的设计是为了从智能卡存储器中读取几个字节并传送到终端。如果故障注入成功地攻击了发送限制计数器,就可能导致整个存储器内容输出到串行接口。

  4.2 能量短脉冲干扰的安全策略

  能量短脉冲干扰以及其他侧路操纵技术都企图改变智能卡的环境。通常防范这类攻击的策略是严格的电压、频率和温度检测。然而使用精确的传感器也会影响可靠性,并在某些终端中导致潜在的故障。不仅如此,传感器也不可能检测到所有的诱导信号。电路对于通过感应方式注入的信号或精心调整的能量短脉冲不可能完全免疫。重要的是,要运用软件或应用的防范措施来侦查和恢复故障注入。

  就软件防范措施而言,可以通过检查关键的程序流向以及加密运算结果来实现故障监测。求两次运算结果并加以比较是检测结果有效性的方法之一,但若两次都注入同样错误的则无法检测出来;因此最佳的方法是由结果反向运算求出其输入,并与原来的输入进行比较。反向运算通常是不同的,并且反向操纵会更为困难。5结语智能卡应用系统是一个安全环境很复杂的系统。本文为分析这个系统面临的安全攻击提供了一个思路,为系统的安全设计提供了依据。下一步工作是量化各安全设计策略,在降低安全威胁与增加安全成本之间寻找最佳平衡点的方法。

关键字:智能卡  微处理器 引用地址:智能卡的边频攻击分析及安全防范措施

上一篇:双界面智能测量控制芯片GC7645的应用
下一篇:基于MTD2009J的步进电机细分控制系统

推荐阅读最新更新时间:2024-03-30 21:21

基于微处理器和以太网接口实现嵌入式尿液分析仪系统的设计
1 项目概述 我们设计的微型尿液分析仪可以检测尿液的十种参数,包括白细胞、亚硝酸盐、尿胆原、蛋白质、PH值、潜血、比重、酮体、胆红素和葡萄糖。 在用户把浸没了尿液的试纸条放入仪器后,通过LPC2148控制LED光源进行分时发光,然后反射光通过光纤照射到CCD上,经过信号的采集和模数转换,并在微处理器中经过归一化的算法,将结果输出至LCD进行显示,或者根据需要传输至PC。并可以利用以太网接口连接Internet,方便建设一个健康检测网络。不用复杂的操作便可以得到医生的诊断,十分适合家庭用户的使用。 通过设计新的仪器结构和检测方法,使仪器精度达到或超过国内医院使用较多的尿液分析仪的水平,把体积减小到170×110×120mm左
[单片机]
基于<font color='red'>微处理器</font>和以太网接口实现嵌入式尿液分析仪系统的设计
51单片机总线时序概述
一、总线概述 计算机系统是以微处理器为核心的,各器件要与微处理器相连,且必须协调工作,所以在微处理机中引入了总线的概念,各器件共同享用总线,任何时候只能有一个器件发送数据(可以有多个器件同时接收数据) 。 计算机的总线分为控制总线、地址总线和数据总线等三种。而数据总线用于传送数据,控制总线用于传送控制信号, 地址总线则用于选择存储单元或外设。 二、单片机的三总线结构 51系列单片机具有完善的总线接口时序,可以扩展控制对象,其直接寻址能力达到64k( 2的16次方) 。在总线模式下,不同的对象共享总线,独立编址、分时复用总线,CPU 通过地址选择访问的对象,完成与各对象之间的信息传递。 单片机三总线扩展示意如图1 所示。
[单片机]
51单片机总线时序概述
使用32位MCU解决RFID智能标签/智能卡系统设计难题
无线射频识别 (RFID) 将成为第一种与条码技术并存并最终将在低成本识别和个人数据存储领域取代条码技术的新兴技术。 与条码技术相比,它具有多种优势,包括: 1.) 可以存储更多数据,2.) 可以在标签中集成一定智能,3.) 可以在一定距离外扫描,以及 4.) 可以减少人为干预。 所有这一切皆因MCU 的使用而成为可能。   EPC 技术对智能标签的影响   在消费层的部署中,下一代标签系统必须发展一种新的复杂级别,以应对新应用和全球互操作性所带来的复杂性。   就像统一产品编码 (UPC) 是条码技术的基本标识一样,一个名为 EPCglobal 的企业联盟也为 RFID 创建了电子产品编码 (EPC)。 EPC 代码为 64
[应用]
IDC调降PC微处理器出货预测
市场研究机构 IDC (International Data Corp.)日前调降对 2011年 PC 微处理器出货量的成长率预估,由原先的10.3%下修为9.3%;这意味着发达地区的经济问题已经对消费性PC需求产生影响。 根据IDC的统计,2011年第二季 PC 微处理器出货较第一季减少了3%,与2010年同期相较,成长率则不到1%;在销售金额方面,PC微处理器市场第二季营收规模为94.9亿美元,较第一季减少4%,与去年同月相较则成长5%。 “2011年第一季的表现优于之前大多数的第一季情况,是因为额外的日历周(the extra calendar week);”IDC半导体/个人计算机研究总监Shane R
[单片机]
IDC调降PC<font color='red'>微处理器</font>出货预测
新一代嵌入式微处理器STM32F103开发与应用
摘要: 基于Co rtex- M3内核的STM 32F103系列芯片是新型的32位嵌入式微处理器, 它是不需操作系统的ARM, 其性能远高于51系列 单片机 单片机   单片机是单片微型计算机(Single-Chip Microcomputer)的简称,是一种将中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)采用超大规模集成电路技术集成到一块硅片上构成的微型计算机系统。 , 但开发过程与51系列单片机一样简便, 因而在很多应用场合可替代51系列单片机。本文从STM 32F103系列芯片性能
[工业控制]
新一代嵌入式<font color='red'>微处理器</font>STM32F103开发与应用
LPC2148微处理器介绍
LPC2148是基于一个支持实时仿真和嵌入式跟踪的32/16位ARM7 TDMI-S CPU的微控制器,并带有32kB和512kB嵌入的高速Flash存储器。128位宽度的存储器接口和独特的加速结构使32位代码能够在最大时钟速率下运行。对代码规模有严格控制的应用可使用16位Thumb模式将代码规模降低超过30%,而性能的损失却很小。 较小的封装和很低的功耗使LPC2148特别适用于访问控制和POS机等小型应用中;由于内置了宽范围的串行通信接口(从USB 2.0全速器件、多个UART、SPI、SSP到I2C总线)和8kB到40kB的片内SRAM,它们也非常适合于通信网关、协议转换器、软件modem、语音识别、低端成像,为这些应用提
[单片机]
2018年微处理器市场总规模将达745亿美元,X86功不可没
集微网消息(编译/丹阳)微处理器最早出现于上世纪70年代初,当时为计算器开发4位计算设备最早的微处理器(MPU),是当今市场上最复杂的集成电路之一。在过去的四十年里,强大的微处理器不断更新,发展出多核、并行计算、64位架构等设计,性能日益强大。 在具备中央处理器(CPU)的所有功能外,它还增加了图形、视频和新兴的人工智能(AI)应用等越来越多的系统级功能和加速模块。微处理器不但是个人电脑、服务器和大型主机的大脑,它也可以用于各种系统的嵌入式处理,如网络设备、计算机外设、医疗和工业设备、汽车、电视、机顶盒、视频游戏机、可穿戴产品和物联网应用等。 IC Insights最新的McClean Report中指出,过去五年中增长最快的微处
[手机便携]
由Mifare 1卡破解带来的危险以及应对方法
今年年初以来,一个消息的传出震惊了整个IC卡行业。最近,德国和美国的研究人员成功地破解了NXP的Mifare1芯片的安全算法。Mifare1芯片主要用于门禁系统访问控制卡,以及一些小额支付卡,应用范围已覆盖全球。因此这项“成果”引起了不小的恐慌,因为一个掌握该破解技术的小偷可以克隆任何一个门禁卡,从而自由进出政府机关大楼或公司办公室;可以批量的克隆或伪造各种储值卡大肆购物而不被发现。国内发行的这种卡,估计有几亿张在投入使用,它的安全性涉及到众多的运营单位和持卡人的利益。近日,有研究人员宣布MIFARE 系列产品的安全性存在薄弱环节,在他的研究室里,通过研究读写器和卡之间的通信数据,找到了这种卡的加密算法和认证通信的协议,并
[安防电子]
由Mifare 1卡破解带来的危险以及应对方法
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
最新工业控制文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved