首页 / 专利库 / 软件 / 软件 / 嵌入式软件加密/解密系统及方法

嵌入式软件加密/解密系统及方法

阅读:176发布:2021-06-06

专利汇可以提供嵌入式软件加密/解密系统及方法专利检索,专利查询,专利分析的服务。并且本 发明 属于计算机安全技术,具体公开了一种嵌入式 软件 加密/解密系统及方法,系统包括处理器单元、逻辑加密单元、外部 存储器 单元和调试单元,通过仿真调试 信号 、仿真调试加密信号、处理器单元总线信号和总线加密信号在模 块 之间的传递实现软件加密/解密过程,方法采用上述系统将嵌入式软件明文写入之后,通过上述信号的转换,实现加密解密之后处理器单元运行嵌入式软件。软件的加密和解密均在逻辑加密单元完成,实现在线加密和在线解密的集中控制管理,无独立加密过程,简化了中间流程,增加了破解难度。,下面是嵌入式软件加密/解密系统及方法专利的具体信息内容。

1.嵌入式软件加密/解密系统,包括处理器单元(1)、逻辑加密单元(2)、外部存储器单元(3)和调试单元(4),其特征在于,处理器单元(1)和逻辑加密单元(2)的数据传输端相连接,相互传递理器单元仿真调试信号a和处理器单元总线信号c;同时逻辑加密单元(2)和外部存储器单元(3)的数据传输端相连接,相互传递总线加密信号d;逻辑加密单元(2)和调试单元(4)的数据传输端相连接,互相传递仿真调试加密信号b;所述的处理器单元(1)接受逻辑加密单元(2)发射的复位信号。
2.如权利要求1所述的嵌入式软件加密/解密系统,其特征在于:所述的处理器单元(1)利用BGA封装数字信号处理器实现,运行嵌入式软件;逻辑加密单元(2)利用BGA封装、具有密码保护功能的可编程逻辑器件实现,完成仿真调试接口的加密和解密,完成嵌入式软件的实时加密和解密;外部存储器单元(3)利用BGA封装FLASH存储器实现,用于存储嵌入式软件密文;调试单元(4)与系统外部集成开发环境(5)连接,用于软件的在线调试和仿真。
3.嵌入式软件加密/解密方法,其特征在于,该方法包括如下步骤:
步骤1、进行软件明文的加密和固化;上位机(6)将Boot Loader代码通过信号f写入计算机系统,该代码用于嵌入式软件加载;
步骤2、逻辑加密单元(2)将接口信号f传入的Boot Loader代码加密为密文,并通过信号d写入外部存储器单元进行固化存储;
步骤3、上位机(6)将嵌入式软件明文通过接口信号f写入计算机系统;
步骤4、逻辑加密单元(2)将上位机(6)发射的接口信号f传入的嵌入式软件明文加密为密文,并通过信号d写入外部存储器单元(3)进行固化存储;
步骤5、逻辑加密单元(2)发射复位信号e至处理器单元(1),启动软件密文解密和加载流程;
步骤6、逻辑加密单元通过信号d读取外部存储器单元(3)的Boot Loader代码密文,实时解密成明文,通过信号c传输给处理器单元;
步骤7:处理器单元(1)运行Boot Loader代码,开始进行嵌入式软件加载,逻辑加密单元(2)通过信号d读取外部存储器单元(3)的嵌入式软件密文,实时解密成明文,通过信号c传输给处理器单元(1);
步骤8、处理器单元(1)运行嵌入式软件。
4.如权利要求3所述的嵌入式软件加密/解密方法,其特征在于,所述的步骤8之后进行步骤9;
步骤9、计算机系统正常运行后,产生的需要存储的数据,可以实时通过信号c传递给逻辑加密单元(2)加密,再经过信号d固化在外部存储器单元(3)中。
5.如权利要求3所述的嵌入式软件加密/解密方法,其特征在于:所述的步骤1之前获取调试单元(4)的接口使用授权。
6.如权利要求3所述的嵌入式软件加密/解密方法,其特征在于:所述的步骤1之前,在集成开发环境(5)中进行嵌入式软件开发、编译,通过调试单元(4)与计算机系统连接,进行在线调试。

说明书全文

嵌入式软件加密/解密系统及方法

技术领域

[0001] 本发明属于计算机安全技术,具体涉及一种嵌入式软件加密/解密系统及方法。

背景技术

[0002] 随着我国武器系统的不断发展和提高,越来越多的产品出口国外,灌装在产品内的嵌入式软件在不加密的情况下,极易被获取并破解,导致核心设计和关键技术被窃取,威胁我国国防利益和安全,因此对嵌入式软件进行加密尤为重要。
[0003] 目前,在传统嵌入式计算机系统架构下,进行软件加密的方法有限,且软件加密环节和解密环节分开执行。软件加密在计算机系统外部执行,由PC机或其它设备进行离线加密,形成软件密文固化到计算机存储器内;软件解密由计算机系统在软件运行前进行预先在线解密并存储软件明文,供计算机处理器加载使用;这种方法采用离线加密和在线解密两个环节实现软件的加密/解密过程,任何一个环节泄密均会导致软件被破解,且需要独立的软件解密和存储明文的过程,软件加载实时性不高。

发明内容

[0004] 本发明的目的在于提供一种嵌入式软件加密/解密系统及方法,强化软件加密和解密过程实时性,提升软件破解难度,从而提高核心软件的安全性。
[0005] 本发明的技术方案如下:
[0006] 嵌入式软件加密/解密系统,包括处理器单元、逻辑加密单元、外部存储器单元和调试单元,处理器单元和逻辑加密单元的数据传输端相连接,相互传递处理器单元仿真调试信号a和处理器单元总线信号c;同时逻辑加密单元和外部存储器单元的数据传输端相连接,相互传递总线加密信号d;逻辑加密单元和调试单元的数据传输端相连接,互相传递仿真调试加密信号b;所述的处理器单元接受逻辑加密单元发射的复位信号。
[0007] 在上述嵌入式软件加密/解密系统中:所述的处理器单元利用BGA封装数字信号处理器实现,运行嵌入式软件;逻辑加密单元利用BGA封装、具有密码保护功能的可编程逻辑器件实现,完成仿真调试接口的加密和解密,完成嵌入式软件的实时加密和解密;外部存储器单元利用BGA封装FLASH存储器实现,用于存储嵌入式软件密文;调试单元与系统外部集成开发环境连接,用于软件的在线调试和仿真。
[0008] 嵌入式软件加密/解密方法,该方法包括如下步骤:
[0009] 步骤1、进行软件明文的加密和固化;上位机将Boot Loader代码通过信号f写入计算机系统,该代码用于嵌入式软件加载;
[0010] 步骤2、逻辑加密单元将接口信号f传入的Boot Loader代码加密为密文,并通过信号d写入外部存储器单元进行固化存储;
[0011] 步骤3、上位机将嵌入式软件明文通过接口信号f写入计算机系统;
[0012] 步骤4、逻辑加密单元将上位机发射的接口信号f传入的嵌入式软件明文加密为密文,并通过信号d写入外部存储器单元进行固化存储;
[0013] 步骤5、逻辑加密单元发射复位信号e至处理器单元,启动软件密文解密和加载流程;
[0014] 步骤6、逻辑加密单元通过信号d读取外部存储器单元的Boot Loader代码密文,实时解密成明文,通过信号c传输给处理器单元;
[0015] 步骤7:处理器单元运行Boot Loader代码,开始进行嵌入式软件加载,逻辑加密单元通过信号d读取外部存储器单元的嵌入式软件密文,实时解密成明文,通过信号c传输给处理器单元;
[0016] 步骤8、处理器单元运行嵌入式软件。
[0017] 在上述的嵌入式软件加密/解密方法中,所述的步骤8之后进行步骤9,计算机系统正常运行后,产生的需要存储的数据,可以实时通过信号c传递给逻辑加密单元加密,再经过信号d固化在外部存储器单元中。
[0018] 在上述的嵌入式软件加密/解密方法中,所述的步骤1之前获取调试单元的接口使用授权。
[0019] 在上述的嵌入式软件加密/解密方法中,所述的步骤1之前,在集成开发环境中进行嵌入式软件开发、编译,通过调试单元与计算机系统连接,进行在线调试。
[0020] 本发明的显著效果在于:
[0021] 1、软件的加密和解密均在逻辑加密单元完成,实现在线加密和在线解密的集中控制管理,无独立加密过程,简化了中间流程,增加了破解难度。
[0022] 2、总线信号和仿真调试信号在逻辑加密单元内执行加密算法,采用可编程逻辑器件实现,加密/解密算法配置灵活,执行效率高,破解难度很大,且不需要额外的硬件资源。
[0023] 3、加密/解密过程物理实现,无处理器和软件参与,速度快,实现软件的同步解密和同步运行。附图说明
[0024] 图1为嵌入式软件加密/解密系统示意图;
[0025] 图2为嵌入式软件加密/解密系统使用示意图;
[0026] 图中:a.处理器单元仿真调试信号;b.仿真调试加密信号;c.处理器单元总线信号;d.总线加密信号;e.复位信号;f.接口信号;1.处理器单元;2.逻辑加密单元;3.外部存储器单元;4.调试单元;5.集成开发环境;6.上位机。

具体实施方式

[0027] 下面结合附图及具体实施例对本实用新型作进一步详细说明。
[0028] 如图1和图2所示,嵌入式软件加密/解密系统包括处理器单元1、逻辑加密单元2、外部存储器单元3和调试单元4。处理器单元1和逻辑加密单元2之间互相传递处理器单元仿真调试信号a和处理器单元总线信号c,逻辑加密单元2和外部存储器单元3相互传递总线加密信号d,逻辑加密单元2和调试单元4传递仿真调试加密信号b。同时,处理器单元1接受逻辑加密单元2发射的复位信号。
[0029] 处理器单元1利用BGA封装数字信号处理器实现,运行嵌入式软件。
[0030] 处理器单元1发射处理器单元仿真调试信号a至逻辑加密单元2;处理器单元1发射处理器单元总线信号c连接进入逻辑加密单元2。
[0031] 逻辑加密单元2利用BGA封装、具有密码保护功能的可编程逻辑器件实现,完成仿真调试接口的加密和解密,完成嵌入式软件的实时加密和解密。
[0032] 逻辑加密单元2将接收到的单元仿真调试信号a的多位信号线经过重新排序后转换为仿真调试加密信号b,发射至调试单元4,使处理器单元1和调试单元4之间的数据通道经过加密,实现处理器单元仿真调试信号a加密,防止在线获取程序文件及篡改软件固化状态。
[0033] 逻辑加密单元2将接收到的仿真调试加密信号b(调试单元4发射至逻辑加密单元2)经过转换后为信号a,实现在线调试的嵌入式软件解密流程。
[0034] 逻辑加密单元2将接收到的处理器单元总线信号c的多位信号线经过重新排序后转换为总线加密信号d,连接进入外部存储器单元3,使处理器单元1和外部存储器单元3之间的数据通道经过加密,实现嵌入式软件的加密。
[0035] 逻辑加密单元2将接收到的总线加密信号d(外部存储器单元3发射至逻辑加密单元2)经过转换后为处理器单元总线信号c,实现外部存储器单元3存储的嵌入式软件向处理器单元1的解密转换。
[0036] 逻辑加密单元2的输出端向处理器单元1发射处理器复位信号e,作为软件加载的启动信号。
[0037] 为防止在线信号监测,读取程序明文,上述所有模之间的信号传输通道均在印制板内层走线。
[0038] 外部存储器单元3利用BGA封装FLASH存储器实现,用于存储嵌入式软件密文。
[0039] 调试单元4与系统外部集成开发环境5连接,用于软件的在线调试和仿真。
[0040] 基于上述系统所设计的嵌入式软件加密/解密方法,步骤如下:
[0041] 步骤1:获取调试单元4的接口使用授权;
[0042] 防止在未授权情况下通过调试单元4的接口获得运行内存的软件明文或随意更改程序文件。
[0043] 步骤2:在集成开发环境5中进行嵌入式软件开发、编译,通过调试单元4与计算机系统连接,进行在线调试。
[0044] 通过逻辑加密单元2信号b转信号a完成集成开发环境指令的写入,逻辑加密单元2将信号a转换信号b完成处理器应答信号的传出,以此建立计算机系统与开发环境的通讯连接;通过信号b转信号a实现嵌入式软件在处理器单元1的在线运行,完成嵌入式软件的调试、开发。
[0045] 步骤3:在线调试结束后,进行软件明文的加密和固化;上位机6将Boot Loader代码通过信号f写入计算机系统,该代码用于嵌入式软件加载。
[0046] 步骤4:计算机系统逻辑加密单元将信号f传入的Boot Loader代码加密为密文,并通过信号d写入外部存储器单元进行固化存储。
[0047] 步骤5:嵌入式软件调试完成后形成最终的可执行文件,即嵌入式软件明文;上位机将嵌入式软件明文通过信号f写入计算机系统。
[0048] 步骤6:计算机系统逻辑加密单元2将上位机6发射的接口信号f传入的嵌入式软件明文加密为密文,并通过信号d写入外部存储器单元3进行固化存储,此时完成了软件明文的加密和固化。
[0049] 步骤7:计算机系统上电后,逻辑加密单元2发射复位信号e至处理器单元1,启动软件密文解密和加载流程,包括Boot Loader代码和嵌入式软件两个流程,软件解密过程与加载过程同步进行。
[0050] 步骤8:逻辑加密单元通过信号d读取外部存储器单元3的Boot Loader代码密文,实时解密成明文,通过信号c传输给处理器单元,完成系统的一级加载。
[0051] 步骤9:处理器单元1运行Boot Loader代码,完成相应功能初始化,开始进行嵌入式软件加载。逻辑加密单元2通过信号d读取外部存储器单元3的嵌入式软件密文,实时解密成明文,通过信号c传输给处理器单元1,完成系统的二级加载。此时完成了软件密文的解密和加载。
[0052] 步骤10:处理器单元1运行嵌入式软件,实现计算机系统功能。
[0053] 步骤11:计算机系统正常运行后,产生的需要存储的数据,可以实时通过信号c传递给逻辑加密单元2加密,再经过信号d固化在外部存储器单元3中。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈