一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于启用存储器装置的受限特征的安全胶囊的制作方法

2022-06-22 23:13:18 来源:中国专利 TAG:


1.本公开的实施例大体上涉及存储器子系统,且更具体地说,涉及用于启用存储器子系统中的存储器装置的受限特征的安全胶囊。


背景技术:

2.存储器子系统可包含存储数据的一或多个存储器装置。存储器组件可例如为非易失性存储器装置和易失性存储器装置。通常,主机系统可利用存储器子系统以在存储器装置处存储数据以及从存储器装置检索数据。


技术实现要素:

3.本公开的一方面提供一种系统,其包括:存储器装置;以及处理装置,其耦合到所述存储器装置,所述处理装置经配置以执行包括以下各项的操作:将所述存储器装置初始化为其中所述存储器装置不能够执行一或多个受限命令的未认证状态;访问使用私钥进行了数字签名的安全胶囊;以及基于使用与所述私钥相对应的公钥验证所述安全胶囊已进行有效签名而将所述存储器装置变换到已认证状态,所述存储器装置能够在处于所述已认证状态时执行所述一或多个受限命令。
4.本公开的另一方面提供一种方法,其包括:将存储器装置初始化为其中所述存储器装置不能够执行一或多个受限命令的未认证状态;访问使用私钥进行了数字签名的安全胶囊;以及使用与所述私钥相对应的公钥来验证所述安全胶囊已进行有效签名;基于验证所述安全胶囊已进行有效签名而将所述存储器装置变换到已认证状态,所述存储器装置能够在处于所述已认证状态时执行所述一或多个受限命令。
5.本公开的另一方面提供一种包括指令的计算机可读存储媒体,所述指令在由处理装置执行时将所述处理装置配置成执行包括以下各项的操作:将存储器装置初始化为其中所述存储器装置不能够执行一或多个受限命令的未认证状态;访问使用私钥进行了数字签名的安全胶囊;以及验证所述安全胶囊,对所述安全胶囊的所述验证包括使用与所述私钥相对应的公钥来验证所述安全胶囊已进行有效签名;基于验证所述安全胶囊而将所述存储器装置变换到已认证状态,所述存储器装置能够在处于所述已认证状态时执行所述一或多个受限命令。
附图说明
6.根据下文给出的详细描述和本公开的各种实施例的附图,将更充分地理解本公开。
7.图1说明根据本公开的一些实施例的包含存储器子系统的实例计算环境。
8.图2是说明根据本公开的一些实施例的在使用安全胶囊启用存储器装置的受限特征时所述实例计算环境中的组件之间的交互的数据流图。
9.图3是说明根据实例实施例的存储器装置的行为的状态图。
10.图4-6是说明根据本公开的一些实施例的用于使用安全胶囊来启用存储器装置的受限特征的实例方法的流程图。
11.图7是本公开的实施例可在其中操作的实例计算机系统的框图。
具体实施方式
12.本公开的方面涉及用于访问存储器子系统中的存储器装置的受限特征的安全胶囊。存储器子系统可以是存储装置、存储器模块,或存储装置和存储器模块的混合。下文结合图1描述存储装置和存储器模块的实例。通常,主机系统可利用存储器子系统,所述存储器子系统包含一或多个组件,例如,存储数据的存储器装置。主机系统可提供数据以存储于存储器子系统处,且可请求从存储器子系统检索数据。
13.存储器装置可以是非易失性存储器装置。非易失性存储器装置的一个实例是与非(nand)存储器装置。下文结合图1描述非易失性存储器装置的其它实例。例如nand存储器装置等一些存储器装置包含用以存储数据的存储器单元阵列(例如,快闪单元)。每个单元包含晶体管,且在每个单元内,基于所述单元的逻辑值(例如,0或1)将数据存储为晶体管的阈值电压。这些装置中的存储器单元可分组为页,所述页可指用于存储数据的存储器装置的逻辑单元。举例来说,nand存储器装置中的存储器单元在其控制栅极处水平地连接到字线以形成页。对于一些类型的存储器装置(例如,nand),页经分组以形成块(在本文中也称为“存储器块”)。
14.数据操作可由存储器子系统执行。所述数据操作可以是主机启动操作。举例来说,主机系统可发起针对存储器子系统的数据操作(例如,写入、读取、擦除等)。主机系统可将存取请求(例如,写入命令、读取命令)发送到存储器子系统,以便将数据存储在存储器子系统处的存储器装置上以及从存储器子系统上的存储器装置读取数据。
15.许多存储器子系统支持供应商专有(vs)命令,以利用扩展超出装置接口规范(例如,sata、nvme等)定义的标准化命令之外的存储器装置能力。举例来说,大多数存储器装置供应商实施供应商专有命令,以用于装置特征的高层级调试和安全启用(例如,安全状态修改)。
16.通常,存储器装置被初始化为其中仅未受限vs命令可由存储器装置处理的未认证状态。传统存储器子系统采用安全机制将存储器装置从未认证状态变换到已认证状态,在已认证状态中,受限vs命令可由存储器装置执行。如果命令可引起存储器装置的行为或状态的改变,或如果所述命令可用于提取机密信息,则所述命令被视为受限。传统方法依赖于需要访问例如在安全环境中管理的硬件安全模块(hsm)等受保护资源的主机系统交互。hsm通常仅可通过虚拟专用网络(vpn)连接或存储器装置制造商公司网络上的直接网络连接访问,而在一些情况下,可使用基于usb的便携式hsm。基于网络的hsm可能存在问题,因为它们的使用通常仅限于存储器装置制造商的经授权人员。另外,即使经授权人员处于客户站点,客户安全策略也可能会限制vpn的使用。由于供应有限以及某些管辖区中的密码导入限制,便携式usb hsm也可能成为一个问题。
17.本公开的方面通过使用安全胶囊来启用存储器子系统的存储器装置中的受限特征而解决以上和其它问题。即,安全胶囊用于将存储器装置从其中不可执行用于调用受限特征的受限命令的未认证状态变换到其中可执行所述受限命令的已认证状态。使用带内机
制(例如,固件下载)将安全胶囊递送到存储器子系统。所述安全胶囊使用专用私钥/公钥对进行数字签名和验证。存储器子系统可基于验证安全胶囊已进行有效签名而将存储器装置从未认证状态变换到已认证状态。
18.每个安全胶囊包含防重放机制以防止重复使用。即,一旦安全胶囊成功下载到存储器装置上,所述安全胶囊就无法再次使用。安全胶囊可限于与单个存储器装置一起使用,或可使其大体上适用于任何存储器装置。有益的是,在建构安全胶囊后,可将所述安全胶囊存储在便携式媒体(例如,usb棒)上,或可以电子方式传输到客户站点。
19.安全胶囊的使用消除了与网络和基于usb的hsm相关联的挑战。此外,安全胶囊允许安全地启用特定或所有vs命令。安全胶囊还减少与当前方法相关联的周转时间。举例来说,安全胶囊可经预建构且按需要或在将存储装置递送到客户时提供给客户。另外,安全胶囊可用于安全地限制某些命令的使用或仅允许调用命令的某一子集。
20.图1说明根据本公开的一些实施例的包含存储器子系统110的实例计算环境100。存储器子系统110可包含媒体,例如一或多个易失性存储器装置(例如,存储器装置140)、一或多个非易失性存储器装置(例如,存储器装置130),或此类装置的组合。
21.存储器子系统110可以是存储装置、存储器模块,或存储装置与存储器模块的混合。存储装置的实例包含固态驱动器(ssd)、快闪驱动器、通用串行总线(usb)快闪驱动器、嵌入式多媒体控制器(emmc)驱动器、通用快闪存储(ufs)驱动器、安全数字(sd)卡以及硬盘驱动器(hdd)。存储器模块的实例包含双列直插式存储器模块(dimm)、小型dimm(so-dimm)以及各种类型的非易失性双列直插式存储器模块(nvdimm)。
22.计算系统100可以是计算装置,例如台式计算机、膝上型计算机、网络服务器、移动装置、载具(例如,飞机、无人机、火车、汽车或其它运输工具)、具有物联网(iot)功能的装置、嵌入式计算机(例如,包含在载具、工业设备或联网商用装置中的嵌入式计算机),或包含存储器和处理装置的此类计算装置。
23.计算系统100可包含耦合到一或多个存储器子系统110的多个主机系统。在一些实施例中,主机系统120耦合到不同类型的存储器子系统110。图1说明耦合到一个存储器子系统110的实例主机系统120。如本文中所使用,“耦合到”或“与...耦合”通常是指组件之间的连接,所述连接可以是间接通信连接或直接通信连接(例如不具有居间组件),无论有线或无线,包含例如电连接、光学连接、磁连接等连接。
24.每个主机系统120可包含处理器芯片组和由所述处理器芯片组执行的软件栈。处理器芯片组可包含一或多个核心、一或多个高速缓存、存储器控制器(例如,nvdimm控制器),和存储协议控制器(例如,外围组件互连高速(pcie)控制器、串行高级技术附件(sata)控制器)。主机系统120可使用存储器子系统110,以例如将数据写入到存储器子系统110和从存储器子系统110读取数据。
25.主机系统120可经由主机接口耦合到存储器子系统110。主机接口的实例包含但不限于sata接口、pcie接口、usb接口、光纤通道、串行连接的scsi(sas)、小型计算机系统接口(scsi)、双数据速率(ddr)存储器总线、dimm接口(例如,支持双数据速率(ddr)的dimm套接接口)、开放nand快闪接口(onfi)、双数据速率(ddr)、低功率双数据速率(lpddr)或任何其它接口。所述主机接口可用于在主机系统120与存储器子系统110之间传输数据。当存储器子系统110通过pcie接口与主机系统120耦合时,主机系统120中的任一者还可利用nvm高速
(nvme)接口来访问组件(例如,存储器装置130)。所述主机接口可提供用于在存储器子系统110与主机系统120之间传送控制、地址、数据以及其它信号的接口。图1说明存储器子系统110以作为实例。总的来说,主机系统120可经由同一通信连接、多个单独通信连接和/或通信连接的组合访问多个存储器子系统。
26.存储器装置130、140可包含不同类型的非易失性存储器装置和/或易失性存储器装置的任何组合。易失性存储器装置(例如,存储器装置140)可以是但不限于随机存取存储器(ram),例如动态随机存取存储器(dram)和同步动态随机存取存储器(sdram)。
27.非易失性存储器装置(例如,存储器装置130)的一些实例包含nand型快闪存储器和就地写入存储器,例如三维(3d)交叉点存储器装置,其为非易失性存储器单元的交叉点阵列。非易失性存储器的交叉点阵列可结合可堆叠交叉网格化数据存取阵列基于体电阻的改变来执行位存储。另外,与许多基于快闪的存储器相比,交叉点非易失性存储器可执行就地写入操作,其中可在不预先擦除非易失性存储器单元的情况下对非易失性存储器单元进行编程。nand型快闪存储器包含例如二维nand(2d nand)和3d nand。
28.存储器装置130中的每一者可包含一或多个存储器单元阵列。一个类型的存储器单元,例如单层级单元(slc),可每单元存储一个位。其它类型的存储器单元,例如,多层级单元(mlc)、三层级单元(tlc)、四层级单元(qlc)和五层级单元(plc),可每单元存储多个位。在一些实施例中,存储器装置130中的每一者可包含一或多个存储器单元阵列,例如slc、mlc、tlc、qlc或这些的任何组合。在一些实施例中,特定存储器装置可包含存储器单元的slc部分、mlc部分、tlc部分、qlc部分或plc部分。存储器装置130的存储器单元可分组为页,所述页可指用于存储数据的存储器装置的逻辑单元。举例来说,nand存储器装置中的存储器单元在其控制栅极处水平地连接到字线以形成页。对于一些类型的存储器(例如,nand),页可经分组以形成块。另外,存储器装置内的字线可被组织成多个字线组,其中每个字线组包含一或多个字线,但每个字线组包含的字线比块中包含的字线少。
29.虽然描述了例如nand型快闪存储器(例如,2d nand、3d nand)和非易失性存储器单元的3d交叉点阵列的非易失性存储器组件,但存储器装置130可基于任何其它类型的非易失性存储器,例如只读存储器(rom)、相变存储器(pcm)、自选存储器、其它基于硫族化物的存储器、铁电晶体管随机存取存储器(fetram)、铁电随机存取存储器(feram)、磁随机存取存储器(mram)、自旋转移力矩(stt)-mram、导电桥接ram(cbram)、电阻性随机存取存储器(rram)、基于氧化物的rram(oxram)、nor快闪存储器和电可擦除可编程只读存储器(eeprom)。
30.存储器子系统控制器115(或简单起见,控制器115)可与存储器装置130通信以执行操作,例如,在存储器装置130处读取数据、写入数据或擦除数据,以及其它此类操作。存储器子系统控制器115可包含硬件,例如一或多个集成电路和/或离散组件、缓冲存储器,或其组合。硬件可包含具有专用(即,硬译码)逻辑的数字电路系统以执行本文所描述的操作。存储器子系统控制器115可以是微控制器、专用逻辑电路系统(例如,现场可编程门阵列(fpga)、专用集成电路(asic)等)或其它合适的处理器。
31.存储器子系统控制器115可包含经配置以执行存储在本地存储器119中的指令的处理器117(处理装置)。在所说明的实例中,存储器子系统控制器115的本地存储器119包含经配置以存储指令的嵌入式存储器,所述指令用于执行各种过程、操作、逻辑流以及例程以
控制存储器子系统110的操作,包含处理存储器子系统110与主机系统120之间的通信。
32.在一些实施例中,本地存储器119可包含存储存储器指针、所提取数据等的存储器寄存器。本地存储器119还可包含用于存储微码的rom。尽管将图1中的实例存储器子系统110说明为包含存储器子系统控制器115,但在本公开的另一实施例中,存储器子系统110不包含存储器子系统控制器115,且可能改为依靠(例如由外部主机或由与存储器子系统分开的处理器或控制器提供的)外部控制。
33.总的来说,存储器子系统控制器115可从主机系统120接收命令或操作,且可将所述命令或操作转换成指令或合适的命令,以实现对存储器装置130和/或存储器装置140的所要存取。存储器子系统控制器115可负责其它操作,例如耗损均衡操作、无用单元收集操作、错误检测和ecc操作、加密操作、高速缓存操作和与存储器装置130相关联的逻辑地址(例如,逻辑块地址(lba)、名字空间)和物理地址(例如,物理块地址)之间的地址转译。存储器子系统控制器115还可包含主机接口电路系统以经由物理主机接口与主机系统120通信。主机接口电路系统可将从主机系统120接收的命令转换成命令指令以存取存储器装置130和/或存储器装置140,且将与存储器装置130和/或存储器装置140相关联的响应转换成用于主机系统120的信息。
34.在一些实施例中,存储器装置130包含本地媒体控制器135,所述本地媒体控制器结合存储器子系统控制器115操作以对存储器装置130的一或多个存储器单元执行操作。
35.存储器子系统110还包含认证组件113,所述认证组件负责认证从主机系统120接收的安全胶囊。举例来说,每个安全胶囊经数字签名,且认证组件113通过验证安全胶囊已进行有效签名而认证所述安全胶囊。安全胶囊用于启用存储器装置130和140的受限特征。举例来说,存储器装置130和140被初始化为未认证状态,在所述未认证状态中,存储器装置130和140不可执行用于调用受限特征的受限vs命令。主机系统120可将安全胶囊提供到认证组件113以访问存储器装置130或140中的一者的受限特征,且一旦认证组件113验证安全胶囊有效,认证组件113就将存储器装置130或140变换到已认证状态,在所述已认证状态中,可执行用于调用所述受限特征的命令。下文描述关于认证组件113的操作的其它细节。
36.在一些实施例中,存储器子系统控制器115包含认证组件113的至少一部分。举例来说,存储器子系统控制器115可包含处理器117(处理装置),所述处理器经配置以执行存储在本地存储器119中的指令以用于执行本文所描述的操作。在一些实施例中,认证组件113的至少一部分是主机系统120、应用程序或操作系统的部分。
37.图2是说明根据本公开的一些实施例的在执行用于使用安全胶囊启用存储器装置的受限特征的实例方法时安全通信环境中的组件之间的交互的数据流图。在图2的上下文中,可预先生成公钥/私钥对——公钥200和私钥201,且可在制造期间或在现场为认证组件113预配公钥200。认证组件113将公钥200存储在存储组件(例如,rom组件、otp电路、e-fuse(一次性可编程存储器)或其它专用硬件组件)中。私钥201在安全计算环境的hsm中被保护。可使用私钥201对数据进行数字签名,且可使用对应的公钥200来验证数字签名。
38.在202处,主机系统120获得安全胶囊204。举例来说,可将安全胶囊204以电子方式传输到主机系统120(例如,经由电子邮件)。在另一实例中,主机系统120可获得上面存储安全胶囊204的便携式存储装置,例如usb快闪驱动器。
39.安全胶囊204是包含制造标识符(mid)字段205、计数器值206以及(在一些实施例
中)命令列表207的数据结构(例如,供应商限定的数据结构)。mid字段205用于使安全胶囊204与特定存储器装置相关联。如果使用零值,则可将安全胶囊204与任何存储器装置一起使用。如果实际mid(非零值)包含于mid字段205中,则安全胶囊204可仅与具有指定mid的存储器装置一起使用。计数器值206用于支持防重放功能。即,计数器值206用于确保安全胶囊204仅可使用有限数目的例子(例如,一次)。命令列表207指定一或多个准许或禁止命令。在一些实施例中,命令列表207可指定可在成功胶囊验证后存取的一或多个受限命令。举例来说,存储器装置可支持100个受限命令,但安全胶囊204中的命令列表207可仅指定100个受限命令中的5个受限命令将在成胶囊验证后启用。
40.使用私钥201对安全胶囊204进行数字签名。即,如图2中所展示的安全胶囊204包含数字签名208。
41.在图2中说明的实例过程的上下文中,存储器装置130被初始化为未认证状态。在未认证状态中时,某些受限命令(例如,受限vs命令)无法发布到存储器装置130或由所述存储器装置执行。用于调用存储器装置130的受限特征的这些受限命令可仅在已认证状态时由存储器装置130发布和执行。为了将存储器装置130变换到已认证状态,主机系统120在209处将安全胶囊204提供到存储器子系统110,在所述存储器子系统中由认证组件113处理所述安全胶囊。响应于从主机系统120接收到认证发起命令(未展示),将存储器装置130置于认证进行状态(authenticating state)。当在认证进行状态中时,认证组件113在210处接收和验证安全胶囊204。部分地,对安全胶囊204的验证包含验证安全胶囊204已进行有效签名。为了验证安全胶囊204已进行有效签名,认证组件113使用公钥200执行对数字签名208的验证。如果验证失败(例如,如果使用撤销的密钥对安全胶囊204进行了签名或如果以无效密钥对安全胶囊204进行了签名),则认证组件113舍弃安全胶囊204且使存储器装置130返回到未认证状态。另外,认证组件113维持重试计数器,且如果验证失败,则认证组件113递增重试计数器。重试计数器与最大重试计数相比较,且当重试计数器达到最大重试计数时,认证组件113忽略主机系统120下载安全胶囊的进一步尝试。即,认证组件113将错误返回到主机系统120。如果发生电力循环,或安全胶囊已成功验证,且尚未达到最大重试计数,则重试计数器将复位。以此方式,重试计数器可提供对穷举(brute force)攻击的保护。
42.对安全胶囊204的验证还包含验证mid字段205中的值对应于存储器装置130以及验证计数器值206等于或大于认证组件113所维持的计数器211。如果任一验证失败,则认证组件113舍弃安全胶囊204且使存储器装置130返回到未认证状态。
43.响应于安全胶囊204的成功验证,认证组件113在212处将存储器装置130变换到已认证状态。当处于已认证状态时,存储器装置130可接受且执行在处于未认证和认证进行状态时不能够执行的受限命令(例如,受限vs命令)。基于对安全胶囊204的成功验证,认证组件113基于计数器值206更新计数器211且递增计数器211。
44.存储器装置130保持处于已认证状态,直到电力循环事件发生为止,或直到从主机系统120接收到将存储器装置130恢复到未认证状态的认证终止命令为止。存储器子系统110响应于电力循环事件或响应于接收认证终止命令而将存储器装置130恢复到未认证状态。下文参考图4根据一些实施例论述关于存储器装置130的各种安全状态的其它细节。
45.图3是说明根据实例实施例的存储器装置(例如,存储器装置130或140)的行为的状态图。如所展示,存储器装置被初始化为未认证状态300。当处于未认证状态300时,存储
器装置不能够执行来自主机系统120的某些受限命令(例如,受限vs命令)。如果从主机系统120接收到认证终止命令(“vs:结束”),则存储器装置保持处于未认证状态300。
46.存储器装置保持在未认证状态300中,直到从主机系统120接收到安全胶囊(例如,安全胶囊204)为止。安全胶囊的接收使存储器装置变换到认证进行状态305。主机系统120可使用命令将安全胶囊提供到存储器装置。当处于认证进行状态305时,认证组件113执行对安全胶囊的认证,所述认证包含验证安全胶囊已进行有效签名,如上文所指出。如果认证不成功、发生电力循环或从主机系统120接收到认证终止命令(“vs:结束”),则存储器装置返回到未认证状态300。
47.如果认证成功,则存储器装置变换到已认证状态310。当处于已认证状态310时,存储器装置能够接受和执行来自主机系统120的受限命令。存储器装置保持在已认证状态310中,直到发生电力循环或直到从主机系统120接收到认证终止命令为止。
48.图4-6是说明本公开的一些实施例的用于在存储器子系统中使用安全胶囊更换验证密钥的实例方法400的流程图。方法400可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令),或其组合。在一些实施例中,方法400由图1的认证组件113执行。尽管以特定顺序或次序来展示过程,但除非另有指定,否则可修改所述过程的次序。因此,所说明实施例仅应理解为实例,且所说明过程可按不同次序执行,且一些过程可并行地执行。另外,在各种实施例中可省去一或多个过程。因此,并非在每个实施例中都需要所有过程。其它过程流也是可能的。
49.在操作405处,处理装置使存储器装置(例如,存储器装置130)初始化为未认证状态。当处于未认证状态时,存储器装置不能够执行至少某些受限命令。举例来说,当处于未认证状态时,存储器装置不能够执行受限vs命令以调用某些受限功能。在一些情况下,这些命令对应于供应商专有命令。即,在一些实施例中,存储器装置不能够执行供应商专有命令。
50.处理装置响应于接收到安全胶囊而将存储器装置变换到认证进行状态(操作410)。所述安全胶囊可提供有从主机系统(例如,主机系统120)接收的命令。
51.在操作415处,处理装置访问使用私钥进行了数字签名的安全胶囊。所述私钥对应于公钥/私钥对,且所述对的公钥可由处理装置维持。可使用数字签名算法(例如,rsassa、椭圆曲线数字签名算法(ec-dsa)等)在安全环境下对安全胶囊进行数字签名。
52.可从主机系统接收安全胶囊。在一些实施例中,接收安全胶囊包含经由主机系统接口从主机系统接收一或多个命令。举例来说,所述安全胶囊可由主机系统提供为认证发起命令的部分或后续命令的部分。
53.在操作420处,处理装置在认证进行状态下验证安全胶囊。作为验证安全胶囊的部分,处理装置使用公钥来验证安全胶囊已进行有效签名。换句话说,处理装置使用公钥确定安全胶囊的数字签名是否有效。处理装置根据用于创建数字签名的数字签名算法(例如,rsassa、ec-dsa等)来验证数字签名。如果安全胶囊无效(例如,因为数字签名无效),则处理装置可舍弃安全胶囊、在错误日志中创建条目且将错误返回到主机系统。另外,处理装置可维持重试计数器以防止穷举攻击。举例来说,如果安全胶囊无效,则处理装置递增重试计数器。处理装置将重试计数器与最大重试计数进行比较,且一旦重试计数器达到最大重试计
数,处理装置就忽略下载安全胶囊的进一步尝试。如果发生电力循环,或安全胶囊已成功验证,且尚未达到最大重试计数,则重试计数器将复位。
54.在一些实施例中,所述安全胶囊的验证包含认证结合所述安全胶囊提供的安全凭证(例如,密码或pin码)。举例来说,安全凭证可由主机系统在认证发起命令或其中提供安全胶囊的后续命令中提供。所述安全凭证可受制于某一重试最大值。举例来说,处理装置可利用安全凭证的重试计数机制,所述机制提供对穷举和猜测攻击的抵抗。
55.在操作425处,处理装置响应于验证安全胶囊而将存储器装置变换到已认证状态。当处于已认证状态时,存储器装置能够执行在处于未认证和认证进行状态时不能够执行的受限命令。存储器装置保持在已认证状态,直到存储器装置经历电力循环或直到向存储器装置发布变换回到未认证状态的命令为止。
56.如图5中展示,在一些实施例中,方法400可包含操作505、510、515、520。根据这些实施例,操作505、510、515和520可作为其中处理装置验证安全胶囊的操作420的部分执行。
57.在操作505处,处理装置认证与安全胶囊相关联的安全凭证。举例来说,密码或pin码可建立为用于安全胶囊的初始认证机制,且密码或pin码可结合安全胶囊提供(例如,作为认证发起命令的部分)。
58.如上所指出,安全胶囊包含数字签名(例如,数字签名208)以及mid(例如,mid 205)和计数器值(例如,计数器值206)。在操作510处,处理装置验证数字签名。处理装置使用对应于公钥/私钥对的公钥来验证数字签名。如果验证失败(例如,如果使用撤销的密钥对安全胶囊进行了签名或如果以无效密钥对安全胶囊进行了签名),则处理装置舍弃所述安全胶囊且使存储器装置返回到未认证状态。
59.在操作515处,处理装置验证mid对应于存储器装置。即,处理装置验证安全胶囊中包含的mid匹配存储器装置的mid。在一些情况下,安全胶囊中的mid可以是用于指示安全胶囊可与任何存储器装置一起使用的值(例如,全部为0)。在这些情况下,不论存储器装置的mid如何,处理装置成功地验证安全胶囊中的mid。
60.在操作520处,处理装置验证安全胶囊中的计数器。为了验证安全胶囊中包含的计数器,处理装置验证安全胶囊中包含的计数器等于或大于由处理装置维持的计数器。如果mid或计数器验证失败,则处理装置舍弃安全胶囊204且使存储器装置130返回到未认证状态。
61.如图6中展示,在一些实施例中,方法400可包含操作605、610、615和620。根据这些实施例,操作605、610、615和620可作为其中处理装置验证安全胶囊的操作420的部分执行。
62.在操作605处,处理装置接收命令。所述命令可从主机系统接收或基于来自主机系统的命令。在操作610处,处理装置确定所述命令是否是准许命令类型。处理装置基于与安全胶囊一起包含的命令列表(例如,命令列表207)确定所述命令是否是准许命令类型。取决于实施例,命令列表可指定禁止命令类型或准许命令类型。处理装置可基于所述命令的命令类型包含于准许命令类型的列表中或未包含于禁止命令类型的列表中而确定所述命令是否是准许命令类型。
63.如果处理装置确定所述命令对应于准许命令类型,则处理装置在操作615处启用所述命令的执行。即,取决于实施例,处理装置可执行所述命令或通过将适当命令或指令提供到例如本地媒体控制器等另一组件而使所述组件执行所述命令。
64.如果处理装置确定所述命令是禁止命令类型,则处理装置在操作620处中止所述命令。处理装置可进一步向主机系统提供所述命令被禁止和/或所述命令已中止的指示。
65.鉴于以上公开内容,下文阐述各种实例。应注意,独立地或组合地采用的实例的一或多个特征应被视为处于本技术的公开内容内。
66.实例1是一种系统,其包括存储器装置以及耦合到所述存储器装置的处理装置,所述处理装置经配置以执行包括以下各项的操作:将存储器装置初始化为未认证状态,在所述未认证状态中,所述存储器装置不能够执行一或多个受限命令;访问使用私钥进行了数字签名的安全胶囊;以及基于使用与所述私钥相对应的公钥验证所述安全胶囊已进行有效签名而将所述存储器装置变换到已认证状态,所述存储器装置能够在处于所述已认证状态时执行所述一或多个受限命令。
67.实例2包含实例1的系统,其中所述操作还包括:在将所述存储器装置变换到所述已认证状态之前验证所述安全胶囊,对所述安全胶囊的所述验证包含验证所述安全胶囊已进行有效签名。
68.实例3包含实例1或2中的任何一或多者的系统,其中:所述安全胶囊包括制造标识符;且对所述安全胶囊的所述验证还包括验证所述制造标识符对应于所述存储器装置。
69.实例4包含实例1-3中的任何一或多者的系统,其中:所述安全胶囊包括第一计数器值;所述存储器装置维持第二计数器值;且对所述安全胶囊的所述验证还包括在变换到所述已认证状态之前确定所述第二计数器值大于或等于所述第一计数器值。
70.实例5包含实例1-4中的任何一或多者的系统,其中操作还包括:基于所述第一计数器值更新所述第二计数器值。
71.实例6包含实例1-5中的任何一或多者的系统,其中对所述安全胶囊的所述验证还包括认证结合所述安全胶囊提供的安全凭证。
72.实例7包含实例1-6中的任何一或多者的系统,其中:所述安全胶囊指定命令类型列表;且所述操作还包括:在所述存储器装置处于所述已认证状态时接收命令;以及基于所述命令类型列表来确定所述命令是否是禁止命令类型。
73.实例8包含实例1-7中的任何一或多者的系统,其中所述操作还包括:基于确定所述命令是禁止命令类型而中止所述命令。
74.实例9包含实例1-8中的任何一或多者的系统,其中所述操作还包括:响应于电力循环事件而将所述存储器装置恢复到所述未认证状态。
75.实例10包含实例1-9中的任何一或多者的系统,其中所述操作还包括:响应于认证终止命令而将所述存储器装置恢复到所述未认证状态。
76.实例11是一种方法,其包括:将存储器装置初始化为其中所述存储器装置不能够执行一或多个受限命令的未认证状态;访问使用私钥进行了数字签名的安全胶囊;以及使用与所述私钥相对应的公钥来验证所述安全胶囊已进行有效签名;基于验证所述安全胶囊已进行有效签名而将所述存储器装置变换到已认证状态,所述存储器装置能够在处于所述已认证状态时执行所述一或多个受限命令。
77.实例12包含实例11的方法,且还包括:在将所述存储器装置变换到所述已认证状态之前验证所述安全胶囊,对所述安全胶囊的所述验证包含验证所述安全胶囊已进行有效签名。
78.实例13包含实例11或12中的任何一或多者的方法,其中:所述安全胶囊包括制造标识符;且对所述安全胶囊的所述验证还包括验证所述制造标识符对应于所述存储器装置。
79.实例14包含实例11-13中的任何一或多者的方法,其中:所述安全胶囊包括第一计数器值;所述存储器装置维持第二计数器值;且对所述安全胶囊的所述验证还包括在变换到所述已认证状态之前确定所述第二计数器值小于或等于所述第一计数器值。
80.实例15包含实例11-14中的任何一或多者的方法,且还包括:基于所述第一计数器值更新所述第二计数器值。
81.实例16包含实例11-15中的任何一或多者的方法,其中对所述安全胶囊的所述验证还包括认证结合所述安全胶囊提供的安全凭证。
82.实例17包含实例11-16中的任何一或多者的方法,其中:所述安全胶囊指定命令类型列表;且所述方法还包括:在所述存储器装置处于所述已认证状态时接收命令;以及基于所述命令类型列表来确定所述命令是否是禁止命令类型。
83.实例18包含实例11-17中的任何一或多者的方法,还包括:基于确定所述命令是禁止命令类型而中止所述命令。
84.实例19包含实例11-18中的任何一或多者的方法,且还包括:响应于电力循环事件或认证终止命令而将所述存储器装置恢复到所述未认证状态。
85.实例20是一种包括指令的计算机可读存储媒体,所述指令在由处理装置执行时将所述处理装置配置成执行包括以下各项的操作:将存储器装置初始化为其中所述存储器装置不能够执行一或多个受限命令的未认证状态;访问使用私钥进行了数字签名的安全胶囊;以及验证所述安全胶囊,对所述安全胶囊的所述验证包括使用与所述私钥相对应的公钥来验证所述安全胶囊已进行有效签名;基于验证所述安全胶囊而将所述存储器装置变换到已认证状态,所述存储器装置能够在处于所述已认证状态时执行所述一或多个受限命令。
86.图7说明呈计算机系统700的形式的实例机器,在所述计算机系统内可执行指令集,以用于使所述机器执行本文中所论述的任何一或多个方法。图7说明计算机系统700的实例机器,在所述计算机系统内可执行指令集,以用于使所述机器执行本文中所论述的任何一或多个方法。在一些实施例中,计算机系统700可对应于包含、耦合到或利用存储器子系统(例如,图1的存储器子系统110)的主机系统(例如,图1的主机系统120),或可用于执行控制器的操作(例如,运行操作系统以执行与图1的认证组件113相对应的操作)。在替代实施例中,所述机器可连接(例如联网)到局域网(lan)、内联网、外联网和/或互联网中的其它机器。机器可作为对等(或分布式)网络环境中的对等机器或作为云计算基础设施或环境中的服务器或客户端机器而以客户端-服务器网络环境中的服务器或客户端机器的能力进行操作。
87.所述机器可以是个人计算机(pc)、平板pc、机顶盒(stb)、个人数字助理(pda)、蜂窝电话、网络设备、服务器、网络路由器、交换机或桥接器,或能够(依序或以其它方式)执行指定待由所述机器采取的动作的指令集的任何机器。此外,尽管说明了单个机器,但还应认为术语“机器”包含个别地或共同地执行一组(或多组)指令以执行本文所论述的任何一或多个方法的任何机器集合。
88.实例计算机系统700包含经由总线730彼此通信的处理装置702、主存储器704(例如,rom、快闪存储器、例如sdram或rdram的dram,等)、静态存储器706(例如,快闪存储器、静态随机存取存储器(sram)等)以及数据存储系统718。
89.处理装置702表示一或多个通用处理装置,例如微处理器、中央处理单元等。更具体地说,处理装置可以是复杂指令集计算(cisc)微处理器、精简指令集计算(risc)微处理器、超长指令字(vliw)微处理器,或实施其它指令集的处理器,或实施指令集的组合的处理器。处理装置702也可以是一或多个专用处理装置,例如asic、fpga、数字信号处理器(dsp)、网络处理器等。处理装置702经配置以执行用于执行本文所论述的操作和步骤的指令726。计算机系统700还可包含网络接口装置708以通过网络720通信。
90.数据存储系统718可包含机器可读存储媒体724(也称为计算机可读媒体),其上存储有体现本文所描述的任何一或多个方法或功能的一或多组指令726或软件。指令726还可在其由计算机系统700执行的期间完全或至少部分地驻存在主存储器704内和/或处理装置702内,主存储器704和处理装置702也构成机器可读存储媒体。机器可读存储媒体724、数据存储系统718和/或主存储器704可对应于图1的存储器子系统110。
91.在一个实施例中,指令726包含用以实施对应于安全组件(例如图1的认证组件113)的功能的指令。尽管在实例实施例中将机器可读存储媒体724展示为单个媒体,但术语“机器可读存储媒体”应被认为包含存储一组或多组指令的单个媒体或多个媒体。术语“机器可读存储媒体”还应被认为包含能够存储或编码供机器执行且使机器执行本公开的任何一或多个方法的指令集的任何媒体。因此,应认为术语“机器可读存储媒体”包含但不限于固态存储器、光学媒体以及磁性媒体。
92.已在针对计算机存储器内的数据位的操作的算法和符号表示方面呈现了先前详细描述的一些部分。这些算法描述和表示是数据处理领域中的技术人员用以将其工作的主旨最有效地传达给所属领域的其他技术人员的方式。算法在此处以及通常被认为是产生所要结果的操作的自洽序列。所述操作是要求对物理量进行物理操控的操作。这些量通常但未必呈能够被存储、组合、比较和以其它方式操控的电或磁信号的形式。已证明主要出于通用的原因将这些信号称为位、值、元素、符号、字符、项、数字等有时是方便的。
93.然而,应牢记,所有这些和类似术语应与适当物理量相关联,且仅仅是应用于这些量的方便标签。本公开可指计算机系统或类似电子计算装置的动作和过程,其操控且将计算机系统的寄存器和存储器内表示为物理(电子)量的数据变换成类似地表示为计算机系统存储器或寄存器或其它此类信息存储系统内的物理量的其它数据。
94.本公开还涉及用于执行本文中的操作的设备。此设备可出于既定目的而专门构造,或其可包含由存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。此类计算机程序可存储在各自耦合到计算机系统总线的计算机可读存储媒体中,例如但不限于包含软盘、光盘、cd-rom和磁性光盘在内的任何类型的盘、rom、ram、eprom、eeprom、磁卡或光卡,或适于存储电子指令的任何类型的媒体。
95.本文中呈现的算法和显示在本质上不与任何特定计算机或其它设备相关。各种通用系统可与根据本文中的教示的程序一起使用,或可证明构建更专用设备以执行所述方法是方便的。将如下文描述中所阐述的那样来呈现多种这些系统的结构。另外,未参考任何特定编程语言来描述本公开。应了解,可使用各种编程语言来实施本文中所描述的本公开的
教示。
96.本公开可提供为计算机程序产品或软件,其可包含机器可读媒体,所述机器可读媒体上存储有指令,所述指令可用于编程计算机系统(或其它电子装置)以执行根据本公开的过程。机器可读媒体包含用于以机器(例如,计算机)可读形式存储信息的任何机构。在一些实施例中,机器可读(例如计算机可读)媒体包含机器(例如计算机)可读存储媒体,例如rom、ram、磁盘存储媒体、光学存储媒体、快闪存储器组件等。
97.在前述说明书中,已参考其特定实例实施例描述了本公开的实施例。应显而易见的是,可在不脱离如所附权利要求书中阐述的本公开的实施例的更广精神和范围的情况下对本公开进行各种修改。因此,应在说明性意义上而非限制性意义上看待说明书和附图。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献