赞
踩
更多精彩内容,请微信搜索“FPGAer俱乐部”关注我们。
Xilinx所有的FPGA器件都有Device DNA,这是一个57bit的二进制序列,在器件生产的时候烧死到芯片里面,每个芯片都是唯一的。我们可以根据这个DNA,并结合相关的加密算法,来设计加密的安全流程。在这里,这个DNA安全流程就类似于ATM交易。在ATM上取钱,需要插入银行卡并输入交易密码。如果卡号和密码与存储在银行系统里的ID匹配,就会批准交易,反之,则禁止交易。具体到FPGA上的实现,如下图所示:
在图中,Device DNA是蓝色的部分,加密算法是绿色部分,外部存储器(Flash)是紫色部分。在使用时,我们通过一个比较器给出授权结果,流程如下:
1、器件上电,加载程序,进行FPGA配置。
2、读取FPGA DNA,并将其发送给加密算法。
3、加密算法生成有效的结果。
4、比较结果和存储的校验值,如果结果和存储的校验值相同,则程序可以正常运行。否则,禁止程序运行,或设置定时炸弹,破坏外部设备。
在这里即使DNA被外部用户读取获知,但由于加密算法是自己开发的,别人不知道,这就是整个安全流程的关键,一定要保密。算法是在FPGA架构内实现的,它只是FPGA内几百万个配置位中的少数几位,很难破解。
在这个基础上,还可以根据flash的ID,进一步的加密,如下图:
在FPGA Device DNA的基础上,再结合flash的ID进行二次验证加密,安全性会得到进一度的保障。
另外,在源头上,我们可以设置禁止程序回读的功能,以上几种方法,从硬件和软件上相结合,可以保证设计的安全性。
具体在程序实现时,流程图如下:
本文转载自: http://blog.chinaaet.com/GreatCause/p/5100053098,如涉及侵权,请私信小编删除。
============华 丽 的 分 割 线============
想加入我们FPGA学习交流群吗?可以长按或扫描以下二维码,审核通过后我们邀请您加入。
这些微信群旨在打造一个提供给FPGA工程开发人员及兴趣爱好者(统称“FPGAer”)进行技术交流、答疑解惑和学习的平台。而且我们也将会通过网络举办FPGA技术讲座,分享相关研究文献。
了解更多FPGA知识可以长按或扫描以下二维码关注“FPGAer俱乐部”。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。