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

经由内部和/或外部动作的密码擦除的制作方法

2022-04-14 05:26:56 来源:中国专利 TAG:


1.本发明涉及密码擦除,并且更具体地,本发明涉及用于经由内部动作和/或外部动作实现密码擦除的技术和系统。


背景技术:

2.术语“密码擦除”通常指禁止访问以某种方式解密数据所需的加密密钥。这可以例如通过擦除加密密钥的所有副本、移除加密密钥的一部分、禁用对生成或解锁加密密钥所需的子密钥的访问等来完成。通过永久地禁用加密密钥,用该加密密钥加密的数据不能被解密;加密的数据被有效地呈现为不可加密的。
3.已经规定,当今的数据中心具有不能明确地密码擦除所有出故障的或停用的自加密驱动器(sed)的主要问题。例如,sed可能以其不再能够通信至其所在的系统的方式出故障。在这种出故障状态下,sed不能接收密码擦除的命令或者以指示密码擦除的命令成功完成的状态来响应这种命令。对于不愿意冒从出故障的sed(其不能被明确地密码擦除)的固态驱动器(ssd)或硬盘驱动器(hdd)存储器取证地恢复数据的风险的数据中心,这是问题。如今,这些数据中心通常求助于物理地破坏那些驱动器以努力防止取证恢复。由于害怕公开数据,用户不能凭良心将那些驱动器返回至制造商或再使用它们。
4.应注意,用于加密和解密sed上的数据的介质加密密钥(mek)不以明文存储在现代sed中。相反,mek被加密地包装,例如自身被加密或以其他方式被混淆。人们认为,在非常长久的运行中,这可能不够强大,以至于在可预见的未来可能破解密钥包装技术(例如,经由量子计算)。
5.不管问题的范围或是否应当存在包裹密钥可以被解密或破译的任何有效担忧,可能非常正确的是,存在不希望依赖或完全信任驱动器来处理mek的非易失性存储和mek的密码擦除的实体。这样的用户可能非常偏好于在每个上电循环之后将mek提供至驱动器,而不是将mek存储在sed上,以确保mek可以被破坏并且用它创建的所有密文被密码擦除。这使用户控制mek,并且所述用户不必担心驱动器以不允许由驱动器执行密码擦除的方式出故障的情况。因为mek仅被非易失性地存储在驱动器外部,所以它可以被用户破坏,独立于sed如何出故障。然而,对保持mek的用户密钥存储装置的破坏或者对该mek到sed的通信的窃听(并且破坏周围的任何保护措施)致使mek易受捕获或检索的攻击。
6.使得能够有在外部密码擦除sed的能力的一种方式是通过使用由lto-4(第一具有加密能力的lto带驱动器生成)使用的直接密钥服务模型。注意,如何在具有加密能力的设备外部处理密钥确定了它们是否是可密码擦除的。但是,当然,如果实体的密钥管理被适当地完成,则应当能够明确地密码擦除与出故障的sed驱动器相关联的mek的所有副本。然而,通常制作密钥的副本并且将其存储在分布式位置中,以确保密钥保持可用于对数据进行解密,因为如果没有留下密钥的副本,则在该密钥下加密的数据(即,密文)将不是可解密的,并且因此有效地使得不可访问或“密码擦除”。因此,随着制作越来越多的密钥的副本,密钥管理变得明显更难以安全。
7.在lto-4的时间之后,sed技术围绕符合可信计算组(tcg)规范(诸如,它们的tcg存储的安全子系统类别(ssc),包括(最初)企业和(最近)opal)而标准化。这两个ssc都以多种不同方式支持密码擦除。例如,在opal的情况下,存在至少四种不同方式来调用密码擦除。但是tcg ssc都不支持独立于sed本身的外部实体的密码擦除,即,如果sed不能履行ssc指定的方法(命令)。mek总是存储在sed中,通常以加密包装的形式。如果某人可以某种方式了解如何破解开被包裹的mek,则该人可恢复存储在出故障的sed中的所有相关联的密文。


技术实现要素:

8.根据本发明的一方面,一种设备实现的方法包括在被配置为在存储介质上执行数据操作的设备处接收读取数据的请求,该数据以加密形式存储在该存储介质上。访问存储在设备内的第一密钥。从外部源接收第二密钥。使用第一密钥和第二密钥生成介质加密密钥。从存储介质读取数据的加密形式。使用介质加密密钥来解密数据的加密形式。输出解密的数据。该方法使得能够通过内部动作和外部动作两者来对本地加密的数据进行密码擦除。
9.根据本发明的另一方面,一种设备实现的方法包括在被配置为在存储介质上执行数据操作的设备处接收读取数据的请求,该数据以加密形式存储在该存储介质上。检索存储在存储介质上和/或与存储介质一起存储的第一密钥。从外部源检索第二密钥。使用第一密钥和第二密钥生成介质加密密钥。从存储介质读取数据的加密形式。使用介质加密密钥来解密数据的加密形式。输出解密的数据。该方法使得能够通过内部动作和外部动作两者来对本地加密的数据进行密码擦除。在使用可移动存储介质的情况下,第一密钥随介质一起行进,但是数据保持安全,直到提供第二密钥。
10.根据本发明的又一方面,一种设备实现的方法包括在被配置为在存储介质上执行数据操作的设备处接收将数据以加密形式写入存储介质的请求。访问存储在设备内的第一密钥。从外部源接收第二密钥。使用第一密钥和第二密钥生成介质加密密钥。使用介质加密密钥将所请求的数据以加密形式写入存储介质。该方法使得写入的加密数据能够通过内部动作和外部动作二者而被密码擦除。
11.根据本发明的又一方面,一种设备实现的方法包括在被配置为在存储介质上执行数据操作的设备处接收将数据以加密形式写入存储介质的请求。检索存储在存储介质上和/或与存储介质一起存储的第一密钥。从外部源接收第二密钥。使用第一密钥和第二密钥生成介质加密密钥。使用介质加密密钥将所请求的数据以加密形式写入存储介质。该方法使得写入的加密数据能够通过内部动作和外部动作二者而被密码擦除。
12.在各种方法中,执行各个方法中的任一个方法的设备优选地被配置为禁止将第一密钥转移到设备外部。因而,因为第一密钥不能离开设备,所以从设备删除第一密钥有效地密码擦除设备上的加密数据。
13.本文描述的各种方法可应用于许多类型的存储介质,包括非易失性存储器和磁记录带。
14.本发明的其他方面和方法将从以下详细描述中变得清楚,当结合附图时,以下详细描述通过示例的方式说明本发明的原理。
附图说明
15.图1是根据本发明的一个方面的网络架构的示图。
16.图2是根据本发明的一个方面的可以与图1的服务器和/或客户端相关联的代表性硬件环境的示图。
17.图3是根据本发明的一个方面的分层数据存储系统的示图。
18.图4是根据本发明的一个方面的方法的流程图。
19.图5是根据本发明的一个方面的方法的流程图。
20.图6是根据本发明的一个方面的方法的流程图。
21.图7是根据本发明的一个方面的方法的流程图。
22.图8是描绘用于引退并且保护使用sed的标准存储产品的现有技术的图表。
23.图9是描绘根据本发明的一个方面的用于引退并且保护使用sed的存储产品的说明性过程的图表。
24.图10是描绘根据本发明的一个方面的用于引退并且保护使用sed的存储产品的说明性过程的图表。
具体实施方式
25.以下描述是为了说明本发明的一般原理而进行的,并且不意味着限制在此要求保护的发明概念。另外,本文描述的特定特征可以以各种可能组合和置换中的每一种与其他描述的特征组合使用。
26.除非本文中另外特别限定,否则所有术语都将被给予它们的最广泛的可能解释,包括从说明书中暗示的含义以及本领域技术人员所理解的含义和/或如在词典、论文等中限定的含义。
27.还必须注意的是,如在说明书和所附权利要求中使用的,单数形式“一”、“一个”和“该”包括复数指示物,除非另外指明。还将理解,术语“包括”和/或“包含”当在本说明书中被使用时,指定所述特征、整体、步骤、操作、元件和/或部件的存在,但不排除一个或多个其他特征、整体、步骤、操作、元件、部件和/或其组的存在或添加。
28.本文的描述公开了用于使得本地加密的数据能够通过内部动作和外部动作两者而被密码擦除的系统、方法和计算机程序产品的若干优选方式。在一种方式中,用于加密/解密数据的介质加密密钥(mek)被分成两个部分
‑‑
一个密钥份额(密钥1)与数据一起存储,并且另一个密钥份额(密钥2)在外部被管理。在一种方式中,处于非易失性形式的密钥1仅与数据一起存储,可选地以包装形式(例如,被加密或以其他方式保护)。可以以非易失性形式存储的密钥2仅存储在具有数据的设备/产品外部,并且因此密钥2必须被提供给读取数据的设备以实现加密和/或解密。mek可仅在设备具有密钥1和密钥2两者时被计算。
29.在一种一般方式中,数据被存储在自加密驱动器(sed)中。密钥1在sed内部被管理,并且可以以原始形式或以包装形式存储在sed中。在电力循环和/或其他冷启动之后至少一次将密钥2提供至sed,以允许在sed内部计算mek。
30.在另一种一般方式中,数据存储在诸如磁记录磁带之类的存储介质上、存储在非易失性随机存取存储器(nvram,诸如固态存储器、硬盘等)等中。密钥1存储在存储介质上和/或与存储介质一起存储,并且可以以包装形式存储。向驱动器、计算机等提供密钥2以允
许驱动器、计算机等计算mek。
31.在本发明的一个示范性方面中,一种设备实现的方法包括在被配置为在存储介质上执行数据操作的设备处接收读取数据的请求,该数据以加密形式存储在该存储介质上。访问存储在设备内的第一密钥。从外部源接收第二密钥。使用第一密钥和第二密钥生成介质加密密钥。从存储介质读取数据的加密形式。使用介质加密密钥来解密数据的加密形式。输出解密的数据。
32.在本发明的另一示范性方面中,一种设备实现的方法包括在被配置为在存储介质上执行数据操作的设备处接收读取数据的请求,该数据以加密形式存储在该存储介质上。检索存储在存储介质上和/或与存储介质一起存储的第一密钥。从外部源检索第二密钥。使用第一密钥和第二密钥生成介质加密密钥。从存储介质读取数据的加密形式。使用介质加密密钥来解密数据的加密形式。输出解密的数据。
33.在本发明的另一示范性方面中,一种设备实现的方法包括在被配置为在存储介质上执行数据操作的设备处接收将数据以加密形式写入存储介质的请求。访问存储在设备内的第一密钥。从外部源接收第二密钥。使用第一密钥和第二密钥生成介质加密密钥。使用介质加密密钥将所请求的数据以加密形式写入存储介质。
34.在本发明的另一示范性方面中,一种设备实现的方法包括在被配置为在存储介质上执行数据操作的设备处接收将数据以加密形式写入存储介质的请求。检索存储在存储介质上和/或与存储介质一起存储的第一密钥。从外部源接收第二密钥。使用第一密钥和第二密钥生成介质加密密钥。使用介质加密密钥将所请求的数据以加密形式写入存储介质。
35.说明性计算环境
36.图1示出了根据一种方式的架构100。如图1所示,提供包括第一远程网络104和第二远程网络106的多个远程网络102。网关101可耦合在远程网络102与邻近网络108之间。在本架构100的上下文中,网络104、106可以各自采取任何形式,包括但不限于局域网(lan)、广域网(wan)(诸如互联网)、公共交换电话网(pstn)、内部电话网等。
37.在使用中,网关101充当从远程网络102到邻近网络108的入口点。这样,网关101可以起到路由器和交换机的作用,路由器能够引导到达网关101的给定数据分组,交换机为给定分组提供进出网关101的实际路径。
38.还包括至少一个数据服务器114,其耦合到邻近网络108,并且可经由网关101从远程网络102访问。应当注意,(一个或多个)数据服务器114可以包括任何类型的计算设备/群件。耦合到每个数据服务器114的是多个用户设备116。用户设备116也可以通过网络104、106、108之一直接连接。这样的用户设备116可以包括台式计算机、膝上型计算机、手持式计算机、打印机或任何其他类型的逻辑。应注意,在一种方式中,用户设备111也可以直接耦合至任何网络。
39.外围设备120或一系列外围设备120(例如,传真机、打印机、联网的和/或本地的存储单元或系统等)可以耦合到网络104、106、108中的一个或多个。应当注意,数据库和/或附加部件可以与耦合到网络104、106、108的任何类型的网络元件一起使用或集成到耦合到网络104、106、108的任何类型的网络元件中。在本说明书的上下文中,网络元件可以指网络的任何部件。
40.根据一些方式,本文描述的方法和系统可以利用虚拟系统和/或模拟一个或多个
其他系统的系统来实现以及/或者在虚拟系统和/或模拟一个或多个其他系统的系统上实现,诸如模拟环境的系统、虚拟托管环境的系统、模拟环境的系统等。在一些方式中,这种虚拟化和/或模拟可以通过使用软件来增强。
41.在更多的方式中,一个或多个网络104、106、108可以表示通常称为“云”的系统集群。在云计算中,共享资源(诸如处理能力、外围设备、软件、数据、服务器等)以按需关系被提供给云中的任何系统,从而允许跨许多计算系统访问和分布服务。云计算通常涉及在云中操作的系统之间的互联网连接,但也可以使用连接系统的其他技术。
42.图2示出了根据一个方式的与图1的用户设备116和/或服务器114相关联的代表性硬件环境。这样的图示出工作站的典型硬件配置,该工作站具有中央处理单元210(诸如微处理器)以及经由系统总线212互连的多个其他单元。
43.图2中所示的工作站包括随机存取存储器(ram)214,只读存储器(rom)216,用于将诸如盘存储单元220之类的外围设备连接到总线212的输入/输出(i/o)适配器218,用于将键盘224、鼠标226、扬声器228、麦克风232和/或诸如触摸屏和数字相机(未示出)之类的其他用户接口设备连接到总线212的用户接口适配器222,用于将工作站连接至通信网络235(例如,数据处理网络)的通信适配器234以及用于将总线212连接至显示设备238的显示适配器236。
44.工作站可以具有驻留在其上的操作系统,诸如microsoft操作系统(os)、os等。将明白,优选的方式还可以在除了所提及的那些平台和操作系统之外的平台和操作系统上实施。优选的方式可以使用可扩展标记语言(xml)、c和/或c 语言或其他编程语言以及面向对象的编程方法来编写。可以使用已经变得越来越多地用于开发复杂应用的面向对象编程(oop)。
45.现在参考图3,示出了根据一个方式的存储系统300。要注意的是,根据各种方面,图3中所示的一些元件可以被实施为硬件和/或软件。存储系统300可以包括用于与至少一个较高存储层302和至少一个较低存储层306上的多个介质和/或驱动器通信的存储系统管理器312。(一个或多个)较高存储层302优选地可以包括一个或多个随机存取和/或直接存取介质304,诸如硬盘驱动器(hdd)中的硬盘、非易失性存储器(nvm)、固态驱动器(ssd)中的固态存储器、闪存、ssd阵列、闪存阵列等,和/或本文指出的或本领域已知的其他介质。(一个或多个)较低存储层306可以优选地包括一个或多个较低性能存储介质308,包括顺序访问介质(诸如,带驱动器中的磁带和/或光学介质)、较慢访问的hdd、较慢访问的ssd等、和/或本文中指出的或本领域已知的其它介质。一个或多个附加存储层316可以包含系统300的设计者所期望的存储存储器介质的任何组合。而且,较高存储层302和/或较低存储层306中的任一者可以包含存储设备和/或存储介质的某种组合。
46.存储系统管理器312可以通过网络310与(一个或多个)较高存储层302和(一个或多个)较低存储层306上的驱动器和/或存储介质304、308通信,网络310诸如存储区域网络(san),如图3所示,或一些其他合适的网络类型。存储系统管理器312还可以通过主机接口314与一个或多个主机系统(未示出)通信,该主机接口314可以是或可以不是存储系统管理器312的一部分。存储系统管理器312和/或存储系统300的任何其他部件可以在硬件和/或
软件中实现,并且可利用用于执行本领域中已知的类型的命令的处理器(未示出),诸如中央处理单元(cpu)、现场可编程门阵列(fpga)、专用集成电路(asic)等。当然,可以使用存储系统的任何布置,如本领域技术人员在阅读本说明书时将清楚的。
47.在更多的方式中,存储系统300可以包括任何数量的数据存储层,并且可以在每个存储层内包括相同或不同的存储存储器介质。例如,每个数据存储层可以包括相同类型的存储存储器介质,诸如hdd、ssd、顺序存取介质(带驱动器中的带、光盘驱动器中的光盘等)、直接存取介质(cd-rom、dvd-rom等)或介质存储类型的任何组合。在一个这样的配置中,较高存储层302可以包括用于在较高性能的存储环境中存储数据的大部分ssd存储介质,并且包括较低存储层306和附加存储层316的剩余存储层可以包括用于在较低性能的存储环境中存储数据的ssd、hdd、带驱动器等的任何组合。以此方式,可将更频繁存取的数据、具有较高优先级的数据、需要更快速存取的数据等存储到较高存储层302,而可将不具有这些属性中的一者的数据存储到附加存储层316,包含较低存储层306。当然,本领域技术人员在阅读本说明书时,可以根据本文提出的方式和方面设计存储介质类型的许多其他组合以实现成不同的存储方案。
48.根据一些方式,存储系统(诸如300)可以包括被配置为接收打开数据集的请求的逻辑、被配置为确定所请求的数据集是否以多个相关联部分存储到分层数据存储系统300的较低存储层306的逻辑,被配置为将所请求的数据集的每个相关联部分移动到分层数据存储系统300的较高存储层302的逻辑,以及被配置为在分层数据存储系统300的较高存储层302上从相关联部分组装所请求的数据集的逻辑。
49.当然,根据不同方式,该逻辑可以被实现为任何设备和/或系统上的方法或被实现为计算机程序产品。
50.用于实现密码擦除的本发明方法
51.以下描述公开了用于使得能够通过内部动作和外部动作两者来对本地加密的数据进行密码擦除的系统、方法和计算机程序产品的若干优选方式。在一种方式中,用于加密/解密数据的mek被分成两个部分
‑‑
一个密钥份额(密钥1)与数据一起存储(例如,在sed中、在带上等),并且另一个密钥份额(密钥2)在外部被管理。在一种方式中,处于非易失性形式的密钥1仅与数据一起存储,优选地以包装的形式存储。可以处于非易失性形式的密钥2仅存储在具有数据的设备/产品的外部,并且因此密钥2必须被提供给读取/写入数据的设备以实现加密和/或解密。mek可仅在设备具有密钥1和密钥2两者时被计算。
52.在一个一般方面中,数据被存储在sed中。密钥1在sed内部被管理,并且可以以原始形式或更优选地以包装形式存储在sed中。密钥2在sed的电力循环和/或冷启动之后被提供至sed至少一次以允许计算mek。
53.在另一一般方式中,数据存储在诸如磁记录带之类的存储介质上、存储在nvram中等。密钥1存储在存储介质上和/或与存储介质一起存储,并且可以以包装形式存储。例如,密钥1可存储在磁记录带的一部分上、带盒存储器中、或两者中。这样,密钥1可随磁记录带携带。类似地,对于nvram设备,密钥1可以存储在nvram中、单独的存储器中等。向带驱动器、计算机等提供密钥2以允许驱动器、计算机等计算mek。
54.sed中的密码擦除
55.虽然联合利用sed的示例性实现方式呈现了以下描述中的大部分,但是这仅通过
示例的方式进行并且仅为读者提供上下文作为帮助。因此,下文呈现的概念和教导可同样适用于利用存储介质(诸如磁记录带、存储器卡等)的实现方式。
56.现在参考图4,示出了根据一个方式的方法400的流程图。方法400可根据本发明以各种方式尤其在本文所述的其他附图中所描绘的任何环境中执行。当然,如本领域技术人员在阅读本说明书时将理解的,方法400中可包括比图4中具体描述的那些操作更多或更少的操作。
57.方法400的步骤中的每个步骤可由操作环境的任何合适部件执行。例如,在不同方式中,方法400可以部分地或全部地由计算机、驱动器或其中具有一个或多个处理器的某个其他设备来执行。处理器(例如,以硬件和/或软件实现并且优选地具有至少一个硬件部件的(一个或多个)处理电路、(一个或多个)芯片、和/或(一个或多个)模块)可以在任何设备中用于执行方法400的一个或多个步骤。说明性处理器包括但不限于中央处理单元(cpu)、专用集成电路(asic)、现场可编程门阵列(fpga)等、其组合、或本领域已知的任何其他合适的计算设备。
58.如图4所示,方法400可开始于操作402,在操作402中,被配置为在存储介质上执行数据操作(诸如,从存储介质读取数据和/或向存储介质写入数据)的设备接收读取数据的请求,该数据以加密形式存储在存储介质上。该请求可以简单地请求数据,或者可以包括诸如密钥2之类的附加信息(见下文)。
59.在操作404中,例如从设备的存储器、从asic等访问存储在设备内的第一密钥(密钥1)。如上所述,在一些方式中,第一密钥以原始(未加密)形式存储在设备中。在其他方式中,第一密钥以包装形式(例如,加密形式、密码保护形式、混淆形式等)存储在设备中。用于解开第一密钥的信息(诸如另一密钥、密码等)可被接收并用于解开第一密钥。
60.在优选方面中,设备被配置为禁止将第一密钥转移到设备的外部。然而,设备内部的控制器可以访问设备内的第一密钥。
61.在操作406中,从外部源接收第二密钥(密钥2)。外部源可以是任何外部源。例如,外部源可以是数据的请求者、密钥存储装置、密钥服务器、由用户(例如,经由键盘、通过插入闪存驱动器等)输入的密钥。
62.在操作408中,使用第一密钥和第二密钥生成介质加密密钥(mek)。任何已知技术可用于从第一密钥和第二密钥创建mek,例如通过对第一密钥和第二密钥进行异或运算(xor)。
63.在操作410中,例如使用常规技术从存储介质读取所请求的数据的加密形式(即,密文)。存储介质可以是本文公开的任何类型,例如,磁带、磁盘、nvram等。因此,设备可以是任何类型的数据存储设备,例如,带驱动器、ssd、hdd、具有加密能力的usb驱动器、nvram模块等。
64.在操作412中,使用mek解密所请求的数据的密文,以给出所请求的数据的未加密(即,明文)形式。所请求的数据的密文可被复制到缓冲器中并且随后被解密,可在读取期间“即时”被解密(例如,操作410和412被同时执行),等等。
65.在操作414中,经解密的数据被输出,例如,通过主机接口等被输出到数据的请求者。
66.如果第二数据要由该设备存储在存储介质上,则接收第二数据。还可以从第二外
部源接收第三密钥。还可以从第一密钥和第三密钥生成第二介质加密密钥。使用第二介质加密密钥对数据进行加密,并且将加密的数据写入存储介质。注意,第二外部源可与上述外部源相同或不同。同样,第三密钥可以与第二密钥不同或相同。如果第三密钥与第二密钥相同,则驱动器通常不必再次接收它。
67.下面提供图4的各种操作的方面。这些方面仅通过示例的方式呈现,并且不旨在是限制性的。此外,根据本发明的多种可能的方式,可以以任何方式组合这些方面。
68.mek可以使用本领域中已知的和/或本领域技术人员在阅读本说明书时将变得清楚的任何技术来从两个单独的密钥创建。例如,创建需要使用密钥1和密钥2两者来计算的mek密钥的一种方式是使密钥1和密钥2为两个独立产生的随机数,且接着执行需要密钥1和密钥2两者的计算(诸如,这两个值的xor或串连)来计算mek。mek可以替代地使用密钥拆分算法(例如,shamir的、blakely的(欧几里德)等)来

拆分’成两个(或更多个)密钥份额,例如密钥1和密钥2。
69.密钥1可以源自任何可设想的源。密钥1优选地在sed内部被创建,这是最安全的方法,因为除非有意地从sed复制密钥1的副本,否则密钥1的副本将永远不需要存在于sed外部。
70.在其他方式中,可以在sed外部创建密钥1并且将密钥1提供给sed。例如,可以在制造构建期间将密钥1编程到设备中,可以在写入数据时将密钥1编程到设备中,等等。
71.在可包括来自本文描述的任何其他方法的附加特征和操作的另外的方式中,可结合写入数据来计算密钥1和/或密钥2。例如,在可以使用新的mek的写入的情况下,可以生成mek(例如,通过随机数生成或其他已知技术),并且然后可以使用已知的密钥拆分算法(诸如shamir的、blakely的(欧几里德)等)从mek计算密钥1和密钥2密钥份额。mek生成和密钥份额计算优选地由设备执行。然后,密钥1可以被保留在设备内部并且密钥2可以从其导出以用于外部存储。在各个方面,该mek生成是抢先地(即,在接收到写入命令之前,使得其不影响处理写入所需的时间)或响应性地(例如,响应于写入命令,在这种情况下,在命令完成写入操作之前,优选地将密钥2从设备中导出以用于外部存储)执行的。
72.在一个方面,密钥1可专用于特定数据集,并且因此设备可存储多个唯一密钥1,每个唯一密钥1与唯一数据集相关联。
73.优选地,sed被配置为不允许密钥1的任何外部可见性或将密钥1转移或复制出sed。
74.可以在sed内部创建密钥2(如果使用密钥拆分算法来创建密钥份额(其将是密钥2),则这是优选方法),或者在sed外部创建密钥2,等等。
75.在说明性方式中,密钥1是mek的第一密钥份额,与mek的长度相同(以位为单位)的第一随机数。密钥2是mek的第二密钥份额,与mek的长度相同的第二随机数。以预定义方式用密钥2处理密钥1以生成所得mek。例如,可以用密钥2对密钥1进行xor(等)以生成mek。可替代地,可使用标准密钥导出技术(例如,使用散列或加密)代替xor运算(等)来计算mek。需要处理密钥1和密钥2两者以计算mek的任何形式的密钥导出是潜在可接受的。在其中密钥拆分被用于从mek生成密钥1和密钥2的情况下,用于从密钥1和密钥2创建mek的计算将是(拆分的)互补或反演计算。
76.注意,使用该拆分密钥技术,如果不具有mek,则计算mek的唯一方式是具有密钥1
和密钥2两者。通常,在n密钥拆分中的m个的上下文中,这可以被视为需要实现2个密钥份额(这就是密钥1和密钥2)中的2个来重建(mek)密钥。替代的(尽管较差的)实施例将是将m设置为2并且生成大于2的数量n个密钥份额,但是丢弃或销毁其他密钥份额中除两个密钥份额之外的所有密钥份额并且因此仅使用那些密钥份额中的剩余两个密钥份额(这有效地将密钥拆分减少到2中的2,但是增加了组合计算的复杂度)。
77.实施拆分密钥mek的一个优选方式是扩展tcg opal(或其他tcg ssc)以支持这种双密钥份额概念,使得一个密钥份额(密钥1)在sed内部被管理,并且另一个密钥份额(密钥2)在sed外部被管理。熟悉tcg的opal ssc的复杂度的任何人都将理解有许多、许多方式来实现这个概念,并且因此,本发明不限于这里所给出的示例性描述。
78.在一个说明性方式中,仅将密钥1的包装形式存储在sed中的非易失性存储器中。密钥2仅以非易失性形式存储在sed外部,并且因此必须在电力循环和/或冷启动之后被提供给sed(或由sed访问)至少一次以允许计算mek。只有当sed具有密钥1和密钥2两者时,才可以计算mek。因此,密钥2必须以某种形式被提供给sed(或由sed访问)。根据各种方面,有许多方式可以做到这一点。一种方式是使sed支持密钥管理互操作性协议(kmip)客户端并且通过安全信道从本领域已知类型的外部密钥管理器请求并接收密钥2。可替代地,密钥2可以以与个人标识号(pin)的方式类似的方式被提供给sed,例如以明文形式,通过安全隧道(例如tls)等。
79.密钥1优选地以包装形式存储在sed中,并且密钥1是可解开的,直至提供包装密钥(其可取决于被提供给sed以将不同用户认证为sed支持的不同角色的pin)。因此,从sed的外部提供的包装密钥的任何部分都被提供给sed以允许解开密钥1。一旦sed已经被提供或已经访问了计算mek所必需的所有所需信息(包括密钥2),sed就计算mek,并且然后能够解密现有密文以产生所得明文(例如,以响应主机读取),或将新接收的明文形式的客户数据加密成密文(例如,以履行主机写入)。
80.在一种方式中,密钥2是与一些管理安全提供者(下文称为“adminsp”)角色相关联的pin,一旦授权实体(诸如驱动器所有者)已用系统标识号(sid)或与具有适当权限的角色相关联的一些其他pin认证,则启用该pin。
81.可允许改变密钥2的pin。在一种方式中,密钥2的pin将以默认值开始,例如,某个预定义值,诸如全零(0x000

)。一个预期的实现方式将允许改变密钥2的pin,但仅在adminsp的第一管理权限(例如adminsp.admin1)的pin被定制之前,以不允许通过无意地改变密钥2的pin来无意地密码擦除由mek加密的数据。可替代地,可允许密钥2的pin在任何时间被改变以提供调用密码擦除的替代方式。
82.在密钥2将被设置为新生成的随机数的情况下,可能看起来密钥2的pin将在逻辑上生成于sed外部(例如,由用户和他或她的外部密钥管理基础设施),尽管该生成实际上可能简单地通过调用sed的随机方法(如果其符合tcg的opal规范则sed必须支持的命令(其是未认证的服务))。响应于随机方法,sed使用任何已知的可接受技术来计算新的随机数并将其返回(提供)至主机。
83.替代的实现方式包括在一些或所有情况下使sed作为生成密钥2的源。在这种情况下,可从sed读取密钥2。理想地,该实现方式沿着上面建议的一般路径继续,这使其能够利用现有的tcg opal方法(命令)来完成。例如,一种方式使用sed中的随机方法来生成密钥2。
然后,adminsp.密钥2的pin由主机个性化为它刚经由随机从sed读取的相同随机值。注意,通过从密钥2的默认值改变密钥2的pin,主机已经承担存储该pin的责任。为此,sed仅将由随机生成的最后随机数存储在易失性存储器中并且然后将生成的该最后随机数指定为候选密钥2。如果adminsp.密钥2的pin被设置为该相同值,则sed允许密钥2.pin被改变为该新值。注意,如果主机尝试将adminsp.密钥2pin设置为除了由随机给出的最后随机数之外的值,则sed随后可选地拒绝接受该pin改变并且发布指示命令失败的适当的错误代码。在这种情况下,sed可继续履行密钥2的pin的默认值(即,全零=0x000

),这基本上将sed回复至相同的标准操作(即,像符合tcg的opal的sed现今将操作的那样)。
84.密码学
85.注意,sed认证pin的一种标准方式是通过对其进行散列并且将其与在其被首次设置(并且此后非易失性地存储在sed中)时计算的那个pin的散列进行比较。以上讨论具有adminsp.密钥2的pin用作密钥2。注意,该特定pin应当被与其他pin不同地对待,因为此pin的散列不应被存储在sed中,因为在将来的某个时刻,这可以可想象地变得不安全(即,如果散列在将来被破解,比如通过量子计算)。如果没有其他,则散列将提供测试蛮力猜测的方式。也就是说,不仅仅依赖于pin的散列作为认证adminsp.密钥2的pin的方式是有正当理由的。因此,密钥2的pin不能独立于验证mek本身而被认证,这是为什么密钥2角色除了改变其自身的密码之外优选地不具有授权。这消除了认证该pin的任何直接、即时的需要。
86.最终,密钥1和密钥2被xor、组合等以创建mek。
87.核实所得mek为正确(例如,相对为一位关闭(one bit off),如果密钥2为一位关闭则其将发生)的一种方式,可使用密钥签名概念。密钥签名概念包括使用密钥来加密已知值,并且随后将所得的密文存储为该密钥的签名。
88.在优选方式中,核实所得mek为正确的是以这样的方式执行sed内部的密钥管理:具有可用的密钥2是对密钥1被成功解开的要求。例如,密钥流可通过从密钥2的密钥导出来创建,并且在密钥流以非易失性形式存储在设备内之前,该密钥流被用包装密钥结构xor等。然后,构建到高级加密标准(aes)密钥包装内的8字节校验和用于验证密钥2和用于包装密钥1的任何其他包装密钥二者。因此,密钥2上的密钥导出优选地用于创建足够的衍生密钥材料以跨越完整的包装密钥结构。该密钥流与包装密钥结构(wks)的xor创建新的受保护的包装密钥结构(pwks),其被存储以代替原始wks。此时,pwks中的任何位将具有50%的概率是对与错,并且对其的任何推测性

校正’能够(以足够的收敛校正)基本上选定非常大量的密钥包装结构可能性中的任一个。因而,密钥流与包装密钥结构本身的xor实际上是第二包装,这允许其中双重包装内部的数据是mek的又一方式,并且通过执行两次解开来实现组合。
89.应注意,在一些前述方式中,密钥2的pin已经变成所谓的密码敏感参数(csp)。如果存在在sed和主机之间传递的数据可被记录的任何机会,则应当利用飞行中数据加密(edif)的某种形式(诸如互联网协议安全(ipsec)、光纤信道安全协议(fc-sp)或传输层安全(tls))来保护它们之间的信道。在一些数据中心中,没有关于数据被来回传递到该环境中的sed的担忧;担忧仅仅是在sed离开该受保护的环境之后该sed所发生的事情,这就是为什么密码擦除的绝对保证是期望的。
90.注意,在xts加密模式(例如xts-aes-256)的情况下存在两个加密相关密钥,加密
密钥和单独的调整密钥。在一些方式中,可以从单个根密钥(经由密钥导出)生成这两个密钥。因此,256位的mek可以被提供并且可以被用于(经由密钥导出)生成xts-aes-256所要求的两个256位的密钥。
91.已经实现本发明的各个方面的sed中的密码擦除选项包括以下中的一个或多个:
92.1.如果用户想要对操作的sed进行密码擦除,则用户仅调用如本文中建议的这么做的多种不同方式之一。包装密钥结构被覆写,并且密钥1现在是不可恢复的。在这种情况下,不需要也擦除密钥2,mek是不可恢复的,因为密钥1消失。
93.2.如果用户想要对sed进行密码擦除(可能因为该sed是不响应命令的不可操作的sed,或者丢失的sed),但是无论出于何种原因都不能进行
‘1’
,则用户现在具有另一选项—代替地擦除密钥2,密钥2是用户独立于sed控制的。在这种情况下,不需要擦除密钥1的所有包装版本;mek是不可恢复的,因为密钥2消失。在这种情况下,即使某人在将来的某个时刻可能破解开出故障的sed的包装密钥结构并因此获得对密钥1的访问,他们所做的所有工作也都是徒劳,因为mek保持不可用。为此,它们需要密钥2,而密钥2已经被擦除。因此,它们仍然留在访问客户数据的唯一可行路径是破解保护用户数据自身的密文的加密算法(例如xts-aes-256)的情况中。
94.3.如果用户特别担心密码擦除的安全性,则用户可选择删除密钥1和密钥2两者。如果担心密钥2可能已被记录(例如,飞行至sed,即使受到其安全(可能随后)被破坏的某个安全信道保护),则这种情况可以是最可能的。但是,否则,由于所涉及的密码学,不应有要求删除密钥1和密钥2两者的原因。一个一般方式相当有弹性(例如,对于变得不可操作的sed)是始终尝试擦除密钥1和密钥2两者,但只要验证这两个擦除中的一个擦除成功就满足。
95.用于磁记录带和其他便携式存储器的密码擦除
96.如上所述,在一些方式中,加密数据存储在非易失性存储介质上,诸如磁记录介质(例如,带、盘)或者固态存储器(例如,nand闪存、nvram等)。再次,以上呈现的任何操作、概念等可用于本方式中。
97.现在参考图5,示出了根据一个方式的方法500的流程图。方法500可根据本发明以各种方式尤其在本文所述的其他附图中所描绘的任何环境中执行。当然,如本领域技术人员在阅读本说明书时将理解的,方法500中可包括比图5中具体描述的那些操作更多或更少的操作。
98.方法500的步骤中的每个步骤可由操作环境的任何合适部件执行。例如,在不同方式中,方法500可以部分地或全部地由计算机、驱动器或其中具有一个或多个处理器的某个其他设备来执行。处理器(例如,以硬件和/或软件实现并且优选地具有至少一个硬件部件的(一个或多个)处理电路、(一个或多个)芯片、和/或(一个或多个)模块)可以在任何设备中用于执行方法500的一个或多个步骤。说明性处理器包括但不限于中央处理单元(cpu)、专用集成电路(asic)、现场可编程门阵列(fpga)等、其组合、或本领域已知的任何其他合适的计算设备。
99.如图5所示,方法500可以以操作502开始,在操作502中,被配置为在存储介质上执行数据操作(诸如,从存储介质读取数据和/或向存储介质写入数据)的设备接收读取数据的请求,该数据以加密形式存储在存储介质上。所接收的请求可以仅仅是对数据的请求,或
者可以包括诸如密钥2之类的附加信息(见下文)。
100.在操作504中,检索存储在存储介质上和/或与存储介质一起存储的第一密钥(密钥1)。此过程可包含从存储数据的介质、从物理上耦合到介质的存储器(诸如盒式存储器)等检索第一密钥。
101.存储介质可以是本文公开的任何类型,例如,磁带、磁盘、nvram等。因此,设备可以是任何类型的数据存储设备,例如,带驱动器、ssd、hdd等。
102.如上所述,在一些方式中,第一密钥以原始(未加密)的形式存储在存储介质上和/或与存储介质一起存储。在其他方式中,第一密钥以包装形式(混淆形式,例如,加密形式、密码保护形式等)存储在存储介质上和/或与存储介质一起存储。用于解开第一密钥的信息(诸如另一个密钥或pin、密码等)可以被接收并且用于解开第一密钥。
103.在优选方面中,设备被配置为禁止将第一密钥转移到设备的外部。然而,设备内部的控制器可从存储介质或耦合到存储介质的其他源访问第一密钥。
104.在操作506中,从外部源接收第二密钥(密钥2)。外部源可以是任何外部源。例如,外部源可以是数据的请求者、密码存储装置、密码服务器、由用户(例如,经由键盘等)输入的密钥。
105.在操作508中,使用第一密钥和第二密钥生成介质加密密钥(mek)。任何已知技术可用于从第一密钥和第二密钥创建mek。
106.在操作510中,例如使用常规技术从存储介质读取密文形式的所请求的数据。
107.在操作512,使用mek解密所请求的数据的密文。数据可以被复制到缓冲器中并且然后被解密,可以在读取期间“即时”被解密(例如,操作510和512被同时执行),等等。
108.在操作514中,将解密的数据输出,例如输出到数据的请求者等。
109.如果第二数据要由该设备存储在存储介质上,则接收第二数据。可以从第二外部源接收第三密钥。如果是,则使用第一密钥和第三密钥生成第二介质加密密钥。使用第二介质加密密钥对数据进行加密,并且将加密数据写入存储介质。注意,第二外部源可与上述外部源相同,或由此不同。同样,第三密钥(如果第三密钥被接收到)可以与第二密钥不同或相同。
110.下面提供图5的各种操作的方面。这些方面仅通过示例的方式呈现,并且不旨在是限制性的。此外,根据本发明的多种可能方式,可以以任何方式组合这些方面。例如,方法500可具有或结合与上面关于图4呈现的那些特征类似的特征,例如诸如密钥生成等。
111.密钥1与存储介质一起存储,例如,存储在介质本身上和/或与存储介质一起存储在例如单独的存储器中。密钥1优选地以包装形式存储。例如,密钥1可存储在磁记录带的一部分上、带盒存储器中、或两者中。这样,密钥1可随磁记录带携带。类似地,对于nvram设备(诸如记忆棒、存储器卡等),密钥1可以存储在设备的nvram中、设备的单独存储器中等。
112.密钥1优选地在操作于存储介质上的设备(例如,驱动器、计算机等)内部被创建。优选地,该设备被配置为不允许密钥1的任何外部可见性或将密钥1复制到该设备的外部,除了与其耦合的存储介质和/或存储器之外。优选地,设备将密钥1转移到与其耦合的存储介质和/或存储器并且从设备中删除密钥1。因此,在一些方式中,密钥1仅驻留于存储介质,诸如与可移动介质设备相关联的那些。
113.在存储介质与设备本身成一体的设备(例如,自加密驱动器(sed)类型的hdd或
ssd、nvram模块等)的情况下,密钥1可与设备一起存储。例如,在(可能气密的)密封的sed壳体中,密钥1可被保持在通常矩形边界内的任何地方。在ssd的情况下,主非易失性存储器(其中存储用户数据)通常是nand闪存。密钥1(可能以包装形式)也可存储在那里。在其他方式中,密钥1可替代地保持在外壳内部的单独(相对于用户数据)的非易失性存储器中,诸如:在不同的nand闪存或nor闪存芯片中;在磁性随机存取存储器(mram)中;在自旋转移力矩随机存取存储器(stt-ram)中;在铁电随机存取存储器(feram)中;在相变存储器(pcm)中;在电阻式随机存取存储器(rram)中;在其他形式的nvram(其比前述术语技术特异性低)中;等等。注意,密钥1也可以以可被擦除的rom(诸如eeprom)的形式存储。因此,在各种方式中,密钥1可被存储在与存储用户数据的存储介质不同类型的存储器中。
114.在其他方式中,密钥1在设备外部被创建,并且被提供给设备并存储在设备中。
115.可以在设备内部或在设备外部创建密钥2,或者通过联合来自设备内部和外部的贡献创建密钥2。
116.密钥2被提供给和/或存储在带驱动器、计算机等中的易失性存储器(例如,sram)中,以允许驱动器、计算机等计算mek。在一种方式中,密钥2可在每次被需要时输入到带驱动器、计算机等。在另一种方式中,一旦被提供给设备,密钥2可被保留在设备内部,存储在带驱动器、计算机等上的易失性存储器中,在这种情况下密钥2优选地是包装的。
117.应当理解,本文中的不同方法可以用各种各样的存储器介质来实现,包括例如nvram技术,诸如nand闪存存储器、nor闪存存储器、相变存储器(pcm)、磁阻ram(mram)和电阻式ram(rram)。为了提供上下文并且仅为了帮助读者,可以参考非易失性存储器的类型来描述不同方式。这仅是通过举例的方式完成的,并且不应当被认为是对在权利要求中限定的本发明的限制。
118.在一个说明性方式中,处于非易失性形式的密钥1仅以包装形式与存储介质一起存储。而密钥2虽然可以临时存储在易失性存储器中,但仅以非易失性形式存储在存储介质的外部。
119.在存储介质上操作的驱动器、计算机等从存储介质检索密钥1并且接收或获得密钥2以允许计算mek。
120.优选地没有本地存储在驱动器、计算机等上的密钥2可以某种形式被提供给驱动器、计算机等。根据不同方面,可以有许多方式来完成,包括在先前部分中列出的任何方式。例如,一种方式是使驱动器、计算机等支持kmip客户端并且通过安全信道从本领域已知类型的外部kmip服务器(密钥管理器)接收密钥2。
121.在一些方式中,密钥2本地存储在驱动器、计算机等上,优选地以包装形式。用于解开密钥2的密钥可从用户接收、从密钥管理器接收等。
122.密钥1优选地以包装形式与存储介质一起存储并且在驱动器、计算机等被提供包装密钥(其可以是或取决于被提供给驱动器、计算机等以将不同用户认证为驱动器、计算机等支持的不同角色的个人标识号(pin))时是不可解开的。因此,包装密钥的从驱动器、计算机等的外部提供的任何部分都被提供给驱动器、计算机等以允许解开密钥1。一旦驱动器、计算机等已经累积了计算mek所需的所有所需信息(包括密钥2),驱动器、计算机等就计算mek,并且然后能够解密现有密文以产生所得明文(例如,以响应主机读取),或将明文形式的新客户数据加密成密文(例如,以履行主机写入)。
123.在一种方式中,密钥2是pin,如前面部分中所述。
124.替代实现方式包括使驱动器、计算机等在一些或所有情况下作为生成密钥2的源。在这种情况下,首先,可以从驱动器、计算机等的存储器读取密钥2。
125.在带驱动器实现的方式中,优选的是密钥1来自带介质,而密钥2来自某个接口,并且mek的计算在带驱动器内部,并且从不离开带驱动器。
126.利用启用密码擦除的sed的写入
127.虽然联合利用sed的示例性实现方式呈现了以下描述中的大部分,但是这仅通过示例的方式进行并且仅为读者提供上下文作为帮助。因此,下文呈现的概念和教导可同样适用于利用存储介质(诸如磁记录带、存储器卡等)的实现方式。
128.现在参考图6,示出了根据一个方式的方法600的流程图。方法600可根据本发明以各种方式尤其在本文所述的其他附图中所描绘的任何环境中执行。例如,方法600可以具有或结合与以上关于图4所呈现的那些特征类似的特征,并且在一些方面中,可以使得设备能够执行图4和图6的操作。当然,如本领域技术人员在阅读本说明书时将理解的,方法600中可包括比图6中具体描述的那些操作更多或更少的操作。
129.方法600的步骤中的每个步骤可由操作环境的任何合适部件执行。例如,在不同方式中,方法600可以部分地或全部地由计算机、驱动器或其中具有一个或多个处理器的某个其他设备来执行。处理器(例如,以硬件和/或软件实现并且优选地具有至少一个硬件部件的(一个或多个)处理电路、(一个或多个)芯片、和/或(一个或多个)模块)可以在任何设备中用于执行方法600的一个或多个步骤。说明性处理器包括但不限于中央处理单元(cpu)、专用集成电路(asic)、现场可编程门阵列(fpga)等、其组合、或本领域已知的任何其他合适的计算设备。
130.如图6中所示,方法600可以以操作602开始,在操作602中,被配置为在存储介质上执行数据操作(诸如,从存储介质读取数据和/或向存储介质写入数据)的设备接收将数据以加密形式写入存储介质的请求。该请求可以简单地请求写入数据,或者可以包括诸如密钥2之类的附加信息(见下文)。
131.在操作604中,存储在设备内的第一密钥(密钥1)例如从设备的存储器、从asic等被访问。如上所述,在一些方式中,第一密钥以原始(未加密)的形式存储在设备中。在其他方式中,第一密钥以包装形式(混淆形式,例如,加密形式、密码保护形式等)存储在设备中。用于解开第一密钥的信息(诸如另一个密钥、密码等)可被接收并且用于解开第一密钥。
132.在优选方面中,设备被配置为禁止将第一密钥转移到设备的外部。然而,设备内部的控制器可以访问设备内部的第一密钥。
133.在操作606中,从外部源接收第二密钥(密钥2)。外部源可以是任何外部源。例如,外部源可以是数据的请求者、密钥存储装置、密钥服务器、由用户(例如经由键盘)输入的密钥等。
134.在操作608中,使用第一密钥和第二密钥生成介质加密密钥(mek)。任何已知技术可用于从第一密钥和第二密钥创建mek,例如通过对第一密钥和第二密钥进行xor。
135.在操作610中,使用介质加密密钥,所请求的数据的加密形式(即,密文)例如经由常规技术被写入存储介质。存储介质可以是本文公开的任何类型,例如,磁带、磁盘、nvram等。因此,设备可以是任何类型的数据存储设备,例如带驱动器、ssd、hdd、具有加密能力的
usb驱动器、nvram模块等。
136.图6的各种操作和部件的方面优选地类似于上面在描述图4的部分中描述的那些,但可以包括来自本文任何其他部分的特征。这些方面仅通过示例的方式呈现,并且不旨在是限制性的。此外,根据本发明的多种可能方式,可以以任何方式组合这些方面。
137.写入磁记录带和其他便携式存储器
138.如上所述,在一些方式中,加密数据存储在非易失性存储介质上,诸如磁记录介质(例如,带、盘)或者固态存储器(例如,nand闪存、nvram等)。再次,以上呈现的任何操作、概念等可用于本方式中。
139.现在参考图7,示出了根据一个方式的方法700的流程图。方法700可根据本发明以各种方式尤其在本文所述的其他附图中所描绘的任何环境中执行。例如,方法700可以具有或结合与以上关于图4-图5所呈现的那些特征类似的特征,并且在一些方面中,可以使得设备能够执行图5和图7的操作。当然,如本领域技术人员在阅读本说明书时将理解的,方法700中可包括比图7中具体描述的那些操作更多或更少的操作。
140.方法700的步骤中的每个步骤可由操作环境的任何合适部件执行。例如,在不同方式中,方法700可以部分地或全部地由计算机、驱动器或其中具有一个或多个处理器的某个其他设备来执行。处理器(例如,以硬件和/或软件实现并且优选地具有至少一个硬件部件的(一个或多个)处理电路、(一个或多个)芯片、和/或(一个或多个)模块)可以在任何设备中用于执行方法700的一个或多个步骤。说明性处理器包括但不限于中央处理单元(cpu)、专用集成电路(asic)、现场可编程门阵列(fpga)等、其组合、或本领域已知的任何其他合适的计算设备。
141.如图7所示,方法700可以以操作702开始,在步骤702中,被配置为在存储介质上执行数据操作(诸如,从存储介质读取数据和/或向存储介质写入数据)的设备接收将数据以加密形式写入存储介质的请求。所接收的请求可以仅仅是写入数据的请求,或者可以包括诸如密钥2之类的附加信息(见下文)。
142.在操作704中,检索存储在存储介质上和/或与存储介质一起存储的第一密钥(密钥1)。此过程可包含从存储数据的介质、从物理上耦合到介质的存储器(诸如盒式存储器)等检索第一密钥。
143.存储介质可以是本文公开的任何类型,例如,磁带、磁盘、nvram等。因此,设备可以是任何类型的数据存储设备,例如,带驱动器、ssd、hdd、具有加密能力的usb驱动器、nvram模块等。
144.如上所述,在一些方式中,第一密钥以原始(未加密)的形式存储在存储介质上和/或与存储介质一起存储。在其他方式中,第一密钥以包装形式(混淆形式,例如,加密形式、密码保护形式等)存储在存储介质上和/或与存储介质一起存储。用于解开第一密钥的信息(诸如另一个密钥或pin、密码等)可以被接收并且用于解开第一密钥。
145.在优选方面中,设备被配置为禁止将第一密钥转移到设备的外部。然而,设备内部的控制器可从存储介质或耦合到存储介质的其他源访问第一密钥。
146.在操作706中,从外部源接收第二密钥(密钥2)。外部源可以是任何外部源。例如,外部源可以是数据的请求者、密钥存储装置、密钥服务器、由用户(例如,经由键盘等)输入的密钥。
147.在操作708中,使用第一密钥和第二密钥生成介质加密密钥(mek)。任何已知技术可用于从第一密钥和第二密钥创建mek。
148.在操作710中,使用介质加密密钥,所请求的数据以密文形式(例如,经由常规技术)被写入存储介质。
149.图7的各种操作和部件的方面优选地类似于上面在描述图5的部分中描述的那些,但可以包括来自本文任何其他部分的特征。这些方面仅通过示例的方式呈现,并且不旨在是限制性的。此外,根据本发明的多种可能方式,可以以任何方式组合这些方面。
150.根据各种方式的系统包括被配置为在存储介质上执行数据操作的设备,该设备具有处理器和与处理器集成、可由处理器执行、或与处理器集成且可由处理器执行的逻辑,该逻辑被配置为使设备执行上述操作(例如图4-图7的操作)中的一些或全部。
151.根据各种方式的用于实现密码擦除和/或执行密码擦除的计算机程序产品包括计算机可读存储介质,该计算机可读存储介质具有随其体现的程序指令,这些程序指令可由被配置为执行前述操作(例如图4-图7的操作)中的一些或全部的设备来执行。
152.示例性实施方式
153.根据一种方式的用于保护诸如自加密设备(sed)之类的具有加密能力的存储设备的说明性处理包括以下操作:
154.1.生成密钥1,并将该密钥1以在存储设备内部安全的方式存储在存储设备内部。通常,密钥1将永远不会以明文形式存储在非易失性存储器中。
155.2.生成密钥2,并将该密钥2存储在存储设备外部,其中:
156.a.如果密钥2是在存储设备内部创建的,则使密钥2从存储设备被检索
157.b.如果密钥2是在存储设备外部创建的,则使密钥2在被需要时被提供给存储设备
158.3.存储设备使用密钥1和密钥2计算介质加密密钥(mek)
159.4.mek被直接或间接用于对数据进行加密以生成密文,以及对密文进行解密以生成明文。
160.根据一种方式的在电力丧失或冷启动之后用于重新获得对诸如自加密设备(sed)之类的具有加密能力的存储设备的访问的说明性处理包括以下操作:
161.1.使密钥2被提供给存储设备
162.2.访问存储设备内部的密钥1,这可涉及密码地解开密钥1,其可能需要密钥2以及一个或多个访问密钥(例如,pin)
163.3.存储设备使用密钥1和密钥2计算介质加密密钥(mek)
164.4.mek被直接或间接用于对数据进行加密以生成密文,以及对密文进行解密以生成明文。
165.用于使设备退休或使被盗设备安全的处理
166.根据一种方式的当存储设备要被引退(例如,因为其后台错误率已经变得太大(例如,其可能由于太多写入周期而发生),或者可能因为其“出故障”并且未能成功完成某些操作)时可以执行的说明性处理包括以下操作:
167.1.向存储设备发送指示其对其密钥1进行密码擦除的命令
168.2.密钥1的密码擦除是否成功完成?如果:
169.·
是,在该mek下加密的数据已经被成功地密码擦除
170.·
在这种情况下,虽然不需要破坏密钥2,但是这也可以完成
171.·
否,在这种情况下,不能信任已经发生任何密码擦除:
172.·
销毁在存储设备外部的密钥2,并且因此通过外部手段密码擦除存储设备
173.·
将存储设备断电或冷启动以确保存储设备不保留密钥的易失性映像。
174.注意,密钥删除也可以按相反的顺序完成,其中首先销毁密钥2,优选地随后尝试删除密钥1。根据一种方式的说明性处理包括以下操作:
175.1.销毁在存储设备外部的密钥2,并且因此通过外部手段密码擦除存储设备
176.2.向存储设备发送指示其对其密钥1进行密码擦除的命令
177.3.密钥1的密码擦除是否成功完成?如果:
178.·
是,在该mek下加密的数据已经通过破坏密钥1和密钥2而被成功地密码擦除
179.·
将存储设备断电或冷启动以确保存储设备不保留任何密钥的易失性映像
180.·
否,但是存储设备外部的密钥2已经被破坏,并且因此通过外部手段实现了密码擦除存储设备。
181.还应注意,如果存储设备被盗,或者在其从存储系统移除之前未被密码擦除并且然后例如在传送到另一位置时丢失了,则由于不再可能通过破坏密钥1对数据进行密码擦除,因为人们没有对存储设备的物理访问,所以人们必须替代地销毁密钥2,这即使在没有对存储设备的物理访问的情况下也是可能的。
182.图8描绘了在没有本发明的情况下当前可实现的示例,而图9和图10描绘了使用本发明的一种或多种方式可操作地可实现的示例。图8至图10中的图表是不言而喻的,并且仅仅通过示例的方式呈现。
183.本发明可以是任何可能的技术细节集成度的系统、方法和/或计算机程序产品。计算机程序产品可包括其上具有用于使处理器执行本发明的方面的计算机可读程序指令的(一个或多个)计算机可读存储介质。
184.计算机可读存储介质可以是可保留和存储供指令执行设备使用的指令的有形设备。计算机可读存储介质可以是,例如但不限于,电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备、或者上述的任意合适的组合。计算机可读存储介质的更具体示例的非穷尽列表包括以下各项:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或闪存存储器)、静态随机存取存储器(sram)、便携式紧凑盘只读存储器(cd-rom)、数字通用盘(dvd)、记忆棒、软盘、诸如其上记录有指令的槽中的凸出结构或穿孔卡之类的机械编码设备、以及上述的任何合适的组合。如本文所使用的计算机可读存储介质不应被解释为暂时性信号本身,诸如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,穿过光纤线缆的光脉冲)或通过电线传输的电信号。
185.本文中所描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备,或者经由网络(例如,互联网、局域网、广域网和/或无线网络)下载到外部计算机或外部存储设备。网络可以包括铜传输线缆、光传输纤维、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口接收来自网络的计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
186.用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、用于集成电路的配置数据、或以一种或多种编程语言的任何组合编写的源代码或目标代码,这些编程语言包括面向对象的编程语言(诸如smalltalk、c 等)和过程性编程语言(诸如“c”编程语言或类似编程语言)。计算机可读程序指令可以完全地在用户的计算机上执行、部分在用户的计算机上执行、作为独立软件包执行、部分在用户的计算机上并且部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可通过任何类型的网络(包括局域网(lan)或广域网(wan))连接至用户的计算机,或者可连接至外部计算机(例如,通过使用互联网服务提供商的互联网)。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla)的电子电路系统可以通过利用计算机可读程序指令的状态信息来使电子电路系统个性化来执行计算机可读程序指令,以便执行本发明的方面。
187.下面将参照根据本发明的实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明的方面。将理解,流程图和/或框图的每个框以及流程图和/或框图中的框的组合可以由计算机可读程序指令实现。
188.这些计算机可读程序指令可被提供给计算机的处理器或其他可编程数据处理装置以产生机器,使得经由计算机的处理器或其他可编程数据处理装置执行的指令创建用于实现在流程图和/或框图的一个或多个框中指定的功能/动作的手段。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令可以引导计算机、可编程数据处理装置、和/或其他设备以特定方式起作用,使得其中存储有指令的计算机可读存储介质包括包含实现流程图和/或框图中的一个或多个框中指定的功能/动作的方面的指令的制品。
189.也可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,以使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的处理,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图中的一个或多个框中指定的功能/动作。
190.附图中的流程图和框图示出了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实现方式的架构、功能和操作。对此,流程图或框图中的每个框可表示指令的模块、段或部分,其包括用于实现指定的(一个或多个)逻辑功能的一个或多个可执行指令。在一些替代实现方式中,框中标注的功能可以不按照图中标注的顺序发生。例如,连续示出的两个方框实际上可以作为一个步骤完成,同时、基本上同时、以部分或完全时间上重叠的方式执行,或者框有时可以以相反的顺序执行,这取决于所涉及的功能。也要注意的是,框图和/或流程图中的每个框以及框图和/或流程图中的框的组合可以通过执行指定的功能或动作或者执行专用硬件与计算机指令的组合的专用的基于硬件的系统来实现。
191.此外,根据各种实施例的系统可包括处理器和与处理器集成和/或可由处理器执行的逻辑,逻辑被配置为执行本文所述的处理步骤中的一个或多个。处理器可以具有如本文中所描述的任何配置,诸如包括许多部件(诸如处理硬件、存储器、i/o接口等)的离散处理器或处理电路。通过与其集成,意味着处理器具有嵌入在其中的作为硬件逻辑的逻辑,诸如专用集成电路(asic)、fpga等。通过可由处理器执行,意味着逻辑是硬件逻辑;软件逻辑,诸如固件、操作系统的一部分、应用程序的一部分;等等,或可由处理器访问并且被配置为
在由处理器执行时使处理器执行某种功能的软件逻辑和硬件的某种组合。软件逻辑可以存储在任何存储器类型的本地和/或远程存储器上,如本领域中已知的。可以使用本领域已知的任何处理器,诸如软件处理器模块和/或硬件处理器(诸如asic、fpga、中央处理单元(cpu)、集成电路(ic)、图形处理单元(gpu)等)。
192.将清楚的是,前述系统和/或方法的各种特征可以以任何方式进行组合,从而从以上呈现的描述中创建多个组合。
193.还将理解,本发明的方面可以以代表客户部署的服务的形式来提供,以按需提供服务。
194.已经出于说明的目的呈现了本发明的各种方面的描述,但这并不旨在是详尽的或限于所公开的方式。在不脱离所描述的方面的范围的情况下,许多修改和变化对于本领域普通技术人员来说是清楚的。本文使用的术语被选择来最好地解释各种方式的原理、实际应用或对在市场中发现的技术的技术改进,或者使得本领域的其他普通技术人员能够理解本文公开的方式。
再多了解一些

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

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

相关文献