FPGA身份识别.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
FPGA身份识别

基于FPGA的身份识别及防拷贝机制摘要:本文描述了如何利用安全存储器来完成身份识别功能,以实现对FPGA设计的保护。在完成身份识别特性的同时,还可实现软功能管理和电路板识别功能。本文所涉及的FPGA均来自Xilinx,?Inc.。? 动机 开发电子产品,包括嵌入式FPGA的配置代码,其成本是相当高的。因此应当防止未经授权的机构对这些设计和配置进行拷贝,以保护设计者的知识产权。有很多种方法能实现这样的保护功能。如在Xilinx?Virtex-II?和Virtex-4?这类的高端FPGA中,支持对配置数据流的加密操作。这样仅当FPGA中含有相同的密钥时,这些数据流才可以工作。但是这种加密的方法对更为广泛的、对成本很敏感的应用场合来说不甚合适。因此,这里利用另一种可行的身份识别法来防止意外拷贝。这种方法对所有FPGA家族都适用,包括低端的Xilinx?Spartan-3?系列FPGA。? 前提 在身份识别的概念中,要求FPGA的设计者实现与一个安全存储器通讯的功能以进行认证工作。图1是实现该设计的一个简化原理图。? 安全/应用笔记/利用单总线接口的SHA-1安全存储器实现Xilinx?%20FPGA的身份识别及防拷贝机制%20-%20Maxim-Dallas.files/3826Fig01.gif width=521 图1.?Dallas?Semiconductor的1-Wire存储器件为FPGA提供安全控制和保护的简化框图? 安全存储芯片需满足下列要求:? 包含用于芯片内部操作的密钥,该密钥对外界不可见。? 包含一个唯一的不可改变的识别号。可用该识别号来计算一个与设备绑定的密钥。? 能够进行包含密钥、随机数(用做质询机制)、唯一识别号及附加数据(常数)在内的HASH运算。? 为了满足应用所需的安全性,该HASH算法应满足:? 不可逆?-?要使从一个HASH结果逆推出与之相关的输入数据在计算上是不可行的。? 防“碰撞”?-?使用另外一组输入数据来产生一个相同的HASH结果是不可行的。? 具有极高的雪崩效应?-?输入数据的任何变化,都会极大的影响到HASH运算结果。? SHA-1算法?-?一个被全面而广泛验证的单向HASH算法可以满足上述需求。该算法由美国国家标准技术局开发,被ISO/IEC?10118-3:2004国际标准所采用。公众可在NIST的网站上获得该算法的数学原理。? DS28E01-100和DS2432是达拉斯半导体提供的内置SHA-1算法的安全存储器。这些器件的单总线接口非常适合此类应用,因为他们只需FPGA的一根引脚就可实现这些功能。? FPGA需实现下述功能,以利用这些器件的安全特性:? 产生随机数。? 知道一个用于芯片内部运算的密钥,且该密钥对外界不可见。? 同安全存储器一样进行包含密钥、随机数、附加数据及器件识别号在内的HASH计算。? 比较HASH计算结果。? 以上对FPGA的功能要求需要FPGA具备微控制器的性能,例如PicoBlaze?,它是Xilinx专用于Spartan-3,Virtex-II,Virtex-II?Pro?,Virtex-4?FPGA和CoolRunner?-II?CPLD的自由宏。PicoBlaze使用192个逻辑单元,仅为Spartan-3?XC3S200器件的5%。? 技术的实现 当器件上电后,FPGA从Flash?PROM中读取数据对自己进行配置。配置完成后FPGA的微处理器功能被启动并进行认证工作,该认证工作包括下列步骤:? 产生一组随机数并作为一个质询机制(Q)发送给安全存储器。? 向安全存储器发出指令,要求其计算一个基于密钥、质询机制、唯一识别号和固定附加数据的HASH结果。? FPGA本身计算一个基于其自身存储密钥、发送给安全存储器的相同数据和固定附加数据的期望HASH结果(E)。? 读取由安全存储器件所计算出的HASH结果作为响应(A)与期望HASH结果(E)做比较。? 如果A和E相匹配,微控制器认为该电路是“友方”电路,因为它拥有正确的密钥。此时FPGA进入正常工作状态,开启/执行其配置数据中的所有功能。如果A和E不匹配,则该电路被认为是一个“敌方”电路。此时FPGA进入非正常运行状态,只执行有限的功能。? 此过程的安全性何在? 对于每个制造单元,设计所有者(OEM)必须为制造带有嵌入式FPGA产品的一方(制造商或CM)提供一个正确预编程的DS28E01-100或DS2432。这种一对一的关系限制了CM可以制造的授权产品的数量。为防止CM窜改安全存储器(或许CM会以存储器没有被正确编程为由申请需要更多存储器),因此建议对密钥进行写保护。即使不进行写保护,也无需担心单总线EEPROM

文档评论(0)

jgx3536 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档