掌桥专利:专业的专利平台
掌桥专利
首页

一种固件安全处理系统及加密、解密方法

文献发布时间:2024-04-18 20:00:50


一种固件安全处理系统及加密、解密方法

技术领域

本公开一般涉及信息安全技术领域,具体涉及一种固件安全处理系统及加密、解密方法。

背景技术

固件时写入到程序中的程序,是广泛应用于现代电子系统设备中的构件。固件承担着一个系统最基础最底层的工作,直接控制系统设备中的硬件,比如计算机加电后第一个启动的程序BIOS。

存储器是现代信息社会中很多设备不可或缺的重要组成部分,而Flash存储器(又称“闪存”)作为现代信息系统应用中的一种幼稚存储器件,具备信息可擦除、可编写,掉电不会丢失、可以长期保存的特点,通常被作为固件存储器的选择。在使用Flash存储器作为固件存储的系统中,一般都会使用Flash控制器对Flash进行读写操作。但市面上大部分Flash控制器都没有加密功能,一旦存储了用户固件的Flash存储器丢失或者被人窃取,就有可能造成用户固件程序的信息泄露,因此,对于Flash控制器需要增设提高安全性的功能。

发明内容

鉴于现有技术中的上述缺陷或不足,期望提供一种固件安全处理系统及加密、解密方法以解决上述问题。

本申请第一方面提供一种固件安全处理系统,包括:

上位机;

存储器,所述存储器用于存储一级用户固件和二级用户固件,所述一级用户固件至少包括用于修改上位机接口的时序配置,以及二级用户固件的存储地址;

Flash控制器,所述Flash控制器包括直通通道模块、加密/解密通道模块、QSPI协议控制模块和通道切换模块;所述直通通道模块与所述存储器连接,所述加密/解密通道模块通过所述QSPI协议控制模块与所述存储器连接;当所述上位机的接口时序配置与所述QSPI协议控制模块的接口时序配置一致时,所述通道切换模块连接所述上位机与所述加密/解密通道模块,否则,所述通道切换模块连接所述上位机与所述直通通道模块。

根据本申请实施例提供的技术方案,还包括PC主机,所述PC主机与所述存储器连接,用于将未加密的一级用户固件和二级用户固件烧写至存储器。

根据本申请实施例提供的技术方案,所述直通通道模块和所述加密/解密通道模块有且仅有一个与所述上位机连接。

根据本申请实施例提供的技术方案,所述加密/解密通道模块采用SM4分组密码算法。

根据本申请实施例提供的技术方案,所述处理系统包括加密过程和解密过程,处于所述加密过程时,所述加密/解密通道模块由所述上位机向所述存储器方向传输数据;处于所述解密过程时,所述加密/解密通道模块由所述存储器向所述上位机方向传输数据。

本申请第二方面提供一种固件安全加密方法,基于上述的固件安全处理系统,包括如下步骤:

存储器存入未加密的一级用户固件和二级用户固件;

上位机通过所述直通通道模块读取所述存储器中的一级用户固件,获取所述一级用户固件中指定的二级用户固件存储地址;并根据所述时序配置修改自身的接口时序;

上位机依据所述二级用户固件存储地址读取所述存储器中的二级用户固件;

上位机判断自身的接口时序配置与所述QSPI协议控制模块一致时,发送切换指令,所述切换指令用于指示所述切换通道模块连接所述加密/解密通道模块和上位机;

上位机通过所述加密/解密通道模块将所述二级用户固件加密后写入所述存储器中。

根据本申请实施例提供的技术方案,加密后的二级用户固件写入所述存储器之后,覆盖之前未加密的所述二级用户固件。

本申请第三方面提供一种固件安全解密方法,基于上述的固件安全处理系统,包括如下步骤:

上位机通过直通通道模块读取存储器中的一级用户固件,获取所述一级用户固件中指定的二级用户固件存储地址,并根据所述时序配置修改自身的接口时序;

上位机判断自身的接口时序配置与所述QSPI协议控制模块一致时,发送切换指令,所述切换指令用于指示所述切换通道模块连接所述加密/解密通道模块与所述上位机;

上位机依据所述二级用户固件存储地址确定所述存储器中的二级用户固件的位置;

上位机通过所述SM4解密通道模块对所述存储器中加密之后二级固件进行解密。

与现有技术相比,本申请的有益效果在于:本申请通过在Flash控制器中设置直通通道模块、加密/解密通道模块、QSPI协议控制模块和通道切换模块,使得上位机可通过所述直通通道模块从所述存储器中读取一级用户固件,根据所述一级用户固件获得二级用户固件的存储地址,便于上位机在存储器中找到二级用户固件的位置;同时根据所述一级用户固件还能修改上位机的接口时序,当上位机的接口时序与QSPI协议控制模块的接口时序一致时,上位机可通过所述加密/解密通道模块连接所述存储器,进而可对二级用户固件进行加密或者解密。本申请提供的固件安全处理系统可对存储在所述存储器内的二级用户固件进行加密和解密,提高了数据的安全性。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:

图1为本申请实施例1提供的固件安全处理系统的结构示意图;

图2为本申请实施例2提供的固件安全加密方法的步骤流程图;

图3为本申请实施例3提供的固件安全解密方法的步骤流程图。

具体实施方式

下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与发明相关的部分。

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。

实施例1

请参考图1,本实施例提供一种固件安全处理系统,包括:

上位机;

存储器,所述存储器用于存储一级用户固件和二级用户固件,所述一级用户固件至少包括用于修改上位机接口的时序配置,以及二级用户固件的存储地址;

Flash控制器,所述Flash控制器包括直通通道模块、加密/解密通道模块、QSPI协议控制模块和通道切换模块;所述直通通道模块与所述存储器连接,所述加密/解密通道模块通过所述QSPI协议控制模块与所述存储器连接;当所述上位机的接口时序配置与所述QSPI协议控制模块的接口时序配置一致时,所述通道切换模块连接所述上位机与所述加密/解密通道模块,否则,所述通道切换模块连接所述上位机与所述直通通道模块。

进一步地,还包括PC主机,所述PC主机与所述存储器连接,用于将未加密的一级用户固件和二级用户固件烧写至存储器。

进一步地,所述直通通道模块和所述加密/解密通道模块有且仅有一个与所述上位机连接。

具体的,上位机的固件启动流程分为一级boot和二级boot。一级boot固件固化在上位机内部,用户不能更改,一级boot固件负责将外部存储的一级用户固件加载到上位机的程序执行空间;一级boot完成后,进行二级boot,此时一级用户固件开始运行;通常一级用户固件是一段引导程序,该引导程序使用户可自定义的,一般用户会通过该引导程序加载运行二级用户固件至程序执行空间,从而完成整个用户固件的加载执行。一般二级用户固件对用户来说时具有重要意义的,本文的Flash控制器能完成对二级用户固件的安全加密保护。

本申请中上位机和Flash均为QSPI接口,相互之间通过QSPI总线进行通信。一级boot通过QSPI接口读取一级用户程序,所述一级用户程序基于一级用户固件执行,此时的QSPI总线使用的是上位机的默认配置,QSPI协议控制模块的默认时序配置一般为固定值,且不能更改,当上位机的QSPI接口与QSPI协议控制模块的时序配置不一致时无法直接通信;而Flash控制器内部设计有直通通路模块,此时需要使用直通通路模块将上位机的QSPI结构直连存储器接口,以保证一级boot程序正常运行。在上位机内部,一级boot程序执行完毕后,一级用户程序开始执行,在一级用户程序内通过配置修改上位机的QSPI接口时序配置,保持与Flash控制器中的QSPI协议控制模块的接口时序配置一致,之后上位机编能使用Flash控制器的加密/解密通道模块进行数据通信,进行数据的加密或者解密。

在一优选实施方式中,所述加密/解密通道模块采用SM4分组密码算法。

进一步地,所述加密/解密通道模块采用的算法不限于SM4分组密码算法,还可采用AES算法。

在一优选实施方式中,所述处理系统包括加密过程和解密过程,处于所述加密过程时,所述加密/解密通道模块由所述上位机向所述存储器方向传输数据;处于所述解密过程时,所述加密/解密通道模块由所述存储器向所述上位机方向传输数据。

实施例2

请参考图2,本实施例提供一种固件安全加密方法,基于实施例1所述的固件安全处理系统,包括如下步骤:

S11、存储器存入未加密的一级用户固件和二级用户固件;

S12、上位机通过所述直通通道模块读取所述存储器中的一级用户固件,获取所述一级用户固件中指定的二级用户固件存储地址;并根据所述时序配置修改自身的接口时序;

S13、上位机依据所述二级用户固件存储地址读取所述存储器中的二级用户固件;

S14、上位机判断自身的接口时序配置与所述QSPI协议控制模块一致时,发送切换指令,所述切换指令用于指示所述切换通道模块连接所述加密/解密通道模块和上位机;

S15、上位机通过所述加密/解密通道模块将所述二级用户固件加密后写入所述存储器中。

进一步地,加密后的二级用户固件写入所述存储器之后,覆盖之前未加密的所述二级用户固件。

具体的,在本实施例中主要涉及对用户固件进行加密,用户固件包括一级用户固件和二级用户固件两部分,加密是针对二级用户固件进行加密。

用户固件加密的具体步骤为:

PC主机负责将制作好的原始用户固件文件直接烧写至存储器中,之后上位机通过直通通道模块直接读取存储器中的一级用户固件,在一级用户固件中找到指定的二级用户固件的存储地址,通过该地址读取存储器中的二级用户固件;接着,上位机根据所述以及用户固件中的时序配置修改自身的QSPI接口时序,当上位机的QSPI接口时序与QSPI协议控制模块时序一致时,上位机发出切换指令请求切换通道,所述通道切换模块打开所述加密/解密通道;接着上位机再将读取的二级用户固件通过加密/解密通道加密之后写入到存储器中,加密之后的二级用户固件覆盖掉之前未经加密的二级用户固件,从而完成二级用户固件的安全加密保护。

实施例3

请参考图3,本实施例提供一种固件安全解密方法,基于实施例1所述的固件安全处理系统,包括如下步骤:

S21、上位机通过直通通道模块读取存储器中的一级用户固件,获取所述一级用户固件中指定的二级用户固件存储地址,并根据所述时序配置修改自身的接口时序;

S22、上位机判断自身的接口时序配置与所述QSPI协议控制模块一致时,发送切换指令,所述切换指令用于指示所述切换通道模块连接所述加密/解密通道模块与所述上位机;

S23、上位机依据所述二级用户固件存储地址确定所述存储器中的二级用户固件的位置;

S24、上位机通过所述SM4解密通道模块对所述存储器中加密之后二级固件进行解密。

用户固件解密的具体步骤为:

上位机上电后通过Flash控制器的直通通道模块读取存储器中的一级用户固件,在一级用户固件中找到指定的二级用户固件存储地址;接着,上位机根据所述以及用户固件中的时序配置修改自身的QSPI接口时序,当上位机的QSPI接口时序与QSPI协议控制模块时序一致时,上位机发出切换指令请求切换通道,所述通道切换模块打开所述加密/解密通道;依据获取的二级用户固件存储地址,通过加密/解密通道模块读取存储器中的二级用户固件,完成二级用户固件的安全解密操作,将解密后的二级用户固件加载到上位机的程序执行空间完成二级用户固件的运行。

以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

相关技术
  • 一种新型线路支柱绝缘子与绝缘导线的绑扎材料
  • 一种线路支柱绝缘子与绝缘导线的绑扎材料
技术分类

06120116543101