FPGA更新与可编程性:安全与应用解析
1. 引言
与专用集成电路(ASIC)不同,静态随机存取存储器(SRAM)现场可编程门阵列(FPGA)在制造后能够改变其逻辑配置。定义该逻辑的比特流存储在非易失性片外存储器中,并在FPGA上电时加载到FPGA上。这种特性十分有用,若在逻辑设计中发现错误,可低成本替换有缺陷的比特流,而无需制造全新芯片。此外,也能避免将敏感知识产权(IP)发送到可能不可信的代工厂,可在安全设施中为FPGA加载比特流。
2. 比特流加密与认证
2.1 加密机制
将专有比特流存储在非易失性片外存储器中存在安全问题。FPGA行业投入大量精力开发比特流加密机制,以防止设计从非易失性存储器中被提取。通常使用对称密码对存储在非易失性存储器中的比特流进行加密,防止板级探测攻击读取从非易失性存储器传输到FPGA的比特流。解密过程在FPGA上进行。
比特流加密依赖密码和密钥对其进行加密并存储在非易失性片外存储器中。数字水印可嵌入隐藏签名,用于证实设计被盗用的主张。一种FPGA水印方案通过操纵比特流的未使用部分在物理层面实现。
另一种保护比特流的方法是在安全设施中对已编程的现场SRAM FPGA提供持续供电。断电会擦除用于加密比特流的密钥。不过,持续供电成本高,且无法重新编程。反熔丝FPGA是非易失性的,无需持续供电,但不能重新编程;基于闪存的FPGA无需持续供电,且可重新编程。
2.2 认证机制
除加密外,还需认证来证明比特流作者或向现场设备上传比特流的人员身份。认证也可防止IP在未经授权的FPGA上运行。物理不可克隆函数(PUFs)是IP和硬件相互认证方案的基础,利