内建硬体信任根 FPGA确保IoT资讯安全
时间:10-19
来源:互联网
点击:
作者:Tim Morin (美高森美策略行销总监)
随著设备互联在物联网(IoT)和机器对机器(M2M)通讯应用中越来越普及,基于快闪记忆体之FPGA可提供安全IP和硬体信任根(Root of Trust)以保护设计避免被入侵。
数位讯号处理器(DSP)的设计,如果本身没有足够的安全能力,便很容易受到入侵。在许多应用中,如果搭配FPGA来卸载DSP的部分工作,便可以实现先进的安全功能。而且,如果配合的FPGA使用快闪记忆体技术,在晶片上储存结构中的配置位元流以及关键的安全金钥资讯,便可以实现防止複製或仿製的固有安全性,自动保护设计以避免这些类型的剽窃。
DSP和FPGA的系统结构
在使用FPGA或DSP的系统中,如图1所示,DSP实施高等级的讯号处理演算法,而FPGA则实施前端降频功能(Front-end Decimation Function)。高速串列RapidIO汇流排可连接FPGA和DSP;FPGA还会连接至PCIe汇流排,经由网际网路作为远端接入管理埠。PCIe汇流排还可桥接进入和离开RapidIO汇流排的通讯量,以便将远端系统管理的连接性扩展至DSP。FPGA控制外部DDR3 DRAM,后者可为进入和离开无线介面的资料封包充当缓衝器(Buffer),并可让FPGA将DSP中任何低阶的资料协定处理工作和缓衝管理功能卸载下来。 FPGA还负责从外部的SPI快闪记忆体引导(Booting)DSP,FPGA使用自身的SPI记忆体作为DSP的代码来源,利用来自DSP的SPI埠的导引功能来映射引导过程。一旦代码传送完成,FPGA便会让DSP开始执行。
图1 使用FPGA和DSP的无线通讯系统
硬体信任根
如果系统并未对引导过程提供保护,侵入者便能够以自己的代码取而代之,然后成功劫持整个系统,这可能会使得系统受到破坏,引起重大的财务损失甚至法律责任。我们必须使用安全的导引过程将这类攻击减至最少,而硬体信任根(Root of Trust)就是实施安全导引过程的必要条件。
硬体信任根支援系统资料完整性和保密性的验证,并可将这种信任扩展至内部和外部实体。硬体信任根可避免系统被侵入或修改,也能够查验更高等级功能,而且是安全的起点。在嵌入式系统中,信任根与其他系统元件共同工作,以确保主处理器仅使用经过授权的代码来进行安全的导引,从而将信任的区域扩展至处理器及其应用。
硬体信任根必须在安全的FPGA上构建,其配置位元流必须受到保护,以免不怀好意的入侵者成功进行複製或反向工程,使得信任根被破坏。所以,保护FPGA元件的IP是保护嵌入式系统其馀部分的必要条件。
多级导引过程的安全要求
从其他部分进行嵌入式处理系统的初始化,需要安全的导引过程,以确保过程中所执行的代码是可信任及不受恶意内容或洩漏影响。图2说明了安全导引过程为充分保护嵌入式系统的初始化而必须经过的各个不同阶段。每一个阶段都必须由先前的成功阶段来验证,以确保直到顶层应用层的信任链(Chain of Trust)。不可修改的引导载入程式(阶段0)代码可嵌入在FPGA元件中,并且透过安全的信任根使用受保护的安全金钥和相关的安全演算法进行验证,以确保代码的完整性和真实性。把代码执行和转移至安全导引的每一顺序阶段前,这些阶段都必须经过先前可信任系统(Trusted System)的验证。
图2 多级安全导引过程概述
实施安全的嵌入式系统
配置位元流是在上电时使用(就像基于SRAM FPGA的配置位元流),而保护这些配置位元流的一种常用方法就是将位元流资料加密,这使得攻击者难以在配置启动过程中仅经由观察来捕获位元流。解密金钥储存在FPGA之中,用于在配置FPGA之前用来将资料解密。为了在失去电力时还能保留安全金钥的资讯,因此通常须要使用电池。
另一种保护FPGA配置位元流的方法,是使用非挥发性记忆体将其完全储存在晶片上,以免在启动时洩露。市场上有一些FPGA元件,比如美高森美的SmartFusion2和IGLOO2系列,在製造期间进行程式设计时将位元流加密,提供了额外的保护功能;这还可保护设计不会被不道德的代工厂进行複製或反向工程,以免所需的硬体信任根遭到破坏。
一旦创建了安全的FPGA,下一个主要的要求就是实施硬体信任根。FPGA必须保护安全金钥和晶片上不可改变的初始阶段(Phase 0)导引载入程式,使得恶意侵入者无法以任何方法攻击或修改它们。如果使用基于快闪记忆体的FPGA将不可改变的代码和安全金钥储存在晶片上,还可经由配置过程来载入配置位元流以获得安全性。安全金钥只是整个设计中的一小部分,但对于保护设计避免其它形式的攻击却是十分重要的。
阻止攻击
一种常见的攻击方法是使用侧通道(Side-Channel)分析来试图找出晶片上的安全资讯,比如观察安全金钥相关运作期间的功率或定时签名。这种侧通道方法类似保险箱窃贼不断操纵锁具和侦听机心的杂讯来找出保险箱组合的方法。在这种情况下,侧通道就是通过物理方法实施安全「功能」所造成的声音。实施耐受侧通道攻击的解密演算法,也可以耐受更先进差分功率分析(DPA)形式的侧通道攻击。
如果不使用耐受DPA技术,观察者便能测量到该设计在处理金钥和演算法时所使用的功率。此外,频繁改变安全金钥也可限制攻击者针对统计分析所进行的测量次数,使他们难以利用这类方法入侵。而且预充电的暂存器和汇流排等电路设计技巧也可限制入侵者所能够利用的「杂讯」。
既然已保护了FPGA IP的安全,设计也建立了信任根,所以便能够更详细地检视整个嵌入式系统的实施方案。图3所示为安全的嵌入式系统的实施方案,其中描述了安全导引过程的不同元件。不可改变的导引代码与金钥储存在晶片上,外部SPI记忆体储存剩余的DSP代码(包括任何所需的OS载入程式和OS代码,以及应用程式码),全部均使用由信任根所管理的安全挑战和回应系统(Challenge and Response System)来验证。过程结束时,安全的代码被载入DSP晶片上的SRAM,FPGA便让DSP开始运作,确信只会执行经授权的代码。此外,使用FPGA I/O可实现低成本PCB篡改检测方案,以检测任何钻孔或切割迹线意图,并採取保护措施。
图3 使用SmartFusion2或IGLOO2 FPGA的安全实施方案
当完成了安全导引,FPGA便能够实施系统所需的其它功能,比如桥接PCIe和RapidIO介面、连接JESD204x汇流排、利用FPGA模组预处理无线讯号,以及控制DDR3缓衝记忆体。当需要额外的演算法处理能力时,SmartFusion2具有晶片上处理器可供选择;而当FPGA模组足以实施所需的控制功能时,也可选择使用IGLOO2。
基于快闪记忆体的FPGA可提供安全IP和硬体信任根,可用于构建更高等级的安全功能,如安全导引等,以保护设计避免被侵入。未来的安全需求将以这些功能为基础,例如传送安全资料和授权安全设备将成为新兴物联网和机器对机器通讯应用的主要需求,这些应用将是许多新DSP相关设计所锁定的目标。这将需要数种额外的设计安全层以保护嵌入式系统设计IP。
随著设备互联在物联网(IoT)和机器对机器(M2M)通讯应用中越来越普及,基于快闪记忆体之FPGA可提供安全IP和硬体信任根(Root of Trust)以保护设计避免被入侵。
数位讯号处理器(DSP)的设计,如果本身没有足够的安全能力,便很容易受到入侵。在许多应用中,如果搭配FPGA来卸载DSP的部分工作,便可以实现先进的安全功能。而且,如果配合的FPGA使用快闪记忆体技术,在晶片上储存结构中的配置位元流以及关键的安全金钥资讯,便可以实现防止複製或仿製的固有安全性,自动保护设计以避免这些类型的剽窃。
DSP和FPGA的系统结构
在使用FPGA或DSP的系统中,如图1所示,DSP实施高等级的讯号处理演算法,而FPGA则实施前端降频功能(Front-end Decimation Function)。高速串列RapidIO汇流排可连接FPGA和DSP;FPGA还会连接至PCIe汇流排,经由网际网路作为远端接入管理埠。PCIe汇流排还可桥接进入和离开RapidIO汇流排的通讯量,以便将远端系统管理的连接性扩展至DSP。FPGA控制外部DDR3 DRAM,后者可为进入和离开无线介面的资料封包充当缓衝器(Buffer),并可让FPGA将DSP中任何低阶的资料协定处理工作和缓衝管理功能卸载下来。 FPGA还负责从外部的SPI快闪记忆体引导(Booting)DSP,FPGA使用自身的SPI记忆体作为DSP的代码来源,利用来自DSP的SPI埠的导引功能来映射引导过程。一旦代码传送完成,FPGA便会让DSP开始执行。
图1 使用FPGA和DSP的无线通讯系统
硬体信任根
如果系统并未对引导过程提供保护,侵入者便能够以自己的代码取而代之,然后成功劫持整个系统,这可能会使得系统受到破坏,引起重大的财务损失甚至法律责任。我们必须使用安全的导引过程将这类攻击减至最少,而硬体信任根(Root of Trust)就是实施安全导引过程的必要条件。
硬体信任根支援系统资料完整性和保密性的验证,并可将这种信任扩展至内部和外部实体。硬体信任根可避免系统被侵入或修改,也能够查验更高等级功能,而且是安全的起点。在嵌入式系统中,信任根与其他系统元件共同工作,以确保主处理器仅使用经过授权的代码来进行安全的导引,从而将信任的区域扩展至处理器及其应用。
硬体信任根必须在安全的FPGA上构建,其配置位元流必须受到保护,以免不怀好意的入侵者成功进行複製或反向工程,使得信任根被破坏。所以,保护FPGA元件的IP是保护嵌入式系统其馀部分的必要条件。
多级导引过程的安全要求
从其他部分进行嵌入式处理系统的初始化,需要安全的导引过程,以确保过程中所执行的代码是可信任及不受恶意内容或洩漏影响。图2说明了安全导引过程为充分保护嵌入式系统的初始化而必须经过的各个不同阶段。每一个阶段都必须由先前的成功阶段来验证,以确保直到顶层应用层的信任链(Chain of Trust)。不可修改的引导载入程式(阶段0)代码可嵌入在FPGA元件中,并且透过安全的信任根使用受保护的安全金钥和相关的安全演算法进行验证,以确保代码的完整性和真实性。把代码执行和转移至安全导引的每一顺序阶段前,这些阶段都必须经过先前可信任系统(Trusted System)的验证。
图2 多级安全导引过程概述
实施安全的嵌入式系统
配置位元流是在上电时使用(就像基于SRAM FPGA的配置位元流),而保护这些配置位元流的一种常用方法就是将位元流资料加密,这使得攻击者难以在配置启动过程中仅经由观察来捕获位元流。解密金钥储存在FPGA之中,用于在配置FPGA之前用来将资料解密。为了在失去电力时还能保留安全金钥的资讯,因此通常须要使用电池。
另一种保护FPGA配置位元流的方法,是使用非挥发性记忆体将其完全储存在晶片上,以免在启动时洩露。市场上有一些FPGA元件,比如美高森美的SmartFusion2和IGLOO2系列,在製造期间进行程式设计时将位元流加密,提供了额外的保护功能;这还可保护设计不会被不道德的代工厂进行複製或反向工程,以免所需的硬体信任根遭到破坏。
一旦创建了安全的FPGA,下一个主要的要求就是实施硬体信任根。FPGA必须保护安全金钥和晶片上不可改变的初始阶段(Phase 0)导引载入程式,使得恶意侵入者无法以任何方法攻击或修改它们。如果使用基于快闪记忆体的FPGA将不可改变的代码和安全金钥储存在晶片上,还可经由配置过程来载入配置位元流以获得安全性。安全金钥只是整个设计中的一小部分,但对于保护设计避免其它形式的攻击却是十分重要的。
阻止攻击
一种常见的攻击方法是使用侧通道(Side-Channel)分析来试图找出晶片上的安全资讯,比如观察安全金钥相关运作期间的功率或定时签名。这种侧通道方法类似保险箱窃贼不断操纵锁具和侦听机心的杂讯来找出保险箱组合的方法。在这种情况下,侧通道就是通过物理方法实施安全「功能」所造成的声音。实施耐受侧通道攻击的解密演算法,也可以耐受更先进差分功率分析(DPA)形式的侧通道攻击。
如果不使用耐受DPA技术,观察者便能测量到该设计在处理金钥和演算法时所使用的功率。此外,频繁改变安全金钥也可限制攻击者针对统计分析所进行的测量次数,使他们难以利用这类方法入侵。而且预充电的暂存器和汇流排等电路设计技巧也可限制入侵者所能够利用的「杂讯」。
既然已保护了FPGA IP的安全,设计也建立了信任根,所以便能够更详细地检视整个嵌入式系统的实施方案。图3所示为安全的嵌入式系统的实施方案,其中描述了安全导引过程的不同元件。不可改变的导引代码与金钥储存在晶片上,外部SPI记忆体储存剩余的DSP代码(包括任何所需的OS载入程式和OS代码,以及应用程式码),全部均使用由信任根所管理的安全挑战和回应系统(Challenge and Response System)来验证。过程结束时,安全的代码被载入DSP晶片上的SRAM,FPGA便让DSP开始运作,确信只会执行经授权的代码。此外,使用FPGA I/O可实现低成本PCB篡改检测方案,以检测任何钻孔或切割迹线意图,并採取保护措施。
图3 使用SmartFusion2或IGLOO2 FPGA的安全实施方案
当完成了安全导引,FPGA便能够实施系统所需的其它功能,比如桥接PCIe和RapidIO介面、连接JESD204x汇流排、利用FPGA模组预处理无线讯号,以及控制DDR3缓衝记忆体。当需要额外的演算法处理能力时,SmartFusion2具有晶片上处理器可供选择;而当FPGA模组足以实施所需的控制功能时,也可选择使用IGLOO2。
基于快闪记忆体的FPGA可提供安全IP和硬体信任根,可用于构建更高等级的安全功能,如安全导引等,以保护设计避免被侵入。未来的安全需求将以这些功能为基础,例如传送安全资料和授权安全设备将成为新兴物联网和机器对机器通讯应用的主要需求,这些应用将是许多新DSP相关设计所锁定的目标。这将需要数种额外的设计安全层以保护嵌入式系统设计IP。
美高森美 物联网 FPGA DSP 嵌入式 电路 PCB 相关文章:
- SmartFusion2:不一样的FPGA SoC(10-11)
- 采用Altera 10代FPGA实现低延时小尺寸设计(06-09)
- 为何使用Zynq SoC可以让企业产品利润激增?(09-15)
- 零基础学FPGA (一) 关于我和FPGA(01-14)
- 赛灵思最新发布的UltraScale+16nm系列FPGA、3D IC和MPSoC介绍(03-04)
- 赛灵思 SDSoC 开发环境介绍(03-11)