一种FPGA固件在线加密升级系统及方法与流程

未命名 08-05 阅读:130 评论:0

一种fpga固件在线加密升级系统及方法
技术领域
1.本发明涉及固件升级领域,具体涉及一种fpga固件在线加密升级系统及方法。


背景技术:

2.在数据隐私安全通信领域中,用户终端信息的安全隔离与保护是至关重要。fpga因其高速信息处理能力,在信息传输、协议解析等信息处理方面发挥着极其重要的作用。fpga可实现用户隐私区工作空间与外界信息的安全隔离,有效保护用户的隐私信息。
3.fpga作为硬件设备中的关键信息处理单元,通常会根据用户的业务需求进行相应的升级调整。目前,fpga的升级因硬件平台的差异,主要包括以下三种方法:jtag升级、主动升级及被动升级。
4.jtag升级:通过jtag接口,使用下载器直接烧写,不需要消耗其他额外的软硬件资源,但其下载速度相对较慢,且需要引出jtag接口,在某些无法连接jtag下载器的场景下,是无法实现远程在线升级的。
5.主动升级:fpga主动将固件写入到外部的flash中,fpga上电后内部固化的引导程序是从flash中加载固件的,这种方法不仅需要使用到fpga内部的逻辑资源,还和fpga自身的相关性也较大,有的fpga甚至不支持此方法。
6.被动升级:fpga常见升级方法,借助外部的微控制器,直接或间接的将固件烧写到fpga外部的固件存储器中,从而实现fpga的固件升级。
7.常见zynq系列的ps+pl架构fpga,分为pl端和ps端两部分,其中,ps端是处理系统部分,pl端是fpga的可编程逻辑部分。fpga的升级一般是通过ps端直接暴露对外接口,接收外部升级数据来实现升级的。但是这样,一旦出现攻击,将有可能直接损坏fpga系统。所以,目前提出一种网络隔离系统,主要包括fpga、加解密区及隐私工作区,其中,fpga的pl端有四路网口,一路网口连接外网,一路网口连接内部的加解密区域,另外两路网口连接内部的隐私工作区,而fpga的ps端无外部通信接口,这样可以有效避免系统受到攻击。针对这样的系统,fpga固件升级过程中,flash搭载在fpga外部,fpga主动将固件写入到的flash中,fpga上电后内部固化的引导程序是从flash中加载固件的。但由于fpga外部的flash是搭载在ps端的,故pl端无法直接操作ps端的flash,因此无法直接通过pl端实现固件升级。


技术实现要素:

8.发明目的:本发明目的是提供一种fpga固件在线加密升级系统及方法,解决了当前fpga无法通过pl端实现固件升级的问题。本发明fpga的ps端无法直接与外部通信,利用pl端对外网口实现固件升级。
9.技术方案:一种fpga固件在线加密升级系统,所述系统包括依次连接的业务平台单元、fpga信息处理单元及加解密工作单元,所述fpga信息处理单元包括pl端和ps端,所述pl端中设有第一数据处理模块,所述ps端中设有固件升级模块,所述加解密工作单元包括依次连接的第二数据处理模块、第一数据校验模块、数据解密模块及第一数据传输模块,所
述业务平台单元与所述第一数据处理模块连接,所述第一数据处理模块与所述第二数据处理模块连接,所述第一数据传输模块与所述固件升级模块连接。
10.进一步:所述业务平台单元用于实现固件升级数据的加密;
11.所述第一数据处理模块用于根据预置的第一协议规范实现数据的过滤及协议转换;
12.所述第二数据处理模块用于根据预置的第二协议规范实现数据的协议转换;
13.所述第一数据校验模块用于根据预置的第三协议规范实现数据的校验;
14.所述数据解密模块用于实现数据的解密;
15.所述第一数据传输模块用于实现数据的传输;
16.所述固件升级模块用于完成固件的升级。
17.进一步:所述固件升级模块包括第二数据传输模块、第二数据校验模块、固化模块、固件存储模块及升级状态应答模块,所述第二数据传输模块与所述第一数据传输模块连接,所述第二数据传输模块、第二数据检验模块、固化模块、固件存储模块依次连接,所述升级状态应答模块与所述第二数据传输模块、固化模块分别连接;
18.其中,所述第二数据传输模块用于实现数据的传输;
19.所述第二数据校验模块用于根据预置的第四协议规范实现数据的校验;
20.所述固化模块用于实现固件升级数据的固化;
21.所述固件存储模块用于实现固件升级数据的存储;
22.所述升级状态应答模块用于实现固件升级过程中的状态应答。
23.进一步:所述加解密工作单元还包括数据加密模块,所述数据加密模块与所述第二数据处理模块、第一数据传输模块连接;
24.所述数据加密模块用于实现数据的加密。
25.一种fpga固件在线加密升级方法,所述方法包括以下步骤:
26.步骤1、业务平台单元对接收到固件升级数据进行加密,加密后的数据经由第一数据处理模块、第二数据处理模块的处理,而后传输至第一数据校验模块;
27.步骤2、第一数据校验模块对接收到的数据进行校验,校验成功后传输至数据解密模块;
28.步骤3、数据解密模块对接收到的数据进行解密,解密后的数据经由第一数据传输模块传输至固件升级模块;
29.步骤4、固件升级模块完成固件升级。
30.进一步:所述步骤1、2进一步包括:
31.加密后的固件升级数据经由所述第一数据处理模块预置的第一协议规范,先是实现数据的过滤,而后再将过滤后的数据进行协议转换,协议转换后的数据传输至第二数据处理模块;
32.所述第一数据处理模块协议转换后的数据经由所述第二数据处理模块预置的第二协议规范再次实现数据的协议转换,协议转换后的数据传输至第一数据校验模块;
33.所述第二数据处理模块协议转换后的数据经由所述第一数据校验模块预置的第三协议规范实现数据的校验,检验成功后传输至数据解密模块。
34.进一步:所述步骤4进一步包括:
35.所述数据解密模块解密后的数据经由第一数据传输模块、第二数据传输模块传输至第二数据校验模块;
36.所述数据解密模块解密后的数据经由所述第二数据校验模块预置的第四协议规范实现数据的校验,检验成功后,所述第二数据校验模块接收到的来自所述数据解密模块解密后的数据会传输至固化模块;
37.所述固化模块将接收到的来自所述第二数据校验模块的数据固化至固件存储模块;
38.所述固件存储模块接收并存储来自所述固化模块的数据。
39.进一步:所述固化模块将接收到的来自所述第二数据校验模块的数据固化至固件存储模块,固化成功的结果会由所述固化模块发送至升级状态应答模块,所述升级状态应答模块会将来自所述固化模块的固化成功的结果经由第二数据传输模块、第一数据传输模块传输至数据加密模块,所述数据加密模块对接收到的所述固化模块的固化成功的结果进行加密操作,加密后的数据依次经由所述第二数据处理模块的协议转换、第一数据处理模块的协议转换,而后传输至所述业务平台单元,所述业务平台单元接收并解密来自所述数据加密模块的加密后的数据。
40.本发明的有益效果:
41.1、不同于ps端直接暴露接口以实现fpga升级的方式,本发明通过pl端接收外部的固件升级数据,通过pl端及加解密工作单元将固件升级数据解密后传输给ps端,从而实现固件升级;
42.2、本发明固件升级数据经加密后传输至fpga信息处理单元,再经由加解密工作单元实现固件升级数据的校验、解密,最后固化存储完成fpga固件升级,固件升级数据解密后的固化存储,保证了固件升级数据可在fpga内部正常加载运行;
43.3、本发明fpga固件升级过程中,固件升级数据依次经由加密处理、过滤转换处理、转换处理、一次校验处理、解密处理、二次校验处理,最后固化存储,这样使得固件升级数据的可靠性提高、信息安全性提高;
44.4、本发明充分利用系统内部特性,在不添加其他硬件模块的情况下,实现fpga固件升级过程中各个业务的正常运行,实现快速、安全、可靠的fpga固件升级。
附图说明
45.图1为现有的网络隔离系统的示意图;
46.图2为本发明一种fpga固件在线加密升级系统的结构示意图;
47.图3为本发明一种fpga固件在线加密升级方法的步骤示意图。
具体实施方式
48.下面结合附图和实施例对本发明做进一步描述:
49.如图1所示,现有的网络隔离系统主要包括fpga、加解密区及隐私工作区,网络隔离系统实现网络隔离,保证隐私工作区信息不被泄露、盗取。
50.fpga分为pl端和ps端两部分,pl端有四路网口,一路网口连接外网,一路网口连接内部的加解密区域,另外两路网口连接内部的隐私工作区,ps端无外部通信接口。fpga可采
用zynq系列ps+pl架构芯片,其中pl端为fpga可编程部分,ps端为内置arm cortex a9控制器,也可以采用纯逻辑可编程的fpga芯片+mcu控制芯片。
51.fpga固件升级过程中,flash搭载在fpga外部,fpga主动将固件写入到的flash中,fpga上电后内部固化的引导程序是从flash中加载固件的,但由于fpga外部的flash是搭载在ps端的,故pl端是无法直接操作ps端的flash,因此无法直接通过pl端实现固件升级。
52.如图2所示,一种fpga固件在线加密升级系统,该系统包括依次连接的业务平台单元、fpga信息处理单元及加解密工作单元,fpga信息处理单元包括pl端和ps端,pl端中设有第一数据处理模块,ps端中设有固件升级模块,加解密工作单元包括依次连接的第二数据处理模块、第一数据校验模块、数据解密模块及第一数据传输模块,固件升级模块包括第二数据传输模块、第二数据校验模块、固化模块、固件存储模块及升级状态应答模块。本发明fpga信息处理单元类似于ps+pl架构类型的fpga芯片。
53.业务平台单元与第一数据处理模块连接,第一数据处理模块与第二数据处理模块连接,第二数据传输模块与第一数据传输模块连接,第二数据传输模块、第二数据检验模块、固化模块、固件存储模块依次连接,升级状态应答模块与第二数据传输模块、固化模块分别连接。
54.业务平台单元用于接收外部传输过来的明文的固件升级数据,业务平台单元对接收到的固件升级数据进行加密,而后将加密后的固件升级数据传输至第一数据处理模块。
55.第一数据处理模块接收业务平台单元发送过来的加密数据,然后根据预置的第一协议规范先对数据进行过滤处理,而后再对数据进行协议转换,协议转换后的数据发送给第二数据处理模块。其中,预置的第一协议规范包括通信类型、数据属性、加密属性及数据报文,通信类型包括源地址、目的地址、通信协议类型、通信通道等,数据属性包括文件类型、指令类型等,加密属性包括加密比例、加密长度等。第一数据处理模块接收到外部发来的数据时,根据预置的第一协议规范先进行过滤处理,如通信类型不匹配过滤、数据属性不匹配过滤、加密属性不匹配过滤等,然后再针对符合类型的数据,根据预置的第一协议规范,如指令类型、目标地址等,对数据进行重新封装转换,而后发送给第二数据处理模块。
56.fpga信息处理单元还包括与第一数据处理模块连接的通信控制模块,通信控制模块用于控制第一数据处理模块的通信进程。
57.第二数据处理模块与第一数据处理模块之间进行数据通信。第二数据处理模块接收第一数据处理模块发送过来的数据,并根据预置的第二协议规范进行数据的协议转换,协议转换后的数据发送至第一数据校验模块。第二数据处理模块预置的第二协议规范和第一数据处理模块预置的第一协议规范类似,也包括通信类型、数据属性、加密属性及数据报文,第二数据处理模块根据预置的第二协议规范,如通信协议类型等,对来自第一数据处理模块的数据进行重新封装转换,而后发送给第一数据校验模块。第二数据处理模块预置的第二协议规范是指第一数据处理模块与第二数据处理模块之间的通信协议规范。
58.第一数据校验模块一方面接收来自第二数据处理模块发送过来的数据,另一方面根据预置的第三协议规范,对接收到的数据进行校验,校验成功后发送至数据解密模块。第一数据校验模块预置的第三协议规范与第二数据处理模块预置的第二协议规范相同。
59.数据解密模块对接收到的数据进行解密操作,解密后得到的数据即为明文固件升级数据,第一数据传输模块与第二数据传输模块用于数据传输,数据解密模块解密后的数
据经由第一数据传输模块、第二数据传输模块传输至固件升级模块。第一数据传输模块与第二传输模块之间是内部数据通信,与第一数据处理模块预置的第一协议规范、第二数据处理模块预置的第二协议规范不同。第一数据传输模块与第二数据传输模块传输的数据为解密后的数据,内部通信传输可以是网络、串口、usb等形式,内部通信协议包括数据传输开始报文头、长度、指令码、校验码、数据等。
60.第二数据校验模块一方面通过第二数据传输模块接收来自数据解密模块解密后的数据,即明文固件升级数据,另一方面根据预置的第四协议规范,对接收到的数据进行校验,校验成功后,固件升级数据发送至固化模块。第二数据校验模块预置的第四协议规范跟第一数据传输模块和第二传输模块之间的内部通信协议是相同的。
61.固化模块将接收到的来自第二数据校验模块的数据固化至固件存储模块,即固化模块将接收到的明文固件升级数据固化至固件存储模块,固化成功的结果会发送至升级状态应答模块,固件存储模块接收并存储明文固件升级数据,完成fpga固件升级。
62.加解密工作单元还包括数据加密模块,数据加密模块与第二数据处理模块、第一数据传输模块连接,数据加密模块用于数据的加密。
63.升级状态应答模块会将来自固化模块的固化成功的结果经由第二数据传输模块、第一数据传输模块传输至数据加密模块,数据加密模块对接收到的固化模块的固化成功的结果进行加密操作,加密后的数据依次经由第二数据处理模块的协议转换、第一数据处理模块的协议转换,而后传输至业务平台单元,业务平台单元接收并解密来自数据加密模块的加密后的数据,解密得到固化模块的固化成功的结果。该处的协议转换如:第一数据处理模块根据预置的第一协议规范修改通信协议类型、目标地址等,重新封装转换;第二数据处理模块根据预置的第二协议规范修改通信协议类型、目标地址等,重新封装转换。
64.本发明加解密为量子加解密。
65.如图3所示,本发明还提出一种fpga固件在线加密升级方法,该方法包括以下步骤:
66.步骤1、业务平台单元接收并加密来自外部的明文的固件升级数据,加密后的数据依次经由第一数据处理模块、第二数据处理模块的处理,而后传输至第一数据校验模块;
67.步骤2、第一数据校验模块对接收到的数据进行校验,校验成功后传输至数据解密模块;
68.步骤3、数据解密模块对接收到的数据进行解密,解密后的数据经由第一数据传输模块传输至固件升级模块,解密后得到的数据即为明文的固件升级数据;
69.步骤4、固件升级模块完成固件升级。
70.加密后的固件升级数据经由第一数据处理模块预置的第一协议规范,先是实现数据的过滤,如通信类型不匹配过滤、数据属性不匹配过滤、加密属性不匹配过滤等,而后再将过滤后的数据进行协议转换,如根据指令类型、目标地址等,对数据进行重新封装转换,协议转换后的数据发送给第二数据处理模块。
71.第一数据处理模块协议转换后的数据经由第二数据处理模块预置的第二协议规范再次实现数据的协议转换,如根据通信协议类型等,对来自第一数据处理模块的数据进行重新封装转换,而后发送至第一数据校验模块。
72.第二数据处理模块协议转换后的数据经由第一数据校验模块预置的第三协议规
范实现数据的校验,检验成功后传输至数据解密模块,第一数据校验模块预置的第三协议规范与第二数据处理模块预置的第二协议规范相同。
73.数据解密模块对接收到的数据进行解密,解密后得到的数据即为明文固件升级数据。
74.数据解密模块解密后的数据经由第一数据传输模块、第二数据传输模块传输至第二数据校验模块,即解密后得到的明文固件升级数据经由第一数据传输模块、第二数据传输模块传输至第二数据校验模块。第一数据传输模块与第二传输模块之间是内部数据通信,与第一数据处理模块预置的第一协议规范、第二数据处理模块预置的第二协议规范不同。第一数据传输模块与第二数据传输模块传输的数据为解密后的数据,内部通信传输可以是网络、串口、usb等形式,内部通信协议包括数据传输开始报文头、长度、指令码、校验码、数据等。
75.数据解密模块解密后得到的明文固件升级数据经由第二数据校验模块预置的第四协议规范实现数据的校验,检验成功后,第二数据校验模块接收到的来自数据解密模块解密后得到的明文固件升级数据会传输至固化模块。第二数据校验模块预置的第四协议规范跟第一数据传输模块和第二传输模块之间的内部通信协议是相同的。
76.固化模块将接收到的来自第二数据校验模块的校验后的明文固件升级数据固化至固件存储模块,固件存储模块接收并存储来自固化模块的明文固件升级数据,完成fpga固件升级。
77.固化模块将接收到的来自第二数据校验模块的数据固化至固件存储模块,即固化模块将接收到的来自第二数据校验模块的明文固件升级数据固化至固件存储模块,固化成功的结果会由固化模块发送至升级状态应答模块,升级状态应答模块会将来自固化模块的固化成功的结果经由第二数据传输模块、第一数据传输模块传输至数据加密模块,数据加密模块对接收到的固化模块的固化成功的结果进行加密操作,加密后的数据依次经由第二数据处理模块的协议转换、第一数据处理模块的协议转换,而后传输至业务平台单元,业务平台单元接收并解密来自数据加密模块的加密后的数据,解密得到固化模块的固化成功的结果。

技术特征:
1.一种fpga固件在线加密升级系统,其特征在于,所述系统包括依次连接的业务平台单元、fpga信息处理单元及加解密工作单元,所述fpga信息处理单元包括pl端和ps端,所述pl端中设有第一数据处理模块,所述ps端中设有固件升级模块,所述加解密工作单元包括依次连接的第二数据处理模块、第一数据校验模块、数据解密模块及第一数据传输模块,所述业务平台单元与所述第一数据处理模块连接,所述第一数据处理模块与所述第二数据处理模块连接,所述第一数据传输模块与所述固件升级模块连接。2.根据权利要求1所述的一种fpga固件在线加密升级系统,其特征在于,所述业务平台单元用于实现固件升级数据的加密;所述第一数据处理模块用于根据预置的第一协议规范实现数据的过滤及协议转换;所述第二数据处理模块用于根据预置的第二协议规范实现数据的协议转换;所述第一数据校验模块用于根据预置的第三协议规范实现数据的校验;所述数据解密模块用于实现数据的解密;所述第一数据传输模块用于实现数据的传输;所述固件升级模块用于完成固件的升级。3.根据权利要求1所述的一种fpga固件在线加密升级系统,其特征在于,所述固件升级模块包括第二数据传输模块、第二数据校验模块、固化模块、固件存储模块及升级状态应答模块,所述第二数据传输模块与所述第一数据传输模块连接,所述第二数据传输模块、第二数据检验模块、固化模块、固件存储模块依次连接,所述升级状态应答模块与所述第二数据传输模块、固化模块分别连接;其中,所述第二数据传输模块用于实现数据的传输;所述第二数据校验模块用于根据预置的第四协议规范实现数据的校验;所述固化模块用于实现固件升级数据的固化;所述固件存储模块用于实现固件升级数据的存储;所述升级状态应答模块用于实现固件升级过程中的状态应答。4.根据权利要求1所述的一种fpga固件在线加密升级系统,其特征在于,所述加解密工作单元还包括数据加密模块,所述数据加密模块与所述第二数据处理模块、第一数据传输模块连接;所述数据加密模块用于实现数据的加密。5.一种fpga固件在线加密升级方法,其特征在于,所述方法包括以下步骤:步骤1、业务平台单元对接收到固件升级数据进行加密,加密后的数据经由第一数据处理模块、第二数据处理模块的处理,而后传输至第一数据校验模块;步骤2、第一数据校验模块对接收到的数据进行校验,校验成功后传输至数据解密模块;步骤3、数据解密模块对接收到的数据进行解密,解密后的数据经由第一数据传输模块传输至固件升级模块;步骤4、固件升级模块完成固件升级。6.根据权利要求5所述的一种fpga固件在线加密升级方法,其特征在于,所述步骤1、2进一步包括:加密后的固件升级数据经由所述第一数据处理模块预置的第一协议规范,先是实现数
据的过滤,而后再将过滤后的数据进行协议转换,协议转换后的数据传输至第二数据处理模块;所述第一数据处理模块协议转换后的数据经由所述第二数据处理模块预置的第二协议规范再次实现数据的协议转换,协议转换后的数据传输至第一数据校验模块;所述第二数据处理模块协议转换后的数据经由所述第一数据校验模块预置的第三协议规范实现数据的校验,检验成功后传输至数据解密模块。7.根据权利要求5所述的一种fpga固件在线加密升级方法,其特征在于,所述步骤4进一步包括:所述数据解密模块解密后的数据经由第一数据传输模块、第二数据传输模块传输至第二数据校验模块;所述数据解密模块解密后的数据经由所述第二数据校验模块预置的第四协议规范实现数据的校验,检验成功后,所述第二数据校验模块接收到的来自所述数据解密模块解密后的数据会传输至固化模块;所述固化模块将接收到的来自所述第二数据校验模块的数据固化至固件存储模块;所述固件存储模块接收并存储来自所述固化模块的数据。8.根据权利要求7所述的一种fpga固件在线加密升级方法,其特征在于,所述固化模块将接收到的来自所述第二数据校验模块的数据固化至固件存储模块,固化成功的结果会由所述固化模块发送至升级状态应答模块,所述升级状态应答模块会将来自所述固化模块的固化成功的结果经由第二数据传输模块、第一数据传输模块传输至数据加密模块,所述数据加密模块对接收到的所述固化模块的固化成功的结果进行加密操作,加密后的数据依次经由所述第二数据处理模块的协议转换、第一数据处理模块的协议转换,而后传输至所述业务平台单元,所述业务平台单元接收并解密来自所述数据加密模块的加密后的数据。

技术总结
本发明公开了一种FPGA固件在线加密升级系统及方法,涉及固件升级领域,该系统包括依次连接的业务平台单元、FPGA信息处理单元及加解密工作单元,FPGA信息处理单元包括PL端和PS端,PL端中设有第一数据处理模块,PS端中设有固件升级模块,加解密工作单元包括依次连接的第二数据处理模块、第一数据校验模块、数据解密模块及第一数据传输模块。该方法为:固件升级数据经业务平台单元加密、第一数据处理模块过滤转换、第二数据处理模块转换,而后传输至第一数据校验模块,经第一数据校验模块校验成功后传输至数据解密模块,经数据解密模块解密后通过第一数据传输模块传输至固件升级模块,实现固件升级。本发明利用PL端对外网口实现FPGA固件升级。FPGA固件升级。FPGA固件升级。


技术研发人员:李绅 戴大海
受保护的技术使用者:矩阵时光数字科技有限公司
技术研发日:2023.05.19
技术公布日:2023/8/4
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐