用FPGA器件提升物联网和其它联网设计的安全性
扫描二维码
随时随地手机看文章
在现今日益趋向超连接的世界(hyper-connected world)中,如何保护新的设计避免被克隆、反向工程和/或篡改是一项重大挑战。FPGA器件通过加入满足器件级安全需求的特性,来帮助实现这些目标。
日益增长的IoT安全需求
物联网(IoT)可被视为由多个电子网络组成,这些网络需要端到端的起始于器件级的分层安全性(见图1)。为了帮助实现这种分层安全性,FPGA器件能够加入独特的内置特性和差异化能力,还能够在往往非常复杂的应用中成为信任根(root of trust)。
图1 联网系统需要起始于器件的端至端分层安全性
该解决方案使用内部嵌入安全特性的FPGA器件,允许系统架构师把安全体系架构规划在核心层面,而不是放在次要的地位。许多基于SRAM的FPGA器件存在的一个很重要的问题就是每次开机必需从外部存储器进行配置,这样通过反向工程很容易获取你的设计;因此,更好的办法就是使用具有片上非易失性存储器(NVM)的FPGA,可以使用NVM事件存储配置信息。
因为数据安全性是最重要的安全层面之一,所以FPGA器件必需保护所有的数据,包括正在处理的应用数据。我们应当考虑多种数据保护特性,包括硬件保护防止来边带通道的差分功率分析(DPA)攻击。单边或差分功率分析(SPA/DPA)可以通过在解密位流(bitstream loading)测量其功耗来提取密匙。
可重点考虑的是使用物理不可克隆功能(PUF)来生成一个公私密匙对机器进行认证。图2所示的PUF可以用作每台设备独一无二的“生物(biometric)”标识——类似于人类的指纹,没有两个是完全相同的,并且是不可克隆的。
图2 SRAM PUF架构利用SRAM位的准静态(quasi-static)随机启动行为
SRAM PUF
SRAM物理不可克隆功能是一种具有最佳特性和最可靠的存储器PUF 类型,它可以在智能卡芯片、FPGA或其它IC器件上实施。它通过测量SRAM模块中的位的随机启动状态来工作,每个SRAM位包含两个名义上标称等同但不完全相同的交叉耦合反相器。当电源施加在IC上,每个SRAM位启动为“1”或“0”状态,这在很大程度上是取决于IC制造过程的。
在反相器具有良好的平衡时,热噪声可能会克服预定的参考位的限制,从而初始值出现相反状态。然而,这一预定状态通常能克服任何动态噪声,并且只要使用错误纠正技术便可以将受噪声干扰的位恢复到初始值,确保在每次开启时重新构建相同的密匙。
SRAM PUF可以经过设计以保证在所有环境条件下也可完美地重建密匙,并且在整个生命周期具有非常低的错误率——低至十亿分之一。此外,由于SRAM PUF的密匙在电源关断时有效地从器件中消失,所以具有极为强大的保护功能。如果激活码被擦除,便没有任何后续分析可以重建PUF密匙。
加密功能
如果要在FPGA或SoC FPGA器件中实施PUF技术,这些器件须具备内置加密功能,比如用于AES、SHA、HMAC,以及椭圆曲线加密(ECC)的硬件加速器,还需要加密等级的真正随机位生成器。通过这些功能,便有可能创建一个用户公共密匙基础设施,让用户通过自己的授权机制来认证网络中的每台机器的合法性。这可确保每台设备具有一个信任链,从得到用户很好保护的根CA密匙一直延伸到通过FPGA器件的PUF建立的高确信度原子级身份。PUF和PKI结合起来,确保每台设备和其通信受到保护,并且能够安全、可靠地用于M2M、IoT和其它超连接应用。