[go: up one dir, main page]

CN112925484A - 存储装置哈希生成 - Google Patents

存储装置哈希生成 Download PDF

Info

Publication number
CN112925484A
CN112925484A CN202110360439.5A CN202110360439A CN112925484A CN 112925484 A CN112925484 A CN 112925484A CN 202110360439 A CN202110360439 A CN 202110360439A CN 112925484 A CN112925484 A CN 112925484A
Authority
CN
China
Prior art keywords
storage device
interface
hash
storage
subject matter
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
Application number
CN202110360439.5A
Other languages
English (en)
Other versions
CN112925484B (zh
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
Priority to CN202110360439.5A priority Critical patent/CN112925484B/zh
Publication of CN112925484A publication Critical patent/CN112925484A/zh
Application granted granted Critical
Publication of CN112925484B publication Critical patent/CN112925484B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • 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/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
    • 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/3239Cryptographic 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Power Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Storage Device Security (AREA)

Abstract

本申请涉及存储装置哈希生成。本文描述用于存储装置哈希生成的系统及技术。解码在所述存储装置的接口处接收到的数据传输。此处,所述数据传输包含对应于哈希运算的命令、一组输入识别及输出识别。所述一组输入识别的成员经整理以生成输入集。对所述输入集调用所述存储装置的哈希引擎以生成哈希乘积。所述哈希乘积存储于对应于所述输出识别的所述存储装置的一部分中。

Description

存储装置哈希生成
分案申请的相关信息
本发明专利申请是国际申请号为PCT/US2018/024045、国际申请日为2018年3月23日、发明名称为“存储装置哈希生成”、进入中国国家阶段的申请号为201880028611.3的发明专利申请的分案申请。
优先权主张
本专利申请案主张2017年8月31日申请的序列号为15/693,144的美国申请案的优先权权益,所述美国申请案主张2017年3月24日申请的序列号为62/476,549的美国临时申请案的优先权权益,所述美国申请案全部特此以引用方式并入本文中。
技术领域
本文描述的实施例大体上涉及计算机存储装置,且更明确来说,涉及存储装置哈希生成。
背景技术
存储装置是经设计以存储数据的计算机硬件。存储装置可称为存储器、大容量存储装置或类似物。存储装置通常包含保持数据(例如,位、字节、块等)的媒体、控制器硬件及接口,所述接口有利于查询所述数据且在具有写入能力的存储装置中写入数据。
发明内容
在一个方面,本揭露涉及一种安全存储装置,其包括:存储部分,其经配置以保持数据;哈希引擎,其经配置以产生密钥哈希消息认证代码HMAC;接口,其经配置以接收带有输入识别及输出识别的命令;及处理电路,其经配置以:在所述输入识别处检索数据;指示所述哈希引擎使用所述数据生成哈希乘积;及将所述哈希乘积写入所述输出识别处的所述存储部分。
附图说明
在不一定按比例绘制的图中,相似的元件符号可描述不同视图中的类似组件。具有不同字母后缀的相似的元件符号可表示类似组件的不同例子。图大体上通过实例但不通过限制说明本文献中论述的各种实施例。
图1是根据实施例的包含用于存储装置哈希生成的系统的环境的实例的框图。
图2到5说明到存储装置的由存储装置调用哈希的生成的消息实例。
图6是说明根据实施例的在存储装置内生成哈希的组件收发消息实例的泳道图。
图7说明根据实施例的用于多因素智能代理控制的方法的实例的流程图。
图8是说明可在其上或使用其实施一或多个实施例的机器的实例的框图。
具体实施方式
随着许多制品—例如车辆的计算机控制系统、计算机化(例如,智能)器械或传感器(例如,物联网(IoT)装置)等的计算机化程度提高,现在在许多传统上不被视为计算机的商品中都发现了存储装置。这些商品的计算机化可能会随着时间的推移而完成,且可能难以改变。举例来说,汽车控制器局域网(CAN)总线是车辆通信标准,其允许链接各种控制器。然而,由于车辆可长期使用,所以这些系统在标准化时可能会存在未知的漏洞或弱点,这些漏洞或弱点修复起来非常困难或昂贵。此外,可创建许多昂贵的制造过程来实施一个标准,例如,即使新的车辆也可包含过时或不安全的标准以便维持与各种供应商的控制器的兼容性。
有关用户、数据或可执行程序的安全问题通常在所有计算平台中普遍存在。由于嵌入式系统的普遍不灵活性,例如上文论述的制品中所包括的那些嵌入式系统,嵌入式系统的安全性通常落后于更通用的计算装置的安全性。然而,即使在一般的计算装置中,设计包含额外安全硬件的新的主板(例如母板)也可能受成本过高限制。需要可与通用或嵌入式计算机系统中的其它计算组件介接而无需修改其它硬件组件的增强安全性硬件。
为了解决先前论述的问题,存储装置经修改以包含加密组件,例如哈希引擎。存储装置还经增强以接受来自外部实体(例如处理器、装置等)的额外命令以调用由哈希引擎执行的哈希运算。额外命令以类似于由外部实体提供到存储装置的其它命令的方式操作,例如数据读取或写入。因此,存储装置到系统的硬件接口仍保持相同,从而允许存储装置被包含(无需修改)到现存系统。然而,现存系统的软件可经修改以调用哈希运算命令且因此获得存储装置的加密组件的益处。此布置准许系统(包含嵌入式系统)的加密增强而无需重新设计这些系统的制造过程。下文描述额外实例及细节。
图1是根据实施例的包含用于存储装置哈希生成的系统的环境的实例的框图。环境100包含嵌入到制品145中的系统140。如上所述,制品145可包含多种事物,例如包含无人驾驶车辆的车辆(如展示)、家电、家具、结构、传感器、衣服或系统140可包含(例如嵌入)于其中的其它物品。创造“智能”物品或向先前在无通信能力的情况下操作的商品(例如许多家电(例如冰箱、洗衣机等)或传感器)添加此类能力的近期趋势可称为创建IoT,参与商品被变换成IoT装置。
系统140可包含与制品145的在系统140外部的一或多个组件通信的接口。举例来说,如果系统140是车内娱乐系统,那么所述接口准许系统140控制扬声器,且可准许从用户的装置(例如电话、个人音乐播放器、平板计算机等)接收内容。所述系统还可包含一或多个处理器(例如中央处理单元、低功率处理器、数字信号处理器、图形处理单元等),且一或多个存储装置(例如大容量存储装置、存储器、静态存储器等)包含存储装置105。
存储装置105包含接口110、解码器115、控制器120、哈希引擎125及存储部分130。在实例中,存储装置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处接收到的数据传输的命令、一组输入识别及输出识别。在实例中,解码器115经布置以解码其它命令,例如到存储装置105的读取或写入命令。在实例中,解码器115是控制器120的部分(例如,集成到控制器120中)。
此处,命令对应于哈希运算。哈希运算接受输入数据且生成所述输入数据的哈希作为输出。通常,哈希将任意地设定大小的数据映射为固定大小。尽管不需要,但通常期望不同输入数据从哈希生成不同输出。当两个不同输入数据生成相同输出时,称为冲突。加密哈希与其它哈希的不同之处可在于:单向。即,难以仅从哈希的输出生成输入数据。
在实例中,一组输入识别的成员是存储装置的第二部分的地址,例如存储部分130或寄存器库135。在实例中,外部实体可经由到存储器装置的接口存取存储装置的第二部分。因此,在快闪装置的典型操作中,例如,存储部分130用于保持外部实体经由到存储装置105的经由接口110进行的命令读取及写入的数据。相比之下,寄存器库135通常无法由这些外部实体经由接口110存取但可由控制器120(或存储装置105的其它部分)用于内部目的。在实例中,存储装置的第二部分是块可寻址的,例如NAND快闪装置或硬盘驱动器。
在实例中,存储装置105的第二部分是字节可寻址的。一般来说(尽管非排他地),字节可寻址存储装置用于恰在由处理器消耗之前存储数据。因此,数据可在由处理器操作之前从非字节可寻址存储装置(例如块可寻址存储装置)检索到字节可寻址存储装置中。实例字节可寻址媒体可包含寄存器、RAM变体(例如静态RAM(SRAM)、动态RAM(DRAM)等)、核心存储器、NOR快闪等。在实例中,存储装置的第二部分是寄存器(例如,在寄存器库135中)。在实例中,存储装置的第二部分是非易失性存储媒体,例如NOR快闪。在实例中,外部实体无法经由到存储装置的接口存取存储装置的第二部分,例如寄存器库135。
在实例中,一组输入识别定义存储装置的第二部分的地址范围。举例来说,一组输入识别可为例如快闪装置或硬盘的存储部分130中的存储块的列表。一组输入识别可为存储部分130(其是RAM)中的一组字节可寻址地址。在实例中,一组输入识别的两个成员定义地址范围。此实例准许识别存储部分130的连续部分例如以减少信令开销。在实例中,两个成员的第一成员定义范围的起始,且两个成员的第二成员定义范围的结束。在实例中,两个成员的第一成员定义范围的起始,且两个成员的第二成员定义包含于所述范围中的若干单元。
在实例中,一组输入识别的成员识别数据传输的一部分。虽然在上文,输入识别注释已由存储装置105管理的数据,但此处,命令可伴随尚未由存储装置105管理的额外数据。在实例中,数据传输的部分通过字段识别。在实例中,数据传输的部分通过偏移识别。在实例中,数据传输的部分也通过长度识别。因此,给定这最后几个实例,传输中的新的数据可使用多种技术指定额外数据。
在实例中,哈希运算是密钥哈希消息认证代码(HMAC)。HMAC是消息认证代码(MAC),其中密钥与其它数据组合以生成哈希。HMAC可用于验证数据完整性及消息(例如其它数据)的真实性的一者或两者。在实例中,一组输入识别的子集识别秘密。此处,秘密用作用于HMAC的密钥。在实例中,一组输入识别的成员识别存储装置的当前会话密钥。在此实例中,存储装置105可能先前已进入与外部实体的加密通信。作为建立这些通信的部分,会话密钥可能已建立于存储装置105与外部实体之间。存储装置105可针对数个通信或针对设置时间周期维持相同会话密钥或所述会话密钥的派生物。存储装置105可内部地维持会话密钥,例如在寄存器库135(或其它内部存储器)中或在存储部分130的受保护部分中。
控制器120经布置以收集一组输入识别的成员以生成输入集。收集可包含检索对应于一组输入识别中的地址的数据或从传输获得(例如,检索或接收)包含于输入集中的数据(例如秘密)。收集允许使用存储装置105中先前管理(例如,存储)的待用于哈希运算的数据。因此,输入集包含数据而非对数据的参考。
控制器120还经布置以指示哈希引擎125从输入集生成哈希乘积。哈希乘积是输入集数据的至少一哈希。如上所述,哈希乘积可为HMAC。在此实例中,哈希引擎125经布置以实施加密哈希。在实例中,加密哈希是安全哈希算法(SHA)。在实例中,哈希引擎125经布置以生成256位哈希。
控制器120还经布置以将哈希乘积写入于对应于输出识别的存储装置105的一部分(例如存储部分130)中。此使存储装置使用其已管理的数据、创建哈希乘积及存储所述哈希乘积本身的能力完整。因此,外部实体可把待哈希的数据写入到存储装置105,就像其在以其它方式存储数据时通常将进行的那样。接着,外部实体可经由命令调用哈希运算且针对结果指定存储装置105内部的响应。接着,外部实体可以其将以其它方式从存储装置检索数据(例如通过读取命令)相同的方式检索哈希乘积。此布置提供若干益处。举例来说,因为接口110符合其它接口标准或所述类型的存储装置的类型,所以存储装置可添加到经配置以接受相同类型的存储装置的任何系统140。另外,写入、哈希、读取指令循环向程序员提供熟悉且灵活的哈希设施,这是因为数据的写入及哈希乘积的读取以其它存储装置所熟悉的方式发生。以此方式,安全性功能,例如HMAC收发消息或其它升级,可添加到现存系统而原始设备制造商无额外制造花费,且因此进一步将系统渗透到制品中。
图2到5说明到存储装置以通过存储装置调用哈希的乘积的消息实例(例如消息200、300、400及500)。此处论述的消息格式是非限制性实例。如上所述,消息的部分可通过字段(例如,标记语言(例如eXtensible标记语言(XML))中的标签或类似物)或通过惯例标示(例如,前八个位指定命令,次第八个位指定输入标头等)。此外,图2到5中说明的消息具有特定部分顺序(例如,命令、输入标头、输入地址及输出地址),但变化可包含这些组件的重新布置(例如无输入标头、输出地址、输入地址及接着命令)。
图2说明消息200的实例。消息200包含四个部分:命令部分205、输入标头210、输入地址部分215及输出地址220。在实例中,命令部分205根据到存储装置的标准接口置放及设定大小。举例来说,如果存储装置的接口是SCSI,那么前八位字节是命令部分205。输入标头210是任选的,且可用于描述输入地址部分215中的数据类型。举例来说,如果输入地址部分215针对两个地址设定大小,那么输入标头210可指定是否将输入地址部分215视作两个不同地址或一范围(例如起始及结束地址或起始地址及扩展)。输出地址220如上文描述指定在哈希引擎执行来自命令部分205的命令的哈希运算时生成的哈希乘积的目的地。
图3说明消息300的实例。消息300包含命令部分305、输入标头310、输入地址部分315及输出地址320,如上文关于图2描述。消息300还包含秘密部分325。秘密部分325保持可用作到HMAC的密钥的秘密。此处,秘密325存储密钥的实际值。
图4说明消息400的实例。消息400包含命令部分405、输入标头410、输入地址部分415及输出地址420,如上文关于图2及3描述。消息400还包含秘密地址部分425。秘密地址部分425保持到存储装置内的可寻址位置的地址,例如内部NAND或NOR快闪块、寄存器、存储器等,使用秘密地址部分425准许使用比在给定特定存储接口标准的约束的情况下原本可能的更大的秘密。外部实体可在前一操作中将秘密写入到存储装置的一或多个块,且接着经由秘密地址部分425参考秘密。
图5说明消息500的实例。消息500包含命令部分505、输入标头510、输入地址部分515及输出地址520,如上文关于图2到4描述。消息500还包含秘密命令部分525。秘密命令部分525包含到存储装置的指定如何获得秘密的指示。实例指示可包含检索存储装置的当前会话密钥或使用诊断组件测量存储装置的质量。秘密命令提供额外灵活性以利用甚至更复杂的存储装置硬件。
尽管图3到5将秘密保持区(例如秘密部分325、秘密地址425或秘密命令部分525)说明为与输入地址部分(例如315、415或515)分离。秘密保持区可包含于输入地址部分中且例如在输入标头中指定。
图6是说明根据实施例的在存储装置内生成哈希的组件收发消息600的实例的泳道图。在到存储装置的接口处接收传输之后,解码器解码消息中的命令(操作605)。接着,控制器可通过请求对应于来自存储部分的一组输入识别的数据整理来自一组输入识别的数据(操作610)及接收如由存储部分所提供的输入集数据(操作615)。
一旦整理了输入集,控制器就调用对输入集的命令的哈希运算(操作620)。任选地,控制器可将密钥提供到哈希引擎作为哈希运算调用(操作625)。接着,哈希引擎将哈希结果(例如,哈希乘积)提供回到控制器(操作630)。接着,控制器将哈希结果存储于输入消息(例如输出地址)中所指定的存储部分中(操作635)。
图7说明根据实施例的用于多因素智能代理控制的方法700的实例的流程图。方法700的操作在计算机硬件(例如上文关于图1或下文关于图8描述的计算机硬件(例如电路))上实施。
在操作705,解码在存储装置的接口处接收到的数据传输。此处,数据传输包含命令、一组输入识别及输出识别。命令对应于哈希运算。
在实例中,一组输入识别的成员是存储装置的第二部分的地址。在实例中,外部实体可经由到存储装置的接口存取存储装置的第二部分。在实例中,存储装置的第二部分是块可寻址的。
在实例中,外部实体不可经由到存储装置的接口存取存储装置的第二部分。在实例中,存储装置的第二部分是字节可寻址的。在实例中,存储装置的第二部分是寄存器。在实例中,存储装置的第二部分是非易失性存储媒体。
在实例中,一组输入识别定义存储装置的第二部分的地址范围。在实例中,一组输入识别的两个成员定义地址范围。在实例中,两个成员的第一成员定义范围的起始,且两个成员的第二成员定义范围的结束。在实例中,两个成员的第一成员定义范围的起始,且两个成员的第二成员定义包含于所述范围中的若干单元。
在实例中,一组输入识别的成员识别数据传输的一部分。在实例中,数据传输的部分通过字段识别。在实例中,数据传输的部分通过偏移识别。在实例中,数据传输的部分也通过长度识别。
在实例中,哈希运算是密钥哈希消息认证代码(HMAC)。在实例中,一组输入识别的子集识别秘密。此处,秘密用作用于HMAC的密钥。在实例中,一组输入识别的成员识别存储装置的当前会话密钥。
在实例中,存储装置的接口是联合电子装置工程理事会(JEDEC)存储器标准接口。在实例中,存储装置是随机存取存储器(RAM)装置。
在实例中,存储装置的接口符合集成装置电子器件(IDE)AT附接(ATA)接口、串行ATA(SATA)接口、小型计算机系统接口(SCSI)接口或非易失性存储器主机控制器接口规范(NVMHCI)接口中的至少一者。在实例中,存储装置是快闪存储器装置。在实例中,快闪存储器装置是NOR快闪或NAND快闪中的至少一者。在实例中,存储装置是硬盘驱动器(HDD)。
在操作710,整理一组输入识别的成员以生成输入集。整理包含收集在输入通知中识别的数据及将数据置放到输入集中。在实例中,整理一组输入识别的成员包含检索对应于一组输入识别的地址的数据以包含于输入集中。
在操作715,对输入集调用存储装置的哈希引擎以生成哈希乘积。在实例中,哈希引擎实施加密哈希。在实例中,加密哈希是安全哈希算法(SHA)。在实例中,哈希引擎生成256位哈希或512位哈希。
在操作720,将哈希乘积存储于对应于输出识别的存储装置的一部分中。
图8说明实例机器800的框图,可在机器800之上执行本文论述的技术(例如方法)中的任何一或多者。实例如本文描述可包含逻辑或数个组件或机器800中的机构,或可通过逻辑或数个组件或机器800中的机构操作。电路(例如处理电路)是实施于包含硬件(例如简单电路、门、逻辑等)的机器800的有形实体中的电路集合。电路成员关系随着时间的推移可为灵活的。电路包含可在操作时单独或以组合执行指定操作的构件。在实例中,电路的硬件可不变地经设计以实施特定操作(例如,硬接线)。在实例中,电路的硬件可包含可变连接的物理组件(例如执行单元、晶体管、简单电路等),其包含物理地经修改(例如机械地、电地、不变质量的颗粒的可移动置放等)以编码特定操作的指令的机器可读媒体。在连接物理组件时,硬件成分的潜在电性质例如从绝缘体变为导体,或反之亦然。指令启用嵌入式硬件(例如执行单元或加载机构)以经由可变连接在硬件中创建电路的成员以在处于操作中时实施特定操作的部分。因此,在实例中,机器可读媒体元件是电路的部分,或在装置正操作时通信地耦合到电路的其它组件。在实例中,物理组件中的任何者可用于一个以上电路的一个以上成员中。举例来说,在操作下,执行单元可在一时间点用于第一电路系统的第一电路中,且在不同时间由第一电路系统中的第二电路或由第二电路系统中的第三电路再次使用。以下是关于机器800的这些组件的额外实例。
在替代实施例中,机器800可操作作为独立装置或可连接(例如,联网)到其它机器。在联网部署中,机器800可操作于服务器机器、客户端机器或服务器-客户端网络环境两者中的容量中。在实例中,机器800可在对等(P2P)(或其它分布式)网络环境中用作对等机器。机器800可为个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、移动电话、网络设备、网络路由器、交换机或桥或能够执行指定将由所述机器采取的动作的指令(循序或以其它方式)的任何机器。此外,虽然仅说明单个机器,但术语“机器”也应被理解为包含个别地或共同地执行一组(或多组)指令以执行本文论述的方法中的任何一或多者的任何机器集合,例如云计算、软件即服务(SaaS)、其它计算机集群配置。
机器(例如计算机系统)800可包含硬件处理器802(例如中央处理单元(CPU)、图形处理单元(GPU)、硬件处理器核心或其任何组合)、主存储器804、静态存储器(例如用于固件、微代码、基本输入-输出(BIOS)、统一可扩展固件接口(UERI)等的存储器或存储装置)806及大容量存储装置821(例如硬驱动、磁带驱动、快闪存储装置或其它块装置),其部分或全部可经由互链(例如,总线)808与彼此通信。主存储器804通常通过为字节可寻址而非允许其数据直接由处理器802消耗的块可寻址来与大容量存储装置821区分。此外,主存储器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(例如软件)可存储在机器可读媒体822上。指令824还可在其由机器800执行期间完全或至少部分驻存在处理器802、主存储器804、静态存储器806或大容量存储装置816的寄存器中的任何者内。在实例中,硬件处理器802、主存储器804、静态存储器806或大容量存储装置816中的一者或任何组合可构成机器可读媒体802。虽然将机器可读媒体822说明为单个媒体,但术语“机器可读媒体”可包含经配置以存储一或多个指令824的单个媒体或多个媒体(例如集中式或分布式数据库及/或相关联的高速缓冲存储器及服务器)。
术语“机器可读媒体”可包含任何媒体,其能够存储、编码或实施指令以供机器800执行且导致机器800执行本发明的技术中的任何一或多者,或能够存储、编码或实施由此类指令使用或与此类指令相关联的数据结构。非限制性机器可读媒体实例可包含固态存储器、光学媒体、磁性媒体及信号(例如射频信号、其它基于光子的信号、声音信号等)。在实例中,非暂时性机器可读媒体包括具有含不变(例如剩余)质量的多个颗粒的机器可读媒体,且因此是物质组合物。因此,非暂时性机器可读媒体是不包含暂时性传播信号的机器可读媒体。非暂时性机器可读媒体的特定实例可包含:非易失性存储器,例如半导体存储器装置(例如电可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM))及快闪存储器装置;磁盘,例如内部硬盘及可卸除盘;磁光盘;及CD-ROM及DVD-ROM盘。
指令824可经过通信网络826使用传输媒体经由网络接口装置820利用数个传送协议(例如帧中继、因特网协议(IP)、传输控制协议(TCP)、用户数据报协议(UDP)、超文本传送协议(HTTP)等)中的任一者进一步发射或接收。实例通信网络可包含局域网(LAN)、广域网(WAN)、包数据网络(例如因特网)、移动电话网络(例如蜂窝网络)、普通老式电话(POTS)网络及无线数据网络(例如称为
Figure BDA0003005336930000101
的电气与电子工程师协会(IEEE)802.11系列标准、称为
Figure BDA0003005336930000102
的IEEE 802.16系列标准)、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中,实例6的标的物,其中外部实体可经由到所述存储装置的所述接口存取所述存储装置的所述第二部分。
在实例8中,实例7的标的物,其中所述存储装置的所述第二部分是块可寻址的。
在实例9中,实例6到8中任一或多者的标的物任选地包含:其中外部实体不可经由到所述存储装置的所述接口存取所述存储装置的所述第二部分。
在实例10中,实例9的标的物,其中所述存储装置的所述第二部分是字节可寻址的。
在实例11中,实例10的标的物,其中所述存储装置的所述第二部分是寄存器。
在实例12中,实例9到11中任一或多者的标的物任选地包含:其中所述存储装置的所述第二部分是非易失性存储媒体。
在实例13中,实例1到12中任一或多者的标的物任选地包含:其中,为了收集所述一组输入识别的所述成员,所述控制器将检索对应于包含于所述输入集中的所述地址的数据。
在实例14中,实例1到13中任一或多者的标的物任选地包含:其中所述一组输入识别的成员识别所述数据传输的一部分。
在实例15中,实例14的标的物,其中所述数据传输的所述部分通过字段识别。
在实例16中,实例14到15中任一或多者的标的物任选地包含:其中所述数据传输的所述部分通过偏移识别。
在实例17中,实例16的标的物,其中所述数据传输的所述部分也通过长度识别。
在实例18中,实例1到17中任一或多者的标的物任选地包含:其中所述一组输入识别的成员识别所述存储装置的秘密。
在实例19中,实例18的标的物,其中所述秘密是所述存储装置的当前会话密钥。
在实例20中,实例1到19中任一或多者的标的物任选地包含:其中所述哈希运算是密钥哈希消息认证代码(HMAC)。
在实例21中,实例20的标的物,其中所述一组输入识别的子集识别秘密,其中所述秘密用作用于所述HMAC的密钥。
在实例22中,实例1到21中任一或多者的标的物任选地包含:其中所述哈希引擎实施加密哈希。
在实例23中,实例22的标的物,其中所述加密哈希是安全哈希算法(SHA)。
在实例24中,实例23的标的物,其中所述哈希引擎生成256位哈希。
在实例25中,实例1到24中任一或多者的标的物任选地包含:其中所述存储装置的所述接口是联合电子装置工程理事会(JEDEC)存储器标准接口。
在实例26中,实例25的标的物,其中所述存储装置是随机存取存储器(RAM)装置。
在实例27中,实例1到26中任一或多者的标的物任选地包含:其中所述存储装置的所述接口符合集成装置电子器件(IDE)AT附接(ATA)接口、串行ATA(SATA)接口、小型计算机系统接口(SCSI)接口、通用快闪存储(UFS)接口、嵌入式多媒体卡(eMMC)接口或非易失性存储器主机控制器接口规范(NVMHCI)接口中的至少一者。
在实例28中,实例27的标的物,其中所述存储装置是快闪存储器装置。
在实例29中,实例28的标的物,其中所述存储装置是NOR快闪或NAND快闪中的至少一者。
在实例30中,实例27到29中任一或多者的标的物任选地包含:其中所述存储装置是硬盘驱动器(HDD)。
实例31是一种用于存储装置哈希生成的计算机实施的方法,所述方法包括:解码在所述存储装置的接口处接收到的数据传输,所述数据传输包含命令、一组输入识别及输出识别,所述命令对应于哈希运算;整理所述一组输入识别的成员以生成输入集;对所述输入集调用所述存储装置的哈希引擎以生成哈希乘积;及将所述哈希乘积存储于对应于所述输出识别的所述存储装置的一部分中。
在实例32中,实例31的标的物,其中所述一组输入识别定义所述存储装置的第二部分的地址范围。
在实例33中,实例32的标的物,其中所述一组输入识别的两个成员定义所述地址范围。
在实例34中,实例33的标的物,其中所述两个成员的第一成员定义所述范围的起始,且所述两个成员的第二成员定义所述范围的结束。
在实例35中,实例33到34中任一或多者的标的物任选地包含:其中所述两个成员的第一成员定义所述范围的所述起始,且所述两个成员的第二成员定义包含于所述范围中的若干单元。
在实例36中,实例31到35中任一或多者的标的物任选地包含:其中所述一组输入识别的成员是所述存储装置的第二部分的地址。
在实例37中,实例36的标的物,其中外部实体可经由到所述存储装置的所述接口存取所述存储装置的所述第二部分。
在实例38中,实例37的标的物,其中所述存储装置的所述第二部分是块可寻址的。
在实例39中,实例36到38中任一或多者的标的物任选地包含:其中外部实体不可经由到所述存储装置的所述接口存取所述存储装置的所述第二部分。
在实例40中,实例39的标的物,其中所述存储装置的所述第二部分是字节可寻址的。
在实例41中,实例40的标的物,其中所述存储装置的所述第二部分是寄存器。
在实例42中,实例39到41中任一或多者的标的物任选地包含:其中所述存储装置的所述第二部分是非易失性存储媒体。
在实例43中,实例31到42中任一或多者的标的物任选地包含:其中整理所述一组输入识别的所述成员包含检索对应于包含于所述输入集中的所述地址的数据。
在实例44中,实例31到43中任一或多者的标的物任选地包含:其中所述一组输入识别的成员识别所述数据传输的一部分。
在实例45中,实例44的标的物,其中所述数据传输的所述部分通过字段识别。
在实例46中,实例44到45中任一或多者的标的物任选地包含:其中所述数据传输的所述部分通过偏移识别。
在实例47中,实例46的标的物,其中所述数据传输的所述部分也通过长度识别。
在实例48中,实例31到47中任一或多者的标的物任选地包含:其中所述一组输入识别的成员识别所述存储装置的秘密。
在实例49中,实例48的标的物,其中所述秘密是所述存储装置的当前会话密钥。
在实例50中,实例31到49中任一或多者的标的物任选地包含:其中所述哈希运算是密钥哈希消息认证代码(HMAC)。
在实例51中,实例50的标的物,其中所述一组输入识别的子集识别秘密,其中所述秘密用作用于所述HMAC的密钥。
在实例52中,实例31到51中任一或多者的标的物任选地包含:其中所述哈希引擎实施加密哈希。
在实例53中,实例52的标的物,其中所述加密哈希是安全哈希算法(SHA)。
在实例54中,实例53的标的物,其中所述哈希引擎生成256位哈希。
在实例55中,实例31到54中任一或多者的标的物任选地包含:其中所述存储装置的所述接口是联合电子装置工程理事会(JEDEC)存储器标准接口。
在实例56中,实例55的标的物,其中所述存储装置是随机存取存储器(RAM)装置。
在实例57中,实例31到56中任一或多者的标的物任选地包含:其中所述存储装置的所述接口符合集成装置电子器件(IDE)AT附接(ATA)接口、串行ATA(SATA)接口、小型计算机系统接口(SCSI)接口、通用快闪存储(UFS)接口、嵌入式多媒体卡(eMMC)接口或非易失性存储器主机控制器接口规范(NVMHCI)接口中的至少一者。
在实例58中,实例57的标的物,其中所述存储装置是快闪存储器装置。
在实例59中,实例58的标的物,其中所述存储装置是NOR快闪或NAND快闪中的至少一者。
在实例60中,实例57到59中任一或多者的标的物任选地包含:其中所述存储装置是硬盘驱动器(HDD)。
在实例61中,实例31到60中任一或多者的标的物任选地包含:在所述接口处接收写入命令,所述写入命令包含数据及用于所述数据存储的所述部分的地址,所述地址包含于所述一组输入识别中。
在实例62中,实例31到61中任一或多者的标的物任选地包含:在所述接口处接收读取命令,所述读取命令指定所述输出识别。
在实例63中,实例62的标的物任选地包含:从所述存储部分检索所述哈希乘积以完成所述读取命令。
实例64是包含指令的至少一个非暂时性机器可读媒体,当由处理电路执行所述指令时导致所述处理电路执行实例31到63的任何方法。
实例65是一种包括执行实例31到63的任何方法的构件的系统。
实例66是一种用于存储装置哈希生成的计算机实施的至少一个机器可读媒体,所述至少一个机器可读媒体包括:解码在所述存储装置的接口处接收到的数据传输,所述数据传输包含命令、一组输入识别及输出识别,所述命令对应于哈希运算;整理所述一组输入识别的成员以生成输入集;对所述输入集调用所述存储装置的哈希引擎以生成哈希乘积;及将所述哈希乘积存储于对应于所述输出识别的所述存储装置的一部分中。
在实例67中,实例66的标的物,其中所述一组输入识别定义所述存储装置的第二部分的地址范围。
在实例68中,实例67的标的物,其中所述一组输入识别的两个成员定义所述地址范围。
在实例69中,实例68的标的物,其中所述两个成员的第一成员定义所述范围的起始,且所述两个成员的第二成员定义所述范围的结束。
在实例70中,实例68到69中任一或多者的标的物任选地包含:其中所述两个成员的第一成员定义所述范围的所述起始,且所述两个成员的第二成员定义包含于所述范围中的若干单元。
在实例71中,实例66到70中任一或多者的标的物任选地包含:其中所述一组输入识别的成员是所述存储装置的第二部分的地址。
在实例72中,实例71的标的物,其中外部实体可经由到所述存储装置的所述接口存取所述存储装置的所述第二部分。
在实例73中,实例72的标的物,其中所述存储装置的所述第二部分是块可寻址的。
在实例74中,实例71到73中任一或多者的标的物任选地包含:其中外部实体不可经由到所述存储装置的所述接口存取所述存储装置的所述第二部分。
在实例75中,实例74的标的物,其中所述存储装置的所述第二部分是字节可寻址的。
在实例76中,实例75的标的物,其中所述存储装置的所述第二部分是寄存器。
在实例77中,实例74到76中任一或多者的标的物任选地包含:其中所述存储装置的所述第二部分是非易失性存储媒体。
在实例78中,实例66到77中任一或多者的标的物任选地包含:其中整理所述一组输入识别的所述成员包含检索对应于包含于所述输入集中的所述地址的数据。
在实例79中,实例66到78中任一或多者的标的物任选地包含:其中所述一组输入识别的成员识别所述数据传输的一部分。
在实例80中,实例79的标的物,其中所述数据传输的所述部分通过字段识别。
在实例81中,实例79到80中任一或多者的标的物任选地包含:其中所述数据传输的所述部分通过偏移识别。
在实例82中,实例81的标的物,其中所述数据传输的所述部分也通过长度识别。
在实例83中,实例66到82中任一或多者的标的物任选地包含:其中所述一组输入识别的成员识别所述存储装置的秘密。
在实例84中,实例83的标的物,其中所述秘密是所述存储装置的当前会话密钥。
在实例85中,实例66到84中任一或多者的标的物任选地包含:其中所述哈希运算是密钥哈希消息认证代码(HMAC)。
在实例86中,实例85的标的物,其中所述一组输入识别的子集识别秘密,其中所述秘密用作用于所述HMAC的密钥。
在实例87中,实例66到86中任一或多者的标的物任选地包含:其中所述哈希引擎实施加密哈希。
在实例88中,实例87的标的物,其中所述加密哈希是安全哈希算法(SHA)。
在实例89中,实例88的标的物,其中所述哈希引擎生成256位哈希。
在实例90中,实例66到89中任一或多者的标的物任选地包含:其中所述存储装置的所述接口是联合电子装置工程理事会(JEDEC)存储器标准接口。
在实例91中,实例90的标的物,其中所述存储装置是随机存取存储器(RAM)装置。
在实例92中,实例66到91中任一或多者的标的物任选地包含:其中所述存储装置的所述接口符合集成装置电子器件(IDE)AT附接(ATA)接口、串行ATA(SATA)接口、小型计算机系统接口(SCSI)接口、通用快闪存储(UFS)接口、嵌入式多媒体卡(eMMC)接口或非易失性存储器主机控制器接口规范(NVMHCI)接口中的至少一者。
在实例93中,实例92的标的物,其中所述存储装置是快闪存储器装置。
在实例94中,实例93的标的物,其中所述存储装置是NOR快闪或NAND快闪中的至少一者。
在实例95中,实例92到94中任一或多者的标的物任选地包含:其中所述存储装置是硬盘驱动器(HDD)。
实例96是一种用于存储装置哈希生成的计算机实施的系统,所述系统包括:用于解码在所述存储装置的接口处接收到的数据传输的构件,所述数据传输包含命令、一组输入识别及输出识别,所述命令对应于哈希运算;用于整理所述一组输入识别的成员以生成输入集的构件;用于对所述输入集调用所述存储装置的哈希引擎以生成哈希乘积的构件;及用于将所述哈希乘积存储于对应于所述输出识别的所述存储装置的一部分中的构件。
在实例97中,实例96的标的物,其中所述一组输入识别定义所述存储装置的第二部分的地址范围。
在实例98中,实例97的标的物,其中所述一组输入识别的两个成员定义所述地址范围。
在实例99中,实例98的标的物,其中所述两个成员的第一成员定义所述范围的起始,且所述两个成员的第二成员定义所述范围的结束。
在实例100中,实例98到99中任一或多者的标的物任选地包含:其中所述两个成员的第一成员定义所述范围的所述起始,且所述两个成员的第二成员定义包含于所述范围中的若干单元。
在实例101中,实例96到100中任一或多者的标的物任选地包含:其中所述一组输入识别的成员是所述存储装置的第二部分的地址。
在实例102中,实例101的标的物,其中外部实体可经由到所述存储装置的所述接口存取所述存储装置的所述第二部分。
在实例103中,实例102的标的物,其中所述存储装置的所述第二部分是块可寻址的。
在实例104中,实例101到103中任一或多者的标的物任选地包含:其中外部实体不可经由到所述存储装置的所述接口存取所述存储装置的所述第二部分。
在实例105中,实例104的标的物,其中所述存储装置的所述第二部分是字节可寻址的。
在实例106中,实例105的标的物,其中所述存储装置的所述第二部分是寄存器。
在实例107中,实例104到106中任一或多者的标的物任选地包含:其中所述存储装置的所述第二部分是非易失性存储媒体。
在实例108中,实例96到107中任一或多者的标的物任选地包含:其中整理所述一组输入识别的所述成员包含检索对应于包含于所述输入集中的所述地址的数据。
在实例109中,实例96到108中任一或多者的标的物任选地包含:其中所述一组输入识别的成员识别所述数据传输的一部分。
在实例110中,实例109的标的物,其中所述数据传输的所述部分通过字段识别。
在实例111中,实例109到110中任一或多者的标的物任选地包含:其中所述数据传输的所述部分通过偏移识别。
在实例112中,实例111的标的物,其中所述数据传输的所述部分也通过长度识别。
在实例113中,实例96到112中任一或多者的标的物任选地包含:其中所述一组输入识别的成员识别所述存储装置的秘密。
在实例114中,实例113的标的物,其中所述秘密是所述存储装置的当前会话密钥。
在实例115中,实例96到114中任一或多者的标的物任选地包含:其中所述哈希运算是密钥哈希消息认证代码(HMAC)。
在实例116中,实例115的标的物,其中所述一组输入识别的子集识别秘密,其中所述秘密用作用于所述HMAC的密钥。
在实例117中,实例96到116中任一或多者的标的物任选地包含:其中所述哈希引擎实施加密哈希。
在实例118中,实例117的标的物,其中所述加密哈希是安全哈希算法(SHA)。
在实例119中,实例118的标的物,其中所述哈希引擎生成256位哈希。
在实例120中,实例96到119中任一或多者的标的物任选地包含:其中所述存储装置的所述接口是联合电子装置工程理事会(JEDEC)存储器标准接口。
在实例121中,实例120的标的物,其中所述存储装置是随机存取存储器(RAM)装置。
在实例122中,实例96到121中任一或多者的标的物任选地包含:其中所述存储装置的所述接口符合集成装置电子器件(IDE)AT附接(ATA)接口、串行ATA(SATA)接口、小型计算机系统接口(SCSI)接口、通用快闪存储(UFS)接口、嵌入式多媒体卡(eMMC)接口或非易失性存储器主机控制器接口规范(NVMHCI)接口中的至少一者。
在实例123中,实例122的标的物,其中所述存储装置是快闪存储器装置。
在实例124中,实例123的标的物,其中所述存储装置是NOR快闪或NAND快闪中的至少一者。
在实例125中,实例122到124中任一或多者的标的物任选地包含:其中所述存储装置是硬盘驱动器(HDD)。
上文详细描述包含对形成详细描述的一部分的附图的参考。图式通过说明展示可实践的特定实施例。这些实施例在本文也称为“实例”。此类实例可包含除了展示或描述的元件的元件。然而,本发明者还预期其中仅提供展示或描述的那些元件的实例。此外,本发明者还预期使用关于特定实例(或其一或多个方面)或关于本文展示或描述的其它实例(或其一或多个方面)展示或描述的那些元件的任何组合或排列的实例(或其一或多个方面)。
在此文献中参考的所有公开案、专利及专利文献以其全文引用方式并入本文中,就好像通过引用个别地并入。在此文献与通过引用所并入的所述文献之间使用不一致的情况下,并入的参考案中的使用应被认为是此文献的使用的补充;对于不可调和的不一致性,以此文献中的使用为准。
在此文献中,使用术语“一(a/an)”,如专利文献中常见,以包含一个或一个以上,独立于任何其它例子或“至少一者”或“一或多者”的使用。在此文献中,术语“或”用于指代非排他性或使得“A或B”包含“A而非B”、“B而非A”及“A及B”,除非另外指示。在所附权利要求书中,术语“包含”及“其中(in which)”用作相应术语“包括”及“其中(wherein)”的简洁英语等效物。而且,在所附权利要求书中,术语“包含”及“包括”是开放式的,即,包含除了权利要求书中在此术语之后所列的元件之外的元件的系统、装置、物品或过程仍被认为落于所述权利要求的范围内。此外,在所附权利要求书中,术语“第一”、“第二”及“第三”等仅用作标记,且不希望对其对象施加数字要求。
上文描述希望是说明性且非限制性的。举例来说,上述实例(或其一或多个方面)可与彼此组合使用。其它实施例可例如由所属领域的一般技术人员在审阅上文描述之后使用。说明书摘要允许读者快速地确定技术揭示内容的性质,且在理解不会将其用于解释或限制权利要求的范围或含义的情况下提交。而且,在上文详细描述中,可将各种特征组合在一起以简化本发明。这不应该被解释为未主张的揭示特征意在对任何权利要求是必不可少。确切来说,发明标的物可在于少于特定揭示实施例的所有特征。因此,所附权利要求特此并入到详细描述中,其中每个权利要求独立地作为单独的实施例。实施例的范围应参考所附权利要求以及此类权利要求所赋予的等同物的全部范围来确定。

Claims (29)

1.一种安全存储装置,其包括:
存储部分,其经配置以保持数据;
哈希引擎,其经配置以产生密钥哈希消息认证代码HMAC;
接口,其经配置以接收带有输入识别及输出识别的命令;及
处理电路,其经配置以:
在所述输入识别处检索数据;
指示所述哈希引擎使用所述数据生成哈希乘积;及
将所述哈希乘积写入所述输出识别处的所述存储部分。
2.根据权利要求1所述的存储装置,其中,为了从所述输入识别处的所述存储部分检索数据,所述处理电路经配置以从所述地址处的所述存储部分检索所述数据。
3.根据权利要求1所述的存储装置,其中所述输入识别识别所述数据传输的一部分。
4.根据权利要求3所述的存储装置,其中所述数据传输的所述部分通过所述命令中的字段识别。
5.根据权利要求3所述的存储装置,其中所述数据传输的所述部分通过所述命令中的偏移识别。
6.根据权利要求5所述的存储装置,其中所述数据传输的所述部分也通过长度识别。
7.根据权利要求1所述的存储装置,其中所述输入识别指定所述存储装置的秘密。
8.根据权利要求7所述的存储装置,其中所述秘密是所述存储装置的当前会话密钥。
9.根据权利要求1所述的存储装置,其中所述输入识别的一部分识别秘密,其中所述秘密用作用于所述HMAC的密钥。
10.根据权利要求1所述的存储装置,其中所述哈希引擎实施加密哈希。
11.根据权利要求10所述的存储装置,其中所述加密哈希是安全哈希算法SHA。
12.根据权利要求11所述的存储装置,其中所述哈希引擎生成256位哈希。
13.根据权利要求1所述的存储装置,其中所述一组输入识别的成员是所述存储部分的地址。
14.根据权利要求13所述的存储装置,其中外部实体可经由所述接口存取所述存储部分。
15.根据权利要求14所述的存储装置,其中所述存储部分是块可寻址的。
16.根据权利要求13所述的存储装置,其中外部实体不可经由所述接口存取所述存储部分。
17.根据权利要求16所述的存储装置,其中所述存储部分是字节可寻址的。
18.根据权利要求17所述的存储装置,其中所述存储部分是寄存器。
19.根据权利要求18所述的存储装置,其中所述存储装置的所述接口符合联合电子装置工程理事会JEDEC存储器标准接口。
20.根据权利要求19所述的存储装置,其中所述存储装置是随机存取存储器RAM装置。
21.根据权利要求16所述的存储装置,其中所述存储部分是非易失性存储媒体。
22.根据权利要求1所述的存储装置,其中所述存储装置的所述接口符合集成装置电子器件IDE AT附接ATA接口、串行ATA SATA接口、小型计算机系统接口SCSI接口、通用快闪存储UFS接口、嵌入式多媒体卡eMMC接口或非易失性存储器主机控制器接口规范NVMHCI接口中的至少一者。
23.根据权利要求22所述的存储装置,其中所述存储装置是快闪存储器装置。
24.根据权利要求23所述的存储装置,其中所述快闪存储器装置是NOR快闪或NAND快闪中的至少一者。
25.根据权利要求22所述的存储装置,其中所述存储装置是硬盘驱动器HDD。
26.根据权利要求1所述的存储装置,其中所述一组输入识别是所述存储部分的地址范围。
27.根据权利要求26所述的存储装置,其中所述输入识别的两个成员定义所述地址范围。
28.根据权利要求27所述的存储装置,其中所述两个成员的第一成员定义所述范围的起始,且所述两个成员的第二成员定义所述范围的结束。
29.根据权利要求27所述的存储装置,其中所述两个成员的第一成员定义所述范围的所述起始,且所述两个成员的第二成员定义包含于所述范围中的若干单元。
CN202110360439.5A 2017-03-24 2018-03-23 存储装置哈希生成 Active CN112925484B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110360439.5A CN112925484B (zh) 2017-03-24 2018-03-23 存储装置哈希生成

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201762476549P 2017-03-24 2017-03-24
US62/476,549 2017-03-24
US15/693,144 US10637648B2 (en) 2017-03-24 2017-08-31 Storage device hash production
US15/693,144 2017-08-31
CN202110360439.5A CN112925484B (zh) 2017-03-24 2018-03-23 存储装置哈希生成
CN201880028611.3A CN110574002B (zh) 2017-03-24 2018-03-23 存储装置哈希生成
PCT/US2018/024045 WO2018175898A1 (en) 2017-03-24 2018-03-23 Storage device hash production

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201880028611.3A Division CN110574002B (zh) 2017-03-24 2018-03-23 存储装置哈希生成

Publications (2)

Publication Number Publication Date
CN112925484A true CN112925484A (zh) 2021-06-08
CN112925484B CN112925484B (zh) 2024-05-17

Family

ID=63583028

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201880028611.3A Active CN110574002B (zh) 2017-03-24 2018-03-23 存储装置哈希生成
CN202110360439.5A Active CN112925484B (zh) 2017-03-24 2018-03-23 存储装置哈希生成

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201880028611.3A Active CN110574002B (zh) 2017-03-24 2018-03-23 存储装置哈希生成

Country Status (3)

Country Link
US (1) US10637648B2 (zh)
CN (2) CN110574002B (zh)
WO (1) WO2018175898A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021517409A (ja) * 2018-03-23 2021-07-15 マイクロン テクノロジー,インク. ストレージデバイスの認証修正

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030223423A1 (en) * 2002-06-04 2003-12-04 James Yu Classifying traffic at a network node using multiple on-chip memory arrays
CN1722046A (zh) * 2004-06-30 2006-01-18 富士通株式会社 安全处理器和用于安全处理器的程序
US20080320302A1 (en) * 2007-06-19 2008-12-25 Sun Microsystems, Inc. Method, apparatus, and manufacture for decryption of network traffic in a secure session
US20090028326A1 (en) * 2002-03-28 2009-01-29 Broadcom Corporation Methods and apparatus performing hash operations in a cryptography accelerator
US20110055471A1 (en) * 2009-08-28 2011-03-03 Jonathan Thatcher Apparatus, system, and method for improved data deduplication
US20130159733A1 (en) * 2011-12-16 2013-06-20 Jae-Bum Lee Memory device which protects secure data, method of operating the memory device, and method of generating authentication information
CN103229165A (zh) * 2010-08-12 2013-07-31 安全第一公司 用于数据的安全远程存储的系统和方法
US20140195782A1 (en) * 2012-03-30 2014-07-10 Kirk S. Yap Method and apparatus to process sha-2 secure hashing algorithm
US20150081994A1 (en) * 2013-09-13 2015-03-19 VMware,Inc Incremental backups using retired snapshots
CN105683898A (zh) * 2014-01-17 2016-06-15 网络装置公司 对储存系统中数据高效存储与检索的组相关哈希表组织
US20160380772A1 (en) * 2015-06-26 2016-12-29 Intel Corporation Keyed-hash message authentication code processors, methods, systems, and instructions
US20160378687A1 (en) * 2015-06-25 2016-12-29 David M. Durham Technologies for memory confidentiality, integrity, and replay protection

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101681237B (zh) 2007-06-08 2011-09-21 富士通株式会社 加密装置及加密方法
US20090144563A1 (en) * 2007-11-30 2009-06-04 Jorge Campello De Souza Method of detecting data tampering on a storage system
US9680637B2 (en) 2009-05-01 2017-06-13 Harris Corporation Secure hashing device using multiple different SHA variants and related methods
US8913746B2 (en) * 2010-12-22 2014-12-16 Schneider Electric It Corporation Wireless communication system and method
JP5962918B2 (ja) * 2012-03-09 2016-08-03 パナソニックIpマネジメント株式会社 記憶装置、ホスト装置、記憶システム
US9214184B2 (en) 2012-04-10 2015-12-15 Western Digital Technologies, Inc. Digital rights management system, devices, and methods for binding content to an intelligent storage device
CN104636672B (zh) * 2015-03-04 2017-11-07 浙江工商大学 一种基于哈希树及匿名技术的安全数据汇报系统

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090028326A1 (en) * 2002-03-28 2009-01-29 Broadcom Corporation Methods and apparatus performing hash operations in a cryptography accelerator
US20030223423A1 (en) * 2002-06-04 2003-12-04 James Yu Classifying traffic at a network node using multiple on-chip memory arrays
CN1722046A (zh) * 2004-06-30 2006-01-18 富士通株式会社 安全处理器和用于安全处理器的程序
US20080320302A1 (en) * 2007-06-19 2008-12-25 Sun Microsystems, Inc. Method, apparatus, and manufacture for decryption of network traffic in a secure session
US20110055471A1 (en) * 2009-08-28 2011-03-03 Jonathan Thatcher Apparatus, system, and method for improved data deduplication
CN103229165A (zh) * 2010-08-12 2013-07-31 安全第一公司 用于数据的安全远程存储的系统和方法
US20130159733A1 (en) * 2011-12-16 2013-06-20 Jae-Bum Lee Memory device which protects secure data, method of operating the memory device, and method of generating authentication information
US20140195782A1 (en) * 2012-03-30 2014-07-10 Kirk S. Yap Method and apparatus to process sha-2 secure hashing algorithm
US20150081994A1 (en) * 2013-09-13 2015-03-19 VMware,Inc Incremental backups using retired snapshots
CN105683898A (zh) * 2014-01-17 2016-06-15 网络装置公司 对储存系统中数据高效存储与检索的组相关哈希表组织
US20160378687A1 (en) * 2015-06-25 2016-12-29 David M. Durham Technologies for memory confidentiality, integrity, and replay protection
US20160380772A1 (en) * 2015-06-26 2016-12-29 Intel Corporation Keyed-hash message authentication code processors, methods, systems, and instructions

Also Published As

Publication number Publication date
CN110574002A (zh) 2019-12-13
CN110574002B (zh) 2021-04-23
WO2018175898A1 (en) 2018-09-27
US10637648B2 (en) 2020-04-28
US20180278412A1 (en) 2018-09-27
CN112925484B (zh) 2024-05-17

Similar Documents

Publication Publication Date Title
EP3864796B1 (en) Distributed application architectures using blockchain and distributed file systems
TWI486810B (zh) 在狀態機晶格中之計數器操作
US9064134B1 (en) Method and apparatus for mitigating software vulnerabilities
US8880871B2 (en) Hash table organization
CN105210037B (zh) 存储器访问的加快
US20180284993A1 (en) Performing data operations in a storage area network
US20150078550A1 (en) Security processing unit with configurable access control
TW201914354A (zh) 智能設備的綁定方法、裝置和系統、通訊系統
US11216389B2 (en) Device with multiple roots of trust
CN106503069A (zh) 文件共享方法及装置
CN109145053B (zh) 数据处理方法和装置、客户端、服务器
CN108304727A (zh) 数据处理的方法与装置
CN108776665B (zh) 一种数据处理方法及装置
CN112074837B (zh) 存储装置认证的修改
CN110574002B (zh) 存储装置哈希生成
US11570199B2 (en) Threat prevention by selective feature deprivation
CN108985109B (zh) 一种数据存储方法及装置
CN117435661A (zh) 数据库连接配置方法、装置、计算机设备和存储介质
US20220014381A1 (en) Message authentication code (mac) generation for live migration of encrypted virtual machiness
US11899953B1 (en) Method of efficiently identifying rollback requests
CN114328414B (zh) 一种文件存储方法、装置、设备及介质
US9600508B1 (en) Data layer service availability
CN117951736A (zh) 数据处理方法、装置、计算机设备、存储介质和程序产品
US20070136490A1 (en) Wireless hub and data store
TW202219757A (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