一种FPGA动态重构密码算法组件的安全防护方法与流程
未命名
09-29
阅读:78
评论:0

一种fpga动态重构密码算法组件的安全防护方法
技术领域
1.本发明属于安全性防护领域,具体涉及一种fpga动态重构密码算法组件的安全防护方法。
背景技术:
2.随着密码学及密码学的应用发展,实现的密码算法集成电路已经广泛的应用于信息安全领域。密码算法集成电路中包含了电路配置文件(bit文件)和算法的实现代码及相关参数等敏感信息,一旦被不法分子获取利用,将严重损害相关系统的安全。因此,对实现的密码算法集成电路相关信息的保护尤为重要。
3.现场可编程逻辑阵列(fpga)芯片具有可以反复擦写的特性,fpga可重构技术在这个特性之上,采用分时复用的模式,让不同任务功能的位(bit)配置文件加载到fpga芯片上,使得同一个逻辑电路在不同时间段上加载不同的功能模块,并在fpga掉电后清除加载的功能模块。此技术可以变更fpga动态区域模块的功能,在单个芯片上实现多个功能电路,提升了fpga芯片的逻辑资源利用率,对密码算法组件也有较好的安全保护性。
4.现有常用的fpga配置方法是将逻辑功能对应的配置文件(bit文件)提前烧写在板级flash中,待上电后fpga主动从flash中读取配置文件完成功能加载。若板卡丢失或被窃取,包含保密要求的算法配置文件会被他人得到,通过复制电路加载窃取到的配置文件可完全复制电路逻辑功能。因此,需要一种能够对fpga中密码算法组件生成的动态配置文件进行加密防护的方法,本发明正是为满足这种现实需求而产生的。
技术实现要素:
5.(一)要解决的技术问题
6.本发明要解决的技术问题是如何提供一种fpga动态重构密码算法组件的安全防护方法,以解决若板卡丢失或被窃取,包含保密要求的算法配置文件会被他人得到,通过复制电路加载窃取到的配置文件可完全复制电路逻辑功能的问题。
7.(二)技术方案
8.为了解决上述技术问题,本发明提出一种fpga动态重构密码算法组件的安全防护方法,该方法包括如下步骤:
9.s1、在fpga中,将密码算法组件模块设置为动态区域,其他功能模块为静态区域,执行生成bit流操作,对应生成静态配置文件和动态配置文件;静态配置文件存储于fpga的配置flash中,并将动态配置文件使用对称加解密算法加密后存储在dsp的flash中,作为算法配置版本文件;
10.s2、算法配置文件解密:系统启动应用时,fpga从fpga的配置flash中读取静态配置文件完成静态功能的加载,在fpga静态功能已可用的基础上,主控dsp调用fpga静态区域实现的对称加解密算法的解密功能,对算法配置版本文件进行解密,得到原始动态配置文件;
11.s3、算法配置文件下发:主控dsp将原始动态配置文件通过fpga动态可重构接口icap2下发,实现密码算法组件模块的动态加载应用;当fpga掉电后,fpga中密码算法组件模块的配置文件和功能电路自动丢失。
12.进一步地,所述s1中,静态配置文件为静态位(bi t)配置文件1,即bi t.1文件。
13.进一步地,所述s1中,动态配置文件为动态位(bi t)配置文件2,即bi t.2文件。
14.进一步地,fpga上设置动态重构专用接口icap2,dsp将bit.2文件下发到动态重构专用接口icap2。
15.进一步地,所述步骤s2中,fpga静态功能已可用时,具备基础功能和对称密码算法的加解密功能。
16.进一步地,所述步骤s2中,对称加解密算法为sm4算法。
17.进一步地,板级上电时,fpga对应的密码算法组件模块功能正常调用工作,掉电后fpga密码算法组件模块的配置文件和功能自动丢失。
18.进一步地,在fpga网表文件布局布线中,将总体功能中的密码算法组件模块设置为动态区域,其他功能模块为静态区域。
19.本发明提供一种fpga动态重构密码算法组件的安全防护系统,该系统包括:主控数字信号处理器(dsp)模块、fpga和第一flash构成,fpga包括:fpga内部配置:icap2接口和静态区域,dsp内部包括第二flash;
20.dsp模块,用于调用fpga静态区域中的功能对密码算法组件对应的算法配置版本文件解密,完成后将得到的原始动态配置文件通过icap2接口下发到fpga,完成动态重构;dsp中的第二flash用于存储动态配置文件使用对称加解密算法加密后得到的算法配置版本文件;
21.第一flash,用于存储静态配置文件,并在初始化时就加载到fpga中的静态区域;
22.fpga,用于在fpga网表文件布局布线中,将总体功能中的密码算法组件模块设置为动态区域,其他功能模块为静态区域,执行生成bit流操作,对应生成静态配置文件和动态配置文件,静态配置文件存储于第一flash中,并将动态配置文件使用对称加解密算法(例如sm4)加密后存储于dsp的第二flash中,作为算法配置版本文件;在系统启动应用时,从第一flash中读取静态配置文件完成静态功能的加载;并通过icap2接口接收dsp模块下发的原始动态配置文件。
23.进一步地,fpga静态功能加载后,具备基础功能和对称密码算法的加解密功能。
24.(三)有益效果
25.本发明提出一种fpga动态重构密码算法组件的安全防护方法,本发明涉及一种现场可编程逻辑阵列(fpga)实现的密码算法组件的安全性防护方法,本发明采用fpga局部动态重构技术,对密码算法组件生成单独的动态配置文件进行分级加载配置,提高了密码算法组件的安全性。
附图说明
26.图1为本发明fpga动态重构密码算法组件的安全防护方法架构图;
27.图2为本发明fpga动态重构密码算法组件的区域划分图。
具体实施方式
28.为使本发明的目的、内容和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
29.本发明涉及安全性防护领域,通过现场可编程逻辑阵列(fpga)局部动态可重构技术,进行密码算法组件相关信息的安全防护。
30.本发明基于fpga的动态重构功能和掉电后配置文件清除的特性,提出一种安全防护方法,能够对fpga中密码算法组件生成的动态配置文件进行加密防护。
31.本发明以对现场可编程逻辑阵列(fpga)实现的密码算法组件的安全性保护为目的,结合fpga的动态可重构技术,实现了一种fpga动态重构密码算法组件的安全防护方法,该方法包括下列步骤:
32.s1、系统启动。在fpga网表文件布局布线中,将总体功能中的密码算法组件模块设置为动态区域,其他功能模块为静态区域,执行生成bit流操作,对应生成静态配置文件和动态配置文件,静态配置文件存储于fpga的配置flash中,并将动态配置文件使用对称加解密算法(例如sm4)加密后存储于dsp的flash中,作为算法配置版本文件。
33.进一步地,静态配置文件为静态位(bit)配置文件1,即bit.1文件;
34.进一步地,动态配置文件为动态位(bit)配置文件2,即bit.2文件。
35.s2、算法配置文件解密。系统启动应用时,fpga从fpga的配置flash中读取静态配置文件完成静态功能的加载。在fpga静态功能已可用的基础上,主控dsp调用fpga静态区域实现的对称加解密算法(例如sm4)的解密功能,对算法配置版本文件进行解密,得到原始动态配置文件。
36.进一步地,fpga静态功能已可用时,具备基础功能和对称密码算法的加解密功能。
37.s3、算法配置文件下发。主控dsp将原始动态配置文件通过fpga可重构接口icap2下发,实现密码算法组件模块的动态加载应用。当fpga掉电后,fpga中密码算法组件模块的配置文件和功能电路自动丢失。
38.以上整个fpga加载应用流程中,密码算法组件的相关信息为加密文件,即使别他人获取也很难破解,提高了fpga实现的密码算法组件的安全性。
39.本发明还提供一种fpga动态重构密码算法组件的安全防护系统,该系统包括:主控数字信号处理器(dsp)模块、fpga和第一flash构成,fpga包括:fpga内部配置:icap2接口和静态区域,dsp内部包括第二flash;
40.其中,
41.dsp模块,用于调用fpga静态区域中的功能对密码算法组件对应的算法配置版本文件解密,完成后将得到的原始动态配置文件通过icap2接口下发到fpga,完成动态重构;dsp中的第二flash用于存储动态配置文件使用对称加解密算法加密后得到的算法配置版本文件;
42.第一flash,用于存储静态配置文件,并在初始化时就加载到fpga中的静态区域;
43.fpga,用于在fpga网表文件布局布线中,将总体功能中的密码算法组件模块设置为动态区域,其他功能模块为静态区域,执行生成bit流操作,对应生成静态配置文件和动态配置文件,静态配置文件存储于第一flash中,并将动态配置文件使用对称加解密算法(例如sm4)加密后存储于dsp的第二flash中,作为算法配置版本文件;在系统启动应用时,
从第一flash中读取静态配置文件完成静态功能的加载;并通过icap2接口接收dsp模块下发的原始动态配置文件。
44.其中,fpga静态功能加载后,具备基础功能和对称密码算法的加解密功能。
45.实施例1:
46.如图2所示,本方法中,密码算法组件区域划分为:将总体功能中的密码算法组件模块设置为动态可重构区域,其他功能模块为静态区域,其他功能模块对应静态位(bit)配置文件1,即bit.1文件;密码算法组件模块对应动态位(bit)配置文件2,即bit.2文件。
47.如图1所示,本方法的实现步骤为:
48.(1)、系统启动。静态配置文件1烧写到fpga的闪存(flash)中,fpga上电自启动加载,此时fpga具备基础功能和对称密码算法(例如sm4)的加解密功能。
49.具体实施时,在fpga网表文件布局布线中,将总体功能中的密码算法组件模块设置为动态区域,其他功能模块为静态区域,执行生成bit流操作,对应生成静态配置文件和动态配置文件。并将动态配置文件使用对称加解密算法(例如sm4)加密后留存在dsp的flash中为算法配置版本文件。
50.(2)算法配置文件解密。主控dsp调用fpga静态模块中的对称密码算法sm4的解密功能,解密dsp的flash中的版本文件得到原始的动态bit配置文件2。
51.具体实施时,fpga从fpga的flash中读取静态配置文件完成静态功能的加载。在fpga静态功能已可用的基础上,主控dsp调用fpga静态区域实现的对称加解密算法sm4的解密功能,对dsp的flash中版本文件进行解密,得到原始动态配置文件。
52.(3)算法配置文件下发。dsp将动态bit配置文件2下发到动态重构专用接口(icap2),fpga实现局部动态可重构,在静态区域模块功能不变的情况下,加载动态区域的密码算法组件功能,实现总体模块功能。
53.具体实施时,将原始动态文件通过fpga可重构接口icap2下发,实现密码算法组件模块的加载应用。以后当fpga掉电后,fpga中密码算法组件模块的配置文件和功能电路自动丢失。
54.(4)算法配置文件掉电丢失。板级上电时,fpga对应的密码算法组件模块功能可正常调用工作,掉电后fpga密码算法组件模块的配置文件和功能自动丢失。
55.实施例2:
56.一种fpga动态重构密码算法组件的安全防护方法,所述方法的密码算法组件区域划分为:
57.将总体功能中的密码算法组件模块设置为动态可重构区域,其他功能模块为静态区域,其他功能模块对应静态位(bit)配置文件1,密码算法组件模块对应动态位(bi t)配置文件2。
58.一种fpga动态重构密码算法组件的安全防护方法,所述方法实现步骤为:
59.(1)系统启动。静态配置文件1烧写到fpga的闪存(flash)中,fpga上电自启动加载,此时fpga具备基础功能和对称密码算法的加解密功能。
60.(2)算法配置文件解密。主控dsp调用fpga静态模块中的对称密码算法sm4的解密功能,解密dsp的flash中的版本文件得到原始的动态bit配置文件2。
61.(3)算法配置文件下发。dsp将动态bit配置文件2下发到动态重构专用接口
(icap2),fpga实现局部动态可重构,在静态区域模块功能不变的情况下,加载动态区域的密码算法组件功能,实现总体模块功能。
62.(4)算法配置文件掉电丢失。板级上电时,fpga对应的密码算法组件模块功能可正常调用工作,掉电后fpga密码算法组件模块的配置文件和功能自动丢失。
63.本发明涉及一种现场可编程逻辑阵列(fpga)实现的密码算法组件的安全性防护方法,本发明采用fpga局部动态重构技术,对密码算法组件生成单独的动态配置文件进行分级加载配置,提高了密码算法组件的安全性。
64.以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
技术特征:
1.一种fpga动态重构密码算法组件的安全防护方法,其特征在于,该方法包括如下步骤:s1、在fpga中,将密码算法组件模块设置为动态区域,其他功能模块为静态区域,执行生成bit流操作,对应生成静态配置文件和动态配置文件;静态配置文件存储于fpga的配置flash中,并将动态配置文件使用对称加解密算法加密后存储在dsp的flash中,作为算法配置版本文件;s2、算法配置文件解密:系统启动应用时,fpga从fpga的配置flash中读取静态配置文件完成静态功能的加载,在fpga静态功能已可用的基础上,主控dsp调用fpga静态区域实现的对称加解密算法的解密功能,对算法配置版本文件进行解密,得到原始动态配置文件;s3、算法配置文件下发:主控dsp将原始动态配置文件通过fpga动态可重构接口icap2下发,实现密码算法组件模块的动态加载应用;当fpga掉电后,fpga中密码算法组件模块的配置文件和功能电路自动丢失。2.如权利要求1所述的fpga动态重构密码算法组件的安全防护方法,其特征在于,所述s1中,静态配置文件为静态位(bit)配置文件1,即bit.1文件。3.如权利要求1所述的fpga动态重构密码算法组件的安全防护方法,其特征在于,所述s1中,动态配置文件为动态位(bit)配置文件2,即bit.2文件。4.如权利要求3所述的fpga动态重构密码算法组件的安全防护方法,其特征在于,fpga上设置动态重构专用接口icap2,dsp将bit.2文件下发到动态重构专用接口icap2。5.如权利要求1所述的fpga动态重构密码算法组件的安全防护方法,其特征在于,所述步骤s2中,fpga静态功能已可用时,具备基础功能和对称密码算法的加解密功能。6.如权利要求1所述的fpga动态重构密码算法组件的安全防护方法,其特征在于,所述步骤s2中,对称加解密算法为sm4算法。7.如权利要求1所述的fpga动态重构密码算法组件的安全防护方法,其特征在于,板级上电时,fpga对应的密码算法组件模块功能正常调用工作,掉电后fpga密码算法组件模块的配置文件和功能自动丢失。8.如权利要求1所述的fpga动态重构密码算法组件的安全防护方法,其特征在于,在fpga网表文件布局布线中,将总体功能中的密码算法组件模块设置为动态区域,其他功能模块为静态区域。9.一种fpga动态重构密码算法组件的安全防护系统,其特征在于,该系统包括:主控数字信号处理器(dsp)模块、fpga和第一flash构成,fpga包括:fpga内部配置:icap2接口和静态区域,dsp内部包括第二flash;dsp模块,用于调用fpga静态区域中的功能对密码算法组件对应的算法配置版本文件解密,完成后将得到的原始动态配置文件通过icap2接口下发到fpga,完成动态重构;dsp中的第二flash用于存储动态配置文件使用对称加解密算法加密后得到的算法配置版本文件;第一flash,用于存储静态配置文件,并在初始化时就加载到fpga中的静态区域;fpga,用于在fpga网表文件布局布线中,将总体功能中的密码算法组件模块设置为动态区域,其他功能模块为静态区域,执行生成bit流操作,对应生成静态配置文件和动态配置文件,静态配置文件存储于第一flash中,并将动态配置文件使用对称加解密算法(例如
sm4)加密后存储于dsp的第二flash中,作为算法配置版本文件;在系统启动应用时,从第一flash中读取静态配置文件完成静态功能的加载;并通过icap2接口接收dsp模块下发的原始动态配置文件。10.如权利要求9所述的fpga动态重构密码算法组件的安全防护系统,其特征在于,fpga静态功能加载后,具备基础功能和对称密码算法的加解密功能。
技术总结
本发明涉及一种FPGA动态重构密码算法组件的安全防护方法,属于安全性防护领域。本发明由主控数字信号处理器(DSP)模块、静态配置文件存储加载闪存(FLASH)模块构成,FPGA包括:FPGA内部配置访问接口(ICAP2)动态重构接口模块和FPGA静态区域模块,DSP内部包括第二FLASH。其中,DSP模块调用FPGA静态区域功能对密码算法组件对应的动态配置文件解密,完成后下发到ICAP2接口,完成动态重构。ICAP2为FPGA局部动态重构专用接口,FLASH模块的静态配置文件在初始化时就加载到FPGA中,构成FPGA的静态区域模块。本发明采用FPGA局部动态重构技术,对密码算法组件生成单独的动态配置文件进行分级加载配置,提高了密码算法组件的安全性。性。性。
技术研发人员:王国强 张明明 赵博文 陈宗权 任凯琦 秦蕾 王东东
受保护的技术使用者:北京航天爱威电子技术有限公司
技术研发日:2023.06.26
技术公布日:2023/9/23
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/