请教:怎样对fpga设计进行加密?

2020-01-30 16:55发布

目前的克隆手段日益发达,辛辛苦苦设计出来的电路很快就被拷贝了,pcb现在一条龙服务,芯片解密的广告满天飞。特别是fpga的设计,开发过程难度大,周期长,费用高,但只要把外面配置芯片的内容一读,你的知识产权顿时化为乌有。altera和xilinx目前的器件,如果是cpld型,保密性能好,但容量太小。sram型的fpga,外面的配置芯片很容易被拷贝,有没有简单可行的方法,用在fpga上,让破解芯片的难度加大?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
20条回答
dan_xb
2020-01-30 19:17
对于这个问题,解释是这样的:

1. CPLD就不说了,虽然你可以选加密,其实用途不大,别人依然可以通过开核,通过显微镜来绕过;你要知道,现在中国也就这些技术比较牛

2. 高端的FPGA可以选择AES加密,这个加密是把一个密钥写到FPGA内部,通过电池或者Flash来保存,加载的时候再实时解密。这个安全性是很高的,不用怀疑。但是只有高端芯片带这个。另外,也建议尽量使用电池来保存密码,虽然Flash/反熔丝要更方便,但是别人解开也方便。。。。

3. 有一个误解是Spartan-3AN的内部Flash可以读保护,其实是不行的,Spartan-3AN的那个Flash和放在外面的Flash没有什么本质的不同,你也可以通过写一个简单的工程把Flash的内容读出来。
Spartan-3AN的加密方式是使用内部的DNA,也就是一个序列号。这个其实很简单,你用一个工程读取DNA,然后通过你特殊的加密算法,生成一个KEY,写到Flash里面的某个位置。
每次工作的时候,都去读一下FLash里面的KEY,看看对不对,不对就拉低Reset。
这个几乎是不可能被破解的,因为你根本找不到加密的位置。

一周热门 更多>