删除存储系统中的内容的制作方法

文档序号:7993699阅读:222来源:国知局
删除存储系统中的内容的制作方法
【专利摘要】本发明显著地涉及一种计算机化系统(301),其包含存储系统(302、308),所述存储系统(302、308)存储对象及关联于所述对象的属性值。所述属性值根据N个属性类型的集合被组织,N≥1,使得对于所述属性类型中的每个属性类型,对象能够与属性值相关联。所述属性类型中的每个属性类型关联于相应图形。所述相应图形的每个节点关联于一密钥。所述密钥用关联于除了根节点以外的所述每个节点的父代节点的密钥包装。并且,所述密钥关联于被关联于所述相应图形的所述属性类型的一个属性值。所述对象中的每个对象基于一个或多个密钥被加密。所述一个或多个密钥中的每个密钥关联于与所述对象中的每个对象相关联的一个属性值。此系统改善了存储于计算机化系统的存储系统上的对象的删除。
【专利说明】删除存储系统中的内容

【技术领域】
[0001] 本发明涉及计算机科学领域,并且更具体地,涉及用于存储基于一个或多个密钥 加密的对象且提供密钥的删除的计算机化系统、方法、程序及数据存储介质。

【背景技术】
[0002] 安全数据删除常常特征化为数个域中的要求。作为一实例,不同国家的私密及数 据保护条例已约定一组共同原则。在所述共同原则中,"目的"及"安全性"特别相关,这可 从如下两者看出:欧洲议会及委员会在1995年10月24日关于个体对于个人数据处理的保 护以及关于此数据的自由移动的Directive 95/46/EC ;以及关于私密的保护及个人数据 的跨境流动的0ECD指导方针。"目的"的原则声明:可仅出于由数据拥有者同意的目的而 存储个人数据,且一旦此目的不再有效,就应擦除数据。与安全原则相联系的是命令应使数 据保持安全而免于任何潜在不当使用。明显地,立法者在处置"已过期"数据时需要特别小 心。实际上,对目的已过期的数据的存取将明显地表示对两种原则的违规。
[0003] 此情形在手边的信息属于诸如医疗和金融的特别敏感领域时甚至更成立。在此状 况下,众多现有条例要求通过征收罚金以及甚至强制实行民事及刑事责任来避免机密社团 及政府数据的任何未经授权暴露。这例如是针对美国国会如下法案的状况:1996年的健康 保险便利性及责任法案、1999年的金融服务现代化法案、2002年的公众公司会计改革和投 资者保护法案、以及2003年的公平及准确信用交易法案。
[0004] 因此,将数据保留太长时间会增加非想要披露的风险,例如,经由违反安全性或 藉由传票。此声明的真实性是按照由此公司已遗失敏感数据的事件的数目来备份的。这 些事件涉及不同新闻文章及研究,诸如J.Vijayan的名为"Programmer who stole drive containing 1 million bank records gets 42 months"(Computer World, 2008 年) 或 D. Sharp 的名为''Breach exposes 4. 2 million credit, debit cards,'(Associated Press,2008 年)或 J. Evers 的名为"Credit card breach exposes 40 million accounts"(CNET News,2005 年)的新闻文章及研究。Symantec Corporation 在 2011 年的 名为"U.S. cost of a data breach"的2010年度研究中示出,此数据违反的平均成本为大 约数百万美元,且此成本随着时间不断上涨。
[0005] 这些简单事实示出不再需要的信息可如何仅变成公司的责任,且社团世界中的IT 系统的重要目标应为以安全方式处置信息的能力。
[0006] 标准0S删除原始观念未提供对安全删除问题的解决方案。实际上,诸如Unix操 作系统中的unlink ()及remove ()的删除操作仅从文件系统数据结构移除对文件的参考, 而将实际数据留存于物理磁盘上。
[0007] 针对安全文件删除的第一已知方案为重写。然而,若缺乏经验地进行,则重写仍 可将过去数据的磁性迹线留存于磁盘中。Gutmann等人示出可如何通过使用经调适至驱 动器的低层级编码机制的某些模式来重写内容而实现安全删除(P.Gutmaun的"Secure deletion of data from magnetic and solid-state memory,',Proceedings of the 6th USENIX Security Symposium,第77-89页,1996年)。然而,数个问题影响此解决方案。第 一,不能有效地删除大文件。第二,若文件被复写以增加其可用性或被备份,则删除负担按 照副本的数目线性地增加。
[0008] 另外,针对已知操作系统而开发的工具(比如,wipe、eraser及shred)仅在重写 模式适用于手边的实际物理器件时、在所述模式实际上被写入至磁盘(而非仅被写入至 高速缓存)时及在所述写入是以含有数据的磁盘扇区为目标时才工作。在对手边的介质 没有详细知识的情况下,确保第一条件是困难的。可以复杂方式经由0S层级或磁盘层级 写入障壁、写入高速缓存清空或通过停用写入高速缓存来确保第二条件。关于第三条件, 强制使用写入局部性在现代文件系统中是相当困难的。实际上,记日志文件系统(诸如 JFS、ReiserFS、XFS、Ext3)对日志执行写入操作而非直接对磁盘执行写入操作。其他文件 系统写入冗余,其他文件系统拍摄磁盘快照或在临时位置中缓存数据。此外,已由M. Wei、 L. Μ· Grupp、F. Μ· Spada及S. Swanson在其名为"Reliably erasing data from flash-based solid state drives",(Proceedings of the 20th USENIX Security Symposium,2011年) 的论文中示出,若数据存储于不同介质(诸如,固态驱动器)上,则没有一种可用磁盘重写 技术是有效的。通常,许多存储系统具有许多层。问题在于:缺乏对较低层实施机制的知 识,且接口不含有用于指示较低层安全地删除数据的方法。
[0009] 已尝试数个工作来实施基于重写的技术作为现有文件系统的自动特征。在Bauer 及Ν· Β· Priyantha的名为"Secure data deletion for linux file systems,',(Proceedings of the 10th conference on USENIX Security Symposium,第 10 卷,SSYM,01,第 12-12 页,美国CA伯克利,2001年,USENLX Association)的论文中,作者提出用于ext2文件系 统的基于重写的安全删除扩充的实施。所述系统基于进行已被标记为删除的区块的异步重 写的单独的新进程(daemon)。此工作具有仅支持已过时的未被记日志的文件系统的缺点。 在 N. Joukov、H. Papaxenopoulos 及 E. Zadok 的名为"Secure deletion myths, issues, and solutions,',(Proceedings of the second ACM workshop on Storage security and survivability,StorageSS' 06,第 61-66 页,美国纽约,2006 年,ACM)以及 N. Joukov 及 E. Zadok 的名为"Adding secure deletion to your favorite file system,',(Proceedings of the Third IEEE International Security in Storage Workshop,第 63-70 页,美国华 盛顿DC,2005年,IEEE Computer Society)的论文中,作者提出一种用于基于拦截删除调 用并用移动指定文件夹中的文件的link()/unlink()操作来转译删除调用,来进行安全删 除的解决方案。接着,在这些文件上异步地使用纹碎公用程序(shred utility)。所有这些 工作都共享上文所强调的基于重写的方案的缺点。
[0010] 在他们名为 "A revocable backup system",(proceedings of the 6th conference on USENIX Security Symposium, Focusing on Applications of Cryptography一第 6 卷,第 9-9 页,美国 CA 伯克利,1996 年,USENIX Association)的论文 中,D.Boneh及R.J.Lipton提出一种用于删除内容(尤其是已备份脱机内容)的方案。作 者所提议的关键思想是加密可需要安全删除的所有内容,且在安全删除请求后即进行密钥 的删除而非文件内容的删除。作者还介绍针对已建立版本备份的支持。然而,使用此系统 会转变成对管理用于每个个别文件的数个密码密钥的要求。
[0011] 已通过数个后续工作来拾取充分利用密码以实现安全删除的思想。在 Ζ· N. J. Peterson、R. Burns、J. Herring、A. Stubblefield 及 A. D. Rubin 的名为 "Secure deletion for a versioning file system,',(proceedings of the 4th conference on USENIX Conference on File and Storage Technologies,第 4 卷,第 11-11 页,美国 CA 伯 克利,2005年,USENIX Association)的论文中,作者提出一种用于基于将短的用密码方式 计算的标签添加至文件的思想来支持建立版本文件系统中的安全删除的解决方案:所述标 签的删除暗示复原该文件的不可能性。然而,与密钥不同,标签是公用的且可被存储及复写 为正常数据。
[0012] 在名为"The ephemerizer:making data disappear,',(Technical report, Sun Microsystems公司,美国CA Mountain View,2005年)的论文中,Perlman提出 ephemerizer 的概念:建立及通告公共密钥且在预定义时间量之后保证其安全删除的半信任第三方。以 此方式,使用者可使用ephemerizer的密钥中的一个来加密用于加密彼此的消息的会话 密钥,其中保证在所述密钥的过期时间之后,这些密钥将不再可用。在名为"File system design with assured delete,',(proceedings of the Third IEEE International Security in Storage Workshop,第 83-88 页,美国华盛顿 DC,2005 年,IEEE Computer Society)的论文中,同一作者提出一种解决方案,其中可使用此思想来实施一文件系统。然 而,此工作遭受被构造于最初设计成用于在不同用户之间加密消息的解决方案上的损失。
[0013] 在 R. Geambasu、T. Kohno、A. A. Levy 及 Η· M. Levy.的名为"Vanish: increasing data privacy with self-destructing data,',(proceedings of the 18th conference on USENIX security symposium,SSYM'09,第 299-316 页,美国 CA 伯克利,2009 年,USENIX Association)的论文中,作者示出可如何使用基于DHT的对等系统的变动率(churn rate) 来实现安全删除。其解决方案要求使用密码密钥来加密内容,且需要使用例如A. Shamir 的名为 "How to share a secret"(Commun. ACM,第 22:612-613 页,1979 年 11 月)的论 文中所披露的Shamir方案将此密钥分成若干份。然后,可将所述密钥的不同份分配给 DHT的随机使用者。因为使用者将自然地见不到DHT,且假设密钥仅存储于非永久性存 储器中,因此在某一时间量之后,密钥将不再可用。然而,可通过在DHT上采用熟知的女 巫攻击(sybil attack)而使该方案受到攻击,如 Wolchok、Hofmann、Heninger、Felten、 Halderman、Rossbach、Waters及Witchel 的名为"Defeating Vanish with low-cost Sybil attacks against large DHTh,',(proc. 17th Network and Distributed System Security Symposium(NDSS),IS0C,2010年2月)的论文中所解释的。
[0014] 现在提出一种构成用于安全删除问题的抽象化的方案的方案,此后被称作D i Crescenzo 等人的方案。此方案还在 Di Crescenzo、Ν· Ferguson、R. Impagliazzo 及 M. Jakobsson 的名为 "How to forget a secret",(proceedings of the 16th annual conference on Theoreticalaspects of computer science, STACS'99,第 500-509 页,柏 林海德堡,1999年,Springer-Verlag)的论文中得以描述。
[0015] 该方法包含从小且恒定大小的外部可擦除存储器及任意大小的标准(非可擦除) 存储器来构造任意大小的可擦除存储器。该思想以密钥树为中心:树的每个节点关联于密 码密钥。无密钥以纯文本形式存储于树中,但其在已用关联于其父代节点的密钥加密之后 被存储(加密密钥还被称为密钥包装(key-wrapping))。关联于根的密钥存储于外部可擦 除存储器中,而其他值存储于标准存储器中。
[0016] 密钥树为完整η元树,且需要安全删除的N = nm值被配置为此树的叶:因此,所述 叶是值为实际数据而非密码密钥的仅有节点。使用每个节点的父代节点的密钥来加密关联 于叶的数据。
[0017] 图1表示用于加密八个值Vl、…、v8的此树的示例,在该实例中为二元树。就(A) B而言,参考使用B作为密钥而被加密(经由对称加密)的值A。
[0018] 当一值需要安全删除时,遍及树来执行以下操作:对于需要删除的节点与根之间 的路径中的每个节点,1)从密钥空间提取新值且使用新值的上阶(ancestor)的新的未包 装值来包装新值;及2)使用上阶的新的未包装值来重新包装新值的同层级中的每一个的 值。对于关联于树的根的密钥发生相同情形。另外,由于此密钥存储于可安全可擦除存储 器上,所以所述密钥在删除操作之后的取回是不可能的。需要安全删除的节点未被重新加 密。以此方式,该节点的安全删除得到保证,因为该节点的解密将需要(由于树的性质)存 取根的旧值,此情形根据定义不再是可能的,因为其存储于可擦除存储器中。
[0019] 在使用Di Crescenzo等人的方案的情况下,可能构造一种用于在存储服务情境中 安全删除文件的解决方案。为此,在树的叶之前所考虑的值可以是用于加密文件加密密钥 (FEK)的密钥-加密密钥(KEK)。可使用FEK来加密需要安全删除的文件,且仅在用对应 KEK包装的情况下存储FEK。当文件需要安全删除时,在对应KEK上调用删除操作。此后可 延迟地删除所述文件。
[0020] 此解决方案不适合于在存储服务情境中安全删除文件。首先,密钥树为超尺寸的, 因为在m层级树中除了位于m-ι处的节点以外的所有节点皆实际上用于加密内容。其次, 如先前章节所描述,实际内容被布置成树的叶且每个叶使用关联于其父代的密钥加密。此 暗示使用η元树中的相同密钥加密η个同层级节点。然而,假设节点的安全删除需要其同 层级的重新加密,则在应用于文件存储的Di Crescenzo等人的方案所提出的解决方案中, 文件的安全删除将需要其他可能极大文件的重新加密。另外,Di Crescenzo等人的方案假 定由重新加密进程引起的临时纯文本值应存储于可擦除存储器中。然而,此情形可导致大 部分数据存储于可擦除存储器中,或导致极高I/O带宽的需求。最后,所述方案可仅处置单 数据单位的删除。然而,此方案不适合具有删除具有共同语义的大文件集合的要求的情境。
[0021] 因此,迫切要求一种用于删除存储在计算机化系统的存储系统上的对象的改进解 决方案。


【发明内容】

[0022] 根据一个方面,本发明体现为一种计算机化系统,包含:存储系统,所述存储系统 存储对象及关联于所述对象的属性值。所述属性值根据N个属性类型的集合被组织,N3 1, 使得对于所述属性类型中的每个属性类型,对象能够与属性值相关联。所述属性类型中的 每个属性类型关联于相应图形。所述相应图形的每个节点关联于一密钥。所述密钥用关联 于除了根节点以外的所述每个节点的父代节点的密钥包装;并且关联于对应于所述相应图 形的所述属性类型的一个属性值。并且,所述对象中的每个对象基于一个或多个密钥被加 密存储,所述一个或多个密钥中的每个密钥关联于与所述对象中的每个对象相关联的一个 属性值。所述系统还包含被配置用于删除密钥的密钥管理装置。
[0023] 在实例中,所述计算机化系统可包含以下特征中的一个或多个:
[0024] -所述属性类型中的一种属性类型对应于映射至所述计算机化系统的文件系统上 的文件系统树,其中所述文件系统树的每个节点与如下各项相关联:唯一地识别所述文件 系统的目录或文件的属性值,使得所述每个节点对应于所述文件系统的目录或文件;以及 用关联于除了根节点以外的所述每个节点的父代节点的密钥包装的密钥,其中对应于所述 文件系统树的相应叶节点的所述文件系统的文件分别基于关联于所述文件系统树的相应 叶节点的密钥被加密;
[0025] -对应于所述文件系统树的相应叶节点的所述文件系统的所述文件分别基于至少 两个密钥被加密,所述两个密钥中的一个密钥关联于所述文件系统树的相应叶节点,以及 所述两个密钥中的另一个密钥关联于与对应于所述文件系统树的属性类型不同的另一个 属性类型;
[0026] -每个对象基于至少两个密钥被加密,每个密钥与不同类型的相应属性值相关 联;
[0027] -每个对象使用单一密钥被加密,基于所述至少两个密钥获得所述单一密钥;
[0028] -每个对象使用单一密钥被加密,经由将所述至少两个密钥当作输入的单向函数 获得所述单一密钥,所述单向函数诸如是所述至少两个密钥的级联的散列函数;
[0029] -所述属性类型中的一种属性类型对应于使用者,使得这种类型的相异属性值对 应于相异使用者;
[0030] -所述属性类型中的一种属性类型对应于时间,使得这种类型的相异属性值优选 地对应于相异年份或相异保留期;
[0031] -所述对象中的每个对象基于全有或全无变换被加密存储,其中所述对象中的每 个对象的一部分基于所述一个或多个密钥被加密。
[0032] 根据另一方面,本发明体现为一种安全地管理存储在上述计算机化系统中的对象 的计算机实施方法,包含删除树的密钥的步骤,由此防止再次衍生先前用已删除密钥包装 的密钥中的每个密钥,以及存取基于至少所述已删除密钥被加密的任何对象。
[0033] 在所述删除的步骤之前,所述方法可进一步包含如下步骤:选取树中的给定节点; 建立相异于迄今与所述节点相关联的所述密钥的新密钥,以用于使所述新密钥与所述节点 相关联;用所述新密钥包装关联于所述节点的子代节点的密钥。以及所述删除的步骤包含 删除迄今与所述节点相关联的密钥。
[0034] 根据另一方面,本发明体现为一种计算机程序,其包含用于将具有存储系统的计 算机化系统配置成上述计算机化系统或用于执行上述方法的指令。
[0035] 根据另一方面,本发明体现为一种计算机可读存储介质,其上记录有计算机程序。

【专利附图】

【附图说明】
[0036] 现在将通过非限制性实例且参考附图来描述体现本发明的系统及进程。
[0037] 图1表示现有技术的密钥树的示例;
[0038] 图2示出安全地管理存储在计算机化系统中的对象的方法的实例的流程图;
[0039] 图3及图4表示计算机化系统的实例的密钥树的示例;
[0040] 图5示出计算机化系统的第三实例的图形表示;
[0041] 图6表示计算机化系统的实例。

【具体实施方式】
[0042] 如所属【技术领域】的技术人员知道的,本发明的各个方面可以实现为计算机化系 统、用于使用或配置所述系统的方法或用于执行所述方法的计算机程序产品。因此,本发明 的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包 括固件、驻留软件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为"电 路"、"模块"或"系统"。此外,本发明的各个方面还可以实现为在一个或多个计算机可读介 质中的计算机程序产品的形式,所述计算机可读介质(即,数据存储介质)具有在其上记录 的计算机可读程序代码。
[0043] 可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算 机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是--但不限 于--电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算 机可读存储介质的更具体的例子(非穷举的列表)包括以下:便携式计算机盘、硬盘、随机 存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便 携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。 在本文档的上下文中,计算机可读存储介质,即数据存储介质,可以是任何包含或存储程序 的有形介质,所述程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0044] 计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号, 其中承载了计算机可读程序代码。这种传播的信号可以采用多种形式,包括--但不限 于--电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机 可读存储介质以外的任何计算机可读介质,所述计算机可读介质可以发送、传播或者传输 用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0045] 计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括--但不限 于一一无线、有线、光缆、RF等等,或者上述的任意合适的组合。
[0046] 可以以一种或多种程序设计语言的任意组合来编写用于执行本发明各方面的 操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言一诸如Java、 Smalltalk、C++等,还包括常规的过程式程序设计语言一诸如"C"程序设计语言或类似的 程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作 为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远 程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的 网络--包括局域网(LAN)或广域网(WAN)-连接到用户计算机,或者可以连接到外部计 算机(例如利用因特网服务提供商来通过因特网连接)。
[0047] 下面将参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图 和/或框图描述本发明的各方面。应当理解,流程图和/或框图的每个方框以及流程图和/ 或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给 通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得 这些计算机程序指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生实现 流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。
[0048] 还可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得计算机、 其它可编程数据处理装置、或其他设备以特定方式工作。计算机程序指令还可以加载到计 算机、其它可编程数据处理装置或者其它设备上,以使得一系列操作步骤在计算机、其它可 编程装置或者其它设备上执行,产生一种计算机实现的过程,使得在所述计算机或者其它 可编程装置上执行的指令提供用于实现在所述流程图和/或框图中的一个或多个方框中 所指定的功能/动作的过程。
[0049] 提供一种计算机化系统,其包含存储系统,所述存储系统存储对象及关联于所述 对象的属性值。所述属性值根据N个属性类型的集合被组织,N3 1,使得对于所述属性类 型中的每个属性类型,对象能够与属性值相关联。所述属性类型中的每个属性类型关联于 相应图形。所述相应图形的每个节点关联于一密钥。所述密钥用关联于除了根节点以外的 所述每个节点的父代节点的密钥包装。并且,所述密钥关联于与相应图形相关联的属性类 型的一个属性值。所述对象中的每个对象基于一个或多个密钥被加密存储。所述一个或多 个密钥中的每个密钥关联于与所述对象中的每个对象相关联的一个属性值。所述计算机化 系统还包含被配置用于建立、管理和/或删除密钥的密钥管理装置。此系统改善了存储在 所述存储系统上的对象的删除。
[0050] 就"计算机化系统"而言,其意谓具有计算能力的任何类型的系统,例如,具有硬件 处理器的系统。举例而言,其意谓桌面计算机或膝上型计算机。所述计算机化系统包含存 储系统。所述存储系统由用于存储数据的任何装置组成,诸如,包含非易失性和/或易失性 部件的硬件存储器。所预期的计算机化系统的存储系统实际上存储(即,适于存储)对象 及关联于所述对象的属性值(可能地,视情况至多为每属性类型及每对象一个值)。所述对 象由形成单位(unity)的一些数据组成。举例而言,所述对象为文件(例如,计算机文件) 和/或目录。所述属性值仅仅指定属性类型的值。因此,所述属性值构成关联于所述对象 的数据。就"关联"而言,其意谓所述系统存储从所述对象至所述属性值和/或从所述属性 值至所述对象的链接或指针,以便取回关联于一个对象的一个或多个属性值和/或关联于 一个属性的一个值的一个或多个对象。所述属性值根据N个属性类型的集合被组织。所述 属性类型为将所述对象特性化的特征。换言之,对于每个已存储对象,一个或多个属性值以 组织的方式被关联于此对象存储(即,对应于属性值的属性类型是可取回的)。对于所述属 性类型中的每个属性类型,对象能够与属性值相关联。换言之,存在N个属性类型,且对于 所述属性类型中的每个属性类型,对应于给定对象的一个值被关联于所述对象存储。在所 有所述属性类型的属性值集合与对象之间可显著地存在一对一映射(即,对于每个属性类 型,每个对象具有一个且至多一个属性值)。1意谓N为任何非零自然数。
[0051] 所述属性类型中的每个属性类型关联于相应图形(因此,所述存储系统进一步适 于存储此图形且可能地,在给定时间,存储此图形)。根据双射(所述图形的每节点一个且 仅一个密钥),所述相应图形的每个节点关联于一密钥(也存储在所述存储系统上)。所 述密钥自身用关联于除了根节点以外的所述每个节点的父代节点(例如,根据图形层级架 构)的密钥包装(即,加密)。换言之,所述图形的每个节点指向用父代节点的密钥加密 (例如,根据加密算法)的密钥(即,用于例如根据加密算法来加密其他数据的数据)。此 意谓所述图形为有向图形,每个弧由此具有开始节点(即,父代节点)及结束节点(即,子 代节点)。此也意谓所述图形的给定密钥(即,关联于所述图形的节点)就其本身而言是不 可用的。所述给定密钥必须首先使用所述节点的父代节点的关联于所述给定密钥的密钥解 密。此情形不成立的仅有状况为所述密钥关联于所述图形的所述根节点的状况,即,不存在 父代节点的节点。在具有根节点及有向弧的情况下,所述图形可能地为树图形。
[0052] 而且,所述密钥关联于对应于所述相应图形的所述属性类型的一个属性值。换言 之,图形的密钥关联于对象,且更特定言之,关联于所述对象的对应于所述图形的属性类型 的属性值。因此,相比于Di Crescenzo等人的方案,所述计算机化系统提供图形数据的最 佳使用。实际上,所述图形的所有节点皆关联于密钥,所述密钥自身关联于数据(在本状况 下为关联于对象的属性值),而非仅仅叶节点。因此,关联于非叶节点的密钥既用于加密数 据(即,对象的属性值)又用于包装另一密钥(即,关联于子代节点的密钥)。
[0053] 接着,所述对象中的每个对象基于一个或多个密钥被加密存储(例如,在对所述 对象的至少一部分运行加密算法之后,所述算法将所述一个或多个密钥当作参数)。所述 一个或多个密钥中的每个密钥关联于与所述对象中的每个对象相关联的一个属性值。换言 之,所述对象就其本身而言未存储在所述存储系统上,而基于分别关联于所述对象的一个 或多个属性值的相应密钥被加密,以便进行隐藏,每个属性值对应于相应属性类型。为了读 取对象(即,存取所述对象的内容),一个或多个密钥是必要的(以及所述加密算法,当然, 所述加密算法也可被存储或为试图读取所述对象的人员所知)。因此,有可能通过删除所述 一个或多个密钥中的至少一者来安全地删除对象。实际上,若删除所述"一个或多个密钥" 中的一个,则所述对象可不再被解密。并且,所述计算机化系统实际上包含被配置用于删除 密钥的密钥管理装置。密钥相比于对象较易于被删除,且所述密钥也较易于被管理及控制。
[0054] 现在,因为所述密钥根据有向图形被组织(关联于节点的每个密钥由关联于父代 节点的密钥包装),所以所述系统规定通过事实上删除父代密钥或任何其他上阶密钥来删 除关联于节点的密钥。实际上,所述图形的每个节点具有父代节点(除了根节点以外)且 关联于由关联于父代节点的密钥包装的一个给定密钥。因此,若删除关联于上阶节点的密 钥,则给定密钥可不再被解密。因此,所述方法提供安全且有效的删除系统。
[0055] 实际上,提供一种安全地管理存储在计算机化系统中的对象的方法。所述方法包 含删除图形的密钥的步骤。所述图形为关联于属性类型的相应图形中的一个。因此,已删 除密钥为迄今关联于所述图形的给定节点的密钥。由此,所述方法防止再次衍生(先前) 用已删除密钥包装的密钥中的每个密钥。并且,所述方法因此也防止存取基于至少所述已 删除密钥被加密的任何对象。
[0056] 在删除的步骤之前,所述方法可进一步包含如下步骤:选取图形中的给定节点 (所述图形的关联于所述待删除密钥的节点);建立相异于迄今与所述节点相关联的密钥 的新密钥(所述新密钥具有不同于待删除密钥的值的值),以用于使所述新密钥与所述节 点相关联(因此,新密钥取代待删除密钥);以及用所述新密钥包装关联于所述节点的子代 节点的密钥。换言之,使用所述新密钥来重新包装关联于为给定节点(关联于待删除密钥 的给定节点)的子代的节点的密钥(而所述密钥迄今使用待删除密钥的值包装)。也可以 相同方式来重新包装孙代及另外世系代。换言之,可遍及给定节点(即,关联于通过所述方 法删除的密钥的节点)的世系来反复该包装。在所述状况下,删除步骤可包含删除迄今与 所述节点相关联的密钥。
[0057] 图2说明具有删除(S40)图形的密钥的步骤的此方法的实例,所述方法包含删除 迄今与所述节点相关联的密钥,且在删除(S40)的步骤之前包含如下步骤:选取(S10)图形 中的给定节点;建立(S20)相异于迄今与所述节点相关联的密钥的新密钥,以用于使所述 新密钥与所述节点相关联;以及用所述新密钥包装(S30)关联于所述节点的子代节点的密 钥。
[0058] 现在,关联于每个图形的至少几个初始层级(优选地为根节点)的密钥可存储在 外部可擦除存储器中,其中在标准存储器中没有所述密钥的已缓存、被记日志和/或快照 版本,而其他密钥可以任何方式存储在标准存储器中,所述标准存储器具有任意大小,其大 于可擦除存储器。外部可擦除存储器为提供关于其上的内容的删除的高安全性层级的任何 存储器。图形的初始层级为图形的第一层级。图形的第一层级为其根节点。图形的第二层 级包含根节点的子代。等等。就"至少几个初始层级"而言,其因此意谓包括根节点但不包 含所有节点层级的连续层级。
[0059] 在此状况下,计算机化系统提供内容的有效且安全的删除。实际上,有可能通过在 可擦除存储器中删除任何密钥而使对对象的存取变得不可能(即,删除所述对象),所述任 何密钥关联于处于如下任意两者之间的路径中的节点:与关联于所述对象的属性值中任一 者的密钥相关联的任何节点(所述对象基于所述密钥被加密存储);以及同一图形的根节 点。为了使其他对象保持完整,有可能改变待删除密钥的值且重新加密基于所述密钥而存 储的任何数据(除了待删除对象以外),诸如,关联于后代节点的密钥,及基于所述密钥而 加密的对象。因此,计算机化系统可实际上提供装置。计算机化系统也可支持新对象的建 立及新属性类型或属性值的布建。
[0060] 在第一实例中,所述属性类型中的一种可对应于映射至计算机化系统的文件系统 上的文件系统树。换言之,所述属性类型中的一种可关联于镜像文件系统树的树。因此,相 应图形为具有用于此属性类型的文件系统树的结构的树。在此状况下,文件系统树的每个 节点与唯一地识别文件系统的目录或文件的属性值相关联,使得所述每个节点对应于文件 系统的目录或文件。实际上,对象可以是文件系统的文件及目录。因此,举例而言,关联于图 形的属性值可以是或对应于文件或目录的路径名称。文件系统树的所述每个节点进一步与 用关联于除了根节点以外的所述每个节点的父代节点的密钥包装的密钥相关联,如前文所 解释。对应于文件系统树的相应叶节点的文件系统的文件分别基于关联于文件系统树的相 应叶节点的密钥被加密。因此,关联于树的叶节点的密钥包含文件加密密钥(FEK),而其他 密钥是密钥加密密钥(KEK),并且可因此加密目录。实际上,为文件的对象必要地对应于树 的叶。此情形允许删除的更快速处理。实际上,用户通常从文件系统删除文件或目录。具 有用于加密密钥的此图形结构使删除更快速。
[0061] 对应于文件系统树的相应叶节点的文件系统的所述文件可分别基于至少两个密 钥被加密。举例而言,所述文件可分别基于N个密钥被加密,N>1。所述两个密钥中的一个 可关联于文件系统树的相应叶节点。所述两个密钥中的另一者可关联于与对应于文件系统 树的属性类型不同的另一种属性类型。换言之,分别关联于不同属性类型的至少两个密钥 (所述两个密钥中的一个唯一地识别文件系统的目录或文件)可加密对象。此情形确保可 通过经由不同方式(经由不同属性类型)而识别待删除对象来执行安全删除,由此使所述 系统更便利地用于删除内容。
[0062] 图3说明此第一实例。图3示出为映射至计算机化系统的文件系统上的文件系统 树30的图形。计算机化系统的存储系统存储对象及关联于所述对象的属性值,其中所述属 性值根据N个属性类型的集合被组织,N > 1,使得对于所述属性类型中的每个属性类型,对 象能够与属性值相关联。所述属性类型中的一种属性类型关联于/对应于文件系统树30。 文件系统树30可映射至计算机化系统的文件系统上,所述文件系统具有目录及文件。文件 系统树30的每个节点与唯一地识别文件系统的目录或文件的属性值(诸如,由图3上用于 目录的参考'dirl'、'dir2'、…、'dir7'以及用于文件的参考'filel'及'file2'表示的路径 名称)相关联,使得所述每个节点对应于文件系统的目录('dirl'、'dir2'、…、'dir7') 或文件('filel'、'file2')。文件系统树30的每个节点还与密钥K0、KOI、K02、K03、K04、 K011、K012、K031、K041、K0411 相关联。关联于非根节点的密钥 KOI、K02、K03、K04、K011、 K012、K031、K041、K0411用关联于父代节点KOI、K03、K04、K041的密钥包装。根节点关联 于未用任何其他密钥包装的密钥K0。在图3上(对于稍后所描述的图4也成立),用另一 密钥B包装的密钥A被注释为AB以用于指示此包装关系。
[0063] 对应于文件系统树30的相应叶节点的文件系统的文件'filel'及'file2'分别基于 关联于文件系统树30的相应叶节点的密钥(K031及K0411)被加密。换言之,文件'filel' 基于密钥K031被加密且文件'file2'基于密钥K0411被加密。
[0064] 在可能地与第一实例组合的第二实例中,每个对象基于至少两个密钥被加密,每 个密钥与不同类型的相应属性值相关联。举例而言,所述对象可分别基于N个密钥被加密, N>1。此情形确保更便利地用于执行删除,如早先所解释的。
[0065] 图4说明除了图3所提供的密钥树以外的密钥树的示例。换言之,图4将图形示 出为不同于图3的树的、关联于存储系统的属性类型的树40。由计算机化系统的存储系统 存储的每个对象可基于两个密钥被加密,一个密钥与关联于图3的文件系统树30的属性值 相关联,而另一密钥与关联于图4的树40的属性值相关联。
[0066] 树40关联于对应于存储系统的对象的拥有权的属性类型。属性值可以是 'tenantl,、'tenant2,、'tenant3,、'tenant4,、'userl,、'user2,、'user3,,且对象可属于 'tenantl,、'tenant2,、'tenant3,、'tenant4,、'userl,、'user2,、'user3' 中任一者。树 40的每个节点关联于密钥K' 0、K' 01、K' 02、K' 03、K' 04、K' 011、K' 012、K' 031。所述密钥用 关联于除了根节点以外的所述每个节点的父代节点的密钥被包装,如参考图3所解释的。 所述密钥还关联于属性类型"拥有权"的一个属性值(关联于根节点的密钥Κ' 0关联于空 值)。
[0067] 当对象为例如文件系统的元素(即,文件或目录)时,计算机化系统可包含存储系 统,其存储所述元素、唯一地识别文件系统的目录或文件的值'dirl'、'dir2'、…、'dir7'、 'filel,、'file2,,及所述元素的拥有权的值 'tenantl,、'tenant2,、'tenant3,、'tenant4,、 'userl'、'user2'、'user3',以及图3的文件系统树30及图4的树40,树30及树40存储 密钥 K0、K01、K02、K03、K04、K011 ;K012、K031、K041、K0411 及 Κ' 0、K' 01、K' 02、K' 03、K' 04、 Κ' 011、Κ' 012、Κ' 031的密钥结构。存储系统还基于树30的密钥及树40的密钥来存储每个 文件。以此方式,有可能有效地删除例如文件,所述删除是通过基于所述文件在文件系统中 的位置和/或所述文件的拥有权来取回所述文件而进行。
[0068] 现在,论述用于第一实例及第二实例两者的选项。
[0069] 可使用单一密钥来加密每个对象。可基于所述至少两个密钥来获得所述单一密 钥。举例而言,可通过应用于至少两个密钥的密钥衍生函数来获得加密对象的单一密钥,所 述对象基于所述密钥衍生函数被加密。举例而言,可经由将所述至少两个密钥当作输入的 单向函数来获得所述单一密钥,诸如,所述至少两个密钥的级联的散列函数。
[0070] 也可经由将N>1个密钥当作输入且将取决于输入位中的每个位的单一密钥产生 为输出的任何密码安全密钥衍生函数来获得合适函数。
[0071] 所述属性类型中的一种可对应于使用者,使得这种类型的相异属性值对应于相异 使用者。换言之,所述属性类型中的一种属性类型提供关于用户的信息,不同值指代不同使 用者,诸如使用者拥有权。在一实例中,所述属性类型中的一种属性类型对应于文件系统 树,且另一属性类型对应于用户拥有权。
[0072] 所述属性类型中的一种属性类型可对应于时间,使得这种类型的相异属性值优选 地对应于相异年份或相异保留期。
[0073] 因此,计算机化系统提供一种方案,所述方案一通过充分利用Di Crescenzo等人 的方案中的基本思想一构造针对存储系统中的安全删除的问题的特制解决方案。第一实例 的关键思想在于:若有人动手处理针对存储的安全删除的问题,则人们不能取决于外部逻 辑密钥结构,而最好使此密钥结构与文件系统相联系。第一领悟在于一通过使密钥树与文 件系统树相联系一人们可获得针对存储问题的较合适解决方案。
[0074] 另外,计算机化系统还可提供一种支持在不同粒度下及横越不同维度的高性能安 全删除操作的方案。维度可对应于具有特定共同语义的文件的任何分组。举例而言,以密 钥树中的单一安全删除操作为代价,计算机化系统可支持整个文件夹子树的安全删除,或 支持属于所述系统的单一用户的文件的安全删除。此解决方案所隐含的关键思想在于:人 们可构造多个分离密钥树,且要求用属于每个树的密钥的组合来加密文件。
[0075] 在下文中,提出计算机化系统的两个实际实施,其对应于早先所论述的第一实例 及第二实例。
[0076] 所提出的第一方案基于文件系统可已经被表示为目录中所含有的文件的树的观 测。
[0077] 所述解决方案如下被结构化:每个文件使用文件加密密钥(FEK)被加密;文件加 密密钥被存储在其含有文件夹的、用关联于文件夹的密钥加密密钥(KEK)包装的元数据 中。每个文件夹的KEK又是使用关联于其父代文件夹的KEK包装的且存储在后者的元数据 中;重复此情形直至到达根文件夹。根文件夹关联于密钥树的根。
[0078] 我们应首先注意,我们不再将树塑形为完整η元树,而是塑形为具有任意大小及 结构的(最可能为不完整的)树。在此实施方案中,每个文件夹关联于树中的非叶节点, 其表示所述文件夹的ΚΕΚ ;所述节点尤其取决于所述文件夹在文件系统层级架构中的位置 (例如,/a/a可映射至密钥树的根的第一子代节点的第一子代节点)。每个文件关联于树 中的叶节点,其表示所述文件的FEK。每个文件夹在其本地元数据中存储其自身内所含有的 文件及文件夹的所有KEK及FEK,所述文件夹使用其自有KEK包装,所述KEK又存储于其父 代的元数据中。
[0079] 在要求安全删除文件或属于文件夹的文件后,文件通常即被取消链接,而通过改 变父代文件夹的KEK直至根文件夹的KEK来安全地删除关联于所述文件的密钥。
[0080] 此方案具有数个优点:第一,因为密钥被存储在同一文件系统的元数据中,所以密 钥存储的可靠性等于文件存储的可靠性。以此方式,归因于例如磁盘故障的密钥遗失也极 可能暗示文件遗失,且反之亦然。第二,此解决方案采用文件系统的自然设计:当存取给定 路径中的给定文件时,操作系统详细研究每个文件夹的元数据,以便到达所要文件。使用缓 存以改善性能且避免针对频繁造访的路径/文件的磁盘存取。同一方案良好地适用于处置 我们系统中的密钥,因为所述密钥可被存储于在文件存取后即被查阅的相同元数据对象中 且以相同方式被缓存。安全删除操作将需要使此高速缓存无效且擦除其内容,此情形可在 内部通过PS实施处置。
[0081] 第二实例又提供使用多个密钥层级架构的灵活删除。
[0082] 关于Di Crescenzo等人的方案而草拟的简单解决方案不适合于基于存储的系统。 实际上,所述方案可仅处置单数据单位的删除,且不能良好地适用于必须立刻处置(潜在 大的)文件集合的删除的情境。人们可能主张可通过剪除整个子树来进行此处置,但若需 要删除的元素不能被连续地分组于叶集合中,或一更重要地一若要求单元素属于多个删除 集合,则此解决方案再次是次最佳的。
[0083] 实际上,额外要求可以是有效地且同时删除例如属于给定使用者的所有文件而没 有关于文件(例如,单一文件夹或贮体内所含有的使用者的所有文件)的有组织置放的任 何假定的能力。此情形会将所需维度增加至三个。额外维度可以是多租用系统中的转租户 及租用户。
[0084] 应注意,此要求几乎是不相关:实际上,大型企业层级存储系统的强烈要求是针对 使用者迁移的支持,此情形转换成针对将内容从存储解决方案有效地复制至另一存储解决 方案的要求,其具有针对安全地删除前者内的内容的关联需求,以便能够保证仍不存在数 据的旧副本。因此,同时删除由单一使用者拥有的潜在大数目文件是临界要求。
[0085] 因此,第二实例的计算机化系统提出一种方案,所述方案一通过潜在地充分利用 第一实例中所提出的基本思想一构造用于存储系统中的安全删除的问题的特制解决方案。 关键思想是采用不同的树以便增加删除操作的维度及粒度。
[0086] 为此,计算机化系统可构造(及存储)η个分离树的所谓树系(forest),其中η表 示正交维度的数目;举例而言,具有两个树的2维空间用来涵盖单文件及文件夹内所有文 件的安全删除。具有三个树的3维空间可用于寻址单文件、文件夹内的文件及属于给定使 用者的所有文件。可容易扩充所述情形以涵盖更复杂情境。
[0087] 在Di Crescenzo等人的方案中,使用单一 ΚΕΚ包装(即,加密)单一 FEK,所述单 一 FEK又用于加密所要文件。在我们的解决方案中,使用η个密钥来加密单一 FEK,一个密 钥属于每个分离树。为了实现此情形,使用安全密钥衍生函数F: {0, l}km- {{0, l}Mfn个 密钥组合在一起,其中k为所需密钥长度。因此,我们可以说,实际ΚΕΚ-其为以前来自单一 树的单一密钥一现在是使用应用于η个密钥上的函数F计算,一个密钥来自每个树。
[0088] 假设1\,= {En,VJ (i e [1,η])为第i树;又,假设e [1,η]为识别第i维度 内的给定文件的属性类型(例如,字符串)(例如,文件的名称、贮体的名称,或拥有使用者 的名称)。假设映射函数-Ejie [l,n])将第i维度中的文件的给定识别符映射 至第i树中的元素。因此,可通过如下步骤来获得每个KEK :首先应用映射函数以便判定所 需要的密钥集合;接着可在此集合上使用密钥衍生函数以产生密钥。可将所述算法看作:
[0089]

【权利要求】
1. 一种计算机化系统(301),包含: -存储系统(302, 308),存储对象及关联于所述对象的属性值,其中: 〇所述属性值根据N个属性类型的集合被组织,N > 1,使得对于所述属性类型中的每 个属性类型,对象能够与属性值相关联, 〇所述属性类型中的每个属性类型关联于相应图形(30, 40), 籲其中所述相应图形的每个节点关联于一密钥,所述密钥: -用关联于除了根节点以外的所述每个节点的父代节点的密钥包装;并且 -关联于对应于所述相应图形的所述属性类型的一个属性值,并且 〇所述对象中的每个对象基于一个或多个密钥被加密存储,所述一个或多个密钥中的 每个密钥关联于与所述对象中的每个对象相关联的一个属性值;以及 -密钥管理装置(304),被配置用于删除密钥。
2. 如权利要求1所述的计算机化系统,其中所述属性类型中的一种属性类型对应于映 射至所述计算机化系统的文件系统上的文件系统树,其中所述文件系统树的每个节点与如 下各项相关联: -属性值,其唯一地识别所述文件系统的目录或文件,使得所述每个节点对应于所述文 件系统的目录或文件;以及 -密钥,其用关联于除了根节点以外的所述每个节点的父代节点的密钥包装, 其中, 对应于所述文件系统树的相应叶节点的所述文件系统的文件分别基于关联于所述文 件系统树的相应叶节点的密钥被加密。
3. 如权利要求2所述的计算机化系统,其中对应于所述文件系统树的相应叶节点的所 述文件系统的所述文件分别基于至少两个密钥被加密,所述两个密钥中的一个密钥关联于 所述文件系统树的相应叶节点,以及所述两个密钥中的另一个密钥关联于与对应于所述文 件系统树的属性类型不同的另一个属性类型。
4. 如权利要求1所述的计算机化系统,其中每个对象基于至少两个密钥被加密,每个 密钥与不同类型的相应属性值相关联。
5. 如权利要求4所述的计算机化系统,其中每个对象使用单一密钥被加密,基于所述 至少两个密钥获得所述单一密钥。
6. 如权利要求5所述的计算机化系统,其中每个对象使用单一密钥被加密,经由将所 述至少两个密钥当作输入的单向函数获得所述单一密钥,所述单向函数诸如是所述至少两 个密钥的级联的散列函数。
7. 如权利要求1至6中任一项所述的计算机化系统,其中所述属性类型中的一种属性 类型对应于使用者,使得这种类型的相异属性值对应于相异使用者。
8. 如权利要求1至7中任一项所述的计算机化系统,其中所述属性类型中的一种属性 类型对应于时间,使得这种类型的相异属性值优选地对应于相异年份或相异保留期。
9. 如权利要求1至8中任一项所述的计算机化系统,其中所述对象中的每个对象基于 全有或全无变换被加密存储,其中所述对象中的每个对象的一部分基于所述一个或多个密 钥被加密。
10. -种安全地管理存储在如权利要求1至9中任一项的计算机化系统中的对象的方 法,包含删除(S40)图形的密钥的步骤,由此防止: -再次衍生先前用已删除密钥包装的密钥中的每个密钥,以及 -存取基于至少所述已删除密钥被加密的任何对象。
11. 如权利要求10所述的方法,在所述删除(S40)的步骤之前还包含如下步骤: -选取(S10)图形中的给定节点; -建立(S20)相异于迄今与所述节点相关联的密钥的新密钥,以用于使所述新密钥与 所述节点相关联; -用所述新密钥包装(S30)关联于所述节点的子代节点的密钥; 并且其中, 所述删除(S40)的步骤包含删除迄今与所述节点相关联的密钥。
12. -种包含指令的计算机程序,用于将具有存储系统的计算机化系统配置成如权利 要求1-9中任一项所述的计算机化系统或用于执行如权利要求10或11所述的方法。
13. -种数据存储介质,在其上记录有如权利要求12所述的计算机程序。
【文档编号】H04L9/14GK104145447SQ201280061521
【公开日】2014年11月12日 申请日期:2012年11月16日 优先权日:2011年12月15日
【发明者】C·卡辛, R·哈斯, A·哈弗纳, A·克马斯, A·索尼欧提 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1