首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

逻辑问题及方案验证 - 基于SRAM的FPGA设计IP的解决方案(下)

逻辑问题及方案验证 - 基于SRAM的FPGA设计IP的解决方案(下)

  为什么该过程是安全的?
  除了SHA-1提供的固有安全性以外,上述IFF认证过程的主要安全单元是密钥,安全存储器或FPGA都不能对其进行读取。并且,因为比特流中的数据杂乱无章,当FPGA自我配置时,对配置流的窃听不会泄露密钥。考虑到数据字节的尺寸,对比特流进行逆向工程以推测设计架构非常耗时,几乎不可能完成该项任务。
  另一个至关重要的安全措施是质询的随机性。可预测的质询(常数)产生可预测的响应,该过程可以记录一次,随后由模拟安全存储器的微控制器重放。利用可预测的质询码,微控制器可以成功地让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有更多引脚,则可使用I2C接口的安全存储器,替代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和闪存技术是相互排斥的;他们不能被方便地集成到一个芯片中。但是这种情况已经改变了,由于最近市场需求推动了半导体技术的发展。小型竞争者(Actel、Lattice Semiconductor和QuickLogic)现在提供基于闪存的单芯片FPGA (分别为ProASIC、Lattice®XP2和PolarPro)。
  例如,从2004年开始,Altera已经开始提供基于闪存的 CPLD (MAXII),但是目前没有将这项技术应用于FPGA。Xilinx早在2007年就推出了基于闪存的FPGA的Spartan-3AN生产线,在单个封装中安装两个芯片(FPGA和闪存)。但是Xilinx没有单片的基于闪存的FPGA产品5。集成闪存的能力促进了通过基于SRAM的FPGA使用外部配置内存的IP安全性的改良。通过在一个芯片上进行集成,使剽窃存储器和可配置逻辑阵列之间传输的数据更加困难。
  满足所有这些安全要求的一个方法是在FPGA和安全存储器之间采用质询-响应数据交换(认证)。安全存储器芯片是十九世纪80年代后期的发明。它们首先广泛应用与付费电话卡,然后在十九世纪90年代应用于银行卡;如今它们是GSM手机中的重要部分(即SIM卡)。安全芯片卡和主系统之间的常用通信标准是I2C串行总线。
  无论是为银行还是电话应用量身定制,安全存储器用于通用目的都不可行。2000年当Dallas Semiconductor (现在的Maxim Integrated Products)推出融合SHA-1散列算法的器件时,这种状况才得以改变。继第一代DS2432后又推出了增强型DS28E01。这些器件采用1-Wire接口,用于通信和供电。2007年推出的DS28CN01使用I2C接口,其他方面与DS28E01类似。
  由于加工厂通常具有FPGA设计的详尽知识,另一个需要考虑的关于IP安全性的方面是加工厂的诚信。为了防止所有权信息被非法窃取,信任或严格控制和监督是必需的。国内的加工厂比国外的加工厂要容易实现这一点。尽管如此,迄今为止,主要的加工厂在安全设计细节上表现了优秀的诚信品质。
返回列表