用硬件加密存储设备进行外部加密和恢复管理的制作方法

xiaoxiao2020-7-22  6

专利名称:用硬件加密存储设备进行外部加密和恢复管理的制作方法
用硬件加密存储设备进行外部加密和恢复管理背景现代的便携式计算设备通常提供多于足够的计算资源,使得它们的流行度比更为传统的非便携式计算设备有所提高。不幸的是,便携式计算设备引入通常不与非便携式计算设备相关联的风险。这些风险中最重要的是当计算设备自身可能丢失、被盗或者最终以其他方式完全被未知或恶意用户拥有时的数据保护的风险。传统上,包含在数据卷中的数据(通常存储在诸如硬盘驱动器的数据存储硬件设备上)由数据存储设备在通信上与之耦合的计算设备的计算机可执行指令保护以免受未授权的访问。然而,如果要在通信上解除数据存储设备与具有这种保护性的计算机可执行指令的主计算设备的耦合,则该数据可被访问并且其安全性受损。由此,诸如获取了丢失的或被盗的便携式计算设备的恶意用户等能够访问主计算设备的用户能够在物理上将一个或多个数据存储设备从这种便携式计算设备移除,并且寻求在便携式计算设备的上下文之外从这种数据存储设备获取信息。为了防止对数据的这种未经授权的访问,开发出了 “全卷加密”的概念,由此存储在数据存储设备上的所有相关的数据是以加密的方式存储的。结果,即使要通过没有用于保护数据的可执行指令的计算设备独立地访问这种数据存储设备,数据仍然可被保护,因为它会是以加密的方式物理地存储的。为了增加这种全卷加密的效率,加密和解密数据的任务可以由与存储设备本身相关联的硬件来执行,而非由主计算设备的中央处理单元来执行。这种硬件加密存储设备在诸如操作系统或应用程序软件等较高层组件看来就如同传统的存储设备。然而,在接收到用于存储的数据时,这种硬件加密存储设备在将其放置到存储介质上之前自动地加密该数据。类似地,当读取数据时,硬件加密存储设备会从存储介质读取该数据并且在将其提供给较高层组件之前首先将其解密。然而,由在主计算设备上执行的计算机可执行指令实现的全卷加密相对于由存储设备硬件自身实现的全卷加密而言可以提供更大的灵活性。具体地,无论由存储设备还是计算设备实现,为了限制对受全卷加密保护的数据的访问,可以保护用于加密或解密该数据的密钥,诸如由口令、密钥卡、可信平台模块或类似的安全设备来保护。不幸的是,如果用户丢失对这种安全设备的访问,则就需要生成新密钥。这一新密钥会要求数据以该新密钥可以解密的方式被加密。结果,这一新密钥的创建会需要对卷进行加密并随后以新密钥可以解密的方式重新对它进行加密的在计算上昂贵且冗长的过程。为了避免这种低效性,由计算设备执行的全卷加密相对于由存储设备自身执行的全卷加密可以添加一个或多个间接层。具体地,可以解密数据的密钥自身可以由另一密钥加密。该第二密钥接着可以由安全设备保护。如果用户丢失了对安全设备的访问,则仅需改变第二密钥,从而仅需要对第一密钥解密并随后对其重新加密,而非对全部的数据自身进行解密和重新加密。不幸的是,由诸如硬盘设备等存储设备执行的全卷加密不利用这种间接层。概述由存储设备而非由在计算设备上执行的计算机可执行指令执行的基于硬件的加密和解密可以由这种计算机可执行指令用于更高效地执行实际的加密和解密,而同时计算机可执行指令自身可以保持对加密方法的其他方面的控制,诸如保护和维护用于执行加密和解密的密钥。通过保留密钥管理的责任,在计算设备上执行的计算机可执行指令可以利用现有的密钥管理机制来提供从丢失或忘记的密钥的方便的恢复、方便的备份或其他恢复操作,以及类似的效率。然而,为了保留这种密钥管理的责任,在计算设备上执行的计算机可执行指令可以寻求将密钥的经加密的版本存储在存储设备的存储介质上,而无需使用存储设备的基于硬件的加密来额外地对它们进行加密。在一个实施例中,在计算设备上执行的计算机可执行指令可以存储经加密的密钥,并且密钥一旦被加密就可以由存储设备的硬件用于加密和解密被设计成保持未经加密并且用户不可访问的系统分区内的数据。如果创建多个分区并且由单个存储设备主存它们,则可以将该多个分区的各密钥中的每一个保留在该系统分区中。为了减少硬件或存储错误致使这些密钥不可恢复的风险,可以将这些密钥的多个冗余副本存储在该系统分区的不同扇区中。在另一实施例中,在计算设备上执行的计算机可执行指令可以将经加密的密钥存储在格式化存储设备时操作系统所保留的保留分区中。与系统分区不同,即使存储设备主存的卷中没有一个包括可以引导计算设备的操作系统,这样的保留分区也可以存在于存储设备上。在又一实施例中,在计算设备上执行的计算机可执行指令可以通过将硬件加密存储设备的经加密的带(band)限定为小于分区,从而在该分区的开始和结束处留出不是该经加密的带的一部分而是存储设备的未经加密的全局带的一部分,来将经加密的密钥存储在该分区的开始处附近并将冗余密钥存储在该分区的结束处附近。这样,在计算设备上执行的计算机可执行指令可以存储和取回经加密的密钥,而无需存储设备进行额外的重新加密和解密。在又一实施例中,可以定义标志(即,位),并将其与提供给硬件加密存储设备且从中取回的数据一起传递。该位可以指定提供给硬件加密存储设备的数据是否要由该存储设备加密。因此,通过设置该位,可以将经加密的密钥存储在硬件加密存储设备上的任何地方,而无需由该设备进行额外加密。在又一实施例中,在计算设备上执行的计算机可执行指令可以监视在该计算设备上维护的指定硬件加密存储设备上存在的分区的分区表,并且可以使硬件加密存储设备的带表自动与之同步。由此,硬件加密存储设备的带表可以自动反映出对存储设备上存在的分区的改变。在又一实施例中,由硬件加密存储设备用于加密和解密数据的一个或多个密钥可以受到计算设备的可信平台模块的保护。因此,这种密钥可以将硬件加密存储设备捆绑到计算设备上,因为除非该计算设备的可信平台模块测量出加载到该计算设备上或在其上执行的组件与在最初提供密钥时相同,否则就不提供这种密钥。提供本概述以便以简化形式介绍将在以下详细描述中进一步描述的一些概念。本概述并不旨在标识出所要求保护的主题的关键因素或必要特征,也不旨在用于限定所要求保护的主题的范围。通过以下参考附图进行的详细描述,本发明的其他特征和优点将是显而易见的。
5
附图简述结合附图可以最好地理解以下详细描述,在附图中

图1是带有硬件加密存储设备的示例性计算设备的框图;图2是其密钥由在计算设备上执行的计算机可执行指令存储的示例性硬件加密存储设备的框图,该计算设备在通信上耦合到该示例性硬件加密存储设备;图3是其密钥由在计算设备上执行的计算机可执行指令存储的另一示例性硬件加密存储设备的框图,该计算设备在通信上耦合到该另一示例性硬件加密存储设备。;图4是其密钥由在计算设备上执行的计算机可执行指令存储的又一示例性硬件加密存储设备的框图,该计算设备在通信上耦合到该又一示例性硬件加密存储设备;图5是其密钥由在计算设备上执行的计算机可执行指令存储的又一示例性硬件加密存储设备的框图,该计算设备在通信上耦合到该又一示例性硬件加密存储设备;图6是分区表和带表之间的示例性同步的流程图;图7是分区表和带表之间的另一示例性同步的流程图;图8是利用可信平台模块来保护硬件加密存储设备所利用的密钥的示例性引导的流程图。详细描述以下描述涉及在计算设备上执行的计算机可执行指令对硬件加密存储设备用于加密和解密数据的密钥的管理。因此密钥可以由在计算设备上执行的计算机可执行指令管理,所以它们可以由这些指令保护和加密并且接着存储在存储介质上,而无需硬件加密存储介质进行任何进一步的加密。这种非硬件加密的存储可以出现在系统分区或其他保留的分区内,或者它可以在与分区相关联的加密带的大小略小于分区,而使得接近分区的开始和结束处的区域未被加密带覆盖并且因此未被硬件加密存储设备加密时出现。此外,可以将标志(即,位)定义为可以向硬件加密存储设备指定是否加密所提供的数据的加密位。自动化过程可以监视分区表并且可以根据检测到的对分区表的改变指示硬件加密存储设备改变其带表。此外,密钥可以受到硬件加密存储设备在通信上与之耦合的计算设备的可信平台模块保护,这样使得只有在计算设备的状态没有改变时才会提供密钥,从而实际上将硬件加密存储设备捆绑到计算设备上。此处描述的技术集中于,但不限于,对涉及由在计算设备上执行的计算机可执行指令实现的双全卷加密的现有机制的利用。实际上,下文中所述的机制可以由计算设备的任何子系统或者甚至由外围硬件实现。因此,虽然下文的描述参考被设计成与这些现有机制进行接口的特定实现,但是描述自身的范围并非旨在受到限制。此外,尽管并非必需,但是下文中的描述将会是在诸如由一个或多个计算设备执行的程序模块的计算机可执行指令的一般上下文中的。更具体地,本描述将参考由一个或多个计算设备或外围设备执行的动作和操作的符号表示,除非另外指明。这样,可以理解有时被称为计算机执行的这种动作和操作包括处理单元对用结构化形式表示数据的电子信号的操纵。该操纵变换数据或者在存储器的各位置中维护它,该操纵以本领域技术人员容易理解的方式重新配置或用其他方法改变计算设备或外围设备的操作。在其中维护数据的数据结构是具有由该数据的格式来定义的特定属性的物理位置。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。此外,本领域的技术人员可以理解计算设备无需被限于常规的个人计算机,而是可以包括其他计算配置,包括手持式设备、多处理器系统、基于微处理器的或可编程消费电子设备、网络PC、小型机、大型计算机等。类似地,计算设备无需被限于独立的计算设备,因为各机制也可以在其中任务由通过通信网络链接的远程处理设备执行的分布式计算环境中实现。在分布式计算环境中,程序模块可以位于本地和远程计算机存储设备中。转向图1,示出了示例性计算设备100,其可以包括,但不限于,一个或多个中央处理单元(CPU) 120、系统存储器130、可信平台模块(TPM) 150和将包括系统存储器的各种系统组件耦合到处理单元120的系统总线121。系统总线121可以是若干类型的总线结构中的任一种,包括存储器总线或存储器控制器、外围总线和使用各种总线体系结构中的任一种的局部总线。根据特定的物理实现,CPU 120、系统存储器130 JPTPM 150中的一个或多个可以在物理上位于一处,诸如位于单个芯片上。在这种情况下,系统总线121的部分或全部可以仅仅是单个芯片结构内的硅通道,并且其在图1中的图示可以仅仅是出于说明目的的方便表示。TPM 150可以包括用于加密和解密提供给它的信息的加密密钥,并且它还可以存储各个值,使得它们受到TMP 150自身的硬件设计的保护。传统上,TPM150包括可以用已知且已确立的方式将其用于获取一次性公钥和私钥的不变的加密公钥和私钥的初始组合。 在图1中被示为存储在TPM 150内的TPM专用密钥151可以包括私钥和公钥的任何这种组合,且并不意味着指任何特定的加密密钥组。此外,TPM 150可以包括可以安全地存储由 CPU 120经由系统总线121提供给TPM 150的数据的平台配置寄存器(PCR) 155。在一些实施例中,将仅允许由CPU 120执行的特定代码发送把将会修改存储在PCR中的值的数据发送给TPM 150。出于简明说明的目的,图1中示出的TPM 150包括旨在表示一个或多个PCR 的组合的单个平台配置寄存器块155。除了上述的元件之外,计算设备100通常也包括计算机可读介质,其可以包括可以由计算设备100访问的任何可用介质并且包括易失性和非易失性介质以及可移动和不可移动介质。作为示例,而非限制,计算机可读介质可以包括计算机存储介质和通信介质。 计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据这样的信息的任意方法或技术来实现的介质。计算机存储介质包括,但不限于,RAM、ROM、 EEPR0M、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁带盒、磁带、磁盘存储或其它磁性存储设备,或能用于存储所需信息且可以由计算设备100访问的任何其它介质。通信介质通常以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,且包含任何信息传递介质。作为示例而非限制, 通信介质包括有线介质,诸如有线网络或直接线连接,以及无线介质,诸如声学、RF、红外线和其它无线介质。上述的任意组合应该包含在计算机可读介质的范围内。系统存储器130包括易失性和/或非易失性存储器形式的计算机存储介质,诸如只读存储器(ROM) 131和随机存取存储器(RAM) 132。基本输入/输出系统133 ¢10 包含有助于诸如启动时在计算设备100中元件之间传递信息的基本例程,它通常存储在ROM 131 中。RAM 132通常包含处理单元120可以立即访问和/或目前正在操作的数据和/或程序模块。作为示例,而非限制,图1示出了操作系统134、其它程序模块135和程序数据136。
7
计算设备100也可以包括其它可移动/不可移动、易失性/非易失性计算机存储介质。例如,图1示出了从不可移动、非易失性磁介质中读取或向其写入的硬盘驱动器141, 并且它提供硬件密码支持160这样使得硬盘驱动器141自身可以例如加密由诸如CPU 120 等计算设备100的其他组件提供给它的数据,而无需使CPU 120负担这种加密。可以在示例性计算设备中使用的其它可移动/不可移动、易失性/非易失性计算机存储介质包括,但不限于,盒式磁带、闪存卡、固态存储设备(SSD)、数字多功能盘、数字录像带、固态RAM、固态ROM等。硬盘驱动器141或这些其他可移动/不可移动、易失性/非易失性计算机存储介质中的任何一个通常由不可移动存储器接口,诸如接口 140连接至系统总线121。为了方便说明和引用,以下描述是在图1和随后的附图中示出的所示硬件加密硬盘驱动器141的上下文中提供的。然而,如本领域的技术人员清楚的,下文中所述的机制都不限于硬盘驱动器 141的磁介质,并且可以同样地在任何类型的计算机存储介质上实现,包括以上枚举的可移动/不可移动、易失性/非易失性计算机存储介质中的任一个。尽管未在图1中具体示出,但是诸如硬件加密硬盘驱动器141的硬件加密存储设备的硬件密码支持160可以包括用于执行密码功能的专用处理器和/或存储器,所述密码功能诸如对提供给硬盘驱动器的数据或由硬盘驱动器从其存储介质读取的数据进行加密或解密。硬件密码支持160也可以包括使硬件密码支持160能够解密和加密存储在硬盘驱动器141的存储介质上的数据的未经加密的解密密钥195。如下文中将进一步描述的,可以将这种密钥195存储在硬盘驱动器141的存储介质上。出于保护的目的,可以按加密的状态来存储它,诸如在图1中示出的经加密的解密密钥190。上面讨论并在图1中示出的驱动器及其相关联的计算机存储介质为计算设备100 提供了对计算机可读指令、数据结构、程序模块和其它数据的存储。例如,硬件加密硬盘驱动器141被示为存储操作系统144、其它程序模块145和程序数据146。注意,这些组件可以与操作系统134、其它程序模块135和程序数据136相同或不同。操作系统144、其它程序模块145和程序数据146在这里被标注了不同的标号是为了说明至少它们是不同的副本。计算设备100可使用至一个或多个远程计算机的逻辑连接在网络化环境中操作。 为了简化说明,计算设备100在图1中被示为连接到不限于任何具体的网络或网络协议的网络180。图1中描述的逻辑逻辑连接是可以是局域网(LAN)、广域网(WAN)或其他网络的通用网络连接171。计算设备100通过网络接口或适配器170连接到通用网络连接171,网络接口或适配器170进而连接到系统总线121。在网络环境中,相对于计算设备100或其部分或外围设备描述的程序模块可以被存储在通过通用网络连接171在通信上耦合到计算设备100的一个或多个其他计算设备的存储器中。可以理解所示的网络连接是示例性的, 且可以使用在计算设备之间建立通信链路的其他手段。关于以下描述,诸如硬盘驱动器141等通信上耦合到计算设备100的计算机存储介质中的一个或多个可以包括可以出于附加保护的目的而对其加密计算机可读指令和数据结构。在这种情况下,如所示的,解密密钥可以由计算设备100或诸如硬件加密硬盘驱动器141等能够进行硬件加密的外围设备用于解密和访问以经加密的形式存储的计算机可读指令和数据结构。通常,这种解密密钥会被以诸如经加密的解密密钥190等受保护的并且加密的形式来存储。当由在计算设备100上执行的计算机可读指令使用时,这种经加密的解密密钥190可以被解密并且保持未经加密的状态,诸如例如提供给硬盘驱动器141的硬件密码支持160的未经加密的解密密钥195。可以将全卷加密技术应用到诸如硬盘驱动器141等通信上耦合到计算设备100的计算机存储介质中的一个或多个上。通常,这种全卷加密可以由可以从RAM 132执行并且在一些实施例中可以与例如操作系统134相关联的专用全卷加密服务165来管理和执行。 为了方便引用,在全卷加密的上下文内用于加密和解密信息的密钥在此会被称为“全卷加密密钥” (FVEK)。可以将FVEK保留在经加密的状态,诸如经加密的解密密钥190,或者可以在提供了诸如口令、个人识别号(PIN)、密钥卡或其他这种安全信息的一组适当的信息之后或在计算设备100被诸如TPM 150验证是处于可信状态之后被例如全卷加密服务165解密。更具体地,可以用与这种安全信息或TPM 150相关联的密钥来加密FVEK。不幸的是,如果这种安全信息被丢失、遗忘或以其他方式致使不可用,或者如果TPM 150出现故障,则就不能取回FVEK。在这种情况下,可以用紧急FVEK来解密存储在硬盘驱动器上的信息并且可以用新的FVEK全部地重新加密它。当然,解密诸如硬盘驱动器141等存储设备的所有内容并接着重新加密它们的过程会是低效的。为了避免这种低效,可以使用中间加密密钥。出于方便引用的目的,这种中间密钥在本文中会被称为“卷主密钥”(VMK)。有了这种VMK,可以继续将FVEK用于加密和解密存储在例如硬盘驱动器141上的信息。然而,FVEK可以由VMK加密并且可以按经加密的状态来存储,诸如经加密的解密密钥190。VMK进而也可以由诸如与诸如口令、PIN或密钥卡等安全信息相关联的密钥加密,或者它可以由TPM 150所维护的密钥加密。如果这种安全信息被丢失或遗忘,或者如果TPM 150出现故障,则可以使用紧急FVEK来解密FVEK,且可以创建新的VMK并且使用该新的VMK来重新加密FVEK。由于相对于整个卷,仅需要解密 FVEK并接着用新的密钥重新加密它,因此可以极大地优化从丢失或遗忘的安全信息来进行恢复的过程。在一个实施例中,如图1中所示,可以充分利用由诸如硬盘驱动器141等硬件加密存储设备提供的硬件密码支持160来执行对存储在其存储介质上的数据的加密和解密,而可以使用诸如现有的全卷加密服务165等现有机制来维护和管理相关的加密和解密密钥。 这样,如在图1中所示,可以将密钥190的经加密的版本存储在硬盘驱动器141的存储介质上,并且可以由全卷加密服务165取回并作为经解密的密钥195提供给硬盘驱动器141,经解密的密钥195可以被保留并且由硬盘驱动器的硬盘密码支持160用于分别加密和解密写入到硬盘驱动器的存储介质和从中读取的数据。在适当的时候,诸如在重启或关闭计算设备100时,硬件密码支持160可以丢弃经解密的密钥195,从而仅在存储介质上留下受保护的经加密密钥190。诸如全卷加密服务165等现有资源可如先前所述地提供更为稳健的密钥管理系统,由此可以在对用户造成最小的影响的情况下适应丢失或遗忘的口令、密钥卡、损坏的 TPM等。此外,诸如全卷加密服务165等现有资源在不规则操作的情况下,诸如数据丢失、软件出错、或者诸如将例如硬盘驱动器141从计算设备100断开连接并随后将其连接到另一计算设备的用户活动之后,可以提供对密钥的恢复。然而,为了充分利用诸如全卷加密服务 165等现有资源,可以实现使这种资源能够将数据存储到例如硬盘驱动器141等存储介质上而无需硬件密码支持160对该数据应用加密和解密的机制,如在下文中详细描述的。这种机制可以使现有资源能够在将任何加密或解密密钥提供给硬件加密存储设备之前访问存储在硬件加密存储设备上的受保护的密钥。因此,如图1中所示,存储在存储介质上的受保护的密钥190可以是最终被硬件密码支持160用于对存储在存储介质上的其他数据的部分或全部执行硬件加密和解密的同一密钥195或者与密钥195相关联。在一个实施例中,诸如全卷加密服务165等现有资源可以通过将信息存储在系统分区内来将该信息存储在例如硬盘驱动器141上,而无需由相关联的硬件密码支持160进行加密。转向图2,系统200示出了应用到硬盘驱动器141上的可允许在系统分区210内对数据进行未经加密的存储的分区和分带方案。具体地,硬盘驱动器141被示为具有硬件密码支持层160,如先前所述,并且还具有被划分成三个分区的存储介质,即系统分区210、 第一用户可访问的分区220和第二用户可访问的分区230。硬盘驱动器141还包括一系列带。如本领域的技术人员会理解的,带可以是一组连续的逻辑块地址(LBA)或者存储介质上的各单独的存储单元,并且每个带可以与单个密钥相关联,这样使得硬件密码支持160可以使用该密钥来加密要写入到与该带相关联的存储介质上的所有数据并且硬件密码支持可以该密钥来解密要从与该带相关联的存储介质上读取的所有数据。默认地,硬件加密硬件驱动器141的存储介质可以包括涵盖该存储介质的所有LBA的单个带。这种带被称为“全局带”并且在图2中被示为全局带M0。图2中所示的硬盘驱动器141还包括附加带250和沈0,两者都被加密并且被示为第一经加密的带 250和第二经加密的带沈0。在图2的系统200示出的实施例中,可以调整第一经加密的带250的大小以涵盖第一用户可访问的分区220的全部,并且可以调整第二经加密的带沈0的大小以涵盖第二用户可访问的分区230的全部。在这种情况下,如本领域的技术人员会理解的,写入到第一用户可访问的分区220中的数据会被硬件密码支持160标识为处于第一经加密的带250 内,并且硬件密码支持在将数据写入到存储介质上之前可以使用与第一带相关联的任何密钥来加密数据。由此,如所示的,存储在第一用户可访问的分区220或第二用户可访问的分区230内的操作系统、软件应用程序或其他数据可以按经加密的状态来存储,在图2中分别示为经加密的操作系统应用程序和/或数据225和235。如本领域的技术人员也将会理解的,全局带240不会与任何密钥相关联。诸如系统分区210等不以其他方式与另一带相关联的分区可以默认地与全局带240相关联。因此,存储在这种分区内的数据不能由硬件密码支持160加密。尽管因为用户知道分区220 和230的存在,并且可以指示软件应用程序使用这种分区,所以它们可以是用户可访问的, 但是如本领域的技术人员将会理解的,系统分区210可以由可以安装在一个或多个用户可访问的分区220或230上的各种操作系统来保留,并且可以按用户不知道其存在的方式来保留。因为系统分区210可以包括仅是全局带240的一部分而非诸如带250和260的经加密的带中的任何一个的LBA,所以存储在这些LBA内的数据可以按既未由硬件密码支持 160加密也未由其解密的方式存储。因此,在一个实施例中,诸如全卷加密服务165等现有资源和机制可以将诸如密钥270和280等密钥存储在系统分区210中。为了方便说明和引用,密钥A 270旨在表示可用于访问存储在与第一经加密的带250相对应的那些LBA内的数据以及类似地可用于加密预定要存储在这些LBA内的数据的任何一个或更多相关的密钥。密钥B280同样地旨在表示可用于加密和解密存储在与第二经加密的带260相对应的那些LBA内的数据的任何一个或多个相关的密钥。在一个实施例中,存储在系统分区内中的密钥可以包括FVEK和VMK两者。由此, 例如,密钥A 270可以表示与存储在同第一经加密的带260相对应的LBA内的数据相关的一组密钥,包括例如该数据的FVEK以及用于加密FVEK的VMK。类似地,密钥B可以表示与存储在第二经加密的带沈0内的数据相关的一组密钥。当被存储在对应于系统分区210的存储介质上时,密钥可以被加密,诸如密钥270 和观0。由此,例如,如果FVEK和VMK两者都存储在系统分区210上,可以按经加密的状态来存储经VMK加密的FVEK,而可以按经加密的状态来存储由与用户提供的诸如口令、PIN或密钥卡等安全信息相关联的一个或多个密钥加密的VMK。随后,在诸如图1的计算设备100等计算设备重启或重新通电之后,全卷加密服务可以从用户获取诸如口令、PIN或密钥卡等安全信息,并且使用这种信息可以解密经加密的 VMK并接着可以用VMK来解密FVEK。接着可以将FVEK提供给硬盘驱动器141的硬件密码支持160以使它能够分别解密和加密从硬盘驱动器的存储介质读取或向其中写入的数据。更具体地,并且参考系统200,在计算设备100已重启或重新通电之后,全卷加密服务165可以从硬盘驱动器141请求例如经加密的密钥A 270。由于密钥A 270是存储在系统分区210 内的,所以硬件密码支持160可以标识其中这种密钥被存储为仅与全局带240相对应的相关LBA并且可以因此确定无需任何密钥来读取或写入该数据。因此,尽管密钥A 270可被加密,诸如由VMK加密的FVEK,但是它不能由硬件密码支持160加密并且由此可以提供给全卷加密服务165而无需首先获取解密密钥。一旦全卷加密服务165获取了密钥A 170,则它可以按诸如例如参考从用户处获取的安全信息等已知方式来解密它。一旦密钥A 270被解密,就可以将其提供给硬件密码支持160并且硬件密码支持可以解锁相关联的带,即第一经加密的带250。随后从对应于第一经加密的带250的读取或向其中的写入因此可以由硬件密码支持160参考全卷加密服务 165提供的密钥A 270来分别解密和加密。全卷加密服务165也可以使用类似的方式从硬盘驱动器141获取密钥B 280而无需首先将任何密钥提供给硬件密码支持160,并且可以将密钥B 280的经解密的版本提供给硬件密码支持,由此允许解锁第二经加密的带沈0。此外,如所示地,因为系统分区210可以与全局带240相关联并且由此可以包括不是由硬件密码支持160加密或解密的数据,所以系统分区210可以包括在使硬件加密支持能够执行加密或解密所必需的密钥可用之前的时间就可被使用的其他信息。在一个实施例中,系统分区210或仅与全局带240相关联的任何其他分区可以包括可以参与计算设备100 的引导的引导管理器。在另一实施例中,系统分区210( S卩,再次重申,仅与全局带相关联的任何其他分区)可以包括包含全卷加密服务165的计算机可执行指令中的一些或全部,由此允许在将任何密钥提供给硬件密码支持160之前操作和执行这些指令。由于密钥A 270和密钥B 280对于访问存储在第一经加密的带250或第二经加密的带沈0内的数据的一些或全部是重要的,因此也可以将密钥A的冗余副本(标记为密钥 A 271)以及密钥B的冗余副本(标记为密钥B 281)存储在系统分区210内。在一个实施例中,这种冗余副本可以存储在系统分区210的不同位置中,这样使得如果诸如存储介质中的缺陷等硬件出错导致密钥A270和密钥B280不可读,则这种缺陷会扩展到存储介质的其上存储有冗余密钥A 271和冗余密钥B 281的那一部分上的机会将被最小化。
转向图3,系统300示出了与系统200类似的实施例,除了可以将诸如密钥A 270 和密钥B 280以及它们的冗余副本密钥A 271和密钥B 281等密钥分别存储在保留分区 310内而非用系统分区220存储它们。如本领域的技术人员将会理解的,如果硬盘驱动器 141在其上存储了操作系统,则可以创建系统分区210,由此操作系统的安装可以创建系统分区310。然而,如果硬盘驱动器141没有在其上安装操作系统,如在例如图3的系统300 中示出的,则可存在保留分区310。在一个实施例中,可以在操作系统或保留这种空间的格式化实用程序格式化硬盘驱动器141时创建保留分区310。为了说明可能缺少操作系统,分别存储在图2中的第一用户可访问的分区220和第二用户可访问的分区230的标记为“经加密的操作系统、应用程序和/或数据” 225和235的信息分别被重新标记为“经加密的应用程序和/或数据” 325和335。如从图3的系统300可知,可以使用保留分区310以与系统分区210相同的方式来存储密钥270和观0以及它们的冗余备份271和观1。具体地,如同系统分区210,保留分区310可以涵盖仅仅是未经加密的全局带240的一部分的LBA,而诸如第一用户可访问的分区220和第二用户可访问的分区230等其他分区可以由于它们的LBA分别落入诸如第一经加密的带250和第二经加密的带260等指定加密的带内而保持加密。由此,系统300相对于对诸如密钥270、280、271和281等密钥的存储、维护和使用的操作可以类似于上述的操作。在另一替换实施例中,参考图4的系统400所述,可以将诸如密钥A 270和密钥B 280等密钥以及诸如冗余密钥A 271和冗余密钥B 281等任何冗余密钥存储在这些密钥所针对的分区内。如先前所示,诸如密钥A 270和密钥B 280等密钥可以按它们可以由全卷加密服务165访问而无需首先提供解密密钥给硬件密码支持160的方式来存储。为了以这种方式存储密钥,可以指定与分区相对应的经加密的带比该分区略短,并且还可以指定该经加密的带从大于标记该分区的开始的LBA的LBA处开始。由此,如图4中所示,第一用户可访问的分区220可以具有比第一用户可访问的分区小并且全部包含其内的对应的第一经加密的带250。例如,如果指定第一用户可访问的分区220在第一 LBA (即LBA 0000000000) 处开始,并且指定它的长度为1,000,000,000个LBA,则可以指定对应的第一经加密的带 250在例如LBA 0000001000处开始并且可以指定它的长度为999,998,000个LBA。如从图 4的系统400可知,这种指定的最终结果是LBA 0000000000和LBA 0000000999之间的LBA 可以是全局带240的一部分,因为第一经加密的带250直至LBA 0000001000才开始。类似地,由于指定第一经加密的带250在LBA0999998999处结束,因此LBA 0999999000和LBA 0999999999之间的LBA也可以是全局带MO的一部分。因为全局带240不与硬盘驱动器 141的带表中的密钥相关联并且是不加密的,所以存储在第一用户可访问的分区220的前 1000个LBA (即LBA 000000000到0000000999)内的信息和存储在第一用户可访问的分区的后1000个LBA (即LBA0999998999和0999999999)内的信息不能由硬件密码支持160加密。用第一用户可访问的分区220存储的其余信息由此会被存储在对应于第一经加密的带 250的LBA内,并且因此可以由硬件密码支持160加密,如由经加密的应用程序和/或数据 325示出。由此,全卷加密服务165可以在第一用户可访问的分区的这些开始和结束LBA内存储全卷加密服务自身可加密或解密的密钥,但是它无需将密钥提供给硬件密码支持160以允许后者对该数据进行加密或解密。由此,如图1中所示,与第一经加密的带250相关联的密钥A 270可以被存储在靠近第一用户可访问的分区220的开始处,而备份密钥A 271 可以被存储在靠近第一用户可访问的分区的结束处。当计算设备100通电或重启时,全卷加密服务165可以从硬盘驱动器141处获取密钥A 270,而无需首先将任何密钥提供给硬件密码支持160,因为密钥A 270是存储在对应于未经加密的全局带240的LBA内的。在从用户获取了相关的安全信息之后,全卷加密服务165可以将密钥A 270解密,密钥A 270如先前所示可以表示一个或多个相关的密钥,并且全卷加密服务165可以将该相关的密钥提供给硬件密码支持160以使硬件密码支持分别能够加密和解密从第一用户可访问的分区的被第一经加密的带250覆盖的那部分读取或向其中写入的数据。在一个实施例中,操作系统134或其他实用程序可允许计算设备100的用户或在这种计算设备上执行的其他应用程序仅使用第一用户可访问的分区220的第一被经加密的带250覆盖的那些LBA。例如,诸如卷管理器等组件可以将偏移应用于接收到的关于第一用户可访问的分区220的每个写和读命令。使用上述示例性的值,到LBA 0000000000的写命令可以使1000的偏移被自动应用于其上,这样使得它实际上变成到LBA 0000001000的写命令。这种写命令会看起来象是写入到第一用户可访问的分区220的开始处,但是实际上会写入到对应于第一经加密的带250的经加密的第一应用程序和/或数据区域325的开始处,由此留出上述未经加密的部分以用于密钥存储。以这种方式,第一用户可访问的分区 220对于用户和对于在计算设备100上执行的其他应用程序看起来象是完全加密的分区。硬盘驱动器141上的诸如例如第二用户可访问的分区230等另一分区可以关于诸如第二经加密的带260等相关联的加密带来类似地定义。在这种情况下,在第一经加密的带250所覆盖的那些LBA和第二经加密的带260所覆盖的那些LBA之间可以存在连续范围的LBA,它们可以如先前所示地属于全局带M0。然而,这种连续范围的MBA可以按图4中所示的方式在两个分区之间拆分,诸如在第一用户可访问的分区220和第二用户可访问的分区230之间。在另一实施例中,第一用户可访问的分区220和第二用户可访问的分区230并非如按图4中所示的方式是相邻的,它们可以是交错的,从而使得它们之间的LBA、它们之前的LBA、它们之后的LBA、或这些LBA的任一组合都可以按与上述相同的方式来用于密钥存储。由此,并非偏移第一用户可访问的分区220和第二用户可访问的分区230内的读取和写入,如所示的,分区自身可以调整大小以留出仅对应于如所示地不与任何密钥相关联的全局带的LBA的“间隙”。密钥A 270和密钥B 280以及任何重复的副本271和281可以分别如图4中所示地存储,除了这种存储位置会不同于图4中所示而位于第一用户可访问的分区220和第二用户可访问的分区230之外。相反,第一用户可访问的分区220的大小会被调整为等于经加密的应用程序和/或数据325,而第二用户可访问的分区230的大小会被调整为等于经加密的应用程序和/或数据335,两者都在图4中示出。在又一实施例中,诸如图5的系统500所示的实施例,分区与带可以彼此对齐。由此,例如,如所示的,可以指定对应于第一用户可访问的分区220的第一经加密的带250在与第一用户可访问的分区相同的LBA处开始并且长度与第一用户可访问的分区相同,而指定对应于第二用户可访问的分区230的第二经加密的带260在与第二用户可访问的分区相同的LBA处开始并且长度与第二用户可访问的分区相同。以这种方式,第一用户可访问的
13分区220的所有LBA可以是第一经加密的带250的一部分且可以被加密,而第二用户可访问的分区230的所有LBA可以是第二经加密的带沈0的一部分且也可以被加密。为了将诸如密钥A 270或密钥B 280等密钥分别存储在诸如第一用户可访问的分区220或第二用户可访问的分区230等它们各自的分区内,可以使用标志(即,位)来向硬盘驱动器141的硬件密码支持160指定它是否应该分别加密或解密所提供的或所请求的数据。更具体地,这种标志可以被追加或前加到由计算设备100传递给硬盘驱动器141的数据块,并且可以由硬件密码支持160读取和理解。在一个实施例中,这种标志(即,位)默认地可以被设置为请求加密和解密,这样使得如果它没有被指定,则硬件密码支持160可以继续进行来加密或解密数据。全卷加密服务165由此可以使用标志来指定当将诸如密钥A 270等密钥在被写入到硬盘驱动器141的存储介质上时硬件密码支持160不加密它们,并且当被从存储介质读出时硬件密码支持160也不解密它们。由此,如图5中所示,当提供或请求密钥A 270时, 全卷加密服务165可以使用指定为假(false-specifying)的加密位510,而当提供或请求其他数据时,其他软件可以使用指定为真(true-specifying)的加密位520。尽管未在图5 中具体示出,但是可以使用这种加密位来存储和取回密钥A 270、冗余密钥271、密钥观1、 以及冗余密钥观1,而无需调用硬件密码支持160的加密和解密能力。此外,尽管同样未在图5中示出,但是诸如密钥A 270和冗余密钥A 271等密钥的存储可以位于相关分区内的任何一组LBA上,因为诸如第一经加密的带250等加密带内的特定间隙未被使用。由此,可以通过使用诸如指定为假的加密位510等指定为假的加密位来将第二组冗余密钥存储在例如靠近每个相关分区的中间。为了维护分别在诸如第一用户可访问的分区220和第二用户可访问的分区230等分区与诸如第一经加密的带250和第二经加密的带260等加密带之间所确立的诸如在上文中详细描述的关系等关系,可以建立一个或多个机制,该一个或多个机制监视由计算设备 100维护且指定关于分区的信息的分区表,并且在适当时将相关的调整传递给硬件驱动器 141以反映在由硬盘驱动器维护且指定与带有关的信息的带表内。或者,可以建立在修改存储设备上的分区时同样地造成对该存储设备上或与之相关联的带表的修改的一个或多个机制。转向图6,示出了流程图600,示出第一个这种机制的一个实施例。最初,在步骤 610处,可以扫描分区表以标识在分区表内指定的信息,包括例如一个或多个分区的存在、 它们的起始LBA的指定以及它们的长度的指定。随后,在步骤620处,可以选择在步骤610 处标识的分区之一,并且在步骤625处作出关于是否应该加密所选分区的判定。如先前所示,诸如系统分区210和保留分区310等一些分区可能无需被加密,并且因此可能默认地仅对应于全局带M0。如果分区不应该被加密,则处理可以继续到步骤670,如下文中进一步描述的。然而,如果在步骤625处确定应该加密所选分区,则在步骤630处可以作出后序判定以确定分区是否已经具有相对应的加密带。如果在步骤630处发现除了全局带240之外分区没有对应的带,则该分区可能尚未被加密,并且在步骤635处,可以生成用于该分区的密钥,而在步骤640处可以将命令提供给硬盘驱动器141以使用在步骤635处生成的密钥来创建该分区的带。在步骤640处发出的确切命令可以取决于选择上述实施例中的哪个来实现。由此,出于上述原因,在步骤640处创建带的命令可以指定与所选分区具有相同的起
14始LBA和长度的带,或者它们可以指定具有偏移的起始LBA且长度小于所选分区的带。如果在步骤630处找到所选分区的对应的带,则在步骤650处,可以确定分区是否诸如就其长度或起始点已被修改。如果所选分区已被修改,如在步骤650处所确定的,则在步骤660处,可以提供命令给硬盘驱动器141以适当地调整对应的带。与在步骤640处创建带一样,在步骤660处发出的确切命令可以取决于对应的带是否应该与其对应的分区等同或者它是否应该是较小的,如上文中所述。在步骤640处创建新带的指令或在步骤660处修改现有的带的指令之后,或者在步骤650处确定所选分区未被改变且没有改变或添加需要被传递给硬盘驱动器141之后, 或者如上所述在步骤625处确定所选分区不应该被加密之后,可以在步骤670处作出关于分区表中是否存在所标识的任何其他分区的判定。如果存在这样的分区,则处理可以返回到步骤620并且选择下一分区并相对于该分区重复上述步骤。然而,如果在步骤670处未标识这种其他分区,则在步骤680处可以作出关于是否移除了任何先前指定的分区的判定。 如果任何这样的分区被移除,如在步骤680处确定的,则可以在步骤690处提供适当的命令给硬盘驱动器141以请求移除对应的带(如果有的话)。在一个实施例中,如果在步骤680 处没有发现移除的分区,则处理可以返回到步骤610,由此继续监视分区表并且以有效的方式将适当的改变传递给带表。在另一实施例中,如所示的,对分区的改变可以在适当时更直接地造成对与其分区被改变的存储设备相关联的带表的改变,而非依赖于诸如上文参考图6所述的那些机制的同步机制。转向图7,流程图700示出了示例性的这种机制。具体而言,在步骤705处可以接收分区改变,并且在步骤710处可以作出关于所请求的改变是否包含创建新分区的判定。如果步骤710确定创建新分区,则可以在步骤715处作出关于是否应该加密这样的分区的后序判定。如果这种分区应该被加密,则在步骤720处可以创建新分区并且可以生成用于该分区的一个或多个密钥。随后,在步骤725处,可以发出命令以使用所生成的密钥来创建对应于该分区的加密带。如上所示,参考步骤640和660,在步骤725处发出的确切命令可以取决于相应的带是否应该与其对应的分区等同或者它是否应该是较小的,如上文中所述。如果在步骤710处确定分区改变不是创建新分区,或者如果在步骤715处确定新分区无需被加密,则在步骤730处的判定可以评估一个或多个分区改变是否指对现有分区的大小的改变。如果现有分区被改变,则可以按本领域的技术人员公知的方式在步骤735 处修改其开始或长度。随后,可以在步骤740处作出关于已改变的分区是否被加密的判定。 如果是,则在步骤745处可以发出调整其相关联的带的命令。如前所述,这种命令可以取决于从上述关系中选择的、分区和其对应的加密带之间的关系。如果在步骤730处确定没有请求分区改变,或者如果无需加密被改变的分区,则处理可以进行到步骤750以确定对分区的一个或多个改变中的任何一个是否包括删除分区。如果没有删除分区的这种请求,则相关的处理可以在步骤770处结束。然而,如果在步骤750处发现删除分区的请求,则在步骤755处,可以删除所请求的分区,并且在步骤760 处,可以作出关于已删除的分区是否被加密的判定。如果是,则可以在步骤765处发出移除其相关联的带的命令。如果已删除的分区未被加密,则在步骤755处它的删除是足够的,并且相关的处理可以在步骤770处结束。以这种方式,与具有分区的存储设备相关联的一个或多个带表可以与对这些分区的任何改变被等同地维护。在又一实施例中,与诸如第一经加密的带250和第二经加密的带260等一个或多个经加密的带相关联的诸如密钥A 270和密钥B 280等密钥中的一个或多个可以与由计算设备100的TPM 150保护的信息相关联,由此实际上将硬盘驱动器141绑定到计算设备上。 更具体地,并参考图8的流程图800,在初始事件810之后,由此将电源应用到计算设备100 上或用其他方式重置计算设备,在步骤820处,如本领域的技术人员公知的,TPM可以用加载到该计算设备上或在其上执行的组件的测量值来扩展一个或多个PCR。随后,在步骤830 处,引导管理器可以将经加密的捆绑数据提供给TPM 150,所述数据表示例如先前由TPM使用一个或多个TPM专用密钥151加密的密钥,诸如VMK或者甚至FVEK。同样在步骤830处, 引导管理器可以请求TPM 150开启该密钥。如本领域的技术人员公知的,在步骤740处,TMP 150可以基于一个或多个PCR的值来确定是否开启在步骤730处提供给它的密封的或加密的密钥。更具体地,如果PCR值等于最初密封密钥时它们的值,则在步骤750处TPM 150可以开启该密钥并将其返回给引导管理器。在步骤840处,如果TPM 150确定PCR的值不同,诸如例如如果计算设备100的某些硬件已改变,或者整个计算设备已改变,则TPM 150可以确定不开启该密钥,导致步骤 899处的错误。如果在步骤850处TPM 150提供了经开启的密钥,则在步骤860处引导管理器可以将该密钥或由在步骤850处提供的密钥解锁的相关联的密钥提供给硬盘驱动器141。在步骤870处,硬盘驱动器141的硬件密码支持160可以验证所提供的密钥适于解锁一个或多个经加密的带或者正确地加密和解密写入到对应于该带的LBA中或从中读取的数据。如果在步骤870处发现密钥是合适的,则可以在步骤880处将带解锁并且可以通过硬件密码支持160提供对该带的访问。然而,如果在步骤870处发现密钥不是在带表中指定的密钥, 则同样在步骤899处可以发生错误。在一个实施例中,在步骤880处带的解锁可以使得引导管理器能够访问与计算设备100的引导相关的附加计算机可执行指令。在这种实施例中,在步骤890处,在步骤880 处接收到对带的访问之后,引导管理器可以继续进行以引导计算设备100。因为在硬盘驱动器141已被移动到另一计算设备100的情况下,引导管理器可能不会如步骤840和850处所示接收到它所需要的密钥,所以流程图800的步骤的一个最终效果是将对存储在硬盘驱动器上的数据的访问捆绑到在加密该数据时该硬盘驱动器所连接到的计算设备上。如可以从以上描述可知,在硬件加密存储设备的上下文中提供了使用现有资源对密钥的创建、保护和管理。鉴于此处所述的主题的许多可能的变体,要求保护落入所附权利要求书及其等效技术方案的范围之内的所有这样的实施例作为本发明。
权利要求
1.一个或多个包括用于在硬件加密存储设备(141)上存储和从中取回密钥的计算机可执行指令的计算机可读介质,所述计算机可执行指令涉及以下步骤,包括在所述硬件加密存储设备(141)上创建至少第一分区(210、310)和第二分区Q20);指示所述硬件加密存储设备(141)实现对应于所述第二分区(220)的至少第一加密带 050),所述第一加密带(250)覆盖与所述第二分区(220)相关联的所有存储单元,所述第一加密带与第一密钥相关联;以及将与所述第一密钥相关联的经加密的密钥(270、271)存储在与所述第一分区(210、 310)相关联的第一组一个或多个存储单元内,所述第一分区(210、310)对应于至少全局带 040),所述全局带(MO)不与任何密钥相关联。
2.如权利要求1所述的计算机可读介质,其特征在于,涉及创建至少所述第一分区和所述第二分区的所述计算机可执行指令是响应于创建仅一个分区的用户请求来执行的。
3.如权利要求1所述的计算机可读介质,其特征在于,还包括涉及在所述硬件加密存储设备上安装操作系统的计算机可执行指令,所述计算机可执行指令涉及安装所述操作系统,包括所述计算机可执行指令涉及对所述硬件加密存储设备创建至少所述第一分区和所述第二分区;以及计算机可执行指令涉及保留所述第一分区以供所述操作系统使用。
4.如权利要求1所述的计算机可读介质,其特征在于,还包括涉及指示所述硬件加密存储设备实现对应于所述第一分区的至少第二加密带的计算机可执行指令,所述第二加密带覆盖与所述第一分区相关联的所有存储单元,所述第二加密带不与任何密钥相关联。
5.如权利要求1所述的计算机可读介质,其特征在于,还包括涉及将与所述第一密钥相关联的冗余的经加密的密钥存储在与所述第一分区相关联的第二组一个或多个存储单元内的计算机可执行指令,所述第二组一个或多个存储单元不同于所述第一组一个或多个存储单元。
6.如权利要求1所述的计算机可读介质,其特征在于,涉及创建至少所述第一分区和所述第二分区的所述计算机可执行指令还包括涉及创建至少第三分区的计算机可执行指令,所述计算机可读介质还包括涉及以下步骤的计算机可执行指令指示所述硬件加密存储设备实现对应于所述第三分区的至少第二加密带,所述第二加密带覆盖与所述第三分区相关联的所有存储单元,所述第二加密带与第二密钥相关联;以及将与所述第二密钥相关联的第二经加密的密钥存储在与所述第一分区相关联的第二组一个或多个存储单元内。
7.如权利要求1所述的计算机可读介质,其特征在于,还包括涉及以下步骤的计算机可执行指令检测包括与至少所述第一分区和所述第二分区有关的信息的分区表中的改变;以及指示所述硬件加密存储设备相应地改变包括与至少所述第一个加密带有关的信息的带表中的信息。
8.如权利要求1所述的计算机可读介质,其特征在于,所述经加密的密钥是由与所述硬件加密存储设备在通信上与之耦合的计算设备相关联的可信平台模块加密的。
9.如权利要求1所述的计算机可读介质,其特征在于,还包括涉及以下步骤的计算机可执行指令接收涉及所述硬件加密存储设备上的分区的请求;根据所述请求改变所述硬件加密存储设备上的分区;以及指示所述硬件加密存储设备相应地改变包括与至少所述第一加密带有关的信息的带表中的信息。
10.一种硬件加密存储设备(141),包括一个或多个存储介质;以及用于执行各个步骤的一个或多个密码处理器(160),所述步骤包括在将提供给所述硬件加密存储设备(141)的信息存储在所述存储介质上之前,选择性地加密提供给所述硬件加密存储设备(141)的信息;在响应于请求提供从所述存储介质读取的信息之前,选择性地解密从所述存储介质读取的信息;以及评估与提供给所述硬件加密存储设备(141)的信息或与对从所述存储设备读取的信息的请求一起提供的加密标志(510、520);其中评估所述加密标志(510、520)告知所述选择性的加密和所述选择性的解密。
11.如权利要求10所述的硬件加密存储设备,其特征在于,所述选择性的加密和所述选择性的解密是参考至少一个密钥来执行的,其中所述至少一个密钥的经加密的版本被提供给所述硬件加密存储设备以供存储在所述存储介质上,所述加密标志指示不要加密所述至少一个密钥的经加密的版本,以及其中进一步地,从所述硬件加密存储设备请求所述至少一个密钥的经加密的版本,所述加密标志指示不要解密所述至少一个密钥的经加密的版本。
12.如权利要求10所述的硬件加密存储设备,其特征在于,所述评估包括如果未指定所述加密标志,则确定要加密提供给所述硬件加密存储设备的信息以及要解密从所述存储介质读取的信息。
13.如权利要求10所述的硬件加密存储设备,其特征在于,还包括带表,所述带表标识至少一个加密带以及与所述至少一个加密带相关联的至少一个密钥。
14.如权利要求13所述的硬件加密存储设备,其特征在于,所述一个或多个存储介质被分区为至少一个分区,并且其中进一步地,所述至少一个加密带对应于所述至少一个分区并且涵盖所述至少一个分区所包含的所述一个或多个存储介质的所有存储单元。
15.如权利要求13所述的硬件加密存储设备,其特征在于,所述带表是与所述硬件加密存储设备在通信上与之耦合的计算设备所维护的分区表等同地维护的。
全文摘要
硬件加密存储设备可以提供对写入到这种存储设备的存储介质中的数据的硬件加密以及对从该存储介质读取的数据的硬件解密。为了利用现有的密钥管理资源,该资源可以是更为灵活且包容的,可以开发用于存储受该现有资源保护而非受存储设备的硬件加密保护的密钥的机制。可以使用没有对应的加密带的专用分区以非硬件加密的方式来存储密钥。同样地,分区可以被定义为大于它们相关联的加密带,从而在靠近开始和结束处留出用于非硬件加密的存储的空间。或者可以使用单独的位来单独地指定应该将哪些数据进行硬件加密。另外,自动化过程可以维护该计算设备的分区表和该硬件加密存储设备的带表之间的同步。
文档编号G06F9/06GK102171704SQ200980139987
公开日2011年8月31日 申请日期2009年9月29日 优先权日2008年10月3日
发明者D·R·伍藤, K·梅拉, O·T·乌雷彻, S·A·布朗代 申请人:微软公司

最新回复(0)