采用Device DNA和Flash存储器ID保证安全
扫描二维码
随时随地手机看文章
在非易失性FPGA-Spartan-3AN平台中采用了与Spartan-3A器件几乎相同的工艺,只是进行了一些增强。第1种安全增强是比特流隐藏在FPGA内,使得监控变得更加困难。
Spartan-3AN FPGA的第2种安全增强是两个独一无二的序列号,即Device DNA和Fash存储器内的工厂Fash ID。这两个独一无二的ID序列号超过70个字节,从而实现了更多的算法可能性,因此大大增加了破解安全算法所需的时间。该设计现在专门融合了FPGA和Flash ID。
拥有两个独一无二的ID就像需要两张不同的ATM卡才能取钱一样。如果想提取现金,必须持有两张卡。如果其中一张卡丢失,则钱不会被取走且仍然是安全的。
第3种改进在于存储的校验码,在Spartan-3AN平台上,安全代码可以存储在安全寄存器的特殊一次性可编程64个字节的用户定义字段中。该寄存器使安全系统保持独立,而无需外部接口或存储器。该特性增强了总体安全性,使产品的反向工程变得更加困难。
安全算法是用户定义的,允许设计者以适当的系统成本实现合适的安全级别。安全算法也是安全系统的首要机密,安全流程中的内容必须是机密的,这样才能保证系统不被破解。由于算法是未知的,因此它是设计级安全的关键所在。算法在FPGA架构内实现,因此它只是FPGA内数百万个配置位中的少数几位。除非知道比特位是如何连在一起的,或者算法是如何操作的;否则对于旁观者或克隆者来说,它只是一堆数字。
图1所示为采用Spartan-3AN器件的一个可行流程。
图1 Spartan-3AN的安全设置流程
图2所示的Spartan-3AN设计级安全是一种完全独立的安全解决方案,Flash既包含FPGA配置比特流,又包含以前生成的校验码,该校验码由可信赖/安全的制造商或注册流程存储在一次性可编程Flash存储器用户字段中。
图2 Spartan-3AN的安全解决方案
在通电时,FPGA正常配置。配置完成后,FPGA应用包括验证是否批准设计在相关的Spartan-3AN FPGA上操作的电路。安全算法读取Device DNA和工厂Fash ID;反过来,安全算法又会生成有效代码,并将该有效代码与以前生成的存储在Flash用户定义字段中的校验码进行比较。如果这两个代码相同,器件就被授权;否则该器件就是非法的,并且不会被授权。
处理授权失败是Device DNA设计级安全的另一个优势,设计级安全的其他优势是其可以被完全整合到设计中。未授权设计可以有多种响应模式,这与Spartan-3A平台一样。
Spartan-3AN平台中的设计级安全提供了多种保护设计不被用于过度构建、克隆和反向工程的方法,要了解利用3个系列的产品实现设计安全方面的更多信息,请参照《Spartan ̄3系列配置用户指南》。
来源:ks991次