支持多因素认证的存储器子系统的制作方法

文档序号:32298988发布日期:2022-11-23 06:23阅读:162来源:国知局
支持多因素认证的存储器子系统的制作方法
支持多因素认证的存储器子系统
1.优先权申请
2.本技术要求于2020年2月3日提交的美国申请序列号16/780,532的优先权益,所述美国申请通过引用全文并入本文中。
技术领域
3.本公开的实施例大体上涉及存储器子系统,且更确切地说,涉及支持多因素认证的存储器子系统。


背景技术:

4.存储器子系统可包含存储数据的一或多个存储器组件。存储器组件可为例如非易失性存储器组件及易失性存储器组件。一般来说,主机系统可利用存储器子系统以在存储器组件处存储数据且从存储器组件检索数据。
附图说明
5.根据下文提供的具体实施方式及本公开的各种实施例的附图将更加充分地理解本公开。
6.图1说明根据本公开的一些实施例的包含配置用于多因素认证的存储器子系统的实例计算环境。
7.图2是说明根据本公开的一些实施例的在执行用于多因素认证的实例方法时在计算环境中的组件之间的交互的泳道图。
8.图3是说明根据本公开的一些实施例的在执行用于多因素认证的实例方法时在计算环境的组件之间的交互的数据流图。
9.图4及5是说明根据本公开的一些实施例的用于存储器子系统中的多因素认证的实例方法的流程图。
10.图6是本公开的实施例可在其中操作的实例计算机系统的框图。
具体实施方式
11.本公开的各方面涉及存储器子系统中的多因素认证。存储器子系统可为存储装置、存储器模块,或存储装置及存储器模块的混合。下文结合图1描述存储装置及存储器模块的实例。一般来说,主机系统可利用包含存储数据的一或多个存储器装置的存储器子系统。主机系统可提供数据以存储于存储器子系统处,且可请求从存储器子系统检索数据。
12.存储器子系统可存储仅应由专门授权的用户存取的机密的、专用的或其它敏感信息。本公开的方面通过实施用于存取存储器子系统的多因素认证过程来解决前述及其它问题,所述多因素认证过程防止对由存储器子系统存储的信息的未授权存取。存储器子系统可经配置以防止存取存储于其中的数据,除非且直到成功地执行多因素认证过程。
13.作为多因素认证过程的一部分,将非对称密钥对的公钥(在本文中也称为“密码密
钥”)提供到存储器子系统(例如,在存储器子系统的用户配置期间),而将私钥维持在安全环境内,所述安全环境例如企业服务器的硬件安全模块(hsm)、受信任平台模块(tpm),或在存储器子系统外部且独立于存储器子系统的智能卡。
14.主机系统向存储器子系统提交请求以发起与存储器子系统的认证会话。在一些实施例中,所述请求可包含存取由存储器子系统存储的特定数据(例如,由存储器子系统存储的文件系统的特定文件夹或目录)的请求。响应于所述请求,存储器子系统控制器生成质询数据且将质询数据返回到主机系统。主机系统又可基于质询数据且在一些实施例中基于用户供应的密码而生成启用数据。主机系统进一步基于启用数据生成数字签名。举例来说,主机系统可使用例如rivest shamir adleman(rsa)算法的密码算法来生成非对称加密签名。启用数据的签名可在安全环境内发生。主机系统向存储器子系统控制器提供认证数据,所述认证数据包括启用数据及数字签名。存储器子系统控制器使用公钥验证数字签名且校验启用数据。
15.基于数字签名的成功验证及启用数据的校验,存储器子系统控制器实现对由存储器子系统存储的数据的至少一部分的存取。举例来说,存储器子系统控制器可实现对初始请求中指定的数的存取。应了解,上文所描述的多因素认证过程在存储器子系统中的使用通过确保由存储器子系统存储的数据仅由授权方存取而减少漏洞。
16.图1说明根据本公开的一些实施例的包含存储器子系统110的实例计算环境100。存储器子系统110可包含媒体,例如存储器组件112-1到112-n(下文还称为“存储器装置”)。存储器组件112-1到112-n可为易失性存储器组件、非易失性存储器组件或此类组件的组合。存储器子系统110可为存储装置、存储器模块,或存储装置及存储器模块的混合。存储装置的实例包含固态驱动器(ssd)、快闪驱动器、通用串行总线(usb)快闪驱动器、嵌入式多媒体控制器(emmc)驱动器、通用快闪存储(ufs)驱动器及硬盘驱动器(hdd)。存储器模块的实例包含双列直插式存储器模块(dimm)、小型dimm(so-dimm)及非易失性双列直插式存储器模块(nvdimm)。
17.计算环境100可包含耦合到存储器系统的主机系统120。存储器系统可包含一或多个存储器子系统110。在一些实施例中,主机系统120耦合到不同类型的存储器子系统110。图1说明耦合到一个存储器子系统110的主机系统120的一个实例。举例来说,主机系统120使用存储器子系统110,以将数据写入到存储器子系统110及从存储器子系统110读取数据。如本文中所使用,“耦合到”通常指代组件之间的连接,其可为间接通信连接或直接通信连接(例如,不具有介入组件),无论有线还是无线,包含例如电连接、光学连接、磁性连接等连接。
18.主机系统120可为计算装置,例如台式计算机、膝上型计算机、网络服务器、移动装置、嵌入式计算机(例如,包含于车辆、工业设备或联网商业装置中的嵌入式计算机),或包含存储器及处理装置的此类计算装置。主机系统120可包含或耦合到存储器子系统110,使得主机系统120可从存储器子系统110读取数据或将数据写入到存储器子系统110。主机系统120可经由物理主机接口耦合到存储器子系统110。物理主机接口的实例包含但不限于串行高级技术附件(sata)接口、外围组件互连高速(pcie)接口、通用串行总线(usb)接口、光纤通道接口、串行连接的scsi(sas)接口、系统管理总线(smbus)、内部集成电路(i2c)总线)等。物理主机接口可用于在主机系统120与存储器子系统110之间传输数据。当存储器子系
统110通过pcie接口与主机系统120耦合时,主机系统120可进一步利用nvm高速(nvme)接口来存取存储器组件112-1到112-n。物理主机接口可提供用于在存储器子系统110与主机系统120之间传递控制、地址、数据及其它信号的接口。
19.存储器组件112-1到112-n可包含不同类型的非易失性存储器组件及/或易失性存储器组件的任何组合。非易失性存储器组件的实例包含“与非”(nand)型快闪存储器。存储器组件112-1到112-n中的每一个可包含存储器单元的一或多个阵列,所述存储器单元例如单层级单元(slc)或多层级单元(mlc)、三层级单元(tlc)或四层级单元(qlc)。在一些实施例中,特定存储器组件可包含存储器单元的slc部分以及另一类型(例如,mlc、tlc、qlc)的部分。存储器单元中的每一个可存储供主机系统120使用的一或多个数据位。尽管描述例如nand型快闪存储器的非易失性存储器组件,但存储器组件112-1到112-n可基于例如易失性存储器的任何其它类型的存储器。在一些实施例中,存储器组件112-1到112-n可为但不限于随机存取存储器(ram)、只读存储器(rom)、动态随机存取存储器(dram)、同步动态随机存取存储器(sdram)、相变存储器(pcm)、磁随机存取存储器(mram)、或非(nor)快闪存储器、电可擦除可编程只读存储器(eeprom)及非易失性存储器单元的交叉点阵列。非易失性存储器单元的交叉点阵列可结合可堆叠交叉网格化数据存取阵列基于体电阻的改变来执行位存储。另外,与许多基于快闪的存储器相比,交叉点非易失性存储器可执行就地写入操作,其中可在先前未擦除非易失性存储器单元的情况下对非易失性存储器单元进行编程。此外,如上所指出,存储器组件112-1到112-n的存储器单元可经分组以形成页,所述页可指用于存储数据的存储器组件的单元。对于一些类型的存储器(例如,nand),页可进行分组以形成块。
20.存储器子系统控制器115(下文称为“控制器”)可与存储器组件112-1到112-n通信以执行操作,例如在存储器组件112-1到112-n处读取数据、写入数据或擦除数据,及其它此类操作。控制器115可包含硬件,例如一或多个集成电路及/或离散组件、缓冲存储器或其组合。控制器115可为微控制器、专用逻辑电路系统(例如现场可编程门阵列(fpga)、专用集成电路(asic)等)或另一合适的处理器。控制器115可包含经配置以执行存储在本地存储器119中的指令的处理器(例如,处理装置)117。在所说明的实例中,控制器115的本地存储器119包含经配置以存储指令的嵌入式存储器,所述指令用于执行控制存储器子系统110的操作的各种过程、操作、逻辑流及例程,所述操作包含处理存储器子系统110与主机系统120之间的通信。在一些实施例中,本地存储器119可包含存储存储器指针、提取的数据等的存储器寄存器。本地存储器119还可包含用于存储微码的rom。虽然已将在图1中的实例存储器子系统110说明为包含控制器115,但在本公开的另一实施例中,存储器子系统110可不包含控制器115,且可替代地依靠外部控制(例如,由外部主机或由与存储器子系统分离的处理器或控制器提供)。
21.一般来说,控制器115可从主机系统120接收命令或操作,并且可将所述命令或操作转换为指令或恰当的命令,以实现对存储器组件112-1到112-n的所需存取。控制器115可负责其它操作,例如耗损均衡操作、垃圾收集操作、错误检测及错误校正码(ecc)操作、加密操作、高速缓存操作,及在与存储器组件112-1到112-n相关联的逻辑块地址与物理块地址之间的地址转换。控制器115可进一步包含主机接口电路系统,以经由物理主机接口与主机系统120通信。主机接口电路系统可将从主机系统120接收到的命令转换成命令指令以存取
存储器组件112-1到112-n,以及将与存储器组件112-1到112-n相关联的响应转换成用于主机系统120的信息。
22.存储器子系统110还可包含未说明的额外电路系统或组件。在一些实施例中,存储器子系统110可包含高速缓存或缓冲器(例如,dram)及地址电路系统(例如,行解码器及列解码器),其可从控制器115接收地址并且对地址进行解码以存取存储器组件112-1到112-n。
23.存储器子系统110还包含促进与存储器子系统110的多因素认证的安全组件113。安全组件113可包含于控制器115或存储器组件112-1到112-n中的任何一或多者中。在一些实施例中,控制器115包含安全组件113的至少一部分。举例来说,控制器115可包含处理器117(处理装置),其经配置以执行存储在本地存储器119中以用于执行本文中所描述的安全组件113的操作的指令。在一些实施例中,安全组件113是主机系统120、应用程序或操作系统的一部分。
24.安全组件113可进一步包含密钥存储区109以存储由安全组件113用于加密及/或校验信息的一或多个密码密钥。举例来说,密钥存储区109可存储由安全组件113用于加密信息或校验使用对应私钥签名的信息的公钥,所述对应私钥由安全密钥存储组件130维持。在一些实施例中,密钥存储区109在存储器子系统控制器115的本地存储器(例如,本地存储器119)内实施。在一些实施例中,密钥存储区109在存储器组件112-1到112-n中的一或多者内实施。密钥存储区109可在非易失性存储器内实施,使得在系统重启后,存储于其中的密码密钥不会丢失。
25.为了发起多因素认证过程,存储器子系统110从主机系统120接收请求。在一些实施例中,所述请求可包含存取由存储器子系统110存储的特定数据(例如,由存储器子系统110存储的文件系统的特定文件夹或目录)的请求。响应于所述请求,安全组件113生成包括至少随机数的质询数据并且将所述质询数据返回到主机系统120。主机系统120又可基于质询数据且在一些实施例中基于用户供应的密码而生成启用数据。主机系统120进一步使用由安全密钥存储组件130维持的私钥基于启用数据生成数字签名。主机系统120向安全组件113提供认证数据,所述认证数据包括启用数据及数字签名。安全组件113使用公钥验证数字签名且校验启用数据。
26.基于数字签名的成功验证及启用数据的校验,安全组件113实现对由存储器组件112-1到112-n存储的数据的至少一部分的存取(例如,对初始请求中指定的数据的存取)。上文所描述的多因素认证过程的细节可由主机系统120的用户隐藏或大部分遮挡。举例来说,从用户的角度来看,进行存取数据的请求(在一些实施例中,以及输入密码),并且只要在主机系统120与安全密钥存储组件130之间实现适当通信,就向用户提供对所请求数据的存取。
27.在一些实施例中,安全密钥存储组件130可为或包含智能卡。智能卡是包含嵌入式电路系统以执行一或多个功能且包含内部存储器以至少存储私钥的装置。智能卡可通过直接物理接触或通过远程非接触式射频接口连接到读取器组件(未展示)。读取器组件可从智能卡读取信息且经由接口与主机系统120通信。举例来说,存储器子系统110可包含应用程序编程接口(api),其允许读取器组件与控制器115的安全组件113交换信息。在一些实施例中,用户可能需要将个人标识号(pin)供应到智能卡,以便存取由智能卡存储的信息,例如
私钥。在其中利用智能卡来存储私钥的实施例中,多因素认证过程将存储器子系统110绑定到特定用户,即,所述智能卡被指派到的用户。根据这些实施例,存储器子系统110将保持在无法存取数据的锁定状态中,直到智能卡由读取器组件读取。
28.在一些实施例中,安全密钥存储组件130可为或包含受信任平台模块(tpm)。tpm时嵌入主机系统120中的专用芯片,所述专用芯片存储专用于主机系统120进行认证的私钥。在利用tpm来存储私钥的实施例中,多因素认证过程将存储器子系统110绑定到主机系统120。
29.在一些实施例中,安全密钥存储组件130可为或包含企业服务器的hsm,其形成主机系统120在其上操作的企业网的一部分。根据这些实施例,安全组件113可经由有线或无线网络连接与安全密钥存储组件130通信及交换数据。在利用企业服务器的hsm来存储私钥的实施例中,多因素认证过程将存储器子系统110绑定到企业网络。
30.安全组件113可经由物理主机接口或可专门配置为诊断或维护端口的本机边带通信端口(例如,通用异步接收器/发射器(uart)端口或支持双向通信的其它串行通信端口)与主机系统120通信。
31.图2是说明根据本公开的一些实施例的在执行用于多因素认证的实例方法200时在计算环境100中的组件之间的交互的泳道图。在方法200之前,预生成非对称加密密钥对-公钥及私钥,且可向安全组件113提供公钥,而安全密钥存储组件130维持私钥。安全组件113将公钥存储在密钥存储区109中。此外,存储器子系统110经配置以防止存取数据,直到执行方法200。
32.如图2中所示,方法200开始于操作202,其中主机系统120将请求发送到安全组件113,以发起与存储器子系统110的认证会话(例如,存取由存储器子系统110存储的数据)。在一些实施例中,所述请求可指定要存取的特定数据。
33.基于接收到请求,安全组件113在操作204处生成质询数据。质询数据包括至少密码临时数以确定反重放保护。密码临时数包括随机数。因此,质询数据的生成包括生成随机数。安全组件113可利用许多已知随机数生成技术中的一个来生成随机数。在一些实施例中,质询数据可进一步包含用于装置特定信息的额外字段,所述字段可包含与装置相关联的标识符以及描述装置的方面的其它信息(例如,制造标识符)。在操作206处,安全组件113响应于请求而向主机系统120提供质询数据。在质询数据中包含装置特定的信息确保质询数据可能已经仅由存储器子系统控制器生成,并且防止另一装置能够再现质询数据。
34.在操作208处,主机系统120基于质询数据生成启用数据。所述启用数据包括至少密码临时数,并且在一些实施例中,还可包含用户供应的密码(例如,经由由主机系统120提供的用户接口)。因此,在这些实施例中,启用数据的生成包括将质询数据与用户供应的密码组合。
35.主机系统120在操作210处基于启用数据生成数字签名。主机系统120通过使用由安全密钥存储组件130维持的私钥对启用数据以密码方式进行签名来生成数字签名,所述安全密钥存储组件与主机系统120通信。在操作212处,主机系统120向安全组件113提供数字签名及启用数据。
36.在操作214处,安全组件113使用公钥验证数字签名。如果安全组件113确定数字签名无效,则认证失败且方法200结束。否则,如果安全组件113确定数字签名有效,则安全组
件113在操作216处校验启用数据。启用数据的校验可包含校验包含在启用数据中的密码临时数的长度;校验包含在启用数据中的质询数据与在操作204处生成的质询数据匹配;及在一些实施例中,校验有效密码包含在启用数据中。通过包含仅使用一次的随机数(密码临时数),质询数据防止重放攻击。
37.在操作218处,安全组件113提供对由存储器子系统110存储的数据的至少一部分的存取。在一些实施例中,安全组件113可提供对由存储器子系统110存储的整个数据集的存取。在其它实施例中,安全组件113可提供对仅由存储器子系统110存储的数据的子集的存取。举例来说,安全组件113可提供仅对在发起认证会话的请求中指定的所请求数据的存取。
38.图3是说明根据本公开的一些实施例的在执行用于多因素认证的实例方法时在计算环境100的组件之间的交互的数据流图。在图3的上下文中,可预生成非对称加密密钥对-公钥300及私钥304,且可为安全组件113配备公钥300,而安全密钥存储组件130维持私钥304。安全组件113将公钥300存储在密钥存储区109中。在一些实例中,安全密钥存储组件130可为或包括智能卡及/或智能读卡器、tpm,或企业服务器的hsm。安全组件113防止对由存储器子系统110存储的数据的存取,直到执行多因素认证过程,如下文所描述。
39.如图所示,主机系统120将请求306发送到安全组件113以发起与存储器子系统110的认证会话。在一些实施例中,请求306可指定要存取的特定数据。举例来说,请求306可包含物理块地址或对应于所请求数据的其它资源标识符。地址或其它标识符可识别所请求数据存储在存储器组件112-1到112-n中的一或多个上的位置。举例来说,地址或其它标识符可对应于由存储器组件112-1到112-n中的一个存储的文件系统的文件夹或目录。
40.基于接收到请求,安全组件113生成包括密码临时数303的质询数据302。密码临时数303可包含在质询数据302中以确保反重放保护。密码临时数303包括随机数。因此,质询数据302的生成包括生成随机数。安全组件113可利用许多已知随机数生成技术中的一个来生成随机数。安全组件113响应于请求306而向主机系统120提供质询数据302。
41.主机系统120生成包括至少质询数据302的启用数据308。在一些实施例中,作为认证过程的一部分,主机系统120的用户310可供应密码312(例如,经由由主机系统120提供的用户接口)。根据这些实施例,启用数据308包括质询数据302及密码312的组合。因此,在这些实施例中,启用数据308的生成包括将质询数据302与密码312组合。
42.主机系统120基于启用数据生成数字签名314。主机系统120通过使用由安全密钥存储组件130存储的私钥304对启用数据308以密码方式进行签名(在316处)来生成数字签名314,所述安全密钥存储组件与主机系统120通信。主机系统120通过将数字签名314与启用数据308组合来生成认证数据318,并且将认证数据318提供到安全组件113。
43.在320处,安全组件113使用公钥300基于质询的数据302验证数字签名314。如果安全组件113确定数字签名314无效,则认证失败。否则,如果安全组件113确定数字签名314有效,则安全组件113在322处校验启用数据308。如下文将进一步详细地论述,启用数据308的校验可包含校验包含在启用数据308中的密码临时数303的长度;校验包含在启用数据308中的质询数据与质询数据302匹配;及在一些实施例中,校验密码312有效。
44.在324处,安全组件113通过解锁存储器组件112-1到112-n中的一或多个而提供对由存储器子系统110存储的数据的至少一部分的存取。在一些实施例中,安全组件113可提
供对由存储器子系统110存储的整个数据集的存取。在其它实施例中,安全组件113可提供对仅由存储器子系统110存储的数据的子集的存取。举例来说,安全组件113可提供仅对请求306中指定的所请求数据的存取。上文所描述的多因素认证过程的细节可由用户310隐藏或大部分遮挡。举例来说,从用户310的角度来看,进行存取数据的请求(在一些实施例中,以及输入密码),并且只要在主机系统120与安全密钥存储组件130之间实现适当通信,就向用户310提供存取权。
45.图4及5是说明根据本公开的一些实施例的用于存储器子系统中的多因素认证的实例方法400的流程图。方法400可通过处理逻辑来执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令),或其组合。在一些实施例中,由图1的安全组件113执行方法400。尽管以特定顺序或次序来展示过程,但除非另有指定,否则可修改所述过程的次序。因此,所说明实施例应仅理解为实例,且所说明过程可以不同次序进行,且一些过程可并行地进行。另外,在各个实施例中可省略一或多个过程。因此,在每个实施例中并不需要所有过程。其它过程流程也是可能的。
46.在操作405处,处理装置接收发起与存储器子系统的认证会话的请求。在一些实施例中,所述请求可包含存取来自存储器子系统(例如,存储器子系统110)的特定数据的请求。举例来说,所述请求可包含对应于存储器组件112-1到112-n中的一个或其部分的标识符或地址,其中存储所请求数据。举例来说,所请求数据可对应于由存储器组件112-1到112-n中的一个存储的文件系统的文件夹或目录。可从主机系统120接收请求。在一些实施例中,接收请求包含经由主机系统接口从主机系统接收一或多个命令。在一些实施例中,接收所述请求包含经由通信端口(例如,uart端口或支持双向通信的其它串行通信端口)从主机系统接收所述请求。
47.在操作410处,处理装置响应于接收到所述请求而生成质询数据。质询数据包括至少密码临时数。密码临时数包括随机数。因此,质询数据的生成包含生成随机数。处理装置可使用许多已知随机数发生器中的一者生成随机数。
48.在一些实施例中,质询数据可包括用于描述存储器子系统的装置特定信息的额外字段,所述额外字段可包含与装置相关联的标识符以及描述装置的各方面的其它信息。根据这些实施例,生成质询数据可进一步包含将密码临时数与装置特定的信息组合。
49.在操作415处,处理装置响应于请求而提供质询数据。举例来说,处理装置可响应于从主机系统120接收的请求而将质询数据返回到主机系统120。
50.在操作420处,处理装置接收认证数据。认证数据包括启用数据及数字签名。启用数据至少包括由处理装置生成的质询数据。在一些实施例中,启用数据可进一步包括由主机系统120的用户310供应的密码。通过使用私钥以密码方式对启用数据进行签名来生成数字签名。举例来说,取决于实施例,主机系统120可使用私钥对质询数据或质询数据及密码的组合以密码方式进行签名。
51.处理装置使用与用于创建数字签名的私钥相对应的公钥基于质询数据而验证数字签名(在操作425处)。举例来说,处理装置可使用存储在密钥存储区109中的公钥。更具体来说,处理装置可利用在生成数字签名时使用的非对称密码算法(例如,rsa)来使用公钥验证数字签名。
52.根据一些实施例,处理装置可通过使用公钥基于质询数据而生成散列数据,使用公钥对数字签名进行解密,及将散列数据与解密数据相比较以校验两个值匹配来验证数字签名。如果值不匹配(未展示),则认证失败。
53.否则,方法400前进到操作430,其中处理装置校验启用数据。下面参考图5讨论关于启用数据的校验的更多细节。
54.在操作435处,处理装置实现对由存储器子系统存储的数据的至少一部分的存取。也就是说,处理装置解锁存储器子系统以允许用户存取存储于其上的数据。处理装置可解锁单个存储器组件的一或多个存储器组件或一或多个部分。
55.在一些实施例中,处理装置可提供对仅由存储器子系统存储的数据的部分的存取。根据这些实施例,处理装置存取的数据的部分对应于在请求中指定的数据。因此,在这些实施例中,处理装置可以实现对由仅存储器子系统的存储器组件的子集或仅存储器组件中的一个的部分存储的数据的存取。
56.处理装置提供对整个存储器子系统的存取。换句话说,处理装置解锁整个存储器子系统,由此允许用户存取由存储器子系统的存储器组件中的任一个存储的数据。
57.如图5中所示,在一些实施例中,方法400可包含操作431、432及433。根据这些实施例,操作431、432及433可作为操作430的一部分执行,其中处理装置校验启用数据。在操作431处,处理装置校验包含在启用数据中的密码临时数的长度。也就是说,处理装置将在操作410处生成的密码临时数与包含在认证数据中的密码临时数相比较以确保长度(例如,位数)相同。
58.在操作432处,处理装置校验包含在启用数据中的质询数据。也就是说,处理装置将包含在启用数据中的质询数据与在操作410处生成的质询数据相比较以确认两个值匹配。在操作433处,处理装置还校验包含在启用数据中的密码以确认已经提供正确的密码。
59.实例
60.实例1是一种系统,其包括:存储器组件;及存储器子系统控制器,其可操作地与所述存储器组件耦合,以执行包括以下项的操作:从主机系统接收发起与存储器子系统的认证会话的请求;响应于所述请求生成质询数据,所述质询数据包括密码临时数;向所述主机系统提供所述质询数据;从所述主机系统接收认证数据,所述认证数据包括数字签名及包含至少所述质询数据的启用数据,所述数字签名通过使用私钥对所述启用数据以密码方式进行签名来生成;基于所述质询数据且使用对应于所述私钥的公钥来验证所述数字签名;及至少部分地基于验证所述数字签名而提供对由存储器子系统的存储器组件存储的数据的至少一部分的存取。
61.在实例2中,根据实例1所述的请求任选地包括存取存储在所述存储器组件中的所述数据的所述部分的请求。
62.在实例3中,根据实例1及2中任一项所述的操作任选地包括生成对应于所述密码临时数的随机数。
63.在实例4中,根据实例1至3中任一项所述的启用数据任选地是所述质询数据与密码的组合。
64.在实例5中,根据实例1至4中任一项所述的操作任选地包括提供对所述数据的至少部分的存取进一步基于校验所述启用数据。
65.在实例6中,根据实例1至5中任一项所述的所述启用数据的所述校验任选地包括校验包含在所述启用数据中的所述密码临时数的长度;及校验包含在所述启用数据中的所述质询数据。
66.在实例7中,根据实例1至6中任一项所述的启用数据任选地包括密码,并且实例1至7中任一项中的所述启用的所述校验任选地包括校验所述密码。
67.在实例8中,根据实例1至7中任一项所述的私钥任选地由通信地耦合到所述存储器子系统控制器的智能卡存储。
68.在实例9中,根据实例1至7中任一项所述的私钥任选地由所述主机系统的受信任平台模块(tpm)存储。
69.在实例10中,根据实例1至7中任一项所述的私钥任选地由企业服务器的硬件安全模块(hsm)存储。
70.在实例11中,根据实例1至10中任一项所述的系统任选地包括用于从所述主机系统接收所述请求的物理主机接口。
71.实例12是一种方法,其包括:从主机系统接收发起与存储器子系统的认证会话的请求;由至少一个硬件处理器响应于所述请求生成质询数据,所述质询数据包括密码临时数;向所述主机系统提供所述质询数据;从所述主机系统接收认证数据,所述认证数据包括数字签名及包含至少所述质询数据的启用数据,所述数字签名通过使用私钥对所述启用数据以密码方式进行签名来生成;由所述至少一个硬件处理器基于所述质询数据且使用对应于所述私钥的公钥来验证所述数字签名;及至少部分地基于验证所述数字签名而提供对由存储器子系统的存储器组件存储的数据的至少一部分的存取。
72.在实例13中,根据实例12所述的请求任选地包括存取存储在所述存储器组件中的所述数据的所述部分的请求。
73.在实例14中,根据实例12及13中任一项的所述方法任选地包括生成对应于所述密码临时数的随机数。
74.在实例15中,根据实例12至14中任一项所述的启用数据任选地是所述质询数据与密码的组合。
75.在实例16中,实例12至15中任一项所述的方法任选地包括提供对所述数据的所述至少部分的存取进一步基于校验所述启用数据。
76.在实例17中,根据实例12至16中任一项所述的所述启用数据的所述校验任选地包括校验包含在所述启用数据中的所述密码临时数的长度;及校验包含在所述启用数据中的所述质询数据。
77.在实例18中,根据实例12至17中任一项所述的至少一个硬件处理器任选地对应于存储器子系统的控制器,并且根据实例12至17中任一项所述的请求任选地经由所述存储器子系统的物理主机接口接收。
78.在实例19中,根据实例12至18中任一项所述的私钥任选地由以下项中的一个存储:其中所述私钥由智能卡、所述主机系统的受信任平台模块(tpm)、企业服务器的硬件安全模块(hsm)中的一个存储。
79.实例20是非暂时性计算机可读存储媒体,所述非暂时性计算机可读存储媒体包括在由存储器子系统控制器时配置所述存储器子系统控制器以执行操作的指令,所述操作包
括:从主机系统接收发起与存储器子系统的认证会话的请求;响应于所述请求而生成质询数据,所述质询数据包括密码临时数;向所述主机系统提供所述质询数据;从所述主机系统接收认证数据,所述认证数据包括数字签名及包含至少所述质询数据的启用数据,所述数字签名通过使用私钥对所述启用数据以密码方式进行签名来生成;基于所述质询数据且使用对应于所述私钥的公钥验证所述数字签名;及至少部分地基于验证所述数字签名而提供对由存储器子系统的存储器组件存储的数据的至少一部分的存取。
80.机器架构
81.图6说明呈计算机系统600形式的实例机器,在所述计算机系统内可执行用于使机器执行本文中所论述的方法中的任何一或多种的指令集。在一些实施例中,计算机系统600可对应于包含、耦合到或利用存储器子系统(例如,图1的存储器子系统110)的主机系统(例如,图1的主机系统120),或可用于执行控制器的操作(例如,执行操作系统以执行对应于图1的安全组件113的操作)。在替代实施例中,所述机器可连接(例如,联网)到局域网(lan)、内联网、外联网及/或因特网中的其它机器。机器可作为对等(或分布式)网络环境中的对等机器或作为云计算基础设施或环境中的服务器或客户端机器在客户端-服务器网络环境中的服务器或客户端机器的容量中操作。
82.所述机器可为个人计算机(pc)、平板pc、机顶盒(stb)、个人数字助理(pda)、蜂窝电话、网络器具、服务器、网络路由器、交换机或桥接器,或能够执行(依序或以其它方式)指定将由所述机器采取的动作的指令集的任何机器。另外,尽管说明单个机器,但还应认为术语“机器”包含机器的任何集合,所述集合单独地或共同地执行一(或多)个指令集以进行本文中所论述的方法中的任何一或多种。
83.实例计算机系统600包含处理装置602、主存储器604(例如,rom、快闪存储器、例如sdram或rambus dram(rdram)等的dram)、静态存储器606(例如快闪存储器、静态随机存取存储器(sram)等),及数据存储系统618,它们经由总线630彼此通信。
84.处理装置602表示一或多个通用处理装置,例如微处理器、中央处理单元等。更具体地说,处理装置602可为复杂指令集计算(cisc)微处理器、精简指令集计算(risc)微处理器、超长指令字(vliw)微处理器,或实施其它指令集的处理器,或实施指令集的组合的处理器。处理装置602也可为一或多个专用处理装置,例如asic、fpga、数字信号处理器(dsp)、网络处理器等。处理装置602经配置以执行用于执行本文所论述的操作及步骤的指令626。计算机系统600可进一步包含网络接口装置608以在网络620上通信。
85.数据存储系统618可包含:机器可读存储媒体624(也称为计算机可读媒体),其上存储有指令626的一或多个集合,或体现本文中所描述的任何一或多种方法或功能的软件。指令626还可在其由计算机系统600执行期间完全地或至少部分地驻存在主存储器604内及/或处理装置602内,主存储器604及处理装置602也构成机器可读存储媒体。机器可读存储媒体624、数据存储系统618,及/或主存储器604可对应于图1的存储器子系统110。
86.在一个实施例中,指令626包含用于实施对应于安全组件(例如图1的安全组件113)的功能的指令。虽然在实例实施例中将机器可读存储媒体624展示为单个媒体,但术语“机器可读存储媒体”应被认为包含存储一或多个指令集的单个媒体或多个媒体。术语“机器可读存储媒体”还应被认为包含能够存储或编码供机器执行的指令集合且致使机器执行本公开的方法中的任何一或多种的任何媒体。因此,术语“机器可读存储媒体”应被认为包
含但不限于固态存储器、光学媒体及磁性媒体。
87.已在针对计算机存储器内的数据位的操作的算法及符号表示方面呈现先前详细描述的一些部分。这些算法描述及表示是数据处理领域的技术人员用于将其工作的主旨最有效地传达给本领域的其他技术人员的方式。在本文中,且一般将算法构想为产生所要结果的操作的自洽序列。操作是要求对物理量进行物理操纵的操作。通常(但未必),这些量采用能够存储、组合、比较及以其它方式操纵的电或磁信号的形式。已经证实,主要出于常用的原因,将这些信号称为位、值、元素、符号、字符、项、编号等等有时是便利的。
88.然而,应牢记,所有这些及类似术语将与适当物理量相关联,且仅仅为应用于这些量的便利标记。本公开可指操控及变换计算机系统的寄存器及存储器内的表示为物理(电子)数量的数据为计算机系统存储器或寄存器或其它这类信息存储系统内的类似地表示为物理量的其它数据的计算机系统或类似电子计算装置的动作及过程。
89.本公开还涉及用于执行本文中的操作的设备。此设备可专门构造用于预期目的,或其可包含通过存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。此计算机程序可存储在计算机可读存储媒体中,例如但不限于任何类型的盘,包含软盘、光盘、cd-rom及磁光盘;rom;ram;可擦除可编程只读存储器(eprom);eeprom;磁卡或光卡;或适合于存储电子指令的任何类型的媒体,每一者耦合到计算机系统总线。
90.本文中呈现的算法及显示器在本质上并不与任何特定计算机或其它设备相关。各种通用系统可根据本文中的教示与程序一起使用,或其可证明为便于构造更专用设备以执行所述方法。将如上文描述中所阐述的那样呈现用于各种这些系统的结构。另外,未参考任何特定编程语言来描述本公开。应了解,可使用各种编程语言来实施如本文中所描述的本公开的教示内容。
91.本公开可提供为计算机程序产品或软件,其可包含在其上存储有指令的机器可读媒体,所述指令可用于对计算机系统(或其它电子装置)进行编程以执行根据本公开的过程。机器可读媒体包含用于以机器(例如,计算机)可读的形式存储信息的任何机构。在一些实施例中,机器可读(例如,计算机可读)媒体包含机器可读(例如,计算机可读)存储媒体,例如rom、ram、磁盘存储媒体、光学存储媒体、快闪存储器组件等。
92.在前述说明书中,本公开的实施例已经参照其特定实例实施例进行描述。将显而易见的是,可在不脱离如所附权利要求书中阐述的本公开的实施例的更广精神及范围的情况下对本公开进行各种修改。因此,应在说明性意义上而非限制性意义上看待说明书及图式。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1