一种弹上软件加密保护方法

文档序号:6507507阅读:214来源:国知局
一种弹上软件加密保护方法
【专利摘要】本发明属于计算机信息安全领域。具体涉及一种弹上软件加密保护方法。本发明技术方案在基于传统方法下进行核心软件的设计、开发和调试后,生成目标程序明文。区别于传统方法下直接将程序明文烧写到弹载计算机固化存储器中的做法,本发明中增加了加密流程,将目标程序明文采用高安全性的加密算法加密成密文,然后将密文烧写到弹载计算机固化存储器中。在弹载计算机硬件架构中,增加了硬件保护模块,主要对固化存储器中保存的程序密文进行解密。弹载计算机系统上电后,硬件保护模块从固化存储器中读取程序密文,利用自身的算法逻辑对密文解密,得到目标程序明文,再将明文交给处理器加载和执行,后续的工作与传统弹载计算机的启动运行流程保持一致。
【专利说明】一种弹上软件加密保护方法
【技术领域】
[0001]本发明属于计算机信息安全领域。具体涉及一种弹上软件加密保护方法。
【背景技术】
[0002]导弹是现代战争中最重要的武器装备。随着我国导弹信息化水平的不断提高,支撑导弹武器装备系统功能的弹载计算机系统及在其上运行的弹上软件也越来越复杂。然而,在目前我国的导弹武器装备系统设计条件下,包含了很多重要信息的核心软件都未做任何保护存储在嵌入式系统的存储单元中,软件可执行代码可方便的读出,加上软件的运行环境几乎是透明的,通过逆向分析和反汇编手段即可获取隐藏在软件中的核心算法及关键数据。这样,凝结了军事工业设计开发人员大量的心血、时间和资金的技术极易被破解和窃取。对于导弹武器装备的型号软件来说,特别是对于外贸导弹型号,弹上核心软件如果被破解,不仅关系到型号软件自主知识产权,更是关系到国家利益和国防安全。因此,需要对导弹武器装备中的核心软件采取相应的安全保护措施,保证核心算法、数据和指标参数的安全。
[0003]为实现对导弹武器装备核心软件的安全保护,需要充分了解通用的弹载计算机启动与工作流程。传统弹载计算机系统架构如附图I所示,系统的启动过程为:a)系统上电后,CPU复位信号由电路板上统一控制,板上复位信号拉低后使CPU启动运行;b)CPU首先读取板上ROM中的BIOS程序,加载到RAM并执行,完成系统的一级启动;c) BIOS程序完成相应的初始化工作后,定向到固化存储器(EPR0M或Flash)程序存储地址,CPU读取固化保存的目标程序加载到RAM中,并执行,这就完成了二级启动,随后目标程序运行完成相应的系统功能。

【发明内容】

[0004](一)要解决的技术问题
[0005]本发明要解决的技术问题是:如何针对一般的弹载计算机系统架构,通过设计硬件保护模块和系统工作流程,如何实现核心软件在嵌入式存储器中的加密存储和在线解密运行,防止核心软件被轻易的读取和破解,从而提高核心软件的安全性。
[0006](二)技术方案
[0007]为解决上述技术问题,本发明提供一种弹上软件加密保护方法,所述方法基于硬件保护模块来实施,所述硬件保护模块通过总线与CPU进行通信,用于控制弹载计算机的中央处理器CPU的复位信号和调试信号,同时,所述硬件保护模块连接固化存储器;所述硬件保护模块包括:可编程门阵列FPGA和SRAM ;其中,所述FPGA中通过门阵逻辑实现加密算法,用于解密目标程序密文;所述SRAM用于缓存解密目标程序密文后得到的明文;其中,
[0008]所述方法包括如下步骤:
[0009]步骤SI :在基于传统方法下进行核心软件的设计、开发和调试后,生成目标程序明文;上位机采用高安全性的加密算法将目标程序明文加密成密文,然后将密文烧写到弹载计算机的固化存储器中;
[0010]步骤S2 :系统上电后,CPU复位信号由硬件保护模块控制,硬件保护模块上电后维持复位信号高位状态,阻止CPU启动;
[0011]步骤S3 :硬件保护模块从固化存储器中读取固化保存的目标程序密文,通过内部解密算法将密文解密,同步将解密后得到的明文保存到硬件保护模块内部的SRAM中;
[0012]步骤S4 :完成目标程序整体解密后,即目标程序明文已经整体保存在硬件保护模块的内部SRAM中后,硬件保护模块拉低CPU复位信号;
[0013]步骤S5 :CPU首先读取板上ROM中的BIOS程序,加载到RAM并执行,完成系统的一级启动;
[0014]步骤S6 :BI0S程序完成相应的初始化工作后,定向到硬件保护模块内部SRAM的地址映射,CPU以硬件保护模块内部SRAM作为传统架构下的固化存储器,读取SRAM中缓存的目标程序明文加载到RAM中,并执行,完成二级启动;
[0015]步骤S7 :随后,目标程序运行,完成相应的系统功能。
[0016]其中,所述上位机采用的加密算法与所述硬件保护模块采用的加密算法互为对称加密算法,上位机中的加密算法与硬件保护模块中的解密算法保持一致,同时加密算法所用的密钥也要与硬件保护模块中解密时所用的密钥一致。
[0017]其中,所述上位机采用的加密算法与所述硬件保护模块采用的加密算法为AES加
密算法。
[0018]其中,所述上位机采用的加密算法与所述硬件保护模块采用的加密算法为商用加密算法或国密算法。
[0019](三)有益效果
[0020]本发明通过采用可靠性高、密码学上安全的商用加密算法或国密算法,将弹载计算机核心软件代码加密后再存储,可以防止对核心软件程序的读取、反演和破解分析,有效的提高了核心知识产权的安全性。
【专利附图】

【附图说明】
[0021]图I是传统弹载计算机系统架构。
[0022]图2是本发明技术方案的原理示意图。
[0023]图3是本发明中的弹载计算机架构。
【具体实施方式】
[0024]为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的【具体实施方式】作进一步详细描述。
[0025]为解决现有技术的问题,本发明技术方案在基于传统方法下进行核心软件的设计、开发和调试后,生成目标程序明文。区别于传统方法下直接将程序明文烧写到弹载计算机固化存储器中的做法,本发明中增加了一个加密流程,将目标程序明文采用高安全性的加密算法加密成密文,然后将密文烧写到弹载计算机固化存储器中。
[0026]在弹载计算机硬件架构中,增加了一个硬件保护模块,主要功能是对固化存储器中保存的程序密文进行解密。这样,弹载计算机系统上电后,硬件保护模块从固化存储器中读取程序密文,利用自身的算法逻辑对密文解密,得到目标程序明文,再将明文交给处理器加载和执行,后续的工作与传统弹载计算机的启动运行流程保持一致。
[0027]具体而言,如图2所示,本发明所提供的弹上软件加密保护方法,其基于硬件保护模块来实施,所述硬件保护模块通过总线与CPU进行通信,用于控制弹载计算机的中央处理器CPU的复位信号和调试信号,同时,所述硬件保护模块连接固化存储器;所述硬件保护模块包括:可编程门阵列FPGA和SRAM ;其中,所述FPGA中通过门阵逻辑实现加密算法,用于解密目标程序密文;所述SRAM用于缓存解密目标程序密文后得到的明文;其中,
[0028]所述方法包括如下步骤:
[0029]步骤SI :在基于传统方法下进行核心软件的设计、开发和调试后,生成目标程序明文;上位机采用高安全性的加密算法将目标程序明文加密成密文,然后将密文烧写到弹载计算机的固化存储器中;
[0030]步骤S2 :系统上电后,CPU复位信号由硬件保护模块控制,硬件保护模块上电后维持复位信号高位状态,阻止CPU启动;
[0031]步骤S3 :硬件保护模块从固化存储器中读取固化保存的目标程序密文,通过内部解密算法将密文解密,同步将解密后得到的明文保存到硬件保护模块内部的SRAM中;
[0032]步骤S4 :完成目标程序整体解密后,即目标程序明文已经整体保存在硬件保护模块的内部SRAM中后,硬件保护模块拉低CPU复位信号;
[0033]步骤S5 =CPU首先读取板上ROM中的BIOS程序,加载到RAM并执行,完成系统的一级启动;
[0034]步骤S6 =BIOS程序完成相应的初始化工作后,定向到硬件保护模块内部SRAM的地址映射,CPU以硬件保护模块内部SRAM作为传统架构下的固化存储器,读取SRAM中缓存的目标程序明文加载到RAM中,并执行,完成二级启动;
[0035]步骤S7 :随后,目标程序运行,完成相应的系统功能。
[0036]其中,所述上位机采用的加密算法与所述硬件保护模块采用的加密算法互为对称加密算法,上位机中的加密算法与硬件保护模块中的解密算法保持一致,同时加密算法所用的密钥也要与硬件保护模块中解密时所用的密钥一致。
[0037]其中,所述上位机采用的加密算法与所述硬件保护模块采用的加密算法为AES加
密算法。
[0038]其中,所述上位机采用的加密算法与所述硬件保护模块采用的加密算法为商用加密算法或国密算法。
[0039]下面结合具体实施例来详细说明。
[0040]实施例
[0041]本实施例如附图2所示,本实施例方案的核心是目标程序加密后固化存储,系统启动后再实时解密运行。为了保证加密/解的速度,上位机加密和硬件保护模块中采用的加密算法是对称加密算法,如AES (Advanced Encryption Standard,高级加密标准)加密算法、商用加密算法或其他国密算法。在实现上,要求上位机中的加密算法与硬件保护模块中的解密算法保持一致,同时加密算法所用的密钥也要与硬件保护模块中解密时所用的密钥一致。
[0042](2)硬件保护模块的设计。硬件保护模块是本发明的重点,如附图3所示,该模块由可编程门阵列FPGA和SRAM静态随机存储器设计实现,其中,FPGA中通过门阵逻辑实现加密算法,可以解密目标程序密文;SRAM用于缓存解密目标程序密文后得到的明文。
[0043](3)本实施例中对弹载计算机的启动工作流程与传统方法相比有了部分更改,详细如附图3所示。主要区别是弹载计算机的中央处理器CPU的复位信号和调试信号由硬件保护模块控制,同时固化存储器不再连接到CPU总线,而是与硬件保护模块连接。系统的具体启动过程为:
[0044]a)系统上电后,CPU复位信号由硬件保护模块控制,硬件保护模块上电后维持复位信号高位状态,阻止CPU启动;
[0045]b)硬件保护模块从固化存储器中读取固化保存的目标程序密文,通过内部解密逻辑将密文解密,同步将解密后得到的明文保存到硬件保护模块的内部SRAM中;
[0046]c)完成目标程序整体解密后,即目标程序明文已经整体保存在硬件保护模块的内部SRAM中后,硬件保护模块拉低CPU复位信号;
[0047]d)与传统情况类似,CPU首先读取板上ROM中的BIOS程序,加载到RAM并执行,完成系统的一级启动;
[0048]e) BIOS程序完成相应的初始化工作后,定向到硬件保护模块内部SRAM的地址映射,这样,CPU就将硬件保护模块内部SRAM当成的传统架构下的固化存储器,CPU读取SRAM中缓存的目标程序明文加载到RAM中,并执行,这就完成了二级启动;
[0049]f)随后目标程序运行,完成相应的系统功能,与传统架构下一致。
[0050]以上所述仅是本发明的优选实施方式,应当指出,对于本【技术领域】的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
【权利要求】
1.一种弹上软件加密保护方法,其特征在于,所述方法基于硬件保护模块来实施,所述硬件保护模块通过总线与CPU进行通信,用于控制弹载计算机的中央处理器CPU的复位信号和调试信号,同时,所述硬件保护模块连接固化存储器;所述硬件保护模块包括:可编程门阵列FPGA和SRAM ;其中,所述FPGA中通过门阵逻辑实现加密算法,用于解密目标程序密文;所述SRAM用于缓存解密目标程序密文后得到的明文;其中, 所述方法包括如下步骤: 步骤SI :在基于传统方法下进行核心软件的设计、开发和调试后,生成目标程序明文;上位机采用高安全性的加密算法将目标程序明文加密成密文,然后将密文烧写到弹载计算机的固化存储器中; 步骤S2 :系统上电后,CPU复位信号由硬件保护模块控制,硬件保护模块上电后维持复位信号高位状态,阻止CPU启动; 步骤S3 :硬件保护模块从固化存储器中读取固化保存的目标程序密文,通过内部解密算法将密文解密,同步将解密后得到的明文保存到硬件保护模块内部的SRAM中; 步骤S4 :完成目标程序整体解密后,即目标程序明文已经整体保存在硬件保护模块的内部SRAM中后,硬件保护模块拉低CPU复位信号; 步骤S5 =CPU首先读取板上ROM中的BIOS程序,加载到RAM并执行,完成系统的一级启动; 步骤S6 =BIOS程序完成相应的初始化工作后,定向到硬件保护模块内部SRAM的地址映射,CPU以硬件保护模块内部SRAM作为传统架构下的固化存储器,读取SRAM中缓存的目标程序明文加载到RAM中,并执行,完成二级启动; 步骤S7 :随后,目标程序运彳T,完成相应的系统功能。
2.如权利要求I所述的弹上软件加密保护方法,其特征在于,所述上位机采用的加密算法与所述硬件保护模块采用的加密算法互为对称加密算法,上位机中的加密算法与硬件保护模块中的解密算法保持一致,同时加密算法所用的密钥也要与硬件保护模块中解密时所用的密钥一致。
3.如权利要求I所述的弹上软件加密保护方法,其特征在于,所述上位机采用的加密算法与所述硬件保护模块采用的加密算法为AES加密算法。
4.如权利要求I所述的弹上软件加密保护方法,其特征在于,所述上位机采用的加密算法与所述硬件保护模块采用的加密算法为商用加密算法或国密算法。
【文档编号】G06F21/12GK103488916SQ201310347652
【公开日】2014年1月1日 申请日期:2013年8月12日 优先权日:2013年8月12日
【发明者】王可, 朱天成, 李红军, 鲁毅, 李鑫 申请人:中国航天科工集团第三研究院第八三五七研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1