更多精彩内容,请微信搜索“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俱乐部”。

Xilinx FPGA的程序加密方法相关推荐

  1. FPGA的EPCS 配置的2种方法 FPGA下载程序的方法(EPCS)

    使用主动串行配置模式对Cyclone FPGA进行配置前,必须将配置文件写入串行配置器件EPCS.将配置文件写入EPCS的方法有三种: (1)在Quartus II的Programmer中,通过专门与 ...

  2. .net 程序加密方法

    .net 程序加密,一般是对生成的exe文件或者dll直接进行加壳,配合加密锁或者许可进行授权控制,既能保证安全性,又控制软件的使用. 加壳工具的选择 一般要考虑几点,第一是加壳的安全性,不能被轻易脱 ...

  3. vivado中bit文件怎么没有生成_Xilinx FPGA bit 文件加密

    大侠好,欢迎来到FPGA技术江湖,江湖偌大,相见即是缘分.大侠可以关注FPGA技术江湖,在"闯荡江湖"."行侠仗义"栏里获取其他感兴趣的资源,或者一起煮酒言欢. ...

  4. 【STM32+cubemx】0025 HAL库开发:唯一ID获取和简单的程序加密

    1)STM32芯片的唯一ID简介 STM32内部有一个96bit的产品唯一ID,在出厂被固化在芯片中,是不能修改的,而且每个芯片不同,可以作为芯片的身份标识. STM32不同系列的ID起始地址不同,如 ...

  5. 四、在Xilinx FPGA上使用Cortex M1 软核——固化Cortex-M1程序

    在Xilinx FPGA上使用Cortex M1 软核--固化Cortex-M1程序 本文的硬件(FPGA)工程和软件代码.脚本均参考ARM提供的例程. 本文使用的FPGA工程: https://do ...

  6. 如何对xilinx FPGA进行bit文件加密

    项目终于搞完了,到了发布的关键节点,为了防止自己的心血被别人利用,最好对产品进行bit加密. 加密的优点 xilinx的V6和7全系列FPGA支持AES256加密,加密的好处: 1,可以防止别人回读或 ...

  7. 单片机c语言程序为什么要加密,(转老贴)单片机加密方法简介:

    科研成果保护是每一个科研人员最关心的事情, 目的不使自己的辛苦劳动付注东流加密方法有软件加密, 硬件加密, 软硬件综合加密, 时间加密, 错误引导加密, 专利保护等措施有矛就有盾, 有盾就有矛, 有矛 ...

  8. 网站安全之ASP程序加密解密方法全面解析

    如今,用ASP技术构建的网站随处可见.由于ASP脚本是在服务器上解释执行的(无法编译),因此你辛苦开发出来的ASP代码,很容易被人拷去任意修改,如何保护ASP源代码呢?这是每个ASP站长都会遇到的难题 ...

  9. Xilinx FPGA单端时钟设计方法

    1.1 Xilinx FPGA单端时钟设计方法 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)Xilinx FPGA单端时钟设计方法: 5)结束语. 1.1.2 本节引 ...

最新文章

  1. 【JavaScript 1—基础知识点】:宏观概述
  2. CG CTF WEB 变量覆盖
  3. Android上试用Linphone(Free SIP VOIP Client)
  4. 【虚拟化实战】存储设计之一存储类型
  5. python哪几种开源框架成为大主流【菜鸟必看】
  6. 2月份全球制造业PMI为55.6% 已连续8个月保持在50%以上
  7. 白酒板块集体杀跌,我是不是该卖出手中的白酒基金了?
  8. [Java] 蓝桥杯 BEGIN-4 入门训练 Fibonacci数列
  9. Docker组队学习(二)
  10. JSP-页面实现自动跳转!
  11. sql server从数据库导出导入教程
  12. EXCEL 连接符的使用
  13. 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_09 序列化流_5_InvalidClassException异常_原理...
  14. Spring Boot layered(分层) jar 构建docker镜像
  15. 微信开发带参数的二维码
  16. A股将迎来一大波新经济公司:几家欢喜几家愁
  17. 开篇 | 想成为技术牛人?先搞定网络协议!
  18. UE4 将项目压缩成最小的Zip压缩包
  19. 关于 continue 用法
  20. Servlet 01

热门文章

  1. Android获取GPS网络定位经纬度信息
  2. 遥感高光谱图像分类数据集总结
  3. 如何在智能手机上找到跟踪器
  4. 游戏项目的技术开发成本
  5. 计算机办公软件应用实训,计算机专业职业教育实训系列教材:Office 2007办公软件实训教程...
  6. Windows 系统右键菜单假死问题解决一例
  7. 杰理AC690X系列---EQ工具的使用(8)
  8. YOLOv3物体/目标检测之实战篇(Windows系统、Python3、TensorFlow2版本)
  9. 【异常】Required request parameter ‘xxx‘ for method parameter type xxxx is not present
  10. 实现一个Android电子书阅读APP