CN112926077A - 一种卫星重构数据处理方法及系统 - Google Patents
一种卫星重构数据处理方法及系统 Download PDFInfo
- Publication number
- CN112926077A CN112926077A CN202110342575.1A CN202110342575A CN112926077A CN 112926077 A CN112926077 A CN 112926077A CN 202110342575 A CN202110342575 A CN 202110342575A CN 112926077 A CN112926077 A CN 112926077A
- Authority
- CN
- China
- Prior art keywords
- program data
- cpu
- fpga
- data
- memory
- 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.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title claims description 5
- 238000012795 verification Methods 0.000 claims abstract description 80
- 238000000034 method Methods 0.000 claims abstract description 40
- 238000012545 processing Methods 0.000 claims abstract description 39
- 238000005259 measurement Methods 0.000 claims abstract description 33
- 230000015654 memory Effects 0.000 claims description 69
- 238000004891 communication Methods 0.000 claims description 7
- 239000000243 solution Substances 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004806 packaging method and process Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000001186 cumulative effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000002245 particle Substances 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 230000005855 radiation Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 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/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- 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/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- 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/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
本申请提供了一种卫星重构数据处理方法及系统,方法包括:获取来自地面测控站中第二任务对应的加密后的分包重构数据;对加密后的第二程序数据进行解密,得到解密后的第二程序数据;根据第二程序数据的属性信息,对解密后的第二程序数据进行校验处理,得到第二程序数据的第一校验结果;若第一校验结果表征第二程序数据校验通过,则将CPU和第一FPGA中的第一程序数据更新为第二程序数据;接收地面测控站发送的加密的分包重构数据,在对加密的分包重构数据解密之后又进行校验处理,只有校验通过时才进行内部程序的更新,不同阶段分别对分包重构数据进行加密、校验处理,避免重构数据被破坏,提高了重构数据的稳定性,保证了重构数据的可靠性。
Description
技术领域
本发明涉及数据传输技术领域,具体而言,涉及一种卫星重构数据处理方法及系统。
背景技术
人造地球卫星也称卫星,是指环绕地球飞行并在空间轨道运行一圈以上的无人航天器,其可以应用于多个领域,比如,能够用于科学探测和研究、天气预报、土地资源调查、土地利用、区域规划、通信、跟踪、导航等各个领域。
卫星在轨运行期间,为了高效利用卫星,需要使卫星执行不同需求的业务;卫星在执行不同需求的业务时,对应的执行方式。通常情况下,卫星以一种程序数据执行一种业务,而当业务发生变化时,需要对卫星的程序数据进行重构,以使卫星可以执行新的业务。
但是,目前使用重构数据的处理方法,传输安全性差、稳定性差,且容易遭到恶意破坏,这就导致了卫星的程序数据重构失败。
发明内容
有鉴于此,本发明的目的在于提供一种卫星重构数据处理方法及系统,不同阶段均对数据进行保护,提高了安全性,可靠性。
第一方面,本申请实施例提供了一种卫星重构数据处理方法,应用于安全防护模块,所述安全防护模块包括:中央处理器CPU、第一现场可编程逻辑门阵列FPGA;所述CPU与地面测控站通信连接,所述CPU和所述第一FPGA中分别存储有用于处理所述第一任务的第一程序数据,所述方法包括:
获取来自所述地面测控站中第二任务对应的加密后的分包重构数据;其中,所述分包重构数据包括加密后的第二程序数据和所述第二程序数据的属性信息;所述第二程序数据为用于处理所述第二任务对应的程序数据;
对所述加密后的第二程序数据进行解密,得到解密后的第二程序数据;
根据所述第二程序数据的属性信息,对所述解密后的第二程序数据进行校验处理,得到所述第二程序数据的第一校验结果;
若所述第一校验结果表征所述第二程序数据校验通过,则将所述CPU和所述第一FPGA中的第一程序数据更新为所述第二程序数据。
在本发明较佳的技术方案中,上述CPU包括第一存储器和第二存储器;在获取到来自所述地面测控站中第二任务对应的加密后的分包重构数据之后,所述方法包括:所述CPU将所述加密后的分包重构数据存储到第一存储器;
在对所述加密后的分包重构数据进行解密,得到解密后的第二程序数据之后,所述方法包括:所述CPU将解密后的第二程序数据存储到所述第二存储器。
在本发明较佳的技术方案中,上述将所述CPU中的第一程序数据更新为所述第二程序数据,包括:
所述CPU在第一预设时间内从所述第二存储器读取所述第二程序数据;
所述CPU根据所述第二程序数据的属性信息,对所述第二程序数据进行校验处理,得到所述第二程序数据的第二校验结果;
若所述第二校验结果表征所述第二程序数据校验通过,所述CPU将存储的第一程序数据更新为所述第二程序数据。
在本发明较佳的技术方案中,上述安全防护模块还包括第二FPGA,所述第二FPGA分别与CPU和所述第一FPGA电性连接;将第一FPGA中的第一程序数据更新为所述第二程序数据,包括:
若所述第二校验结果表征所述第二程序数据校验通过,所述CPU将所述第二程序数据写入所述第二FPGA;
所述第二FPGA基于所述第二程序数据将第一FPGA中的第一程序数据刷新为所述第二程序数据。
在本发明较佳的技术方案中,上述安全防护模块还包括第二FPGA,所述第二FPGA分别与CPU和所述第一FPGA电性连接;将第一FPGA中的第一程序数据更新为所述第二程序数据,包括:
所述CPU在第二预设时间内从所述第二存储器读取所述第二程序数据;
所述CPU根据所述第二程序数据的属性信息,对所述第二程序数据进行校验处理,得到所述第二程序数据的第三校验结果;
若所述第三校验结果表征所述第二程序数据校验通过,所述CPU将所述第二程序数据写入所述第二FPGA;
所述第二FPGA基于所述第二程序数据将第一FPGA中的第一程序数据刷新为所述第二程序数据。
在本发明较佳的技术方案中,上述第二FPGA包括第三存储器和第四存储器;所述CPU将所述第二程序数据写入所述第二FPGA,包括:
所述CPU将所述第二程序数据写入所述第三存储器和所述第四存储器;
所述第二FPGA基于所述第二程序数据将第一FPGA中的第一程序数据刷新为所述第二程序数据,包括:
第二FPGA从所述第三存储器和第四存储器中分别读取所述第二程序数据;
所述第二FPGA根据所述第二程序数据的属性信息,对读取的所述第二程序数据进行校验处理,得到所述第二程序数据的第四校验结果。
若所述第四校验结果表征所述第二程序数据校验通过,所述第二FPGA根据通过校验的第三存储器或者第四存储器中的第二程序数据刷新第一FPGA中的第一程序数据。
在本发明较佳的技术方案中,上述对所述加密后的第二程序数据进行解密,包括:
从所述加密后的第二程序数据中获取目标认证字符;其中,所述目标认证字符包括多种不同类型的认证字符;
判断所述目标认证字是否合法,若所述目标认证字符合法时,则对所述加密后的第二程序数据进行解密。
在本发明较佳的技术方案中,上述根据所述第二程序数据的属性信息,对所述解密后的第二程序数据进行校验处理,得到所述第二程序数据的第一校验结果,包括:
根据所述第二程序数据的属性信息,计算得到第二程序数据的校验值;
通过对比第二任务对应的校验值和计算得到的第二程序数据的校验值得到第一校验结果。
在本发明较佳的技术方案中,上述第二存储器为三个,在对所述加密后的分包重构数据进行解密,得到解密后的第二程序数据之后,所述方法包括:所述CPU将解密后的第二程序数据分别存储到三个第二存储器;
所述CPU从所述三个第二存储器中获取目标第二存储器。
第二方面,本申请实施例提供了一种卫星重构数据处理系统,所述系统包括:包括中央处理器CPU、第一FPGA:
所述CPU,用于获取来自所述地面测控站中第二任务对应的加密后的分包重构数据;其中,所述分包重构数据包括加密后的第二程序数据和所述第二程序数据的属性信息;所述第二程序数据为用于处理所述第二任务对应的程序数据;
所述CPU,用于对所述加密后的第二程序数据进行解密,得到解密后的第二程序数据;
所述CPU,用于根据所述第二程序数据的属性信息,对所述解密后的第二程序数据进行校验处理,得到所述第二程序数据的第一校验结果;
所述CPU,用于根据第一校验结果,将自身存储的第一程序数据更新为所述第二程序数据;
所述CPU,用于根据第一校验结果,将所述第一FPGA中的第一程序数据更新为所述第二程序数据。
本申请的实施例提供的技术方案可以包括以下有益效果:本申请中安全防护模块接收地面测控站发送的加密的分包重构数据,在对加密的分包重构数据解密之后又进行校验处理,只有校验通过时才进行内部程序的更新,本申请在不同阶段分别对分包重构数据进行加密、校验处理,避免重构数据被破坏,提高了重构数据的稳定性,保证了重构数据的可靠性。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例所提供的一种卫星重构数据处理方法的流程示意图;
图2示出了本申请实施例所提供的分包重构数据进行解密示意图;
图3示出了本申请实施例所提供的校验流程示意图;
图4示出了本申请实施例所提供的CPU写入第二FPGA的流程示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
卫星在轨运行期间,为了高效利用卫星,需要使卫星执行不同需求的业务;卫星在执行不同需求的业务时,对应的执行方式。通常情况下,卫星以一种程序数据执行一种业务,而当业务发生变化时,需要对卫星的程序数据进行重构,以使卫星可以执行新的业务。
目前具备重构功能的低轨卫星测控安防模块普遍采用中央处理器(centralprocessing unit,CPU)+算法现场可编程逻辑门阵列(Field Programmable Gate Array,FPGA)+反熔丝FPGA的协同工作模式。重构时,首先需要地面测控站将重构文件进行分包处理,通过测控链路上传到星上。分包重构数据由CPU接收并组成完整的重构文件存储到自身闪存(Flash EEPROM Memory,flash)上。接下来CPU需要读取自身flash上的重构算法FPGA程序,通过与反熔丝FPGA约定的接口协议,将其写入到反熔丝FPGA上的flash。反熔丝FPGA通过读取自身flash上的重构算法FPGA程序文件刷新算法FPGA,实现算法FPGA重构。
由此可见,重构数据的传输及存储分以下几个阶段:
第一阶段,从地面测控站到星载测控安全防护单元CPU的静态随机存取存储器(Static Random-Access Memory,SRAM),即分包重构数据由地面传输至星上CPU;
第二阶段,从安全防护单元CPU的SRAM到CPU的flash,即分包重构数据重组成重构文件;
第三阶段,从CPU flash到CPU SRAM,即CPU读取其flash上的重构CPU程序文件;
第四阶段,从CPU flash到反熔丝FPGA flash,即CPU读取其flash上的重构算法FPGA程序文件并写入反熔丝FPGA flash;
第五阶段,从反熔丝FPGA flash到算法FPGA的SRAM,即反熔丝FPGA读取其flash上的重构算法FPGA,用于配置刷新算法FPGA。
对于第一阶段,目前大部分低轨卫星分包上传重构遥控数据时不进行加密,这样就会导致数据在星地传输过程中遭到恶意破坏,卫星无法分辨出当前分包重构数据是否是可靠的,这样就会导致重组的重构文件出现错误。
对于第二阶段,目前大部分低轨卫星分包上传重构文件时,并不提供对整个文件的校验。而地面将重构文件进行分包处理时,因为某些原因,分包数据封装出现错误,这样也会导致重组的重构文件出现错误。
对于第三阶段,大部分低轨卫星并不对存放在CPU flash上的数据进行冗余及校验处理,而卫星在太空中工作过程中会遭受单粒子辐射,这样会导致星载测控安全防护单元CPU flash上存储的数据发生改变,或是星载测控安全防护单元CPU在读取其flash数据过程中出现错误。如果CPU的bootloader所读取的CPU flash上的重构CPU程序文件出现错误,则会导致CPU无法切换到重构程序。
对于第四阶段,如果CPU应用程序读取的重构算法FPGA程序出现错误,则会导致传输到反熔丝FPGA的重构算法FPGA程序出现错误,导致算法FPGA重构失败。
对于第五阶段,如果卫星在太空中工作过程中会遭受单粒子辐射,这样会导致星载测控安全防护单元反熔丝FPGA flash上存储的数据发生改变,导致算法FPGA重构失败。
为解决上述技术中的缺陷,本发明实施例提供了一种卫星重构数据处理方法及系统,下面通过实施例进行描述。
图1示出了本申请实施例所提供的一种卫星重构数据处理方法的流程示意图,其中,该方法包括步骤S101-S104;具体的:
本申请应用于安全防护模块,安全防护模块包括:中央处理器CPU、第一现场可编程逻辑门阵列FPGA;CPU与地面测控站通信连接,CPU和第一FPGA中分别存储有用于处理第一任务的第一程序数据,方法包括:
S101、获取来自地面测控站中第二任务对应的加密后的分包重构数据;其中,分包重构数据包括加密后的第二程序数据和第二程序数据的属性信息;第二程序数据为用于处理第二任务对应的程序数据;
S102、对加密后的第二程序数据进行解密,得到解密后的第二程序数据;
S103、根据第二程序数据的属性信息,对解密后的第二程序数据进行校验处理,得到第二程序数据的第一校验结果;
S104、若第一校验结果表征第二程序数据校验通过,则将CPU和第一FPGA中的第一程序数据更新为第二程序数据。
本申请的实施例提供的技术方案可以包括以下有益效果:本申请中安全防护模块接收地面测控站发送的加密的分包重构数据,在对加密的分包重构数据解密之后又进行校验处理,只有校验通过时才进行内部程序的更新,本申请在不同阶段分别对分包重构数据进行加密、校验处理,避免重构数据被破坏,提高了重构数据的稳定性,保证了重构数据的可靠性。
下面以上述方法应用于终端设备为例进分别对本申请实施例的上述示例性的各步骤分别进行说明。
S101、获取来自地面测控站中第二任务对应的加密后的分包重构数据;其中,分包重构数据包括加密后的第二程序数据和第二程序数据的属性信息;第二程序数据为用于处理第二任务对应的程序数据。
S102、对加密后的第二程序数据进行解密,得到解密后的第二程序数据。
S103、根据第二程序数据的属性信息,对解密后的第二程序数据进行校验处理,得到第二程序数据的第一校验结果。
在步骤S101~S103中,卫星在运行期间,当前卫星正在执行的任务为第一任务,卫星的安全防护模块存储和执行的是第一任务对应的第一程序数据。卫星未来需要执行的任务为第二任务,即卫星需要重构的任务第二任务。卫星要从执行第一任务切换至执行第二任务时,需要将安全防护模块存储和执行的第一程序数据刷新为第二程序数据。
卫星安全防护模块的CPU接收来自地面测控站中第二任务对应的加密后的分包重构数据,CPU在接收加密后的分包重构数据之后,对其进行存储。
CPU包括第一存储器和第二存储器;CPU在进行存储时,CPU将加密后的分包重构数据存储到第一存储器;CPU将解密后的第二程序数据存储到第二存储器。
其中,CPU对分包重构数据进行解密时:从加密后的第二程序数据中获取目标认证字符;其中,目标认证字符包括多种不同类型的认证字符;
判断目标认证字是否合法,若目标认证字符合法时,则对加密后的第二程序数据进行解密,得到解密后的第二程序数据。
其中,CPU将解密后的第二程序数据存储到第二存储器时,第二存储器设置为三个,CPU将解密后的第二程序数据分别存储到三个第二存储器;CPU从三个第二存储器中获取目标第二存储器,即CPU对这三个第二存储器做三模冗余处理得到目标第二存储器。
具体的,CPU的SRAM为第一存储器,CPU的flash为第二存储器,CPU接收地面测控站发送的第二任务对应的加密后的分包重构数据,将加密后的分包重构数据存储在CPU的SRAM,CPU对存储在CPU的SRAM中的分包重构数据进行解密,解密流程如图2所示:
提取分包重构数据中的同步字,判断同步字是否合法,当同步字合法时,提取分包重构数据中的方式字,判断方式字是否合法,当方式字合法时,提取分包重构数据中的数据长度,判断数据长度是否合法,当数据长度合法时,提取分包重构数据中的注入帧类型,判断帧类型是否合法,当帧类型合法时,提取分包重构数据中的明码密态,判断明码密态是否为密态,当明码密态为密态时,提取分包重构数据中的密钥类型,判断密钥类型是否合法,当密钥类型合法时,提取分包重构数据中的密钥组号,判断密钥组号是否合法,当密钥组号合法时,对分包重构数据进行哈希运算消息认证码(Hash-based Message AuthenticationCode,HMAC)校验,若分包重构数据通过HMAC校验时,进行数据解密,得到解密后的第二程序数据,解密成功,否则解密失败;
CPU的SRAM中通过解密的分包重构数据写入CPU的三片独立的flash中,每一字节数据均写到上述的三片flash,每读一字节数据均从这三片flash同一偏移地址读取。读取时,采用如下方式进行三模计算:
设输入字节为in_a,in_b,in_c;
则输出字节为:(in_a&in_b)^(in_a&in_c)^(in_b&in_c)。
分包重构数据在CPU的flash中组成第二程序数据,CPU对第二程序数据进行第一校验,得到第一校验结果,其中第一校验过程如图3所示:
CPU标记正在计算文件32位循环冗余校验(Cyclic Redundancy Check-32,CRC32),提取文件属性信息,计算文件CRC32,标记停止计算文件CRC32,标记完成计算文件CRC32任务,与文件属性中的CRC32值进行对比,数据一致时,标记文件校验通过,否则标记文件校验未通过,校验不通过时需要地面测控站重新上注第二任务对应的程序文件。
在执行步骤S101之前,地面测控站要对第二任务对应的重构数据包进行预处理。其中预处理包括加密处理,通过SM4算法保证重构第二任务对应的重构数据包的机密性,通过SM3算法保证第二任务对应的重构数据包的完整性。
预处理还包括分包上传,地面测控站对第二任务对应的重构数据包进行分包,包括对第二任务对应的第二程序数据分包和第二程序数据的属性信息分包,第二程序数据的属性信息包括第二任务对应的重构数据包的分包类型、分包总数量、大小、版本号、校验值,其中第二程序数据的属性信息分为首包(即第0包),第二程序数据分包为首包后的其他包。具体的分包格式如下表所示:
表1:首包(第0包)数据域格式如下表:
表2:第0包以后的分包数据域格式如下:
地面测控站完成分包之后,通过测控链路将加密后的分包重构数据上传到星上。
S104、若第一校验结果表征第二程序数据校验通过,则将CPU和第一FPGA中的第一程序数据更新为第二程序数据。
在步骤S104中,安全防护模块还包括第二FPGA,第二FPGA与CPU和第一FPGA均为电性连接;第二FPGA包括第三存储器、第四存储器;
当第一校验结果表征第二程序数据校验通过时,CPU作为控制主机将自身的第一程序数据更新为第二程序数据;第一FPGA作为执行操作单元,CPU将第一FPGA的第一程序数据更新为第二程序数据。
将CPU中的第一程序数据更新为第二程序数据,包括:
CPU在第一预设时间内从第二存储器读取第二程序数据;
CPU根据第二程序数据的属性信息,对第二程序数据进行校验处理,得到第二程序数据的第二校验结果;
若第二校验结果表征第二程序数据校验通过,CPU将存储的第一程序数据更新为第二程序数据。
将第一FPGA中的第一程序数据更新为所述第二程序数据,包括:
CPU在第二预设时间内从第二存储器读取第二程序数据;
CPU根据第二程序数据的属性信息,对第二程序数据进行校验处理,得到第二程序数据的第三校验结果;
若第三校验结果表征第二程序数据校验通过,CPU将第二程序数据写入第二FPGA;
第二FPGA基于第二程序数据将第一FPGA中的第一程序数据刷新为第二程序数据。
上述的第一预设时间与第二预设时间可以为相同的时间点也可以为不相同的时间点,若第一预设时间与第二预设时间为相同时间点时,第二校验结果与第三校验结果相同,此时,CPU从第二存储器读取第二程序数据,若第二校验结果表征第二程序数据校验通过,CPU将存储的第一程序数据更新为第二程序数据,并且CPU将读取的第二程序数据写入第二FPGA;
若第一预设时间与第二预设时间为不同时间点时,CPU在第一预设时间内从第二存储器读取第二程序数据,进行校验,若第二校验结果表征第二程序数据校验通过,CPU将存储的第一程序数据更新为第二程序数据;到了第二预设时间,CPU在第二预设时间内从第二存储器读取第二程序数据,进行校验,若第三校验结果表征第二程序数据校验通过,CPU将第二程序数据写入第二FPGA,第二FPGA基于第二程序数据将第一FPGA中的第一程序数据刷新为第二程序数据。
CPU将自身的第一程序数据更新为第二程序数据时,CPU读取第二存储器中存储的通过第一校检的第二程序数据,并将第二程序数据存储到CPU的第一存储器中,然后CPU切换为第二程序数据。
具体的,CPU读取自身flash中第二程序数据,将第二程序数据写入CPU自身的SRAM中,CPU切换为第二程序数据。
CPU将第一FPGA的第一程序数据更新为第二程序数据时,CPU更新第二FPGA,第二FPGA更新第一FPGA;
将校验结果表征第二程序数据校验通过时,CPU将第二FPGA更新为第二程序数据;
第二FPGA根据第二程序数据更新第一FPGA中的第一程序数据。
CPU在更新第二FPGA时:
CPU读取自身第二存储器中的第二程序数据,并进行校验,校验通过时CPU将第三存储器、第四存储器分别更新为第二程序数据;
CPU根据第二程序数据的属性信息,对第三存储器、第四存储器存储的第二程序数据进行校验处理;
CPU根据通过校验的存储器存储的第二程序数据更新第一FPGA中的第一程序数据。
具体的,每次将CPU flash上的重构算法FPGA程序传输至反熔丝FPGA flash前都需要进行对CPU flash上的重构数据进行CRC32校验,确保原始的重构算法FPGA程序数据是可靠的。然后按照与反熔丝FPGA约定的接口协议,将重构算法FPGA程序及其CRC32校验值写入到反熔丝FPGA上的flash中,其处理流程如图4所示:
清零上注累计计数,向反熔丝FPGA发送关刷新指令,等待二十秒,向反熔丝FPGA写上注分区号,向反熔丝FPGA写开始上注指令,提取反熔丝flash状态寄存器参量,判断反熔丝flash是否就绪,当反熔丝flash就绪时,标记任务状态为正在上注,向反熔丝flash写入文件数据,提取反熔丝flash状态寄存器参量,再次判断反熔丝flash是否就绪,当反熔丝flash就绪时,刷新上注累计计数,判断文件数据是否写完,当文件数据写完时,向反熔丝flash写入文件CRC32,提取反熔丝flash状态寄存器参量,再次判断反熔丝flash是否就绪,当反熔丝flash就绪时,刷新上注累计计数,判断文件CRC32是否写完,当文件CRC32写完时,向反熔丝FPGA写结束上注指令,标记任务状态为停止上注,标记任务状态为上注任务完成,向反熔丝FPGA写刷新时间间隔,向反熔丝FPGA写开刷新指令,提取任务执行状态,任务退出。
CPU将第二程序数据分别写入到反熔丝FPGA的两片独立flash上反熔丝FPGA从自身第一片flash上配置算法FPGA程序,每次读取重构算法FPGA程序前都会对其进行CRC32校验,若校验通过,则读取第一片flash上的重构算法FPGA数据并刷新算法FPGA的SRAM。
当校验不通过时,切换至第二片flash,对第二片的重构算法FPGA程序进行CRC32校验,若校验通过,则读取第二片flash上的重构算法FPGA数据并刷新算法FPGA SRAM。
若第二片flash上的重构算法FPGA程序CRC32校验也未通过,则停止刷新,并将该状态通过遥测量下传至地面测控站。
将第二FPGA更新为第二程序数据之后,上述方法还包括:
根据第二程序数据的属性信息,对第二FPGA中的第二程序数据与第二存储器中的第二程序数据进行校验;
第二FPGA中的第二程序数据与第二存储器中的第二程序数据相同时,第二FPGA根据第二程序数据更新第一FPGA中的第一程序数据。
本方案中,每个阶段均对数据进行保护,前一阶段数据的可靠性确保后一阶段数据的可靠性,可靠性层层传递;各存储器件上的数据校验可单独且反复进行。
一种卫星重构数据处理系统,包括中央处理器CPU、第一现场可编程逻辑门阵列FPGA,第二FPGA:
CPU,用于获取来自地面测控站中第二任务对应的加密后的分包重构数据;其中,分包重构数据包括用于处理第二任务对应的第二程序数据和第二程序数据的属性信息;
CPU,用于根据第二任务对应的第二程序数据,对加密后的分包重构数据进行解密,得到解密后的第二程序数据;
CPU,用于根据第二程序数据的属性信息,对解密后的第二程序数据进行校验处理,得到第二程序数据的校验结果;
CPU,用于根据校验结果,将第一程序数据更新为第二程序数据;
CPU,用于根据校验结果,更新第二FPGA。
第二FPGA,用于更新第一FPGA。
在本申请所提供的实施例中,应该理解到,所揭露系统和方法,可以通过其它的方式实现。以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请提供的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释,此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围。都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种卫星重构数据处理方法,其特征在于,应用于安全防护模块,所述安全防护模块包括:中央处理器CPU、第一现场可编程逻辑门阵列FPGA;所述CPU与地面测控站通信连接,所述CPU和所述第一FPGA中分别存储有用于处理第一任务的第一程序数据,所述方法包括:
获取来自所述地面测控站中第二任务对应的加密后的分包重构数据;其中,所述分包重构数据包括加密后的第二程序数据和所述第二程序数据的属性信息;所述第二程序数据为用于处理所述第二任务对应的程序数据;
对所述加密后的第二程序数据进行解密,得到解密后的第二程序数据;
根据所述第二程序数据的属性信息,对所述解密后的第二程序数据进行校验处理,得到所述第二程序数据的第一校验结果;
若所述第一校验结果表征所述第二程序数据校验通过,则将所述CPU和所述第一FPGA中的第一程序数据更新为所述第二程序数据。
2.根据权利要求1所述的方法,其特征在于,所述CPU包括第一存储器和第二存储器;在获取到来自所述地面测控站中第二任务对应的加密后的分包重构数据之后,所述方法包括:所述CPU将所述加密后的分包重构数据存储到第一存储器;
在对所述加密后的分包重构数据进行解密,得到解密后的第二程序数据之后,所述方法包括:所述CPU将解密后的第二程序数据存储到所述第二存储器。
3.根据权利要求2所述的方法,其特征在于,将所述CPU中的第一程序数据更新为所述第二程序数据,包括:
所述CPU在第一预设时间内从所述第二存储器读取所述第二程序数据;
所述CPU根据所述第二程序数据的属性信息,对所述第二程序数据进行校验处理,得到所述第二程序数据的第二校验结果;
若所述第二校验结果表征所述第二程序数据校验通过,所述CPU将存储的第一程序数据更新为所述第二程序数据。
4.根据权利要求3所述的方法,其特征在于,所述安全防护模块还包括第二FPGA,所述第二FPGA分别与CPU和所述第一FPGA电性连接;将第一FPGA中的第一程序数据更新为所述第二程序数据,包括:
若所述第二校验结果表征所述第二程序数据校验通过,所述CPU将所述第二程序数据写入所述第二FPGA;
所述第二FPGA基于所述第二程序数据将第一FPGA中的第一程序数据刷新为所述第二程序数据。
5.根据权利要求1所述的方法,其特征在于,所述安全防护模块还包括第二FPGA,所述第二FPGA分别与CPU和所述第一FPGA电性连接;将第一FPGA中的第一程序数据更新为所述第二程序数据,包括:
所述CPU在第二预设时间内从所述第二存储器读取所述第二程序数据;
所述CPU根据所述第二程序数据的属性信息,对所述第二程序数据进行校验处理,得到所述第二程序数据的第三校验结果;
若所述第三校验结果表征所述第二程序数据校验通过,所述CPU将所述第二程序数据写入所述第二FPGA;
所述第二FPGA基于所述第二程序数据将第一FPGA中的第一程序数据刷新为所述第二程序数据。
6.根据权利要求4或5所述的方法,其特征在于,所述第二FPGA包括第三存储器和第四存储器;所述CPU将所述第二程序数据写入所述第二FPGA,包括:
所述CPU将所述第二程序数据写入所述第三存储器和所述第四存储器;
所述第二FPGA基于所述第二程序数据将第一FPGA中的第一程序数据刷新为所述第二程序数据,包括:
第二FPGA从所述第三存储器和第四存储器中分别读取所述第二程序数据;
所述第二FPGA根据所述第二程序数据的属性信息,对读取的所述第二程序数据进行校验处理,得到所述第二程序数据的第四校验结果;
若所述第四校验结果表征所述第二程序数据校验通过,所述第二FPGA根据通过校验的第三存储器或者第四存储器中的第二程序数据刷新第一FPGA中的第一程序数据。
7.根据权利要求1所述的方法,其特征在于,所述对所述加密后的第二程序数据进行解密,包括:
从所述加密后的第二程序数据中获取目标认证字符;其中,所述目标认证字符包括多种不同类型的认证字符;
判断所述目标认证字是否合法,若所述目标认证字符合法时,则对所述加密后的第二程序数据进行解密。
8.根据权利要求1所述的方法,其特征在于,所述根据所述第二程序数据的属性信息,对所述解密后的第二程序数据进行校验处理,得到所述第二程序数据的第一校验结果,包括:
根据所述第二程序数据的属性信息,计算得到第二程序数据的校验值;
通过对比第二任务对应的校验值和计算得到的第二程序数据的校验值得到第一校验结果。
9.根据权利要求2所述的方法,其特征在于,所述第二存储器为三个,在对所述加密后的分包重构数据进行解密,得到解密后的第二程序数据之后,所述方法包括:所述CPU将解密后的第二程序数据分别存储到三个第二存储器;
所述CPU从所述三个第二存储器中获取目标第二存储器。
10.一种卫星重构数据处理系统,其特征在于,包括中央处理器CPU、第一FPGA:
所述CPU,用于获取来自地面测控站中第二任务对应的加密后的分包重构数据;其中,所述分包重构数据包括加密后的第二程序数据和所述第二程序数据的属性信息;所述第二程序数据为用于处理所述第二任务对应的程序数据;
所述CPU,用于对所述加密后的第二程序数据进行解密,得到解密后的第二程序数据;
所述CPU,用于根据所述第二程序数据的属性信息,对所述解密后的第二程序数据进行校验处理,得到所述第二程序数据的第一校验结果;
所述CPU,用于根据第一校验结果,将自身存储的第一程序数据更新为所述第二程序数据;
所述CPU,用于根据第一校验结果,将所述第一FPGA中的第一程序数据更新为所述第二程序数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110342575.1A CN112926077B (zh) | 2021-03-30 | 2021-03-30 | 一种卫星重构数据处理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110342575.1A CN112926077B (zh) | 2021-03-30 | 2021-03-30 | 一种卫星重构数据处理方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112926077A true CN112926077A (zh) | 2021-06-08 |
CN112926077B CN112926077B (zh) | 2024-04-16 |
Family
ID=76176705
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110342575.1A Active CN112926077B (zh) | 2021-03-30 | 2021-03-30 | 一种卫星重构数据处理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112926077B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113343270A (zh) * | 2021-06-28 | 2021-09-03 | 郑州轻工业大学 | 一种基于人工智能的加密数据重构方法与系统 |
CN113885918A (zh) * | 2021-10-21 | 2022-01-04 | 北京微纳星空科技有限公司 | 一种更新程序的方法、装置、电子设备和存储介质 |
CN113918969A (zh) * | 2021-09-28 | 2022-01-11 | 厦门市美亚柏科信息股份有限公司 | 一种基于内存数据搜索Bitlocker解密密钥的方法 |
CN114189860A (zh) * | 2021-12-21 | 2022-03-15 | 四川安迪科技实业有限公司 | 卫星网络设备固定格式数据加密、解密方法及校验方法 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103873440A (zh) * | 2012-12-11 | 2014-06-18 | 北京旋极信息技术股份有限公司 | 一种应用程序的升级方法和系统 |
CN106027140A (zh) * | 2016-07-06 | 2016-10-12 | 大连理工大学 | 可重构卫星地面站系统及方法 |
CN107957972A (zh) * | 2017-10-30 | 2018-04-24 | 西安空间无线电技术研究所 | 一种基于fpga的在轨重构系统及方法 |
US20190141407A1 (en) * | 2016-11-30 | 2019-05-09 | The Directv Group, Inc. | Facilitating mixed service use of bonded satellite transponders |
CN110333881A (zh) * | 2019-03-22 | 2019-10-15 | 中国电子科技集团公司第五十四研究所 | 一种基于星载fpga处理的载荷类设备软件在轨重构方法 |
CN110377308A (zh) * | 2019-07-18 | 2019-10-25 | 上海擎感智能科技有限公司 | 数据升级方法、系统 |
CN111880841A (zh) * | 2020-07-28 | 2020-11-03 | 西安微电子技术研究所 | 一种星载固态存储器的程序重构方法、系统及设备 |
CN112332902A (zh) * | 2020-10-20 | 2021-02-05 | 西安空间无线电技术研究所 | 一种星上自主控制的在轨重构系统与方法 |
CN112468209A (zh) * | 2020-10-29 | 2021-03-09 | 西安空间无线电技术研究所 | 一种基于SpaceWire总线实现的在轨高速注入系统及方法 |
CN112491457A (zh) * | 2020-10-16 | 2021-03-12 | 浙江吉利控股集团有限公司 | 一种卫星在轨重构方法、装置、系统、设备及存储介质 |
CN112540559A (zh) * | 2020-11-19 | 2021-03-23 | 国家卫星气象中心(国家空间天气监测预警中心) | 一种程序上注人工控制方法 |
-
2021
- 2021-03-30 CN CN202110342575.1A patent/CN112926077B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103873440A (zh) * | 2012-12-11 | 2014-06-18 | 北京旋极信息技术股份有限公司 | 一种应用程序的升级方法和系统 |
CN106027140A (zh) * | 2016-07-06 | 2016-10-12 | 大连理工大学 | 可重构卫星地面站系统及方法 |
US20190141407A1 (en) * | 2016-11-30 | 2019-05-09 | The Directv Group, Inc. | Facilitating mixed service use of bonded satellite transponders |
CN107957972A (zh) * | 2017-10-30 | 2018-04-24 | 西安空间无线电技术研究所 | 一种基于fpga的在轨重构系统及方法 |
CN110333881A (zh) * | 2019-03-22 | 2019-10-15 | 中国电子科技集团公司第五十四研究所 | 一种基于星载fpga处理的载荷类设备软件在轨重构方法 |
CN110377308A (zh) * | 2019-07-18 | 2019-10-25 | 上海擎感智能科技有限公司 | 数据升级方法、系统 |
CN111880841A (zh) * | 2020-07-28 | 2020-11-03 | 西安微电子技术研究所 | 一种星载固态存储器的程序重构方法、系统及设备 |
CN112491457A (zh) * | 2020-10-16 | 2021-03-12 | 浙江吉利控股集团有限公司 | 一种卫星在轨重构方法、装置、系统、设备及存储介质 |
CN112332902A (zh) * | 2020-10-20 | 2021-02-05 | 西安空间无线电技术研究所 | 一种星上自主控制的在轨重构系统与方法 |
CN112468209A (zh) * | 2020-10-29 | 2021-03-09 | 西安空间无线电技术研究所 | 一种基于SpaceWire总线实现的在轨高速注入系统及方法 |
CN112540559A (zh) * | 2020-11-19 | 2021-03-23 | 国家卫星气象中心(国家空间天气监测预警中心) | 一种程序上注人工控制方法 |
Non-Patent Citations (1)
Title |
---|
王晓鸣: "一种船载双模海洋数据卫星传输系统的设计与实现", 《中国优秀硕士学位论文全文数据库 基础科学辑》, no. 02, 15 February 2020 (2020-02-15), pages 010 - 27 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113343270A (zh) * | 2021-06-28 | 2021-09-03 | 郑州轻工业大学 | 一种基于人工智能的加密数据重构方法与系统 |
CN113918969A (zh) * | 2021-09-28 | 2022-01-11 | 厦门市美亚柏科信息股份有限公司 | 一种基于内存数据搜索Bitlocker解密密钥的方法 |
CN113885918A (zh) * | 2021-10-21 | 2022-01-04 | 北京微纳星空科技有限公司 | 一种更新程序的方法、装置、电子设备和存储介质 |
CN113885918B (zh) * | 2021-10-21 | 2022-06-07 | 北京微纳星空科技有限公司 | 一种更新程序的方法、装置、电子设备和存储介质 |
CN114189860A (zh) * | 2021-12-21 | 2022-03-15 | 四川安迪科技实业有限公司 | 卫星网络设备固定格式数据加密、解密方法及校验方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112926077B (zh) | 2024-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112926077B (zh) | 一种卫星重构数据处理方法及系统 | |
CN110688662A (zh) | 一种敏感数据脱敏及逆脱敏方法、电子设备 | |
US20010015919A1 (en) | Method and apparatus for secure configuration of a field programmable gate array | |
US20080072070A1 (en) | Secure virtual RAM | |
US20220019425A1 (en) | Hot updating method of script file package and hot updating device of script file package | |
CN104956374A (zh) | 用于软件防回滚恢复的方法 | |
US10725861B2 (en) | Error correction code memory security | |
CN113806134A (zh) | 具有增量更新的多个高速缓存线上的基于聚合ghash的消息认证码 | |
WO2021164462A1 (zh) | 一种数据加密方法、数据解密方法、计算机设备和介质 | |
CN112131595B (zh) | 一种SQLite数据库文件安全存取方法及装置 | |
CN108170461A (zh) | 差分升级包生成方法、差分升级方法及装置 | |
CN113098585B (zh) | 一种卫星在轨重构系统、方法及星地链路通信系统 | |
CN114363055B (zh) | 数据传输方法、装置、计算机设备和存储介质 | |
CN114745373A (zh) | 一种文件传输方法、装置、设备及存储介质 | |
CN115242413A (zh) | 物联网设备固件安全升级方法、装置、电子设备及介质 | |
KR20230127951A (ko) | 데이터 보안 장치 | |
CN111400771A (zh) | 目标分区的校验方法及装置、存储介质、计算机设备 | |
CN112861109B (zh) | 一种基于ctid平台和前置系统生成的数字身份码及交互方法 | |
CN114679299B (zh) | 通信协议加密方法、装置、计算机设备和存储介质 | |
EP2905749B1 (en) | Communication method for a tolling system comprising a server and at least one on-board-unit | |
CN116150792A (zh) | 内存数据库的加密方法、数据库系统和电子设备 | |
CN113449269B (zh) | 核心模组激活方法、装置及存储介质 | |
CN115333609A (zh) | 一种卫星测控系统、方法、装置、设备及介质 | |
CN112632624A (zh) | 一种存储块加解密方法、系统、终端及存储介质 | |
US20190280884A1 (en) | Information distribution device, distribution target device, information distribution system, information distribution method, and non-transitory computer-readable medium |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |