CN109783124A - 认证固件数据的数据储存装置与数据储存方法 - Google Patents
认证固件数据的数据储存装置与数据储存方法 Download PDFInfo
- Publication number
- CN109783124A CN109783124A CN201810530644.XA CN201810530644A CN109783124A CN 109783124 A CN109783124 A CN 109783124A CN 201810530644 A CN201810530644 A CN 201810530644A CN 109783124 A CN109783124 A CN 109783124A
- Authority
- CN
- China
- Prior art keywords
- data
- hash
- firmware
- sequence
- controller
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000013500 data storage Methods 0.000 title claims abstract description 44
- 101150060512 SPATA6 gene Proteins 0.000 claims abstract description 254
- 230000007246 mechanism Effects 0.000 claims abstract description 134
- 238000004364 calculation method Methods 0.000 claims description 34
- 241001269238 Data Species 0.000 claims description 11
- 230000005611 electricity Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 7
- 230000006378 damage Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000009434 installation Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000006798 recombination Effects 0.000 description 2
- 238000005215 recombination Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 230000000739 chaotic effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000005138 cryopreservation Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/572—Secure firmware programming, e.g. of basic input output system [BIOS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
- G06F3/0622—Securing storage systems in relation to access
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/26—Testing cryptographic entity, e.g. testing integrity of encryption key or encryption algorithm
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Power Engineering (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及一种用于认证固件数据的数据储存装置与数据储存方法。数据储存装置包括一快闪存储器以及一控制器。控制器耦接该快闪存储器,用以接收一第一固件数据及其相关的一第一排序杂凑数据,并且将该第一固件数据所产生的一第一杂凑数据区分为多个数据群组,然后以一对应排序机制对这些数据群组进行重组而产生一第二排序杂凑数据。上述第一杂凑数据的这些数据群组的每一者并非逐一对应至该第二排序杂凑数据。控制器还包括一电子熔丝(efuse)区,用以写入该对应排序机制。当该控制器判断该第二排序杂凑数据相同于该第一排序杂凑数据时,则允许将该第一固件数据更新至该控制器。
Description
技术领域
本发明有关于一种数据储存装置与数据储存方法,特别有关于一种能够有效认证固件数据的数据储存装置与数据储存方法。
背景技术
快闪存储器为一种普遍的非挥发性数据储存装置,以电性方式抹除与程式化。以与非门型的快闪存储器(NAND FLASH)为例,常用作记忆卡(memory card)、通用串行总线闪存装置(USB flash device)、固态硬碟(SSD)、嵌入式快闪存储器模组(eMMC)、通用快闪存储器(UFS)…等使用。
一般而言,数据储存装置可以透过对固件的升级提升其效能及可靠性。固件的更新可以确保数据储存装置保持在最新的状态以及确保其相容性。然而,如果数据储存装置更新了错误或不合法的固件,可能会导致数据储存装置无法正常的进行读取或写入等操作,甚至造成数据储存装置的损毁。因此,需要一种能够有效并且方便认证固件数据的数据储存装置与数据储存方法,以确保将更新的固件数据是合法以及正确的。
发明内容
为了解决上述问题,本发明提出一种能够有效并且方便认证固件数据的数据储存装置与数据储存方法,以确保所更新的是正确的固件数据。
详细而言,本发明提供了安全杂凑机制以及对应排序机制,用以准确的检测所欲安装的固件数据是否为合法与正确。首先,安全杂凑机制将固件数据进行加密与压缩以产生杂凑数据。然后,对应排序机制将上述杂凑数据重新组合,并且储存于数据储存装置的特定位置。上述对应排序机制是由数据储存装置的制造商所设定,并且该对应排序机制并非一对一的对应关系,以增加对应的复杂度。藉由判断所欲安装的固件数据及其相关的杂凑数据是否相同于排序杂凑数据,就能够检测出所欲安装的固件数据,是否为数据储存装置的制造商所认证的正确合法的固件数据。依据本发明的数据储存装置以及数据储存方法,能够判断上述固件数据是否正确与合法,以防止数据储存装置受到恶意的破坏。
本发明的一实施例提供了一种用于认证固件数据的数据储存装置,包括一快闪存储器以及一控制器。控制器耦接该快闪存储器,用以接收一第一固件数据及其相关的一第一排序杂凑数据,并且将该第一固件数据所产生的一第一杂凑数据区分为多个数据群组,然后以一对应排序机制对这些数据群组进行重组而产生一第二排序杂凑数据。上述第一杂凑数据的这些数据群组的每一者并非逐一对应至该第二排序杂凑数据。控制器还包括一电子熔丝(efuse)区,用以写入该对应排序机制。当该控制器判断该第二排序杂凑数据相同于该第一排序杂凑数据时,则允许将该第一固件数据更新至该控制器。上述对应排序机制由该数据储存装置的制造商所设定。
本发明的一实施例提供了一种用于认证固件数据数据储存方法,适用于具有一快闪存储器以及一控制器的一数据储存装置。数据储存方法包括藉由该控制器接收一第一固件数据及其相关的一第一排序杂凑数据;将该第一固件数据所产生的一第一杂凑数据区分为多个数据群组;以一对应排序机制对这些数据群组进行重组而产生一第二排序杂凑数据,其中该第一杂凑数据的这些数据群组的每一者并非逐一对应至该第二排序杂凑数据;将该对应排序机制写入该控制器的一电子熔丝区;以及当判断该第二排序杂凑数据相同于该第一排序杂凑数据时,则允许将该第一固件数据更新至该控制器。
关于本发明其他附加的特征与优点,此领域的熟悉本技术领域者,在不脱离本发明的精神和范围内,当可根据本案实施方法中所揭示的数据储存装置与数据储存方法。
附图说明
根据以下的详细说明并配合附图做完整揭示。应注意的是,根据本产业的一般作业,图示并未必按照比例绘制。事实上,可能任意的放大或缩小元件的尺寸,以做清楚的说明。
图1显示了根据本发明一实施例所述的数据储存装置与主机的示意图;
图2A显示了根据本发明一实施例所述的用于认证固件数据的数据储存方法的示意图;
图2B显示了根据本发明另一实施例所述的用于认证固件数据的数据储存方法的示意图;
图2C显示了根据本发明一实施例所述的固件数据的示意图;
图3显示了根据本发明一实施例所述的杂凑数据与排序杂凑数据的示意图;
图4A显示了根据本发明一实施例所述的用于认证固件数据的数据储存方法的示意图;
图4B显示了根据本发明一实施例所述的杂凑数据与排序杂凑数据的示意图;
图4C显示了根据本发明一实施例所述的运算机制、杂凑数据与排序杂凑数据的示意图;
图4D显示了根据本发明另一实施例所述的运算机制、杂凑数据与排序杂凑数据的示意图;
图5显示了根据本发明一实施例所述的用于认证固件数据的数据储存方法的示意图;
图6A显示了根据本发明一实施例所述的用于认证固件数据的电子熔丝区的示意图。
图6B显示了根据本发明另一实施例所述的用于认证固件数据的电子熔丝区的示意图。
图7显示了根据本发明另一实施例所述的用于认证固件数据的数据储存方法的流程图;
图8显示了根据本发明另一实施例所述的用于认证固件数据的数据储存方法的流程图;
图9显示了根据本发明一实施例所述的用于认证固件数据的数据储存方法的流程图。
【符号说明】
10A、20A、50A、50A-1、50A-2、50A-3、50A-4~固件数据;
10B、20B、30B、40B、50B、50B-1、50B-2、50B-3、50B-4~杂凑数据;
10C、20C、30C、40C、40C-1、40C-2、40C-3、50C-1、50C-2、50C-3、50C-4~排序杂凑数据;
10D~其他数据;
10X~固件封包;
100~数据储存装置;
120~控制器;
122~电子熔丝区;
122-1至122-8~特定区域;
140~快闪存储器;
160-16N~区块;
160A、160Z…16NA、16NZ~页面;
180~随机存取存储器;
200~主机;
DVM~预定分割机制;
OPM、OPM-1~运算机制;
SHM~安全杂凑机制;
PTM~对应排序机制。
具体实施方式
为让本发明的目的、特征和优点能更明显易懂,下文特举出本发明的具体实施例,并配合附图,作详细说明如下。目的在于说明本发明的精神而非用以限定本发明的保护范围,应理解下列实施例可经由软件、硬wrh、固件、或上述任意组合来实现。
图1显示b根据本发明一实施例所述r数据储存装置100与主机200r示意图。在一实施例中,数据储存装置100包括控制器120、非挥发式存储器以及随机存取存储器(RAM)180。控制器120包括电子熔丝(efuse)区122。数据储存装置100耦接主机200以传送数据与指令、或是接收数据与指令。非挥发式存储器可以为与非门快闪存储器(NAND Flash)、磁阻式随机存取存储器(Magnetoresistive RAM)、铁电随机存取存储器(Ferroelectric RAM)、电阻式存储器(Resistive RAM,RRAM)、自旋转移力矩随机存取存储器(Spin Transfer Torque-RAM,STT-RAM)…等,使数据可于长时间保存。在下述说明中将以快闪存储器140为例进行说明,但不以此为限。数据储存装置100符合嵌入式快闪存储器模组(eMMC)规范、通用快闪存储器(UFS)、串行ATA(SATA)或非挥发性快速存储器(NVMe)等通信标准的规范。主机200可以为手机、平板电脑、笔记型电脑、导航机或车载系统等各种电子产品。
如图1所示,控制器120耦接快闪存储器140以及随机存取存储器180。随机存取存储器180用以暂存以及预取控制器120所需的数据,或是用以暂存主机200要写入快闪存储器140的数据,以加快数据储存装置100的存取时间。控制器120藉由控制快闪存储器140以丛集(cluster)为单位执行读取运作的方式来对快闪存储器140执行读取运作。此外,控制器120耦接快闪存储器140,以相互传送数据与指令或接收数据与指令。
电子熔丝区122主要储存关于数据储存装置100的安全性与存取操作的重要数据,例如,用以解码第一金钥的第二金钥。在一般运作模式下,只有控制器120才能读取电子熔丝区122所储存的数据。在除错模式下,电子熔丝区122会被关闭/屏闭以防止读取。要注意的是,固件数据是一次性写入电子熔丝区122。
快闪存储器140包括多个区块160~16N,N为正整数,例如2048。详细而言,区块160~16N中的每一者还包括多个实体页面160A~16NZ,A与Z为正整数,例如A=0而Z=256。区块160包括实体页面160A~160Z,区块16N包括实体页面16NA~16NZ。控制器120在对快闪存储器140执行数据写入或储存动作时,是藉由控制快闪存储器140以实体页面为单位来执行数据写入或程式化的运作。
对于快闪存储器140而言,其实体页面160A~16NZ的每一者皆具有不同的实体地址。换言之,实体页面160A~16NZ的每一者都具有一个实体地址,而实体页面160A~16NZ的每一者的实体地址都是不同的。当数据储存装置100执行一写入运作时,控制器120决定快闪存储器140的一实体地址以写入或储存数据。此外,控制器120还会记录数据的实体地址与逻辑地址的映射关系,此记录乃储存于映射表H2F中。因此,对于主机200而言,主机200藉由逻辑地址,来读取或写入数据储存装置100所储存于某个逻辑地址的数据。
图2A显示了根据本发明一实施例所述的用于认证固件数据的数据储存方法的示意图。固件数据10A是由一编译器(compiler)所产生。接着,如图2A所示,固件数据10A藉由安全杂凑机制SHM以产生一杂凑数据10B。举例而言,安全杂凑机制SHM为安全杂凑演算法(Secure Hash Algorithm,SHA)。固件数据10A藉由SHA-256的运算以产生256bits长度的杂凑数据10B。要注意的是上述SHA仅是用于例示,而非用以限制本发明。
在一实施例中,控制器120接收固件数据10A,并且对固件数据10A进行安全杂凑机制SHM,而产生并接收杂凑数据10B。在另一实施例中,由其他装置(例如主机200)对固件数据10A进行安全杂凑机制SHM以产生杂凑数据10B,并且控制器120接收该杂凑数据10B。
在一实施例中,控制器120将杂凑数据10B区分为多个数据群组,以一对应排序机制PTM对上述数据群组进行排序而产生排序杂凑数据10C。上述对应排序机制PTM储存于控制器120的电子熔丝区122。举例而言,杂凑数据10B的大小为8个位元组(bytes),其内容如下所示:
Value | 0 x 47 | 0 x 54 | 0 x 00 | 0 x 28 | 0 x 01 | 0 x 07 | 0 x 38 | 0 x 36 |
Byte | H | G | F | E | D | C | B | A |
表格1
表格1显示了杂凑数据10B的每一位元组的数据。在一实施例中,控制器120将上述8个位元组数据进行分组,而产生多个数据群组。举例而言,每个数据群组的大小为1byte,亦即每1byte的数据皆各自成为一个数据群组。在另一实施例中,每个数据群组的大小为2byte,亦即将2个1byte的数据是为一个数据群组。例如表格1中的0x54和0x47为一数据群组,表格1中的0x28和0x00为一另数据群组。要注意的是上述数据群组的大小仅是用于例示,而非用以限制本发明。本技术领域中具有通常知识者依据本发明的内容而设定其他大小的数据群组,仍不脱离本发明的精神与范畴。
在此实施例中,杂凑数据10B的大小为8bytes,在另一实施例中,杂凑数据10B的大小为32bytes。如果使用较复杂的安全杂凑机制SHM与对应排序机制PTM,或是另外使用其他机制(例如预定分割机制或预定再压缩机制),则电子熔丝区122需要较大储存容量来储存上述机制。上述预定分割机制以及预定再压缩机制将分别在图3以及图4中详细说明。
在此实施例中,每1byte的数据皆各自成为一个数据群组。换言之,表格1中的0x54为一数据群组,0x28为另一数据群组。然后,上述杂凑数据10B藉由对应排序机制PTM以数据群组为单位进行排序,而产生排序杂凑数据10C。要注意的是,对应排序机制PTM系以表格化方式储存于电子熔丝区122。举例而言,对应排序机制PTM如表格2所示:
A | B | G | F | B | D | E | C |
表格2
对应排序机制PTM改变了杂凑数据10B的内容的地址,0x54由Byte G的位置变更到Byte F的位置,0x28由Byte E的位置变更到Byte B的位置,0x07由Byte C的位置变更到Byte A的位置。要注意的是,Byte B位置的数据被复制,而Byte H位置的数据则被省略。因此,表格2中出现两笔关于Byte B位置的数据,而没有关于Byte H位置的数据。换言之,本发明所提供的对应排序机制PTM并非一对一的对应关系,因而增加了对应与排序的复杂度,以提升数据储存装置100的安全性。
详细而言,本发明的数据储存方法提供了双重的保护机制,分别是安全杂凑机制SHM以及对应排序机制PTM。安全杂凑机制SHM所产生的杂凑数据10B(如表格1所示),会藉由对应排序机制PTM而重新组合成排序杂凑数据10C(如表格2所示)。如果有第三人要将不合法的固件数据更新至数据储存装置100,上述不合法的固件数据透过其他安全杂凑机制后所产生的杂凑数据将不同于本案的排序杂凑数据10C。因此,控制器120可据以判断上述杂凑数据是不合法的,并且拒绝将该不合法的固件数据安装或更新至数据储存装置100。
图2B显示了根据本发明另一实施例所述的用于认证固件数据的数据储存方法的示意图。在此实施例中,排序杂凑数据10C与固件数据10A形成固件封包10X。然后,对应排序机制PTM对上述排序杂凑数据10C进行反向排序以产生杂凑数据10B。
在一实施例中,上述杂凑数据10B的产生方式或储存位置由数据储存装置100的制造商所设定。由于第三人并未知悉上述杂凑数据10B的产生方式或储存位置,因此控制器120能够检测另一固件数据是否合法与正确。因此,本发明的数据储存方法能够避免安装或更新不合法的固件数据,以确保数据储存装置100不会受到恶意的破坏。
在一实施例中,对应排序机制PTM由数据储存装置100的制造商所设定。举例而言,第三人从不合法的手段而得知安全杂凑机制SHM,且知杂凑数据10B的储存位置,并将另一固件数据与杂凑数据10B形成固件封包,意图将不合法的另一固件数据更新至数据储存装置100。由于第三人并未得知对应排序机制PTM,所以固件封包包含的是杂凑数据10B,而非透过对应排序机制PTM而产生的排序杂凑数据10C。因此,控制器120可轻易地判断排序杂凑数据10C与杂凑数据10B的不同,进而判断上述固件数据是不合法的,并且拒绝将该不合法的固件数据安装或更新至数据储存装置100,以防止数据储存装置100受到恶意的破坏。
图2C显示了根据本发明一实施例所述的固件数据的示意图。如图2C所示,在一实施例中,排序杂凑数据10C储存于固件数据10A之上。另外,固件数据10A之下则储存了与固件相关的其他数据10D。换言之,固件封包10X包括固件数据10A、排序杂凑数据10C以及其他数据10D。举例而言,其他数据10D包括固件版本、安全杂凑机制SHM的版本、以及其他客户所欲储存的安全资讯。可想而知地,排序杂凑数据10C亦可储存于固件数据10A之下。
在一实施例中,当数据储存装置100收到固件封包10X时,控制器120会对固件封包10X的固件数据10A执行安全杂凑机制SHM以得到杂凑数据20B,然后再执行对应排序机制PTM以得到排序杂凑数据20C。在一实施例中,控制器120会比对排序杂凑数据20C以及固件封包10X所储存的排序杂凑数据10C。如果比对结果为两者相同,则表示固件数据10A为合法正确的。如果比对结果为两者不同,则表示固件数据10A是非法的。
在另一实施例中,数据储存装置100收到固件封包10X时,控制器120会对固件封包10X的固件数据10A执行安全杂凑机制SHM以得到杂凑数据20B。然后,控制器120会对固件封包10X所储存的排序杂凑数据10C执行反向对应排序机制PTM以得到杂凑数据10B。然后,控制器120比对杂凑数据20B以及固件封包10X所储存的杂凑数据10B。如果比对结果为两者相同,则表示固件数据10A为合法正确的。如果比对结果为两者不同,则表示固件数据10A是非法的。
在另一实施例中,固件数据10A亦可藉由加密机制,例如进阶加密标准(AdvancedEncryption Standard,AES)、或是RSA加密演算法,对固件数据10A进行加密而产生加密数据10B。
图3显示了根据本发明一实施例所述的杂凑数据与排序杂凑数据的示意图。为了简化并且节省储存空间,本发明所述的固件数据、杂凑数据以及排序杂凑数据系以表格化方式来加以呈现。在一实施例中,杂凑数据30B藉由对固件数据进行安全杂凑机制SHM所产生。如图3所示,杂凑数据30B以表格呈现出每个位元组(Byte)的位置顺序,由Byte A依序至Byte NN。
然后,控制器120撷取杂凑数据30B的一部分而形成杂凑数据30B-1,并且对杂凑数据30B-1执行对应排序机制PTM而形成排序杂凑数据30C。要注意的是,杂凑数据30B-1的每一位元组所储存的数据并非逐一对应至排序杂凑数据30C的每一位元组所储存的数据。举例而言,排序杂凑数据30C具有2笔Byte A的数据,但只有1笔Byte AA的数据。换言之,杂凑数据30B-1的一部分数据被复制。此外,对于杂凑数据30B而言,其Byte GG至Byte NN的数据则被省略,没有出现在排序杂凑数据30C之中。
由此可知,本发明所提出的数据储存方法不仅是对杂凑数据30B重新排序,而是进一步的藉由省略或是复制等方式对数据重新组合,产生更为混乱与复杂的排序杂凑数据30C,以避免数据被轻易破解。
图4A显示了根据本发明一实施例所述的用于认证固件数据的数据储存方法的示意图。相较于图3所示的认证固件数据的数据储存方法,图4A的实施例更提供了运算机制OPM,可对杂凑数据、固件数据、排序杂凑数据等各种数据进行运算。详细而言,上述运算机制OPM包括加法运算、减法运算、乘法运算、除法运算、以及不运算。藉由运算机制OPM,能够以更为复杂的程序来产生排序杂凑数据,以进一步提升固件更新的安全性。
在图4A所示的实施例中,固件数据40A经过安全杂凑机制SHM而产生杂凑数据40B,并且杂凑数据40B经过对应排序机制PTM而产生排序杂凑数据40C。然后,控制器120对杂凑数据40B以及排序杂凑数据40C执行运算,以产生另一排序杂凑数据40C-1。由于运算机制OPM的缘故,排序杂凑数据40C-1比排序杂凑数据40C更为复杂,因而能提升固件数据40A受到恶意破解的困难度。以下将详细介绍运算机制OPM的各种应用实例。
图4B显示了根据本发明一实施例所述的杂凑数据与排序杂凑数据的示意图。排序杂凑数据40C-1将排序杂凑数据40C以及杂凑数据40B进行加法运算所产生。上述加法运算对表格中的每个位元组的数据,与另一表格所对应位元组的数据进行相加。例如,对于第1列第1行的数据而言,控制器120将排序杂凑数据40C的Byte A的数据与杂凑数据40B的ByteA的数据相加,而得到排序杂凑数据40C-1的Byte A加上Byte A的数据。对于第1列第2行的数据而言,控制器120是将排序杂凑数据40C的Byte Y的数据与杂凑数据40B的Byte B的数据相加,而得到排序杂凑数据40C-1之Byte B加上Byte Y的数据。
要注意的是,由于杂凑数据40B比排序杂凑数据40C少一列,因此排序杂凑数据40C的最后一行的Byte W至Byte H的数据并未进行加法运算。由于杂凑数据40B与排序杂凑数据40C并非一对一的对应关系,因此两者的数据大小可能会不同。在另一实施例中,上述杂凑数据40B撷取自另一杂凑数据的一部分,因此其数据空间少于排序杂凑数据40C的数据空间。
图4C显示了根据本发明一实施例所述的运算机制、杂凑数据与排序杂凑数据的示意图。控制器120依据运算机制OPM,对排序杂凑数据40C以及杂凑数据40B进行运算以产生排序杂凑数据40C-2。上述运算机制OPM对表格中的每个位元组的数据,与另一表格所对应位元组的数据进行运算。在一实施例中,运算机制OPM使用多种不同数值来代表所要执行的运算种类。详细而言,运算机制OPM的表格中的1表示加法运算、2表示减法运算、3表示乘法运算、4表示除法运算、0表示不运算。
例如,对于第1列第1行的数据而言,控制器120将排序杂凑数据40C的Byte A的数据与杂凑数据40B的Byte A的数据相加,而得到排序杂凑数据40C-2的Byte A加上Byte A的数据。此外,对于第1列第2行的数据而言,控制器120将排序杂凑数据40C的Byte Y的数据与杂凑数据40B的Byte B的数据相减,而得到排序杂凑数据40C-2的Byte B减去Byte Y的数据。
图4D显示了根据本发明另一实施例所述的运算机制、杂凑数据与排序杂凑数据的示意图。控制器120依据运算机制OPM,对排序杂凑数据40C以及杂凑数据40B进行运算以产生排序杂凑数据40C-2。要注意的是,在图4D的实施例中,杂凑数据40B与排序杂凑数据40C的数据大小是相同的,亦即此两者所包含的位元组数量是相同的。
例如,对于第5列第1行的数据而言,控制器120不对排序杂凑数据40C的Byte W的数据执行任何运算,而得到排序杂凑数据40C-3的Byte W的数据。对于第5列第5行的数据而言,控制器120将排序杂凑数据40C的Byte BB的数据与杂凑数据40B的Byte KK的数据相乘,而得到排序杂凑数据40C-3的Byte BB乘以Byte KK的数据。对于第5列第7行的数据而言,控制器120将排序杂凑数据40C的Byte H的数据与杂凑数据40B之Byte NN的数据相除,而得到排序杂凑数据40C-3的Byte H除以Byte NN的数据。
图5显示了根据本发明一实施例所述的用于认证固件数据的数据储存方法的示意图。在此实施例中,数据储存方法还包括一预定分割机制DVM,以促进固件数据的认证并且提升安全性。如图5所示,预定分割机制DVM将固件数据50A分割为4个固件数据50A-1、50A-2、50A-3以及50A-4(亦即子固件数据)。换言之,4个固件数据50A-1、50A-2、50A-3以及50A-4的总和就是原本的固件数据50A。
要注意的是,上述4个固件数据50A-1~50A-4的分割仅是用于例示,而非用以限制本发明。本技术领域中具有通常知识者依据本发明的内容而分割为其他数量的固件数据,仍不脱离本发明的范畴。
然后,安全杂凑机制SHM分别将4个固件数据50A-1、50A-2、50A-3以及50A-4进行杂凑运算,并且分别产生4个杂凑数据50B-1、50B-2、50B-3以及50B-4(亦即子杂凑数据)。4个杂凑数据50B-1、50B-2、50B-3以及50B-4的总和就是杂凑数据50B。
在一实施例中,运算机制OPM分别将4个杂凑数据50B-1、50B-2、50B-3以及50B-4进行运算,并且分别产生4个排序杂凑数据50C-1、50C-2、50C-3以及50C-4。4个排序杂凑数据50C-1、50C-2、50C-3以及50C-4的总和即为排序杂凑数据50C。在另一实施例中,运算机制OPM同时对全部的4个杂凑数据50B-1、50B-2、50B-3以及50B-4进行运算,而产生1个排序杂凑数据50C。
在其他实施例中,对应排序机制PTM亦可搭配运算机制OPM一起使用,以产生排序杂凑数据50C。举例而言,杂凑数据50B经过运算机制OPM的运算后,再藉由对应排序机制PTM进行重组而产生排序杂凑数据50C。在另一实施例中,杂凑数据50B经过对应排序机制PTM进行重组之后,在经过运算机制OPM进行运算,以产生排序杂凑数据50C。
图6A显示了根据本发明一实施例所述的用于认证固件数据的电子熔丝区的示意图。在一实施例中,电子熔丝区122包括多个特定区域122-1~122-8,用以分别储存特定数据。如图6A所示,对应排序机制PTM储存于特定区域122-1。换言之,特定区域122-1只能用于储存对应排序机制PTM,不能储存其他机制或其他数据。此外,上述对应排序机制PTM是一次性写入电子熔丝区122,并且只有控制器120才能加以读取。
图6B显示了根据本发明另一实施例所述的用于认证固件数据的电子熔丝区的示意图。在一些实施例中,数据储存方法除了对应排序机制PTM之外,还包括预定分割机制DVM以及运算机制OPM。在图6B所示的实施例中,对应排序机制PTM储存于特定区域122-1,预定分割机制DVM储存于特定区域122-2,以及运算机制OPM储存于特定区域122-3。要注意的是,如果上述机制的一者或是多者较为复杂,则可使用2个以上的特定区域来储存1个机制。
图7显示了根据本发明另一实施例所述的用于认证固件数据的数据储存方法的流程图。在步骤S702,控制器120自电子熔丝区122读取对应排序机制PTM。在步骤S704,控制器120取得固件数据及其相关的第一排序杂凑数据。在步骤S706,控制器120对固件数据执行安全杂凑机制以产生第一杂凑数据,并且将第一杂凑数据区分为多个数据群组。在步骤S708,控制器120使用上述对应排序机制PTM对这些数据群组进行重组而产生一第二排序杂凑数据。
然后,在步骤S710,控制器120判断第二排序杂凑数据是否相同于第一排序杂凑数据。如果第二排序杂凑数据相同于第一排序杂凑数据,则执行步骤S712,控制器120以固件数据对数据储存装置进行固件的更新。如果第二排序杂凑数据不同于第一排序杂凑数据,则执行步骤S714,流程结束。
图8显示了根据本发明另一实施例所述的用于认证固件数据的数据储存方法的流程图。相较于图7的实施例,图8的实施例进一步加入运算机制OPM的流程。上述运算机制OPM由数据储存装置100的制造商所设定。在步骤S802,控制器120自电子熔丝区122读取对应排序机制PTM以及运算机制OPM。在步骤S804,控制器120取得固件数据及其相关的第一排序杂凑数据。在步骤S806,控制器120对固件数据执行安全杂凑机制以产生第一杂凑数据,并且将第一杂凑数据区分为多个数据群组。
在步骤S808,控制器120使用上述对应排序机制PTM对这些数据群组进行重组而产生第二排序杂凑数据。在步骤S810,控制器120使用运算机制OPM,对第一固件数据以及第二排序杂凑数据进行运算以产生第三排序杂凑数据。然后,在步骤S812,控制器120判断第三排序杂凑数据是否相同于第一排序杂凑数据。如果第三排序杂凑数据相同于第一排序杂凑数据,则执行步骤S814,控制器120以固件数据对数据储存装置进行固件的更新。如果第三排序杂凑数据不同于第一排序杂凑数据,则执行步骤S816,流程结束。
图9显示了根据本发明一实施例所述的用于认证固件数据的数据储存方法的流程图。相较于图7与图8的实施例,图9的实施例进一步加入预定分割机制DVM的流程。上述预定分割机制DVM由数据储存装置100的制造商所设定。在步骤S902,控制器120自电子熔丝区122读取对应排序机制PTM、预定分割机制DVM以及运算机制OPM。在步骤S904,控制器120取得固件数据及其相关的第一排序杂凑数据。在步骤S906,控制器120以预定分割机制将该第一固件数据分割为多个第一子固件数据。
在步骤S908,控制器120对这些第一子固件数据执行安全杂凑机制以产生多个第一子杂凑数据,并且将第一杂凑数据区分为多个数据群组。在步骤S910,控制器120使用运算机制OPM以及对应排序机制PTM,对这些第一子固件数据进行运算与重组以产生第四排序杂凑数据。然后,在步骤S912,控制器120判断第四排序杂凑数据是否相同于第一排序杂凑数据。如果第四排序杂凑数据相同于第一排序杂凑数据,则执行步骤S914,控制器120以固件数据对数据储存装置进行固件的更新。如果第四排序杂凑数据不同于第一排序杂凑数据,则执行步骤S916,流程结束。
本发明的方法,或特定型态或其部份,可以以程式码的型态存在。程式码可储存于实体媒体,如软碟、光碟片、硬碟、或是任何其他机器可读取(如电脑可读取)储存媒体,亦或不限于外在形式的电脑程式产品,其中,当程式码被机器,如电脑载入且执行时,此机器变成用以参与本发明的装置。程式码也可透过一些传送媒体,如电线或电缆、光纤、或是任何传输型态进行传送,其中,当程式码被机器,如电脑接收、载入且执行时,此机器变成用以参与本发明的装置。当在一般用途处理单元实作时,程式码结合处理单元提供一操作类似于应用特定逻辑电路的独特装置。
在本说明书以及申请专利范围中的序数,例如"第一"、"第二"、"第三"等等,彼此之间并没有顺序上的先后关系,其仅用于标示区分两个具有相同名字的不同元件。本发明说明书中"耦接"一词泛指各种直接或间接的电性连接方式。本发明虽以较佳实施例揭示如上,然其并非用以限定本发明的范围,任何熟悉本技术领域者,在不脱离本发明的精神和范围内,当可做些许的更动与润饰,因此本发明的保护范围当由权利要求书界定为准。
Claims (18)
1.一种用于认证固件数据之数据储存装置,包括:
一快闪存储器;以及
一控制器,耦接该快闪存储器,用以接收一第一固件数据及其相关的一第一排序杂凑数据,并且将该第一固件数据所产生的一第一杂凑数据区分为多个数据群组,以一对应排序机制对这些数据群组进行重组而产生一第二排序杂凑数据,其中该第一杂凑数据的这些数据群组的每一者并非逐一对应至该第二排序杂凑数据,其中该控制器还包括:
一电子熔丝区,用以写入该对应排序机制,其中当该控制器判断该第二排序杂凑数据相同于该第一排序杂凑数据时,则允许将该第一固件数据更新至该控制器。
2.如权利要求1所述的数据储存装置,其特征在于,该对应排序机制是一次性写入该电子熔丝区,并且只有该控制器能够读取该电子熔丝区所储存的该对应排序机制。
3.如权利要求2所述的数据储存装置,其特征在于,该第一杂凑数据藉由一安全杂凑机制压缩该第一固件数据所产生。
4.如权利要求1所述的数据储存装置,其特征在于,该对应排序机制系复制或是省略这些群组中的至少一群组以产生该第二排序杂凑数据。
5.如权利要求2所述的数据储存装置,其特征在于,该控制器还使用一运算机制,对该第一固件数据以及该第二排序杂凑数据进行运算以产生一第三排序杂凑数据,并且当该控制器判断该第三排序杂凑数据相同于该第一排序杂凑数据时,则允许将该第一固件数据更新至该控制器。
6.如权利要求5所述的数据储存装置,其特征在于,该运算机制括加法运算、减法运算、乘法运算、除法运算、以及不运算。
7.如权利要求6所述的数据储存装置,其特征在于,该对应排序机制储存于该电子熔丝区的一第一特定区域,该运算机制储存于该电子熔丝区的不同于该第一特定区域的一第二特定区域。
8.如权利要求3所述的数据储存装置,其特征在于,该控制器以一预定分割机制将该第一固件数据分割为多个第一子固件数据,并且藉由该安全杂凑机制分别压缩这些第一子固件数据的每一者,而分别产生多个第一子杂凑数据。
9.如权利要求8所述的数据储存装置,其特征在于,该控制器还使用一运算机制,对这些第一子杂凑数据的每一者进行运算以产生一第四排序杂凑数据,并且当该控制器判断该第四排序杂凑数据相同于该第一排序杂凑数据时,则允许将该第一固件数据更新至该控制器。
10.如权利要求1所述的数据储存装置,其特征在于,该对应排序机制系由该数据储存装置的制造商所设定。
11.一种用于认证固件数据的数据储存方法,适用于具有一快闪存储器以及一控制器的一数据储存装置,包括:
藉由该控制器接收一第一固件数据及其相关的一第一排序杂凑数据;
将该第一固件数据所产生的一第一杂凑数据区分为多个数据群组;
以一对应排序机制对这些数据群组进行重组而产生一第二排序杂凑数据,其中该第一杂凑数据的这些数据群组的每一者并非逐一对应至该第二排序杂凑数据;
将该对应排序机制写入该控制器的一电子熔丝区;以及
当判断该第二排序杂凑数据相同于该第一排序杂凑数据时,则允许将该第一固件数据更新至该控制器。
12.如权利要求11所述的数据储存方法,其特征在于,该对应排序机制一次性写入该电子熔丝区的一第一特定区域,并且只有该控制器能够读取该电子熔丝区所储存的该对应排序机制。
13.如权利要求12所述的数据储存方法,其特征在于,该第一杂凑数据藉由一安全杂凑机制压缩该第一固件数据所产生。
14.如权利要求11所述的数据储存方法,其特征在于,该对应排序机制复制或是省略这些群组中的至少一群组以产生该第二排序杂凑数据。
15.如权利要求12所述的数据储存方法,其特征在于,还包括:
使用一运算机制,对该第一固件数据以及该第二排序杂凑数据进行运算以产生一第三排序杂凑数据;以及
当判断该第三排序杂凑数据相同于该第一排序杂凑数据时,则允许将该第一固件数据更新至该控制器。
16.如权利要求15所述的数据储存方法,其特征在于,该运算机制包括加法运算、减法运算、乘法运算、除法运算、以及不运算。
17.如权利要求13所述的数据储存方法,其特征在于,还包括:
以一预定分割机制将该第一固件数据分割为多个第一子固件数据;以及
藉由该安全杂凑机制分别压缩这些第一子固件数据的每一者,而分别产生多个第一子杂凑数据。
18.如权利要求13所述的数据储存方法,其特征在于,还包括:
使用一运算机制,对这些第一子杂凑数据的每一者进行运算以产生一第四排序杂凑数据;以及
当判断该第四排序杂凑数据相同于该第一排序杂凑数据时,则允许将该第一固件数据更新至该控制器。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW106139309A TWI647610B (zh) | 2017-11-14 | 2017-11-14 | 認證韌體資料之資料儲存裝置與資料儲存方法 |
TW106139309 | 2017-11-14 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109783124A true CN109783124A (zh) | 2019-05-21 |
CN109783124B CN109783124B (zh) | 2022-02-11 |
Family
ID=65803755
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810530644.XA Active CN109783124B (zh) | 2017-11-14 | 2018-05-29 | 认证固件数据的数据储存装置与数据储存方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10685120B2 (zh) |
CN (1) | CN109783124B (zh) |
TW (1) | TWI647610B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11106796B2 (en) * | 2018-11-07 | 2021-08-31 | Dell Products L.P. | Staging memory for accessory firmware update |
TWI696113B (zh) * | 2019-01-02 | 2020-06-11 | 慧榮科技股份有限公司 | 用來進行組態管理之方法以及資料儲存裝置及其控制器 |
TWI736074B (zh) * | 2019-12-20 | 2021-08-11 | 瑞昱半導體股份有限公司 | 周邊裝置及其驗證更新方法 |
US20210334380A1 (en) * | 2020-04-24 | 2021-10-28 | Vmware, Inc. | Trusted firmware verification |
CN111966970B (zh) * | 2020-07-31 | 2021-05-07 | 深圳比特微电子科技有限公司 | 防止数字货币矿机固件回退的方法、装置和数字货币矿机 |
US11809566B2 (en) * | 2020-10-02 | 2023-11-07 | Infineon Technologies LLC | Methods for fast, secure boot from nonvolatile memory device and corresponding systems and devices for the same |
US11914983B2 (en) * | 2022-06-03 | 2024-02-27 | Apple Inc. | Virtual restructuring for patching compressed disk images |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030056139A1 (en) * | 2001-09-20 | 2003-03-20 | Bill Murray | Systems and methods for data backup over a network |
TW200604934A (en) * | 2004-07-16 | 2006-02-01 | Benq Corp | Firmware management system and method thereof |
CN103250401A (zh) * | 2010-09-28 | 2013-08-14 | 海德沃特合作I有限公司 | 安全装置数据记录 |
CN103455319A (zh) * | 2012-05-31 | 2013-12-18 | 慧荣科技股份有限公司 | 数据储存装置与快闪存储器控制方法 |
TW201502855A (zh) * | 2013-03-29 | 2015-01-16 | Ologn Technologies Ag | 使用安全加強晶片之用於資料之安全儲存之系統、方法及裝置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8181020B2 (en) * | 2005-02-02 | 2012-05-15 | Insyde Software Corp. | System and method for securely storing firmware |
TW200713037A (en) | 2005-09-06 | 2007-04-01 | Benq Corp | System and method for updating firmware |
US20070174849A1 (en) * | 2006-01-12 | 2007-07-26 | Cheung Yan M | Non-disruptive multipath device driver update system and method |
US8286156B2 (en) * | 2006-11-07 | 2012-10-09 | Sandisk Technologies Inc. | Methods and apparatus for performing resilient firmware upgrades to a functioning memory |
US8495418B2 (en) * | 2010-07-23 | 2013-07-23 | Brocade Communications Systems, Inc. | Achieving ultra-high availability using a single CPU |
US8498167B1 (en) * | 2012-01-20 | 2013-07-30 | Elite Semiconductor Memory Technology, Inc. | Temperature-dependent self-refresh timing circuit for semiconductor memory device |
US10346343B2 (en) * | 2016-06-24 | 2019-07-09 | Intel Corporation | Hardware accelerator for platform firmware integrity check |
US10211976B2 (en) * | 2016-07-15 | 2019-02-19 | Seagate Technology Llc | Hash authenticated data |
-
2017
- 2017-11-14 TW TW106139309A patent/TWI647610B/zh active
-
2018
- 2018-05-29 CN CN201810530644.XA patent/CN109783124B/zh active Active
- 2018-07-19 US US16/039,596 patent/US10685120B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030056139A1 (en) * | 2001-09-20 | 2003-03-20 | Bill Murray | Systems and methods for data backup over a network |
TW200604934A (en) * | 2004-07-16 | 2006-02-01 | Benq Corp | Firmware management system and method thereof |
CN103250401A (zh) * | 2010-09-28 | 2013-08-14 | 海德沃特合作I有限公司 | 安全装置数据记录 |
CN103455319A (zh) * | 2012-05-31 | 2013-12-18 | 慧荣科技股份有限公司 | 数据储存装置与快闪存储器控制方法 |
TW201502855A (zh) * | 2013-03-29 | 2015-01-16 | Ologn Technologies Ag | 使用安全加強晶片之用於資料之安全儲存之系統、方法及裝置 |
Non-Patent Citations (1)
Title |
---|
梁效宁等: "FLASH闪存芯片数据恢复设备", 《科学技术成果》 * |
Also Published As
Publication number | Publication date |
---|---|
TW201918868A (zh) | 2019-05-16 |
US10685120B2 (en) | 2020-06-16 |
US20190147165A1 (en) | 2019-05-16 |
TWI647610B (zh) | 2019-01-11 |
CN109783124B (zh) | 2022-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109783124A (zh) | 认证固件数据的数据储存装置与数据储存方法 | |
CN103999159A (zh) | 用于对存储器响应进行排序的存储器设备、计算机系统及方法 | |
CN108958641A (zh) | 认证固件数据的数据储存装置与数据储存方法 | |
CN111541753A (zh) | 区块链数据的分布式存储系统、方法、计算机设备及介质 | |
CN105320622A (zh) | 内部存储器、外部存储器以及数据处理系统 | |
CN114003538A (zh) | 一种智能网卡的识别方法及智能网卡 | |
CN103198270A (zh) | 使用清单来记录有效软件和校准的存在 | |
CN109634628A (zh) | 在可信存储装置上生成校验和以加速认证 | |
CN203773549U (zh) | 利用芯片标识符的软件安全应用装置 | |
CN110620677A (zh) | 网络系统及认证方法 | |
CN114860531A (zh) | 安全芯片的故障检测方法、装置、电子设备及介质 | |
TWI678658B (zh) | 資料儲存裝置之韌體更新之方法 | |
CN110192178B (zh) | 程序打补丁的方法、装置、微控制单元和终端设备 | |
CN104573537B (zh) | 数据处理方法、存储器存储装置与存储器控制电路单元 | |
EP2709073B1 (en) | Electronic control unit of vehicle | |
CN114691573A (zh) | 一种硬件识别电路、方法及相关设备 | |
CN104183271B (zh) | 配置数据的处理装置及方法 | |
CN107731154B (zh) | Led显示屏数据备份装置、方法及终端设备 | |
CN108028530B (zh) | 应用于数字集成电路的esd检测装置、集成电路及方法 | |
JP5490101B2 (ja) | ディジタル形式で伝送される情報を訂正する方法と装置 | |
CN112470227B (zh) | 一种数据块处理的方法及控制器 | |
CN108108118A (zh) | 数据写入方法以及存储控制器 | |
CN108629175A (zh) | Usb大容量存储设备的访问控制方法及访问控制装置 | |
US10291582B2 (en) | System and method of supporting more than 256 sensors by intelligent platform management interface (IPMI) based server management controller | |
CN103838996A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |