存储器FPGA设计安全解决方案介绍
类型:
用户名 
密 码 

 登录 注册

销售热线:+755-83614893 15338790961

存储器FPGA设计安全解决方案介绍

来源:www.anxida.com | 发表于:2009年11月05日

引言
    由于很容易捕获到配置比特流,并进行复制,因此, FPGA 设计很难防范设计窃取。和窃取知识产权(IP)
相比,几乎不可能从比特流中提取出IP,但是却能从FPGA 中克隆整个设计。为了保护配置比特流,有的
FPGA 现在能够对比特流进行加密。然而,对于不具备嵌入式比特流加密手段来加密配置比特流的FPGA 而
言,需要在生产过程中增加步骤对FPGA 中的密钥进行编程,因此提高了成本。对于大批量应用,使用安
全辅助芯片的性价比会更高一些。
本文档提供解决方案来帮助保护FPGA 设计不被克隆。利用“识别、朋友或者敌人(IFF)”设计安全方法,
在FPGA 中和安全存储器中的哈希计算结果匹配之前,这一方案禁用FPGA 中的设计,因此,即使捕获到
了配置数据比特流,设计也是安全的。在这一解决方案中,安全存储器是FPGA 的安全辅助芯片。
设计实现
    在IFF 概念中,采用了安全辅助器件来计算哈希算法。Dallas 半导体公司的安全存储器DS28E01 结合了
1024位EEPROM和符合ISO/IEC 10118-3安全哈希算法(SHA-1)的“挑战-响应”认证安全方法。 DS28E01是
1 线接口器件,因此,这一解决方案只需要一个FPGA I/O 引脚。安全存储器需要采用上拉电阻和1 线I/O 引脚
连接( 关于DS28E01 电气规范,请联系Dallas 半导体公司)。
图1 所示为采用了IFF 概念的设计安全参考设计的顶层结构图。安全存储器SHA-1 引擎根据存储在安全存
储器中的密钥来计算哈希算法,该密钥是FPGA 产生的随机数,在安全存储器中具有唯一的ID。

图1. 采用了IFF 概念的设计安全解决方案

在使用FPGA 时, SHA-1 IFF 模块中有安全存储器中的匹配密钥,能够根据和安全存储器中SHA-1 引擎相
同的输入来计算SHA-1 算法。配置完FPGA 后,不会启用用户设计。只有当安全存储器和FPGA 中的哈希
计算结果相匹配时, SHA-1 IFF 模块才会使能用户设计。
系统一旦上电,以嵌有SHA-1 IFF 参考设计的用户设计配置完FPGA 后, FPGA 产生一个随机数,把它发
送给安全存储器。FPGA 读取来自DS28E01 的160 位消息认证码(MAC) 计算结果,将其和FPGA SHA-1
IFF 引擎MAC 结果对比。如果MAC 结果匹配,SHA-1 IFF 模块使能用户设计,如果不匹配,则禁用它。图2
所示为采用了IFF 概念的设计安全流程。

图2. 采用了IFF 概念的设计安全流程

这一参考设计为用户利用FPGA 来设置DS28E01 器件提供了其他方法。FPGA 配置完成后,它支持FPGA
向安全存储器发送密钥,在生产过程中比较安全的地方进行设置。

只在对安全存储器第一次编程时采用这一方法。关于在大批量编程中怎样对DS28E01 器件编程的方
法,请联系Dallas 半导体公司。

图3 所示为通过FPGA 对DS28E01 编程的设计安全流程。
图3. 通过FPGA 对DS28E01 编程的设计安全流程

一旦使能用户设计后,关断SHA-1 IFF 引擎模块以降低功耗。用户可以连接外部逻辑或者状态机来复位
SHA-1 IFF 引擎,再次启动工作。一旦使能信号变为高电平,SHA-1 IFF 引擎模块不断计算并检查SHA-1 算
法。
设计模块组成
这一解决方案的参考设计含有三个主要模块:
■ SHA-1 引擎 :这一模块计算SHA-1 算法,进行安全认证。它接收安全存储器通过1 线接口传送来的设
计,将其和MAC 结果进行对比。只有当哈希计算结果和安全存储器中SHA-1 引擎的哈希计算结果匹
配时,才使能用户设计。
■ 随机数发生器(RNG):当复位信号置位SHA-1 引擎模块时,RNG 为该模块产生一个随机数。SHA-1 IFF
参考设计使用了一个8 位RNG 块。SHA-1 引擎模块处理这一8 位随机数,转换成40 位随机数据,进
行哈希计算。
■ 1 线接口:这一模块支持FPGA 中参考设计和安全存储器之间的数据传送。
用户设计模块
SHA-1 IFF 引擎系统时钟频率典型的FMAX 是100 MHz ,或者更低。用户必须向参考设计输入SHA-1 IFF 引擎
频率,从而保证数据在FPGA 和安全存储器之间正确地发送和接收。用户可以为SHA-1 IFF 引擎和用户设
计提供不同的时钟。

解决方案的安全性
上电时,当FPGA 中的配置数据比特流在FPGA 和外部存储器之间传送时,可以捕获到它。利用捕获到的
配置数据比特流,配置另一FPGA 器件,就可以复制这一FPGA 设计。这一方案可以确保克隆器件无法工
作,从而保护了用户设计。没有正确的密钥和哈希算法计算结果,会一直禁用FPGA 中的用户设计。
为了将设计克隆到另一FPGA 设计中,必须克隆密钥和安全存储器唯一的ID。这很难实现,因为不能读出
DS28E01 密钥,也无法从MAC 结果中反向篡改SHA-1 算法来确定密钥。
结论
即使捕获了配置数据比特流,这一FPGA 设计安全IFF 解决方案也能保护Altera® FPGA 设计不被克隆。在
FPGA 中和安全存储器中的哈希计算结果匹配之前,一直禁止用户设计。这一设计安全解决方案保护了
FPGA 设计人员的IP。

上一页:霍尔传感器的原理及测量方式
下一页:钽电容技术规格和选型

订购热线:
0755-83278427 
0755-83614893

传真:
0755-83278427/83612291

QQ:
在线交谈  在线交谈  

Email:li@anxida.com

地址:深圳市福田区华强北路1002号赛格广场2435
 


  Copyright © 2002-2007 洪得盛电子 版权所有  备案号:粤ICP备2024163847号-1
网站地图  |  IC库存  |  联系我们  |  关于我们