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

文档序号:9332713阅读:来源:国知局
接收的数据,以使用这里描述的解析技术中的任一种从数据102产生一个或更多个份额。数据解析器106可使用用于数据解析的任何合适的密钥。
[0033]在一些实现方式中,数据解析器106包括解析在数据的加密或解析中使用的一个或更多个密钥。可以使用上述解析技术中的任一个来解析任何密钥。在一些实施例中,解析密钥导致密钥被存储在解析的数据102的一个或更多个份额中。在其它实施例中,与源自于数据解析操作的数据份额分开地存储源自于密钥解析操作的密钥份额。在这里进一步描述可由数据解析器106执行的这些和其它特征和功能。
[0034]在解析数据和/或任何密钥之后,可通过一个或更多个后处理器108后处理解析的数据和密钥。后处理器108可对单个接收的数据份额执行任何一个或更多个操作,诸如加密一个或更多个数据份额、向一个或更多个份额添加完整信息(例如,哈希)和向一个或更多个份额添加认证信息。后处理器108也可对接收的密钥或密钥份额执行任何一个或更多个操作,诸如加密一个或更多个密钥或密钥份额、向一个或更多个密钥或密钥份额添加完整信息(例如,哈希)和向一个或更多个密钥或密钥份额添加认证信息。后处理也可指引要被传送或存储的数据份额、密钥和/或密钥份额。在这里进一步描述可由后处理器108执行的这些和其它特征和功能。
[0035]由安全数据解析器100使用的处理的组合和次序可依赖于特定的应用或用途、希望的安全水平、是否希望可选的预加密、后加密或者两者、希望的冗余、底层或集成系统的能力或性能、或任何其它合适的因素或因素的组合。
[0036]在一个实现方式中,数据解析器106解析数据以产生数据或密钥的四个或更多个份额,并且后处理器108加密所有的份额,然后将这些加密的份额存储在接收它们的数据库中的不同位置存储。替代地或者附加地,后处理器108可根据请求者对隐私性和安全性的需求,将加密的份额重新定位到可以是固定的或可移除的一个或更多个合适的存储装置中的任一个上。特别地,加密的份额可被虚拟地存储在任何位置,包括但不限于单个服务器或数据存储装置、或者单独的数据存储设施或装置之间。由安全数据解析器100使用的任何密钥的管理可由安全数据解析器100来处理,或者可被集成到现有的基础架构或任何其它希望的位置中。加密的数据份额的检索、重新组合、重新组装或重新构建也可利用任意数量的认证技术,包括但不限于生物识别技术,诸如指纹识别、面部扫描、手扫描、虹膜扫描、视网膜扫描、耳朵扫描、血管模式识别或DNA分析。
[0037]常规的加密技术依赖于用于加密数据的一个或更多个密钥,并且在没有一个或更多个密钥的情况下使得它不可用。但是,数据保持完整并且易于受到攻击。在一些实施例中,安全数据解析器通过将加密的文件解析成两个或更多个份额、向数据的每个份额添加另一层的加密、然后在不同的物理和/或逻辑位置存储份额来解决该问题。当通过使用诸如数据存储装置的可移除装置、或者通过将份额置于另一方的控制下而在物理上从系统移除一个或更多个数据份额时,安全数据的损坏的任何可能性被有效地移除。在一些实施例中,加密的文件被解析成四个或更多个部分或份额。
[0038]在图2中表示安全数据解析器的一个例子,图2表示由安全数据解析器对要被解析的数据执行的以下的处理步骤,从而导致与解析的数据一起存储会话主密钥。
[0039]1.产生会话主密钥并且使用例如RSl或RC4流密码将数据加密。
[0040]2.根据会话主密钥的模式将作为结果的加密的数据解析成四个数据份额。
[0041]3.根据解析器主密钥的模式解析会话主密钥并且向数据份额附加作为结果的密钥份额。作为结果的数据的四个份额将包含加密的原始数据的多个部分和会话主密钥的多个部分。在其它的实施例中,不与数据份额一起存储会话主密钥(例如,参见图3和伴随的讨论)。
[0042]4.为四个份额中的每一个产生流密码密钥。
[0043]5.利用其相应的流密码密钥加密每个份额,然后在与加密的份额不同的位置存储加密密钥。如图2所示,与密钥4 一起存储份额1,与密钥I 一起存储份额2,与密钥2 —起存储份额3,与密钥3 —起存储份额4。但是,可以使用密钥与份额的任何其它的配对,包括例如与特定的份额一起存储多于一个密钥的布置,或者跨越多个份额解析和存储同一密钥的布置。
[0044]为了恢复原始数据格式,逆转以上的步骤。例如,为了恢复图2的例子中的原始数据,检索足够数量的份额。在解析操作包括冗余的实现方式中,可从比份额的总数量少的最小数量的份额总数量恢复原始数据。因此,可从任意合适数量的份额恢复原始数据,根据使用的解析操作,份额的合适数量的范围在本例子中可以为I至4。用于检索的份额中的每一个的密码密钥也被接收。可利用用于加密相应的份额的流密码密钥来解密每个份额。会话主密钥可被检索,或者也从份额检索解析的会话主密钥的密钥份额。与数据份额同样地,也可根据使用的密钥解析操作从最小数量的总密钥份额(可比全部少或者等于全部)恢复会话主密钥。通过逆转密钥解析操作,从密钥份额恢复会话主密钥。也可通过逆转数据解析操作来恢复从份额检索的数据份额,这可包括使用检索的或恢复的会话主密钥。如果通过逆转解析操作恢复的数据已在解析之前被加密,那么可通过解密恢复的数据揭示原始数据。可根据需要对数据执行其它的处理。
[0045]在以上的例子中,可利用外部会话密钥管理或者会话密钥的安全内部存储来实现安全数据解析器。在实现时,产生用于保护应用和用于加密目的的解析器主密钥。在作为结果的份额中并入解析器主密钥允许由工作组、企业或扩展观众内的个体灵活地共享安全的数据。
[0046]图3示出安全数据解析器的另一个例子,包括可由安全数据解析器执行的另一个处理,从而导致在一个或更多个单独的密钥管理表中存储会话主密钥数据。产生会话主密钥、利用会话主密钥加密要解析的数据、和根据会话主密钥的模式将作为结果的加密的数据解析成解析的数据的四个份额或部分的步骤与以上关于图2描述的对应的步骤类似。
[0047]在本例子中,会话主密钥将被存储在数据仓库中的单独的密钥管理表中。为该事务产生唯一事务ID。事务ID和会话主密钥存储在单独的密钥管理表中。根据解析器主密钥的模式解析事务ID,并且将事务ID的份额附加到加密的解析的数据上。作为结果的四个份额将包含原始数据的加密部分和事务ID的多个部分。
[0048]如图2所示,为四个数据份额中的每一个产生流密码密钥,利用其相应的流密码密钥加密每个份额,并且与数据份额分开地(例如,在与加密数据份额不同的位置)存储用于加密数据份额的加密密钥。为了恢复原始数据,步骤被逆转。
[0049]图4示出安全数据解析器的另一个例子,包括可由安全数据解析器对要被解析的数据执行的另一个处理。该例子包括使用中间密钥。该处理包括以下的步骤:
[0050]1.访问与认证的用户相关联的解析器主密钥。
[0051]2.产生唯一会话主密钥。
[0052]3.例如使用解析器主密钥和会话主密钥的异或(XOR)功能导出中间密钥。
[0053]4.可选地使用利用中间密钥作为密钥的加密算法来加密数据。
[0054]5.根据中间密钥的模式将可选地加密的数据解析成解析的数据的四个份额。
[0055]6.产生唯一事务ID并且在单独的密钥管理表中存储事务ID和会话主密钥。
[0056]7.根据解析器主密钥的模式解析事务ID。
[0057]8.将事务ID的份额附加到解析的数据的份额上。作为结果的组合的份额将包含原始数据的可选地加密的部分和会话主密钥的多个部分。
[0058]9.可选地为四个数据份额中的每一个产生加密密钥。
[0059]10.可选地利用现有的或新的加密算法来加密每个份额,然后在与组合的份额不同的位置存储加密密钥。如图4所示,与密钥4 一起存储份额1,与密钥I 一起存储份额2,与密钥2 —起存储份额3,以及与密钥3 —起存储份额4。
[0060]为了恢复原始数据格式,步骤被逆转。
[0061]在一些实施例中,以上的步骤6-8可被以下的步骤替代:
[0062]6.在数据仓库中与安全的数据份额一起存储会话主密钥。
[0063]7.根据解析器主密钥的模式解析会话主密钥。
[0064]8.将密钥数据附加到可选地加密的份额上。
[0065]如果希望的话,可通过不同的次序执行或者多次执行这里描述的方法的某些步骤(例如,对于在图2-4中描述的方法中的任一个描述的步骤)。对于本领域技术人员来说,可通过相互不同的方式处理数据的多个部分。例如,可仅对解析的数据的一部分执行多个解析步骤。只有假定数据可被重新组装、重新构建、重新形成、解密或恢复到其原始或其它可用形式,才可通过任何希望的方式唯一地保护解析的数据的每个部分。应当理解,在不偏离本公开内容的范围的情况下,可在同一实现方式中组合这些方法中的一个或更多个。
[0066]根据这里描述的方法保护的数据可很容易地被检索,并且被恢复、重新构建、重新组装、解密或者以其它方式返回其原始或其它合适的可用形式。为了恢复原始数据,可以利用以下的项目:
[0067]1.数据集的一些或所有份额或部分。
[0068]2.再现用于保护数据的方法的处理流程的知识和能力。
[0069]3.对于会话主密钥的访问。
[0070]4.对于解析器主密钥的访问。
[0071]在一些实施例中,不是所有的项目都可能需要将根据上述的方法中的一个或更多个保护的数据的每个单元检索和恢复、重新构建、重新组装、解密或以其它方式返回到原始或其它合适的可用形式。在一些实施例中,可能需要以上没有明确列出的附加项目以恢复特定的数据单元。例如,在一些实现方式中,上述方法使用三种类型的用于加密的密钥。基于安装,每个类型的密钥可具有单个的密钥存储、检索、安全和恢复选项。可使用的密钥包括但不限于:
[0072]1.解析器主密钥可以是与安全数据解析器的安装相关联的单个密钥。它被安装在已部署了安全数据解析器的服务器上。存在适于存储这种密钥的各种选项,包括但不限于,例如智能卡、单独的硬件密钥存储库、标准密钥存储库、定制密钥存储库,或者例如在安全的数据库表内。
[0073]2.每当解析数据时,可产生会话主密钥。会话主密钥用于在解析操作之前加密数据。它也可用于解析加密的数据(如果会话主密钥不被集成到解析的数据中)。可通过各种方式存储会话主密钥,包括但不限于,例如标准密钥存储库、定制密钥存储库、单独的数据库表,或者在加密的份额内被保护。
[0074]3.份额加密密钥:对于创建的数据集的每个份额或部分,可产生单个的份额加密密钥,以进一步加密份额。可在与加密的份额不同的份额中存储份额加密密钥。
[0075]如图4所示,也可利用中间密钥。每当解析数据时,可产生中间密钥。中间密钥用于在解析操作之前加密数据。它也可作为解析加密的数据的手段被并入。
[0076]图5表示作为安全数据解析器500的安全数据解析器的例示性的实现方式。安全数据解析器500可包括用于使用模块502将数据解析成份额的内置能力。为了能够实现例如上述的N个中的M个解析,安全数据解析器500还可在模块504中包括内置的用于执行冗余的能力。安全数据解析器500还可包括使用模块506的份额分布能力,该模块506用于将份额放入到从中发送份额以供与远程位置的通信、以供存储等的缓冲器中。应当理解,任何其它的合适的能力可被内置到安全数据解析器500中。
[0077]组装数据缓冲器508可以是用于存储原始数据(虽然未必是以其原始形式)的任何合适的存储器,该原始数据将由安全数据解析器500来解析。在解析操作中,组装数据缓冲器508向安全数据解析器500提供输入。在恢复操作中,组装数据缓冲器508可用于存储安全数据解析器500的输出。
[0078]共享缓冲器510可以是可用于存储源自于原始数据的解析的数据的多个份额的一个或更多个存储器模块。在解析操作中,共享缓冲器510保持安全数据解析器的输出。在恢复操作中,共享缓冲器保持对于安全数据解析器500的输入。
[0079]应当理解,对于安全数据解析器500,可内置任何其它合适的能力布置。任何附加的特征可被内置,并且示出的特征中的任一个可被移除,使得其更健壮、使得其不太健壮,或者可以另外地以任何合适的方式进行修改。类似地,缓冲器508和510仅是例示性的,并且可以以任何合适的方式被修改、移除或添加。
[0080]以软件、硬件或两者实现的任何合适的模块可被安全数据解析器500调用,或者可调用到安全数据解析器500。如图所示,一些外部模块包括随机数产生器512、密码反馈密钥产生器514、哈希算法516、任意一种或更多种加密518、和密钥管理520。应当理解,这些仅是例示性的外部模块。除了示出的模块以外或者作为其替代,可以使用任何其它合适的模块。如果希望的话,一个或更多
当前第2页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1