CN114756885A - 固件加载方法、存储装置及计算机可读存储介质 - Google Patents
固件加载方法、存储装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN114756885A CN114756885A CN202210561876.8A CN202210561876A CN114756885A CN 114756885 A CN114756885 A CN 114756885A CN 202210561876 A CN202210561876 A CN 202210561876A CN 114756885 A CN114756885 A CN 114756885A
- Authority
- CN
- China
- Prior art keywords
- data
- storage device
- host
- ciphertext
- plaintext
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供了一种固件加载方法、存储装置及计算机可读存储介质,所述方法包括:从所述存储介质获取第一密文数据,并解密所述第一密文数据获得第一明文数据,所述第一密文数据由第一明文数据经第一加密算法加密运算而成;从所述存储装置所在的主机中获取第二密文数据,并解密所述第二密文数据获得第二明文数据,所述第二密文数据由第二明文数据经第二加密算法加密运算而成;运行所述第一明文数据和第二明文数据以加载所述存储装置的固件。本发明通过将固件的不同部分分别加密后存储在存储介质以及主机,使得存储装置在被拆离主机后无法进行固件加载,提高数据的安全性。
Description
技术领域
本发明涉及存储装置领域,更具体地说,涉及一种固件加载方法、存储装置及计算机可读存储介质。
背景技术
硬盘是计算机设备中主要的存储媒介之一,目前主要有固态硬盘(Solid StateDisk,SSD)、机械硬盘(Hard Disk Drive,HDD)、混合硬盘(Hybrid Hard Disk,HHD)等。随着工作生活中更多的信息数据被存储在硬盘中,人们越来越重视硬盘中数据的安全。其中,固态硬盘因具有读写速度快、功耗低、无噪音、抗振动、低热量、体积小等优点,已被广泛应用于个人电脑、工控、视频监控、网络终端等领域。
现有的固态硬盘在上电后需先加载固件,具体地,固态硬盘的控制器在上电后首先运行嵌入在控制器内部用于芯片正常工作的代码(即启动引导程序),该代码从存储介质(即闪存芯片)中加载明文的固件代码,上述固件代码用于控制固态硬盘的运行。由于固态硬的盘控制器所加载的固件代码,全部以明文的形式存储在固态硬盘的存储介质中,使得控制器很容易被破解,安全性能较低。
发明内容
本发明要解决的技术问题在于,针对上述固态硬盘容易被破解的问题,提供一种固件加载方法、存储装置及计算机可读存储介质。
本发明解决上述技术问题的技术方案是,提供一种固件加载方法,应用于存储装置,且所述存储装置包括控制器和存储介质,所述方法包括由所述控制器执行的以下步骤:
从所述存储介质获取第一密文数据,并解密所述第一密文数据获得第一明文数据,所述第一密文数据由第一明文数据经第一加密算法加密运算而成;
从所述存储装置所在的主机中获取第二密文数据,并解密所述第二密文数据获得第二明文数据,所述第二密文数据由第二明文数据经第二加密算法加密运算而成;
运行所述第一明文数据和第二明文数据以加载所述存储装置的固件。
作为本发明的进一步改进,所述方法还包括:
从所述存储介质或所述存储装置所在的主机获取第一摘要数据,所述第一摘要数据通过对第一明文数据和第二明文数据进行哈希运算生成;
对解密获得的第一明文数据和第二明文数据进行哈希运算生成第二摘要数据,且运行所述第一明文数据和第二明文数据以加载所述存储装置的固件的步骤仅在所述第二摘要数据和第一摘要数据相一致时执行。
作为本发明的进一步改进,所述方法还包括:
从所述存储介质或所述存储装置所在的主机获取第三摘要数据,所述第三摘要数据通过对第一密文数据和第二密文数据进行哈希运算生成;
对从所述存储介质获取的第一密文数据和从所述存储装置所在的主机中获取的第二密文数据进行哈希运算生成第四摘要数据,且运行所述第一明文数据和第二明文数据以加载所述存储装置的固件的步骤仅在所述第三摘要数据和第四摘要数据相一致时执行。
作为本发明的进一步改进,所述第一加密算法为对称加密算法,所述第一密文数据由第一明文数据使用第一密钥经第一加密算法加密运算而成;所述解密所述第一密文数据获得第一明文数据,包括:
从所述存储装置或所述存储装置所在的主机获取第一密钥,并使用所述第一密钥解密所述第一密文数据获得第一明文数据。
作为本发明的进一步改进,所述第二加密算法为非对称加密算法,所述第二密文数据由第二明文数据使用第一私钥经第二加密算法加密运算而成,所述解密所述第二密文数据获得第二明文数据,包括:
从所述存储装置或所述存储装置所在的主机获取第一公钥,并使用所述第一公钥解密所述第二密文数据获得第二明文数据。
作为本发明的进一步改进,所述存储装置的固件包括数据加密算法,且所述控制器在固件加载完成后通过所述数据加密算法对所述存储介质进行读写操作。
作为本发明的进一步改进,所述存储装置的固件包括多个扩展算法,每一所述扩展算法由位于所述第一明文数据的第一算法片段以及位于所述第二明文数据中的第二算法片段组合而成。
作为本发明的进一步改进,所述第一密文数据在所述存储装置首次安装到主机时由所述主机生成,并由所述主机写入到存储介质;所述第二密文数据在所述存储装置首次安装到主机时由所述主机生成,并由所述主机写入到主机的外存储器。
本发明还提供一种存储装置,包括存储单元以及控制芯片,所述存储单元集成于所述控制芯片或与所述控制芯片连接,所述存储单元中存储有可在所述控制芯片上执行的计算机程序,且所述控制芯片执行所述计算机程序时实现如上所述的固件加载方法的步骤。
本发明还提供一种计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时,实现如上所述固件加载方法的步骤。
本发明具有以下有益效果:通过将固件的不同部分分别加密后存储在存储介质以及主机,使得存储装置在被拆离主机后无法进行固件加载,提高数据的安全行。并且,由于存储装置上电启动时进行解密处理,本发明不会影响存储装置在正常运行时的数据读写速度。
附图说明
图1是本发明实施例提供的固件加载方法的流程示意图;
图2是使用本发明实施例提供的固件加载方法的存储装置的结构示意图;
图3是本发明实施例提供的固件加载方法中对第一明文数据和第二明文数据进行验证的流程示意图;
图4是本发明实施例提供的固件加载方法中对第一密文数据和第二密文数据进行验证的流程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,是本发明实施例提供的固件加载方法的流程示意图,该固件加载方法可应用于如图2所示的存储装置20,该存储装置20包括可与主机30连接,并形成各类计算机或消费电子系统。上述主机30可以为笔记本计算机、台式计算机、智能手机、平板计算机、工业计算机、游戏机、数码相机等,且该主机30包括数据处理装置(例如中央处理单元、微处理器等),存储装置20用以存储来自主机30的数据,具体地,存储装置20可为固态硬盘、U盘、存储卡或其他类型的非易失性存储装置。主机30可经由串行高级技术附件(Serial AdvancedTechnology Attachment,SATA)接口、高速周边零件连接接口(Peripheral ComponentInterconnect Express,PCI Express)、通用串行总线(Universal Serial Bus,USB)或其他类型的连接接口电性连接至存储装置20,从而主机30可将数据存储至存储装置10和/或从存储装置20读取数据。并且,上述存储装置20仅作为主机30的数据存储盘,而不作为主机30的系统存储盘(即主机30的启动不依赖于存储装置20)。
上述存储装置20具体可包括控制器21、存储介质22及连接接口(图中未示出),其中连接接口用以将存储装置20连接至主机30,例如连接接口可支持SATA、PCI Express或USB等连接接口标准,即存储装置20经由连接接口与主机30通信;存储介质22用以存储数据,例如存储介质包括可复写式非易失性存储器模块。当然,在实际应用中,上述存储介质22也可使用其他计算机可读存储介质代替,例如硬质磁性合金盘片等。控制器21分别与连接接口、存储介质22连接,且存储装置20通过控制器21实现存储控制,例如控制器21可控制连接接口与存储介质22以进行数据存取与数据管理。在一实施例中,控制器21亦可称为快闪存储器控制器。具体地,控制器21可包括可编程的一般用途或特殊用途的微处理器、数字信号处理器(Digital Signal Processor,DSP)、可编程控制器、专用集成电路(Application Specific Integrated Circuits,ASIC)、可编程逻辑器件(ProgrammableLogic Device,PLD)或其他类似装置或这些装置的组合。
在实际应用中,上述存储介质22具体可由一个或多个闪存芯片构成,控制器21可根据从主机30接收的指令序列,将数据存入存储介质22或从存储介质22读取数据。具体地,存储介质22包括存储单元阵列,且存储介质22中的各个存储单元以电压的形式来存储数据,例如,存储介质22可包括单阶存储单元(Single Level Cell,SLC)NAND型快闪存储器模块、多阶存储单元(Multi Level Cell,MLC)NAND型快闪存储器模块、三阶存储单元(TripleLevel Cell,TLC)NAND型快闪存储器模块、四阶存储单元(Quad Level Cell,QLC)NAND型快闪存储器模块或其他具有相似特性的存储器模块。
上述控制器21具体可包括主机接口、存储器接口及存储器控制电路。其中主机接口用以经由连接接口连接至主机30,以与主机30通信;存储器接口用以连接至存储介质22,以便于访问存储介质22中的各个存储单元。存储器控制电路分别连接至主机接口、存储器接口。存储器控制电路用以负责存储装置20的整体或部分运作。存储器控制电路可经由主机接口、连接接口与主机30通信,并经由存储器接口访问存储介质22。在一实施例中,存储器控制电路也可视为控制器21的控制核心。在以下实施例中,对于存储器控制电路的说明等同于对于控制器21的说明。控制器21还可集成有只读存储器(Read-Only Memory,ROM)211和静态随机存取存储器(Static Random-Access Memory,SRAM)212,其中SRAM 212用于暂存来自于主机30的数据与指令或来自于存储介质22的数据。
固件为用于实现存储控制的软件,其在存储装置20上电启动时载入到SRAM 212中。上述固件可以理解成控制指令(SWAP code)集合,该控制指令集合可形成用于实现各类数据处理的算法,例如4K读算法、4K写算法、耗损平衡算法、错误校正码(ECC)算法、坏块管理算法、垃圾回收算法等。存储装置20中的控制器21及存储介质22的功能和结构,以及存储装置20的固件本身属于本领域的习知技术,在此不再赘述。
本实施例的固件加载方法可集成到图2所示的存储装置20,例如集成到存储装置10的启动引导程序(bootloader),该启动引导程序可存储于ROM 211,本实施例的方法包括由存储装置的控制器21执行的以下步骤(此时主机30处于正常运行状态):
步骤S11:从存储介质22获取第一密文数据,并解密第一密文数据获得第一明文数据。上述第一明文数据为程序代码,其具体可以为组成存储装置20的固件的一部分代码。对第一密文数据进行解密的算法可存储于启动引导程序。
上述第一密文数据可由第一明文数据经第一加密算法加密运算而成,并在存储装置20开卡时写入到存储介质22的指定位置。启动引导程序可包括从存储介质22的指定位置读取第一密文数据的指令以及使用第一加密算法解密第一密文数据的指令。并且为了避免第一密文数据被误删,存储介质22中存储有第一密文数据的区域为永久写保护状态。
在本发明的一个实施例中,第一加密算法为对称加密算法,例如高级加密标准(Advanced Encryption Standard,AES)算法、数据加密标准(Data Encryption Standard,DES)算法、三重数据加密算法(Triple Data Encryption Standard,3DES)算法等,即第一密文数据由第一明文数据经第一加密算法使用第一密钥加密运算而成。上述第一密钥可存储于存储装置20(ROM 211和存储介质22均可),相应地,在解密第一密文数据获得第一明文数据时,控制器21通过执行启动引导程序先从存储装置20获取第一密钥,再使用第一密钥解密第一密文数据获得第一明文数据。通过对称加密算法进行加密和解密属于本领域的习知技术,在此不再赘述。当然,上述第一加密算法也可为非对称加密算法,即第一密文数据可由第一明文数据经非对称加密运算而成。
此外,第一密钥也可从存储装置20所在的主机30获得,例如控制器21通过向主机30发送密钥读取请求,并由主机30响应该密钥读取请求,从而获得该第一密钥,例如第一密钥可通过主机30提供的人机交互界面由使用者输入。具体地,该第一密钥可以在存储装置20开卡时生成并随存储装置20一起销售,再由存储装置20的使用者输入到主机30的人机交互界面中。或者,第一密钥也可由主机30在为存储装置20开卡时生成,并直接存储在主机30内。
为降低存储介质22中第一密文数据被破解的风险,在存储介质22中,第一密文数据可由N个第一密文片段构成,且该N个第一密文片段分别存储于存储介质22的不同存储块中,上述N为大于或等于2的整数。例如,第一密文数据为256个字节,将该256个字节划分为多个字节块(即第一密文片段)K11,…,K1i,K1j,分别存储于存储介质22中预定的多个位置。相应地,在获取第一密文数据时,需分别从存储介质22的N个位置读取N个第一密文片段,并将N个第一密文片段组合(例如顺序拼接)形成第一密文数据。通过上述方式,可增加获取第一密文数据的难度,从而增加第一密文数据的破解难度。
步骤S12:从存储装置20所在的主机60中获取第二密文数据,并解密第二密文数据获得第二明文数据。上述第二明文数据同样为程序代码,其具体可以为组成存储装置20的固件中除了第一明文数据外的另一部分代码。对第二密文数据进行解密的算法可存储于启动引导程序。
上述第二密文数据可由第二明文数据经第二加密算法加密运算而成,并在存储装置20开卡时写入到主机30的指定位置。启动引导程序可包括从主机30的指定位置读取第二密文数据的指令以及使用第二加密算法解密第二密文数据的指令。并且为了避免第二密文数据被误删,主机30中存储有第二密文数据的区域为永久写保护状态。
在本发明的一个实施例中,第二加密算法为非对称加密算法,例如椭圆曲线密码学(Elliptic curve cryptography,ECC)算法或RSA(Rivest-Shamir-Adleman)算法等,即第二密文数据由第二明文数据经第二加密算法使用第一私钥加密运算而成,且第二密文数据可通过第二加密算法使用第一公钥解密运算获得第二明文数据。上述第一公钥可存储于存储装置20(ROM 211和存储介质22均可),相应地,在解密第二密文数据获得第二明文数据时,控制器21通过执行启动引导程序先从存储装置20获取第一公钥,再使用第一公钥解密第二密文数据获得第二明文数据。使用非对称加密算法进行加密和解密属于本领域的习知技术,在此不再赘述。当然,上述第二加密算法也可为对称加密算法,即第一密文数据可由第一明文数据经对称加密运算而成。
此外,第一公钥也可从存储装置20所在的主机30获得,例如控制器21通过向主机30发送密钥读取请求,并由主机30响应该密钥读取请求,从而获得该第一公钥,具体地,第一公钥也可由主机30在为存储装置20开卡时生成,并直接存储在主机30内。
为降低主机30中第二密文数据被破解的风险,在主机30的外存储器(除了存储装置20之外的存储器)中,第二密文数据可由M个第二密文片段构成,且该M个第二密文片段分别存储于的不同路径中,上述M为大于或等于2的整数。例如,第二密文数据为256个字节,将该256个字节划分为多个字节块(即第二密文片段)J11,…,J1i,J1j,分别存储于主机30中预定的多个位置。相应地,在获取第二密文数据时,需分别从主机30的M个位置读取M个第一密文片段,并将M个第二密文片段组合(例如顺序拼接)形成第二密文数据。通过上述方式,可增加获取第二密文数据的难度,从而增加第二密文数据的破解难度。
步骤S13:运行所述第一明文数据和第二明文数据以加载存储装置20的固件,即存储装置20的固件由第一明文数据和第二明文数据组合而成。在固件载入完成后,存储装置20即可根据来自主机30的指令进行数据读写操作。
上述固件加载方法,通过将存储装置20的固件(不包含启动引导程序)分成两个部分,并对两个部分使用不同方式加密后分别存储到主机30和存储介质22,从而在存储装置20从主机30拆下(例如被盗)后,其他主机无法对其存储的数据进行读取,极大提高了数据存储的安全性。
在实际应用中,上述第一密文数据和第二密文数据可在存储装置20首次安装到主机30时由主机生成,例如在安装存储装置20的驱动程序(该驱动程序可由存储装置20的厂商提供)时,主机30根据驱动程序对存储装置20的固件分成第一明文数据和第二明文数据,并分别使用第一加密算法和第二加密算法加密后,写入到存储介质22以及该主机30的外存储器。
优选地,由第一明文数据和第二明文数据组成的存储装置20的固件包括数据加密算法,且控制器21在固件加载完成后通过数据加密算法对存储介质22进行读写操作。也就是说,在主机30与存储装置20正常运行过程中,存储器21为响应主机30的指令而写入到存储介质22的任何数据都经过固件中的数据加密算法进行加密,从而一旦存储装置20无法加载固件,存储介质22中的任何数据也无法被读取,可有效避免数据泄密。
在本发明的一个实施例中,存储装置20的固件包括多个扩展算法,例如存储装置20可包括以下一个或多个扩展算法:耗损平衡写入算法、错误校正码算法、坏块管理算法、垃圾回收算法、数据加密算法。每一扩展算法由位于第一明文数据的第一算法片段以及位于第二明文数据中的第二算法片段组合而成,从而缺少第一明文数据和第二明文数据中的任何一个,存储装置20都无法运行。在实际应用中,第一明文数据和第二明文数据可分别包括一个或多个扩展算法,从而缺少第一明文数据和第二明文数据的任何一个都无法实现存储装置20的全部性能。
在本发明的一个实施例中,为进一步提高安全性,结合图3所示,上述固件加载方法还包括由存储装置20的控制器21执行的以下步骤:
步骤S141:从存储介质22或存储装置20所在的主机30获取第一摘要数据,该第一摘要数据在通过对第一明文数据和第二明文数据进行哈希运算(例如使用SHA256算法)生成。
上述第一摘要数据可在生成第一密文数据和第二密文数据的同时生成,并且该第一摘要数据既可存储到存储介质22,也可存储到主机30。哈希运算属于本领域的习知技术,在此不再赘述。
步骤S142:对解密获得的第一明文数据和第二明文数据进行哈希运算生成第二摘要数据。上述第一明文数据为步骤S11中解密第一密文数据所得,第二明文数据则为步骤S12中解密第二密文数据所得。
步骤S143:判断第一摘要数据和第二摘要数据是否一致,若第一摘要数据和第二摘要数据一致,则执行步骤S13,即运行第一明文数据和第二明文数据以加载存储装置的固件;否则报错。
通过上述方式,可在第一明文数据和第二明文数据中的任一个出错时,均不会加载固件,从而提高了安全性。
同样为进一步提高安全性,在本发明的另一实施例中,结合图4所示,上述固件加载方法还包括由存储装置20的控制器21执行的以下步骤:
步骤S151:从存储介质或存储装置所在的主机获取第三摘要数据,所述第三摘要数据通过对第一密文数据和第二密文数据进行哈希运算生成。
上述第三摘要数据可在生成第一密文数据和第二密文数据的同时生成,并且该第三摘要数据既可存储到存储介质22,也可存储到主机30。
步骤S152:对从存储介质22获取的第一密文数据和从存储装置20所在的主机30中获取的第二密文数据进行哈希运算生成第四摘要数据。上述第一密文数据为步骤S11中从存储介质22获取,第二明文数据则为步骤S12中从存储装置所在的主机30获取。
步骤S153:判断第三摘要数据和第四摘要数据是否一致,若第三摘要数据和第四摘要数据一致,则执行步骤S13,即运行第一明文数据和第二明文数据以加载存储装置的固件;否则报错。
本发明还提供一种存储装置,该存储装置包括存储单元以及控制芯片,其中存储单元集成于所述控制芯片或与所述控制芯片连接,所述存储单元中存储有可在所述控制芯片上执行的计算机程序,且所述控制芯片执行所述计算机程序时实现如上所述的固件加载方法的步骤。
本实施例中的存储器与上述图1-4对应实施例中的固件加载方法属于同一构思,其具体实现过程详细见对应的方法实施例,且方法实施例中的技术特征在本设备实施例中均对应适用,这里不再赘述。
本发明还提供一种计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时,实现如上所述固件加载方法的步骤。
本实施例中的计算机可读存储介质与上述图1-4对应实施例中的固件加载方法属于同一构思,其具体实现过程详细见对应的方法实施例,且方法实施例中的技术特征在本设备实施例中均对应适用,这里不再赘述。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成。实施例中的各功能单元、模块可以集成在一个处理器中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的固件加载方法及存储装置,可以通过其它的方式实现。例如,以上所描述的存储装置实施例仅仅是示意性的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理器中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或界面切换设备、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括是电载波信号和电信信号。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种固件加载方法,应用于存储装置,且所述存储装置包括控制器和存储介质,其特征在于,所述方法包括由所述控制器执行的以下步骤:
从所述存储介质获取第一密文数据,并解密所述第一密文数据获得第一明文数据,所述第一密文数据由第一明文数据经第一加密算法加密运算而成;
从所述存储装置所在的主机中获取第二密文数据,并解密所述第二密文数据获得第二明文数据,所述第二密文数据由第二明文数据经第二加密算法加密运算而成;
运行所述第一明文数据和第二明文数据以加载所述存储装置的固件。
2.根据权利要求1所述的固件加载方法,其特征在于,所述方法还包括:
从所述存储介质或所述存储装置所在的主机获取第一摘要数据,所述第一摘要数据通过对第一明文数据和第二明文数据进行哈希运算生成;
对解密获得的第一明文数据和第二明文数据进行哈希运算生成第二摘要数据,且运行所述第一明文数据和第二明文数据以加载所述存储装置的固件的步骤仅在所述第二摘要数据和第一摘要数据相一致时执行。
3.根据权利要求1所述的固件加载方法,其特征在于,所述方法还包括:
从所述存储介质或所述存储装置所在的主机获取第三摘要数据,所述第三摘要数据通过对第一密文数据和第二密文数据进行哈希运算生成;
对从所述存储介质获取的第一密文数据和从所述存储装置所在的主机中获取的第二密文数据进行哈希运算生成第四摘要数据,且运行所述第一明文数据和第二明文数据以加载所述存储装置的固件的步骤仅在所述第三摘要数据和第四摘要数据相一致时执行。
4.根据权利要求1-3中任一项所述的固件加载方法,其特征在于,所述第一加密算法为对称加密算法,所述第一密文数据由第一明文数据使用第一密钥经第一加密算法加密运算而成;所述解密所述第一密文数据获得第一明文数据,包括:
从所述存储装置或所述存储装置所在的主机获取第一密钥,并使用所述第一密钥解密所述第一密文数据获得第一明文数据。
5.根据权利要求1-3中任一项所述的固件加载方法,其特征在于,所述第二加密算法为非对称加密算法,所述第二密文数据由第二明文数据使用第一私钥经第二加密算法加密运算而成,所述解密所述第二密文数据获得第二明文数据,包括:
从所述存储装置或所述存储装置所在的主机获取第一公钥,并使用所述第一公钥解密所述第二密文数据获得第二明文数据。
6.根据权利要求1-3中任一项所述的固件加载方法,其特征在于,所述存储装置的固件包括数据加密算法,且所述控制器在固件加载完成后通过所述数据加密算法对所述存储介质进行读写操作。
7.根据权利要求1-3中任一项所述的固件加载方法,其特征在于,所述存储装置的固件包括多个扩展算法,每一所述扩展算法由位于所述第一明文数据的第一算法片段以及位于所述第二明文数据中的第二算法片段组合而成。
8.根据权利要求1-3中任一项所述的固件加载方法,其特征在于,所述第一密文数据在所述存储装置首次安装到主机时由所述主机生成,并由所述主机写入到存储介质;所述第二密文数据在所述存储装置首次安装到主机时由所述主机生成,并由所述主机写入到主机的外存储器。
9.一种存储装置,其特征在于,包括存储单元以及控制芯片,所述存储单元集成于所述控制芯片或与所述控制芯片连接,所述存储单元中存储有可在所述控制芯片上执行的计算机程序,且所述控制芯片执行所述计算机程序时实现如权利要求1-8中任一项所述的固件加载方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时,实现如权利要求1至8中任一项所述固件加载方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210561876.8A CN114756885A (zh) | 2022-05-20 | 2022-05-20 | 固件加载方法、存储装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210561876.8A CN114756885A (zh) | 2022-05-20 | 2022-05-20 | 固件加载方法、存储装置及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114756885A true CN114756885A (zh) | 2022-07-15 |
Family
ID=82335105
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210561876.8A Pending CN114756885A (zh) | 2022-05-20 | 2022-05-20 | 固件加载方法、存储装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114756885A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115599407A (zh) * | 2022-11-29 | 2023-01-13 | 深圳宏芯宇电子股份有限公司(Cn) | 固件烧录方法、固件烧录系统及存储器存储装置 |
-
2022
- 2022-05-20 CN CN202210561876.8A patent/CN114756885A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115599407A (zh) * | 2022-11-29 | 2023-01-13 | 深圳宏芯宇电子股份有限公司(Cn) | 固件烧录方法、固件烧录系统及存储器存储装置 |
CN115599407B (zh) * | 2022-11-29 | 2023-08-15 | 深圳宏芯宇电子股份有限公司 | 固件烧录方法、固件烧录系统及存储器存储装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9785784B2 (en) | Security management unit, host controller interface including same, method operating host controller interface, and devices including host controller interface | |
US8589669B2 (en) | Data protecting method, memory controller and memory storage device | |
KR102139179B1 (ko) | 보안 서브시스템 | |
US8996933B2 (en) | Memory management method, controller, and storage system | |
JP2010509690A (ja) | 記憶装置のセキュリティを確保する方法とシステム | |
TWI641966B (zh) | 記憶體儲存系統、主機系統驗證方法及記憶體儲存裝置 | |
KR20130140968A (ko) | 장치 식별자와 사용자 인증 정보에 기반한 보안 키 생성 장치 | |
US20130080787A1 (en) | Memory storage apparatus, memory controller and password verification method | |
US11663145B2 (en) | Off-chip memory address scrambling apparatus and method for system on chip | |
CN109445705B (zh) | 固件认证方法及固态硬盘 | |
US10339318B2 (en) | Semiconductor memory system and operating method thereof | |
US11683155B2 (en) | Validating data stored in memory using cryptographic hashes | |
CN103257938B (zh) | 数据保护方法、存储器控制器与存储器储存装置 | |
CN113841129A (zh) | 存储器中的数据证明 | |
CN114756885A (zh) | 固件加载方法、存储装置及计算机可读存储介质 | |
CN112115076A (zh) | 使用者数据的加解密装置及方法 | |
CN113704835A (zh) | 一种支持加密卡功能的可信存储硬盘 | |
US11232210B2 (en) | Secure firmware booting | |
CN113632413A (zh) | 使用存储器作为区块链中的块 | |
CN113127896B (zh) | 基于独立加密芯片的数据处理方法及设备 | |
CN110069934B (zh) | 存储器存储系统、主机系统验证方法及存储器存储装置 | |
US9058295B2 (en) | Encrypt data of storage device | |
KR102510506B1 (ko) | 스토리지 장치 및 스토리지 장치의 동작 방법 | |
CN115599407B (zh) | 固件烧录方法、固件烧录系统及存储器存储装置 | |
CN101763485A (zh) | 数据保护方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |