CN113557500A - 多模式受保护存储器 - Google Patents

多模式受保护存储器 Download PDF

Info

Publication number
CN113557500A
CN113557500A CN201980094337.4A CN201980094337A CN113557500A CN 113557500 A CN113557500 A CN 113557500A CN 201980094337 A CN201980094337 A CN 201980094337A CN 113557500 A CN113557500 A CN 113557500A
Authority
CN
China
Prior art keywords
mode
protected memory
transient
memory controller
persistent
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
CN201980094337.4A
Other languages
English (en)
Inventor
A·皮尔逊
朱冰
E·阿格拉诺夫斯基
T·温克勒
黄洋
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN113557500A publication Critical patent/CN113557500A/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
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • 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
    • G06F12/1466Key-lock mechanism
    • 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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories

Landscapes

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

Abstract

根据本描述的多模式受保护存储器包括操作的永久模式和瞬态模式。在永久模式的一个实施例中,认证密钥可编程一次,并且写入计数器不可递减或重置。在瞬态模式的一个实施例中,认证密钥可被编程多次,并且写入计数器可被重置多次。取决于特定应用,可实现其它特征和优点。

Description

多模式受保护存储器
背景技术
在NVMe标准https: //nvmexpress.org/中所描述的诸如非易失性存储器(Nonvolatile Memory)express(NVMe)固态驱动器(SSD)的存储器或存储装置可具有受保护的块或存储器的其它部分,其允许对受保护部分的访问被认证。例如,采用如在公布的NVMe标准的重放受保护存储器块(Replay Protected Memory Block)(RPMB)部分中所描述的已知RPMB的存储装置使用消息认证码(MAC)来认证对存储装置的受保护RPMB数据区域的读取和写入访问(read and write access)。所公布的RPMB规范描述了符合RPMB标准的受保护存储器装置结构和操作。
在一种已知的设计中,主机将认证密钥存储在启用RPMB的存储装置(这里是“RPMB存储装置”)的RPMB控制器中。从而,认证密钥是由主机和RPMB存储装置共享的秘密。主机使用数据写入消息来请求指向存储器的受保护数据区域的数据写入操作。主机具有消息认证码(MAC)引擎,该引擎根据共享认证密钥、先前从RPMB存储装置接收到的写入计数器值以及发送时包括MAC认证码的数据写入请求消息的一部分来计算MAC认证码。因此,由数据写入请求消息所请求的写入操作被称为“经认证的数据写入(authenticated data write)”。
附图说明
现在参考附图,附图中相似的附图标记通篇表示对应的部分:
图1示出了根据某些实施例的采用多模式受保护存储器的计算环境的框图;
图2示出了根据本描述的采用多模式受保护存储器的启用受保护存储器的存储装置的示例;
图3示出了根据本描述的采用多模式受保护存储器的主机的示例;
图4描绘了根据本描述的采用多模式受保护存储器的图2的启用受保护存储器的存储装置的操作的示例;
图5描绘了根据本描述的采用多模式受保护存储器的图2的启用受保护存储器的存储装置的操作的另一个示例;以及
图6描绘了根据本描述的采用多模式受保护存储器的图2的启用受保护存储器的存储装置的操作的又一示例。
具体实施方式
在以下描述中,参考附图,这些附图形成了其一部分并且示出了几个实施例。理解的是,可利用其它实施例,并且可进行结构和操作的改变。
在已知的设计中,接收数据写入请求消息的RPMB存储装置的RPMB控制器通过以与主机类似的方式使用共享认证密钥来计算它自己的MAC认证码,并将其与主机用数据写入请求转发的MAC认证码进行比较,来认证接收到的消息。如果由RPMB控制器计算的MAC认证码与由主机转发的MAC认证码和请求消息匹配,则接收到的数据写入请求消息通过RPMB存储装置的认证过程,并且该消息被认为是可信的,即由授权的发送者发送。由数据写入请求消息请求的数据写入操作可经受在RPMB标准中所描述的附加安全测试。如果数据写入请求消息未通过认证或其它安全测试,则对受保护存储器的请求的写入操作将被阻止。
由RPMB控制器响应于由主机生成并指向受保护存储器的读取请求消息而生成的读取响应消息可由RPMB控制器和主机以与数据写入请求消息的方式类似的方式进行认证。如果主机接收到的数据读取响应消息未通过认证或其它安全测试,则读取响应消息及其数据可被认为来自未经认证的源,并且因此不值得信任。
作为对抗恶意攻击的已知RPMB设计中的安全特征(security feature),认证密钥由RPMB控制器存储在一次写入寄存器中。结果,一旦认证密钥被RPMB控制器存储,它就被永久固定,并且从而不能被改变,即在已知的RPMB控制器设计中被改写(overwrite)、擦除或甚至读取。
作为在已知RPMB设计中对抗恶意攻击的另一个安全特征,由RPMB控制器维护的写入计数器不能被递减或重置。结果,可包括记录写入数据请求消息和重放记录的消息的恶意攻击被阻止执行,因为正在重放的记录的消息将不包含由RPMB控制器预期的写入计数器值,即当前写入计数器值。
从而,已知的RPMB存储装置为安全应用提供抗篡改的安全存储。然而,RPMB存储装置的安全特征可能导致第三方开发者在开发结合已知RPMB存储装置的产品时效率低下。例如,如果被编程到用于产品开发目的的RPMB装置中的认证密钥由于编程错误或其它软件错误而丢失,则对RPMB数据区域的访问永久丢失,并且RPMB装置通常被丢弃和替换,以继续产品开发。此外,对于一些第三方开发者来说,在开发阶段期间使用的RPMB密钥频繁地不同于出于安全原因将在生产阶段使用的RPMB密钥。
结果,如果第三方开发者在开发阶段使用RPMB存储装置,则该特定装置不能随后在生产阶段使用,因为RPMB认证密钥已经用非生产认证密钥编程,并且不能被改变。作为另一个示例,如果写入计数器在产品测试过程中(诸如在应力或回归测试中)达到最大写入计数值,将不准许对受保护数据区域的进一步写入,并且再次,RPMB装置通常被丢弃和替换,以继续产品开发。
为了促进开发结合完成的RPMB存储装置的产品,对于第三方开发者在软件仿真中仿真完成的RPMB装置是已知的,其中RPMB仿真的数据区域是存储器或存储设备的普通部分,其缺乏市场上可用的已知RPMB存储装置的数据区域正常提供的保护。然而,RPMB装置的这些软件仿真倾向于开发复杂,并且操作复杂。例如,正在开发的产品的系统软件、固件和硬件可各具有多个组件,每个组件需要访问一个或多个RPMB目标。从而,为系统软件和硬件的每个组件开发和调试RPMB仿真软件可能是困难且昂贵的。此外,一旦认证密钥在开发完成后被编程到RPMB装置中,存储在存储器的普通部分中的诸如特殊密钥或证书的数据可能就需要被复制到受保护的数据区域,并且然后从普通部分中删除。
对于RPMB存储装置的原始设备制造者(OEM),在RPMB存储装置的工程样本中采用默认认证密钥来促进RPMB固件实现的开发和测试是已知的。然而,在装运给诸如第三方产品开发者之类的客户之前RPMB装置的完成的产品版本中禁用默认认证密钥。因此,第三方产品开发者在利用完成的RPMB存储装置开发他们自己的第三方产品时,不能使用制造者禁用的默认认证密钥,并且结果,频繁采用RPMB存储装置的软件仿真。
根据本描述的多模式受保护存储器提供了计算机技术的显著改进。例如,可减少或消除第三方开发者在开发结合启用RPMB的装置的产品中使用启用RPMB的装置的软件仿真的需要。在一个方面,根据本描述的多模式受保护存储器具有瞬态操作模式和永久操作模式两者。在永久模式下,启用RPMB的装置以与已知RPMB装置类似的方式操作。例如,认证密钥可以以与已知RPMB装置类似的方式在永久模式下仅被编程一次。
相比之下,在根据本描述的多模式受保护存储器的瞬态模式的一个方面,在一个实施例中,在装置保持在瞬态模式下时,认证密钥可被无限次地重新编程,以促进第三方产品的开发。从而,如果认证密钥在第三方产品的开发期间意外丢失,则在它保持在瞬态模式下时,相同的或新的认证密钥可容易地被重新编程到启用RPMB的装置中。结果,避免了由于认证密钥丢失而丢弃RPMB装置的需要。
作为另一个示例,在永久模式下,以与已知RPMB装置类似的方式,用于对受保护存储器用户数据区域的写入操作的写入计数器一旦达到最大计数值,可能就不会递减或重置。从而,一旦写入计数器在永久模式下达到最大值,就不再准许对受保护存储器的附加写入操作。
相比之下,在根据本描述的多模式受保护存储器的瞬态模式的一个方面,在一个实施例中,在装置在瞬态模式下操作时,写入计数器可被重置无限次。从而,如果作为涉及大量写入操作的应力测试或其它测试的结果,在第三方产品开发期间启用RPMB的装置的写入计数器达到最大计数值,则在装置保持在瞬态模式下时,写入计数器可容易地重置,以允许在瞬态模式下对受保护存储器的附加写入操作。结果,一旦写入计数器在瞬态模式下达到最大值,就不需要丢弃根据本描述的多模式受保护存储器装置。
在根据本描述的多模式受保护存储器的另一方面,可在永久模式下提供诸如经认证的密钥操作、写入计数器读取请求、经认证的数据写入和经认证的数据读取操作的操作集合,这些操作与在RPMB标准中所描述的已知RPMB装置的那些操作相同或基本相同,以促进与已知RPMB装置的向后兼容性。永久操作模式集可被修改为适合于永久模式操作。例如,在根据本描述的多模式受保护存储器的一个实施例中,使用永久操作集的认证密钥编程操作来编程认证密钥,使多模式装置永久进入永久操作模式,并且禁止重新进入回到瞬态操作模式。
在根据本描述的多模式受保护存储器的又一方面,可在瞬态模式下提供诸如经认证的密钥操作、写入计数器读取请求、经认证的数据写入和经认证的数据读取操作的操作的另一集合,这些操作基本上与本文中的永久模式的那些操作类似或与在RPMB标准中所描述的已知RPMB装置的那些操作类似,以促进开发与RPMB装置一起使用的第三方装置。瞬态操作模式集可被修改为适合于瞬态模式操作。例如,在根据本描述的多模式受保护存储器的一个实施例中,通过利用例如不同的命令代码集,瞬态模式操作集可以是与永久模式操作集区可分开的。
此外,可在瞬态模式下重复执行使用瞬态操作集的认证密钥编程操作的认证密钥编程,如上面所述的那样。更进一步,可在瞬态模式下重复执行瞬态模式的写入计数器的重置,如上面所述的那样。取决于特定应用,可实现其它特征和优点。
根据本描述的采用多模式受保护存储器的组件能被用在独立组件中,或者能被嵌入在微处理器和/或数字信号处理器(DSP)中。此外,注意,尽管本文中在说明性示例中主要参考基于微处理器的系统来描述系统和过程,但是将领会,鉴于本文中的公开,本公开的某些方面、架构和原理同样适用于其它类型的装置存储器和逻辑装置。
所描述的技术的实现可包括硬件、方法或过程,或者诸如计算机可访问介质上的应用、操作系统、BIOS或组件驱动器的计算机软件。从而,实施例包括对应的计算机系统、设备和记录在一个或多个计算机存储装置上的计算机程序,每个配置成执行方法动作。
本文中描述的操作由逻辑执行,所述逻辑被配置成在很少或没有系统操作员干预的情况下自动或基本上自动执行操作,除非其中被指示为诸如用户选择的人工执行。从而,如本文中所使用的,术语“自动的”包括两种全自动,也就是由一个或多个硬件或软件控制的机器在没有人为干预的情况下(诸如对图形用户选择界面的用户输入)执行的操作。如本文中所使用的,术语“自动的”进一步包括主要是自动的,也就是说,大多数操作(诸如例如大于50%)由一个或多个硬件或软件控制的机器在没有人为干预(诸如对图形用户选择界面的用户输入)的情况下执行,而剩余操作(例如小于50%)是人工执行的,也就是说,人工操作由一个或多个硬件或软件控制的机器在人为干预(诸如对图形用户选择界面的用户输入)的情况下执行,以指导操作的执行。
在此说明书中描述的功能元件中的许多功能元件已经被标记为“逻辑”,以便更特别地强调它们的实现独立性。例如,逻辑元件可被实现为硬件电路,硬件电路包括定制的超大规模集成(VLSI)电路或门阵列、现成的半导体,诸如逻辑芯片、晶体管或者其它分立组件。逻辑元件还可用固件或可编程硬件装置(诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑装置等)实现。
逻辑元件还可用软件实现,以便由各种类型的处理器执行。包括可执行代码的逻辑元件例如可包括例如可被组织为对象、过程或功能(function)的计算机指令的一个或多个物理或逻辑块。尽管如此,标识的逻辑元件的可执行文件不需要物理上位于一起,但可包括存储在不同位置的完全不同的指令,这些指令当逻辑上被接合在一起时包括逻辑元件,并实现逻辑元件的所述目的。
实际上,用于逻辑元件的可执行代码可以是单个指令或许多指令,并且甚至可在几个不同的代码段上、在不同的程序之间、在不同的处理器之间以及跨几个非易失性存储器装置分布。类似地,可操作数据可在本文中在逻辑元件内被标识和示出,并且可以以任何合适的形式被体现并且被组织在任何合适类型的数据结构中。可操作数据可作为单个数据集收集,或者可分布在不同的位置上,包括在不同的存储器装置上。
转向图,图1是示出根据本公开实施例实现的系统的选定方面的高级框图。系统10可表示多个电子和/或计算装置中的任何电子和/或计算装置,其可包括启用受保护存储器的存储装置,诸如存储器装置。这样的电子和/或计算装置可包括诸如大型机(mainframe)、服务器、个人计算机、工作站、电话装置、网络电器、虚拟化装置、存储控制器、便携式或移动装置(例如,膝上型电脑、上网本、平板计算机、个人数字助理(PDA)、便携式媒体播放器、便携式游戏装置、数字相机、移动电话、智能电话、功能手机(feature phone)等)或组件(例如,片上系统、处理器、桥、存储器控制器、I/O控制器、根复合体、存储器等)的计算装置。在备选实施例中,系统10可包括更多的元件、更少的元件和/或不同的元件。而且,尽管系统10可被描绘为包括分开的元件,但将认识到,这样的元件可被集成到一个平台(诸如片上系统(SoC))上。在说明性示例中,系统10包括中央处理单元或微处理器20、存储器控制器30、存储器40、存储驱动器44和外围组件50,外围组件50可包括例如端点装置,诸如视频控制器、附加存储设备、网络接口以及诸如系统时钟、输入装置、输出装置、电池等的其它装置。系统10还包括一个或多个总线60,总线60可包括串行总线、并行总线以及可包括链路和交换机的组构。
微处理器20包括高速缓存25,高速缓存25可以是存储指令和数据的存储器层级的一部分,并且系统存储器可包括易失性存储器以及所描绘的可包括非易失性存储器的存储器40两者。系统存储器也可以是存储器层级的一部分。例如,微处理器20的逻辑27可包括一个或多个核。在一些实施例中,逻辑27还可包括系统时钟。微处理器20与存储器40之间的通信可由存储器控制器(或芯片集)30促进,该存储器控制器30也可促进与存储驱动器44和外围组件50的通信。该系统可包括用于直接存储器数据传输的卸载数据传输引擎。
存储驱动器44可以是启用受保护存储器的装置,并且包括非易失性存储设备,并且可被实现为例如固态驱动器、磁盘驱动器、光盘驱动器、存储区域网络(SAN)、网络接入服务器(NAS)、磁带驱动器、闪速存储器、持久存储器域以及采用易失性缓冲存储器和非易失性存储存储器的其它存储装置。存储设备可包括内部存储装置或者附接的或网络可访问的存储设备。微处理器20被配置成在存储器40和存储设备44中写入数据并从其中读取数据。存储设备中的程序被加载到存储器40中,并且由微处理器20执行。网络控制器或适配器能够实现与网络(诸如以太网、光纤信道仲裁环等)通信。另外,在某些实施例中,架构可包括配置成将信息呈递在显示监测器上的视频控制器,其中视频控制器可被体现在视频卡上或者集成在安装在母板或其它衬底上的集成电路组件上。在一个实施例中,显示器被配置成根据指向受保护存储器的存储器操作来显示信息。输入装置被用于向微处理器20提供用户输入,并且可包括键盘、鼠标、触控笔、麦克风、触敏显示屏、输入引脚(input pin)、插座或本领域已知的任何其它激活或输入机构。输出装置能够呈递从微处理器20或其它组件(诸如显示监测器、打印机、存储设备、输出引脚、插座等)传送的信息。网络适配器可被体现在网卡(诸如外围组件互连(PCI)卡、PCI-express或某种其它输入/输出(I/O)卡)上或安装在母版或其它衬底上的集成电路组件上。在一个实施例中,网络适配器被配置成根据指向受保护存储器的存储器操作来传送信息。
取决于特定应用,可省略装置10的组件中的一个或多个。例如,网络路由器可能缺少例如视频控制器。图1的包括高速缓存25、存储器40、存储驱动器44、系统10、存储器控制器30和外围组件50的装置中的任何一个或多个可包括实现根据本描述的多模式受保护存储器的组件。
根据本描述的非易失性存储存储器组件的非易失性存储存储器的一个示例是三维(3D)交叉点存储器,以及其它类型的字节可寻址、就地写入(write-in-place)非易失性存储器。在一些实施例中,3D交叉点存储器可包括无晶体管可堆叠交叉点架构,其中存储器单元位于字线和位线的交点处,并且单独可寻址,并且其中位存储基于体电阻的改变。
在一个实施例中,存储器装置是块可寻址存储器装置,诸如基于NAND或NOR技术的那些存储器装置。存储器装置还可包括未来代非易失性装置,诸如三维交叉点存储器装置或其它字节可寻址就地写入非易失性存储器装置。在一个实施例中,存储器装置可以是或者可包括:使用硫族化物玻璃的存储器装置、多阈值级(multi-threshold level)NAND闪速存储器、NOR闪速存储器、单级或多级相变存储器(PCM)、电阻式存储器、纳米线存储器、铁电晶体管随机存取存储器(FeTRAM)、反铁电存储器、结合忆阻器技术的磁阻随机存取存储器(MRAM)存储器、包括金属氧化物基、氧空位基(oxygen vacancy base)和导电桥随机存取存储器(CB-RAM)或自旋转移扭矩(STT)-MRAM的电阻式存储器、基于自旋电子磁结存储器的装置、基于磁隧道化结(MTJ)的装置、基于DW(畴壁)和SOT(自旋轨道转移)的装置、基于晶闸管的存储器装置或者上面任何项的组合或者其它存储器。存储器装置可指管芯本身和/或封装的存储器产品。
易失性存储器可以是要求电力来维持由介质存储的数据状态的存储介质。易失性存储器的非限制示例可包括各种类型的随机存取存储器(RAM),诸如动态随机存取存储器(DRAM)或静态随机存取存储器(SRAM)。可被用在存储器模块中的一个特定类型的DRAM是同步动态随机存取存储器(SDRAM)。在特定实施例中,存储器组件的DRAM可符合由JEDEC颁布的标准,诸如用于DDR SDRAM的JESD79F、用于DDR2 SDRAM的JESD79-2F、用于DDR3 SDRAM的JESD79-3F、用于DDR4 SDRAM的JESD79-4A、用于低功率DDR(LPDDR)的JESD209、用于LPDDR2的JESD209-2、用于LPDDR3的JESD209-3以及用于LPDDR4的JESD209-4(这些标准可在www.jedec.org获得)。这样的标准(和类似的标准)可被称为基于DDR的标准,并且实现这样标准的存储装置的通信接口可被称为基于DDR的接口。
图2示出了根据本描述的启用受保护存储器的存储装置102的一个示例。在该示例中,启用受保护存储器的存储装置102是非易失性存储存储器组件,诸如系统10的存储装置44(图1)的固态驱动器。领会的是,根据本描述的采用多模式受保护存储器的启用受保护存储器的存储装置可被用在其它类型的装置中,诸如例如中央处理单元(CPU)、片上系统(SoC)、图形处理单元(GPU)和网络适配器。
启用受保护存储器的存储装置102具有驱动器外壳(housing)102a,该驱动器外壳102a将启用受保护存储器的存储装置102连接到总线60(图1),该总线60可以是例如PCIe串行总线。驱动器外壳102a封闭存储器或存储装置103,该存储器或存储装置具有被配置成以持久方式存储数据的非易失性位单元(bitcell)的阵列105(诸如NAND位单元的阵列)以及被配置成控制指向位单元阵列105的存储器读取操作和存储器写入操作的存储器控制器107。在一个实施例中,存储器控制器107和位单元阵列105被封装在单个封装内。领会的是,在其它实施例中,存储器控制器107和位单元阵列105的一些或所有组件可被部署在不同的管芯上或不同的封装或装置内。例如,存储器107的一些或所有组件可以是片上系统(SoC)的一部分,而位单元阵列105的一些或所有组件可被部署在通过总线耦合到SoC的启用受保护存储器的存储装置内。
在一个实施例中,位单元阵列105被分区成各种分区,所述分区包括用户数据区域分区112和受保护存储器用户数据区域分区114。阵列105的每个区域或分区可包括单层单元(SLC)、三层单元(TLC)、四层单元(QLC)或其它多层单元(MLC)字线类型的单元。在QLC存储器实施例中,例如,位单元阵列105可以以块和平面来组织。领会的是,取决于特定应用,位单元阵列105可以以其它大小和类型的单元和子单元来组织。
按照根据本描述的多模式受保护存储器的一个方面,存储器控制器107进一步包括多模式受保护存储器访问控制器或逻辑,在下文中主要称为受保护存储器控制器134,其被配置成控制对受保护存储器用户数据区域分区114的访问。在一个实施例中,这样的访问包括例如经认证的数据写入操作和经认证的数据读取操作,这些操作符合在RPMB标准中所描述的对应的重放受保护存储器块(RPMB)操作,并且根据本描述的多模式受保护存储器被适当地修改。尽管结合RPMB兼容的结构和操作描述了多模式受保护存储器的图示实施例,但是领会的是,取决于特定应用,根据本描述的多模式受保护存储器可被用在采用其它类型受保护存储器的计算机系统中。可单独或组合使用硬件、软件和固件中的一个或多个来配置装置102的受保护存储器控制器134。
在根据本描述的多模式受保护存储器的一个方面,受保护存储器控制器134包括模式逻辑138,该模式逻辑138被配置成操作受保护存储器控制器134,并且从而在包括瞬态模式和永久模式的选定模式下控制对受保护存储器用户数据区域分区114的访问。诸如受保护存储器控制器134的消息认证码(MAC)引擎142之类的认证逻辑被配置成在瞬时模式下根据可重新编程认证密钥以及在永久模式下根据一次性可编程认证密钥来认证包括指向受保护存储器用户数据区域分区114的那些操作的受保护存储器操作。在图示的实施例中,多模式受保护存储器访问控制器134包括寄存器字段160的可重新编程寄存器字段146,其被配置成存储用于瞬态模式的可重新编程认证密钥。在该实施例中,在瞬态模式认证密钥寄存器字段146被编程之前,受保护存储器用户数据区域分区114不能在瞬态模式下被访问。类似地,在该实施例中,在永久模式认证密钥字段150被编程并且瞬态模式被退出之前,受保护存储器用户数据区域分区114不能在永久模式下被访问。从而,在该实施例中,如果认证密钥字段146、150都尚未被编程,则受保护存储器用户数据区域分区114不能被访问。
用于存储瞬态模式的可重新编程认证密钥的可重新编程寄存器字段146可以是例如易失性只写入寄存器,使得瞬态模式密钥寄存器字段146可在每个电力循环之后被重新编程。备选地,用于存储瞬态模式的可重新编程认证密钥的可重新编程寄存器可以是例如非易失性只写入寄存器,使得在一个实施例中,瞬态模式密钥在每个电力循环之后将是持久的,但是可被重新编程无限次。
如上面所提到的,在一个实施例中,用于存储瞬态模式的可重新编程认证密钥的可重新编程寄存器可以是只写入寄存器,使得瞬态模式认证密钥在被编程之后不能被外部主机读取。然而,领会的是,在一些实施例中,具有在被编程之后读取瞬态模式认证密钥的能力可能是有用的。在这样的实施例中,合适的瞬态模式认证密钥请求消息可被添加到受保护存储器控制器被配置成对其做出响应的瞬态模式请求消息集。在这样的实施例中,可利用这样的瞬态模式认证密钥请求消息从存储瞬态模式认证密钥的合适的读取/写入寄存器中读取瞬态模式认证密钥。
与瞬态模式认证密钥相比,在一个实施例中,寄存器字段160的一次写入寄存器字段150被配置成存储用于永久模式的一次性可编程认证密钥。用于存储永久模式的一次性可编程认证密钥的一次性可编程寄存器字段150优选地是例如非易失性只写入寄存器字段,使得永久模式密钥在每个电力循环之后将是持久的,但是在一个实施例中,可以以与作为安全特征的已知RPMB装置类似的方式仅被编程一次。从而,一次写入、只写入寄存器字段可用于存储永久模式认证密钥,使得永久模式认证密钥在被编程之后不能被读取或重新编程。然而,领会的是,在一些实施例中,在其中较少安全特征可能适当的实施例中,使外部主机能够在被编程之后读取永久模式认证密钥可能是有用的。
具有在瞬态模式下无限次地重新编程瞬态模式认证密钥寄存器字段146的能力促进了结合启用受保护存储器的装置的第三方产品的开发,并且从而避免使用复杂的受保护存储器模拟软件。例如,如果主机正在使用的瞬态模式认证密钥例如由于软件错误而丢失,则瞬态模式认证密钥可容易地被重新编程为瞬态模式下的新瞬态模式认证密钥。以这种方式,促进了结合启用受保护存储器的装置的第三方产品的开发。
相反,在产品开发完成后,将永久模式认证密钥150的编程限制为永久模式下的一次性编程,维持了永久模式下对抗恶意攻击的由RPMB受保护存储器提供的安全元素。结果,一旦认证码被受保护存储器控制器在永久模式下存储,它就被永久固定,并且从而不能被改变,即,以与已知RPMB控制器类似的方式在永久模式下被改写、擦除或甚至读取。
受保护存储器控制器134被进一步配置成在瞬态模式下响应受保护存储器访问请求消息的瞬态模式集,以及在永久模式下响应受保护存储器访问请求消息的永久模式集。例如,在一个实施例中,受保护存储器访问请求消息的永久模式集包括请求消息类型,诸如认证密钥编程请求、经认证的数据写入请求和经认证的数据读取请求。取决于特定应用,附加的请求消息类型可被包括在受保护存储器访问请求消息的永久模式集中。例如,取决于特定应用,RPMB标准规定了附加的请求消息类型,这些类型可被认为适合于包括在受保护存储器访问请求消息的永久模式集中。
在一个实施例中,瞬态模式集的受保护存储器访问请求消息可基本上与永久模式集的受保护存储器访问请求消息中的那些相同,仅在命令代码值上不同,以区分受保护存储器访问请求消息的永久模式集的请求消息与受保护存储器访问请求消息的瞬态模式集的请求消息。例如,在一个实施例中,永久模式集的认证密钥编程请求可具有在RPMB标准中为认证密钥编程请求消息指定的相同命令代码0x0001。相反,在一个实施例中,瞬态模式集的认证密钥编程请求可具有不同的命令代码,诸如例如0x0081,其不同于在RPMB标准中为认证密钥编程请求消息指定的命令代码。以这种方式,多模式受保护存储器控制器可被配置成容易地将永久模式集的请求消息与瞬态模式集的那些请求消息区分开。在一个实施例中,受保护存储器控制器可被配置成当启用RPMB的装置在永久模式下而不是在瞬态模式下时,响应于接收到请求消息的瞬态模式集的请求消息,返回由响应消息生成逻辑164生成的错误响应消息。
相反,受保护存储器控制器可被配置成当启用RPMB的装置在瞬态模式下而不是具有至少一个异常的瞬态模式下时,响应于接收到请求消息的永久模式集的请求消息,返回由响应消息生成逻辑164生成的错误响应消息。例如,如果启用RPMB的装置的受保护存储器控制器在瞬态模式下时接收到永久模式认证密钥编程请求消息,则受保护存储器控制器可被配置成继续对永久模式认证密钥编程并永久退出瞬态模式,如下面更详细描述的那样。
图3描绘了主机204的一个实施例,主机204包括可与图1的微处理器20类似的处理器20。主机进一步包括存储器40(图1、3),其中驻留(reside)基本输入/输出系统(BIOS)210、操作系统212、装置驱动器214和应用216,它们由处理器20执行以执行各种逻辑功能。
主机204的受保护存储器接口逻辑220具有请求消息生成逻辑224,该请求消息生成逻辑224被配置成生成受保护存储器访问请求消息的瞬态模式集的请求消息以供瞬态模式下使用,并生成受保护存储器访问请求消息的永久模式集的请求消息以供永久模式下使用。可单独或组合使用硬件、软件和固件中的一个或多个来配置主机204的受保护存储器接口逻辑220。
在一个实施例中,启用受保护存储器的存储装置102的受保护存储器控制器134(图2)包括寄存器字段160的只读取寄存器字段230,以存储指示受保护存储器控制器134是否支持瞬态操作模式的瞬态模式支持标志。因而,在向存储装置发出瞬态模式集的请求消息之前,主机204使请求消息生成逻辑224生成支持标志寄存器读取请求并将其发送到存储装置。作为响应,存储装置102的受保护存储器控制器134读取瞬态模式支持标志230,并使响应消息生成逻辑164根据由控制器134读取的瞬态模式支持标志230生成指示受保护存储器控制器134是否支持瞬态模式的响应。例如,如果设置了瞬态模式支持标志230,则受保护存储器控制器134能在支持瞬态模式的适当响应消息中做出响应。相反,如果未设置瞬态模式支持标志230,则受保护存储器控制器134能在不支持瞬态模式的适当响应消息中做出响应。
瞬态模式支持标志230的合适位置可取决于特定应用。例如,在符合通用闪存(UFS)规范的启用RPMB的存储装置中,用于瞬态模式支持标志230的只读取寄存器字段可被添加在UFS描述符(诸如例如RPMB单元描述符)中。作为另一个示例,在符合非易失性存储器express(NVMe)规范的启用RPMB的存储装置中,用于瞬态模式支持标志230的只读取寄存器字段可被添加在标识命令/数据结构中(在重放受保护存储器块支持(RPMBS)的字段中)。
注意,在一些实施例中,用于瞬态模式支持标志230的寄存器字段可仅在支持受保护存储器(诸如例如RPMB)时才可用,例如因为RPMB本身是NVMe规范中的可选特征。因而,例如,如果主机向缺乏重放受保护存储器块支持(RPMBS)的存储装置发出瞬态模式标志请求消息,则读取重放受保护存储器块支持(RPMBS)的瞬态模式支持标志字段的请求消息可能引起存储装置生成并发送错误消息。因而,主机能将错误消息解释为指示目标存储装置缺乏瞬态模式支持标志230,因为它缺乏重放受保护存储器块支持(RPMBS))。
领会的是,不同的规范标准(例如,eMMC、UFS、NVMe)可具有不同的寄存器术语和布局。这样,取决于特定应用,瞬态模式支持标志230的寄存器字段的具体位置可变化。
已经确定启用受保护存储器的存储装置102支持受保护存储器控制器134的瞬态操作模式(瞬态模式支持标志230确定为被设置),主机204(图3)可在根据本描述的多模式受保护存储器的一个方面中,直接在永久模式下选择性地发起进一步的受保护存储器操作,或者首先在瞬态模式下,并且然后在适当的时间,将受保护存储器操作切换到永久模式。例如,如果启用受保护存储器的存储装置102正在开发环境中使用,则将通过首先在瞬态模式下操作装置102的受保护存储器来促进这种开发。一旦开发完成,受保护存储器存储装置就可永久地切换到永久模式,以便装运给所开发产品的消费者。
备选地,在根据本描述的多模式受保护存储器的一个方面,主机204(图3)可直接在永久模式下发起进一步的受保护存储器操作,永久地旁路受保护存储器在瞬态模式下的操作。例如,如果结合启用受保护存储器的存储装置102的产品的开发已经完成,则存储装置的受保护存储器可直接且永久地切换到永久模式,以便装运给所开发产品的消费者。
图4、5和6描绘了启用受保护存储器的存储装置102的受保护存储器控制器134被配置成执行的操作的示例。在图4的示例中,受保护存储器控制器134的操作模式由主机204(图3)通过使用受保护存储器访问请求消息的瞬态模式集的认证密钥编程请求或者使用受保护存储器访问请求消息的永久模式集的认证密钥编程请求来请求对装置102中的认证密钥进行编程来选择和发起。主机204可使用诸如受保护存储器接口逻辑220的消息认证码(MAC)引擎234之类的合适逻辑生成或以其它方式获得瞬态模式认证密钥和永久模式认证密钥两者。以与已知RPMB系统的方式类似的、被修改为适合于根据本描述的多模式受保护存储器的方式获得认证密钥。如果要结合瞬态模式使用认证密钥,则认证密钥的副本被存储在数据结构242的用于瞬态模式认证密钥的数据结构238中。备选地,如果要结合永久模式使用认证密钥,则认证密钥的副本被存储在数据结构242的用于永久模式认证密钥的数据结构246中。
主机的请求消息生成逻辑224生成认证密钥编程请求消息,其以与已知RPMB系统的方式类似的、被修改为适合于根据本描述的多模式受保护存储器的方式将生成的认证密钥转发到存储装置102。在该实施例中,认证密钥编程请求消息由受保护存储器接口逻辑220发送到存储装置102。如果受保护存储器在瞬态模式下的操作是适当的,则从受保护存储器访问请求消息的瞬态模式集中选择认证密钥编程请求消息。相反,如果受保护存储器在永久模式下的操作是适当的,则从受保护存储器访问请求消息的永久模式集中选择认证密钥编程请求消息。
存储装置102的受保护存储器控制器134(图2)被配置成以与已知RPMB系统的方式类似的、被修改为适合于根据本描述的多模式受保护存储器的方式来确定(图4,框254)接收到的请求消息是否是认证密钥编程请求消息。如果接收到的请求消息是认证密钥编程请求消息,则在本描述的一个方面,受保护存储器控制器134(图2)被进一步配置成确定(图4,框260)接收到的认证密钥编程请求消息是否属于受保护存储器访问请求消息的永久模式集。
如果确定接收到的认证密钥编程请求消息不属于受保护存储器访问请求消息的永久模式集,即,确定接收到的认证密钥编程请求消息属于受保护存储器访问请求消息的瞬态模式集,则受保护存储器控制器134(图2)被进一步配置成确定(图4,框264)受保护存储器控制器134是否已经在受保护存储器操作的永久模式下。在所示的实施例中,受保护存储器控制器134的寄存器字段160包括瞬态模式禁用寄存器字段270(图2),在一个实施例中,该字段对主机不可见。默认情况下,在存储装置由存储供应商制造之后,该寄存器字段270最初被清零(例如,位值“0”)。瞬态模式禁用寄存器字段的清零状态表示受保护存储器控制器的瞬态模式尚未被禁用。从而,瞬态模式禁用寄存器字段的清零状态指示受保护存储器不在永久模式下,并且瞬态模式保持可用。
在一个实施例中,瞬态模式禁用寄存器可用熔丝装置来实现,使得当瞬态模式禁用寄存器270被受保护存储器控制器134设置或熔断时,瞬态模式被永久禁用。从而,设置或熔断的瞬态模式寄存器指示受保护存储器控制器处于永久模式,并且瞬态模式不再可用。
以这种方式,受保护存储器控制器134能通过读取瞬态模式禁用寄存器270(图2)来确定(图4,框264)受保护存储器控制器134是否已经处于受保护存储器操作的永久模式。如果确定受保护存储器控制器134尚未处于永久模式,则受保护存储器控制器134能通过将由受保护存储器控制器134接收到的认证密钥编程请求消息转发的瞬态模式认证密钥编程到寄存器字段146(图2)中来进入(图4,框274)瞬态模式(或者如果它已经处于瞬态模式,则重新进入瞬态模式)。一旦瞬态模式认证密钥已经被编程到瞬态模式认证密钥的寄存器字段146中,装置102就进入瞬态模式,并且可通过合适的访问操作(诸如由主机生成和发送的访问请求消息的瞬态模式集的经认证的数据写入和经认证的数据读取)来访问受保护存储器用户数据区域分区114(图2)。如上面所提到的,在一个实施例中,认证密钥寄存器字段146可在瞬态模式下被编程无限次,以促进例如结合启用受保护存储器装置的第三方产品的开发。
作为对抗恶意攻击的安全特征,诸如RPMB控制器之类的已知的受保护存储器控制器具有只读取写入计数器,其输出值表示由主机做出的成功认证的数据写入请求的总数。例如,在存储驱动器制造之后,该寄存器的初始值可以是00000000h,并且随着对受保护存储器数据区域的每次成功写入访问,输出值由RPMB控制器自动递增1。结果,可包括记录写入数据请求消息和重放记录的消息的恶意攻击被阻止执行,因为正在重放的记录的消息将不包含由RPMB控制器预期的写入计数器值,即当前写入计数器值。
在已知的RPMB控制器中,写入计数器值是不可重置的。在计数器已经达到最大计数值(例如FFFFFFFFh)后,写入计数器不再递增以防止溢出。在根据本描述的多模式保护存储器的一个方面,受保护存储器控制器134具有在瞬态模式下可重置的写入计数器寄存器字段280(图2)。领会的是,在结合启用受保护存储器的装置的第三方产品的开发或验证阶段,写入计数器可达到其最大值,并且在例如应力测试中溢出。具有在瞬态模式下重置写入计数器寄存器字段280的能力,准许启用受保护存储器的装置102在瞬态模式下被重新用于第三方产品的开发或验证。结果,启用受保护存储器的装置102不需要仅仅因为写入计数器寄存器字段280在瞬态模式下已经达到其最大计数值而被丢弃。
因而,结合受保护存储器控制器134通过将瞬态模式认证密钥编程到寄存器字段146(图2)中而进入(图4,框274)或重新进入瞬态模式,受保护存储器控制器134还被配置成在瞬态模式下重置(图4,框284)写入计数器寄存器字段280。此外,受保护存储器控制器134的响应消息生成逻辑164(图2)生成(图4,框288)确认主机所请求的瞬态模式认证密钥的成功编程的适当响应消息并将其返回到请求主机,完成(图4,框290)受保护存储器控制器134的瞬态操作模式下的瞬态模式认证密钥的编程或重新编程。确认瞬态模式认证密钥的成功编程的响应消息以与确认认证密钥的成功编程的已知响应消息类似的、被修改为适合于根据本描述的多模式保护存储器的方式被生成和发送。
在一个实施例中,瞬态模式认证密钥可在瞬态模式下被编程和重新编程无限次。然而,领会的是,在一些实施例中,对瞬态模式认证密钥的重新编程次数设置限制可能是适当的。
在根据本描述的多模式受保护存储器的另一方面,在一个实施例中,如果受保护存储器控制器134进入永久模式,则可不进入或重新进入瞬态模式。从而,进入永久模式是永久的,并且可能不作为安全特征退出。在图4的示例中,如果确定(图2,框260)接收到的认证密钥编程请求消息属于受保护存储器访问请求消息的瞬态模式集,并且受保护存储器控制器134(图2)确定(图4,框264)受保护存储器控制器134已经处于受保护存储器操作的永久模式,则受保护存储器控制器134的响应消息生成逻辑164(图2)生成(图4,框292)适当响应消息并将其返回到请求主机,该适当响应消息指示错误状况,作为对抗恶意攻击的安全措施并为向后兼容性做准备。
如上面提到的,在一个实施例中,寄存器字段160的寄存器字段150是被配置成存储用于永久模式的一次性可编程认证密钥的一次写入寄存器字段。在已知的RPMB控制器中,认证密钥以及安全特征可只被编程一次。因而,在图4的示例中,如果受保护存储器控制器134(图2)确定(图4,框260)接收到的认证密钥编程请求消息属于受保护存储器访问请求消息的永久模式集,并且受保护存储器控制器134(图2)进一步确定(图4,框296)受保护存储器控制器134已经处于受保护存储器操作的永久模式,则受保护存储器控制器134的响应消息生成逻辑164(图2)生成(图4,框292)适当响应消息并将其返回到请求主机,该适当响应消息指示错误状况,因为在图4的实施例中不准许对永久模式认证密钥重新编程作为安全特征,并促进向后兼容性。然而,领会的是,在一些实施例中,准许对永久模式认证密钥重新编程可能是适当的。相比之下,在图4的实施例的瞬态模式下,如上面结合操作254-290所描述的瞬态模式认证密钥的编程和重新编程可如上面所述重复无限次。
相反,如果确定(图4,框260)接收到的认证密钥编程请求消息属于受保护存储器访问请求消息的永久模式集,并且通过读取瞬态模式禁用寄存器270(图2)(在该示例中瞬态模式禁用寄存器字段270清零)来确定(图4,框296)受保护存储器控制器134尚未处于受保护存储器操作的永久模式,则受保护存储器控制器134能通过将由受保护存储器控制器134接收到的认证密钥编程请求消息转发的永久模式认证密钥编程到寄存器字段150(图2)中来进入(图4,框304)永久模式。一旦永久模式认证密钥已经被编程到永久模式认证密钥的一次写入寄存器字段150中,受保护存储器用户数据区域分区114(图2)可通过合适的访问操作(诸如要由主机生成和发送的访问请求消息的永久模式集的经认证的数据写入和经认证的数据读取)被访问。如上面提到的,在一个实施例中,认证密钥寄存器字段150可在永久模式下仅被编程一次,因为在先前的瞬态模式下,可能已经使用相同或相似的启用受保护存储器的装置102完成了结合启用受保护存储器的装置的第三方产品的开发和验证。
在示出的实施例中,进入永久模式是永久的,使得在进入永久模式之后可不进入瞬态模式,作为对抗恶意攻击的安全措施。因而,结合正在被编程到一次写入寄存器字段150中以进入永久模式的永久模式认证密钥,在图4的实施例中,受保护存储器控制器134的模式逻辑138(图2)设置或熔断瞬态模式禁用寄存器字段270(图2)以禁用(图4,框308)受保护存储器控制器134的瞬态操作模式。从而,当瞬态模式禁用寄存器270被设置或熔断时,瞬态模式被永久禁用,并且设置或熔断的瞬态模式寄存器指示受保护存储器控制器处于永久模式,并且瞬态模式不再可用。领会的是,在一些实施例中,在已经进入永久模式之后,准许进入瞬态模式可能是适当的。
此外,受保护存储器控制器134的响应消息生成逻辑164(图2)生成(图4,框312)确认主机所请求的永久模式认证密钥的成功编程的响应消息并将其返回到请求主机,完成(图4,框290)受保护存储器控制器134的永久操作模式下的永久模式认证密钥的编程。确认永久模式认证密钥的成功编程的响应消息可以以与确认认证密钥的成功编程的已知RPMB装置响应消息的方式类似的、被修改为适合于根据本描述的多模式受保护存储器的方式被生成和发送。在一个实施例中,作为安全特征,永久模式认证密钥可仅针对永久模式编程一次。然而,领会的是,在一些实施例中,允许永久模式认证密钥的附加重新编程可能是适当的。
在根据本描述的多模式受保护存储器的一个方面中,领会的是,在永久退出瞬态模式并永久进入永久模式之后,在受保护存储器用户数据区域分区114中可能已经存在当装置102处于瞬态模式时被生成或写入的一些数据。在一个实施例中,留在分区114中的数据可被保留,使得在装置102转变到永久模式时保持它。例如,从瞬态模式留下的数据可以是关键的或者其它重要的数据,其在永久模式下被安全地提供在装置102中。从而,如下所述,在没有永久模式认证密钥的情况下,数据可能不会被改写。
备选地,在装置永久地进入永久模式时,可从分区114清除来自瞬态模式的数据。在一个实施例中,数据可被完全清除,并且清除由受保护存储器控制器134自动执行,该受保护存储器控制器134在装置永久退出瞬态模式之后触发内部“清除命令”来擦除或保护分区114中的擦除数据。这种自动擦除能提供对抗恶意数据的安全特征,恶意数据可能已经在瞬态模式期间被存储在分区114中。例如,清除能防止从瞬态模式留下的恶意数据破坏永久模式下的安全软件。然而,在一个实施例中,作为进一步的安全措施,让永久模式下的安全软件最初将分区114视为永久模式下的空白存储装置可能是适当的。
如前所提及的,作为对抗恶意攻击的安全特征,已知的受保护存储器控制器(诸如RPMB控制器)具有只读取写入计数器,其输出值表示主机产生的成功认证的数据写入请求的总数,并且不可重置。这里,受保护存储器控制器134也具有用于永久模式的写入计数器寄存器字段320(图2),其中写入计数器在永久模式下不可重置。领会的是,结合启用受保护存储器的装置的第三方产品的开发或验证阶段可在进入受保护存储器控制器134的永久模式之前完成。因此,写入计数器可能达到其最大值并在应力测试中溢出的担心例如可能将在永久模式下被消除。
如上面提到的,一旦瞬态模式认证密钥已经被编程到瞬态模式认证密钥的寄存器字段146中,受保护存储器用户数据区域分区114(图2)可通过合适的访问操作(诸如由主机生成和发送的访问请求消息的瞬态模式集的经认证的数据写入和经认证的数据读取)来在瞬态模式下被访问。一旦装置102通过将永久模式认证密钥编程到寄存器字段150中而进入永久模式,受保护存储器用户数据区域分区114(图2)就可通过合适的访问操作(诸如由主机生成和发送的访问请求消息的永久模式集的经认证的数据写入和经认证的数据读取)被访问。图5描绘了受保护存储器控制器134的操作的一个示例,其被配置成根据本描述的多模式受保护存储器来处理经认证的数据写入操作。
在该示例中,取决于受保护存储器控制器134处于哪种操作模式,使用受保护存储器访问请求消息的瞬态模式集的经认证的数据写入请求或者使用受保护存储器访问请求消息的永久模式集的经认证的数据写入请求来请求对受保护存储器用户数据区域分区114的经认证的数据写入。存储装置102的受保护存储器控制器134(图2)被配置成确定(图5,框324)接收到的请求消息是否是经认证的数据写入请求消息。如果是,则受保护存储器控制器134(图2)被进一步配置成确定(图5,框332)接收到的经认证的数据写入请求消息是否属于受保护存储器访问请求消息的永久模式集。如前所述,命令代码的一个集合可与请求消息的瞬态模式集结合使用,而命令代码的不同集合可与请求消息的永久模式集结合使用,以促进将瞬态模式集和永久模式集彼此区分开。
如果确定接收到的经认证的数据写入请求消息不属于受保护存储器访问请求消息的永久模式集,即,确定接收到的经认证的数据写入请求消息属于受保护存储器访问请求消息的瞬态模式集,则受保护存储器控制器134(图2)被进一步配置成确定(图5,框336)受保护存储器控制器134是否已经在受保护存储器操作的永久模式下。如上面提到的,受保护存储器控制器134的寄存器字段160包括瞬态模式禁用寄存器字段270(图2),其或者保持清零,指示受保护存储器控制器134保持在瞬态模式,或者已经被设置或熔断,指示受保护存储器控制器处于永久模式。从而,受保护存储器控制器134能通过读取瞬态模式禁用寄存器270(图2)来确定(图5,框336)受保护存储器控制器134是否已经处于受保护存储器操作的永久模式。
如果确定受保护存储器控制器134在接收到瞬态模式经认证的数据写入请求消息之后已经处于永久模式,则受保护存储器控制器134认为接收到的瞬态模式数据写入请求消息无效,并且所请求的写入操作的执行被阻止。此外,受保护存储器控制器134生成(图5,框340)错误消息并将其返回到请求主机。在一个实施例中,一旦受保护存储器进入永久模式,就不准许瞬态模式集的操作的执行,作为对抗恶意攻击的安全特征并为向后兼容性做准备。领会的是,在一些实施例中,可省略这样的安全特征。
相反,如果确定受保护存储器控制器134尚未处于永久模式,即,在接收到瞬态模式经认证的数据写入请求消息之后受保护存储器控制器134仍在瞬态模式内操作,则受保护存储器控制器134被配置成在准许执行指向受保护存储器用户数据区域分区114(图2)的瞬态模式请求的数据写入操作之前,结合接收到的瞬态模式经认证的数据写入请求消息执行(图5,框344)认证和其它安全测试。
在一个实施例中,结合接收到的瞬态模式经认证的数据写入请求消息执行的认证和其它测试可与由已知RPMB控制器执行的那些(诸如在公布的RPMB标准中描述的那些)类似,被修改为适合于本描述的多模式受保护存储器操作。例如,在已知的RPMB系统中,使用主机的消息认证码(MAC)引擎,主机根据共享认证密钥和数据写入请求消息的一部分来计算MAC认证码。在一些已知的系统中,还可由主机根据RPMB装置的当前写入计数器值来计算MAC认证码。在根据本公开的多模式受保护存储器系统的一个实施例中,瞬态模式认证密钥已经既被存储在主机的数据结构238(图3)中又还被存储在受保护存储器控制器134的可重新编程寄存器字段146(图2)中,使得瞬态模式认证密钥是由主机和装置102的受保护存储器控制器134共享的秘密。使用主机的消息认证码(MAC)引擎234,主机根据共享的瞬态模式认证密钥和数据写入请求消息的一部分来计算MAC认证码。在一些实施例中,还可由主机根据装置102的当前写入计数器值来计算MAC认证码。由主机计算的MAC认证码被包括在发送到装置102并由装置102接收(图5,框324)的瞬态模式经认证的数据写入请求消息中。因此,由数据写入请求消息所请求的写入操作被称为“经认证的数据写入”。
受保护存储器控制器134以与在RPMB标准中所描述的已知RPMB控制器的方式类似的、但是被修改为适合于本描述的多模式受保护存储器操作的瞬态模式的方式执行认证测试。在该实施例中,接收瞬态模式经认证的数据写入请求消息的受保护存储器控制器134使用共享瞬态模式认证密钥来认证接收的消息。例如,以与上面结合主机描述的方式类似的方式,使用控制器134的消息认证码(MAC)引擎142,受保护存储器控制器134根据存储在寄存器字段146(图2)中的共享瞬态模式认证密钥和写入请求中包括的由主机用于计算MAC认证码的数据写入请求消息的相同部分来计算MAC认证码。在一些实施例中,还可根据装置102的当前写入计数器值来计算MAC认证码。将由受保护存储器控制器134计算的MAC认证码与发送到装置102的瞬态模式经认证的数据写入请求消息中包括的MAC认证码相比较。如果两个MAC认证码匹配,则接收的消息通过受保护存储器控制器134的认证过程,并且接收的数据写入请求消息被认为是可信的,即,由授权的发送者发送的。
然而,在一些实施例中,由数据写入请求消息所请求的数据写入操作可以以与已知RPMB控制器的方式(诸如在RPMB标准中描述的那些)类似的、但是被修改为适合于本描述的多模式受保护存储器操作的瞬态模式的方式经受附加的安全测试,诸如地址范围测试和写入计数器测试或其它测试。
例如,地址范围测试可由受保护存储器控制器134以与已知RPMB控制器的方式类似的、被修改为适合于本描述的多模式受保护存储器操作的瞬态模式的方式执行。在所示的实施例中,地址范围测试确定数据写入操作的目标地址是否在预期范围内。
如前所提及的,已知RPMB装置的另一个安全特征是由RPMB存储装置的RPMB控制器维护的写入计数器。在一个实施例中,在由已被认证为有效(图5,框344)的瞬态模式数据写入消息所请求的对受保护存储器用户数据区域分区114的瞬态模式数据写入操作的成功执行(图5,框350)并且其它安全测试通过时,瞬态模式写入计数器的寄存器字段280(图2)被递增(图4,框350)。
当生成瞬态模式数据写入请求消息时,请求主机的MAC引擎234(图3)可将装置102的当前递增的写入计数值与计算的MAC认证码一起包括在数据写入请求消息中,如上面所述的那样。在写入计数器测试实施例中,如果接收到受保护存储器控制器134确定数据写入请求消息中包括的写入计数值不匹配受保护存储器控制器的写入计数器的寄存器字段280的当前计数值,则接收到的数据写入请求消息被认为是无效的,并且所请求的写入操作的执行被阻止。此外,受保护存储器控制器134生成(图5,框340)错误消息并将其返回到请求主机。
如果数据写入请求消息被认证并且其它安全测试通过,则执行所请求的数据写入操作(图5,框350),将所请求的数据写入到装置102的受保护存储器用户数据区域分区114(图2)。此外,用于瞬态模式写入计数器的寄存器字段280(图2)被递增,并且受保护存储器控制器134的响应消息生成逻辑164(图2)生成(图5,框354)确认由瞬态模式经认证的数据写入请求消息所请求的成功数据写入的响应消息并将其返回到请求主机。在一个实施例中,受保护存储器控制器134以与在RPMB标准中所描述的已知RPMB控制器的方式类似的方式返回零错误代码响应以指示成功写入。响应于成功写入确认,主机所保护的存储器接口逻辑220将存储在数据结构356中的写入计数值递增,以指示当前瞬态模式写入计数器值,该值将与下一个经认证的写入消息一起被传送到装置102,如上面所述的那样。
在已知的RPMB系统中,存在写入计数器读取请求命令,在对RPMB存储装置进行任何写入访问之前,主机可在请求消息中发出该请求命令,以在每次引导(boot)时读取RPMB控制器的初始写入计数器值。主机能将该初始写入计数器值高速缓存在存储器中,并且只要主机检测到经认证的写入成功,如上面所述的那样,主机软件就能递增高速缓存的写入计数器值,以保持写入计数器值在主机和RPMB控制器之间同步。
在根据本描述的多模式受保护存储器中,主机204以与已知RPMB主机类似的方式发出写入计数器读取请求消息,以将高速缓存中的写入计数器值初始化成装置102的当前写入计数器值。响应于每个成功写入确认(图5,框354),主机所保护的存储器接口逻辑220将存储在数据结构356中的写入计数值递增,以指示当前瞬态模式写入计数器值,该值将与下一个经认证的写入消息一起被传送到装置102,如上面所述的那样。备选地并且在一个实施例中,领会的是,装置102的寄存器字段280(图2)的递增的写入计数值可在响应消息中被报告回请求主机(图5,框354)。在传输(图5,框354)响应消息时,在瞬态模式下,对受保护存储器用户数据区域分区114的经认证的数据写入完成(图5,框360)。
如本文中所述的经认证的数据写入可在瞬态模式下无限次地执行。如果寄存器字段280(图2)的递增的写入计数值在瞬态模式下达到最大值,则寄存器字段280(图2)的递增的写入计数值可通过对用于瞬态模式的寄存器字段160中的相同或另一个认证密钥进行编程被容易地重置,如上面结合图4所述的那样。
相比之下,在永久模式下,一旦寄存器字段320(图2)的递增的写入计数值达到永久模式下的最大值,寄存器字段320(图2)的递增的写入计数值就可能不被重置,防止永久模式下的进一步经认证的数据写入,如下所述的那样。
如果确定(图5,框332)接收到的经认证的数据写入请求消息属于受保护存储器访问请求消息的永久模式集,则受保护存储器控制器134(图2)被进一步配置成确定(图5,框370)受保护存储器控制器134是否处于受保护存储器操作的永久模式。如上面提到的,瞬态模式禁用寄存器字段270(图2)可被设置或熔断以禁止进入瞬态模式,并且从而指示受保护存储器控制器处于永久模式。以这种方式,受保护存储器控制器134能通过读取瞬态模式禁用寄存器270(图2)来确定(图5,框370)受保护存储器控制器134是否已经处于受保护存储器操作的永久模式。
如果在接收到永久模式经认证的数据写入请求消息之后,确定受保护存储器控制器134处于瞬态模式,则受保护存储器控制器134认为接收到的永久模式数据写入请求消息是无效的,并且所请求的写入操作的执行被阻止。此外,受保护存储器控制器134生成(图5,框340)错误消息并将其返回到请求主机。在一个实施例中,如果受保护存储器处于瞬态永久模式,则不准许执行永久模式集的数据写入和数据读取操作,作为对抗恶意攻击的安全特征并为向后兼容性做准备。领会的是,在一些实施例中,可省略这样的安全特征。
相反,如果在接收到永久模式经认证的数据写入请求消息之后确定受保护存储器控制器134处于永久模式,则受保护存储器控制器134被配置成在准许执行指向受保护存储器用户数据区域分区114(图2)的永久模式请求的数据写入操作之前,结合接收到的永久模式经认证的数据写入请求消息执行(图5,框374)认证和其它安全测试。
在一个实施例中,结合接收到的永久模式经认证的数据写入请求消息执行的认证和其它测试可与由已知RPMB控制器执行的那些类似,被修改为适合于本描述的多模式受保护存储器操作。在一个实施例中,如上面结合图4所述的,在该示例中,永久模式认证密钥已经既被存储在主机的数据结构246(图3)中又还被存储在受保护存储器控制器134的一次写入寄存器字段150(图2)中,使得永久模式认证密钥是由主机和装置102的受保护存储器控制器134共享的秘密。使用主机的消息认证码(MAC)引擎234,主机根据共享的永久模式认证密钥和数据写入请求消息的一部分来计算MAC认证码。在一些实施例中,还可由主机根据装置102的当前写入计数器值来计算MAC认证码。计算的MAC认证码被包括在由装置102接收(图5,框324)的永久模式经认证的数据写入请求消息中。因此,由数据写入请求消息所请求的写入操作被称为“经认证的数据写入”。
受保护存储器控制器134以与在RPMB标准中所描述的已知RPMB控制器的方式类似的、但是被修改为适合于本描述的多模式受保护存储器操作的永久模式的方式执行认证测试。在该实施例中,接收永久模式经认证的数据写入请求消息的受保护存储器控制器134使用共享永久模式认证密钥来认证接收的消息。例如,以与上面结合主机描述的方式类似的方式,使用控制器134的消息认证码(MAC)引擎142,受保护存储器控制器134根据存储在寄存器字段146(图2)中的共享永久模式认证密钥和写入请求中包括的由主机用于计算MAC认证码的数据写入请求消息的相同部分来计算MAC认证码。在一些实施例中,还可根据装置102的当前写入计数器值来计算MAC认证码。将由受保护存储器控制器134计算的MAC认证码与发送到装置102的永久模式经认证的数据写入请求消息中包括的MAC认证码相比较。如果两个MAC认证码匹配,则接收的消息通过受保护存储器控制器134的认证过程,并且接收的数据写入请求消息被认为是可信的,即,由授权的发送者发送的。
然而,在该实施例中,由数据写入请求消息所请求的数据写入操作可以以与在RPMB标准中所描述的已知RPMB控制器的方式类似的、但是被修改为适合于本描述的多模式受保护存储器操作的永久模式的方式在永久模式下经受附加的安全测试,诸如地址范围测试和写入计数器以及其它测试。
地址范围测试可由受保护存储器控制器134以与已知RPMB控制器的方式类似的、被修改为适合于本描述的多模式受保护存储器操作的永久模式的方式执行。在所示的实施例中,地址范围测试确定数据写入操作的目标地址是否在预期范围内。
如前所述,已知RPMB装置的另一个安全特征是由RPMB存储装置的RPMB控制器维护的写入计数器。在该实施例中,在由已被认证为有效(图5,框374)的永久模式数据写入消息所请求的对受保护存储器用户数据区域分区114的永久模式数据写入操作的成功执行(图5,框380)并且其它安全测试通过时,永久模式写入计数器的寄存器字段320(图2)被递增(图5,框380)。请求主机响应于如下所述的认证响应消息,以与上面结合瞬态模式描述的方式类似的方式将用于永久模式写入计数器值的数据结构390中的写入计数值与受保护存储器控制器134的当前写入计数器值同步。在一些实施例中,由主机计算的MAC认证码可根据由主机与受保护存储器控制器134的当前写入计数器值同步的写入计数值被计算,并且被存储在用于永久模式写入计数器值的主机的数据结构390中。
当生成下一个永久模式数据写入请求消息时,在一些实施例中,请求主机的MAC引擎234(图3)包括存储在数据结构390(图2)中的最后报告的递增写入计数值,连同如上所述的数据写入请求消息中的计算的MAC认证码。在写入计数器测试实施例中,如果接收到受保护存储器控制器134确定包括在数据写入请求消息中的写入计数值不匹配受保护存储器控制器的永久模式写入计数器的寄存器字段320的永久模式当前计数值,则接收到的数据写入请求消息被认为无效,并且所请求的写入操作的执行被阻止。此外,受保护存储器控制器134生成(图5,框340)错误消息并将其返回到请求主机。
如果数据写入请求消息被认证并且其它安全测试通过,则执行所请求的数据写入操作(图5,框380),将所请求的数据写入到装置102的受保护存储器用户数据区域分区114(图2)。此外,用于永久模式写入计数器的寄存器字段320(图2)被递增,并且受保护存储器控制器134的响应消息生成逻辑164(图2)生成(图5,框384)确认由永久模式经认证的数据写入请求消息所请求的成功数据写入的响应消息并将其返回到请求主机。主机将存储在数据结构390中的写入计数值与装置102的寄存器字段320(图2)的递增写入计数值同步,如上面所述的那样。在永久模式下,对受保护存储器用户数据区域分区114的经认证的数据写入相应地完成(图5,框360)。
如本文中所述的经认证的数据写入可在永久模式下有限次地执行。如果寄存器字段320(图2)的递增的写入计数值达到永久模式下的最大值,则寄存器字段320(图2)的递增的写入计数值可能不被重置,作为安全特征防止永久模式下的进一步经认证的数据写入。
相比之下,用于瞬态模式的寄存器字段280(图2)的递增的写入计数值可通过对用于瞬态模式的寄存器字段160中的相同或另一个认证密钥进行编程被容易地重置,如上面结合图4所述的那样。因而,只要装置102保持在瞬态模式,就准许无限次的经认证的数据写入。然而,在一个实施例中,一旦装置进入永久模式,作为安全预防措施,装置可能就不会重新进入瞬态模式。
如上面提到的,一旦瞬态模式认证密钥已经被编程到用于瞬态模式认证密钥的寄存器字段146中,或者永久模式认证密钥已经被编程到用于永久模式认证密钥的寄存器字段150中,如上面结合图4所述的那样,受保护存储器用户数据区域分区114(图2)就可通过合适的访问操作被访问,所述合适的访问操作诸如如上面结合图5所述的经认证的数据写入以及由主机生成和发送的访问请求消息的瞬态模式集或永久模式集的经认证的数据读取。然而,在一些实施例中,受保护存储器用户数据区域分区114(图2)也可在不具有经认证的读取结果的读取操作中被访问。
图6描绘了受保护存储器控制器134的操作的一个示例,其被配置成根据本描述的多模式受保护存储器来处理经认证的数据读取操作。在该示例中,取决于受保护存储器控制器134处于哪种操作模式,使用受保护存储器访问请求消息的瞬态模式集的经认证的数据读取请求或者使用受保护存储器访问请求消息的永久模式集的经认证的数据读取请求来请求对受保护存储器用户数据区域分区114的经认证的数据读取。存储装置102的受保护存储器控制器134(图2)被配置成确定(图6,框424)接收到的请求消息是否是经认证的数据读取请求消息。如果是,则受保护存储器控制器134(图2)被进一步配置成确定(图6,框432)接收到的经认证的数据读取请求消息是否属于受保护存储器访问请求消息的永久模式集。如前所述,命令代码的一个集合可与请求消息的瞬态模式集结合使用,而命令代码的不同集合可与请求消息的永久模式集结合使用,以促进将瞬态模式集和永久模式集彼此区分开。
如果确定接收到的经认证的数据读取请求消息不属于受保护存储器访问请求消息的永久模式集,即,确定接收到的经认证的数据读取请求消息属于受保护存储器访问请求消息的瞬态模式集,则受保护存储器控制器134(图2)被进一步配置成确定(图6,框436)受保护存储器控制器134是否已经在受保护存储器操作的永久模式下。如上面提到的,受保护存储器控制器134的寄存器字段160包括瞬态模式禁用寄存器字段270(图2),其或者保持清零,指示受保护存储器控制器134保持在瞬态模式,或者已经被设置或熔断,指示受保护存储器控制器处于永久模式。从而,受保护存储器控制器134能通过读取瞬态模式禁用寄存器270(图2)来确定(图6,框436)受保护存储器控制器134是否已经处于受保护存储器操作的永久模式。
如果确定受保护存储器控制器134在接收到瞬态模式经认证的数据读取请求消息之后已经处于永久模式,则受保护存储器控制器134认为接收到的瞬态模式数据读取请求消息无效,并且所请求的读取操作的执行被阻止。此外,受保护存储器控制器134生成(图6,框440)错误消息并将其返回到请求主机。在一个实施例中,一旦受保护存储器进入永久模式,就不准许瞬态模式集的操作的执行,作为针对恶意攻击的安全特征并为向后兼容性做准备。领会的是,在一些实施例中,可省略这样的安全特征。
相反,如果确定受保护存储器控制器134尚未处于永久模式,即,在接收到瞬态模式经认证的数据写入请求消息之后受保护存储器控制器134仍在瞬态模式内操作,则受保护存储器控制器134被配置成通过从装置102的受保护存储器用户数据区域分区114(图2)读取所请求的数据来执行(图6,框450)所请求的数据读取操作。此外,受保护存储器控制器134生成(图6,框454)并返回包括所请求的读取数据的经认证的读取响应消息。因此,由数据读取请求消息所请求的读取操作被称为“经认证的数据读取”。
在一个实施例中,瞬态模式经认证的数据读取响应消息可与由已知RPMB控制器生成的那些消息相同或类似,被修改为适合于本描述的多模式受保护存储器操作。如上面提到的,在该实施例中,瞬态模式认证密钥已经既被存储在主机的数据结构238(图3)中,又还被存储在受保护存储器控制器134的可重新编程寄存器字段146(图2)中,使得瞬态模式认证密钥是由主机和装置102的受保护存储器控制器134共享的秘密。使用装置102的消息认证码(MAC)引擎142,受保护存储器控制器134根据共享瞬态模式认证密钥和数据读取响应消息的一部分来计算MAC认证码。
由受保护存储器控制器134计算的MAC认证码被包括在由装置102返回(图6的方框454)的瞬态模式经认证的数据读取响应消息中。在一个实施例中,由受保护存储器控制器134计算的MAC认证码也可根据由主机供应的随机数与由主机传送到装置102的数据读取请求消息来计算。在图3的实施例中,主机所保护的存储器接口逻辑220包括随机数生成器(RNG)456。所生成的随机数与由装置102接收(图6,框424)的瞬态模式经认证的数据读取请求消息一起被发送到装置102。在一个实施例中,作为附加安全措施,在对受保护存储器用户数据区域分区114(图2)的成功读取操作之后的瞬态模式经认证的数据读取响应消息可包括最初由主机与数据读取请求消息一起发送到装置102的随机数的副本。在传输经认证的数据读取响应消息时,受保护存储器控制器134在经认证的读取操作中的角色完成(框460)。
在从装置102接收到经认证的数据读取响应消息时,主机以与在RPMB中所描述的已知的启用RPMB的主机的方式类似的、但是被修改为适合于本描述的多模式受保护存储器操作的瞬态模式的方式执行认证过程。在该实施例中,接收瞬态模式经认证的数据读取响应消息的主机,使用共享瞬态模式认证密钥来认证数据读取响应消息。例如,以与以上面结合受保护存储器控制器134描述的方式类似的方式,使用消息认证码(MAC)引擎234,主机所保护的存储器接口逻辑220根据存储在数据结构238(图3)中的共享瞬态模式认证密钥和包括在读取响应中的由受保护存储器控制器134(图3)用于计算MAC认证码的数据读取响应消息的相同部分,来计算MAC认证码。将由主机204计算的MAC认证码与包括在发送到主机204的瞬态模式经认证的数据读取响应消息中的MAC认证码进行比较。如果两个MAC认证码匹配,则接收到的读取响应消息通过主机204的认证过程,并且接收到的数据读取响应消息被认为是可信的,即,由授权的发送者发送。
然而,在该实施例中,由数据读取请求消息所请求的数据读取操作可以以与在RPMB中所描述的已知启用RPMB的主机和控制器的方式类似的、但是被修改为适合于本描述的多模式受保护存储器操作的瞬态模式的方式经受附加的安全测试,诸如随机数测试。例如,主机204可将包括在发送到主机204的瞬态模式经认证的数据读取响应消息中的随机数与由主机204生成并包括在发送到装置102的瞬态模式经认证的数据读取请求消息中的随机数进行比较。如果两个随机数匹配,则接收到的读取响应消息通过主机204的认证过程,并且转发读取数据的接收到的数据读取响应消息被认为是可信的,即,由授权的发送者发送。
在一个实施例中,本文中所描述的经认证的数据读取可在瞬态模式下或一旦瞬态模式永久退出的永久模式下无限次地执行。然而,领会的是,在一些实施例中,取决于特定应用,可对瞬态模式、永久模式或两者中的经认证的读取操作的数量施加限制。
如果确定(图6,框432)接收到的经认证的数据读取请求消息属于受保护存储器访问请求消息的永久模式集,则受保护存储器控制器134(图2)被进一步配置成确定(图6,框470)受保护存储器控制器134是否处于受保护存储器操作的永久模式。如上面提到的,瞬态模式禁用寄存器字段270(图2)可被设置或熔断以禁止进入瞬态模式,并且从而指示受保护存储器控制器处于永久模式。以这种方式,受保护存储器控制器134能通过读取瞬态模式禁用寄存器270(图2)来确定(图6,框470)受保护存储器控制器134是否已经处于受保护存储器操作的永久模式。
如果在接收到永久模式经认证的数据读取请求消息之后,确定受保护存储器控制器134处于瞬态模式,则受保护存储器控制器134认为接收到的永久模式数据读取请求消息是无效的,并且所请求的读取操作的执行被阻止。此外,受保护存储器控制器134生成(图6,框472)错误消息并将其返回到请求主机。在一个实施例中,如果受保护存储器处于瞬态永久模式,则不准许执行永久模式集的经认证的读取操作,作为对抗恶意攻击的安全特征并为向后兼容性做准备。领会的是,在一些实施例中,可省略这样的安全特征。
相反,如果在接收到永久模式经认证的数据读取请求消息之后确定受保护存储器控制器134处于永久模式,则受保护存储器控制器134被配置成通过从装置102的受保护存储器用户数据区域分区114(图2)读取所请求的数据来执行(图6,框450)所请求的数据读取操作。此外,受保护存储器控制器134以与结合瞬态模式下的经认证的读取响应所描述的方式类似的方式来生成(图6,框454)并返回包括所请求的读取数据的经认证的读取响应消息。
在从装置102接收到经认证的数据读取响应消息时,主机以与上面结合瞬态模式经认证的数据读取响应消息描述的方式类似的、但是被修改为适合于本描述的多模式受保护存储器操作的永久模式的方式执行认证过程。在该实施例中,接收永久模式经认证的数据读取请求消息的主机使用共享永久模式认证密钥来认证数据读取响应消息。例如,以与上面结合受保护存储器控制器134描述的方式类似的方式,使用消息认证码(MAC)引擎234,主机所保护的存储器接口逻辑220根据存储在数据结构238(图3)中的共享永久模式认证密钥和包括在读取响应中的由受保护存储器控制器134(图3)用于计算MAC认证码的数据读取响应消息的相同部分来计算MAC认证码。将由主机204计算的MAC认证码与包括在发送到主机204的永久模式经认证的数据读取响应消息中的MAC认证码进行比较。如果两个MAC认证码匹配,则接收到的读取响应消息通过主机204的认证过程,并且接收到的数据读取响应消息被认为是可信的,即,由授权的发送者发送。在一些实施例中,主机和装置102也可根据经认证的数据读取请求消息中由主机生成并发送到装置102的随机数来计算它们相应的MAC认证码,如上面所述的那样。
然而,在该实施例中,由数据读取请求消息所请求的数据读取响应可以以与在RPMB标准中所描述的已知RPMB控制器的方式类似的、但是被修改为适合于本描述的多模式受保护存储器操作的永久模式的方式经受附加的安全测试,诸如随机数测试。例如,主机204可将包括在发送到主机204的永久模式经认证的数据读取响应消息中的随机数与由主机204生成并包括在发送到装置102的永久模式经认证的数据读取请求消息中的随机数进行比较。如果两个随机数匹配,则接收到的读取响应消息通过主机204的认证过程,并且转发读取数据的接收到的数据读取响应消息被认为是可信的,即,由授权的发送者发送。
RPMB标准的其它请求消息类型可由具有根据本描述的多模式受保护存储器的启用RPMB的存储装置以与上述的方式类似的方式在选定的瞬态模式下或在永久模式下被处置。从而,其它请求消息例如可以以与已知RPMB控制器的方式类似的、被修改为适合于本描述的多模式受保护存储器操作的方式被处置。
例如,RPMB标准的另一种已知请求消息类型是由RPMB主机生成并发送到启用RPMB的存储装置的读取计数器值请求消息,该存储装置在响应消息中返回当前写入计数器值。像数据读取请求消息一样,读取计数器值请求消息包括由主机生成的随机数。除了写入计数器值之外,来自启用RPMB的装置的读取计数器值响应消息还包括由启用RPMB的装置计算的MAC认证码连同与请求消息一起接收的随机数的副本。主机以与经认证的数据读取响应消息的方式类似的方式认证读取计数器值响应消息。
在本描述的一个实施例中,主机204的受主机所保护的存储器接口逻辑220(图3)以与已知RPMB系统的方式类似的、被修改为适合于根据本描述的多模式受保护存储器的方式生成读取计数器值请求消息并将其发送到存储装置102。例如,读取计数器值请求消息可以以与上面结合图6所描述的将数据读取请求消息修改用于瞬态模式类似的方式被修改用于瞬态模式。类似地,读取计数器值请求消息可以以与上面结合图6所描述的将数据读取请求消息修改用于永久模式类似的方式被修改用于永久模式。
装置102的受保护存储器控制器134(图2)以与已知RPMB系统的方式类似的、被修改为适合于根据本描述的多模式受保护存储器的方式生成读取计数器值响应消息并将其发送到主机204。例如,读取计数器值响应消息可以以与上面结合图6所描述的将数据读取响应消息修改用于瞬态模式类似的方式被修改用于瞬态模式。类似地,读取计数器值响应消息可以以与上面结合图6所描述的将数据读取响应消息修改用于永久模式类似的方式被修改用于永久模式。
所描述的操作可使用标准编程和/或工程技术来产生软件、固件、硬件或它们的任何组合而被实现为方法、设备或计算机程序产品。所描述的操作可被实现为在“计算机可读存储介质”中维护的代码,其中处理器可读取并执行来自计算机可读存储介质的代码。计算机可读存储介质包括电子电路、存储材料、无机材料、有机材料、生物材料、壳体(casing)、外壳、涂层和硬件中的至少一项。计算机可读存储介质可包括但不限于磁存储介质(例如,硬盘驱动器、软盘、磁带等)、光存储设备(CD-ROM、DVD、光盘等)、易失性和非易失性存储器装置(例如,EEPROM、ROM、PROM、RAM、DRAM、SRAM、闪速存储器、固件、可编程逻辑等)、固态驱动器(SSD)等。实现所描述的操作的代码可进一步用在硬件装置(例如,集成电路芯片、可编程门阵列(PGA)、专用集成电路(ASIC)等)中实现的硬件逻辑实现。更进一步,实现所描述的操作的代码可用“传输信号”实现,其中传输信号可通过空间或通过传输介质(诸如光纤、铜线等)传播。其中编码了代码或逻辑的传输信号可进一步包括无线信号、卫星传输、无线电波、红外信号、蓝牙等。嵌入在计算机可读存储介质上的程序代码可作为传输信号从传送站或计算机传送到接收站或计算机。计算机可读存储介质不仅仅由传输信号组成。本领域技术人员将认识到,可对这种配置进行许多修改,并且该制品可包括本领域已知的合适的信息承载介质。
用于执行某些实施例的方面的操作的计算机程序代码可用一种或多种编程语言的任何组合来编写。流程图和框图的框可由计算机程序指令来实现。
某些实施例可针对一种用于由人部署计算指令或将计算机可读代码集成到计算系统中的自动化处理的方法,其中使与计算系统组合的代码能够执行所描述的实施例的操作。
除非另有明确指定,否则术语“实施例(an embodiment、embodiment、embodiments、the embodiment、the embodiments)”、“一个或多个实施例”、“一些实施例”和“一个实施例”意味着“一个或多个(但不是全部)实施例”。
除非另有明确指定,否则术语“包括(including、comprising)”、“具有”及其变体意味着“包括但不限于”。
除非另有明确指定,否则枚举的项目列表并不意味着任何或所有项目是互斥的。
除非另有明确指定,否则术语“一(a、an)”和“该(the)”意味着“一个或多个”。
除非另有明确指定,否则彼此通信的装置不需要彼此连续通信。此外,彼此通信的装置可直接通信,或者通过一个或多个中介间接通信。
几个组件彼此通信的实施例的描述并不意味着要求所有这样的组件。相反,描述了各种可选组件以说明各种各样的可能实施例。
另外,尽管过程步骤、方法步骤、算法等可按顺序次序描述,但是这样的过程、方法和算法可被配置成以交替的次序工作。换句话说,可被描述的步骤的任何顺序或次序不一定指示按该次序执行所述步骤的要求。本文中描述的过程步骤可按任何实际的次序执行。另外,一些步骤可同时执行。
当本文中描述单个装置或物品时,将显而易见的是,可使用多于一个的装置/物品(无论它们是否合作)来代替单个装置/物品。类似地,在本文中描述了多于一个的装置或物品的情况下(无论它们是否合作),将显而易见的是,可使用单个装置/物品来代替多于一个的装置或物品,或者可使用不同数量的装置/物品来代替所示数量的装置或程序。装置的功能性和/或特征可备选地由没有被明确描述为具有这样的功能性/特征的一个或多个其它装置来体现。从而,其它实施例不需要包括装置本身。
可能已经在图中示出的至少某些操作示出了以特定次序发生的某些事件。在备选实施例中,可按不同的次序执行、修改或移除某些操作。而且,步骤可被添加到上面描述的逻辑,并且仍符合所描述的实施例。另外,本文中描述的操作可顺序发生,或者可并行处理某些操作。更进一步,操作可由单个处理单元或者由分布式处理单元来执行。
出于说明和描述的目的,已经呈现了各种实施例的前述描述。它并不旨在穷举或限制于所公开的精确形式。根据以上教导,许多修改和变化是可能的。
示例
以下示例涉及进一步的实施例。
示例1是一种设备,包括:受保护存储器;以及受保护存储器控制器,其被配置成控制对所述受保护存储器的访问,所述受保护存储器控制器包括模式逻辑,所述模式逻辑被配置成在包括瞬态模式和永久模式的选定模式下控制对所述受保护存储器的访问,其中所述受保护存储器控制器被进一步配置成在所述瞬态模式下根据可重新编程认证密钥以及在所述永久模式下根据一次性可编程认证密钥来认证指向所述受保护存储器的存储器操作。
在示例2中,示例1-7(除了本示例)的主题能可选地包括:其中所述受保护存储器控制器具有寄存器,所述寄存器被配置成可设置成指示所述受保护存储器控制器支持所述瞬态模式。
在示例3中,示例1-7(除了本示例)的主题能可选地包括:其中所述模式逻辑具有熔丝,并且被配置成设置所述熔丝以在进入所述永久模式时禁止进入所述瞬态模式。
在示例4中,示例1-7(除了本示例)的主题能可选地包括:其中所述受保护存储器控制器具有被配置成在所述瞬态模式下存储所述可重新编程认证密钥的可重新编程寄存器,以及被配置成在所述永久模式下存储所述一次性可编程认证密钥的一次写入寄存器。
在示例5中,示例1-7(除了本示例)的主题能可选地包括:其中所述受保护存储器控制器具有被配置成在所述瞬态模式下对所述受保护存储器的写入操作进行计数的可重置写入计数器,以及被配置成在所述永久模式下对所述受保护存储器的写入操作进行计数的不可重置写入计数器。
在示例6中,示例1-7(除了本示例)的主题能可选地包括:其中所述受保护存储器控制器被配置成在所述瞬态模式下响应请求消息的瞬态模式集以及在所述永久模式下响应请求消息的永久模式集,其中当所述受保护存储器控制器在所述永久模式下时,响应于接收到请求消息的所述瞬态模式集的请求消息而返回错误响应消息。
在示例7中,示例1-7(除了本示例)的主题能可选地包括一种系统,所述系统包括:所述受保护存储器和受保护存储器控制器,以及耦合到所述受保护存储器控制器和受保护存储器的以下项中的至少一个:显示器,其被配置成根据指向所述受保护存储器的存储器操作来显示信息;网络接口,其被配置成根据指向所述受保护存储器的存储器操作来传送信息;以及电池,其被配置成向所述系统提供电力。
示例8是一种方法,包括:在包括瞬态模式和永久模式的选定模式下控制对受保护存储器的访问,在所述瞬态模式下,根据可重新编程认证密钥来认证指向所述受保护存储器的存储器操作,在所述永久模式下,根据一次性可编程认证密钥来认证指向所述受保护存储器的存储器操作。
在示例9中,示例8-13(除了本示例)的主题能可选地包括:设置寄存器以指示所述受保护存储器控制器支持所述瞬态模式。
在示例10中,示例8-13(除了本示例)的主题能可选地包括:设置熔丝以在进入所述永久模式时禁止进入所述瞬态模式。
在示例11中,示例8-13(除了本示例)的主题能可选地包括:在所述瞬态模式下将所述可重新编程认证密钥存储在可重新编程寄存器中,以及在所述永久模式下将所述一次性可编程认证密钥存储在一次写入寄存器中。
在示例12中,示例8-13(除了本示例)的主题能可选地包括:重置可重置写入计数器,所述可重置写入计数器被配置成在所述瞬态模式下对所述受保护存储器的写入操作进行计数,以及在不可重置写入计数器中在所述永久模式下对所述受保护存储器的写入操作进行计数。
在示例13中,示例8-13(除了本示例)的主题能可选地包括:所述受保护存储器控制器在所述瞬态模式下响应请求消息的瞬态模式集,在所述永久模式下响应请求消息的永久模式集,并且当所述受保护存储器控制器在所述永久模式下时,响应于接收到请求消息的所述瞬态模式集的请求消息而返回错误响应消息。
示例14是一种设备,其包括执行如任何前述示例中所要求保护的方法的部件。
示例15是一种设备,包括:受保护存储器;以及受保护存储器控制器部件,其被配置用于控制对所述受保护存储器的访问,所述受保护存储器控制器部件包括模式逻辑部件,所述模式逻辑部件被配置用于在包括瞬态模式和永久模式的选定模式下控制对所述受保护存储器的访问,其中所述受保护存储器控制器部件被进一步配置用于在所述瞬态模式下根据可重新编程认证密钥以及在所述永久模式下根据一次性可编程认证密钥来认证指向所述受保护存储器的存储器操作。
示例16是一种用于具有受保护存储器和受保护存储器控制器的计算系统的计算机程序产品,其中所述计算机程序产品包括计算机可读存储介质,其中体现有程序指令,所述程序指令由所述计算系统的处理器可执行以引起操作,所述操作包括:在包括瞬态模式和永久模式的选定模式下控制对受保护存储器的访问,在所述瞬态模式下,根据可重新编程认证密钥来认证指向所述受保护存储器的存储器操作,在所述永久模式下,根据一次性可编程认证密钥来认证指向所述受保护存储器的存储器操作。
上述系统和/或设备中的任何系统和/或设备的所有可选特征也可相对于上述方法或过程来实现,并且示例中的细节可在一个或多个实施例中的任何地方使用。此外,上述方法或过程的所有可选特征也可相对于上述系统和/或设备中的任何系统和/或设备来实现,并且示例中的细节可在一个或多个实施例中的任何地方使用。

Claims (18)

1.一种设备,包括:
受保护存储器;以及
受保护存储器控制器,所述受保护存储器控制器被配置成控制对所述受保护存储器的访问,所述受保护存储器控制器包括模式逻辑,所述模式逻辑被配置成在包括瞬态模式和永久模式的选定模式下控制对所述受保护存储器的访问,其中,所述受保护存储器控制器被进一步配置成在所述瞬态模式下根据可重新编程认证密钥以及在所述永久模式下根据一次性可编程认证密钥来认证指向所述受保护存储器的存储器操作。
2.如权利要求1所述的设备,其中,所述受保护存储器控制器具有寄存器,所述寄存器被配置成可设置成指示所述受保护存储器控制器支持所述瞬态模式。
3.如权利要求1所述的设备,其中,所述模式逻辑具有熔丝,并且被配置成设置所述熔丝以在进入所述永久模式时禁止进入所述瞬态模式。
4.如权利要求1所述的设备,其中,所述受保护存储器控制器具有被配置成在所述瞬态模式下存储所述可重新编程认证密钥的可重新编程寄存器,以及被配置成在所述永久模式下存储所述一次性可编程认证密钥的一次写入寄存器。
5.如权利要求1所述的设备,其中,所述受保护存储器控制器具有被配置成在所述瞬态模式下对所述受保护存储器的写入操作进行计数的可重置写入计数器,以及被配置成在所述永久模式下对所述受保护存储器的写入操作进行计数的不可重置写入计数器。
6.如权利要求1-5中任一项所述的设备,其中,所述受保护存储器控制器被配置成在所述瞬态模式下响应请求消息的瞬态模式集以及在所述永久模式下响应请求消息的永久模式集,其中,当所述受保护存储器控制器在所述永久模式下时,响应于接收到请求消息的所述瞬态模式集的请求消息而返回错误响应消息。
7.一种方法,包括:
在包括瞬态模式和永久模式的选定模式下控制对受保护存储器的访问,在所述瞬态模式下,根据可重新编程认证密钥来认证指向所述受保护存储器的存储器操作,在所述永久模式下,根据一次性可编程认证密钥来认证指向所述受保护存储器的存储器操作。
8.如权利要求7所述的方法,进一步包括:设置寄存器以指示所述受保护存储器控制器支持所述瞬态模式。
9.如权利要求7所述的方法,进一步包括:设置熔丝以在进入所述永久模式时禁止进入所述瞬态模式。
10.如权利要求7所述的方法,进一步包括:在所述瞬态模式下将所述可重新编程认证密钥存储在可重新编程寄存器中,以及在所述永久模式下将所述一次性可编程认证密钥存储在一次写入寄存器中。
11.如权利要求7所述的方法,进一步包括:重置可重置写入计数器,所述可重置写入计数器被配置成在所述瞬态模式下对所述受保护存储器的写入操作进行计数,以及在不可重置写入计数器中在所述永久模式下对所述受保护存储器的写入操作进行计数。
12.如权利要求7-11中任一项所述的方法,进一步包括:所述受保护存储器控制器在所述瞬态模式下响应请求消息的瞬态模式集,在所述永久模式下响应请求消息的永久模式集,并且当所述受保护存储器控制器在所述永久模式下时,响应于接收到请求消息的所述瞬态模式集的请求消息而返回错误响应消息。
13.一种系统,包括:
受保护存储器,所述受保护存储器被配置成存储数据;
受保护存储器控制器,所述受保护存储器控制器被配置成控制对所述受保护存储器的访问,所述受保护存储器控制器包括模式逻辑,所述模式逻辑被配置成在包括瞬态模式和永久模式的选定模式下控制对所述受保护存储器的访问,其中,所述受保护存储器控制器被进一步配置成在所述瞬态模式下根据可重新编程认证密钥以及在所述永久模式下根据一次性可编程认证密钥来认证指向所述受保护存储器的存储器操作;以及
显示器,所述显示器被配置成根据指向所述受保护存储器的存储器操作来显示信息。
14.如权利要求13所述的系统,其中,所述受保护存储器控制器具有寄存器,所述寄存器被配置成可设置成指示所述受保护存储器控制器支持所述瞬态模式。
15.如权利要求13所述的系统,其中,所述模式逻辑具有熔丝,并且被配置成设置所述熔丝以在进入所述永久模式时禁止进入所述瞬态模式。
16.如权利要求13所述的系统,其中,所述受保护存储器控制器具有被配置成在所述瞬态模式下存储所述可重新编程认证密钥的可重新编程寄存器,以及被配置成在所述永久模式下存储所述一次性可编程认证密钥的一次写入寄存器。
17.如权利要求13所述的系统,其中,所述受保护存储器控制器具有被配置成在所述瞬态模式下对所述受保护存储器的写入操作进行计数的可重置写入计数器,以及被配置成在所述永久模式下对所述受保护存储器的写入操作进行计数的不可重置写入计数器。
18.如权利要求13-17中任一项所述的系统,其中,所述受保护存储器控制器被配置成在所述瞬态模式下响应请求消息的瞬态模式集以及在所述永久模式下响应请求消息的永久模式集,其中,当所述受保护存储器控制器在所述永久模式下时,响应于接收到请求消息的所述瞬态模式集的请求消息而返回错误响应消息。
CN201980094337.4A 2019-04-19 2019-04-19 多模式受保护存储器 Pending CN113557500A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/083388 WO2020211070A1 (en) 2019-04-19 2019-04-19 Multi-mode protected memory

Publications (1)

Publication Number Publication Date
CN113557500A true CN113557500A (zh) 2021-10-26

Family

ID=72837969

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980094337.4A Pending CN113557500A (zh) 2019-04-19 2019-04-19 多模式受保护存储器

Country Status (6)

Country Link
US (1) US11816039B2 (zh)
JP (1) JP7332083B2 (zh)
KR (1) KR20210154803A (zh)
CN (1) CN113557500A (zh)
DE (1) DE112019007230T5 (zh)
WO (1) WO2020211070A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114692124A (zh) * 2022-04-18 2022-07-01 镁佳(北京)科技有限公司 一种数据读取、写入方法、装置和电子设备

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11714561B2 (en) * 2020-07-17 2023-08-01 Samsung Electronics Co., Ltd. System, device and method for writing data to protected region
WO2023085613A1 (ko) 2021-11-11 2023-05-19 주식회사 부강테크 에너지 소비효율과 승온속도를 향상시킨 유기성 폐기물 처리장치 및 방법

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7500098B2 (en) 2004-03-19 2009-03-03 Nokia Corporation Secure mode controlled memory
EP1615225B1 (en) * 2004-07-08 2009-01-28 Nokia Corporation Method for partial permanent write protection of a memory card and corresponding memory card
KR100813629B1 (ko) * 2007-01-17 2008-03-14 삼성전자주식회사 향상된 섹터 보호 스킴
US8117378B2 (en) * 2008-10-29 2012-02-14 Microchip Technology Incorporated Preventing unintended permanent write-protection
JP2010225259A (ja) 2009-02-27 2010-10-07 Renesas Electronics Corp 半導体装置
US8613074B2 (en) * 2010-09-30 2013-12-17 Micron Technology, Inc. Security protection for memory content of processor main memory
GB2490875A (en) 2011-05-11 2012-11-21 Future Upgrades Ltd Controlling access to data storage means using a one-time-programmable memory device
KR101797107B1 (ko) 2011-07-08 2017-12-13 삼성전자주식회사 비휘발성 메모리 장치와 상기 비휘발성 메모리 장치를 포함하는 메모리 시스템
JP5749236B2 (ja) * 2012-09-28 2015-07-15 株式会社東芝 鍵付け替え管理装置および鍵付け替え管理方法
US20150089245A1 (en) 2013-09-26 2015-03-26 Asher M. Altman Data storage in persistent memory
EP3080744A1 (en) * 2013-12-10 2016-10-19 Memory Technologies LLC Storage module with authenticated storage access
US11030122B2 (en) * 2014-04-08 2021-06-08 Micron Technology, Inc. Apparatuses and methods for securing an access protection scheme

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114692124A (zh) * 2022-04-18 2022-07-01 镁佳(北京)科技有限公司 一种数据读取、写入方法、装置和电子设备

Also Published As

Publication number Publication date
KR20210154803A (ko) 2021-12-21
DE112019007230T5 (de) 2021-12-30
JP7332083B2 (ja) 2023-08-23
US20220164293A1 (en) 2022-05-26
JP2022529873A (ja) 2022-06-27
WO2020211070A1 (en) 2020-10-22
US11816039B2 (en) 2023-11-14

Similar Documents

Publication Publication Date Title
TWI620095B (zh) 用以確保存取保護計畫之裝置及有形機器可讀媒體
JP6433198B2 (ja) 安全なブートromパッチのためのシステム及び方法
US7093064B2 (en) Programming suspend status indicator for flash memory
US11038749B2 (en) Memory resource allocation in an end-point device
US12001689B2 (en) Transparently attached flash memory security
US9104890B2 (en) Data processing device and a secure memory device including the same
JP7332083B2 (ja) マルチモード保護メモリ
CN104011733A (zh) 在系统预引导期间具有改进的只读存储器锁定的安全数据保护
KR20170140225A (ko) 향상된 명령어 세트를 구비한 중앙 처리 유닛
US11847209B2 (en) Memory device and system
US20240111545A1 (en) Concurrent image measurement and execution
US11055237B2 (en) Method of access to a memory
US20080034150A1 (en) Data processing circuit
KR20180066601A (ko) 메모리 시스템의 구동 방법
US10379768B2 (en) Selective memory mode authorization enforcement
US9373377B2 (en) Apparatuses, integrated circuits, and methods for testmode security systems
US9025366B2 (en) Main memory system storing operating system program and computer system including the same
JP2011141888A (ja) シングルチップマイクロコンピュータ

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