设为首页 | 收藏本站 | 关于我们 | 广告服务
 
 
当前位置:首页 > 科技资讯 > 专家视点
专家视点
您的芯片有多安全?
来源:金网在线  作者:Peter Laackmann博士,Marcus Janke/ 编辑 : 李勇  日期:2016/6/15

  在安全控制器过去30年的发展史中,开发和测试了众多安全特性——但是其中许多也被破解。相关理念和设计,如果不是源于全面安全哲学,就只能拥有非常短的安全寿命。对于客户而言,选择合适的芯片主要意味着在决定针对特定应用采用一款产品前,对源于特定安全哲学的相应安全理念进行调查。

  尽管当今的所有主要芯片制造商都可能了解现代的攻击技术,但是老旧的安全技术仍在使用。这种做法存在的风险是,这些产品将无法满足当今的要求,因此可能危及操作安全。

攻击者及其目标

   操控芯片中的数据也经常被视作攻击者的重要目标,比如,改变借记卡中的存款金额或更改身份证中的个人信息,以伪造护照。

  在典型应用中,安全控制器的使用有两大原因:首先,比如个人密钥、数据和凭证等秘密必须以能免遭非法访问的方式储存。此外,光安全存储还不足以有效保护秘密。因此,安全控制器的诞生旨在提供一种安全处理这些信息的方式。

  另一方面,攻击者试图截取芯片中的有价值信息。如果信息被分离出来,攻击者可利用截取的数据生成“模拟器”,进行非法访问、识别或支付。另外,操控芯片中的数据也经常被视作攻击者的重要目标,比如,改变借记卡中的存款金额或更改身份证中的个人信息,以伪造护照或门禁卡。

  攻击手段和设备从业余级别到专业级别,不一而足。在现实世界中,甚至有投入数十万乃至数百万美元来攻击安全控制器的行为。因此,安全控制器在安全哲学、理念战略和反制措施方面应不断更新,以有效地应对现代攻击。

存储器和数据路径安全性

  典型的安全控制器可能包括FLASH/EEPROM/ROM(非易失性)和RAM/CACHE(易失性)存储器。这些存储器组件和CPU是通过“总线”连接的,总线用来传输地址和数据。20多年前,攻击者就开始进行反向工程,以读出智能卡中未加密的内容。这些攻击的目标是掌握保密的程序代码和安全芯片中的个人数据。如今,保护安全控制器中的存储内容免遭“嗅探”已成共识。最初,是通过“植入ROM”来隐藏信息从而避免遭到攻击,在这种方法中信息编码不使用可见的金属连接,而是将离子植入芯片硅基层。但是,并不令人吃惊的是,攻击者很快发现利用被称作“装饰”的特殊蚀刻程序可清晰地获知存储器中的内容。因此,业界在20年前开始采用整体安全措施,最初采取的应对措施之一是存储器地址加扰。但是,攻击者很快就克服了这个障碍,利用计算机程序从加扰存储信息转储中重组明文。因此,在过去的十年中,简单的地址加扰已被真正的存储器加密大范围取代,从而针对反向工程筑起了有效的篱笆。

  此外,必须考虑能影响芯片行为的操纵和错误攻击。存储器系统,包括相应的总线结构,如果没有得到有效的保护,对于攻击者而言将成为有价值的目标。成功的错误攻击将危及安全密钥,转储保密数据,绕过密码或PIN码保护或甚至获得芯片访问授权。

  有一种最初应用的保护措施直到今天仍在用于低端安全产品,这就是利用所谓的“校验位”或称之为“校验保护”。采用校验方法意味着对于每部分存储器内容(比如一字节)都要额外加上一个校验位,用来检验位总和是奇还是偶。毫无疑问,对于数量众多的攻击而言,这种校验保护的水平将是非常低的——在典型的简单业余攻击实验中,被操控位的数量可以是随意的,校验保护成功率大概只有50%左右。换句话说,将有一半的攻击会获得成功。实际上,很少有人会接受这种安全保护方式。试图探测“全0”或“全1”等禁止状态的并发系统也有其局限性,因为攻击方式从1990年开始开始走向局部化。

  其他为人所知的保护存储器内容免遭攻击更改的方式包括硬件支持的安全抓取(secured fetching)机制。安全抓取通常意味着存储器内容至少在提供给CPU的过程中进行完整性校验,这发生在它们被处理之前。由于这些措施有多种多样的设计实施可能性,因此客户应着眼于防范攻击和性能下降的实际效果。当然,应避免牺牲性能换安全,或牺牲安全换性能。如果仅仅是内容提供给CPU的过程受保护,在CPU中处理内容没有得到保护,那么安全抓取保护对于某些攻击而言也许会毫无用处。

  因此,必须开发新方法并得到芯片制造商的采用。由于安全原因,校验经常被安全转储。如今,算术错误探测代码被用于高安全性芯片,不仅能对一位或多位错误进行错误探测,而且还具有错误纠正功能。

CPU安全

  一旦存储器系统得到有效的保护,攻击者将很快转向其他感兴趣领域,从数据路径出发(包括CPU自身),旨在截获芯片中储存的有价值数据和代码。在一个典型的CPU中,攻击者不仅可在处理过程中发现明文,还可找到在操作过程中引入错误的大好机会,这可被用来破坏安全密钥或随意操纵软件执行。保护CPU的早期方式包括探测环境条件的外部传感器,该传感器可对电压、灯光或温度等进行感测。不幸的是,大多数这种传感器的工作范围仅限于其在芯片上的局部范围。这样,针对CPU的局部攻击将仍有可能,比如通过利用激光、a辐射、TIVA(热致电压改变)进行攻击,或直接通过物理方式实施攻击,比如FIB操纵、“纳米针”或AFM针信号攻击。如今,针对CPU自身的攻击非常常见,不仅在认证过程中,而且还在操作过程中。

   成功的错误攻击将危及安全密钥,转储保密数据,绕过密码或PIN码保护或甚至获得芯片访问授权。

  改进CPU安全的最初解决方案是使用校验位,就像存储器系统最初采用的保护方式一样。由于CPU寄存器中的校验位非常容易实现,因此制造商无需从头开始设计安全芯片——但是这种简便性优势经常要付出安全性能巨大劣势的代价。就像存储器系统一样,CPU校验保护会在检测错误模式方面面临很大的局限性。因此,在CPU校验保护设计出现后不久,业界迫切需要一种更好的保护芯片的方式。

  当今常见的一种解决方案是使用代码和/或数据签名。签名通常是在汇编代码或生成数据时生成,然后和代码以及数据一起储存在存储器中。在处理过程中,运行软件的签名在硬件中生成,并同时与储存在存储器中的参考值进行比对。如果两个值不匹配,将出现错误指示,并发出告警,停止进一步处理。代码和数据签名尤其是在所谓的软件代码“线性”部分显示出其优势,在此没有或少有至其他代码部分的分支。不幸的是,在许多情况下,正是拥有许多分支的软件部分成为最重要的攻击目标,攻击者试图影响分支行为。然而,代码和数据签名仍然被视作至少是保护中端安全设备的有趣方式。

    由于这些措施有多种多样的设计实施可能性,因此客户应着眼于防范攻击和性能下降的实际效果。

  应对CPU错误攻击的一种非常简单的方式是顺序进行两次操作。如果一次操作失败,就利用第二次操作来比较结果,并在结果不匹配的情况下发出告警。除了性能方面的降低(减半)之外,这种方法的劣势是攻击者也可通过实施两次错误攻击来试图绕过保护。如今,所谓的“多错误攻击”已经非常常见,并更多地出现在评估和认证过程中。

  近年来,人们认识到要想实现真正的CPU保护,单靠CPU自身不够,因为其无法核查自己的决定是否能有效对抗现代攻击手段。先进的攻击应对措施包括使用紧密结合的双CPU内核,利用两个内核持续地互相检查对方的操作和状况。如果CPU能进行加密计算,那么甚至可为两个内核使用不同的动态密钥,大大加强对所谓多时间、多区域的多错误攻击的防范。相反,典型的顺序操作解决方案(在时间刻度上实现冗余)可能会被这种先进的攻击方式彻底击垮,尤其是当今相应的攻击设备组件已经出现。现代的攻击设备能轻易越过微控制器指令和时钟周期的时间刻度,轻松瓦解通过时间刻度冗余进行的安全防范。

  此外,还必须保护CPU免遭“嗅探”攻击。有趣的是,在近三十年的安全控制器和智能卡工程历史中,CPU都是采用明文方式工作。这意味着能对CPU内部进行窃听的攻击者能够完全获取其中处理的明文数据。早期防范措施包括增加数个金属层,保护有价值的信号免遭窃取。此后,开发出了全面覆盖芯片的屏蔽措施,其中一些具有自检功能或动态任意数字反馈功能,以检查屏蔽的完整性。

  如今,面对FIB(聚焦离子束)芯片微手术等现代攻击方式,这些措施的有效性非常有限。此外,还有不需要任何实际操纵就能窃取以明文方式操作的CPU的攻击方式,比如早已存在但最近重新亮相的“光辐射分析”。这是因为硅晶体管在工作时将发射很少量的光。利用这种方法可读取寄存器中的内容。

  几年前,人们就看到了需要改进CPU的安全性。如今的先进方式是利用CPU中的动态加密计算,这样攻击者只能获取加密数据。这种方法要求从头进行CPU设计,重新开发并非如对现有CPU设计进行修改一般简单。另一方面,这种努力会很快带来与传统方式相较的巨大优势。

物理攻击保护

  根据其相关性,在硅芯片上运行的信号是攻击者非常感兴趣的目标。在上世纪80年代这个安全控制器工程的早期阶段,攻击者已经开始利用细针来探测和向芯片上施加信号。这些年来,攻击方式得到了加强,如今可通过FIB工作站对芯片进行微手术来探测和施加信号。对于业余的探测/施加攻击而言,使用的是由钨丝进行计算机控制的电气化学蚀刻制成的AFM(原子力显微镜)探针或纳米针。

  如果最有价值的信号——CPU内容——没有加密,那么,主要精力应放在保护明文上。过去采用的方法是使用合成逻辑或将安全相关信号行藏在其他非关键信号行中。历史上采用的所有方式都有其优点和缺点,必须针对每个芯片系列和应用进行平衡。定制的设计块或芯片可比合成逻辑更容易识别,尽管后者是自动反向工程工具的对象。

  近二十年来,所谓的“屏蔽”方法在保护关键信号方面扮演了重要角色。最简单的方式是,使用更多的金属层来设计芯片。其目标是阻止利用业余设备的攻击者窃取包含关键明文数据的芯片信号。在上世纪90年代,覆盖整个芯片表面的主动屏蔽措施开始普及,对非法访问和物理攻击进行了很好防范。当时也考虑了芯片信号的重新布线,包括屏蔽线,但是在当时该举措被视为过度复杂。

  如今,现代的计算机化设备和轻松访问的可能性被公认为是许多商业产品的巨大威胁。许多采用明文CPU和/或安全优化布线的产品仍然使用屏蔽方法——仍然使用主动屏蔽。先进的防护措施是在CPU中使用加密技术,利用动态加密信号代替明文。

侧信道保护

  侧信道攻击的范围甚广。早在安全控制器开发出来之前,就已经有针对通信设备的电气化侧信道攻击。上世纪60年代针对加密电传设备的原始技术后来传入了安全控制器和智能卡领域。如今,大量的侧信道攻击方式,从功率分析(SPA、DPA、PEA、模板攻击)和电磁分析(EMA、DEMA)到光辐射分析,都已经出现并可与其他攻击模式结合,以获得最佳结果。

  最初应对侧信道攻击的方式是在芯片输出信号中施加噪音, 比如通过利用噪音发生器。此外,还通过对抗芯片行为来进行反制,比如利用双轨逻辑、最大限度减少侧信道信号生成。如今,常用的方法是结合应用硬加密协处理器和经过认证的加密库。最新的方式之一是使用加密协处理器中的内部加密信号。

    如今,常用的方法是结合应用硬加密协处理器和经过认证的加密库。最新的方式之一是使用加密协处理器中的内部加密信号(如图1所示)。

图1 最重要保护方式以及推荐用途概览

技术领袖

  不管是通过互联网与权威机构打交道、在线购物、在线银行还是数据安全,都可充分利用所有全新安全功能。

作者:Peter Laackmann博士和Marcus Janke,英飞凌科技股份公司

 
 
企业简介 | 版权声明 | 免责声明 | 频道介绍 | 安全提示 | 法律顾问 | 网上投稿 | 客服电话 | RSS订阅
Copyright © 2005 Fcc.Com.Cn, All Rights Reserved. ,《中国金融电脑》杂志社版权所有
电话:010-51915111-805 传真:010-51915236,网络出版服务许可证(署)网出证(京)字第337号
京ICP备14024077号-1 京公安网备:11010802025321 技术支持:站多多