基于固态硬盘的固件自动加密方法、装置和计算机设备制造方法及图纸

技术编号:21300107 阅读:24 留言:0更新日期:2019-06-12 08:03
本申请涉及一种基于固态硬盘的固件自动加密方法、装置、计算机设备和存储介质,其中该方法包括:从Flash中加载Bootloader和固件;固件运行时判断是否触发自动加密机制;若触发自动加密机制则将所述Flash中的固件读取到DDR中,并对固件文件进行加密,生成密文固件;擦除所述Flash中原有的固件,并将所述密文固件写到所述Flash中。本发明专利技术通过加载Bootloader和固件,在固件运行时判断是否触发自动加密机制,自动触发固件自动加密机制,防止黑客获取固件文件,提高了固态硬盘加密的可靠性。

Firmware Automatic Encryption Method, Device and Computer Equipment Based on Solid State Hard Disk

This application relates to a firmware automatic encryption method, device, computer equipment and storage medium based on solid state hard disk. The methods include: loading Bootloader and firmware from Flash; determining whether or not the automatic encryption mechanism is triggered by firmware runtime; reading firmware from the Flash into DDR if the automatic encryption mechanism is triggered, and encrypting firmware files to generate ciphertext. Firmware; erase the original firmware in the Flash and write the ciphertext firmware into the Flash. By loading Bootloader and firmware, the invention judges whether to trigger the automatic encryption mechanism while firmware is running, automatically triggers the automatic encryption mechanism of firmware, prevents hackers from acquiring firmware files, and improves the reliability of solid-state hard disk encryption.

【技术实现步骤摘要】
基于固态硬盘的固件自动加密方法、装置和计算机设备
本专利技术涉及固态硬盘
,特别是涉及一种基于固态硬盘的固件自动加密方法、装置、计算机设备和存储介质。
技术介绍
目前,SSD在出厂之前,都会对SSD控制器做开卡处理,将bootloader和固件烧录到Nandflash或Norflash中。参考图1,在传统技术中,SSD在开卡之前首先会通过GPIO引脚将控制器Bootrom配置成强制下载模式,开卡人员再通过Uart接口将开卡工程Ramloader下载至芯片中运行,Ramloader再将固件和Bootloader下载至Flash中。最后通过GPIO引脚将Bootrom配置成加载模式。芯片重新上电之后,便会从flash中加载bootloader运行,bootloader再加载固件运行。SSD在出厂之后,Uart接口和模式配置的GPIO引脚都是不会再使用。一旦固件代码发现Uart接口有数据传输或者模式配置的GPIO引脚值变化的话,极有可能黑客在对控制器进行破解,尝试获取Flash中的固件文件。目前的方法对于Flash中的固件没有有效的保护机制,一旦SSD控制器被配置成强制下载模式,控制器便可通过Uart下载并运行非法代码,获取flash中的固件代码,固件文件便被破解。
技术实现思路
基于此,有必要针对上述技术问题,提供一种可以实现提高固态硬盘的加密可靠性的基于固态硬盘的固件自动加密方法、装置、计算机设备和存储介质。一种基于固态硬盘的固件自动加密方法,所述方法包括:从Flash中加载Bootloader和固件;固件运行时判断是否触发自动加密机制;若触发自动加密机制则将所述Flash中的固件读取到DDR中,并对固件文件进行加密,生成密文固件;擦除所述Flash中原有的固件,并将所述密文固件写到所述Flash中。在其中一个实施例中,所述固件运行时判断是否触发自动加密机制的步骤还包括:检测串口是否有数据传输;若检测到串口有数据传输,则判断触发了所述自动加密机制;若没有检测到串口有数据传输,则判断未触发所述自动加密机制。在其中一个实施例中,所述固件运行时判断是否触发自动加密机制的步骤还包括:检测GPIO引脚电压值是否有变化;若检测GPIO引脚电压值发生变化,则判断触发了所述自动加密机制;若没有检测到GPIO引脚电压值发生变化,则判断未触发所述自动加密机制。在其中一个实施例中,所述从Flash中加载Bootloader和固件的步骤包括:配置GPIO模式引脚,将控制器Bootrom配置成加载模式;芯片上电,同时所述控制器Bootrom运行在加载模式;所述控制Bootrom加载Flash中的Bootloader,同时Bootloader运行;Bootloader加载Flash中的固件。一种基于固态硬盘的固件自动加密装置,所述基于固态硬盘的固件自动加密装置包括:加载模块,所述加载模块用于从Flash中加载Bootloader和固件;判断模块,所述判断模块用于固件运行时判断是否触发自动加密机制;读取模块,所述读取模块用于若触发自动加密机制则将所述Flash中的固件读取到DDR中;加密模块,所述加密模块用于对固件文件进行加密,生成密文固件;擦除模块,所述擦除模块用于擦除所述Flash中原有的固件;写入模块,所述写入模块用于将所述密文固件写到所述Flash中。在其中一个实施例中,所述判断模块还包括串口检测模块,所述串口检测模块用于:检测串口是否有数据传输;若检测到串口有数据传输,则判断触发了所述自动加密机制;若没有检测到串口有数据传输,则判断未触发所述自动加密机制。在其中一个实施例中,所述判断模块还包括电压检测模块,所述电压检测模块用于:检测GPIO引脚电压值是否有变化;若检测GPIO引脚电压值发生变化,则判断触发了所述自动加密机制;若没有检测到GPIO引脚电压值发生变化,则判断未触发所述自动加密机制。在其中一个实施例中,所述加载模块还用于:配置GPIO模式引脚,将控制器Bootrom配置成加载模式;芯片上电,同时所述控制器Bootrom运行在加载模式;所述控制Bootrom加载Flash中的Bootloader,同时Bootloader运行;Bootloader加载Flash中的固件。一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意一项方法的步骤。一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项方法的步骤。上述基于固态硬盘的固件自动加密方法、装置、计算机设备和存储介质,通过从Flash中加载Bootloader和固件;固件运行时判断是否触发自动加密机制;若触发自动加密机制则将所述Flash中的固件读取到DDR中,并对固件文件进行加密,生成密文固件;擦除所述Flash中原有的固件,并将所述密文固件写到所述Flash中。本专利技术通过加载Bootloader和固件,在固件运行时判断是否触发自动加密机制,自动触发固件自动加密机制,防止黑客获取固件文件,提高了固态硬盘加密的可靠性。附图说明图1为传统技术中开卡以及固件运行的流程示意图;图2为一个实施例中基于固态硬盘的固件自动加密方法的流程示意图;图3为另一个实施例中基于固态硬盘的固件自动加密方法的流程示意图;图4为再一个实施例中基于固态硬盘的固件自动加密方法的流程示意图;图5为又一个实施例中基于固态硬盘的固件自动加密方法的流程示意图;图6为一个实施例中基于固态硬盘的固件自动加密方法的具体流程图;图7为一个实施例中基于固态硬盘的固件自动加密装置的结构框图;图8为一个实施例中判断模块的结构框图;图9为一个实施例中计算机设备的内部结构图。具体实施方式为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。本专利技术提出了一种固件自动加密的保护机制,固态硬盘一旦检测到Uart接口有数据传输或者模式配置的GPIO引脚值变化,便触发固件自动加密机制,将存储在Flash中的固件自动加密,擦除flash中原有的明文固件,再将密文固件重新烧写至flash中,防止固件文件被破解。此外,为了更清楚的说明本专利技术的内容,本专利技术中英文缩写的解释如下:SSD:固态硬盘。Bootrom:固化在微控制器内部,用于芯片正常工作的代码。NorFlash:一种非易失性的存储器。NandFlash:一种非易失性存储器,具有容量大,改写速度快等优点。Bootloader:用于加载固态硬盘全系统固件的加载工程。Ramloader:用于固态硬盘开卡的工程,烧录Bootloader和固件到Flash中。GPIO:通用输入输出。UART:通用异步收发传输器,简称串口。AES:高级加密标准。DDR:动态随机存储器。在一个实施例中,如图2所示,提供了一种基于固态硬盘的固件自动加密方法,该方法包括:步骤202,从Flash中加载Bootloader和固件;步骤204,固件运行时判断是否触发自动加密机制;步骤206,若触发自动加密机制则将Flash中的固件读取到DDR中,并对固件文件进行加密,生成密文固件;步骤208本文档来自技高网...

【技术保护点】
1.一种基于固态硬盘的固件自动加密方法,所述方法包括:从Flash中加载Bootloader和固件;固件运行时判断是否触发自动加密机制;若触发自动加密机制则将所述Flash中的固件读取到DDR中,并对固件文件进行加密,生成密文固件;擦除所述Flash中原有的固件,并将所述密文固件写到所述Flash中。

【技术特征摘要】
1.一种基于固态硬盘的固件自动加密方法,所述方法包括:从Flash中加载Bootloader和固件;固件运行时判断是否触发自动加密机制;若触发自动加密机制则将所述Flash中的固件读取到DDR中,并对固件文件进行加密,生成密文固件;擦除所述Flash中原有的固件,并将所述密文固件写到所述Flash中。2.根据权利要求1所述的基于固态硬盘的固件自动加密方法,其特征在于,所述固件运行时判断是否触发自动加密机制的步骤还包括:检测串口是否有数据传输;若检测到串口有数据传输,则判断触发了所述自动加密机制;若没有检测到串口有数据传输,则判断未触发所述自动加密机制。3.根据权利要求2所述的基于固态硬盘的固件自动加密方法,其特征在于,所述固件运行时判断是否触发自动加密机制的步骤还包括:检测GPIO引脚电压值是否有变化;若检测GPIO引脚电压值发生变化,则判断触发了所述自动加密机制;若没有检测到GPIO引脚电压值发生变化,则判断未触发所述自动加密机制。4.根据权利要求1-3任一项所述的基于固态硬盘的固件自动加密方法,其特征在于,所述从Flash中加载Bootloader和固件的步骤包括:配置GPIO模式引脚,将控制器Bootrom配置成加载模式;芯片上电,同时所述控制器Bootrom运行在加载模式;所述控制Bootrom加载Flash中的Bootloader,同时Bootloader运行;Bootloader加载Flash中的固件。5.一种基于固态硬盘的固件自动加密装置,其特征在于,所述基于固态硬盘的固件自动加密装置包括:加载模块,所述加载模块用于从Flash中加载Bootloader和固件;判断模块,所述判断模块用于固件运行时判断是否触发自动加密机制;读取...

【专利技术属性】
技术研发人员:杨志佳冯元元周强
申请(专利权)人:深圳忆联信息系统有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1