用于加密文件系统层的系统和方法

文档序号:9332713阅读:268来源:国知局
用于加密文件系统层的系统和方法
【专利说明】用于加密文件系统层的系统和方法
[0001]对相关申请的交叉引用
[0002]本申请要求在2013年2月13日提交的美国临时申请第61/764,532号的优先权,其全部内容通过引用合并于此。

【发明内容】

[0003]密码文件系统层包括用于例如通过保护存储在文件系统中的数据、或者恢复从文件系统检索的安全数据来截取要存储在文件系统中的数据并且修改截取的数据中的至少一些的软件或固件层。一般地,密码文件系统层截取在应用层与文件系统之间传递的数据,并且仅修改位于一个或更多个指定目录中的数据。
[0004]根据一个方面,这里公开的系统和方法使用选择性地截取和修改(例如,通过加密)要存储在指定目录中的数据的密码文件系统层来透明地提供数据安全。密码文件系统层可与一个或更多个密码方法相组合,以提供使得数据可证地安全或可访问的基于服务器的安全数据方案,同时消除了对多个周边硬件和软件技术的需要。在一个实现方式(例如,来自安全第一公司的Bitfiler)中,基于服务器的方案解决比特级别的安全性。例如,数据安全性被集成或者被直接编织到比特级别的数据中。在一些实施例中,基于服务器的方案可以是在诸如Windows或Linux平台的任何合适的操作系统上运行的软件应用。在一些实施例中,通过在内核级别上操作,实现了性能和使用便利性的大的改善。在一些实施例中,基于服务器的方案使得能够在硬件和软件方面建立可利用(leverage)公共企业基础架构的企业利益共同体(COI)。由于安全性已被编织到数据中,因此可在不损害数据安全和访问控制的情况下使用该公共基础架构。多个COI可在同一基础架构内以及在单个安全存储系统内共存。利用基于服务器的方案,没有在辩论上(forensically)可识别的数据被存储在任何设备或介质上。基于服务器的方案可与现有的企业访问控制系统相集成,从而允许在不修改当前的、建立的访问方案的情况下进行简化的部署。
[0005]在另一方面,本发明的基于服务器的方案是与硬件和软件无关的。基于服务器的方案应用于现有的企业网络、存储和安全方案。基于服务器的方案也应用于任何协作、CRM和ERM应用。由基于服务器的方案提供的内置安全性使得能够使用新兴的、成本效益的技术和服务,诸如用于基于云的存储、基于云的计算和基于云的应用的基础架构。
[0006]本发明的基于服务器的方案可利用安全第一公司的SecureParserE X tended?(SP X )核心技术。在一些实施例中,SecureParser SPx米用多因素秘密共享算法来传输防卫级别的安全性。数据在被发送到多个位置(在本地和/或在地理上分散,例如,在私有云或公共云中)之前被认证、被加密(FIPS 140-2证明,符合套件B)、被分离、被添加冗余比特、被检查完整性、并且被再次加密。可使用任何合适的信息分散算法(IDA)来分离数据。数据在传送到存储位置的同时被隐藏,并且对于不具有正确的访问证书的用户来说是不可访问的。
[0007]在一些实施例中,密码文件系统层被用于保护正被写入到贮存器或从贮存器读取的数据。如这里所使用的,密码文件系统层是用于例如通过保护存储在文件系统中的数据、或者恢复从文件系统检索的安全数据来截取要存储在文件系统上的数据并且修改截取的数据中的至少一些的软件层。密码文件系统层截取在应用层和文件系统之间传递的数据,并且仅修改位于一个或更多个指定目录中的数据。如果文件在指定目录中,那么该文件在被存储之前被修改,这为该文件提供增加的安全性;如果文件不在指定目录中,那么该文件不被修改。为了逆转在存储文件之前密码文件系统层执行的修改,指定目录中的检索文件也被修改。
【附图说明】
[0008]以下结合附图更详细地描述本公开内容,这些附图旨在例示而不是限制本公开内容,其中:
[0009]图1示出根据实现方式的用于保护包括可与在这里讨论的任何处理相组合地使用的例示性特征的数据的处理。
[0010]图2示出根据实现方式的用于利用与数据一起加密和存储加密主密钥来解析数据的处理。
[0011]图3示出根据实现方式的用于利用与数据分开地加密和存储加密主密钥来解析数据的处理。
[0012]图4示出根据实现方式的用于利用与数据一起加密和存储加密主密钥来解析数据的中间密钥处理。
[0013]图5和图6是根据实现方式的具有集成的安全数据解析器的例示性系统的框图。
[0014]图7是根据实现方式的可以以任何合适的组合、利用任何合适的添加、删除或修改来使用的例示性步骤和特征的处理流程图。
[0015]图8是根据一个实现方式的可以以任何合适的组合、利用任何合适的添加、删除或修改来使用的可选地使用工作组密钥将密钥和数据成分存储在份额内的简化框图。
[0016]图9A和图9B是根据一个实现方式的可以以任何合适的组合、利用任何合适的添加、删除或修改来使用的用于移动中的数据的头部产生和数据分离的简化和例示性的处理流程图。
[0017]图10是根据一个实现方式的可以以任何合适的组合、利用任何合适的添加、删除或修改来使用的例示性的份额格式的简化框图。
[0018]图11是表示根据实现方式的用于实现云计算数据安全方案的几个示例性配置的框图。
[0019]图12是用于执行这里描述的处理中的任一个处理的计算装置的框图。
[0020]图13是表示根据一个实现方式的包括密码文件系统层的几个软件层的例示性配置的框图。
[0021]图14是表示根据一个实现方式的在写入操作期间的在应用层、密码文件系统层和文件系统层之间的例示性的交互作用的示意图。
[0022]图15是表示根据一个实现方式的在将文件分离成多个份额的写入操作期间的在应用层、密码文件系统层和文件系统层之间的例示性的交互作用的示意图。
[0023]图16是表示根据一个实现方式的在读取操作期间的在应用层、密码文件系统层和文件系统层之间的例示性的交互作用的示意图。
[0024]图17是表示根据一个实现方式的在已被密码文件系统层分离成多个份额的文件的读取操作期间的在应用层、密码文件系统层和文件系统层之间的例示性的交互作用的示意图。
[0025]图18示出根据一个实现方式的密码文件系统层修改和存储指定目录中的文件的处理。
[0026]图19示出根据一个实现方式的密码文件系统层监视I/O操作并且修改指定文件的处理。
【具体实施方式】
[0027]根据一个方面,在这里描述一个或更多个安全服务器存储密码密钥和用户认证数据的密码系统。密码系统可单独地或与其它系统部件组合地包括安全数据解析器。如这里所使用的,安全数据解析器包括被配置为执行与数据的解析、保护和存储中的一个或更多个有关的各种功能的软件和/或硬件。例如,安全数据解析器的功能可包括加密数据、将数据解析成一个或更多个份额、加密份额、分散份额、安全地在多个位置存储份额、检索数据份额、解密数据份额、重新组装数据、解码数据或者这里描述的任何其它功能的任意组合。解析包括从原始数据集产生一个或更多个不同的份额,其中,份额中的每一个包括原始数据集的至少一部分。可通过大量的技术中的任一个实现解析。例如,解析可包括随机地、伪随机地、确定地、或者使用随机、伪随机和确定技术的一些合适的组合,将来自原始数据集的数据单元分布到一个或更多个份额中。解析操作可作用于任意尺寸的数据,包括单个比特、一组比特、一组字节、一组千字节、一组兆字节或更大组的数据、以及数据单元尺寸的任何模式或组合。因此,原始数据可被视为这些数据单元的序列。在一些实现方式中,解析操作基于由安全数据解析器或者由密码系统中的另一部件产生的解析信息。解析信息可以为任何合适的形式(例如,一个或更多个密钥,包括预定的、确定的、伪随机的或随机的密钥)。解析信息可确定解析操作的一个或更多个方面,包括份额的数量、一个或更多个份额的尺寸、数据单元的尺寸、份额内的数据单元的次序和份额中的来自原始数据集中的数据的次序的任意组合。在一些实施例中,解析信息也可指示或者可被使用(连同其它的因素),以确定一个或更多个数据份额将如何被加密。虽然某些解析技术可使得数据更安全(例如,在一些实现方式中,数据单元本身的尺寸可使得作为结果的数据份额更安全,或者解析可包括重新布置数据),但是未必对于每一种解析技术都是这种情况。作为结果的份额可以具有任意尺寸的数据,并且两个或更多个作为结果的份额可包含不同量的原始数据集。
[0028]在一些实现方式中,解析可包括在产生一个或更多个份额之前、期间或之后对原始数据集执行密码运算。例如,解析可包括例如通过将数据的单元重新布置成作为结果的一个或多个份额来混洗(shuffle)份额中的数据单元的次序。在一些实现方式中,解析可包括例如通过重新布置分布到作为结果的一个或多个份额中的一个或更多个数据单元内的子单元来混洗次序比特,其中,子单元至少包括数据单元的不同的部分。在解析包括混洗原始数据集中的数据的情况下,可对任意尺寸的原始数据集执行混洗操作,包括整个原始数据集、一个或更多个份额、数据单元、单个比特、一组比特、一组字节、一组千字节、一组兆字节或更大组的数据、以及数据单元尺寸的任何模式或组合。混洗数据可包括:以混洗数据的方式将原始数据分布到一个或更多个份额中,将原始数据分布到一个或更多个份额中、然后混洗作为结果的份额中的数据,混洗原始数据、然后将混洗的数据分布到一个或更多个份额中,或者它们的任意组合。
[0029]因此,作为结果的份额可包括原始数据集的基本上随机的分布。如这里所使用的,数据的基本上随机的分布指的是从原始数据集产生一个或更多个不同的份额,其中,份额中的至少一个是使用一种或更多种随机或伪随机技术、随机或伪随机信息(例如,随机或伪随机密钥)或它们的任意组合产生的。应当理解,由于在计算机中产生真实随机数可能是不实际的,因此使用基本上随机数将是足够的。例如,当使用关于产生真实随机化具有限制的计算装置来实现时,这里提到的随机化被理解为包括基本上的随机化。作为导致将原始数据基本上随机分布到份额中的数据解析的一个例子,考虑尺寸为23字节的原始数据集,其中数据单元尺寸被选择为一个字节,并且份额的数量被选择为4。每个字节将被分布至IJ4个份额中的一个份额中。假定基本上随机分布,则会获得密钥,以创建23个随机数(Γι、r2、r3直至r23)的序列,每个具有与四个份额对应的I与4之间的值。数据的单元(在本例子中,为数据的23个单个字节)中的每一个与同四个份额中的一个对应的23个随机数中的一个相关联。通过将数据的第一字节放入到份额数^中、将字节2放入到份额r 2中、将字节3放入到份额r3中直到将数据的第23个字节放入到份额r 23中,将出现将数据的字节分布到四个份额中。可以在解析处理中使用各种其它可能的步骤或步骤的组合或次序,包括调整数据单元的尺寸。为了重新创建原始数据,将执行逆操作。
[0030]解析操作可向产生的份额添加故障容限,使得需要比所有份额少的份额来恢复原始数据。例如,解析操作可在份额中提供足够的冗余,使得只需要份额的子集来将数据重新组装或者恢复到其原始或可用的形式。例如,解析可被完成为“4个中的3个”解析,使得只需要四个份额中的三个份额来将数据重新组装或者恢复到其原始或可用的形式。这也被称为“N个中的M个解析”,其中,N是份额的总数量,而M至少比N少I个。
[0031]图1表示例示性的安全数据解析系统(这里,也被称为安全数据解析器)100。可使用诸如解析器程序或软件套件的硬件和/或软件来实现安全数据解析系统100。安全数据解析器还可包括一个或更多个数据存储设施和其它硬件或软件模块,或者与一个或更多个数据存储设施和其它硬件或软件模块连接,其中,可从一个或更多个数据存储设施和其它硬件或软件模块接收或传送数据,并且可对数据执行各种功能。系统100可包括一个或更多个预处理器104、一个或更多个数据解析器106和一个或更多个后处理器108。关于系统100描述的所有特征是可选的,并且可以以任何可能的组合或次序执行由预处理器104、数据解析器106和后处理器108执行的操作。安全数据解析器100接收要被保护的数据102并且将数据传递给预处理器104,该预处理器104可对接收的数据102执行预处理操作的任意组合,诸如加密数据、向数据添加完整性信息(例如,哈希)以及向数据添加认证信息。预处理可以替代地或者附加地包括访问和/或产生由安全数据解析器100使用的一个或更多个密钥或其它信息。一个或更多个密钥可以是用于从原始数据集产生数据的不同部分的任何合适的密钥和/或用于这里描述的由安全数据解析器100执行的其它操作的任何合适的密钥。可以随机地、伪随机地或者确定性地产生密钥。在这里进一步描述这些和其它预处理操作。
[0032]在任何希望的预处理之后,(可选地变换的)数据102和诸如任何合适的密钥的任何附加信息被传递给数据解析器106。数据解析器106可解析
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1