CN112020843A - 非易失性存储器设备中的临时区 - Google Patents

非易失性存储器设备中的临时区 Download PDF

Info

Publication number
CN112020843A
CN112020843A CN201880092975.8A CN201880092975A CN112020843A CN 112020843 A CN112020843 A CN 112020843A CN 201880092975 A CN201880092975 A CN 201880092975A CN 112020843 A CN112020843 A CN 112020843A
Authority
CN
China
Prior art keywords
encryption key
computing device
volatile memory
temporary
firmware
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
CN201880092975.8A
Other languages
English (en)
Inventor
D·梅达利亚
C·哈斯
R·盖伊
B·A·奥尔康
S·沃德
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.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of CN112020843A publication Critical patent/CN112020843A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/005Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor comprising combined but independently operative RAM-ROM, RAM-PROM, RAM-EPROM cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C14/00Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/14Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
    • G11C5/143Detection of memory cassette insertion or removal; Continuity checks of supply or ground lines; Detection of supply variations, interruptions or levels ; Switching between alternative supplies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0877Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • H04L9/0897Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Power Engineering (AREA)
  • Power Sources (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

一种计算设备,包括:非易失性存储器设备,在其中包括临时存储器区,临时存储器区被加密并包括相关联的加密密钥;和固件,用于在计算设备断电之前存储加密密钥。

Description

非易失性存储器设备中的临时区
背景技术
数据存储设备(也被称为存储器设备)可以分为两类:易失性和非易失性。非易失性数据存储设备可以包括即使在经历电力循环之后也可以检索存储在其上的数据的任何数据存储设备。相比之下,易失性数据存储设备可以包括只要维持电力就保留存储在其上的数据的任何数据存储设备。当易失性存储器设备中的电力丢失或中断时,存储在其上的数据丢失。
附图说明
附图说明了本文中描述的原理的各种示例,并且是说明书的一部分。所示的示例仅仅是为了说明而给出的,并不限制权利要求的范围;
图1是根据本文中描述的原理的示例的计算设备的框图;
图2是描绘根据本文描述的原理的示例解锁计算设备的数据存储设备的方法的流程图;
图3是根据本文中描述的原理的示例的非易失性数据存储设备(300)的框图;
贯穿于附图,相同的附图标记指定相似但不一定相同的元件。附图不一定按比例绘制,一些部分的大小可能被放大以更清楚地图示所示出的示例。此外,描述提供了与说明书一致的示例和/或实施方式;然而,描述不限于附图中提供的示例和/或实施方式。
具体实施方式
为了在计算系统中准备用于休眠的存储器设备,将易失性存储器设备上维持的定义易失性系统存储器的数据复制到诸如非易失性存储器设备之类的永久性存储器设备,使得当计算设备随后上电时,系统存储器可以被重新使用。这些掉电处理的一些示例可以包括Windows/Linux计算机平台中的混合睡眠(S3)或休眠(S4)。当计算系统及其相关联的存储器设备再次上电时,定义易失性系统存储器的数据再次从永久性存储器设备(即,硬盘驱动器或SSD)回到易失性存储器设备。从易失性存储器设备复制定义易失性系统存储器的数据,然后将其复制回到易失性存储器设备上需要时间。事实上,绝大多数的上电处理包括将定义易失性系统存储器的数据再次复制到易失性存储器。
在一些示例中,如果存储器设备存储永久性数据(即,要跨重新开机或掉电操作重复使用的数据),则可以在非易失性存储器(NVM)设备中设置并保存口令,以便在每次开机、电力循环或挂起状态期间,将使用先前设置的口令来恢复操作。实际上,在一个示例中,非易失性存储器设备可以包括临时区。如在本说明书和所附权利要求中所使用的,术语“临时区”意味着被理解为在非易失性区断电期间表现为好像它是易失性的区。存储在NVM的临时区中的数据只能使用被包括在所述处理的临时区密钥对中的解密密钥来被检索。然而,在一些示例中,存储在NVM的永久性区中的数据可以使用被包括在处理的永久性区密钥对中的解密密钥或者由例如恢复服务维持的另外的(例如,不同的)解密密钥来被检索。更进一步地,在一些示例中,与处理相关联的密钥对存储在易失性存储器中,并且因此在例如断电或系统崩溃之后丢失。这可能妨碍对存储在NVM的临时区中的数据的恢复,而存储在非易失性存储器的永久性区中而不是临时区中的数据仍然可以使用例如由恢复服务维持的解密密钥来恢复。
如果计算系统启动挂起状态,则NVM设备将表现得像动态随机存取存储器(DRAM)设备。也就是说,只要通电,它们就会保持数据。在该示例中,计算系统将保持NVM设备通电,以便能够重新使用其数据。结果,密钥没有丢失。
本说明书描述了一种计算系统,其消除了要在掉电状态之前被转储清除(flush)的NVM的使用。相反,在一个示例中,该处理包括经修改的S3(通常被称为待机、睡眠或挂起到RAM(STR)),其将提供给NVM设备的电力降低到零,同时仍然给诸如DRAM和片上系统(SoC)之类的其它存储器设备供电。在另一个示例中,本说明书描述了一种执行经修改的S3或S4(被称为休眠状态)的计算系统,该计算系统节省电力,并且即使在电力已经完全关断时也允许计算设备恢复操作。该处理还避免了将系统随机存取存储器(RAM)从存储装置复制到NVM设备,从而大大改进了挂起和恢复时间,并消除了额外的数据存储装置。本文中描述的这些处理也可以在移动设备中实现,所述移动设备诸如智能手机,其实现睡眠状态S1-S3但由于挂起/恢复时间和数据存储空间限制而无法实现混合S3或S4状态。
本说明书描述了一种计算设备,所述计算设备包括:非易失性存储器设备,所述非易失性存储器设备包括其中的临时存储器区,该临时存储器区被加密并且包括相关联的加密密钥;和固件,所述固件用于使加密密钥在计算设备的任何断电之前被存储。
本说明书还描述了一种解锁计算设备的数据存储设备的方法,该方法包括:利用计算设备的固件,在非易失性存储器设备断电之前,收集与非易失性存储器设备的临时区相关联的加密密钥;以及当电力复原时,经由固件的执行将加密密钥复原到非易失性存储器设备。
本说明书进一步描述了一种非易失性数据存储设备,所述非易失性数据存储设备包括:临时区;用于加密临时区的加密密钥;以及传递模块,用于在临时区断电之前,将加密密钥传递给计算设备的固件。
如在本说明书和所附权利要求中所使用的,术语“非易失性存储器(NVM)设备”意味着被理解为即使在经历电力循环之后也能够检索所存储的信息的任何设备。例如,除了其它之外,NVM设备还包括只读存储器、闪速存储器、铁电RAM、磁性计算机存储设备(例如,硬盘驱动器、固态驱动器、软盘和磁带)和光盘。
如在本说明书和所附权利要求中所使用的,术语“临时存储器分区”意味着被理解为在通电时保留其内容但是当电力中断时丢失所存储的数据的任何类型的计算设备存储器的细分。除了其它之外,示例临时存储器设备还可以包括动态随机存取存储器(DRAM)和静态随机存取存储器(SRAM)。然而,本申请描述了一种临时存储器分区,该临时存储器分区在重新开机和分区或区先前的断电之后重新获得对临时存储器分区或区上所存储的数据的访问。
现在转向附图,图1是根据本文中描述的原理的示例的计算设备(100)的框图。计算设备(100)可以是任何类型的计算设备,包括服务器、台式计算机、膝上型计算机、个人数字助理(PDA)、移动设备、智能手机、游戏系统和平板电脑以及其它类型的计算设备。
在一个示例中,计算设备(100)可以包括具有临时存储器区(110)的非易失性存储器设备(105)。非易失性存储器设备(105)可以是如下所述的任何类型的存储器设备:即使在从存储器设备移除电力时,一旦电力恢复到非易失性存储器设备(105),维持在非易失性存储器设备(105)上的数据就是永久性的且可访问的。在本文中呈现的任何示例中,非易失性存储器设备(105)可以被分区以包括临时存储器区(110)。非易失性存储器设备(105)的临时存储器区(110)可以由计算设备(100)的处理器创建。处理器对临时存储器区(110)的创建可以通过处理器创建一个区来完成,写入该区和从该区中读取的信息分别被加密和解密。在本文呈现的任何示例中,维持在非易失性存储器设备(105)的临时存储器区(110)上的数据可以包括平台统一可扩展固件接口(UEFI)应用数据、操作系统(OS)数据或者可以被维持以用于由处理器相对快速地访问的任何其它类型的数据。
在一个示例中,非易失性存储器设备(105)可以是自加密的。在该示例中,非易失性存储器设备(105)可以包括随机数生成器形式的计算机可读程序代码,该程序代码在执行时生成与临时存储器区(110)相关联的唯一加密密钥(temp_key)。该加密密钥可以用于在计算设备(100)的操作期间的任何时间从临时存储器区(110)访问数据。
计算设备(100)可以包括固件(115)。固件(115)可以用于控制计算设备(100)内的硬件设备。在一个示例中,固件(115)用于保护与非易失性存储器设备(105)的临时存储器区(110)相关联的加密密钥。在一个示例中,加密密钥的保护可以包括指示将加密密钥存储在非易失性存储器设备(105)上。在该示例中,非易失性存储器设备(105)可以是自加密的,使得在执行固件时,加密密钥在被创建时存储在非易失性存储器设备(105)上。因此,在计算设备(100)的操作期间,在固件(115)中运行的所执行的计算机可读程序代码可以从每个非易失性存储器设备(105)请求与它们的临时存储器区(110)中的每一个相关联的它们相应的加密密钥。在一个示例中,固件(115)本身可以执行加密软件来创建与非易失性存储器设备(105)的临时存储器区(110)中的每一个相关联的加密密钥。在任何示例中,计算机可读程序代码可以由固件(115)执行,使得信号被发送到计算设备(100)的操作系统,通知操作系统关于加密密钥收集的状况:已开始、正在进行、完成、错误等。通过向操作系统通知加密密钥的收集状况,操作系统可以防止电力状态的改变,直到加密密钥被接收。此外,通过通知操作系统正在收集加密密钥的事实,可以防止OS在电力状态改变期间转储清除或复制可应用的临时存储器区(110)中的数据。这样,减少了在电力状态改变期间与OS相关联的处理,所述处理增加了在这样的电力状态改变期间消耗的时间和功率。因此,就临时存储器区(110)而言,不仅防止了OS将数据从临时存储器区(110)转储清除或复制到NVM设备,还防止了OS在转换回“导通”电力状态(P0)时从BIOS启动存在于临时存储器区(110)数据中的数据。在重新开机处理期间,还防止OS启动以其它方式维持在临时存储器区(110)上的所述数据,而是替代地使用加密密钥来访问临时存储器区(110),并重新启动计算设备(100)在掉电状态之前所处的状态。在固件(115)检测到错误的情况下,可以向计算设备(100)的用户呈现通知,指示加密密钥尚未被收集,并且电力状态的改变将被暂时禁用,直到错误被校正。
在一个示例中,加密密钥的保护可以包括保护计算设备(100)的任何NVM设备上的加密密钥。除了其它之外,计算设备(100)的NVM的示例还可以包括硬件可信平台模块(TPM)、TPM的软件实现以及与平台固件本身相关联的存储设备。在该示例中,固件(115)可以负责收集与计算设备(100)的任何数量的非易失性存储器设备(105)的任何临时存储器区(110)相关联的每个加密密钥。
在本文给出的任何示例中,加密密钥的安全存储在任何电力状态改变之前完成。电力状态改变可以包括计算设备(100)内的任何设备的任何掉电。不同的电力状态可以包括任何睡眠状态(S1-S3)和休眠(S4)。取决于睡眠状态(S1-S3)的级别,可以维持或不维持计算设备(100)的中央处理单元(CPU)上的电力,同时一些系统高速缓存断电。然而,休眠(S4)使计算设备(100)掉电,并且在没有固件(115)指导与非易失性存储器设备(105)的临时存储器区(110)相关联的加密密钥的情况下,相反数据将丢失。
在操作期间并且当计算设备(100)从通电状态改变到低电力(S1-S3)或无电力(S4)状态时,固件(115)可以通知OS存储器设备要被协调,或者平台本身可以向片上系统(SoC)集成电路发信号通知存储器和外围设备正被降级到新的电力状态。由于电力状态改变而将要断电的单独的易失性存储装置——除了其它之外,还有诸如与CPU和存储器控制器缓冲器相关联的高速缓存——可以被转储清除到NVM,在一些示例中,包括NVM设备的DRAM高速缓存。尽管一些SoC对于它们支持的无数种电力状态具有不同的处理,但电力状态越深(能耗越低),SoC中越多的易失性区域将被转储清除到NVM设备。在断电的情况下,转储清除应当尽可能地完全。
在一个示例中,计算设备(100)中存在的任何DRAM可以或可以不将其数据转储清除到非易失性存储器设备(105)。相反,DRAM将基于计算设备(100)改变到哪个电力状态来将其数据转储清除到非易失性存储器设备(105)。在一个示例中,当计算设备(100)进入睡眠状态(S1-S3)时,DRAM不将其数据转储清除到非易失性存储器设备(105)。然而,在计算设备(100)转换到休眠状态、关机状态或计算设备(100)的断电之前,DRAM确实将其数据转储清除到非易失性存储器设备(105)。在所有转储清除完成之后,计算设备(100)可以相应地改变其电力状态。
在计算设备(100)的操作和机器再次通电期间,由固件(115)执行的程序代码并且作为开机处理的一部分,可以将加密密钥复原到每个非易失性存储器设备(105)。这使得非易失性存储器设备(105)的临时存储器区(110)内的数据能够再次被读取。在任何示例中,加密密钥被用于解密维持在临时存储器区(110)上并且否则在没有加密密钥的情况下变得不可访问的数据。在一个示例中,加密密钥的提供可以由固件自动完成(115)。在一个示例中,用户的登录密码可以用作固件(115)向非易失性存储器设备(105)提供加密密钥的安全信号。在一个示例中,可以提供不同于用户登录密码的密码,以便使固件(115)向非易失性存储器设备(105)提供加密密钥。在这些示例中的任何一个中,用户可以经由BIOS设置固件(115)如何以及在什么条件下(不同的密码、用户的登录密码、自动)将加密密钥提供给非易失性存储器设备(105)。通过允许用户确定何时以及在什么条件下将加密密钥提供给非易失性存储器设备(105)(如果发生的话),提供了允许用户确定是否要在计算设备(100)上执行任何附加安全性的计算设备(100)。实际上,通过在提供加密密钥之前请求密码,用户可以保护临时存储器区(110)内的数据,否则这些数据可能可被计算设备(100)的其它未授权操作者访问。
在其中计算设备(100)由于电力故障或意外关闭(即,S5状态或关闭状态)而断电的示例中,维持在临时存储器区(110)上并且经由使用加密密钥可访问的数据可以用于完全或部分恢复先前的系统状态。在该示例中,计算设备(100)的UEFI应用和/或操作系统开机加载器可以在功能上擦除非易失性存储器设备(105)的临时存储器区(110),并提取系统、应用和/或操作系统数据。这可以允许在这样的计算设备(100)未预期的断电时进行一些数据恢复。然而,如本文所述,因为在创建密钥对时,与临时存储器区(110)上的数据相关联的密钥对被发送到安全存储装置,所以任何断电都可以导致临时存储器区(110)上的全部或甚至部分存储器恢复。在一个示例中,BIOS可以被配置为在重新开机时查找密钥对,并使用那些密钥来访问临时存储器区(110)。
基于本文呈现的对计算设备(100)的描述,可以开发具有对应的挂起和恢复处理的多个新的电力状态。举例来说,在包括具有被分区的临时存储器区(110)的非易失性存储器设备(105)以及被实现为高速缓存的DRAM的计算设备(100)中,可以实现具有相对较低电力的类似S3的电力状态。
在该示例中,SoC并非处于超低电力状态,而是可能完全关闭。这里,取决于与完全关闭SoC相关联的恢复速度和电力消耗,可以决定易失性区域保持通电或在不同的SoC电力模式下部分转储清除高速缓存L1、L2、L3……和它的寄存器。在该示例中,用户可以在处于睡眠状态时消耗的电力和恢复时间之间做出决定。要关机,SoC可以被完全转储清除到NVM。
类似地,在DRAM的示例中,DRAM可以完全关闭,而不是被置于超低电力状态。在该示例中,取决于用户经由BIOS选择如何指示,DRAM可以被转储清除和关机或保持在低电力模式。同样,用户可以在睡眠时消耗的电力和如果关机的话则较长的挂起和恢复时间之间进行选择。要关机,DRAM要被完全转储清除。
然而,如本文所述,代替将非易失性存储器设备(105)置于低电力状态,现在可以将非易失性存储器设备(105)置于断开状态。因为临时存储器区(110)具有相关联的加密密钥,所以一旦电力恢复到非易失性存储器设备(105),就可以访问非易失性存储器设备(105)的临时存储器区(110)上的任何数据。表1描述了在不同电力状态下与特定硬件资源相关联的附加电力模式,以及与这些资源相关联的对应动作。
Figure DEST_PATH_IMAGE001
Figure 138485DEST_PATH_IMAGE002
非易失性存储器设备(105)可以是即使当从该设备移除电力时也在其上维持数据的任何存储器设备。
图2是描绘根据本文描述的原理的示例的解锁计算设备的数据存储设备的方法(200)的流程图。该方法(200)可以包括利用计算设备(100)的固件(115),在非易失性存储器设备(105)的电力状态改变之前,收集(205)与所述非易失性存储器设备(105)的临时存储器区(110)相关联的加密密钥。电力状态改变可以由计算设备(100)的用户启动。在任何示例中,固件(115)可以与操作系统通信,从而防止非易失性存储器设备(105)和/或计算设备(100)的电力状态改变,直到接收到与每个非易失性存储器设备(105)的每个临时存储器区(110)相关联的每个加密密钥。
方法(200)可以继续,当电力被复原到计算设备(100)时,经由固件(115)的执行将加密密钥复原(210)到非易失性存储器设备(105)。如本文所述,电力状态改变可以是睡眠状态(S1-S3)或休眠状态(S4)中的任何一个。在这些示例中的任何一个中,可以使用加密密钥来检索存储在非易失性存储器设备(105)的临时存储器区(110)上的数据,以便将计算设备(100)置于电力状态改变之前的状态下。
在一个示例中,固件(115)收集(205)处理可以防止计算设备(100)的操作系统改变电力状态。可以这样做以便防止加密密钥中的任何一个的丢失,并保护计算设备(100)的任何存储设备内的永久性存储器中的那些密钥。
在本文呈现的任何示例中,非易失性存储器设备(105)可以包括计算机可读程序代码,所述计算机可读程序代码在由计算设备(100)的处理器执行时创建加密密钥。在本文呈现的任何示例中,非易失性存储器设备(105)可以与提供与所述非易失性存储器设备(105)的临时存储器区(110)相关联的加密密钥的专用集成电路(ASIC)相关联。
在本文呈现的任何示例中,计算设备(100)的BIOS可以包括多个用户选项,以确定在将加密密钥复原(210)到非易失性存储器设备(105)时,在什么条件下以及是否将加密密钥发送到非易失性存储器设备(105)。在一个示例中,用户可以经由图形用户界面选择选项来防止加密密钥被提供给非易失性存储器设备(105)。可替代地,可以向用户提供选项,以使加密密钥被自动提供给非易失性存储器设备(105),而无需来自计算设备(100)的操作者的任何安全性或密码输入。在可替代的示例中,作为将加密密钥提供给非易失性存储器设备(105)的条件并且在此之前,可以向用户提供BIOS的选项,以向计算设备(100)请求密码或其它类型的认证。
图3是根据本文中描述的原理的示例的非易失性数据存储设备(300)的框图。在该示例中,非易失性数据存储设备(300)可以包括存储易失性数据的临时区(305),使得当从其移除电力时,在没有加密密钥(310)的情况下,数据是不可访问的。在一个示例中,非易失性数据存储设备(300)的临时区(305)可以被分区,使得所述分区维持在电力循环期间使用的系统数据文件、应用数据文件和/或操作系统(OS)数据文件,以复原计算设备在电力循环之前所处的状态。
加密密钥(310)可以是与非易失性数据存储设备(300)的临时区(305)相关联的任何类型的密钥。可以使用与非易失性数据存储设备(300)相关联的任何类型的加密方法和/或设备来创建加密密钥(310)。在一个示例中,非易失性数据存储设备(300)可以是自加密的,使得在数据已经被写入临时区(305)并在其上被加密之后,创建加密密钥。在一个示例中,临时区(305)上的数据的加密可以由与非易失性数据存储设备(300)相关联的计算系统内的设备来执行。在这些示例中的任一个中,计算设备内的固件可以请求在进行电力循环(S1-S4或关闭)之前将加密密钥传递给固件用于存储。
为了向计算设备的固件提供加密密钥,非易失性数据存储设备(300)可以包括传递模块(315)。传递模块可以是将加密密钥发送到固件的任何计算机可读程序代码和/或设备。传递模块(315)可以在加密密钥的创建时将加密密钥传递给固件。结果,一旦数据被写入非易失性数据存储设备(300)的临时区(305),在非易失性数据存储设备(300)及其临时区(305)的电源被意外切断的情况下,所生成的加密密钥对于固件就是可用的。因此,在未预期的断电的情况下,一旦计算设备和非易失性数据存储设备(300)被再次上电,就使得维持在临时区(305)中的数据仍然可访问。通过这样做,无论非易失性数据存储设备(300)何时经历断电,非易失性数据存储设备(300)都防止临时区(305)上的数据永久丢失。
非易失性数据存储设备(300)可以在计算设备中实现。除了其它之外,计算设备的示例还包括服务器、台式计算机、膝上型计算机、个人数字助理(PDA)、移动设备、智能手机、游戏系统和平板电脑以及其它类型的计算设备。
非易失性数据存储设备(300)可以用于任何数据处理场景,包括独立硬件、移动应用、通过计算网络或其组合。进一步地,非易失性数据存储设备(300)可以用于计算网络、公共云网络、私有云网络、混合云网络、其它形式的网络或其组合。在一个示例中,由非易失性数据存储设备(300)提供的方法由例如第三方作为网络上的服务来提供。
本文中描述的系统、方法和非易失性数据存储设备提供了在计算设备内使用固件来管理NVM设备的加密密钥,以从断电中恢复,并透明地解锁在计算设备的挂起和恢复处理中保存数据的永久性存储器设备。这允许计算设备比在没有加密密钥的情况下所实现的更快得多地从低电力——或者实际上零电力——恢复。该计算系统包括任何类型的数据存储设备,除了其它之外,还包括DRAM、诸如NVDIMM、存储器芯片、嵌入式存储器之类的永久性存储器设备(使用PCRAM、忆阻器、STTRAM等实现)以及诸如硬盘驱动器(HHD)、固态驱动器(SSD)、SD卡等其它数据存储设备。对于这些存储器设备,它们中的一些或全部可以包括临时数据分区,在所述临时数据分区中,可以维持应用数据、操作系统(OS)数据或被维持用于由处理器相对快速地访问的任何其它类型的数据。通过将与这些临时分区相关联的加密密钥发送到计算设备的固件以用于在计算设备重新开机时由BIOS安全访问,改变电力状态的处理可以不包括将数据从这些临时部分复制到NVM设备中的处理。这可以节省从一种电力状态切换到另一种电力状态的时间,并且节省本文中描述的任何NVM设备内的数据存储空间。甚至进一步地,由于处理器没有将这些文件从临时分区复制到NVM设备,因此可以节约能量。进一步地,本方法和系统消除了用于转储清除非易失性数据存储设备的临时区的步骤,同时保护了维持在那些区上的数据。又进一步地,通过允许用户快速从一个电力状态移动到另一个电力状态,同时贯穿于电力状态的改变维持计算设备的状态,该系统可以相对地更加用户友好。再进一步地,因为大多数移动设备实现S1-S3而不是S4的电力状态,所以本方法可以用在那些设备上,以便使得能够实现诸如混合S3状态和/或S4状态的附加状态。
本文中参考根据本文中描述的原理的示例的方法、装置(系统)和计算机程序产品的流程图图示和/或框图来描述本系统和方法的各方面。流程图图示和框图的每个框以及流程图图示和框图中的框的组合可以通过计算机可用程序代码来实现。所述计算机可用程序代码可以被提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器以产生机器,使得计算机可用程序代码在经由例如经由计算设备(100)或其它可编程数据处理装置的处理器执行时,实现流程图和/或框图的一个或多个框中指定的功能或动作。在一个示例中,计算机可用程序代码可以体现在计算机可读存储介质中;所述计算机可读存储介质是计算机程序产品的一部分。在一个示例中,计算机可读存储介质是非暂时性计算机可读介质。
呈现了前面的描述以说明和描述所描述的原理的示例。该描述并不旨在是穷举的或将这些原理限制于所公开的任何精确形式。根据上述教导,许多修改和变化是可能的。

Claims (15)

1. 一种计算设备,包括:
非易失性存储器设备,在其中包括临时存储器区,所述临时存储器区被加密并且包括相关联的加密密钥;和
固件,用于使所述加密密钥在计算设备的任何断电之前被存储。
2.根据权利要求1所述的计算设备,其中所述计算设备的操作系统被阻止经由基本输入/输出系统(BIOS)启动数据,并且所述数据存在于所述临时存储器区上。
3.根据权利要求1所述的计算设备,其中所述加密密钥存储在平台固件存储设备上。
4.根据权利要求1所述的计算设备,其中所述加密密钥存储在硬件可信平台模块(TPM)的非易失性存储器上。
5.根据权利要求4所述的计算设备,其中所述硬件可信平台模块(TPM)生成要存储在所述可信平台模块(TPM)的非易失性存储器上的加密密钥。
6.根据权利要求1所述的计算设备,其中维持所述加密密钥的存储包括在所述计算设备的电力恢复时将所述加密密钥传递给固件。
7.根据权利要求6所述的计算设备,其中在接收到密码时,加密密钥的传递完成。
8.根据权利要求1所述的计算设备,其中固件的非易失性存储器在所述加密密钥被创建之后直接接收所述加密密钥。
9. 一种解锁计算设备的数据存储设备的方法,包括:
利用计算设备的固件,在非易失性存储器设备的电力状态改变之前,收集与所述非易失性存储器设备的临时区相关联的加密密钥;和
当电力被复原到计算设备时,经由固件的执行将加密密钥复原到非易失性存储器设备。
10.根据权利要求9所述的方法,其中在复原加密密钥时,初始化临时区中先前保存的数据状态。
11.根据权利要求9所述的方法,其中在非易失性存储器设备断电之前收集与所述非易失性存储器设备的临时区相关联的加密密钥包括在平台固件存储设备处接收加密密钥。
12.根据权利要求9所述的方法,其中经由固件的执行将加密密钥复原到非易失性存储器设备包括提出复原加密密钥的请求。
13.一种非易失性数据存储设备,包括:
临时区;
加密密钥,用于加密所述临时区;和
传递模块,用于在临时区断电之前,将所述加密密钥传递给计算设备的固件。
14.根据权利要求13所述的非易失性数据存储设备,其中在所述非易失性存储器设备电力恢复之后,所述非易失性存储器设备从所述固件接收所述加密密钥。
15.根据权利要求14所述的非易失性数据存储设备,其中在所述非易失性存储器设备电力恢复并接收到所述加密密钥之后,初始化所述临时区中先前保存的数据状态。
CN201880092975.8A 2018-08-17 2018-08-17 非易失性存储器设备中的临时区 Pending CN112020843A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2018/046935 WO2020036602A1 (en) 2018-08-17 2018-08-17 Ephemeral regions within non-volatile memory devices

Publications (1)

Publication Number Publication Date
CN112020843A true CN112020843A (zh) 2020-12-01

Family

ID=69525653

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880092975.8A Pending CN112020843A (zh) 2018-08-17 2018-08-17 非易失性存储器设备中的临时区

Country Status (4)

Country Link
US (1) US20210367769A1 (zh)
EP (1) EP3777017B1 (zh)
CN (1) CN112020843A (zh)
WO (1) WO2020036602A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021043708A (ja) * 2019-09-11 2021-03-18 キオクシア株式会社 メモリシステム
KR20220122009A (ko) * 2021-02-26 2022-09-02 삼성전자주식회사 시스템 온 칩 및 그 동작 방법
US11665546B2 (en) * 2021-03-22 2023-05-30 Dell Products, Lp Systems and methods of executing a chain of trust with an embedded controller to secure functionalities of an integrated subscriber identification module (iSIM)
US20220391517A1 (en) * 2021-06-04 2022-12-08 Apple Inc. Ephemeral Data Storage

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070101158A1 (en) * 2005-10-28 2007-05-03 Elliott Robert C Security region in a non-volatile memory
US20120233472A1 (en) * 2011-03-11 2012-09-13 Paolo Faraboschi Securing non-volatile memory regions
US20140003608A1 (en) * 2012-06-29 2014-01-02 Dark Matter Labs Inc. Key management system
CN104881374A (zh) * 2014-02-27 2015-09-02 三星电子株式会社 自加密驱动器和包括自加密驱动器的用户装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9535828B1 (en) * 2013-04-29 2017-01-03 Amazon Technologies, Inc. Leveraging non-volatile memory for persisting data
CN105917308B (zh) 2014-01-22 2019-02-12 惠普发展公司,有限责任合伙企业 分区为包括元数据区域的多个区域的字节可寻址非易失性读写主存储器
US9852060B2 (en) * 2016-03-31 2017-12-26 Dell Products L.P. Storage class memory (SCM) memory mode cache system
US10936045B2 (en) 2016-09-26 2021-03-02 Hewlett-Packard Development Company, L.P. Update memory management information to boot an electronic device from a reduced power mode
US10754693B2 (en) * 2018-07-05 2020-08-25 Vmware, Inc. Secure transfer of control over computational entities in a distributed computing environment

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070101158A1 (en) * 2005-10-28 2007-05-03 Elliott Robert C Security region in a non-volatile memory
US20120233472A1 (en) * 2011-03-11 2012-09-13 Paolo Faraboschi Securing non-volatile memory regions
US20140003608A1 (en) * 2012-06-29 2014-01-02 Dark Matter Labs Inc. Key management system
CN104881374A (zh) * 2014-02-27 2015-09-02 三星电子株式会社 自加密驱动器和包括自加密驱动器的用户装置

Also Published As

Publication number Publication date
US20210367769A1 (en) 2021-11-25
EP3777017A1 (en) 2021-02-17
EP3777017A4 (en) 2021-11-03
EP3777017B1 (en) 2023-09-27
WO2020036602A1 (en) 2020-02-20

Similar Documents

Publication Publication Date Title
US8984316B2 (en) Fast platform hibernation and resumption of computing systems providing secure storage of context data
US10049215B2 (en) Apparatus and method for preventing access by malware to locally backed up data
US8375440B2 (en) Secure bait and switch resume
US9367692B2 (en) System and method for validating components during a booting process
CN103207975B (zh) 保护密码的方法以及计算机
EP3158452B1 (en) Firmware interface with durable memory storage
US9785596B2 (en) Redundant system boot code in a secondary non-volatile memory
EP3777017B1 (en) Ephemeral regions within non-volatile memory devices
CN110998578B (zh) 用于在异构存储器环境内进行引导的系统和方法
US20150089287A1 (en) Event-triggered storage of data to non-volatile memory
WO2014175861A1 (en) Recovering from compromised system boot code
CN105144185A (zh) 验证控制器代码和系统启动代码
EP3646224B1 (en) Secure key storage for multi-core processor
WO2014200530A1 (en) Securely obtaining memory content after device malfunction
CN104011733A (zh) 在系统预引导期间具有改进的只读存储器锁定的安全数据保护
US10628168B2 (en) Management with respect to a basic input/output system policy
BRPI0700835B1 (pt) método para vincular o módulo de memória de computador à placa-mãe e sistema de computador
CN103810434A (zh) 具有休眠功能的信息处理装置及其控制方法
US11436367B2 (en) Pre-operating system environment-based sanitization of storage devices
JP5961059B2 (ja) 情報処理装置およびその起動方法
US9460297B2 (en) Information processing apparatus, control method for information processing apparatus, and storage medium
US20240086336A1 (en) Storage device deleting encryption key, method of operating the same, and method of operating electronic device including the same
JP5161600B2 (ja) 情報処理装置およびデータ復旧方法
CN111356965A (zh) 睡眠状态检测
WO2019019800A1 (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