CN109829325A - 一种部分重配置文件加密方法、系统、fpga及可读存储介质 - Google Patents

一种部分重配置文件加密方法、系统、fpga及可读存储介质 Download PDF

Info

Publication number
CN109829325A
CN109829325A CN201910168085.7A CN201910168085A CN109829325A CN 109829325 A CN109829325 A CN 109829325A CN 201910168085 A CN201910168085 A CN 201910168085A CN 109829325 A CN109829325 A CN 109829325A
Authority
CN
China
Prior art keywords
file
partial reconfiguration
reconfiguration file
fpga
encrypted
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
CN201910168085.7A
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.)
Suzhou Wave Intelligent Technology Co Ltd
Original Assignee
Suzhou Wave Intelligent Technology Co Ltd
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 Suzhou Wave Intelligent Technology Co Ltd filed Critical Suzhou Wave Intelligent Technology Co Ltd
Priority to CN201910168085.7A priority Critical patent/CN109829325A/zh
Publication of CN109829325A publication Critical patent/CN109829325A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

本申请公开了一种部分重配置文件加密方法、系统、FPGA及计算机可读存储介质,应用于FPGA,包括:接收外部加密设备发送的加密部分重配置文件;获取FPGA芯片的ID序列号,利用ID序列号作为解密密钥对加密部分重配置文件进行解密,得到解密后的部分重配置文件;其中,加密部分重配置文件为外部加密设备利用FPGA芯片的ID序列号对部分重配置文件进行加密得到的;本申请无需单独设置解密密钥,而是利用FPGA芯片的ID序列号进行加密,并作为解密密钥进行解密,不用设置单独存储解密密钥的存储电路,解密密钥直接可以从FPGA芯片中获取得到,同时避免了单独存储解密密钥的存储电路会发生掉电导致数据丢失的可能性,简化了电路结构,提高了可靠性。

Description

一种部分重配置文件加密方法、系统、FPGA及可读存储介质
技术领域
本发明涉及集成电路领域,特别涉及一种部分重配置文件加密方法、系统、FPGA及计算机可读存储介质。
背景技术
FPGA(Field Programmable Gate Array,现场可编程与门阵列)部分重配置(Partial Reconfiguration,PR)是一种能够动态地重新配置FPGA内的部分重配置区域的加载技术,利用这种技术能够在不影响其他区域正常工作的条件下,重新下载部分重配置区域的配置文件,实现切换不同业务的功能。这种技术非常适用于时分复用FPGA内部硬件资源来实现不同功能的复杂系统,能够有效地降低系统实现的硬件资源开销。如图1所示,将FPGA芯片内A(PR Region A)、B(PR Region B)两个区域设置为部分重配置区域,其余为静态区域,A区域可以在不影响B区域模块的正常工作情况下重新配置为PR Persona A1、PRPersona A2和PR Persona A3模块,实现切换A区域内所跑业务的功能。
对于支持部分重配置技术的FPGA,如Intel的A10系列芯片和Xilinx的VU9P,实现部分重配置文件的加密功能,需要依赖整个FPGA的配置文件的加密系统,需要考虑密钥和加密配置文件的存储问题,尤其是加密密钥一般需要存放在FPGA内部eFUSE区域或者易失存储区域,一旦发生掉电将导致密钥的丢失,造成无法解密。
为此,需要一种部分重配置文件加密方法避免掉电导致的密钥丢失,提高系统的可靠性。
发明内容
有鉴于此,本发明的目的在于提供一种部分重配置文件加密方法、系统、FPGA及计算机可读存储介质,避免掉电导致的密钥丢失,提高系统的可靠性。其具体方案如下:
一种部分重配置文件加密方法,应用于FPGA,包括:
接收外部加密设备发送的加密部分重配置文件;
获取FPGA芯片的ID序列号,利用所述ID序列号作为解密密钥对所述加密部分重配置文件进行解密,得到解密后的部分重配置文件;
其中,所述加密部分重配置文件为所述外部加密设备利用所述FPGA芯片的所述ID序列号对所述部分重配置文件进行加密得到的。
可选的,还包括:
接收所述外部加密设备发送的与所述加密部分重配置文件对应的配置请求;
利用所述配置请求,将所述部分重配置文件配置至所述配置请求中记载的部分重配置区域。
可选的,所述将所述部分重配置文件配置至所述配置请求中记载的配置区域的过程,包括:
复位所述部分重配置区域的所有信号,将所述部分重配置文件按行传输至所述部分重配置区域。
可选的,所述得到解密后的部分重配置文件之后,还包括:
对所述部分重配置文件逐行进行CRC校验;
当出现校验错误,则终止配置。
本发明还公开了一种部分重配置文件加密系统,应用于FPGA,包括:
接收模块,用于接收外部加密设备发送的加密部分重配置文件;
解密模块,用于获取FPGA芯片的ID序列号,利用所述ID序列号作为解密密钥对所述加密部分重配置文件进行解密,得到解密后的部分重配置文件;
其中,所述加密部分重配置文件为所述外部加密设备利用所述FPGA芯片的所述ID序列号对所述部分重配置文件进行加密得到的。
可选的,还包括:
配置请求接收模块,用于接收所述外部加密设备发送的与所述加密部分重配置文件对应的配置请求;
配置模块,用于利用所述配置请求,将所述部分重配置文件配置至所述配置请求中记载的部分重配置区域。
本发明还公开了一种FPGA,包括:
接收接口,用于与外部加密设备相连,接收所述外部加密设备发送的加密部分重配置文件;
与所述接收接口相连的解密电路,用于调用FPGA芯片,获取所述FPGA芯片的ID序列号,利用所述ID序列号作为解密密钥对所述加密部分重配置文件进行解密,得到解密后的部分重配置文件;
其中,所述加密部分重配置文件为所述外部加密设备利用所述FPGA芯片的所述ID序列号对所述部分重配置文件进行加密得到的。
可选的,还包括:
与所述解密电路连接的重配置模块,用于接收所述外部加密设备发送的与所述加密部分重配置文件对应的配置请求;利用所述配置请求,将所述部分重配置文件配置至所述配置请求中记载的部分重配置区域。
可选的,所述解密电路设置在FPGA的静态区域。
本发明还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前述的部分重配置文件加密方法。
本发明中,部分重配置文件加密方法,应用于FPGA,包括:接收外部加密设备发送的加密部分重配置文件;获取FPGA芯片的ID序列号,利用ID序列号作为解密密钥对加密部分重配置文件进行解密,得到解密后的部分重配置文件;其中,加密部分重配置文件为外部加密设备利用FPGA芯片的ID序列号对部分重配置文件进行加密得到的。
本发明无需单独设置解密密钥,而是利用FPGA芯片的ID序列号进行加密,并作为解密密钥进行解密,不用设置单独存储解密密钥的存储电路,解密密钥直接可以从FPGA芯片中获取得到,同时避免了单独存储解密密钥的存储电路会发生掉电导致数据丢失的可能性,简化了电路结构,提高了可靠性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为现有技术中FPGA部分重配置区域示意图;
图2为本发明实施例公开的一种部分重配置文件加密方法流程示意图;
图3为本发明实施例公开的一种部分重配置文件加密系统结构示意图;
图4为本发明实施例公开的一种FPGA结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种部分重配置文件加密方法,参见图2所示,应用于FPGA,该方法包括:
S11:接收外部加密设备发送的加密部分重配置文件;
S12:获取FPGA芯片的ID序列号,利用ID序列号作为解密密钥对加密部分重配置文件进行解密,得到解密后的部分重配置文件。
具体的,外部加密设备预先获取FPGA芯片的ID序列号,因此,可以利用相应的加密算法,利用FPGA芯片的ID序列号对部分重配置文件进行加密,从而得到加密部分重配置文件,得到加密部分重配置文件后,外部加密设备便发送加密部分重配置文件至本地,以进行后续配置。
具体的,因加密部分重配置文件为利用FPGA芯片的ID序列号进行加密的,所以通过从本地FPGA芯片中获取FPGA芯片的ID序列号作为解密密钥,结合相应的解密算法,便可以对加密部分重配置文件进行解密,从而得到解密后的部分重配置文件。
可见,本发明实施例无需单独设置解密密钥,而是利用FPGA芯片的ID序列号进行加密,并作为解密密钥进行解密,不用设置单独存储解密密钥的存储电路,解密密钥直接可以从FPGA芯片中获取得到,同时避免了单独存储解密密钥的存储电路会发生掉电导致数据丢失的可能性,简化了电路结构,提高了可靠性。
本发明实施例公开了一种具体的部分重配置文件加密方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。具体的:
具体的,本发明实施例中,在前述S12之后还可以包括S13和S14;其中,
S13:接收外部加密设备发送的与加密部分重配置文件对应的配置请求。
可以理解的是,在接收外部加密设备发送的加密部分重配置文件同时,还可以接收相应的配置请求,配置请求用于告知FPGA加密部分重配置文件的目标配置区域,以便后续解密后能够将部分重配置文件配置至相应的部分重配置区域,例如,FPGA包括A和B两个重配置区域,配置请求中可以记载配置B区域中的B2模块,则后续会将部分重配置文件配置到B区域中的B2模块中。
其中,配置请求独立于加密部分重配置文件,通常配置请求和加密部分重配置文件同时发送至FPGA,配置请求可以不用加密。
S14:利用配置请求,将部分重配置文件配置至配置请求中记载的部分重配置区域。
具体的,依据配置请求中记载的部分重配置文件需配置的部分重配置区域,对该部分重配置区域利用部分重配置文件进行配置,从而完成最后的配置工作。
具体的,其中,配置过程包括复位部分重配置区域的所有信号,将部分重配置文件按行传输至部分重配置区域。
具体的,为确保部分重配置文件正确,没有数据丢失或损坏,避免出现配置错误,在通过解密后得到部分重配置文件后,对部分重配置文件逐行进行CRC校验;当出现校验错误,则终止配置;同时,为便于用户掌握配置进度,在配置时,可以生成重配置标志,用于表明当前正在进行重配置,当遇到错误后,则可以生成配置错误标志替换重配置标志,用于表明配置过程中出现错误,需要终止配置,当然,配置完成后,可以复位重配置标志,表明配置结束。
相应的,本发明实施例还公开了一种部分重配置文件加密系统,参见图3所示,应用于FPGA,包括:
接收模块11,用于接收外部加密设备发送的加密部分重配置文件;
解密模块12,用于获取FPGA芯片的ID序列号,利用ID序列号作为解密密钥对加密部分重配置文件进行解密,得到解密后的部分重配置文件;
其中,加密部分重配置文件为外部加密设备利用FPGA芯片的ID序列号对部分重配置文件进行加密得到的。
具体的,还可以包括配置请求接收模块和配置模块;其中,
配置请求接收模块,用于接收外部加密设备发送的配置请求;
配置模块,用于利用配置请求,将部分重配置文件配置至配置请求中记载的部分重配置区域。
具体的,上述配置模块,可以具体用于利用配置请求,复位部分重配置区域的所有信号,将部分重配置文件按行传输至部分重配置区域。
具体的,还可以包括校验模块和终止模块;其中,
校验模块,用于对部分重配置文件逐行进行CRC校验;
终止模块,用于当出现校验错误,则终止配置。
此外,本发明实施例还公开了一种FPGA,参见图4所示,包括:
接收接口1,用于与外部加密设备6相连,接收外部加密设备6发送的加密部分重配置文件;
与接收接口1相连的解密电路2,用于调用FPGA芯片5,获取FPGA芯片5的ID序列号,利用ID序列号作为解密密钥对加密部分重配置文件进行解密,得到解密后的部分重配置文件;
其中,加密部分重配置文件为外部加密设备6利用FPGA芯片5的ID序列号对部分重配置文件进行加密得到的。
具体的,还可以包括与解密电路2连接的重配置模块3,用于接收外部加密设备6发送的配置请求;利用配置请求,将部分重配置文件配置至配置请求中记载的部分重配置区域4。
可以理解的是,配置请求是由外部加密设备6通过接收接口1和解密电路2发送至重配置模块3中的。
其中,重配置模块3还可以具体用于利用配置请求,复位部分重配置区域的所有信号,将部分重配置文件按行传输至部分重配置区域。
具体的,重配置模块3还可以包括校验单元和终止单元;其中,
校验单元,用于对部分重配置文件逐行进行CRC校验;
终止单元,用于当出现校验错误,则终止配置。
进一步的,前述解密电路2可以设置在FPGA的静态区域7,以确保加密部分重配置文件在传输进FPGA芯片5里之前都是加密状态,可以最大限度地保持重配置文件的安全性。
具体的,接收接口1可以为PCIe网络接口,通过PCIe网络通道实现FPGA与外部加密设备6的通讯。
另外,本发明实施例还公开了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如前述的部分重配置文件加密方法。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
以上对本发明所提供的一种部分重配置文件加密方法、系统、FPGA及计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种部分重配置文件加密方法,其特征在于,应用于FPGA,包括:
接收外部加密设备发送的加密部分重配置文件;
获取FPGA芯片的ID序列号,利用所述ID序列号作为解密密钥对所述加密部分重配置文件进行解密,得到解密后的部分重配置文件;
其中,所述加密部分重配置文件为所述外部加密设备利用所述FPGA芯片的所述ID序列号对所述部分重配置文件进行加密得到的。
2.根据权利要求1所述的部分重配置文件加密方法,其特征在于,还包括:
接收所述外部加密设备发送的与所述加密部分重配置文件对应的配置请求;
利用所述配置请求,将所述部分重配置文件配置至所述配置请求中记载的部分重配置区域。
3.根据权利要求2所述的部分重配置文件加密方法,其特征在于,所述将所述部分重配置文件配置至所述配置请求中记载的配置区域的过程,包括:
复位所述部分重配置区域的所有信号,将所述部分重配置文件按行传输至所述部分重配置区域。
4.根据权利要求3所述的部分重配置文件加密方法,其特征在于,所述得到解密后的部分重配置文件之后,还包括:
对所述部分重配置文件逐行进行CRC校验;
当出现校验错误,则终止配置。
5.一种部分重配置文件加密系统,其特征在于,应用于FPGA,包括:
接收模块,用于接收外部加密设备发送的加密部分重配置文件;
解密模块,用于获取FPGA芯片的ID序列号,利用所述ID序列号作为解密密钥对所述加密部分重配置文件进行解密,得到解密后的部分重配置文件;
其中,所述加密部分重配置文件为所述外部加密设备利用所述FPGA芯片的所述ID序列号对所述部分重配置文件进行加密得到的。
6.根据权利要求5所述的部分重配置文件加密系统,其特征在于,还包括:
配置请求接收模块,用于接收所述外部加密设备发送的与所述加密部分重配置文件对应的配置请求;
配置模块,用于利用所述配置请求,将所述部分重配置文件配置至所述配置请求中记载的部分重配置区域。
7.一种FPGA,其特征在于,包括:
接收接口,用于与外部加密设备相连,接收所述外部加密设备发送的加密部分重配置文件;
与所述接收接口相连的解密电路,用于调用FPGA芯片,获取所述FPGA芯片的ID序列号,利用所述ID序列号作为解密密钥对所述加密部分重配置文件进行解密,得到解密后的部分重配置文件;
其中,所述加密部分重配置文件为所述外部加密设备利用所述FPGA芯片的所述ID序列号对所述部分重配置文件进行加密得到的。
8.根据权利要求7所述的FPGA,其特征在于,还包括:
与所述解密电路连接的重配置模块,用于接收所述外部加密设备发送的与所述加密部分重配置文件对应的配置请求;利用所述配置请求,将所述部分重配置文件配置至所述配置请求中记载的部分重配置区域。
9.根据权利要求7所述的FPGA,其特征在于,所述解密电路设置在FPGA的静态区域。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述的部分重配置文件加密方法。
CN201910168085.7A 2019-03-06 2019-03-06 一种部分重配置文件加密方法、系统、fpga及可读存储介质 Pending CN109829325A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910168085.7A CN109829325A (zh) 2019-03-06 2019-03-06 一种部分重配置文件加密方法、系统、fpga及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910168085.7A CN109829325A (zh) 2019-03-06 2019-03-06 一种部分重配置文件加密方法、系统、fpga及可读存储介质

Publications (1)

Publication Number Publication Date
CN109829325A true CN109829325A (zh) 2019-05-31

Family

ID=66865493

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910168085.7A Pending CN109829325A (zh) 2019-03-06 2019-03-06 一种部分重配置文件加密方法、系统、fpga及可读存储介质

Country Status (1)

Country Link
CN (1) CN109829325A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110515888A (zh) * 2019-08-09 2019-11-29 苏州浪潮智能科技有限公司 Fpga部分重配置实现方法、装置及电子设备和存储介质
CN110659510A (zh) * 2019-09-12 2020-01-07 苏州浪潮智能科技有限公司 一种配置文件解密方法、装置、设备及可读存储介质
CN110688651A (zh) * 2019-09-25 2020-01-14 支付宝(杭州)信息技术有限公司 基于fpga实现状态更新的方法及装置
CN118413391A (zh) * 2024-06-26 2024-07-30 合众新能源汽车股份有限公司 智驾控制器的预制文件加解密的方法、系统、设备及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103493062A (zh) * 2011-04-29 2014-01-01 阿尔特拉公司 用于保护可编程器件的编程数据的方法和装置
CN103577741A (zh) * 2013-03-13 2014-02-12 深圳市振华微电子有限公司 一种usb外设
US20150188718A1 (en) * 2013-12-27 2015-07-02 Rainer Falk Providing a Cryptographic Key

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103493062A (zh) * 2011-04-29 2014-01-01 阿尔特拉公司 用于保护可编程器件的编程数据的方法和装置
CN103577741A (zh) * 2013-03-13 2014-02-12 深圳市振华微电子有限公司 一种usb外设
US20150188718A1 (en) * 2013-12-27 2015-07-02 Rainer Falk Providing a Cryptographic Key

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110515888A (zh) * 2019-08-09 2019-11-29 苏州浪潮智能科技有限公司 Fpga部分重配置实现方法、装置及电子设备和存储介质
CN110659510A (zh) * 2019-09-12 2020-01-07 苏州浪潮智能科技有限公司 一种配置文件解密方法、装置、设备及可读存储介质
CN110688651A (zh) * 2019-09-25 2020-01-14 支付宝(杭州)信息技术有限公司 基于fpga实现状态更新的方法及装置
CN118413391A (zh) * 2024-06-26 2024-07-30 合众新能源汽车股份有限公司 智驾控制器的预制文件加解密的方法、系统、设备及介质

Similar Documents

Publication Publication Date Title
CN109829325A (zh) 一种部分重配置文件加密方法、系统、fpga及可读存储介质
EP3603142B1 (en) Virtual sim with multiple mobile network operator profiles for operating over multiple wireless ip networks
KR101631977B1 (ko) 링크 실패를 복구하는 방법 및 장치
EP3592014A1 (en) Method for adding authentication algorithm program, and related device and system
CN109729096A (zh) 移动通信方法、装置及设备
US10951615B1 (en) Wireless network access for data appliances
CN108471319B (zh) 基站、射频拉远单元及其主板、射频子卡和通道自建方法
CN110099064A (zh) 一种基于物联网的文件处理方法、装置、设备和存储介质
US11129017B2 (en) System and method for security activation with session granularity
JP7043497B2 (ja) eSIMプロファイルを設置及び管理する方法及び装置
CN107948170A (zh) 接口请求参数加密方法、装置、设备及可读存储介质
CN112769773B (zh) 一种基于国密算法的铁路安全通信协议仿真系统
CN112883388A (zh) 文件加密方法及装置、存储介质、电子装置
CN113302958B (zh) 一种通信方法及装置
EP4145320A1 (en) Electronic chip and a method for provisioning such an electronic chip
CN107277813A (zh) 一种单向无线网络安全隔离传输系统和方法
US20180175913A1 (en) Provisioning devices using near-field communication
CN109726564B (zh) 应用于加密机的信息处理方法及信息处理系统
US20070054662A1 (en) Reconfigurable radio system with error recognition and treatment
CN110602693A (zh) 无线网络的组网方法和设备
CN112134831A (zh) 接入请求的发送、处理方法及装置
WO2020104023A1 (en) Packet data unit (pdu) session continuity in ultra-reliable low-latency communications (urllc) scenarios
CN108279855A (zh) 一种读写存储设备的方法
CN108307683B (zh) 通讯方法、微基站、微基站控制器、终端和系统
CN113965444B (zh) 一种家庭网关的远程恢复方法和装置

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20190531