CN110909317A - 通用的fpga存储程序的加密方法 - Google Patents

通用的fpga存储程序的加密方法 Download PDF

Info

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
Application number
CN201911131262.0A
Other languages
English (en)
Inventor
邢立佳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tianjin Jinhang Computing Technology Research Institute
Original Assignee
Tianjin Jinhang Computing Technology Research Institute
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tianjin Jinhang Computing Technology Research Institute filed Critical Tianjin Jinhang Computing Technology Research Institute
Priority to CN201911131262.0A priority Critical patent/CN110909317A/zh
Publication of CN110909317A publication Critical patent/CN110909317A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/123Restricting unauthorised execution of programs by using dedicated hardware, e.g. dongles, smart cards, cryptographic processors, global positioning systems [GPS] devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting 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/79Protecting 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing 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/2107File encryption

Abstract

本发明属于FPGA存储程序加密技术领域,具体涉及一种通用的FPGA存储程序的加密方法。与现有技术相比较,本发明用于防止FPGA存储程序被恶意拷贝、复制。本发明利用DSP和CPLD,将FPGA存储程序放在DSP的程序FLASH中,通过对DSP应用程序的加密,配合FPGA的被动加载模式,实现了对FPGA存储程序的加密功能,提升了FPGA存储程序的安全性。

Description

通用的FPGA存储程序的加密方法
技术领域
本发明属于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存储程序被恶意拷贝、复制。
CN201911131262.0A 2019-11-19 2019-11-19 通用的fpga存储程序的加密方法 Pending CN110909317A (zh)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114661170A (zh) * 2022-04-29 2022-06-24 北京烽火万家科技有限公司 一种非侵入式专用脑机接口装置

Citations (6)

* Cited by examiner, † Cited by third party
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 全球能源互联网研究院有限公司 一种用于监测电力扰动的管理主板及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
刘发志;张东;杨艳;朱晓鼎;: "基于DM642自启动的FLASH烧写原理研究及实现" *
陈曦: "一种可靠的 FPGA 动态配置方法及实现" *
黄振: "基于CPLD的多DSP及FPGA远程加载设计" *

Cited By (1)

* Cited by examiner, † Cited by third party
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