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