微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > FPGA和CPLD > 针对FPGA实现安全的系统内编程功能

针对FPGA实现安全的系统内编程功能

时间:09-03 来源:互联网 点击:
FPGA正越来越多地作为现代电子系统的核心部分。这有多个可能原因:FPGA的成本低、立即可用及精密性不断提高,但最重要的还是FPGA硬件可重新配置,因此能轻易配合系统规格随时改变的要求。

硬件可重编程是FPGA器件的“杀手锏”,其优点多不胜数。除了明显的优势在于几乎毋须额外的成本便能更改半导体的功能外 (这远较传统的ASIC器件优越),FPGA能够应对规格改变的能力、增加功能,或快速实时配置客户的设置,这意味着FPGA产品能延长应用寿命及提高盈利空间。

但有一个很重要的问题需要考虑:我们能在多大程度上安全地配置系统环境下的FPGA,即实现系统内可编程 (ISP),使系统设计人员获得最大的益处。我们当然希望能够在系统完全制成后甚至在场地应用时,都可以更改系统编程。也希望在大多数情况下,在器件重编程时进行安全的控制。换言之,我们需要有完整的手段来控制对FPGA内IP的存取及保护,这手段称之为“安全ISP”。

为什么会有这个需求?因为FPGA的灵活性可为终端用户带来许多好处,但也可能在不法分子手上用以进行不法的勾当,例如:  

*过建 (复制盗版)
*盗取敏感的数据
*篡改产品
*黑客攻击

随着许多公司都在本土之外设立制造基地,过建的行为越来越猖獗。过建是非法的行为,即不道德的合约制造商会在市场上购买额外的芯片来制造合约规定以外的系统产品,然后在市场上销售,与OEM厂商进行不公平的竞争。这种行为不仅会使OEM厂商降低所销售产品的营业额,同时也因额外的竞争而影响产品的边际利润,并且还增加技术支持成本和承担更多负债责任。

盗取敏感数据是电子化数据时代中越来越严峻的问题。拥有高精技术的犯罪者每每能够盗取各种特许信息,如银行帐号、社会安全保险号和其它重要资料。 手持销售点 (POS) 机可能成为盗取这类信息的一个途径;因为这些敏感信息一般都保存于系统的非挥发性片上数据存储器中。如果这些内存未经高度的加密保护,攻击者就能够盗取其中的重要数据。由于设备具有便携式的特性,如容易开启和接入串连端口,就使问题更加严重。

篡改产品是系统易于重新配置引发的自然结果。篡改行为范围广泛,可以从微小但合法的程度 (如改动引擎控制系统来提高汽车的性能),以至于犯法的行为 (如更改赌博机制的随机性来牟利)。这种篡改意味着产品制造厂需要承担被篡改产品的法定或/和产品质量责任,严重时还会引起公众安全问题。

黑客攻击是互联网时代中的一个小但却会不断扩大的问题。SRAM FPGA更特别易受黑客攻击。文献报道过很多黑客攻击实例,当中,SRAM FPGA屡遭黑客采用随机位流攻击的方式实际地摧毁。因此,必须建立适当的系统保护机制,确保器件只会接受作为授权编程位流经的认证信息。

Flash出现前的情况

以SRAM为基础的 CPLD和FPGA是挥发性的,需要外部的配置内存。因此,它们被公认为最多安全隐忧的可编程器件。例如,要盗取以SRAM为基础 FPGA的设计十分容易,只要探测FPGA与外部 (非挥发性) 配置内存的接口,截取当中的位流便可。为此,SRAM器件制造商进行了很多尝试,以防止这些情况发生。为了保护FPGA上的数据,有些厂家移除了非挥发性的配置内存,并尝试用电池来维持FPGA的配置数
据。这在理论上可行,但在实际应用中却会显着增加板级设计的成本:板卡更加复杂、需要添加电源线、采取电隔离措施 (防止其它芯片从器件至器件之间的互连为自己供电),以及电池本身的成本。即使采用这种方法,也不能排除系统因电压/接地尖峰、物理冲击或电池失效等问题而遭受瞬间掉电,从而丢失配置数据。

对于许多较新的SRAM FPGA产品,制造商引进了以3DES或同类加密方案的位流加密支持,并储存于外部内存中。上电时,可编程器件从内存中读入加密后的配置位流,并在器件中进行解密,然后加载到半导体芯片上。虽然这种方法能防止大部分黑客盗取芯片中的IP,但还是不能阻止他们截获位流或导入其它的位流。

较旧式的SRAM FPGA产品不支持位流加密,制造商因此采用了几种方法来增加器件的安全性。常用的一种方法是采用所谓“握手令牌” (Handshake token)执行设计,即如果没有收到所预期的令牌,FPGA内的设计功能就会失效。握手令牌会在上电时随机生成,或利用小型的非挥发性可编程器件 (NVPD) 重置,然后在运行时定时监控,以保证令牌没有改变。假如令牌有变,FPGA的功能 (握手令牌电路除外) 将失效,直到收到正确的令牌为止。FPGA每隔一段时间就会向NVPD请求另一个令牌,以便进行控制。一旦收到正确的令牌,FPGA的功能便会恢复。

这种方法希望能保证即使配置位流被复制并克隆到FPGA中,没有正确的令牌也不能工作。然而,这种方法不能防止犯罪者将位流从外部配置内存中复制,并经过逆向工程获得它在NVPD中的运行算法,然后便可制备新的NVPD,以便在克隆的电路中生成令牌。虽然这种保证方法大幅增加了克隆设计的难度,但不能全面保护FPPGA中的专利IP。其它方法也可以用来保护SRAM FPGA,但也只是提高获取或使用位流的难度,而不能完全保护IP。讽刺的是,在许多这类方法中,NVPD的内容得到保护,因为器件是非挥发性的;而FPGA的内容却被暴露,因为器件每次上电都需要将配置位流写入FPGA中。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top