基于SRAM的FPGA设计IP的解决方案
另一个至关重要的安全措施是质询的随机性。可预测的质询(常数)产生可预测的响应,该过程可以记录一次,随后由模拟安全存储器的微控制器重放。利用可预测的质询码,微控制器可以成功地让FPGA将其认定为"朋友"。IFF方法中质询码的随机性消除了上述忧虑。
如果每个安全存储器中的密钥都是与器件相关的,则可以进一步提高安全性:每个具体密钥都是利用主控密钥、SHA-1存储器的唯一识别码以及相关的常数计算得到。如果具体个体密码被公开,则只影响单个器件,而非整个系统的安全性。为了支持个体密钥,FPGA需要知道主密钥并在计算预期响应之前首先计算1- Wire SHA-1存储器芯片的密钥。
逻辑问题
对于要构建的所有单元,开发商(OEM)必须向利用嵌入式FPGA制造产品的合同厂商(CM)提供适当的预编程安全存储器。这种一对一的关系限制了CM能够构建的授权设备的数量。为了防止CM窃取安全存储器 (例如:声称由于某些内存的编程不正确,需要更多内存),建议OEM对安全密钥设置写保护。
即使其没有写保护,也无需担心1-Wire EEPROM数据存储器的安全性。设计保证只有知道密钥的人才能够更改该存储器数据。这一附加作用很受欢迎,因为该功能使应用设计者可以进行软件功能管理—FPGA可以根据从SHA-1安全存储器读取的数据激活/禁止某些功能。
OEM 并不总是在将存储器件运送给CM之前先对其进行预编程。为了解决这一问题,安全存储器制造商可以为OEM设置SHA-1密钥和EEPROM阵列预编程服务。Maxim为您提供这样的服务,根据OEM的输入,在工厂登记和配置安全存储器,然后将其直接运送给CM。该服务具有以下主要优势:
消除OEM向CM透露密钥的必要性。
避免了OEM实施自己预编程系统的必要性。
只有OEM授权的第三方可以访问注册器件。
供应商保存运输数量的记录,以备OEM审核。
方案验证
本文介绍的FPGA安全认证方案已经在Altera和Xilinx产品上进行了测试,Altera在其白皮书"An FPGA Design Security Solution Using a Secure Memory Device"中总结道:"即使配置数据比特流被捕获,这种FPGA安全性设计的IFF方案也能防止Altera FPGA设计被克隆。只有在FPGA和安全存储器的散列算法计算结果相一致时,用户设计才会有效。这种安全设计可有效保护FPGA设计者的IP"3。
同样,Xilinx也在其应用笔记XAPP780中声明:"该系统的安全性建立在密钥和安全环境中加载密钥的安全性基础上。整个参考设计,除密钥外,都满足得到普遍应用的Kerckhoffs原理。应用笔记提供的编程和认证的简单接口简化了防盗版保护方案的实施"4 (Flemish语言学家Auguste Kerckhoffs在其关于军事加密领域极具创造性的文章中指出:除了依靠模糊性之外,安全应该依靠密钥的力量。他主张,遭到入侵时只需要更换密钥,而不是整个系统)。
结论
只需添加一片类似于DS28E01的低成本芯片并更新FPGA配置码,即可实现IP保护,避免设计被盗版。利用1-Wire接口,只需将FPGA的一个引脚用于安全性设计。如果FPGA有更多引脚,则可使用I²C接口的安全存储器,替代1-Wire设计。设计中还需对FPGA配置以及嵌入式微控制器的控制软件进行某些修改。
可以定购固定密钥或计算密钥及特殊应用数据的安全存储器。然后将预编程器件仅发送给OEM,或发送给经过授权的CM。CM只能生产、提供与预编程器件相同数量的产品。
附录A
FPGA工艺及相关事项
五家主流FPGA供应商—Actel®、Altera、Lattice Semiconductor Corporation®、QuickLogic®和Xilinx—占有将近98%的市场份额。其余2%份额则属于几家提供类似FPGA功能的特殊供应商。
所有这些厂商都采用外包运作模式,并依靠台湾、日本、新加坡或德国的晶圆加工厂来为其生产晶片。所以,他们仅仅具有操作与其工厂相关的技术部分的权限,例如利用SRAM功能或高密度浮栅存储器阵列的快速逻辑。通过充分发挥标准加工流程的作用,FPGA公司能够保持其制造成本非常低廉。
然而,Actel和QuickLogic与其加工厂一起将知识产权反熔丝技术集成在加工流程中。反熔丝技术具有某些独特优点:良好的安全性、小单元、耐辐射,当然还有非易失性。反熔丝技术存在一个局限性。与基于闪存的器件不同,一旦配置了单元,将不能对其进行重新配置(正如"熔丝"的字面意思)。另外,尽管反熔丝工艺比基于SRAM的FPGA更复杂,但是其单元更小,导致具有逻辑能力的芯片更小,成本更低。
很长时间以来,SRAM和闪存技术是相互排斥的;他们不能被方便地集成到一个芯片中。但
- 一种消防应急灯具专用控制芯片的设计(11-02)
- 基于FPGA的8段数码管动态显示IP核设计(02-03)
- 基于FPGA和IP Core的定制缓冲管理的实现(08-14)
- 基于Altera ASI IP核的ASI发送卡实现(02-25)
- FPGA的高速多通道数据采集控制器IP核设计(04-22)
- 基于EDA或FPGA的IP保护的实现(09-16)