CN110909317A - 通用的fpga存储程序的加密方法 - Google Patents
通用的fpga存储程序的加密方法 Download PDFInfo
- Publication number
- CN110909317A CN110909317A CN201911131262.0A CN201911131262A CN110909317A CN 110909317 A CN110909317 A CN 110909317A CN 201911131262 A CN201911131262 A CN 201911131262A CN 110909317 A CN110909317 A CN 110909317A
- Authority
- CN
- China
- Prior art keywords
- fpga
- dsp
- program
- storage program
- encryption
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 31
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
- G06F21/123—Restricting unauthorised execution of programs by using dedicated hardware, e.g. dongles, smart cards, cryptographic processors, global positioning systems [GPS] devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
- G06F21/79—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2107—File encryption
Abstract
本发明属于FPGA存储程序加密技术领域,具体涉及一种通用的FPGA存储程序的加密方法。与现有技术相比较,本发明用于防止FPGA存储程序被恶意拷贝、复制。本发明利用DSP和CPLD,将FPGA存储程序放在DSP的程序FLASH中,通过对DSP应用程序的加密,配合FPGA的被动加载模式,实现了对FPGA存储程序的加密功能,提升了FPGA存储程序的安全性。
Description
技术领域
本发明属于FPGA存储程序加密技术领域,具体涉及一种通用的FPGA存储程序的加密方法。
背景技术
目前FPGA基本上都是属于SRAM结构,其程序是通过JTAG口直接加载或者从外部FLASH加载到内部SRAM中运行的,由于FLASH本身无法加密,其存储程序可以直接被拷贝、复制,因此FPGA程序加密保护是开发者必须面临的一个问题。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:如何提供一种通用的FPGA存储程序的加密方法。
(二)技术方案
为解决上述技术问题,本发明提供一种通用的FPGA存储程序的加密方法,所述加密方法包括如下步骤:
步骤1:将FPGA存储程序设置在DSP应用程序文件中;
步骤2:通过加密模块对DSP应用程序文件进行加密;
步骤3:将加密后的DSP应用程序文件烧写到DSP程序FLASH中;由此,完成FPGA存储程序的加密。
其中,所述加密方法对应的FPGA存储程序的解密加载配置过程为:
步骤4:系统上电,DSP启动加载流程;
步骤5:CPLD按照约定好的解密方式,对存储在DSP程序FLASH中的DSP应用程序文件进行解密;
步骤6:DSP完成DSP应用程序文件的加载,并将FPGA存储程序存储在DSP的外挂SRAM中;
步骤7:DSP应用程序通过访问CPLD中的FPGA被动加载模块,将SRAM中的FPGA存储程序加载到FPGA,启动对FPGA的配置;
步骤8:FPGA配置完成。
其中,所述加密模块为设置于上位机中的加密模块。
其中,所述加密模块为设置于PC中的加密模块。
其中,所述CPLD所进行的解密方式与所述加密模块的加密方式相对应。
(三)有益效果
与现有技术相比较,本发明提供一种通用的FPGA存储程序的加密方法,防止FPGA存储程序被恶意拷贝、复制。本发明利用DSP和CPLD,将FPGA存储程序放在DSP的程序FLASH中,通过对DSP应用程序的加密,配合FPGA的被动加载模式,实现了对FPGA存储程序的加密功能,提升了FPGA存储程序的安全性。
附图说明
图1是系统架构图。
图2是解密加载配置的工作流程示意图。
具体实施方式
为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
为解决现有技术问题,本发明提供一种通用的FPGA存储程序的加密方法,所述加密方法利用DSP和CPLD,将FPGA存储程序作为DSP应用程序的一个文件,放到DSP的应用程序中,通过对DSP应用程序的加密,来实现对FPGA存储程序的加密功能;
具体的实现架构如图1所示,其中对DSP应用程序的加密在上位机/PC中通过加密模块来实现,然后将加密后的应用程序文件烧写到DSP程序FLASH中,应用程序的解密功能在CPLD中实现。
系统上电后,DSP的应用程序(包含有FPGA的程序文件)经过CPLD的解密模块后,加载到DSP,FPGA的程序文件存储到DSP外挂的SRAM中。应用程序加载完成后,DSP通过访问CPLD中的FPGA被动加载模块,将SRAM中的FPGA程序文件加载到FPGA中,实现对FPGA的配置。
具体而言,所述加密方法包括如下步骤:
步骤1:将FPGA存储程序设置在DSP应用程序文件中;
步骤2:通过加密模块对DSP应用程序文件进行加密;
步骤3:将加密后的DSP应用程序文件烧写到DSP程序FLASH中;由此,完成FPGA存储程序的加密。
其中,如图2所示,所述加密方法对应的FPGA存储程序的解密加载配置过程为:
步骤4:系统上电,DSP启动加载流程;
步骤5:CPLD按照约定好的解密方式,对存储在DSP程序FLASH中的DSP应用程序文件进行解密;
步骤6:DSP完成DSP应用程序文件的加载,并将FPGA存储程序存储在DSP的外挂SRAM中;
步骤7:DSP应用程序通过访问CPLD中的FPGA被动加载模块,将SRAM中的FPGA存储程序加载到FPGA,启动对FPGA的配置;
步骤8:FPGA配置完成。
其中,所述加密模块为设置于上位机中的加密模块。
其中,所述加密模块为设置于PC中的加密模块。
其中,所述CPLD所进行的解密方式与所述加密模块的加密方式相对应。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
Claims (9)
1.一种通用的FPGA存储程序的加密方法,其特征在于,所述加密方法包括如下步骤:
步骤1:将FPGA存储程序设置在DSP应用程序文件中;
步骤2:通过加密模块对DSP应用程序文件进行加密;
步骤3:将加密后的DSP应用程序文件烧写到DSP程序FLASH中;由此,完成FPGA存储程序的加密。
2.如权利要求1所述的通用的FPGA存储程序的加密方法,其特征在于,所述加密方法对应的FPGA存储程序的解密加载配置过程为:
步骤4:系统上电,DSP启动加载流程;
步骤5:CPLD按照约定好的解密方式,对存储在DSP程序FLASH中的DSP应用程序文件进行解密;
步骤6:DSP完成DSP应用程序文件的加载,并将FPGA存储程序存储在DSP的外挂SRAM中;
步骤7:DSP应用程序通过访问CPLD中的FPGA被动加载模块,将SRAM中的FPGA存储程序加载到FPGA,启动对FPGA的配置;
步骤8:FPGA配置完成。
3.如权利要求1所述的通用的FPGA存储程序的加密方法,其特征在于,所述加密模块为设置于上位机中的加密模块。
4.如权利要求1所述的通用的FPGA存储程序的加密方法,其特征在于,所述加密模块为设置于PC中的加密模块。
5.如权利要求1所述的通用的FPGA存储程序的加密方法,其特征在于,所述CPLD所进行的解密方式与所述加密模块的加密方式相对应。
6.如权利要求1所述的通用的FPGA存储程序的加密方法,其特征在于,所述步骤3中,FPGA存储程序存储在DSP程序FLASH中。
7.如权利要求1所述的通用的FPGA存储程序的加密方法,其特征在于,所述步骤6中,所述FPGA存储程序存储在DSP的存储器中。
8.如权利要求7所述的通用的FPGA存储程序的加密方法,其特征在于,所述步骤6中,所述FPGA存储程序存储在DSP的外挂SRAM中。
9.如权利要求1所述的通用的FPGA存储程序的加密方法,其特征在于,所述方法用于防止FPGA存储程序被恶意拷贝、复制。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911131262.0A CN110909317A (zh) | 2019-11-19 | 2019-11-19 | 通用的fpga存储程序的加密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911131262.0A CN110909317A (zh) | 2019-11-19 | 2019-11-19 | 通用的fpga存储程序的加密方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110909317A true CN110909317A (zh) | 2020-03-24 |
Family
ID=69818098
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911131262.0A Pending CN110909317A (zh) | 2019-11-19 | 2019-11-19 | 通用的fpga存储程序的加密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110909317A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114661170A (zh) * | 2022-04-29 | 2022-06-24 | 北京烽火万家科技有限公司 | 一种非侵入式专用脑机接口装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040016002A1 (en) * | 2000-07-13 | 2004-01-22 | Doron Handelman | Configurable hardware system |
CN101901156A (zh) * | 2010-07-26 | 2010-12-01 | 四川九洲电器集团有限责任公司 | 一种处理器应用程序动态加载方法及其系统 |
CN206021242U (zh) * | 2016-05-25 | 2017-03-15 | 成都远望科技有限责任公司 | 基于cpld控制的fpga程序配置及固件加密系统 |
CN106843955A (zh) * | 2017-01-17 | 2017-06-13 | 西安电子科技大学 | 基于文件压缩及非接触式的fpga动态配置方法 |
CN109144932A (zh) * | 2018-08-03 | 2019-01-04 | 中国航空工业集团公司雷华电子技术研究所 | 一种基于dsp的快速动态配置fpga的装置及方法 |
CN208445567U (zh) * | 2018-05-21 | 2019-01-29 | 全球能源互联网研究院有限公司 | 一种用于监测电力扰动的管理主板及装置 |
-
2019
- 2019-11-19 CN CN201911131262.0A patent/CN110909317A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040016002A1 (en) * | 2000-07-13 | 2004-01-22 | Doron Handelman | Configurable hardware system |
CN101901156A (zh) * | 2010-07-26 | 2010-12-01 | 四川九洲电器集团有限责任公司 | 一种处理器应用程序动态加载方法及其系统 |
CN206021242U (zh) * | 2016-05-25 | 2017-03-15 | 成都远望科技有限责任公司 | 基于cpld控制的fpga程序配置及固件加密系统 |
CN106843955A (zh) * | 2017-01-17 | 2017-06-13 | 西安电子科技大学 | 基于文件压缩及非接触式的fpga动态配置方法 |
CN208445567U (zh) * | 2018-05-21 | 2019-01-29 | 全球能源互联网研究院有限公司 | 一种用于监测电力扰动的管理主板及装置 |
CN109144932A (zh) * | 2018-08-03 | 2019-01-04 | 中国航空工业集团公司雷华电子技术研究所 | 一种基于dsp的快速动态配置fpga的装置及方法 |
Non-Patent Citations (3)
Title |
---|
刘发志;张东;杨艳;朱晓鼎;: "基于DM642自启动的FLASH烧写原理研究及实现" * |
陈曦: "一种可靠的 FPGA 动态配置方法及实现" * |
黄振: "基于CPLD的多DSP及FPGA远程加载设计" * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114661170A (zh) * | 2022-04-29 | 2022-06-24 | 北京烽火万家科技有限公司 | 一种非侵入式专用脑机接口装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI690822B (zh) | 安全區之平台遷移 | |
US10019601B2 (en) | Method and apparatus for securely saving and restoring the state of a computing platform | |
CN104995627B (zh) | 片上系统设备中的密钥撤消 | |
CN106462708B (zh) | 认证变量的管理方法和装置 | |
US8725702B1 (en) | Systems and methods for repairing system files | |
KR102102090B1 (ko) | Arm® trustzone™ 구현을 위한 펌웨어 기반 신뢰 플랫폼 모듈 | |
TWI576698B (zh) | 跨電源週期維持安全處理環境 | |
CN103617401B (zh) | 一种数据文件保护方法及装置 | |
CN103914658A (zh) | 终端设备的安全启动方法及终端设备 | |
JP5733789B2 (ja) | データ保護処理プログラム | |
CN105205401A (zh) | 基于安全密码芯片的可信计算机系统及其可信引导方法 | |
DE102018126731A1 (de) | Freigabeanweisung, um Seitenblock während des Auslagerns umzukehren | |
CN1761923A (zh) | 加密数据库列的方法和设备 | |
CN102708326A (zh) | 一种涉密文件的保护方法 | |
CN102298529B (zh) | 为系统提供硅集成代码 | |
TW201535145A (zh) | 使用保護讀取儲存器安全地儲存韌體數據之系統及方法 | |
US20060218649A1 (en) | Method for conditional disclosure of identity information | |
US20170357817A1 (en) | File system metadata protection | |
US9292664B2 (en) | Key injection tool | |
US10848305B2 (en) | Key generation information trees | |
CN104715209A (zh) | 一种外发文档加密保护方法 | |
CN102495986A (zh) | 计算机系统中实现避免加密数据被盗用的调用控制方法 | |
WO2023273994A1 (zh) | 智能合约执行的方法、系统、装置和存储介质 | |
CN102456111A (zh) | 一种Linux操作系统许可控制的方法及系统 | |
CN105303074A (zh) | 一种保护Web应用程序安全的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |