。讽刺的是,在许多这类方法中,NVPD的内容得到保护,因为器件是非挥发性的;而FPGA的内容却被暴露,因为器件每次上电都需要将配置位流写入FPGA中。
安全ISP的完整解决方案
能充分保障器件及其编程安全的完整解决方案必须能抗衡这些严峻的安全问题。这样的解决方案必须包含如下要素:
*安全的基础构架。Flash FPGA具非挥发性、上电即行和单芯片等特性,在芯片上拥有一切所需的非挥发性内存,在锁定后也很安全。
*AES (先进加密系统) 技术。必须采用先进的加密技术确保编程位流的安全传输。
*信息验证代码 (MAC)。必须在安全位流传输中采用MAC验证来确保信息在传输时没被更改。
*非挥发性内存/FlashROM (FROM)。FPGA板上的非挥发性FROM寄存器可存储键和标识,以实现安全ISP的控制和序列化处理。
AES加密系统
先进加密系统 (AES) - 美国联邦信息处理标准197 (AES-FIPS 197) 是美国国家标准技术研究院 (NIST) 最新颁布的加密标准。AES算法能够使用128、192和256位的加密键来实现128位数据块的加密和解密,从而保护电子数据。AES算法替代了原本安全性较低的DES和3DES算法。AES-128能在多达3.4 * 1038个独特密码键中任挑一个来加密位流。这样,每秒能破解一百万个加密键并可用于设计的精密黑客程序 (这已是非常高的并发算法能力了) 也需要1 * 1025年(即千万个万亿年) 才能找到AES-128生成的那个加密键。
信息验证代码 (MAC) 的目的是检测位流在传输过程中有否被更改。如果更改并非恶意,如由传输出现的一些问题引起,接收端可以检测得到并请求重新传送。如果更改是恶意的,MAC检测出的改变将拒绝由攻击者更改的信息被接受。从概念上讲,这系统颇为简单。发送端和接收端共享一个加密键。接收端利用共享的加密键计算接收信息的MAC。如果计算出来的MAC与接收到的MAC不匹配,说明信息在传输过程中被更改。系统软件于是会拒绝该位流并请求重新传输。
FROM
FlashROM (FROM) 是安全ISP解决方案的一个关键组件。作为非挥发性板级数据存储器,FROM存储着诸如加密键和独特设备标识之类的宝贵资源。FPGA通常采用的构架,是让FROM和FPGA结构能独立地进行编程,容许FROM在毋须更改FPGA核心结构的情况下也可以更新。为了保证FROM内容的安全性, FROM只允许采用JTAG编程;并不能通过内核来更新。但是为支持某些应用,尤其是依赖于独特器件标识 (序列化) 的应用,FPGA内核应当能读取FROM的内容。

图1 安全ISP的完整解决方案
采用适当的配置支持,并结合基本的编程功能如自动增量和自动减量,FROM和AES的使用就能支持许多涉及设备序列化的应用,即是支持独的设备标识。目的是为了更方便地管理大量器件的FROM内容。序列化支持在面对下述功能和应用领域时尤其有用:
*资产管理跟踪
*日期和时间戳
*互联网协议寻址
*库存控制
*基于认购方式的经营模式
*系统校准设置
*版本管理