如果使用FPGA配合DSP来提升安全能力?

2018-10-10 17:23:51 来源:elecfans
标签:

 

对于基于数字信号处理器(DSP)的设计,如果DSP没有足够的安全能力,便特别容易受到入侵。在许多应用中,如果使用FPGA以作配合来卸载DSP的部分工作,便可以轻易实施先进的安全功能。而且,如果配合的FPGA使用flash存储技术,在芯片上存储结构中的配置位流以及关键性密匙信息,便可以实现固有的防止复制或克隆的安全性,使得设计人员能够自动保护设计避免这些类型的偷窃。

 

DSP和FPGA系统结构

在使用FPGA或DSP的系统中(图1),DSP实施高级信号处理算法,而FPGA实施前端抽取功能。高速串行RapidIO总线用于连接FPGA和DSP;FPGA还连接至PCIe总线,经由互联网用作远程接入管理端口。PCIe总线还可桥接进入和离开RapidIO总线的通信量,以期把扩展远程管理连接至DSP。FPGA控制一个外部DDR3 DRAM,后者用作无线接口所收发数据包的缓存,并且允许FPGA从DSP卸载任何低层数据协议处理和缓存管理功能。

 

 

FPGA还将负责从外部SPI Flash “导引”DSP,FPGA使用自身的SPI存储器作为DSP代码来源,通过来自DSP的SPI端口的导引功能来映射引导过程。一旦代码传送完成,FPGA便允许DSP开始执行。

 

安全根

如果系统不保护导引过程,侵入者便能够以自己的代码替代,然后有效地劫持整个系统,这可能导致系统的损坏、重大的财务损失以及可能的个人责务。我们必需使用安全的导引过程来最大限度地减小此类攻击,而硬件信任根是实施安全导引过程的必要条件。

 

硬件信任根支持系统数据完整性和保密性的验证,同时可以将这个信任扩展至内部和外部实体。硬件信任根可避免被侵入或修改,也能够作为安全地铺设更高级功能的起点。在嵌入式系统中,信任根与其它系统组件共同工作,以确保主处理器仅使用授权代码进行安全导引,从而扩展信任区域至处理器及其应用。

 

硬件信任根必需在安全的FPGA上构建,其配置位流必需保护避免复制或反向工程,以避免被恶意入侵者破坏信任根。所以,保护FPGA器件的知识产权(IP)就是保护嵌入式系统其余部分的必要条件。

 

多级导引过程的安全要求

从其它部分进行嵌入处理系统的初始化,需要安全的导引过程,以执行不受恶意内容或泄漏影响的受信任代码。图2所示为安全导引过程为充分保护嵌入式系统的初始化而必需经过的各个不同阶段。每一个阶段都必需由先前的成功阶段来验证,以确保直到顶层应用层的“信任链(chain-of-trust)”。不可修改的引导加载程序(阶段0)代码能够嵌入在FPGA器件中,并且通过安全的信任根,使用受保护的安全密匙和相关的安全算法进行验证,以确保代码的完整性和真实性。把代码和执行转移至每个安全导引的顺序阶段前,这些阶段都必须经过先前受信任的系统进行验证。

 

 

实施安全的嵌入式系统

加密位流数据是保护用于上电的配置位流(就象用于基于SRAM的 FPGA配置位流)的一个常用方法。这使得在配置启动过程中仅通过观察来捕获位流变得更加困难。解密密匙存储在FPGA中,用于在配置FPGA之前解密数据。通常需要使用电池,以期在掉电时保留安全密匙。

 

另一个保护FPGA配置位流的方法是使用非易失性存储器将其完全存储在片上,避免在启动中暴露。一些FPGA器件,比如美高森美的SmartFusion2和IGLOO2系列,还通过在制造期间进行编程时将位流加密以提供额外的保护功能。这还保护设计避免不道德的合同制造商进行复制或反向工程,使得所需的硬件信任根被破坏。

 

一旦我们创建了安全的FPGA,下一个主要要求就是实施硬件信任根。FPGA必需保护安全密匙和片上不可改变的初始阶段(Phase 0)导引载入程序,使得恶意侵入者完全无法攻击或修改它们。如果使用基于Flash 的FPGA在片上存储不可改变的代码和安全密匙,还可以经由配置过程来加载配置位流以获得安全性。安全密匙仅是整个设计的一小部分,然而,它对于保护设计避免其它形式的攻击是十分重要的。

 

阻止攻击

一个常见的攻击方法是使用侧通道分析(比如观察安全密匙相关运作期间的功率或定时签名)来试图找出片上的安全信息。这种侧通道方法类似保险箱窃贼不断操纵锁具和侦听机心的噪声来找出保险箱组合的方法。在这种情况下,侧通道就是通过物理方法实施安全“功能”所造成的声音。实施经设计耐受通道攻击的解密算法,可以耐受更先进的差分功率分析(DPA)形式的侧通道攻击。

 

如果不使用耐受DPA的技术,观察者便能够测量设计在处理密匙和算法时所使用的功率。此外,频繁改变安全密匙将会限制攻击者用于数据分析的测量数目,使得他们难以利用这类方法入侵。而且,预充电寄存器和总线等电路设计技巧将会限制侵入者所能够利用的“噪声”。

 

综合概览

现在已保护了FPGA IP的安全,而我们的设计也建立了信任根,便能够更详细地检视整个嵌入式系统实施方案。图3所示为安全的嵌入式系统的实施方案,其中描述了安全导引过程的不同组件。不可改变的导引代码与密匙存储在片上,外部SPI存储器存储余下的DSP代码 (包括任何所需的OS加载程序和OS代码,以及应用程序代码),全部均使用信任根管理的安全的挑战和响应系统来验证。在过程结束时,安全的代码被载入DSP片上的SRAM,FPGA允许DSP开始运作,可以确信仅有授权代码被执行。此外,使用FPGA I/O可以轻易实施低成本PCB篡改检测方案以检测任何钻孔或切割迹线的企图及实施保护措施。

 

 

一旦完成了安全导引,FPGA便能够实施系统所需的其它功能,比如桥接PCIe和RapidIO接口、连接JESD204x总线、通过FPGA模块预处理无线信号,以及控制DDR3缓存。当需要附加的算法处理能力时,SmartFusion2具有片上处理器可供选择;当FPGA模块足以实施所需的控制功能时,IGLOO2也能够选择。

 

保护用于物联网的新DSP设计的安全

基于Flash的 FPGA提供安全IP和硬件信任根,用于构建更高层次安全功能,如安全导引等,以保护设计避免侵入。未来的安全需求将以这些功能为基础,例如,传送安全数据和授权安全设备将成为新兴的IoT和M2M应用的主要要求,这些应用将瞄准许多新的DSP相关设计。这将需要数种附加的设计安全层以保护嵌入式系统设计IP。此外,预计新的数据安全性要求将显著增长,需要先进的安全技术和方法来完全满足较低功率、较小占位面积和更高的处理效率需求,才可在这些新市场上取得成功。

 
关注与非网微信 ( ee-focus )
限量版产业观察、行业动态、技术大餐每日推荐
享受快时代的精品慢阅读
 

 

继续阅读
要打赢MCU市场的争夺战,产品实差异化先做好

MCU在消费电子、汽车电子和工业控制等领域应用广泛,未来随着物联网、自动驾驶等创新应用的快速发展,市场对MCU的需求将进一步增长。据IC Insights预测,到2020年,全球MCU行业市场规模将突破200亿美元,中国的市场规模或将突破500亿元,发展潜力巨大。为了满足应用需求,MCU产品也从8位演进到16位、32位,但是价格却在下降,

谷歌云不敌亚马逊和微软,智能硬件如何做到迅猛增长?

同样微软Azure规模仅次于微软,占据全球16.8%市场份额,推动微软智能云服务强劲增长,让这家昔日沉睡多年的科技巨头再次觉醒。而谷歌云不敌亚马逊和微软,其人工智能技术商业落地场景艰难,不够在我看来,谷歌依旧是被低估的科技巨头。

5G将至,国内外基带芯片厂商的布局情况如何?

国际上围绕5G的竞争日趋白热化,这种竞争给中国市场带来鞭策。尽管目前,5G标准的制定工作还未全部完成,但这并不影响各国各行业对5G的争相布局热情。在此背景下,本文盘点了截至目前中外厂商在5G基带芯片领域的布局。

为5G做最后冲刺,海思,联发科,紫光展锐等企业争相布局基带芯片产业
为5G做最后冲刺,海思,联发科,紫光展锐等企业争相布局基带芯片产业

国际上围绕5G的竞争日趋白热化,这种竞争给中国市场带来鞭策。尽管目前,5G标准的制定工作还未全部完成,但这并不影响各国各行业对5G的争相布局热情。在此背景下,本文盘点了截至目前中外厂商在5G基带芯片领域的布局。

全球20家领先的人工智能公司一览

人工智能是计算机科学的一个分支,旨在创建像人类一样学习、工作和反应的计算机和机器。人工智能的可能性无穷无尽,正如该领域不断扩大的研究和进步所证明的那样。据统计,自1960年至2018年年初,全球共发表了160多万篇与人工智能相关的科学论文。

更多资讯
PLC的面向对象编程实现方式

面向对象编程是计算机高级语言的一种先进的编程模式,在工业控制系统的PLC程序中也可以采用这种设计思想,虽然我们无法实现面向对象的很多优秀特点如“继承”,甚至于它根本就不具备面向对象编程语言的特点,但面向对象编程的基本概念就是类和类的实例(即对象),我们只需要使用这种概念就可以了。

ASIC项目瀑布式开发流程详解

最近收拾书架,翻出一张多年以前的ASIC项目开发流程图,一起回顾一下。

智能门锁不安全?工程师自己造了一个AI人脸识别门锁
智能门锁不安全?工程师自己造了一个AI人脸识别门锁

展示了AI如何在Ultra96和Intel Movidius NCS以及Tensorflow Inception Facenet上运行。 该项目可以扩展到使用面部识别来解锁,记录进出情况,打开不同的灯光场景。

芯片厂商营收整体看衰赛灵思却逆势增长34%,凭什么
芯片厂商营收整体看衰赛灵思却逆势增长34%,凭什么

赛灵思可编程芯片产品市场的不断增长推动它的发展壮大,5G网络的推出也是它继续前行的助推器。

使用Vivado HLS在ZYNQ-7000上开发OPENCV的教程

OPENCV(Open Source Computer Vision)被广泛的使用在计算机视觉开发上。使用Vivado HLS视频库在zynq-7000全可编程soc上加速OPENCV 应用的开发,将大大提升我们的计算机视觉开发。

电路方案