Xilinx所有的FPGA器件都有Device DNA,这是一个57bit的二进制序列,在器件生产的时候烧死到芯片里面,每个芯片都是唯一的。这个序列,用户可以通过JTAG或者verilog(VHD)应用程序直接读出。怎么使用这个DNA,因应用不同可能千差万别。
一般用作加密场合,是这么使用的:
1、根据每个芯片唯一的57bitDNA,经过某种变换(加密算法)变成另外一串秘钥,同bit文件一起存储在外部flash中。
2、Bit文件加载后,会首先去读取这57bit的DNA,经过相同的变换后去和存储在flash中的秘钥做比对,如果比对成功,芯片正常工作。如果比对不成功,则停止工作(比如通过BUFGMUX把时钟关掉等)。
3、加密算法你们可以自己自定义,比如一个简单的伪随机变换,移位等都行。
4、另外,很重要的一点,生成bit文件的时候,可以选择把JTAG口封死,防止偷盗者通过JTAG读取DNA。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)