一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

固件烧录方法、固件烧录系统及存储器存储装置与流程

2023-01-15 08:34:26 来源:中国专利 TAG:


1.本发明涉及存储技术领域,更具体地说,涉及一种固件烧录方法、固件烧录系统及存储器存储装置。


背景技术:

2.现有计算机及电子设备通常都包括一个或多个微控制器,这些微控制器可被视为这些装置的“大脑”。固件(firmware)是保存在微控制器内部的电子指令集(electronic instruction set),通过执行该电子指令集,微控制器可产生设定的控制信号,以实现设备的运行控制。可选地,电子表中的微控制器通过执行固件进行追踪时间并处理使用者所需的闹钟及铃声等;移动电话中的微控制器通过执行固件提供使用者界面、移动电话传送/接收协议、音频处理等等。
3.由于固件直接定义了设备的运行逻辑,一旦固件出错,必将给设备的运行带来极大的威胁。为避免固件在烧录过程中出错,现有方案中,设备在接收到固件之后,可以对该固件进行crc校验,并将计算得到的校验结果和接收到的crc校验结果进行比对。如果比对不通过,则拒绝运行该固件。
4.虽然上述方式可在一定程度上解决固件传输过程中数据缺损丢失等问题,但该方案无法解决固件被恶意修改或者恶意替换的问题,可选地第三方同时恶意修改了固件和crc校验结果,则设备可能无法识别出新输入的固件已经被恶意篡改的事实。
5.基于此,如何提高固件在烧录过程中的安全性是本领域技术人员亟待解决的技术问题。


技术实现要素:

6.本发明要解决的技术问题在于,针对现有固件烧录方式无法满足存储器存储装置固件烧录过程中固件可靠性要求的问题,提供一种固件烧录方法、固件烧录系统及存储器存储装置。
7.本发明解决上述技术问题的技术方案是,提供一种固件烧录方法,应用于存储器存储装置,所述存储器存储装置包括存储器控制器和存储器模块,所述存储器控制器包括只读存储器和缓冲存储器;所述存储器模块包括多个实体单元,所述固件烧录方法包括:将引导程序文件和函数库文件写入到所述只读存储器中;将引导程序文件和函数库文件读取到所述缓冲存储器中,并对引导程序文件和函数库文件执行第一哈希运算,以获得第一摘要;从所述引导程序文件的程序头处获取第二摘要,所述第二摘要由上位机对引导程序文件和函数库文件执行第一哈希运算生成,且所述第二摘要随所述引导程序文件和函数库文件一起写入到所述只读存储器中;响应于所述第一摘要与所述第二摘要一致,将业务程序文件写入到所述存储器模块中;
在将业务程序文件写入到所述存储器模块中之后,重启所述存储器存储装置,判断能否从所述只读存储器中寻址到所述业务程序文件的启动地址;若能,则表示成功完成固件烧录,结束固件烧录操作。
8.作为本发明的进一步改进,所述在将引导程序文件和函数库文件写入到所述只读存储器中后,包括:判断能否从所述只读存储器中加载到所述引导程序文件;若能,再将引导程序文件和函数库文件读取到所述缓冲存储器中并对引导程序文件和函数库文件执行第一哈希运算,以获得第一摘要;若不能,则将引导程序文件和函数库文件写入到所述只读存储器中,直至能够成功加载到所述引导程序。
9.作为本发明的进一步改进,所述将业务程序文件写入到所述存储器模块中,包括:从上位机处接收所述业务程序文件的密文数据,以及从所述引导程序文件的程序头处获取第一密钥,并利用第一密钥对所述业务程序文件的密文数据进行解密,得到所述业务程序文件的明文数据;响应于成功得到所述业务程序文件的明文数据后,再将所述业务程序文件的明文数据写入到存储器模块中。
10.作为本发明的进一步改进,所述将业务程序文件的明文数据写入到所述存储器模块中,包括:将所述业务程序文件的程序主体文件写入到第一实体单元中,以及将所述业务程序文件的程序头文件写入到第二实体单元中,其中,所述第一实体单元的物理地址和所述第二实体单元的物理地址不同。
11.作为本发明的进一步改进,所述将所述业务程序文件的程序头文件写入到第二实体单元中,包括:将所述业务程序文件的启动地址写入到所述第二实体单元中,其中所述第二实体单元的物理地址是通过所述只读存储器中的第一地址而生成的。
12.作为本发明的进一步改进,包括:在将所述业务程序文件的程序主体文件写入到第一实体单元中,以及将所述业务程序文件的程序头文件写入到第二实体单元中后;从所述第二实体单元中读取到第三摘要,其中第三摘要由上位机对所述业务程序文件的程序头文件进行第二哈希运算生成,以及所述第三摘要随所述业务程序文件的程序头文件一起写入到所述第二实体单元中;将所述第二实体单元中的所述业务程序文件的程序头文件读取到所述缓冲存储器中,并对所述业务程序文件的程序头文件执行第二哈希运算,以获得第四摘要;判断所述第三摘要与所述第四摘要是否一致,若一致,则判定烧录到第二实体单元中的所述业务程序文件的程序头文件完整;若不一致,则判定烧录到第二实体单元中的所述业务程序文件的程序头文件不完整,重新将所述业务程序文件的程序头文件写入到第二实体单元中。
13.作为本发明的进一步改进,包括:在判定烧录到第二实体单元中的所述业务程序文件的程序头文件完整后;
从所述第二实体单元中读取到第五摘要,其中第五摘要由上位机对所述业务程序文件的程序主体文件进行第三哈希运算生成,以及所述第五摘要随所述业务程序文件的程序主体文件一起写入到所述第二实体单元中;将所述第一实体单元中的所述业务程序文件的程序主体文件读取到所述缓冲存储器中,并对所述业务程序文件的程序主体文件执行第三哈希运算,以获得第六摘要;判断所述第五摘要与所述第六摘要是否一致,若一致,则判定烧录到第一实体单元中的所述业务程序文件的程序主体文件完整,结束所述业务程序文件的烧录;若不一致,则判定烧录到第一实体单元中的所述业务程序文件的程序主体文件不完整,重新将所述业务程序文件的程序主体文件写入到第一实体单元中。
14.作为本发明的进一步改进,所述方法还包括:在将所述业务程序文件写入到所述存储器模块的过程中,对所述业务程序文件正在写入的实体单元执行读保护。
15.作为本发明的进一步改进,所述方法还包括:在将所述业务程序文件写入到所述存储器模块后,对所述第一实体单元和第二实体单元执行写保护。
16.本发明还提供固件烧录系统,包括上位机和存储器存储装置,其中,所述上位机对引导程序文件和函数库文件进行第一哈希运算,以生成第二摘要,并将所述第二摘要存储在所述引导程序文件的程序头处;所述上位机通过第一加密算法使用第一密钥对业务程序文件的明文数据进行加密,以及将所述第一密钥存储在所述引导程序文件的程序头处;以及所述上位机对所述业务程序文件的程序头文件进行第二哈希运算,以生成第三摘要,并将所述第三摘要存储在所述业务程序文件的程序头处;所述上位机对所述业务程序文件的程序主体文件进行第三哈希运算,以生成第五摘要,并将所述第五摘要存储在所述业务程序文件的程序头处。
17.本发明还提供一种存储器存储装置,其特征在于,所述存储器存储装置包括存储器控制器,其中,所述存储器控制器用以执行上述所述固件烧录的步骤。
18.本发明具有以下有益效果:将固件文件分割处理,在进行固件烧录到存储器存储装置的过程中,先是将引导程序文件和函数库文件烧录到存储器控制器的只读存储器中,在引导程序文件和函数库文件烧录成功校验之后,再将业务程序文件烧录到存储器模块中。此举可提高固件烧录的成功率,尤其是大批量的存储器存储装置12的固件烧录操作。与只读存储器相比,存储器模块的价格相对比较便宜,将文件小的引导程序文件和函数库文件烧录只读存储器中,以及将文件比较大的业务程序文件烧录到存储器模块中,此举使得上述固件亦可适用于小容量的只读存储器的存储器存储装置,可有效地节省存储器存储装置的成本。以及,将业务程序文件用对称加密算法或者非对称加密算法加密处理,使得该文件在烧录过程中是密文数据。具体地,将业务程序文件密文数据和解密的密钥分开烧录,也进一步提高了固件烧录过程中的安全可靠性。更进一步,在将业务程序文件解密写入到存储器模块中之后,还进行两次的哈希运算,分别对业务程序文件的程序头和程序主体部分进行校验。此举更加保证了烧录到存储器模块或存储器存储装置中的固件的安全可靠性。只有这2次校验通过之后,才结束固件烧录操作。此举保证了烧录到存储器模块或存储器存
asic)、可编程逻辑器件(programmable logic device, pld)或其他类似装置或这些装置的组合。
25.在一实施例中,存储器控制器123亦称为快闪存储器控制器。在一实施例中,存储器模块122也称为快闪存储器模块。存储器模块122可接收来自存储器控制器123的指令序列并根据此指令序列存取存储单元。
26.图2是根据本发明的一实施例所示出的存储器控制器的结构框图。请参照图2,存储器控制器123包括存储器控制电路204、主机接口202、存储器接口206、只读存储器208(rom 、prom、 eprom 、otprom、 eeprom任意一种)、缓冲存储器210(dram或sram)和加解密电路212。
27.存储器控制电路204用于控制存储器控制器123的整体运作。具体来说,存储器控制电路204具有多个控制指令,并且在存储器存储装置12运作时,这些控制指令会被执行以进行数据的写入、读取与擦除等运作。以下说明存储器控制电路204的操作时,等同于说明存储器控制器123的操作。
28.在本实施例中,存储器控制电路204的控制指令是以固件型式来操作。具体地,固件码包括引导程序代码(bootloadercode)、函数库代码和业务程序代码。在上位机11处,将引导程序、函数库和业务程序的源码经由编辑器编译处理以生成二进制文件,然后将上述各个二进制文件从上位机11中写入到存储器存储装置12中,此操作被称之为固件烧录(可由烧录器操作)。具体地,将引导程序和函数库的代码烧录至只读存储器208中,存储器控制电路204的控制指令是以业务程序码式存储于存储器模块122的特定区域中。特别是,存储器控制电路204还可包括微处理器单元。当存储器控制器123被致能时,微处理器单元会先执行引导程序来将存储于存储器模块122中的业务程序的代码载入至缓冲存储器210中。之后,微处理器单元会结合函数库来运转这些业务程序的代码以实现数据写入到存储器存储装置12中或从存储器存储装置12中读取数据,以及对存储器存储装置12进行磨损均衡、垃圾回收和坏块管理的运作。换句话说,上述业务程序的代码为实现存储器存储装置12业务核心的算法代码。
29.主机接口202是电性连接至存储器控制电路204并且用于接收与识别上位机11所传送的指令与数据。也就是说,上位机11所传送的指令与数据会通过主机接口202来传送至存储器控制电路204。在本实施例中,主机接口202是相容于sata标准。然而,必须了解的是本发明不限于此,主机接口202也可以是相容于pata标准、ieee 1394标准、pci express标准、usb标准、sd标准、uhs-i标准、uhs-ii标准、ms标准、mmc标准、emmc标准、ufs标准、cf标准、ide标准或其他适合的数据传输标准。
30.存储器接口206是电性连接至存储器控制电路204并且用于存取存储器模块122。也就是说,欲写入至存储器模块122的数据会经由存储器接口206转换为存储器模块122所能接受的格式。具体来说,若存储器控制电路204要存取存储器模块122,存储器接口206会传送对应的指令序列。可选地,这些指令序列可包括指示写入数据的写入指令序列、指示读取数据的读取指令序列、指示擦除数据的擦除指令序列、以及用于指示各种存储器操作(可选地,改变读取电压电平或执行垃圾回收操作等等)的相对应的指令序列。这些指令序列可选地是由存储器控制电路204产生并且通过存储器接口206传送至存储器模块122。这些指令序列可包括一个或多个信号,或是在总线上的数据。这些信号或数据可包括指令码或程
序码。可选地,在读取指令序列中,会包括读取的识别码、存储器地址等信息。
31.在本实施例中,存储器控制器123可以针对存储于同一个实体程序化单元中的数据进行单框架(single-frame)编码,也可以针对存储于多个实体程序化单元中的数据进行多框架(multi-frame)编码。根据所采用的编码算法,存储器控制器123可以编码欲保护的数据来产生相对应的错误更正码和/或错误检查码。
32.进一步,缓冲存储器210是电性连接至存储器控制电路204并且用于暂存来自于上位机11的数据与指令或来自于存储器模块122的数据。
33.进一步,加解密电路212是电性连接至存储器控制电路204并且用于实现存储器控制器123的加解密功能。具体地,加解密电路212可为预设了各类对称、非对称、哈希散列等各种算法的电路模块。进一步,在存储器控制器123有加解密指令时,加解密电路212响应于存储器控制电路204的加解密指令,将从只读存储器208中载入函数库中的相对应的加解密代码,将该加解密代码相对应的参数输入到加解密电路212中,加解密电路212根据该输入进行加解密处理,输出加解密结果。
34.在一实施例中,存储器控制器123还包括错误检查与校正电路214与电源管理电路216。电源管理电路216是电性连接至存储器控制电路204并且用于控制存储器存储装置12的电源。错误检查与校正电路214是电性连接至存储器控制电路204并且用于执行错误检查与校正操作以确保数据的正确性。
35.具体来说,当存储器控制电路204从上位机11中接收到写入指令时,错误检查与校正电路214会为对应写入指令的数据产生对应的错误校正码(error correcting code,ecc)和/或错误检查码(error detecting code,edc),并且存储器控制电路204会将对应写入指令的数据与对应的错误校正码和/或错误检查码写入至存储器模块122中。之后,当存储器控制电路204从存储器模块122中读取数据时会同时读取数据对应的错误校正码和/或错误检查码,并且错误检查与校正电路214会依据错误校正码和/或错误检查码对所读取的数据执行错误检查与校正操作。
36.进一步,为了保证和提高引导程序代码(bootloader code)、函数库代码和业务程序代码从上位机11中烧录至存储器存储装置12中的安全可靠性的问题。本技术实施例中,在上位机11处将引导程序代码、函数库代码和业务程序代码的源码经由编辑器编译处理以生成二进制文件。因此,本技术实施例中的固件文件包括引导程序文件302、函数库文件304和业务程序文件306。
37.进一步,如图3所示,图3为固件的引导程序文件302的示意图。引导程序文件302包括引导程序文件的程序头3022和引导程序文件的程序主体文件3024。
38.具体地,以及上位机11对引导程序文件302和函数库文件304进行第一哈希运算,以生成第二摘要,并将所述第二摘要存储在所述引导程序文件的程序头3022处。
39.进一步,如图4所示,图4为固件的业务程序文件306的示意图。业务程序文件306包括业务程序文件的程序头文件3062和业务程序文件的主体文件3064 。
40.具体地,上位机11还通过第一加密算法使用第一密钥对经由编辑器编译好的业务程序文件306的明文数据进行加密,得到业务程序文件的密文数据。以及上位机11还将所述第一密钥存储在图3中引导程序文件的程序头(header)3022处。
41.在本发明的一个实施例中,第一加密算法为对称加密算法,包括但不限于高级加
密标准(advanced encryption standard,aes)算法、数据加密标准(data encryption standard,des)算法、三重数据加密算法(triple data encryption standard,3des)算法、国密sm4等。其中,通过对称加密算法进行加密属于本领域的习知技术,在此不再赘述。
42.具体地,第一加密算法为对称加密算法,所以所述第一密钥也可称之为第一公钥。
43.进一步,在本发明的另一个实施例中,上述第一加密算法为非对称加密算法。
44.具体地,上位机11用非对称加密算法所述业务程序文件306进行加密处理,使得业务程序文件306的密文数据的保密性更强。具体地,适用第二公钥对业务程序文件306进行非对称加密;以及将用于对其解密的第二私钥存储在引导程序的程序头3022处。其中,通过非对称加密算法进行非对称加解密运算属于本领域的习知技术,在此不再赘述。
45.进一步,上位机11对所述业务程序文件的程序头文件3062进行第二哈希运算,以生成第三摘要,并将所述第三摘要存储在所述业务程序文件的程序头文件3062处。
46.进一步,上位机11对所述业务程序文件的程序主体文件3064进行第三哈希运算,以生成第五摘要,并将所述第五摘要存储在所述业务程序文件的程序头文件3062处。
47.在本发明的一个实施例中,上述第一、第二和第三哈希算法可为任一种md5 、 sha 系列以及国密sm3等哈希算法,上述第一、第二和第三哈希算法可相同,也可不相同,本实施例中不做限定。优选地,上述三个哈希算法不同。这些哈希算法可以把数据运算为固定的值,这个值称之为摘要。比如md5输出固定128bits 的摘要,sha-256 输出固定的256 bits 的摘要,sha-512 输出固定的512 bits 的摘要。示例性地,用哈希算法处理密码,密码存储在服务器中的方式为摘要,用户用密码登录账户的时候,验证通过的方式为:把密码处理为摘要,再和服务器的摘要对比,这样就知道了用户的密码是否正确了。其中,通过哈希算法进行哈希运算得到摘要属于本领域的习知技术,在此不再赘述。
48.为了解决存储器存储装置12固件烧录过程中固件可靠性要求的问题,本发明一实施例提出一种固件烧录方法,如图5所示。图5为本发明一个实施例的固件烧录方法的流程图。
49.步骤s51:响应于固件烧录指令,存储器控制电路204从上位机11处接收引导程序文件302和函数库文件304,并将引导程序文件302和函数库文件304写入到只读存储器208中。
50.步骤s52:在存储器控制电路204将引导程序文件302和函数库文件304写入到只读存储器208中后,存储器控制电路204将只读存储器208中的引导程序文件302和函数库文件304读取到缓冲存储器210中,并在缓冲存储器210中对引导程序文件302和函数库文件304执行第一哈希运算,以获得第一摘要。
51.步骤s53:存储器控制电路204从只读存储器208中引导程序文件的程序头3022处获取第二摘要,且将该第二摘要读取到缓冲存储器210中;其中该第二摘要由上位机11对引导程序文件302和函数库文件304执行第一哈希运算生成,且该第二摘要随引导程序文件302和函数库文件304一起写入到只读存储器208中。
52.步骤s54:存储器控制电路204判断缓冲存储器210中的上述第一摘要与上述第二摘要是否一致,若一致,则将业务程序文件306写入到存储器模块122中;若不一致,则返回到步骤s52。
53.步骤s55:在存储器控制电路204将业务程序文件306写入到存储器模块122中之
后,存储器控制电路204重启存储器存储装置12 。
54.步骤s56:存储器控制电路204判断能否从只读存储器208中寻址到业务程序文件306的启动地址; 若能,则执行步骤s57;若不能,返回到步骤s55。
55.步骤s57:成功完成固件烧录,结束固件烧录操作。
56.本技术实施例中,一方面是将固件文件分割处理,在进行固件烧录到存储器存储装置12的过程中,先是将引导程序文件302和函数库文件304烧录到存储器控制器123的只读存储器208中,在引导程序文件302和函数库文件304烧录成功校验之后,再将业务程序文件306烧录到存储器模块122中。此举可提高固件烧录的成功率,尤其是大批量的存储器存储装置12的固件烧录操作。以及进一步,固件文件的分割设计,与只读存储器相比,存储器模块的价格相对比较便宜,将文件小的引导程序文件302和函数库文件304烧录只读存储器208中,以及将文件比较大的业务程序文件烧录到存储器模块中,此举使得上述固件亦可适用于小容量的只读存储器的存储器存储装置12,可有效地节省存储器存储装置的成本。
57.进一步,在另一实施例中,步骤s52中,在存储器控制电路204将引导程序文件302和函数库文件304写入到只读存储器208中后,包括:存储器控制电路204判断能否从只读存储器208中加载到引导程序;若能,存储器控制电路204再将引导程序文件302和函数库文件304读取到缓冲存储器210中,并对引导程序文件302和函数库文件304执行第一哈希运算,以获得第一摘要;若不能,则返回步骤s51。通过判断能否加载到已经完成烧录的引导程序,亦可有效地提高固件烧录的成功率。
58.进一步,在另一实施例中,步骤s55中,存储器控制电路204将业务程序文件306写入到存储器模块122中,包括:存储器控制电路204从上位机处接收所述业务程序文件的密文数据,以及存储器控制电路204从引导程序的程序头3022处获取第一密钥,并利用第一密钥对业务程序文件306进行解密,得到业务程序文件的明文数据;在存储器控制电路204成功利用第一密钥对业务程序文件306的密文数据进行解密;以及存储器控制电路204在得到业务程序文件306的明文数据后,再将业务程序文件306的明文数据写入到存储器模块122中。对业务程序文件306进行加密处理,使得固件烧录过程中业务程序文件306是密文数据。在成功对业务程序文件306解密后,再将是明文数据的业务程序文件306写入到存储器模块中。此举,提高了固件烧录过程中固件的安全可靠性,降低了固件被篡改的风险。
59.进一步,在另一实施例中,步骤s55中,存储器控制电路204将业务程序文件306写入到存储器模块122中,包括步骤s551:存储器控制电路204将业务程序文件的程序主体文件3064写入到第一实体单元中,以及将业务程序文件的程序头文件3062写入到第二实体单元中,其中,第一实体单元的物理地址和所述第二实体单元的物理地址不同。其中,第一实体单元可包括一个或多个区块(block )或者页(page) 。同理,其中,第二实体单元可包括一个或多个区块(block )或者页(page) 。
60.示例性地,以第一、第二实体单元包括一个或多个区块(block )来阐述业务程序文件306如何存储在存储器模块122中,如图6所示。其中a、b、c为区块的物理地址值或区块的序号。图6为业务程序文件306存储于存储器模块122中示意图。
61.进一步,在另一实施例中,存储器控制电路204将业务程序文件的程序头文件3062写入到第二实体单元中,包括:存储器控制电路204将业务程序文件306的启动地址写入到第二实体单元中,其中第二实体单元的物理地址是通过只读存储器208中的第一地址而生
成的。其中,上述业务程序文件306的启动地址可被用于加载业务程序文件306。换句话说,要载入业务程序文件306来运作,通过该启动地址,进而实现业务程序文件306的运作。将启动地址的物理地址设置在只读存储器208中的第一地址中,后续若是需要加载业务程序文件306来运作,通过只读存储器208中的第一地址而快速地寻址到该启动地址,进而实现快速地加载业务程序文件306的运作。此举可验证固件烧录的成功与否,提高了固件烧录过程中固件的安全可靠性,降低了固件被篡改的风险。
62.进一步,在另一实施例中,在步骤s551之后,包括步骤s60:存储器控制电路204从第二实体单元中读取到第三摘要,其中第三摘要由上位机11对业务程序文件的程序头文件3062进行第二哈希运算生成,以及所述第三摘要随业务程序文件的程序头文件3062一起写入到第二实体单元中;存储器控制电路204将第二实体单元中的业务程序文件的程序头文件3062读取到所述缓冲存储器210中,并对所述业务程序文件的程序头文件3062执行第二哈希运算,以获得第四摘要;存储器控制电路204判断第三摘要与第四摘要是否一致,若一致,则判定烧录到第二实体单元中的业务程序文件的程序头文件3062完整;若不一致,则判定烧录到第二实体单元中的业务程序文件的程序头文件3062不完整,重新将所述业务程序文件的程序头文件3062写入到第二实体单元中。完成业务程序文件的程序头文件3062的烧录。此举的目的是验证固件烧录的成功与否,提高了固件烧录过程中固件的安全可靠性,降低了固件被篡改的风险。
63.进一步,在另一实施例中,存储器控制电路204在判定烧录到第二实体单元中的业务程序文件的程序头文件3062完整后,包括:存储器控制电路204从第二实体单元中读取到第五摘要,其中第五摘要由上位机11对业务程序文件的程序主体文件3064进行第三哈希运算生成,以及所述第五摘要随所述业务程序文件的程序主体文件3064一起写入到第二实体单元中;将第一实体单元中的业务程序文件的程序主体文件3064读取到所述缓冲存储器210中,并对业务程序文件的程序主体文件3064执行第三哈希运算,以获得第六摘要;判断第五摘要与第六摘要是否一致,若一致,则判定烧录到第一实体单元中的所述业务程序文件的程序主体文件3064完整,结束业务程序文件306的烧录;若不一致,则判定烧录到第一实体单元中的所述业务程序文件的程序主体文件3064不完整,重新将业务程序文件的程序主体文件3064写入到第一实体单元中。完成业务程序文件的程序文件主体3064的烧录。此举的目的是验证固件烧录的成功与否,提高了固件烧录过程中固件的安全可靠性,降低了固件被篡改的风险。
64.进一步,在另一实施例中,还包括:存储器控制电路204在将所述业务程序文件写入到存储器模块122的过程中,对业务程序文件306正在写入的实体单元执行读保护。此举,使得业务程序文件306在写入到存储模块122的过程中不能够被读取。此举的目的是提高固件烧录过程中固件的安全可靠性,降低了固件被篡改的风险。
65.进一步,在另一实施例中,还包括:存储器控制电路204在将业务程序文件306写入到存储器模块122后,对存储有业务程序文件306的第一和第二实体单元执行写保护。此举,使得存储有业务程序文件306的第一和第二实体单元不被用作它用。以及保证了固件存储于存储器模块122或存储器装置12中的安全。
66.进一步,在另一实施例中,存储器存储装置12中的存储器控制器123用以执行上述各个实施例中的固件烧录方法,其具体实现过程详细见对应的方法实施例,且方法实施例
中的技术特征在上文中的实施例中均对应适用,这里不再赘述。
67.具体地,上文实施例中的第一、第二、第三哈希运算以及利用第一密钥对业务程序文件306的密文数据进行解密,得到业务程序文件306的明文数据的执行主体为加解密电路212。具体地,在存储器控制器123有加解密指令时,加解密电路212响应于存储器控制电路204的加解密指令,从只读存储器208中载入函数库中的相对应的加解密代码,将该加解密代码相对应的参数输入到加解密电路212中,加解密电路212根据该输入进行加解密处理,输出加解密结果。
68.综上所述,本发明申请为了提高固件烧录的安全可靠性,一方面是在引导程序文件302和函数库文件304烧录成功校验之后,再将业务程序文件306烧录到存储器模块122中。此举可提高固件烧录的成功率,尤其是大批量的存储器存储装置12的固件烧录操作。以及,将业务程序文件用对称加密算法或者非对称加密算法加密处理,使得该文件在烧录过程中是密文数据。具体地,将业务程序文件密文数据和解密的密钥分开烧录,也进一步提高了固件烧录过程中的安全可靠性。更进一步,在将业务程序文件解密写入到存储器模块122中之后,还进行两次的哈希运算,分别对业务程序文件的程序头文件3062和业务程序文件的程序主体文件3064进行校验。此举更加保证了烧录到存储器模块122或存储器存储装置12中的固件的安全可靠性。只有这2次校验通过之后,才结束固件烧录操作。
69.应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
70.所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成。实施例中的各功能单元、模块可以集成在一个处理器中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本技术的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
71.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
72.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
73.以上所述实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献