CN112074837A - 存储装置认证的修改 - Google Patents

存储装置认证的修改 Download PDF

Info

Publication number
CN112074837A
CN112074837A CN201980029656.7A CN201980029656A CN112074837A CN 112074837 A CN112074837 A CN 112074837A CN 201980029656 A CN201980029656 A CN 201980029656A CN 112074837 A CN112074837 A CN 112074837A
Authority
CN
China
Prior art keywords
storage device
interface
signature
input
data
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
Application number
CN201980029656.7A
Other languages
English (en)
Inventor
L·W·多弗
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Micron Technology Inc
Original Assignee
Micron Technology Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Micron Technology Inc filed Critical Micron Technology Inc
Publication of CN112074837A publication Critical patent/CN112074837A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3236Cryptographic 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/3242Cryptographic 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 keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1433Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a module or a part of a module
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication using certificates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/74Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic 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/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3247Cryptographic 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 involving digital signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1052Security improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7204Capacity control, e.g. partitioning, end-of-life degradation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7208Multiple device management, e.g. distributing data over multiple flash devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2143Clearing memory, e.g. to prevent the data from being stolen
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/84Vehicles

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Power Engineering (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)

Abstract

本文描述用于存储装置的经认证修改的装置及技术。可解码在所述存储装置的接口处接收的数据传输以获得命令、一组输入标识及对应于由所述输入标识所标识的数据的第一签名。可对所述一组输入标识的成员进行编组以产生输入组。可在所述输入组上调用所述存储装置的加密引擎以从所述输入组产生第二签名。比较所述第一签名与所述第二签名以确定匹配。响应于所述匹配,可将所述输入组写入到所述存储装置的安全部分。

Description

存储装置认证的修改
优先权申请案
本申请案主张2018年3月23日申请的序列号为62/647,390的美国申请案的权益,所述申请案的全部内容以引用的方式并入本文中。
技术领域
本文描述的实施例大体上涉及计算机存储装置,并且更特定来说,涉及存储装置认证的修改。
背景技术
存储装置是经设计以存储数据的计算机硬件。存储装置可称为存储器、大容量存储器件或类似者。存储装置通常包含用以保持数据(例如,位、字节、块等)的媒体、控制器硬件及接口以促进查询数据并且在具有写入能力的存储装置中写入数据。
附图说明
在不一定按比例绘制的图式中,相似数字可描述不同视图中的类似组件。具有不同字母下标的相似数字可表示类似组件的不同例子。图式大体上通过实例而非限制方式说明本文献中论述的各种实施例。
图1是根据是实施例的包含用于在存储装置中的经认证修改操作的系统的环境的实例的框图。
图2说明根据实施例的用以执行经认证修改的到存储装置的消息的实例。
图3说明用以调用由存储装置产生散列的到存储装置的消息的实例。
图4说明根据实施例的响应于成功经认证修改操作而从不安全非易失性缓冲器移动到存储装置上的安全非易失性位置的框。
图5是说明根据实施例的用以执行经认证修改的存储装置内的组件消息收发的实例的泳道图。
图6是说明根据实施例的用以产生散列的存储装置内的组件消息收发的实例的游泳泳道图。
图7说明根据实施例的用于多因素智能代理控制的方法的实例的流程图。
图8是说明一或多个实施例可在其上或借助于其实施的机器的实例的框图。
具体实施方式
随着许多制成品的日益计算机化—例如交通工具的计算机化控制系统,计算机化(例如,智能)器械或传感器(例如,物联网(IoT)装置)等—现在在许多传统上不被认为是计算机的商品中发现存储装置。这些商品的计算机化可能会随着时间而完成,并且可能难以改变。举例来说,汽车控制器域网(CAN)总线是允许链接各种控制器的交通工具通信标准。然而,由于交通工具可长期使用,因此这些系统在标准化时可能会存在未知的漏洞或弱点,其修复起来非常困难或昂贵。此外,可创建许多昂贵的制造过程来实施一个标准,举例来说,即使新的交通工具也可包含过时或不安全标准,以便维持与各种供应商的控制器的兼容性。
有关用户、数据或可执行程序的安全问题通常在所有计算平台中普遍存在。由于嵌入式系统(例如上述论述的制成品中所包含的那些)的普遍不灵活性,嵌入式系统安全性通常落后于更通用的计算装置的安全性。然而,即使在通用计算装置中,设计新的主机板(例如,母板)以包含额外安全硬件也可能使成本过高。需要一种增强的安全性硬件,其可与通用或嵌入式计算机系统中的其它计算组件交互,而无需修改其它硬件组件。
为解决先前论述的问题,存储装置经修改以包含例如加密引擎(例如,散列引擎)的加密组件。存储装置也被增强以接受来自外部实体(例如,处理器、装置等)的额外命令,以调用由加密引擎执行的数个加密操作。额外命令以类似于由外部实体向存储装置提供的其它命令的方式操作,例如数据读取或写入。因此,存储装置到系统的硬件接口保持相同,从而允许在无需修改的情况下将存储装置包含到现有系统中。然而,可修改现有系统的软件,以调用加密操作命令,并因此获得存储装置的加密组件的益处。此布置允许包含嵌入式系统的系统的加密增强,而无需重新设计这些系统的制造过程。
一种此类加密命令包含块(或其它存储度量,例如页)解锁。此处,举例来说,当存储装置通电、重新启动或响应于命令时,可锁定存储块。为解锁所述块,主机(或其它实体)包含加密散列以及解锁命令。加密散列可包含来自存储装置的机密—其是在对存储装置的调用者的较早认证期间或经由调用者的配置而实现的,从而为调用者提供认证。然后,调用者可写入到未锁定块。此程序通常保护块免受未授权写入,且因此可用以存储关键信息,例如操作参数。然而,可能存在竞争条件,其中块被解锁,并且未授权写入者在块被解锁时执行写入。
为解决安全写入的竞争条件,可对正在写入的数据本身进行签名,而不是依赖于命令签名来解锁块或作为对依赖于命令签名来解锁块的补充。此处,调用者(例如,执行写人的实体)可将数据缓冲在存储装置的不安全部分上。如果存储装置具有足够的易失性存储器高速缓存,那么可在此处缓冲数据,但许多存储装置(例如NOR快闪装置)具有有限的易失性存储器高速缓存。因此,数据被缓冲在存储装置的非易失性存储器件的不安全部分中。然后,调用者启动可称为auth_modify的命令,以将数据存储到存储装置的安全部分中。命令包含数据的标识(例如,在其中缓冲数据的不安全存储器件的地址范围)以及由调用者计算的数据的签名。存储装置使用其加密引擎计算它自己的数据签名,并比较两个签名。当它们匹配时,将数据移动到安全部分。如果签名不匹配,那么auth_modify命令失败。在存储装置中配置安全部分。此配置的部分包含致使标准编程(例如,写入或更新)命令在被引导到安全部分时失败。在实例中,读取命令正常地操作。因此,任何实体可读取安全部分中的数据。在实例中,存储装置可与读取一起或与读取配对而提供安全部分中的数据的签名。因此,读取实体可验证在存储装置与读取实体之间不存在修改关键数据的其它实体(例如,“中间人”)。下面描述额外实例及细节。
图1是根据是实施例的包含用于在存储装置中的经认证修改操作的系统(例如,存储装置105或其中的组件)的环境100的实例的框图。环境100包含嵌入到制成品145中的系统140。制成品145可包含各种事物,例如包含无人驾驶交通工具的交通工具(如所展示)、器械、家具、建筑物、传感器、衣物、或其中可包含(例如,嵌入)系统140的其它物品。创建“智能”物品或向先前在不具有此能力的情况下操作的商品(例如许多器械(例如,冰箱、洗衣机等)或传感器)添加通信功能的最新趋势,可称为创建物联网,即参与商品被转换成IoT装置。
系统140可包含用以与系统140外部的制成品145的一或多个组件通信的接口。举例来说,如果系统140是车载娱乐系统,那么所述接口使系统140能够控制扬声器,并可实现从用户的装置(例如,电话、个人音乐播放器、平板计算机等)接收内容。系统140还可包含一或多个处理器(例如,中央处理单元、低功率处理器、数字信号处理器、图形处理单元等),且一或多个存储装置(例如,大容量存储器件、存储器、静态存储器等)包含存储装置105。
存储装置105包含接口110、解码器115、控制器120、加密引擎125及存储部分130。在实例中,存储装置105及其中的组件被制造在单个芯片上。在实例中,存储装置105包含寄存器存储体135(例如,包括一或多个寄存器)。存储装置105的所有这些组件在计算机硬件(例如,处理电路系统)中实施。
接口110在存储装置105与系统140的其它组件之间提供硬件通信媒体。在实例中,接口110是联合电子装置工程委员会(JEDEC)存储器标准接口。在实例中,存储装置105是随机存取存储器(RAM)装置。在实例中,接口110符合集成装置电子器件(IDE)AT附件(ATA)接口、串行ATA(SATA)接口、小型计算机系统接口(SCSI)接口、通用快闪存储(UFS)接口、嵌入式多媒体卡(eMMC)接口或非易失性存储器主机控制器接口规范(NVMHCI)接口中的至少一者。在实例中,存储装置105是快闪存储器装置。在实例中,存储装置105是NOR快闪或NAND快闪中的至少一者(例如,存储部分130是NOR或NAND快闪)。在实例中,存储装置105是硬盘驱动器(HDD)。
解码器115经布置以从在接口110处接收的数据传输解析命令、一组输入标识及签名。此处,命令是经认证修改命令,也称为Auth_Modify或auth_modify命令。在实例中,解码器115经布置以对其它命令进行解码,例如到存储装置105的读取或写入命令。在实例中,解码器115是控制器120的部分(例如,集成到其中)。
在实例中,命令对应于加密操作,例如散列操作。散列操作接受输入数据,并产生输入数据的散列作为输出。通常,散列将任意大小的数据映射到固定大小。尽管不是必需的,但通常希望不同输入数据从散列产生不同输出。当两个不同输入数据产生相同输出时,其称为冲突。加密散列与其它散列的不同之处可在于其是单向的。也就是说,仅从散列的输出产生输入数据是困难的。
在实例中,散列操作是带密钥的散列消息认证码(HMAC)。HMAC是消息认证码(MAC),其中密钥与其它数据组合以产生散列。HMAC可用以验证消息(例如,其它数据)的数据完整性及真实性中的一或两者。在实例中,数据传输包含机密。此处,机密用作HMAC的密钥。在实例中,数据传输包含存储装置105的当前会话密钥。在此实例中,存储装置105可先前已经与外部实体进行经加密通信。作为建立这些通信的部分,可已经在存储装置105与外部实体之间建立会话密钥。存储装置105可在数个通信中或在设置时间段内维持相同会话密钥或会话密钥的派生。在实例中,存储装置105每次重新通电(例如,重新启动、开启等)时都可使用新会话密钥。存储装置105可在内部维持会话密钥,例如在寄存器存储体135(或其它内部存储器)中或在存储部分130的受保护部分中。
在实例中,所述一组输入标识的成员是存储装置105的不安全部分的地址,例如存储部分130或寄存器存储体135。在实例中,存储装置105的不安全部分可由外部实体经由到存储装置105的接口110存取。因此,举例来说,在快闪装置的典型操作中,存储部分130用以保持外部实体经由到存储装置105的命令从其读取及写入到其的数据,所述读取及写入经由接口110进行。相比之下,寄存器存储体135通常将无法由这些外部实体经由接口110存取,而是将由控制器120(或存储装置105的其它部分)用于内部用途。在实例中,存储装置的不安全部分是块可寻址的,例如NAND快闪装置或硬盘驱动器。
在实例中,存储装置105的不安全部分是字节可寻址的。一般来说,尽管不是排他性的,但字节可寻址存储器件用以在即将由处理器消耗之前存储数据。因此,在由处理器操作之前,可将数据从非字节可寻址存储器件(例如,块可寻址存储器件)检索到字节可寻址存储器件中。实例字节可寻址媒体可包含寄存器、RAM种类(例如,静态RAM(SRAM)、动态RAM(DRAM)等)、核心存储器、NOR快闪等。在实例中,存储装置105的不安全部分是寄存器(例如,在寄存器存储体135中)。在实例中,存储装置105的不安全部分是非易失性存储媒体,例如NOR闪存。在实例中,存储装置105的不安全部分无法由外部实体经由到存储装置105的接口110存取,例如,寄存器存储体135。
在实例中,所述一组输入标识界定存储装置105的不安全部分的地址范围。举例来说,所述一组输入标识可为例如快闪装置或硬盘的存储部分130中的存储块的列表。所述一组输入标识可为在作为RAM的存储部分130中的一组字节可寻址地址。在实例中,所述一组输入标识的两个成员界定地址范围。举例来说,此实例允许识别存储部分130的连续部分以减少信令开销。在实例中,两个成员中的第一成员界定范围的开始,并且两个成员中的第二成员界定范围的结束。在实例中,两个成员中的第一成员界定范围的开始,并且两个成员中的第二成员界定待包含在范围中的单位数目。
在实例中,所述一组输入标识的成员标识数据传输的一部分。鉴于上述情况,输入标识注释数据已经由存储装置105管理,此处,命令可伴有尚未由存储装置105管理的额外数据。在实例中,数据传输的部分由字段标识。在实例中,数据传输的部分由偏移标识。在实例中,数据传输的部分还由长度标识。因此,给定这最后几个实例,传输中的新数据可使用多种技术指定额外数据。
控制器120经布置以收集所述一组输入标识的成员以产生输入组。所述收集可包含检索对应于所述一组输入标识中的地址的数据或从传输获得(例如,检索或接收)数据(例如,机密)以包含在输入组中。所述收集允许存储装置105中的先前管理的(例如,存储的)数据的使用被用于经认证修改或其它加密操作。因此,输入组包含数据而不是对数据的引用。
控制器120可经布置以指示加密引擎125产生输入组的签名。在实例中,签名是至少输入组的加密散列。在实例中,加密散列也是机密的,例如存储装置会话密钥,使得签名是HMAC。
控制器120可经布置以将由解码器115从接口110处的数据传输解码的签名与由加密引擎125从输入数据组创建的签名进行比较。因为签名可容易地从数据中计算出来,但很难从不同数据产生相同签名,所以由在数据传输中将数据写入到存储装置的不安全部分130的实体所提供的签名应与输入数据组(例如,写入到不安全部分130的数据)的签名相匹配,除非其已被修改。因此,控制器120可经布置以比较两个签名以确定签名是否匹配。如果签名不匹配,那么输入组中的数据不是外部实体所期望的数据,且因此可能被恶意或错误地修改。在实例中,当签名不匹配时,经认证修改命令只会失败。在实例中,响应于签名的不匹配,控制器120从不安全存储部分擦除输入数据组。
当签名确实匹配时,然后将输入组的数据移动到存储装置105的安全部分。在实例中,经由存储区段(例如,页、块等)的位图或标记安全存储部分的其它数据结构来管理安全部分。在实例中,当遗留写入命令包含安全部分时,遗留写入命令失败,使得仅经认证修改命令由控制器120支持以修改安全部分。在实例中,在安全部分上不支持遗留擦除命令,使得仅支持经认证修改命令的擦除变体以擦除安全部分。在实例中,用以擦除安全部分的经认证修改命令变体在数据传输中不包含签名。而是,命令的此变体使用在数据传输中发送的HMAC或其它机密来擦除安全部分。
尽管经认证修改命令确保授权写入仅针对存储装置105的安全部分发生,但其不影响对安全部分的读取。为应对例如在不安全总线(例如在汽车中常见的控制器域网(CAN)总线)上可能发生的中间人攻击,控制器120可在数据被读取时除数据之外还提供数据的签名或散列。此处,接收器(例如,系统140)可将其从自存储装置105接收的数据导出的签名与由存储装置150提供的签名进行比较。再次,如果签名匹配,那么数据没有损坏。为支持此活动,在实例中,控制器120还经布置以指示加密引擎125从输入组产生散列产物。散列产物是输入组数据的至少散列。如上所述,散列产物可为HMAC。在此实例中,加密引擎125经布置以实施加密散列。在实例中,加密散列是安全散列算法(SHA)。在实例中,加密引擎125经布置以产生两百五十六位散列。
在实例中,控制器120还经布置以将散列产物写入对应于输出标识的存储装置105的部分(例如,存储部分130)中。这完成存储装置使用其已经管理的数据,创建散列产物以及存储所述散列产物本身的能力。因此,外部实体可像在以其它方式存储数据时通常将进行的那样将待散列的数据写入到存储装置105。然后,外部实体可经由命令调用散列操作,并为结果指定存储装置105内部的响应。然后,外部实体可以其以其它方式从存储装置检索数据的相同方式检索散列产物,例如通过读取命令。
此布置提供若干益处。举例来说,因为接口110符合所述类型的存储装置的其它接口标准或类型,所以存储装置105可被添加到经配置以接受相同类型的存储装置的任何系统140。另外,经认证修改命令结构—例如,写入不安全数据,在经认证修改请求中提供写入数据的签名,向安全位置提供已写入数据的签名,及不安全数据的原子比较及到安全位置的复制—为程序员提供一种简洁及直观的方法来实施安全写入。此外,写入、散列、读取指令循环向程序员提供熟悉且灵活的散列设施,因为数据的写入及散列产物的读取以其它存储装置熟悉的方式发生。以此方式,可将安全功能(例如HMAC消息收发)或其它升级添加到现有系统中,而不会给原始装备制造商带来额外的制造费用,并因此进一步将系统渗透到制成品中。
图2到3说明到存储装置的消息300的实例。此处论述的消息格式是非限制性实例。消息的部分可由字段(例如,例如可扩展标记语言(XML)或类似者的标记语言中的标签)或约定(例如,第一个八位指定命令,第二个八位指定输入标头等)指示。此外,所述消息经说明为具有特定顺序的部分(例如,命令、输入标头、输入地址及输出地址),但变化可包含这些组件的重新布置(例如,无输入标头、输出地址、输入地址,且然后是命令)。
图2说明根据实施例的用以执行经认证修改的到存储装置的消息200的实例。消息200包含命令部分205、输入标头210、输入地址部分215及签名部分220。除签名部分之外的各个部分如下面关于消息300所描述那样操作。
签名部分保持对应于在命令部分205中指定的经认证修改命令的数据的签名。在实例中,签名部分是对存储装置中的签名的引用(例如,地址)。在实例中,签名部分含有数据的HMAC。
图3说明根据实施例的用以调用散列操作的到存储装置的消息300的实例。消息300包含四个部分,命令部分305、输入标头310、输入地址部分315及输出地址320。在实例中,命令部分305根据到存储装置的标准接口放置及定大小。举例来说,如果存储装置的接口是SCSI,那么第一个八位字节是命令部分305。输入标头310是任选的,并且可用以描述输入地址部分315中的数据类型。举例来说,如果输入地址部分315针对两个地址定大小,那么输入标头310可指定输入地址部分315是否被视为两个相异地址或范围(例如,开始及结束地址或开始地址及程度)。如上文描述,输出地址320指定当加密引擎执行来自命令部分305的命令的散列操作时产生的散列产物的目的地。
在实例中,消息300包含机密部分。机密部分保持可用作HMAC的密钥的机密。此处,机密是密钥的实际值。在实例中,消息300还包含机密地址部分。机密地址部分将地址保持到存储装置内的可寻址位置,例如内部NAND或NOR快闪块、寄存器、存储器等,使用机密地址部分允许使用比在给定特定存储接口标准的约束的情况下原本可能的更大的机密。外部实体可在先前操作中将机密写入到存储装置的一或多个块,然后经由机密地址部分引用所述机密。在实例中,消息300还包含机密命令部分。机密命令部分包含到存储装置的指引,其指定如何获得机密。实例指引可包含检索存储装置的当前会话密钥,或使用诊断组件来测量存储装置的质量。机密命令提供利用越来越复杂的存储装置硬件的额外灵活性。尽管可将机密保持区域(例如,机密部分、机密地址或机密命令部分)与输入地址部分(例如,315)分离,但机密保持区域可包含在输入地址部分中并例如在输入标头中被指定。
图4说明根据实施例的框响应于成功经认证修改操作而从不安全非易失性缓冲器移动到存储装置上的安全非易失性位置。
如上所述,经认证修改命令防止在块锁定安全写入技术中存在的某些漏洞。在一些存储器装置中使用的另一种技术—称为重播保护存储器块(RPMB)—针对每次读取及写入都使用认证,还可促进安全写入。然而,RPMB不适合不能缓冲写入部分的整体以便与到存储装置的数据写入一起执行认证的装置。然而,本文描述的经认证修改通过允许不安全写入由不安全数据的原子验证及从不安全区域到安全区域的写入(例如,复制)跟随来解决RPMB问题。
在存储装置的元数据或控制寄存器中界定存储装置的安全区域或部分。这为用户(例如,客户)界定可靠方式来指定—例如,经由位图、分区等—并确定一或多个擦除块仅能通过经认证修改(例如,Auth_Modify)命令来修改。在一个实例中,经认证修改命令的签名是HMAC遗留程序/擦除将不再对现有快闪内容的这些块签名起作用,然后允许将其移动到快闪中的受保护位置。当成功执行时,在单个快闪命令内自动写入新内容。
用户控制将0到256个块(例如,没有高达所有阵列64千字节块的块)配置为各自为“经认证修改”(AM)。块配置及状态可仅限于HMAC签名的命令,例如CRTM_Register_Write及CRTM_Register_Read命令。对于AM块,遗留程序及擦除操作将失败。因此,修改AM块的唯一方法是通过Auth_Modify命令—例如将快闪内容从任何阵列位置(例如“快闪缓冲器”)复制到任一AM块。
在实例中,经认证修改命令可具有若干选项。举例来说,命令选项零可包含指定待擦除的AM块的基地址的安全擦除命令。在实例中,针对此命令或针对AM块不支持擦除挂起/恢复功能性。举例来说,此命令选项允许主机用AM块池安全地释放存储空间。
另一实例命令选项包含将现有快闪内容从一个阵列位置复制到AM块。在实例中,复制具有256字节的最小粒度。在实例中,命令需要地址对准。在实例中,命令具有64千字节最大粒度。在实例中,针对此命令或针对AM块不支持擦除挂起/恢复功能性。
主机或可以使用存储装置接口的其它实体可以多种方式使用经认证修改。举例来说,主机可使用CRTM_Register_Write分配用于AM保护的块(AM块池),或使用CRTM_Register_Read读取AM保护的块的经认证保护状态。当需要AM空间时,主机可调用Auth_Modify命令选项零以擦除AM块。在实例中,主机可使用Auth_Modify中的命令一将内容添加到AM块。在实例中,数据的复制可从不安全(例如,非AM)或从安全(例如,AM)块到安全块。在实例中,由存储装置的单调计数器提供防重放保护。在实例中,存储装置的密钥关联是每存储装置电力循环的可替换根密钥及会话密钥。
在操作中,如图4中所展示,存储装置405以存储装置405的不安全部分(例如,快闪缓冲器)中的数据410及415开始。在经认证修改命令之后,将数据移动到存储装置的安全部分(例如,AM)部分。注意,不安全部分中的数据是否作为复制的部分擦除是任选的。举例来说,擦除数据410不从不安全部分擦除,而数据415从不安全部分擦除。
图5是说明根据实施例的用以执行经认证修改的存储装置内的组件消息收发500的实例的泳道图。在存储装置接收数据传输之后,其由解码器解码并发送到控制器(消息505)。在此上下文中,经解码命令是经过认证的修改命令,由于其包含受所述命令约束的数据的签名,因此与遗留或标准写入或程序命令相异。与RPMB或类似者相比,从其创建签名的数据不是到存储装置的数据传输的部分。而是,数据先前经由遗留写入放置到存储装置上。
经解码传输还包含由命令的发起者(例如,主机)先前存储的数据的标识。控制器使用此标识来请求(消息510)并接收(消息515)来自存储装置的存储器件的输入组。控制器然后请求存储装置的加密引擎产生输入组的签名(消息520)。在实例中,控制器实际上没有从存储部分接收输入组,而是将加密引擎引导到输入组的数据,加密引擎读取数据本身以产生签名。一旦完成,加密引擎就将输入组的签名提供回到控制器(消息525)。
然后,控制器将在数据传输中接收的签名与由加密引擎提供的签名进行比较(操作530)。如果签名匹配,那么尚未修改由请求者最初写入的数据,并且将其写入到存储装置的存储部分的安全部分(例如,AM配置块或分区)(消息535)。否则,如果签名不匹配,那么在输入组处指定的数据与请求者期望的数据不匹配(例如,因为其被恶意或错误地改变),并且经认证修改操作失败。
在实例中,数据传输本身可经由散列操作(例如上文描述的消息300支持的散列操作)来保护。在实例中,可经由响应于读取而提供数据的散列签名来验证从安全部分读取的数据—防止在存储部分与读取实体之间对数据进行修改的预防措施,如下面借助于组件消息收发600来描述。
图6是说明根据实施例的用以产生散列的存储装置内的组件消息收发600的实例的泳道图。在到存储装置的接口处接收到传输之后,解码器解码消息中的命令(操作605)。然后,控制器可通过从存储部分请求对应于所述一组输入标识的数据来对来自所述一组输入标识的数据进行编组(操作610),并接收由存储部分提供的输入组数据(操作615)。
一旦输入组被编组,控制器就在输入组上调用命令的散列操作(操作620)。任选地,控制器可将密钥提供到加密引擎作为散列操作调用的部分(操作625)。然后,加密引擎将散列结果(例如,散列产物)提供回到控制器(操作630)。然后,控制器将散列结果存储在输入消息(例如,输出地址)中指定的存储部分中(操作635)。
图7说明根据一实施例的用于多因素智能代理控制的方法700的实例的流程图。方法700的操作在计算机硬件上实行,例如上文关于图1或下文关于图8(例如,电路系统)描述的计算机硬件。
在操作705处,对在存储装置的接口处接收的数据传输进行解码。此处,数据传输包含命令、一组输入标识及对应于在输入标识处的数据的签名。命令对应于经认证修改或auth_modify操作。
在实例中,所述一组输入标识界定存储装置的不安全部分的地址范围。在实例中,所述一组输入标识的两个成员界定地址范围。在实例中,两个成员中的第一成员界定范围的开始,并且两个成员中的第二成员界定范围的结束。在实例中,两个成员中的第一成员界定范围的开始,并且两个成员中的第二成员界定待包含在范围中的单位数目。
在实例中,所述一组输入标识的成员标识数据传输的一部分。在实例中,数据传输的部分由字段标识。在实例中,数据传输的部分由偏移标识。在实例中,数据传输的部分还由长度标识。
在实例中,数据传输包含安全部分的标识。在实例中,安全部分对于外部实体(例如,使用不是存储装置或其组件的存储装置接口的主机或其它实体)是可读取的。在实例中,数据传输标识存储装置的机密。在实例中,机密是存储装置的当前会话密钥。
在实例中,存储装置的接口是联合电子装置工程委员会(JEDEC)存储器标准接口。在实例中,存储装置是随机存取存储器(RAM)装置。
在实例中,存储装置的接口符合集成装置电子装置(IDE)AT附件(ATA)接口、串行ATA(SATA)接口、小型计算机系统接口(SCSI)接口或非易失性存储器主机控制器接口规范(NVMHCI)接口中的至少一者。在实例中,存储装置是快闪存储器装置。在实例中,快闪存储器装置是NOR快闪或NAND快闪中的至少一者。在实例中,存储装置是硬盘驱动器(HDD)。
在操作710处,对所述一组输入标识的成员进行编组以产生输入组。编组涉及收集输入通知中标识的数据,并将数据放入输入组中。在实例中,对所述一组输入标识的成员进行编组包含检索对应于所述一组输入标识的地址的数据以包含在输入组中。
在操作715处,在所述输入组上调用存储装置的加密引擎以从所述输入组产生签名。在实例中,加密引擎实施加密散列。在实例中,加密散列是安全散列算法(SHA)。在实例中,加密引擎产生二百五十六位散列或五百一十二位散列。
在操作720处,比较作为数据传输的部分接收的第一签名与由加密引擎从输入组产生的第二签名。如果它们匹配(决策725),那么在操作730处,将输入组写入到存储装置的安全部分。写入可包含指示底层存储装置控制器将输入组的数据从不安全部分复制到安全部分,或其可包含将数据读入控制器中并将其写出到安全部分。如果签名不匹配(决策725),那么在操作735处,命令失败。在实例中,命令失败的通知被发送回到请求者。
在实例中,方法700可经扩展以包含响应于数据被返回到的读取请求而在安全部分中创建所述数据的第三签名。在实例中,签名是响应于与读取请求相关的第二命令。
图8说明本文论述的技术(例如,方法)中的一或多者可在其上执行的实例机器800的框图。如本文所描述,实例可包含机器800中的逻辑或数个组件或机构或可通过它们进行操作。电路系统(例如,处理电路系统)是在包含硬件(例如,简单电路、门、逻辑等)的机器800的有形实体中实施的电路的集合。电路系统成员资格可随着时间的推移而变得灵活。电路系统包含可在操作时单独或组合执行特定操作的成员。在实例中,电路系统的硬件可经不变地设计以实行特定操作(例如,硬连线)。在实例中,电路系统的硬件可包含可变连接物理组件(例如,执行单元、晶体管、简单电路等),其包含经物理地修改(例如,磁性地、电性地、可移动地放置不变质量的粒子等)以对特定操作的指令进行编码的机器可读媒体。举例来说,在连接物理组件时,硬件组成的底层电性质可从绝缘体改变为导体,反之亦然。指令使嵌入式硬件(例如,执行单元或加载机构)能够经由可变连接在硬件中创建电路系统的成员,以在操作中时实行特定操作的部分。因此,在实例中,机器可读媒体元件是电路系统的部分,或在装置操作时可通信地耦合到电路系统的其它组件。在实例中,物理组件中的任何者可在一个以上电路系统的一个以上成员中使用。举例来说,在操作下,执行单元可在一个时间点在第一电路系统的第一电路中使用,并且可在不同时间由第一电路系统中的第二电路或第二电路系统中的第三电路重新使用。这些组件关于机器800的额外实例也如此。
在替代实施例中,机器800可作为独立装置操作,或可连接(例如,联网)到其它机器。在联网部署中,机器800可在服务器-客户端网络环境中以服务器机器、客户端机器或两者的身份进行操作。在实例中,机器800可在对等(P2P)(或其它分布式)网络环境中充当对等机器。机器800可为个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、移动电话、网络器械、网络路由器、交换机或网桥或能够执行指定待由所述机器采取的动作的指令(循序或以其它方式)的任何机器。此外,虽然仅说明单个机器,但术语“机器”也应被认为包含机器的任何集合,其个别地或共同地执行一组(或多组)指令以执行本文论述的方法中的一或多者,例如云计算、软件即服务(SaaS)、其它计算机集群配置。
机器(例如,计算机系统)800可包含硬件处理器802(例如,中央处理单元(CPU)、图形处理单元(GPU)、硬件处理器内核或其任一组合)、主存储器804、静态存储器(例如,用于固件、微码、基本输入输出(BIOS)、统一可扩展固件接口(UEFI)等的存储器或存储器件)806及大容量存储器件821(例如,硬盘驱动器、磁带驱动器、快闪存储器件或其它块装置),其中的一些或全部可通过互连(例如总线)808彼此通信。主存储器804通常可通过字节可寻址对块可寻址与糊状存储器件821区分,从而允许由处理器802直接消耗其数据。此外,主存储器804由处理器802使用以存储当前(例如,实时)状态信息,而不是在通电与断电循环之间维持的信息。静态存储器806通常用以直接修改或配置硬件,例如在加电时发生,或用以校正机器指令(例如,经由微码)。
机器800可进一步包含显示单元810、字母数字输入装置812(例如,键盘)及用户接口(UI)导航装置814(例如,鼠标)。在实例中,显示单元810、输入装置812或UI导航装置814可为触摸屏显示器。机器800可额外地包含存储装置(例如,驱动单元)816、信号产生装置818(例如,扬声器)、网络接口装置820以及一或多个传感器821,例如全球定位系统(GPS)、传感器、指南针、加速度计或其它传感器。机器800可包含输出控制器828,例如串行(例如,通用串行总线(USB)、并行或其它有线或无线(例如,红外(IR)、近场通信(NFC)等)连接以传达或控制一或多个外围装置(例如,打印机、读卡器等)。
处理器802、主存储器804、静态存储器806或大容量存储装置816的寄存器可为或包含机器可读媒体822,在机器可读媒体822上存储一或多组数据结构或指令824(例如,软件),其体现本文描述的技术或功能中的任一或多者或由其利用。指令824还可在其由机器800执行期间完全或至少部分地驻留在处理器802、主存储器804、静态存储器806或大容量存储器件816的寄存器中的任一者内。在实例中,硬件处理器802、主存储器804、静态存储器806或大容量存储器件816中的一者或任一组合可构成机器可读媒体802。尽管机器可读存储媒体822被说明为单个媒体,但术语“机器可读媒体”可包含经配置以存储一或多个指令824的单个媒体或多个媒体(例如,集中式或分布式数据库及/或相关联高速缓存及服务器)。
术语“机器可读媒体”可包含能够存储、编码或携载由机器800执行的指令并且致使机器800执行本发明的技术中的任一或多者或能够存储、编码或携载由此类指令使用或与此类指令相关联的数据结构的任一媒体。非限制性机器可读媒体实例可包含固态存储器、光学媒体、磁性媒体及信号(例如,射频信号、其它基于光子的信号、声音信号等)。在实例中,非暂时性机器可读媒体包括带有具有不变(例如,静止)质量的多个粒子的机器可读媒体,且因此是是物质的组成。因此,非暂时性机器可读媒体是不包含暂时性传播信号的机器可读媒体。非暂时性机器可读媒体的特定实例可包含:非易失性存储器,例如半导体存储器装置(例如,电可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM))及闪存装置;磁盘,例如内部硬盘及可卸除磁盘;磁光盘;以及CD-ROM及DVD-ROM盘。
指令824可进一步利用数种传送协议(例如,帧中继、因特网协议(IP)、传输控制协议(TCP)、用户数据报协议(UDP)、超文本传送协议(HTTP)等)中的任一种经由网络接口装置820使用传输媒体通过通信网络826传输或接收。实例通信网络可包含局域网(LAN)、广域网(WAN)、分组数据网络(例如,因特网)、移动电话网络(例如,蜂窝网络)、普通老式电话(POTS)网络,及无线数据网络(例如,电气及电子工程师协会(IEEE)802.11系列标准,称为
Figure BDA0002755475070000131
IEEE 802.16系列标准,称为
Figure BDA0002755475070000132
)、IEEE 802.15.4系列标准、对等(P2P)网络等。在实例中,网络接口装置820可包含一或多个物理插孔(例如,以太网、同轴或电话插孔)或一或多个天线以连接到通信网络826。在实例中,网络接口装置820可包含多个天线以使用单输入多输出(SIMO)、多输入多输出(MIMO)或多输入单输出(MISO)技术中的至少一者进行无线通信。术语“传输媒体”应被认为包含能够存储、编码或携载由机器800执行的指令的任何无形媒体,并且包含数字或模拟通信信号或其它无形媒体以促进此软件的通信。传输媒体是机器可读媒体。
额外注释及实例
实例1是一种实施经认证修改的存储装置,所述存储装置包括:加密引擎;接口;解码器,其从在所述接口处接收的数据传输解析命令、一组输入标识及第一签名;及控制器,其用以:收集所述一组输入标识的数目以产生输入组;指示所述加密引擎从所述输入组产生第二签名;比较所述第一签名与所述第二签名以确定匹配;及响应于所述匹配而将所述输入组写入到所述存储装置的安全部分。
在实例2中,实例1的标的物包含,其中所述一组输入标识界定所述存储装置的不安全部分的地址范围。
在实例3中,实例2的标的物包含,其中所述一组输入标识的两个成员界定所述地址范围。
在实例4中,实例3的标的物包含,其中所述两个成员中的第一成员界定所述范围的开始,并且所述两个成员中的第二成员界定所述范围的结束。
在实例5中,实例3到4的标的物包含,其中所述两个成员中的第一成员界定所述范围的开始,并且所述两个成员中的第二个成员界定待包含在所述范围中的单位数目。
在实例6中,实例1到5的标的物包含,其中所述数据传输包含所述安全部分的标识。
在实例7中,实例1到6的标的物包含,其中所述存储装置的所述安全部分可由外部实体经由到所述存储装置的所述接口读取。
在实例8中,实例7的标的物包含,其中所述控制器将响应于读取操作而创建所述安全部分的第三签名。
在实例9中,实例8的标的物包含,其中所述控制器将响应于包含对所述读取操作的引用的验证指令而向所述外部实体提供所述第三签名。
在实例10中,实例1到9的标的物包含,其中所述数据传输标识所述存储装置的机密。
在实例11中,实例10的标的物包含,其中所述机密是所述存储装置的当前会话密钥。
在实例12中,实例1到11的标的物包含,其中所述第一签名及所述第二签名包含是带密钥的散列消息认证码(HMAC)。
在实例13中,实例12的标的物包含,其中所述存储装置的机密被用作所述HMAC的密钥。
在实例14中,实例1到13的标的物包含,其中所述加密引擎实施加密散列。
在实例15中,实例14的标的物包含,其中所述加密散列是安全散列算法(SHA)。
在实例16中,实例15的标的物包含,其中所述加密引擎产生两百五十六位散列。
在实例17中,实例1到16的标的物包含,其中所述存储装置的所述接口是联合电子装置工程委员会(JEDEC)存储器标准接口。
在实例18中,实例17的标的物包含,其中所述存储装置是随机存取存储器(RAM)装置。
在实例19中,实例1到18的标的物包含,其中所述存储装置的所述接口符合集成装置电子装置(IDE)AT附件(ATA)接口、串行ATA(SATA)接口、小型计算机系统接口(SCSI)接口、通用快闪存储(UFS)接口、嵌入式多媒体卡(eMMC)接口或非易失性存储器主机控制器接口规范(NVMHCI)接口中的至少一者。
在实例20中,实例19的标的物包含,其中所述存储装置是快闪存储器装置。
在实例21中,实例20的标的物包含,其中快闪存储器装置是NOR快闪或NAND快闪中的至少一者。
实例22是一种用于在存储装置中的经认证修改的机器实施方法,所述方法包括:解码在所述存储装置的接口处接收的数据传输,所述数据传输包含命令、一组输入标识及对应于由所述输入标识所标识的数据的第一签名,所述命令对应于所述存储装置的安全部分;对所述一组输入标识的成员进行编组以产生输入组;在所述输入组上调用所述存储装置的加密引擎以从所述输入组产生第二签名;比较所述第一签名与所述第二签名以确定匹配;及响应于所述匹配而将所述输入组写入到所述存储装置的安全部分。
在实例23中,实例22的标的物包含,其中所述一组输入标识界定所述存储装置的不安全部分的地址范围。
在实例24中,实例23的标的物包含,其中所述一组输入标识的两个成员界定所述地址范围。
在实例25中,实例24的标的物包含,其中所述两个成员中的第一成员界定所述范围的开始,并且所述两个成员中的第二成员界定所述范围的结束。
在实例26中,实例24到25的标的物包含,其中所述两个成员中的第一成员界定所述范围的开始,并且所述两个成员中的第二个成员界定待包含在所述范围中的单位数目。
在实例27中,实例22到26的标的物包含,其中所述数据传输包含所述安全部分的标识。
在实例28中,实例22到27的标的物包含,其中所述存储装置的所述安全部分可由外部实体经由到所述存储装置的所述接口读取。
在实例29中,实例28的标的物包含,响应于读取操作而创建所述安全部分的第三签名。
在实例30中,实例28到29的标的物包含,响应于包含对所述读取操作的引用的验证指令而向所述外部实体提供所述第三签名。
在实例31中,实例22到30的标的物包含,其中所述数据传输标识所述存储装置的机密。
在实例32中,实例31的标的物包含,其中所述机密是所述存储装置的当前会话密钥。
在实例33中,实例22到32的标的物包含,其中所述第一签名及所述第二签名包含是带密钥的散列消息认证码(HMAC)。
在实例34中,实例33的标的物包含,其中所述存储装置的机密被用作所述HMAC的密钥。
在实例35中,实例22到34的标的物包含,其中所述加密引擎实施加密散列。
在实例36中,实例35的标的物包含,其中所述加密散列是安全散列算法(SHA)。
在实例37中,实例36的标的物包含,其中所述加密引擎产生两百五十六位散列。
在实例38中,实例22到37的标的物包含,其中所述存储装置的所述接口是联合电子装置工程委员会(JEDEC)存储器标准接口。
在实例39中,实例38的标的物包含,其中所述存储装置是随机存取存储器(RAM)装置。
在实例40中,实例22到39的标的物包含,其中所述存储装置的所述接口符合集成装置电子装置(IDE)AT附件ATA接口、串行ATA(SATA)接口、小型计算机系统接口SCSI接口、通用快闪存储UFS接口、嵌入式多媒体卡eMMC接口或非易失性存储器主机控制器接口规范NVMHCI接口中的至少一者。
在实例41中,实例40的标的物包含,其中所述存储装置是快闪存储器装置。
在实例42中,实例41的标的物包含,其中快闪存储器装置是NOR快闪或NAND快闪中的至少一者。
实例43是包含指令的至少一个非暂时性机器可读媒体,所述指令在由处理电路系统执行时致使所述处理电路系统执行实例22到42的任一方法。
实例44是包括用以执行实例22到42的任一方法的构件的系统。
实例45是包含指令的至少一个机器可读媒体,所述指令在由处理电路系统执行时致使所述处理电路系统执行操作以实施实例1到44中的任一者。
实例46是一种包括用以实施实例1到44中的任一者的构件的设备。
实例47是一种用以实施实例1到44中的任一者的系统。
实例48是一种用以实施实例1到44中的任一者的方法。
上文具体实施方式包含对附图的参考,附图形成具体实施方式的一部分。图式通过说明的方式展示可实践的特定实施例。这些实施例在本文中也称为“实例”。此类实例可包含除所展示或描述的元件以外的元件。然而,本发明者还考虑其中仅提供所展示或描述的那些元件的实例。此外,本发明者还考虑使用关于特定实例(或其一或多个方面)或关于本文中展示或描述的其它实例(或其一或多个方面)展示或描述的那些元件(或其一或多个方面)的任何组合或排列的实例。
此文献中参考的所有公开案、专利及专利文献的全部内容以引用的方式并入本文中,就好像以引用的方式个别地并入。在此文献与如此以引用的方式并入的所述文献之间存在不一致用法的情况下,在并入的参考中的用法应被视为是对此文献的用法的补充;针对不能协调的不一致,以此文献中的用法为准。
在本文献中,独立于“至少一个”或“一或多个”的任何其它例子或使用,如专利文件中常见的术语“一(a)”或“一(an)”用以包含一个或一个以上。在本文献中,使用术语“或”来指代非排他性或,使得“A或B”包含“A但非B”、“B但非A”及“A及B”,除非另有指示。在所附权利要求书中,使用术语“包含”及“其中”作为相应术语“包括”及“其中”的简明英语等效物。此外,在所附权利要求书中,术语“包含”及“包括”是开放式的,即,包含除在权利要求中的此术语之后列出的元件以外的元件的系统、装置、物品或过程仍被视为在所述权利要求的范围内。此外,在所附权利要求书中,术语“第一”、“第二”及“第三”等仅用作标签,且并不希望对其对象强加数字要求。
上文描述希望具说明性而非限制性。举例来说,上述所述的实例(或其一或多个方面)可彼此组合使用。在检视上文描述后,例如所属领域的一般技术人员可使用其它实施例。摘要是为了允许读者快速地确定技术揭示的性质,并且在理解其将不用以解释或限制权利要求书的含义的范围的情况下提交摘要。此外,在上文具体实施方式中,各种特征可集合在一起以简化本发明。此不应被解释为期望未主张的揭示特征对于任何权利要求是必不可少的。而是,本发明标的物可能在于少于特定揭示实施例的全部特征。因此,所附权利要求书特此并入到具体实施方式中,其中每一权利要求独立地作为单独实施例。应参考所附权利要求书连同此权利要求书所授权的等效物的全范围来确定本发明的范围。

Claims (22)

1.一种实施经认证修改的存储装置,所述存储装置包括:
加密引擎;
接口;
解码器,其从在所述接口处接收的数据传输解析命令、一组输入标识及第一签名;及
控制器,其用以:
收集所述一组输入标识的成员以产生输入组;
指示所述加密引擎从所述输入组产生第二签名;
比较所述第一签名与所述第二签名以确定匹配;及
响应于所述匹配而将所述输入组写入到所述存储装置的安全部分。
2.根据权利要求1所述的存储装置,其中所述一组输入标识界定所述存储装置的不安全部分的地址范围。
3.根据权利要求1所述的存储装置,其中所述数据传输包含所述安全部分的标识。
4.根据权利要求1所述的存储装置,其中所述存储装置的所述安全部分能够由外部实体经由到所述存储装置的所述接口读取。
5.根据权利要求4所述的存储装置,其中所述控制器将响应于读取操作而创建所述安全部分的第三签名。
6.根据权利要求5所述的存储装置,所述控制器将响应于包含对所述读取操作的引用的验证指令而向所述外部实体提供所述第三签名。
7.根据权利要求1所述的存储装置,其中所述数据传输标识所述存储装置的机密。
8.根据权利要求1所述的存储装置,其中所述第一签名及所述第二签名包含是带密钥的散列消息认证码HMAC。
9.根据权利要求1所述的存储装置,其中所述存储装置的所述接口是联合电子装置工程委员会JEDEC存储器标准接口。
10.根据权利要求1所述的存储装置,其中所述存储装置的所述接口符合集成装置电子装置IDE AT附件ATA接口、串行ATA SATA接口、小型计算机系统接口SCSI接口、通用快闪存储UFS接口、嵌入式多媒体卡eMMC接口或非易失性存储器主机控制器接口规范NVMHCI接口中的至少一者。
11.根据权利要求10所述的存储装置,其中所述存储装置是快闪存储器装置。
12.一种用于在存储装置中的经认证修改的机器实施方法,所述方法包括:
解码在所述存储装置的接口处接收的数据传输,所述数据传输包含命令、一组输入标识及对应于由所述输入标识所标识的数据的第一签名,所述命令对应于所述存储装置的安全部分;
对所述一组输入标识的成员进行编组以产生输入组;
在所述输入组上调用所述存储装置的加密引擎以从所述输入组产生第二签名;
比较所述第一签名与所述第二签名以确定匹配;及
响应于所述匹配而将所述输入组写入到所述存储装置的安全部分。
13.根据权利要求12所述的方法,其中所述一组输入标识界定所述存储装置的不安全部分的地址范围。
14.根据权利要求12所述的方法,其中所述数据传输包含所述安全部分的标识。
15.根据权利要求12所述的方法,其中所述存储装置的所述安全部分能够由外部实体经由到所述存储装置的所述接口读取。
16.根据权利要求15所述的方法,其包括响应于读取操作而创建所述安全部分的第三签名。
17.根据权利要求15所述的方法,其包括响应于包含对所述读取操作的引用的验证指令而向所述外部实体提供所述第三签名。
18.根据权利要求12所述的方法,其中所述数据传输标识所述存储装置的机密。
19.根据权利要求12所述的方法,其中所述第一签名及所述第二签名包含是带密钥的散列消息认证码HMAC。
20.根据权利要求12所述的方法,其中所述存储装置的所述接口是联合电子装置工程委员会JEDEC存储器标准接口。
21.根据权利要求12所述的方法,其中所述存储装置的所述接口符合集成装置电子装置IDE AT附件ATA接口、串行ATA SATA接口、小型计算机系统接口SCSI接口、通用快闪存储UFS接口、嵌入式多媒体卡eMMC接口或非易失性存储器主机控制器接口规范NVMHCI接口中的至少一者。
22.根据权利要求21所述的方法,其中所述存储装置是快闪存储器装置。
CN201980029656.7A 2018-03-23 2019-03-22 存储装置认证的修改 Pending CN112074837A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862647390P 2018-03-23 2018-03-23
US62/647,390 2018-03-23
PCT/US2019/023551 WO2019183459A1 (en) 2018-03-23 2019-03-22 Storage device authenticated modification

Publications (1)

Publication Number Publication Date
CN112074837A true CN112074837A (zh) 2020-12-11

Family

ID=67987558

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980029656.7A Pending CN112074837A (zh) 2018-03-23 2019-03-22 存储装置认证的修改

Country Status (6)

Country Link
US (1) US11902449B2 (zh)
EP (1) EP3769253A4 (zh)
JP (1) JP2021517409A (zh)
KR (2) KR102420035B1 (zh)
CN (1) CN112074837A (zh)
WO (1) WO2019183459A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11902449B2 (en) 2018-03-23 2024-02-13 Micron Technology, Inc. Storage device authenticated modification

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11294582B2 (en) * 2020-09-08 2022-04-05 Micron Technology, Inc. Customer-specific activation of functionality in a semiconductor device

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1439129A (zh) * 2000-06-27 2003-08-27 英特尔公司 在非易失存储器设备内的嵌入安全设备
CN1832403A (zh) * 2006-04-24 2006-09-13 北京易恒信认证科技有限公司 Cpk可信认证系统
US20110055471A1 (en) * 2009-08-28 2011-03-03 Jonathan Thatcher Apparatus, system, and method for improved data deduplication
CN102541765A (zh) * 2010-09-30 2012-07-04 美光科技公司 处理器主存储器的存储器内容的安全保护
US20140006785A1 (en) * 2012-06-29 2014-01-02 Adi Shaliv Systems and methods for authenticating devices by adding secure features to wi-fi tags
CN104580487A (zh) * 2015-01-20 2015-04-29 成都信升斯科技有限公司 一种海量数据存储系统及处理方法
CN104601579A (zh) * 2015-01-20 2015-05-06 成都市酷岳科技有限公司 一种保障信息安全的计算机系统及其方法
US20150161399A1 (en) * 2013-12-10 2015-06-11 Memory Technologies Llc Storage module with authenticated storage access
CN104871186A (zh) * 2012-09-12 2015-08-26 Cellum全球创新和服务公司 用于移动支付的应用程序系统和用于提供并使用移动支付工具的方法
CN104904179A (zh) * 2012-10-16 2015-09-09 真实数据系统股份有限公司 安全通信架构
US20160380772A1 (en) * 2015-06-26 2016-12-29 Intel Corporation Keyed-hash message authentication code processors, methods, systems, and instructions
CN107547251A (zh) * 2017-06-28 2018-01-05 新华三技术有限公司 一种设备管理方法、装置及系统
CN110574002A (zh) * 2017-03-24 2019-12-13 美光科技公司 存储装置哈希生成

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6757832B1 (en) * 2000-02-15 2004-06-29 Silverbrook Research Pty Ltd Unauthorized modification of values in flash memory
US20020112163A1 (en) * 2001-02-13 2002-08-15 Mark Ireton Ensuring legitimacy of digital media
US20030120923A1 (en) 2001-12-21 2003-06-26 Avaya Technology Corp. Secure data authentication apparatus
JP4794269B2 (ja) * 2004-11-08 2011-10-19 パナソニック株式会社 セキュアデバイスおよび中継端末
US8332660B2 (en) * 2008-01-02 2012-12-11 Arm Limited Providing secure services to a non-secure application
US20120110343A1 (en) 2010-10-29 2012-05-03 Bandic Zvonimir Z Trustworthy timestamps on data storage devices
US8793506B2 (en) * 2012-08-31 2014-07-29 Intel Corporation Mechanism for facilitating encryption-free integrity protection of storage data at computing systems
KR102017828B1 (ko) * 2012-10-19 2019-09-03 삼성전자 주식회사 보안 관리 유닛, 상기 보안 관리 유닛을 포함하는 호스트 컨트롤러 인터페이스, 상기 호스트 컨트롤러 인터페이스의 동작 방법, 및 상기 호스트 컨트롤러 인터페이스를 포함하는 장치들
JP6067449B2 (ja) 2013-03-26 2017-01-25 株式会社東芝 情報処理装置、情報処理プログラム
US9984007B2 (en) * 2014-03-28 2018-05-29 Samsung Electronics Co., Ltd. Storage system and method for performing and authenticating write-protection thereof
US9569622B2 (en) 2014-11-20 2017-02-14 Micron Technology, Inc. Self-measuring nonvolatile memory device systems and methods
US9729524B1 (en) * 2014-12-12 2017-08-08 Amazon Technologies, Inc. Authenticated device-based storage operations
US9996711B2 (en) 2015-10-30 2018-06-12 Intel Corporation Asset protection of integrated circuits during transport
WO2017163204A1 (en) 2016-03-23 2017-09-28 Craig Michael Horn A memory management system and method
JP2021517409A (ja) 2018-03-23 2021-07-15 マイクロン テクノロジー,インク. ストレージデバイスの認証修正
US11088845B2 (en) * 2018-07-03 2021-08-10 Western Digital Technologies, Inc. Non-volatile memory with replay protected memory block having dual key
US10853273B2 (en) * 2018-08-01 2020-12-01 Micron Technology, Inc. Secure memory system programming
US11693732B2 (en) * 2019-12-31 2023-07-04 Micron Technology, Inc. Cryptographic data integrity protection
KR20210113906A (ko) * 2020-03-09 2021-09-17 에스케이하이닉스 주식회사 컴퓨팅 시스템 및 그 동작 방법

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1439129A (zh) * 2000-06-27 2003-08-27 英特尔公司 在非易失存储器设备内的嵌入安全设备
CN1832403A (zh) * 2006-04-24 2006-09-13 北京易恒信认证科技有限公司 Cpk可信认证系统
US20110055471A1 (en) * 2009-08-28 2011-03-03 Jonathan Thatcher Apparatus, system, and method for improved data deduplication
CN102541765A (zh) * 2010-09-30 2012-07-04 美光科技公司 处理器主存储器的存储器内容的安全保护
US20140006785A1 (en) * 2012-06-29 2014-01-02 Adi Shaliv Systems and methods for authenticating devices by adding secure features to wi-fi tags
CN104871186A (zh) * 2012-09-12 2015-08-26 Cellum全球创新和服务公司 用于移动支付的应用程序系统和用于提供并使用移动支付工具的方法
CN104904179A (zh) * 2012-10-16 2015-09-09 真实数据系统股份有限公司 安全通信架构
US20150161399A1 (en) * 2013-12-10 2015-06-11 Memory Technologies Llc Storage module with authenticated storage access
CN104601579A (zh) * 2015-01-20 2015-05-06 成都市酷岳科技有限公司 一种保障信息安全的计算机系统及其方法
CN104580487A (zh) * 2015-01-20 2015-04-29 成都信升斯科技有限公司 一种海量数据存储系统及处理方法
US20160380772A1 (en) * 2015-06-26 2016-12-29 Intel Corporation Keyed-hash message authentication code processors, methods, systems, and instructions
CN110574002A (zh) * 2017-03-24 2019-12-13 美光科技公司 存储装置哈希生成
CN107547251A (zh) * 2017-06-28 2018-01-05 新华三技术有限公司 一种设备管理方法、装置及系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11902449B2 (en) 2018-03-23 2024-02-13 Micron Technology, Inc. Storage device authenticated modification

Also Published As

Publication number Publication date
US20210028942A1 (en) 2021-01-28
JP2021517409A (ja) 2021-07-15
US11902449B2 (en) 2024-02-13
KR102420035B1 (ko) 2022-07-13
KR20220101018A (ko) 2022-07-18
EP3769253A1 (en) 2021-01-27
KR20200123487A (ko) 2020-10-29
WO2019183459A1 (en) 2019-09-26
EP3769253A4 (en) 2021-12-01

Similar Documents

Publication Publication Date Title
EP3284000B1 (en) Secure software authentication and verification
US11334502B2 (en) Memory protection based on system state
TW201310344A (zh) 存取基本輸入輸出系統設定的認證方法
KR20180023059A (ko) 키를 안전하게 활성화 또는 취소하기 위한 컴퓨팅 디바이스
US10999057B2 (en) Providing access to a hardware resource based on a canary value
US11902449B2 (en) Storage device authenticated modification
CN113946881A (zh) 安全串行外围接口(spi)闪存
US11443023B2 (en) Distributed profile and key management
JP2018523930A (ja) セキュア計算環境
US20160171218A1 (en) Memory device and script-execution control method
CN110574002B (zh) 存储装置哈希生成
US11776340B2 (en) Electronic device authentication method, and apparatus according thereto
WO2022019910A1 (en) Read protection for uefi variables
JP6069120B2 (ja) 情報処理システム
CN111357003A (zh) 预操作系统环境中的数据保护
US20240070280A1 (en) Locked states

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