智能卡攻击技术

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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

1 智能卡设计简述

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

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

图1 智能卡的硬件结构

2 智能卡攻击技术分析

在智能卡的设计阶段、生产环境、生产流程及使用过程中会遇到各种潜在的威胁。攻击者可能采取各种探测方法以获取硬件安全机制、访问控制机制、鉴别机制、数据保护系统、存储体分区、密码模块程序的设计细节以及初始化数据、私有数据、口令或密码密钥等敏感数据,并可能通过修改智能卡上重要安全数据的方法,非法获得对智能卡的使用权。这些攻击对智能卡的安全构成很大威胁。

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

(1)逻辑攻击:在软件的执行过程中插入窃听程序bugs

(2)物理攻击:分析或更改智能卡硬件

(3)边频攻击:利用physical phenomena 来分析和更改智能卡的行为

2.1 逻辑攻击技术分析

许多方面存在潜在的逻辑缺陷:

(1)潜藏的命令:(2)不良参数与缓冲器溢出(3)文件存取(4)恶意进程applet?(5)通信协议(6)加密协议,设计与执行过程

2.2 物理攻击

多种方法和工具可用于实现物理攻击

(1)化学溶剂、蚀刻和着色材料(2)显微镜(3)探针台(4)FIB聚离子束?

物理攻击的安全对策在以下方面加以改进:

(1)形体尺寸(2)多层化(3)保护层(4)传感器(5)不规则总线?(6)封胶?逻辑

2.3 边频攻击

1)差分能量分析(DPA)

差分能量分析(DPA)攻击是通过用示波镜检测电子器件的能量消耗来获知其行为。攻击者只需知道算法的明文(输入)或密文(输出),通过分析和比较一系列的能量轨迹就可重现加密密钥。

DPA攻击的基础是假设被处理的数据与能量消耗之间存在某种联系,换句话说,假设处理0比1所用的能量要少(反之亦然)。那么对两个不同数据执行同一算法的两个能量轨迹会由于输入数据的不同而产生微小的差别。用计算机严格按时钟计算两条轨迹的差得到差分轨迹,差分轨迹中出现峰值的时刻即是输入数据产生差别的时钟周期。如此检查加密算法的所有输入以及每一对0和1产生的差分轨迹,就可以识别出它们出现在程序代码中的确切时间,从而获取加密密钥。

2)能量短脉冲干扰

微处理器要求在稳定的电压下工作,能量供应的中断就好象突然冲击程序运行或复位电路。然而,一个短而巧妙的脉冲可以引起单步的程序错误而微处理器仍能继续执行程序。例如,CPU读取存储单元的内容,三极管用一个阈值来检测存储单元的值以确定所读的是逻辑0或1。突然出现的能量短脉冲对存储值和逻辑值都会产生影响。不同的内部容量会使存储值受到不同的影响,有可能会使真实的值被歪曲。如图3所示,与逻辑0对应的低电平在正常的操作状态下可能低于阈值电平,然而由于短脉冲的能量下压可能导致其高于阈值电平。许多加密算法都易受这一类故障注入的影响。采用差分故障分析(DFA,Differential Fault Analysis )技术将正确的与错误的密码编码相比较从而析出秘藏的密钥。

图3 读存储器时能量短脉冲干扰

短脉冲干扰的第二种攻击方式是将PIN校验失败转为成功以欺骗处理器。更为严格的一种方式是在处理器正要将校验失败写入存储器时完全关闭电源,从而避免PIN校验失败计数器溢出。

短脉冲干扰的第三种应用是攻击发送限制计数器,从而导致整个存储器内容输出到串行接口。

3 智能卡的安全设计策略

安全应用的设计者使用智能卡而无视其许多的弱点(攻击点?),可供选择的解决方案有着其自己的安全漏洞,甚至于更不安全。本节为设计者提供一些应用技巧,以达到适当水平的安全。

3.1 攻击者的商业状况

大多数严重的威胁来自于寻求经济利益的攻击者。这一类攻击者会慎重考虑成本与收入之间的平衡。防范措施的技巧多在于增加攻击成功的难度和成本。

3.2 设计步骤

智能卡应用系统的设计者使用现成?的智能卡产品来设计系统、软件和协议,实现系统应用。尽管面临重重威胁,他仍然需要交付一个足够安全的系统。

以下是达成这一目标所需要采取的步骤:

(1)确定应用系统所需的安全程度及特殊的安全要求。同时还需要将技术上、商业上、公共关系上(品牌价值)潜在的安全成本考虑在内。

(2)进行风险分析并评估安全威胁。

(3)分析攻击者的商业状况,考虑从善意的黑客到犯罪组织等各种类型的攻击者。

(4)选择能达到所要求的安全级别的智能卡解决方案。

3.1 逻辑攻击的安全策略

逻辑攻击的安全对策

(1)结构化设计(2)正规的校验(3)测试(4)接口与应用的标准化(5)集中?应用JA VA 卡操作系统(6)普及评估实验室

3.2 物理攻击的安全策略

物理攻击的安全对策在以下方面加以改进:

(7)形体尺寸(8)多层化(9)保护层(10)传感器(11)不规则总线?(12)封胶?逻辑

3.3 安全设计策略

面对上述种种攻击手段,智能卡在设计时应根据所要求的安全级别采用响应安全设计策略,其基本思想是:增加芯片上集成电路的复杂性;提高电路的抗干扰能力;增加噪声来掩盖真正的电源功率的消耗;提高对异常信号的控制功能等等。具体预防措施如下:

(1)限制程序计数器技术

在上面所述的短脉冲攻击中,由于攻击者可以利用程序计数器来增加对内存数据的访问,因此在智能卡程序设计时一定要限制程序计数器的使用,以免被攻击者所利用。

(2)随机的时钟信号

许多逻辑和边频攻击技术是要攻击者预见某条指令执行的准确时间。如果处理器在每一次复位后执行一个相同的指令,很容易被攻击者发现。推测处理器的行为也能简化对协议的分析。因此预防措施是在可观察和关键的操作之间插入随机的时钟,这样可以有效地防止这种攻击。

(3)低频传感器

当智能卡芯片用低频的时钟电路驱动时,用电子流测试来观察总线的技术日益简单。因此芯片的设计者要对低于某一时钟频率的行为报警,以防止这种行为的发生。应设计这样一种电路:外部的复位信号不能直接作用到内部复位线上,只能引起一个外部分频器来降低时钟信号频率,以激发低频探测器,而它又可激发内部复位线,最终停止分频器,而处理器通过传感器测试并开始正常的操作。这种设计的处理器在

相关文档
最新文档