一旦使能用户设计后,关断SHA-1 IFF引擎模块以降低功耗。用户可以连接外部逻辑或者状态机来复位SHA-1 IFF引擎,再次启动工作。一旦使能信号变为高电平,SHA-1 IFF引擎模块不断计算并检查SHA-1算法。
设计组成模块
这一解决方案的参考设计含有三个主要模块:
■SHA-1引擎:这一模块计算SHA-1算法,进行安全认证。它接收安全存储器通过一线接口传送来的设计,将其和MAC结果进行对比。只有当哈希计算结果和安全存储器中SHA-1引擎的哈希计算结果匹配时,才使能用户设计。
■随机数发生器(RNG):当复位信号置位SHA-1引擎模块时,RNG为该模块产生一个随机数。SHA-1 IFF参考设计使用了一个8位RNG块。SHA-1引擎模块处理这一8位随机数,转换成40位随机数据,进行哈希计算。
■一线接口:这一模块支持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。
详细信息
■Dallas半导体公司/Maxim集成产品:
www.maxim-ic.com



最新评论
删除 引用 vhdl (2008-7-28 09:44:12, 评分: 0 )
哈哈,王小云并没有破解掉SHA-1,仅仅是增加了"碰撞"的可能吧,SHA-1是不可逆的
删除 引用 flyoxy (2008-7-26 18:30:02, 评分: 0 )
删除 引用 onewrong (2008-7-24 14:23:55, 评分: 0 )
删除 引用 oBigeyes (2008-7-22 21:30:00, 评分: 0 )
删除 引用 smxd (2008-7-17 02:27:04, 评分: 0 )
一、占用片内资源;
二、SHA-1算法几年前就已经被国内某女数学教授攻破;
三、配置数据仍在FPGA外部,存在被反向工程的可能性;