CN114417436A - 安全子系统 - Google Patents

安全子系统 Download PDF

Info

Publication number
CN114417436A
CN114417436A CN202210088916.1A CN202210088916A CN114417436A CN 114417436 A CN114417436 A CN 114417436A CN 202210088916 A CN202210088916 A CN 202210088916A CN 114417436 A CN114417436 A CN 114417436A
Authority
CN
China
Prior art keywords
security
secure
data objects
secret data
operations
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
CN202210088916.1A
Other languages
English (en)
Inventor
K·T·科克尔
D·A·珀姆
S·P·范阿肯
M·B·丹尼尔森
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 CN114417436A publication Critical patent/CN114417436A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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/72Protecting 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 in cryptographic circuits
    • 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/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • 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
    • 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/602Providing cryptographic facilities or services
    • 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/76Protecting 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 in application-specific integrated circuits [ASIC] or field-programmable devices, e.g. field-programmable gate arrays [FPGA] or programmable logic devices [PLD]
    • 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
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Storage Device Security (AREA)

Abstract

本申请涉及安全子系统。在一个实施例中描述用于使用专用安全处理器来执行安全操作的设备及方法。所述设备包含:安全性固件,其界定安全操作;处理器,其经配置以执行所述安全性固件且执行限于所述安全操作的一组操作;及多个安全硬件寄存器,其可由所述处理器存取且经配置以接收指令以执行所述安全操作。在另一实施例中描述一种用于使用多个安全性辅助硬件电路来执行安全操作的设备。所述设备包括:一或多个安全硬件寄存器,其经配置以接收命令以执行安全操作;及一或多个安全性辅助硬件电路,其经配置以使用一或多个秘密数据对象来执行离散安全操作。

Description

安全子系统
分案申请的相关信息
本案是分案申请。该分案的母案是申请日为2016年09月28日、申请号为PCT/US2016/054106的PCT国际申请进入中国后发明名称为“安全子系统”的第201680057650.7号发明专利申请案。
技术领域
本申请涉及安全子系统。
背景技术
数据安全性是制造存储系统(例如固态驱动器(SSD)、硬盘驱动器(HDD)、磁带驱动器、光学驱动器等)中的优先考虑事项。防止对秘密数据对象(例如加密密钥)的存取使个体、企业及政府对存储系统适应日益增加的电子存储信息量而不牺牲安全性的能力有信心。传统存储系统在单个芯片上系统(SOC)设计上集成控制器,所述设计包含用于执行安全操作的处理器、用于存取秘密数据对象且对其执行操作的固件及存储于内部SOC存储器内的安全信息(例如加密密钥)。在此类配置中,SOC的边界(例如,存取SOC的组件的各种连接及构件)是秘密数据对象(例如加密密钥或用来导出加密密钥的密钥)可在其中保证安全的最小边界。即,秘密数据对象仅和SOC一样安全,且可存取SOC的组件(例如,处理器)的任何装置也可存取秘密数据对象。
发明内容
本申请案涉及用于使用专用安全处理器执行安全操作的设备及方法。
一方面,一种设备包含:存储器装置,其经配置以存储一或多个秘密数据对象;处理器,其经配置以执行安全性固件且执行限于用于操纵所述一或多个秘密数据对象的多个操作的一组操作;及多个安全硬件寄存器,其可由所述处理器存取且经配置以接收执行所述安全操作的指令。
另一方面,一种设备包含:内部存储器装置,其用于存储一或多个秘密数据对象;一或多个安全硬件寄存器,其经配置以接收使用所述一或多个秘密数据对象来执行操作的命令;及一或多个安全性辅助硬件电路,其经配置以使用所述一或多个秘密数据对象来执行离散操作。
另一方面,一种方法包含:在安全硬件寄存器接收使用一或多个秘密数据对象来执行安全操作的请求;使用专用安全处理器执行所述安全操作;及响应于执行所述安全操作将值传输到不安全硬件寄存器,其中所述安全硬件寄存器、所述一或多个秘密数据对象及所述专用安全处理器经定位于安全边界内。
另一方面,一种设备包含:存储器存取电路,其经配置以接收指令以执行存储器操作,其中所述存储器操作中的至少一者操纵秘密数据对象;及安全子系统电路,其经配置以从所述存储器存取电路接收指令以通过操纵所述秘密数据对象执行所述至少一个存储器操作。
另一方面,一种方法包含:在安全硬件寄存器处接收执行涉及一或多个秘密数据对象的安全操作的请求;识别经配置以执行所述安全操作的多个安全性辅助硬件电路中的一或多者;及使用所述一或多个经识别安全性辅助硬件电路来执行所述安全操作。
附图说明
图1是根据本发明的实施例的包含数据存储系统的设备的功能框图。
图2是根据本发明的实施例的包含具有安全子系统的数据存储系统的设备的功能框图。
图3是描绘根据图2的实施例的用于执行安全操作的操作步骤的流程图。
图4是根据本发明的实施例的包含具有安全子系统的数据存储系统的设备的功能框图。
图5是描绘根据图4的实施例的用于执行安全操作的操作步骤的流程图。
图6是描绘根据本发明的实施例的用于执行安全操作的操作步骤的流程图。
具体实施方式
本发明认识到,传统数据存储系统具有某些安全性相关的缺点。例如,传统系统使用一或多个共享微处理器,其受制于来自安全性固件及不安全存储系统固件两者的命令。因为处理秘密信息且执行安全操作的系统资源可通过在系统微处理器上运行的任何固件存取,所以秘密信息仅和安全性固件一样容易经受存储系统固件操纵。因此,当确保系统的安全性时,包含任何非安全性相关组件的整个SOC必须满足任何安全性要求,这是因为对不安全组件的未授权存取可导致损及秘密信息且导致安全漏洞。本文揭示的实施例涉及安全性子系统,其隔离执行安全操作且处理安全信息的组件与通用组件同时限制安全与不安全组件之间的通信以便防止对秘密数据对象的未授权存取。
现在参考附图,图1是设备(一般指定为100)(例如,集成电路、存储器装置、存储器系统、电子装置或系统、智能电话、平板计算机、计算机、服务器等)的功能框图。根据本发明的实施例,设备100包含数据存储系统102。数据存储系统102是能够执行安全数据操作(例如数据加密及解密)的存储器系统。数据存储系统102还可在一或多个存储器或存储媒体中存储且检索数据(包含加密数据)。数据存储系统102一般包含控制器104、动态存储器106、外部非易失性存储器108(控制器外部)、存储媒体110且可连接到主机装置116。
控制器104可为能够执行安全操作且将秘密数据对象(例如加密密钥)存储于安全子系统内的组件的任何组合。控制器104可基于组件及待执行操作的目的限制系统组件与安全组件之间的通信。为影响此受限通信,控制器104包含存储控制器电路114、安全子系统112及存储器/媒体接口118。在各种实施例中,安全子系统112、存储控制器电路114及/或存储器/媒体接口118可为单个集成电路的部分,其中通过电路连接界定其间的边界。在其它实施例中,安全子系统112可为可经连接到存储控制器电路114及/或存储器/媒体接口118的离散电路或芯片。安全子系统112可包含经配置以执行安全操作且存储秘密数据的数个组件。安全子系统112可包含用于执行涉及秘密数据对象的一般安全性操作的数个系统组件。
安全子系统112可包含(例如)专用安全处理器、安全硬件寄存器、安全性辅助硬件、安全性固件、用于执行加密且解密操作的组件及内部存储装置(例如随机存取存储器(RAM)及/或非易失性存储器)。存储控制器电路114可包含用于执行不涉及秘密数据对象的一般控制器操作的数个系统组件。存储控制器电路114可包含(例如)一或多个处理元件、系统硬件寄存器、系统固件、系统辅助硬件、主机、存储器及媒体接口及/或读取及写入数据路径控制电路。存储器/媒体接口118可包含一或多个接口来实现安全子系统112与一或多个外部存储装置(例如,动态存储器106、外部非易失性存储器108及/或存储媒体110)之间的通信。控制器104的详细实施例在下文中相对于图2及4进一步详细论述。
动态存储器106可为(例如)动态随机存取存储器(DRAM)。动态存储器106可经由存储器/媒体接口118通过控制器104存取。控制器104的组件中的一或多者(例如安全子系统112及/或存储控制器电路114)能够经由存储器/媒体接口118存取动态存储器106。控制器104可将数据存储于动态存储器106上及/或检索其上的数据。在各种实施例中,动态存储器106可具有存储于其上的加密数据,例如用于通过包含控制器104内的一或多个子系统(例如,安全子系统112及/或存储器存取电路114)的控制器104使用的程序指令或其它信息。外部非易失性存储器108可为(例如)快闪存储器装置(例如NOR快闪)。外部非易失性存储器108可通过控制器104(包含控制器104的一或多个子系统(例如安全子系统112及/或存储控制器电路114))存取。控制器104可将数据存储于外部非易失性存储器108上及/或检索其上的数据。在各种实施例中,外部非易失性存储器108可具有存储于其上的加密数据,例如用于通过控制器104(包含通过控制器104内的一或多个子系统(例如,安全子系统112及/或存储控制器电路114))使用的程序指令或其它信息。
存储媒体110可包含数个存储器单元阵列(例如,非易失性存储器单元)。所述阵列可为(例如)具有NAND架构的快闪阵列。然而,实施例不限于特定类型的存储器阵列或阵列架构。存储器单元可(例如)分组成包含数个物理页的数个块。数个块可包含于存储器单元的平面中且阵列可包含数个平面。作为一个实例,存储器装置可经配置以每页存储8KB(千字节)的用户数据、每块存储128页的用户数据、每平面存储2048个块及每装置存储16个平面。
在操作中,例如,数据可作为页数据写入存储媒体110及/或从存储媒体110读取。数据可以映射到页单元上的称为区段(例如,主机区段)的数据段发送到主机(例如,主机装置116)/从所述主机发送。安全子系统112可执行促进存储媒体110与主机装置116之间的数据传送所必要的任何加密或解密,同时确保所有秘密数据对象(例如,加密/解密密钥)保留于安全子系统112内。
主机装置116可为任何主机系统,例如个人膝上型计算机、桌上型计算机、平板计算机、智能电话、个人数字助理,或能够使用及/或产生秘密信息的任何其它可编程电子装置。在各种实施例中,主机装置116可经由数据存储系统102将待被写入的数据提供到存储媒体110或请求来自存储媒体110的数据。控制器104可使用一或多个子系统(例如安全子系统112及/或存储控制器电路114)来接收请求且执行请求功能,使得秘密数据对象保留于安全子系统112内且不可由安全子系统112外部的任何系统或组件来存取。
图2是根据本发明的实施例的包含数据存储系统202的设备(一般指定为200)的功能框图。数据存储系统202一般包含:控制器204,其具有安全子系统212、存储控制器电路214,及存储器/媒体接口254;动态存储器206;外部非易失性存储器208;及存储媒体210。可将主机装置216耦合到数据存储系统202。在各种实施例中,设备200可经实施为上文相对于图1描述的设备100。具体来说,动态存储器206、外部非易失性存储器208、存储媒体210及主机装置216可分别如上文分别相对于图1中的动态存储器106、外部非易失性存储器108、存储媒体110及主机装置116描述那样经实施。
控制器204可包含用于执行与数据存储及检索相关的操作(包含导致及/或操纵秘密数据的安全操作)的数个组件。控制器204的组件可包含用于执行安全操作(例如数据加密及解密)且操纵秘密数据对象(例如加密密钥)的安全子系统212。在一个实施例中,安全子系统212是在控制器204内侧实例化的自给式集成电路或芯片。在另一实施例中,安全子系统212可为SOC的集成电路子系统。安全子系统212可由安全边界围封,所述边界可为物理边界及/或可由安全子系统212与数据存储系统202的其它组件之间的连接的数目及类型界定。控制器204可进一步包含用于执行不需要对秘密数据对象存取的控制器功能的存储控制器电路214。例如,存储控制器电路214可提供数据存储系统202与主机装置216之间的通信的接口。例如,存储控制器电路214可接收传入读取及写入请求,且请求由安全子系统212来执行安全操作。
存储器/媒体接口254一般可包含一或多个接口以实现与一或多个外部存储装置(例如,动态存储器206、外部非易失性存储器208及/或存储媒体210)的通信。存储器/媒体接口254可包含存储器接口252及媒体接口250。存储器接口252提供安全子系统212的传送控制234与动态存储器206及/或外部非易失性存储器208之间的接口。如上文描述,只要解密秘密数据对象的密钥保持被存储于安全子系统212内或针对安全子系统212外部的存储自我加密,一些秘密数据对象就可在安全子系统212外部被加密且存储。存储器接口252可为传送控制234与动态存储器206及/或外部非易失性存储器208之间的通信接口,且因此,尽管定位于安全子系统外部,但可由安全子系统212控制。存储器接口252还可(例如)由存储控制器电路214的一或多个组件控制。媒体接口250可代表主机装置216,经由经发布到主机接口244的命令(例如,读/写命令)来存取存储媒体210。媒体接口250可分配存储、存取、读取数据、写入数据、擦除数据及/或执行关于存储媒体210的其它管理操作。
在图2的实施例中,安全子系统212包含安全硬件寄存器218、安全处理器220、安全性固件222、安全性辅助硬件224、内部非易失性存储器226、内部RAM 228、加密电路230、解密电路232,及传送控制电路234。安全硬件寄存器218可包含多个硬件寄存器。在各种实施例中,安全硬件寄存器218可为寄存器文件中的通用寄存器。安全硬件寄存器218的子集可由在安全子系统212外部的一或多个组件(例如存储控制器电路214的一或多个组件(下文中描述))存取。外部组件可将例如用于执行安全子系统212内的安全操作的命令及/或数据的信息写入安全硬件寄存器218的子集。虽然通过外部组件对安全硬件寄存器218的存取可限于安全硬件寄存器218的子集,但安全子系统212内部的组件(例如,安全处理器220)可存取所有安全硬件寄存器218。在各种实施例中,安全硬件寄存器218可经配置以通知执行安全性固件222的安全处理器220已接收到对由安全处理器220执行的安全操作的请求。
在图2的实施例中,安全子系统212包含安全处理器220,其可为用于执行涉及、产生及/或操纵秘密数据对象(例如加密密钥)的安全操作的专用处理器或微控制器。在各种实施例中,安全处理器220可为能够执行安全操作的通用处理器或专用处理器。安全处理器220可存取安全硬件寄存器218以便接收命令及/或数据以执行安全子系统212内的安全操作。安全处理器220可存取且执行安全性固件222。在各种实施例中,安全性固件222可控制安全处理器220可执行的操作。例如,安全性固件222可界定安全处理器220可执行的安全操作的全集。安全处理器可经配置以执行限于由安全性固件222界定的安全操作集的操作。安全性固件222还可界定安全处理器220可与其通信的组件(在安全子系统212内及在安全子系统212外部两者)。
安全性辅助硬件电路224可提供通过安全子系统212执行的各种离散操作的硬件执行。所属领域的技术人员将了解,设备200的各种实施例可包含任何数目的安全性辅助硬件电路224或不包含安全性辅助硬件电路224。安全性辅助硬件电路224可包含用于执行特定功能(包含但不限于数据加密及解密、签名计算及校验及/或随机数生成)的各种电路。此类操作可为执行以满足安全子系统212的操作需求的过程中的步骤。因而,安全性辅助硬件电路224可包含各种硬件子模块,其每一者可由通过安全处理器220执行的安全性固件222控制。通过安全性辅助硬件电路224执行的操作可为安全操作的组件操作,例如客户端认证、加密密钥生成、密钥识别、密钥选择及检索。在各种实施例中,安全性辅助硬件电路224完全通过安全处理器220上执行的安全性固件222控制,使得提供到安全性辅助硬件电路224或通过安全性辅助硬件电路224提供的任何数据无法从安全子系统212的外部存取。
在图2的实施例中,内部非易失性存储器226及内部RAM 228可提供通过安全子系统212中的各种组件使用的内部存储器。内部非易失性存储器226及内部RAM228两者都可通过执行安全性固件222的安全处理器220存取。内部非易失性存储器226可含有秘密数据对象或可能需要跨断电及通电循环持久的其它信息。内部RAM228可缓冲由安全子系统212的组件使用的数据。例如,内部RAM 228可从外部存储器(例如,动态存储器206及/或外部非易失性存储器208)接收经加密的秘密数据对象或缓冲经加密的秘密数据对象以用于存储于外部存储器(例如,动态存储器206及/或外部非易失性存储器208)中。如果首先通过保留于安全子系统212内的秘密加密密钥加密秘密数据对象,那么秘密数据对象可存储于安全子系统212外部。在各种实施例中,内部RAM 228可经由传送控制电路234与动态存储器206及/或外部非易失性存储器208通信。传送控制电路234可经由存储器接口252提供安全子系统212与外部系统(例如存储控制器电路214、动态存储器206及/或外部非易失性存储器208)之间的数据传送的接口。所属领域的技术人员将了解,各种实施例可不包含内部非易失性存储器226及内部RAM 228。在此类实施例中,安全子系统212可针对安全子系统212外部(例如,在动态存储器206及/或外部非易失性存储器208中)的存储加密秘密信息。
加密电路230及解密电路232可位于安全子系统212内侧且分别对通过存储控制器电路214提供(例如,在写入操作期间)或通过存储控制器电路214请求(例如,在读取操作期间)的数据执行加密及解密功能。在各种实施例中,加密电路230从存储控制器电路214接收加密的数据。执行安全性固件222的安全处理器220使加密电路230具有加密密钥(例如,存储于内部非易失性存储器226中的加密密钥)。加密电路230可使用所提供的加密密钥来加密接收的数据且将加密信息提供到存储器/媒体接口254中的媒体接口250以存储于存储媒体210中。通过执行安全子系统212内的加密功能,所有秘密数据对象(例如,加密密钥)都保留于安全子系统212内且无法被界定安全子系统212的安全边界外部的组件存取。解密电路232以类似方式操作。具体来说,解密电路232接收检索存储于存储媒体210中的加密数据的请求。解密电路经由媒体接口250从存储媒体210检索加密数据。执行安全性固件222的安全处理器220将解密密钥提供到解密电路232。解密电路232使用所提供的解密密钥来解密请求的数据且将解密数据提供到存储控制器电路214。通过执行安全子系统212内的解密功能,任何秘密数据对象(例如,解密密钥)保留于安全子系统212内且无法被界定安全子系统212的安全边界外部的组件存取。
在图2的实施例中,存储控制器电路214包含一或多个系统处理器236、系统硬件寄存器238、存储系统固件240、系统辅助硬件242、主机接口244、写入数据路径控制电路246及读取数据路径控制电路248。系统处理器可为用于执行不涉及秘密数据对象的操作且与安全子系统212通信的一或多个通用处理器或一或多个专用处理器或微控制器。系统处理器236可跨安全子系统212的安全边界将命令及/或信息(例如,命令参数)提供到安全硬件寄存器218。如上文论述,系统处理器236可对安全硬件寄存器218的子集进行存取(例如,读写所述子集的能力)。通过由系统处理器236限制对安全子系统212内的秘密数据对象的存取,所述秘密数据对象的安全性可增加。系统处理器236可执行存储系统固件240。存储系统固件240可界定系统处理器236可执行的操作。另外,存储系统固件240可界定哪些命令可通过系统处理器236提交到安全硬件寄存器218以通过安全处理器220执行。因而,可控制且限制存储控制器电路214与安全子系统212之间的通信的类型及内容以便增加存储于安全子系统212中的秘密数据对象的安全性。
系统硬件寄存器238可包含多个硬件寄存器。在各种实施例中,系统硬件寄存器238可为寄存器文件中的通用寄存器。可通过安全子系统212的安全边界内侧的一或多个组件(例如安全处理器220)存取系统硬件寄存器238的所有子集或子集。安全子系统212的组件可将信息(例如成功完成安全操作的确认)写入系统硬件寄存器238的子集。虽然通过安全子系统212的组件对系统硬件寄存器238的存取可限于系统硬件寄存器238的子集,但安全子系统212外部的组件(例如,系统处理器236)可存取所有系统硬件寄存器238。
主机接口244可呈标准化接口或专用接口的形式。例如,主机接口106可为串行先进技术附接(SATA)、外围组件互连高速(PCIe)或通用串行总线(USB),包括其它连接器及接口在内。一般来说,接口106提供通信机构以用于在数据存储系统202与主机装置216之间传递控制信号、地址信息、数据及其它信号。在各种实施例中,主机接口244可从主机装置216接收待加密且写入存储媒体210的写入命令及数据。主机接口244可接收读取命令以解密且返回存储于存储媒体210中的数据。
写入数据路径控制电路246引导且控制从主机接口244到安全子系统212中的加密电路230的写入数据流。写入数据路径控制电路可由执行存储系统固件240的系统处理器236控制。例如,主机接口244可从主机装置216接收写入请求及待被写入存储媒体210的数据。系统处理器236可将加密命令写入安全硬件寄存器218以执行写入操作。安全硬件寄存器218可通知执行安全性固件222的安全处理器220已接收到加密命令。安全处理器220可将加密密钥提供到加密电路230。系统处理器236可指示写入数据路径控制电路246将待加密且待存储的数据跨安全子系统212的安全边界提供到加密电路230。加密电路230接着可使用由安全处理器220提供的加密密钥来加密接收的数据。因此,所有秘密数据对象(例如,加密密钥)保留于安全子系统212内,且无法由安全子系统212外部的组件存取。接着,加密数据可被提供到存储器/媒体接口254中的媒体接口250且被存储于存储媒体210上。
读取数据路径控制电路248引导且控制从安全子系统212中的解密电路232到主机接口244的读取数据流。读取数据路径控制电路248可由执行存储系统固件240的系统处理器236控制。例如,主机接口244可从主机装置216接收对存储于存储媒体210中呈加密格式的数据的读取请求。系统处理器可将对识别数据的读取请求写入安全子系统212中的安全硬件寄存器218。安全硬件寄存器218可通知执行安全性固件222的安全处理器220已接收到读取请求。安全处理器220可将与请求数据相关联的加密密钥提供到解密电路232。解密电路232可经由媒体接口250从存储媒体210检索请求的加密数据。接着,解密电路232可使用由安全处理器220提供的解密密钥来解密请求的数据,且将经解密数据提供到读取数据路径控制电路248。读取数据路径控制电路248可将解密数据提供到主机接口244,主机接口244将解密数据提供到主机装置216。
图3是描绘根据图2的实施例的用于处理安全操作的操作步骤的流程图(一般指定为300)。在操作302中,安全子系统(例如,安全子系统212)在一或多个安全硬件寄存器(例如,安全硬件寄存器218)处接收命令。可从安全子系统外部的装置(例如,系统处理器(例如,系统处理器236))接收命令。命令可包含执行涉及秘密数据对象的特定安全操作的指令,例如涉及存储于安全子系统内的加密密钥的读取或写入命令。命令可进一步包含用于执行安全操作的任何必要参数。如上文相对于图2论述,可在可由系统处理器236存取的安全硬件寄存器218的子集中的一或多者处接收命令。系统处理器236无法存取的所述安全硬件寄存器无法从系统处理器236接收命令。通过限制对安全硬件寄存器218的存取,可增加存储于安全子系统212内的秘密数据对象的安全性。
在操作304中,安全子系统212或其组件通知安全处理器220已接收到命令。安全硬件寄存器218可经配置以响应于接收命令,经由安全子系统212内的内部总线,将通知传输到安全处理器220。执行安全性固件222的安全处理器220可确定应如何处理接收的命令。如上文论述,安全处理器220可限于执行由安全性固件222界定的特定安全操作。在此类实施例中,安全处理器220仅可在安全性固件222允许的情况下执行请求的命令。如果接收的命令不对应于如由安全性固件222界定的经允许安全操作,那么安全处理器220可通过(例如)将指示所接收的命令未由安全性固件222允许的异常的描述写入到系统硬件寄存器238而返回所述异常或错误。
在所接收的命令是经允许命令的情况中,在操作306中,安全子系统212基于所接收的命令而使用安全处理器220及/或安全性辅助硬件(例如,安全性辅助硬件电路224)执行安全操作。安全处理器220可执行由所接收的命令请求的安全操作(例如,写入操作、读取操作、加密/解密操作、加密密钥生成等)。在执行安全操作之前、期间及之后,安全子系统212可确保所有秘密数据对象保留于安全边界内,除非被加密。
在操作308中,安全子系统212将响应传输到系统硬件寄存器238。安全处理器220可跨安全子系统212的安全边界传输响应。在各种实施例中,响应可为基于所接收的命令的适当值或值的集合。例如,响应可为成功完成所接收的命令的指示。系统处理器236可自系统硬件寄存器238读取所述值且解释所述响应。
图4是根据本发明的实施例的包含数据存储系统402的设备(一般指定为400)的功能框图。数据存储系统402可包含:控制器404,其包含安全子系统412、存储控制器电路414及存储器/媒体接口454;动态存储器406;外部非易失性存储器408;及存储媒体410。在各种实施例中,存储器媒体接口454(包含存储器接口452及媒体接口450)、动态存储器406、外部非易失性存储器408及存储媒体410可如上文分别相对于图2的实施例中的存储器/媒体接口254(包含存储器接口252及媒体接口250)、动态存储器206、外部非易失性存储器208及存储媒体210及/或图1的实施例中的存储器/媒体接口118、动态存储器106、外部非易失性存储器108及存储媒体110描述那样实施。数据存储系统402可耦合到主机装置416。主机装置416可如上文分别相对于图1及2的实施例中的主机装置116及主机装置216描述那样实施。控制器404可实施为图1中的控制器104。
在图4的实施例中,安全子系统412包含多个安全硬件寄存器418、安全性辅助硬件电路420、内部RAM 424、内部非易失性存储器422、安全性控制电路426、加密电路428、解密电路430及传送控制电路432。安全硬件寄存器418、内部RAM 424、内部非易失性存储器422、加密电路428、解密电路430及传送控制电路432可如上文分别相对于图2的实施例的安全硬件寄存器218、内部RAM 228、内部非易失性存储器226、加密电路230、解密电路232及传送控制电路234描述那样实施。在图4的实施例中,安全性辅助硬件电路提供在不具有专用安全处理器的情况下执行安全边界内的安全操作的功能性。
安全性控制电路426提供安全子系统412内的组件之间的通信功能性。另外,安全性控制电路426可提供安全子系统412与存储控制器电路414之间的通信路径。安全性控制电路426的特定功能在下文中进一步详细描述。
安全性辅助硬件电路420可为经配置以完整执行离散安全操作的多个硬件电路。通过安全性辅助硬件电路420执行的离散安全操纵的实例包含但不限于随机数生成、加密密钥生成、签名计算、对称型加密或解密、不对称型加密或解密、数据操纵操作及数据移动操作。如上文相对于图2描述,响应于安全硬件寄存器418接收命令可触发一或多个安全性辅助硬件电路420。在特定实施例中,安全硬件寄存器418中的特定寄存器位置可对应于特定安全性辅助硬件电路420。安全硬件寄存器418可经由安全性控制电路426将以下通知提供到一或多个安全性辅助硬件电路420:在安全硬件寄存器418处接收命令(及任何相关参数)以由一或多个安全性辅助硬件电路420执行。一旦安全性辅助硬件电路420完成安全操作的执行,安全性辅助硬件电路420就可将指示安全操作完成的值提供回到安全硬件寄存器418或到存储控制器电路414。
安全性辅助硬件电路420可使用、存取、生成或另涉及保存于安全子系统412内及/或无法为安全子系统412外部的组件(例如,存储器存取硬件414)存取的秘密数据对象(例如,加密密钥)。为维持秘密数据对象的安全性,安全性辅助硬件电路420可将秘密数据对象存储于内部存储器系统中,例如内部RAM 424、内部非易失性存储器422或无法由存储控制器电路414存取的安全硬件寄存器418中的寄存器位置。只要解密秘密数据对象的密钥保留于安全子系统412内,秘密数据对象就还可加密且经由存储器/媒体接口454存储于外部存储器装置(例如动态存储器406及/或外部非易失性存储器408)中。
现将论述特定安全性辅助硬件电路420的实例。应了解,此论述仅通过实例提供,且在不脱离本发明的范围的情况下,执行不同安全操作的额外电路是可能的。
在第一实例中,安全性辅助硬件电路420实现随机数生成。可在安全硬件寄存器418处接收生成随机数的命令,所述安全硬件寄存器418通知可应用的安全性辅助硬件电路420。安全性辅助硬件电路420可从生成器生成一系列随机位,将所述系列位累加到具有经定义长度的保持寄存器中,通过(例如)确定性随机位生成器根据调节算法调节累加值,将结果写入内部存储器位置(例如,内部RAM 424)中且将完成通知传输到存储控制器电路414。
在第二实例中,安全性辅助硬件电路420实现加密密钥生成。加密密钥生成可取决于先前生成的秘密数据对象,例如由随机数生成安全性辅助硬件电路420产生的充当加密密钥的随机数。加密密钥生成安全性辅助硬件电路420可实施任何适当变换功能来生成加密密钥。在操作中,存储控制器电路414的组件可提供生成加密密钥的命令到安全硬件寄存器418且供应地址到先前生成的随机数,参数化变换且界定所得加密密钥的位置。加密密钥生成安全性辅助硬件电路420可对指定位置处的随机数执行经界定变换以生成加密密钥且将所得加密密钥存储于指定位置处。加密密钥生成安全性辅助硬件电路420接着可传输通知(例如事件中断)到存储控制器电路414,所述通知为成功生成加密密钥及加密密钥的位置。
在第三实例中,安全性辅助硬件电路420实现签名计算。签名计算安全性辅助硬件电路420可用于需要通过添加或校验签名值而确认信息的安全操作。存储控制器电路414可将操作码、待数字签署或校验的值的地址、值的长度、签名计算其自身的参数及所得签名或签名校验结果的位置写入安全硬件寄存器418。接着,签名计算安全性辅助硬件电路420可基于经提供的参数生成或校验签名值且将结果存储于指定位置中。接着,签名计算安全性辅助硬件电路420可传输通知(例如事件中断)到存储控制器电路414,所述通知为成功生成或校验签名值及结果的位置。
在第四实例中,安全性辅助硬件电路420实现对称型加密及/或解密。对称型加密安全性辅助硬件电路420可用于隐藏将移动到安全子系统412的安全边界外部的秘密数据对象或其它数据。存储控制器电路414可存取安全硬件寄存器418,界定操作(例如,加密或解密),界定任何操作数(例如,加密/解密密钥)、初始化向量(如果可应用)、将加密/解密的数据的位置及长度及存储结果的位置/长度。接着,对称型加密安全性辅助硬件电路420可传输通知(例如事件中断)到存储控制器电路414,所述通知为成功加密/解密数据及结果的位置。
在第五实例中,安全性辅助硬件电路420实现非对称型加密及/或解密(例如基于RSA或其它算法的公开密钥/私密密钥操作)。对称型加密安全性辅助硬件电路420可用于隐藏将移动到安全子系统412的安全边界外部的秘密数据对象或其它数据。存储控制器电路414可存取安全硬件寄存器418,界定操作(例如,加密或解密),界定任何操作数(例如,加密及解密密钥)、初始化向量(如果可应用)、将加密/解密的数据的位置及长度及存储结果的位置/长度。接着,非对称型加密安全性辅助硬件电路420可传输通知(例如事件中断)到存储控制器电路414,所述通知为成功加密或解密数据及结果的位置。
在第六实例中,一或多个安全性辅助硬件电路420可执行数据操纵功能。例如,数据操纵可包含将密钥值从无法由存储控制器电路414存取的位置(例如,内部RAM424或内部非易失性存储器422)传送到存储控制器电路414可间接存取密钥值的位置(例如,安全硬件寄存器418)。
在第七实例中,一或多个安全性辅助硬件电路420可执行数据移动功能。数据移动安全性辅助硬件电路的一个实例可为传送控制电路432,其支持安全子系统412与外部存储器装置(例如动态存储器406及/或外部非易失性存储器408)之间的数据传送。
存储控制器电路414可包含系统处理器434、存储系统固件436、安全性固件438、系统硬件寄存器440、系统辅助硬件442、主机接口444、写入数据路径控制电路446及读取数据路径控制电路448。系统处理器434、存储系统固件436、系统硬件寄存器440、系统辅助硬件442、主机接口444、写入数据路径控制电路446、读取数据路径控制电路448可如上文分别相对于图2中的系统处理器236、存储系统固件240、系统硬件寄存器238、系统辅助硬件242、主机接口244、写入数据路径控制电路246、读取数据路径控制电路248描述那样实施。
图4的实施例包含存储控制器电路414中的安全性固件438且系统处理器434负责执行存储系统固件436及安全性固件438两者。安全性固件438界定可通过安全子系统412的系统处理器434请求以通过安全性辅助硬件电路420执行的特定安全操作。因此,在不需要安全子系统412内的专用安全处理器的情况下可维持将执行的操作及对存储于安全子系统412内的秘密数据对象的存取。
图5是描绘根据图4的实施例的用于执行安全操作的操作步骤的流程图(一般指定为500)。
在操作502中,安全子系统412在一或多个安全硬件寄存器418处接收命令。例如,执行安全性固件438的系统处理器434可传输命令以执行一或多个安全操作,所述操作产生、移动、修改或另含有安全子系统412内维持的秘密数据对象。在各种实施例中,系统处理器434可限于存取安全硬件寄存器418的子集。在操作504中,安全子系统412识别一或多个可应用安全性辅助硬件电路410来执行安全操作。安全子系统412可(例如)通过解码所接收的命令识别一或多个可应用安全性辅助硬件电路。在各种实施例中,所接收的命令可指示特定安全性辅助硬件电路420来执行操作。在一些实施例中,命令可在对应于特定安全性辅助硬件电路420的特定安全硬件寄存器418处接收。在此类实施例中,在检测命令接收后,安全性控制电路426可将接收的命令自动传送到可应用安全性辅助硬件电路420。
在操作506中,安全子系统通过使用可应用安全性辅助硬件电路420或其它组件(例如,加密电路428或解密电路430)来执行安全操作而执行请求命令。在上文相对于图4描述用于执行离散安全操作的各种实例安全性辅助硬件电路420。在操作508中,安全子系统412将结果写入系统硬件寄存器440。在各种实施例中,结果可包含指示是否成功完成安全操作及/或任何所得数据(例如,解密数据)的位置的值。安全性控制电路426可提供安全子系统412与系统硬件寄存器440之间的通信接口。
图6是描绘根据本发明的实施例的用于执行安全操作的操作步骤的流程图(一般指定为600)。
在操作602中,安全子系统在安全硬件寄存器(例如,安全硬件寄存器218、418)处接收命令。在操作604中,安全子系统确定所接收的命令是否为写入命令。在各种实施例中,安全子系统可基于如通过安全处理器(例如,安全处理器220)解译的所接收命令的格式或通过所述命令写入其中的特定硬件寄存器确定所述命令是否为写入命令。如果安全子系统确定所接收命令是写入命令(决策框604,是(YES)分支),那么在操作606中,安全子系统接收将写入的数据。在操作608中,安全子系统(例如)使用加密电路(例如,加密电路230、428)来加密数据。在操作610中,安全子系统将加密数据存储于外部存储器(例如存储媒体210、410)中。在操作624中,安全子系统将结果传输到系统硬件寄存器。在各种实施例中,结果可包含指示数据成功加密且写入存储媒体210、410的值。
如果安全子系统确定所接收命令并非写入命令(决策框604,否(NO)分支),那么在操作612中,安全子系统确定所接收命令是否是读取命令。如果安全子系统确定所接收命令是读取命令(决策框612,是分支),那么在操作614中,安全子系统从外部存储器装置(例如存储媒体210、410)检索待读取的数据。在操作616中,安全子系统(例如)使用解密电路232、430来解密检索数据。在操作618中,安全子系统将解密数据传送到安全子系统外部的位置。例如,安全子系统可将解密数据提供到读取数据路径控制电路(例如,读取数据路径控制电路248、448)。在操作624中,安全子系统将结果传输到系统硬件寄存器。在各种实施例中,结果可包含指示数据成功检索、解密且提供到读取数据路径控制电路的值。
如果安全子系统确定所接收命令并非读取命令(决策框612,否分支),那么在操作620中,安全子系统确定由命令请求的安全操作的类型。在操作622中,安全子系统基于所确定的操作类型执行安全操作。可通过(例如)安全处理器(例如安全处理器220)或通过一或多个安全性硬件辅助电路(例如安全性硬件辅助电路224、420)执行安全操作。在操作624中,安全性子系统传输结果到系统硬件寄存器,所述结果指示成功完成安全操作。

Claims (40)

1.一种设备,其包括:
多个安全硬件寄存器,其经配置以接收指令以执行用于操纵一个或多个秘密数据对象的多个安全操作;及
一个或多个安全性辅助硬件电路,其经配置以使用所述一个或多个秘密数据对象执行离散操作,其中所述多个安全硬件寄存器中的每一者对应于不同的安全性辅助硬件电路,所述离散操作包括数据加密、数据解密、签名计算与校验以及随机数生成中的至少一者。
2.根据权利要求1所述的设备,其进一步包括:
存储器,其经配置以存储所述一个或多个秘密数据对象;及
处理器,其执行安全性固件并执行一组操作,所述组操作包括用以操纵所述一个或多个秘密数据对象的所述多个安全操作。
3.根据权利要求1所述的设备,其中所述一个或多个秘密数据对象包括至少一个加密密钥。
4.根据权利要求1所述的设备,其中所述一个或多个秘密数据对象无法由所述设备外部的装置存取。
5.根据权利要求1所述的设备,其进一步包括:
加密电路,其经配置以使用所述一个或多个秘密数据对象对数据进行加密;及
解密电路,其经配置以使用所述一个或多个秘密数据对象对数据进行解密。
6.根据权利要求2所述的设备,其中所述处理器经配置以执行存储在所述设备外部的所述存储器上的所述安全性固件。
7.根据权利要求2所述的设备,其中所述处理器、所述多个安全硬件寄存器及所述一个或多个秘密数据对象放置于安全边界内。
8.根据权利要求7所述的设备,其中所述处理器经配置以执行存储于所述安全边界内的所述存储器上的所述安全性固件。
9.根据权利要求2所述的设备,其中所述处理器经配置以基于有限数量的安全操作来操纵所述一个或多个秘密数据对象。
10.一种方法,其包括:
在多个安全硬件寄存器中的一个或多个处接收执行安全操作的请求;及
用多个安全性辅助硬件电路中的一个执行所述安全操作,所述安全操作包括随机数生成、加密密钥生成、签名计算、签名确认、对称型加密、对称型解密、非对称型加密,及非对称型解密中的至少一者,其中所述多个安全硬件寄存器中的相应一者对应于所述多个安全性辅助硬件电路中的不同安全性辅助硬件电路。
11.根据权利要求10所述的方法,其中执行所述安全操作的所述请求包括操纵一个或多个秘密数据对象。
12.根据权利要求11所述的方法,其中操纵所述一个或多个秘密数据对象是基于经定义数量的安全操作发生的。
13.根据权利要求10所述的方法,其进一步包括:向非安全硬件寄存器传输响应于执行所述安全操作的值,其中所述多个安全硬件寄存器、所述一个或多个秘密数据对象及专用安全处理器位于安全边界内。
14.根据权利要求13所述的方法,其进一步包括:将执行所述安全操作的所述请求通知到所述专用安全处理器。
15.根据权利要求13所述的方法,其进一步包括:基于存储在所述安全边界内的存储器上的专用安全性固件执行所述安全操作。
16.根据权利要求15所述的方法,其中执行所述安全操作包括使用所述一个或多个秘密数据对象对数据进行加密。
17.根据权利要求16所述的方法,其中执行所述安全操作包括将经加密数据存储于所述安全边界外部的存储装置中。
18.根据权利要求15所述的方法,其中执行所述安全操作包括从所述安全边界外部的存储装置检索经加密数据。
19.根据权利要求18所述的方法,其中执行所述安全操作包括使用所述一个或多个秘密数据对象对所述经加密数据进行解密。
20.根据权利要求18所述的方法,其中执行所述安全操作包括:识别经配置以执行所述安全操作的所述多个安全性辅助硬件电路中的一个或多个。
21.一种设备,其包括:
位于安全边界内的安全子系统,其包括:
存储器装置,其经配置以从所述安全边界外接收所述安全子系统外部的任何系统或组件无法存取的一个或多个秘密数据对象,所述存储器装置进一步经配置以存储所接收的所述一个或多个秘密数据对象;
处理器,其经配置以执行安全性固件并执行一组操作,所述组操作限于用于操纵从所述安全边界外接收的所述一个或多个秘密数据对象的多个安全操作。
多个安全硬件寄存器,其可由所述处理器存取且经配置以接收指令以执行所述多个安全操作;及
一个或多个安全性辅助硬件电路,其经配置以使用所述一个或多个秘密数据对象来执行离散操作,
其中所述一个或多个秘密数据对象是安全操作的密钥。
22.根据权利要求21所述的设备,其中所述一个或多个秘密数据对象包括无法由所述设备外部的装置存取的至少一个加密密钥。
23.根据权利要求21所述的设备,其中所述安全子系统进一步包括加密电路,其经配置以使用所述一个或多个秘密数据对象对所述数据进行加密。
24.根据权利要求21所述的设备,其中所述处理器是安全处理器,且
其中,所述安全性固件存储在外部存储器上、且定义由所述安全处理器执行的有限数量的安全操作。
25.根据权利要求21所述的设备,其中所述安全子系统进一步包括解密电路,其经配置以使用所述一个或多个秘密数据对象对所述数据进行解密。
26.根据权利要求21所述的设备,其中所述安全子系统进一步包括:
加密电路,其耦合于所述处理器和媒体接口之间;
解密电路,其耦合到所述媒体接口;及
传送控制电路,其耦合到所述一个或多个安全性辅助硬件电路中的至少一个安全性辅助硬件电路。
27.根据权利要求21所述的设备,其中所述一个或多个安全性辅助硬件电路经配置以执行客户端认证、加密密钥生成、密钥识别、密钥选择及检索操作中的至少一者。
28.根据权利要求21所述的设备,其中所述安全子系统经配置以针对在动态存储器和非易失性存储器中的至少一者中的所述安全子系统外部的存储而对秘密信息进行加密。
29.根据权利要求21所述的设备,其中所述一个或多个秘密数据对象包括加密密钥,且
其中,所述安全子系统进一步包括加密电路,其经配置以使用所述加密密钥对所述数据进行加密、并将经加密数据提供给媒体接口以存储在存储媒体中。
30.根据权利要求21所述的设备,其中所述一个或多个秘密数据对象包括存储在所述存储器装置中的解密密钥,以保持在所述安全子系统内,且
其中所述安全子系统进一步包括解密电路,其经配置以使用所述安全边界之外的组件无法存取的所述解密密钥对所述数据进行解密,且所述解密电路进一步经配置以向存储控制器电路提供经解密数据。
31.一种设备,其包括:
内部存储器装置,其经配置以从所述安全边界外接收一个或多个秘密数据对象,所述内部存储器装置进一步经配置以存储所述安全子系统外部的任何系统或组件无法存取的所述一个或多个秘密数据对象;
位于安全边界内的一个或多个安全硬件寄存器,其经配置以接收使用从所述安全边界外接收的所述一个或多个秘密数据对象执行操作的命令;及
一个或多个安全性辅助硬件电路,其分别耦合至所述一个或多个安全硬件寄存器,所述一个或多个安全性辅助硬件电路经配置以执行离散操作,以使用所述一个或多个秘密数据对象存取数据,
其中使用所述一个或多个秘密数据对象存取的所述数据被提供给所述一个或多个安全性辅助硬件电路、或者由所述一个或多个安全性辅助硬件电路提供所述数据、并且不能从所述安全边界之外存取所述数据,且
其中所述一个或多个秘密数据对象是安全操作的密钥。
32.根据权利要求31所述的设备,其进一步包括:
加密电路,其经配置以使用所述一个或多个秘密数据对象对所述数据进行加密;及
解密电路,其经配置以使用所述一个或多个秘密数据对象对所述数据进行解密。
33.根据权利要求31所述的设备,其中所述一个或多个秘密数据对象针对安全子系统外部的存储而对秘密信息进行加密。
34.根据权利要求31所述的设备,其中所述一个或多个秘密数据对象中的至少一个秘密数据对象由秘密加密密钥加密,之后存储在安全子系统的外部。
35.根据权利要求31所述的设备,其进一步包括:
存储器,其经配置以存储所述一个或多个秘密数据对象;及
处理器,其经配置以执行安全性固件且执行一组操作,所述组操作包括用于操纵所述一个或多个秘密数据对象的多个安全操作。
36.根据权利要求31所述的设备,其中所述一个或多个秘密数据对象包括至少一个加密密钥。
37.一种方法,其包括:
由位于集成电路的安全边界内的安全子系统中的多个安全硬件寄存器中的一个或多个安全硬件寄存器,接收执行涉及由所述安全子系统加密的一个或多个秘密数据对象的安全操作的请求,其中经加密的一个或多个秘密数据对象存储在所述安全子系统之外、且不能被所述安全子系统外部的任何系统或组件存取;
由多个安全性辅助硬件电路中的或多个安全性辅助硬件电路,用存储在所述安全子系统中的密钥来存取经加密的所述一个或多个秘密数据对象;及
由所述一个或多个安全性辅助硬件电路,使用被存取的一个或多个秘密数据对象在数据上执行所述安全操作,
其中所述一个或多个秘密数据对象是安全操作的密钥。
38.根据权利要求37所述的方法,其进一步包括:
由存储器系统处理器执行响应于来自所述一个或多个安全硬件寄存器的通知的安全性固件,所述通知由所述一个或多个安全硬件寄存器基于所接收到的所述请求而提供。
39.根据权利要求37所述的方法,其进一步包括:
响应于执行所述安全操作而向一不安全的硬件寄存器传送一值。
40.根据权利要求37的方法,其中所述安全操作是基于存储在所述安全边界内的存储器上的专用安全性固件而执行的。
CN202210088916.1A 2015-10-06 2016-09-28 安全子系统 Pending CN114417436A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US14/876,600 2015-10-06
US14/876,600 US9864879B2 (en) 2015-10-06 2015-10-06 Secure subsystem
CN201680057650.7A CN108139984B (zh) 2015-10-06 2016-09-28 安全子系统
PCT/US2016/054106 WO2017062242A1 (en) 2015-10-06 2016-09-28 Secure subsystem

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201680057650.7A Division CN108139984B (zh) 2015-10-06 2016-09-28 安全子系统

Publications (1)

Publication Number Publication Date
CN114417436A true CN114417436A (zh) 2022-04-29

Family

ID=58447919

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202210088916.1A Pending CN114417436A (zh) 2015-10-06 2016-09-28 安全子系统
CN201680057650.7A Active CN108139984B (zh) 2015-10-06 2016-09-28 安全子系统

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201680057650.7A Active CN108139984B (zh) 2015-10-06 2016-09-28 安全子系统

Country Status (6)

Country Link
US (3) US9864879B2 (zh)
EP (1) EP3360047B1 (zh)
KR (2) KR102176612B1 (zh)
CN (2) CN114417436A (zh)
TW (2) TWI633457B (zh)
WO (1) WO2017062242A1 (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9864879B2 (en) 2015-10-06 2018-01-09 Micron Technology, Inc. Secure subsystem
US20190042781A1 (en) * 2017-08-04 2019-02-07 Bitdefender IPR Management Ltd. Secure Storage Device
DE102017118164A1 (de) * 2017-08-09 2019-02-14 Infineon Technologies Ag Kryptographische schaltung und datenverarbeitung
CN108683647B (zh) * 2018-04-28 2020-09-11 重庆交通大学 一种基于多重加密的数据传输方法
CN110490008B (zh) * 2018-05-14 2021-08-10 英韧科技(上海)有限公司 安全装置及安全芯片
CN110580420B (zh) * 2018-06-11 2023-03-28 阿里巴巴集团控股有限公司 基于集成芯片的数据处理方法、计算机设备、存储介质
CN108958779A (zh) * 2018-09-20 2018-12-07 广东美的暖通设备有限公司 固件升级管理方法、装置及计算机可读存储介质
CN112231719B (zh) * 2019-07-15 2024-06-25 美光科技公司 密码密钥管理
US11264063B2 (en) * 2019-08-21 2022-03-01 Macronix International Co., Ltd. Memory device having security command decoder and security logic circuitry performing encryption/decryption commands from a requesting host
US20230074708A1 (en) * 2021-09-08 2023-03-09 Qualcomm Incorporated Devices and methods utilizing sensor information for increased trust level
US11960769B2 (en) * 2022-02-14 2024-04-16 Macronix International Co., Ltd. High performance secure read in secure memory providing a continuous output of encrypted information and specific context
US11796591B1 (en) * 2022-04-04 2023-10-24 Ambarella International Lp Smart storage of shutdown LBIST status
CN115391845B (zh) * 2022-10-28 2023-01-06 摩尔线程智能科技(北京)有限责任公司 密钥管理设备和方法

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6704871B1 (en) * 1997-09-16 2004-03-09 Safenet, Inc. Cryptographic co-processor
FR2788353B1 (fr) * 1999-01-11 2001-02-23 St Microelectronics Sa Microprocesseur avec circuits de protection pour securiser l'acces a ses registres
AUPQ993100A0 (en) * 2000-09-06 2000-09-28 Software Engineering Australia (Western Australia) Limited System and method for transmitting and storing sensitive data transmitted over a communications network
US6631453B1 (en) * 2001-02-14 2003-10-07 Zecurity Secure data storage device
EP1556992B1 (en) * 2002-10-31 2016-10-19 Telefonaktiebolaget LM Ericsson (publ) Secure implementation and utilization of device-specific security data
US8566616B1 (en) * 2004-09-10 2013-10-22 Altera Corporation Method and apparatus for protecting designs in SRAM-based programmable logic devices and the like
US9177176B2 (en) * 2006-02-27 2015-11-03 Broadcom Corporation Method and system for secure system-on-a-chip architecture for multimedia data processing
US8683212B2 (en) * 2006-10-06 2014-03-25 Broadcom Corporation Method and system for securely loading code in a security processor
JP4912921B2 (ja) * 2007-02-27 2012-04-11 富士通セミコンダクター株式会社 セキュアプロセッサシステム、セキュアプロセッサ及びセキュアプロセッサシステムの制御方法
WO2009013825A1 (ja) * 2007-07-25 2009-01-29 Panasonic Corporation 情報処理装置、及び改竄検証方法
US8171309B1 (en) 2007-11-16 2012-05-01 Marvell International Ltd. Secure memory controlled access
US8332931B1 (en) * 2008-09-04 2012-12-11 Marvell International Ltd. Processing commands according to authorization
US8379856B2 (en) * 2009-06-17 2013-02-19 Empire Technology Development Llc Hardware based cryptography
JP2011013789A (ja) * 2009-06-30 2011-01-20 Toshiba Corp 情報処理装置および情報処理方法
US8295481B2 (en) * 2009-08-31 2012-10-23 International Business Machines Corporation Virtualization of cryptographic keys
US8639945B2 (en) 2010-05-25 2014-01-28 Via Technologies, Inc. Branch and switch key instruction in a microprocessor that fetches and decrypts encrypted instructions
TWI437489B (zh) 2010-05-25 2014-05-11 Via Tech Inc 微處理器以及相關的操作方法、以及加密、解密方法
US8613074B2 (en) * 2010-09-30 2013-12-17 Micron Technology, Inc. Security protection for memory content of processor main memory
US8495443B1 (en) * 2011-05-31 2013-07-23 Apple Inc. Secure register scan bypass
US9405707B2 (en) 2011-12-20 2016-08-02 Intel Corporation Secure replay protected storage
KR102013841B1 (ko) * 2012-08-06 2019-08-23 삼성전자주식회사 데이터의 안전한 저장을 위한 키 관리 방법 및 그 장치
US8775757B2 (en) 2012-09-25 2014-07-08 Apple Inc. Trust zone support in system on a chip having security enclave processor
KR20140073384A (ko) * 2012-12-06 2014-06-16 삼성전자주식회사 보안 부팅을 수행하는 칩 시스템과 이를 이용하는 화상형성장치 및 그 보안 부팅 방법
US20140310536A1 (en) 2013-04-16 2014-10-16 Qualcomm Incorporated Storage device assisted inline encryption and decryption
KR20150017526A (ko) * 2013-08-07 2015-02-17 삼성전자주식회사 메모리 명령 스케줄러 및 메모리 명령 스케줄링 방법
KR102240830B1 (ko) * 2013-08-30 2021-04-19 삼성전자주식회사 키 관리자를 포함하는 데이터 프로세싱 시스템 및 및 키 관리자의 동작 방법
US9864879B2 (en) 2015-10-06 2018-01-09 Micron Technology, Inc. Secure subsystem

Also Published As

Publication number Publication date
KR102176612B1 (ko) 2020-11-10
KR20180045039A (ko) 2018-05-03
TWI672610B (zh) 2019-09-21
KR20200092421A (ko) 2020-08-03
CN108139984A (zh) 2018-06-08
TW201837774A (zh) 2018-10-16
US10068109B2 (en) 2018-09-04
KR102139179B1 (ko) 2020-07-30
EP3360047A1 (en) 2018-08-15
TW201723918A (zh) 2017-07-01
US20180357449A1 (en) 2018-12-13
US10503934B2 (en) 2019-12-10
CN108139984B (zh) 2022-01-25
US20170098102A1 (en) 2017-04-06
EP3360047B1 (en) 2021-07-07
US20180089469A1 (en) 2018-03-29
WO2017062242A1 (en) 2017-04-13
EP3360047A4 (en) 2019-03-20
TWI633457B (zh) 2018-08-21
US9864879B2 (en) 2018-01-09

Similar Documents

Publication Publication Date Title
CN108139984B (zh) 安全子系统
TWI620095B (zh) 用以確保存取保護計畫之裝置及有形機器可讀媒體
US10810138B2 (en) Enhanced storage encryption with total memory encryption (TME) and multi-key total memory encryption (MKTME)
CN111131130B (zh) 密钥管理方法及系统
US11748273B2 (en) Secure data communication with memory sub-system
KR20220091578A (ko) 메모리 서브시스템에 대한 암호화 키의 위임
US20150227755A1 (en) Encryption and decryption methods of a mobile storage on a file-by-file basis
US20230032885A1 (en) Mechanism to Support Writing Files Into a File System Mounted in a Secure Memory Device
US20220123932A1 (en) Data storage device encryption
CN115391844A (zh) 安全密钥存储装置
US11216209B2 (en) Secure storage using a removable bridge
WO2022086603A1 (en) Data storage device encryption
US9158943B2 (en) Encryption and decryption device for portable storage device and encryption and decryption method thereof
TW202403773A (zh) 半導體裝置及用以管理其之安全操作的系統與方法
CN115408729A (zh) 供应用程序存取安全存储器装置的独立于供应商的设施
TW202036349A (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