CN105051750A - 用于加密文件系统层的系统和方法 - Google Patents

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

Info

Publication number
CN105051750A
CN105051750A CN201480018084.XA CN201480018084A CN105051750A CN 105051750 A CN105051750 A CN 105051750A CN 201480018084 A CN201480018084 A CN 201480018084A CN 105051750 A CN105051750 A CN 105051750A
Authority
CN
China
Prior art keywords
data
file
data file
key
share
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201480018084.XA
Other languages
English (en)
Other versions
CN105051750B (zh
Inventor
M·S·奥黑尔
R·L·奥尔西尼
R·S·达文斯珀特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Security First Corp
Original Assignee
Security First Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Security First Corp filed Critical Security First Corp
Publication of CN105051750A publication Critical patent/CN105051750A/zh
Application granted granted Critical
Publication of CN105051750B publication Critical patent/CN105051750B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3234Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

这里公开的系统和方法通过使用选择性地截取和修改(例如,通过加密)要存储在指定目录中的数据的密码文件系统层透明地提供数据安全性。密码文件系统层可与一个或更多个密码方法相组合地使用,以提供使得数据更安全或可访问的基于服务器的安全数据方案,同时消除对多个周边硬件和软件技术的需要。

Description

用于加密文件系统层的系统和方法
对相关申请的交叉引用
本申请要求在2013年2月13日提交的美国临时申请第61/764,532号的优先权,其全部内容通过引用合并于此。
发明内容
密码文件系统层包括用于例如通过保护存储在文件系统中的数据、或者恢复从文件系统检索的安全数据来截取要存储在文件系统中的数据并且修改截取的数据中的至少一些的软件或固件层。一般地,密码文件系统层截取在应用层与文件系统之间传递的数据,并且仅修改位于一个或更多个指定目录中的数据。
根据一个方面,这里公开的系统和方法使用选择性地截取和修改(例如,通过加密)要存储在指定目录中的数据的密码文件系统层来透明地提供数据安全。密码文件系统层可与一个或更多个密码方法相组合,以提供使得数据可证地安全或可访问的基于服务器的安全数据方案,同时消除了对多个周边硬件和软件技术的需要。在一个实现方式(例如,来自安全第一公司的Bitfiler)中,基于服务器的方案解决比特级别的安全性。例如,数据安全性被集成或者被直接编织到比特级别的数据中。在一些实施例中,基于服务器的方案可以是在诸如Windows或Linux平台的任何合适的操作系统上运行的软件应用。在一些实施例中,通过在内核级别上操作,实现了性能和使用便利性的大的改善。在一些实施例中,基于服务器的方案使得能够在硬件和软件方面建立可利用(leverage)公共企业基础架构的企业利益共同体(COI)。由于安全性已被编织到数据中,因此可在不损害数据安全和访问控制的情况下使用该公共基础架构。多个COI可在同一基础架构内以及在单个安全存储系统内共存。利用基于服务器的方案,没有在辩论上(forensically)可识别的数据被存储在任何设备或介质上。基于服务器的方案可与现有的企业访问控制系统相集成,从而允许在不修改当前的、建立的访问方案的情况下进行简化的部署。
在另一方面,本发明的基于服务器的方案是与硬件和软件无关的。基于服务器的方案应用于现有的企业网络、存储和安全方案。基于服务器的方案也应用于任何协作、CRM和ERM应用。由基于服务器的方案提供的内置安全性使得能够使用新兴的、成本效益的技术和服务,诸如用于基于云的存储、基于云的计算和基于云的应用的基础架构。
本发明的基于服务器的方案可利用安全第一公司的SecureParserEχtendedTM(SPχ)核心技术。在一些实施例中,SecureParserSPχ采用多因素秘密共享算法来传输防卫级别的安全性。数据在被发送到多个位置(在本地和/或在地理上分散,例如,在私有云或公共云中)之前被认证、被加密(FIPS140-2证明,符合套件B)、被分离、被添加冗余比特、被检查完整性、并且被再次加密。可使用任何合适的信息分散算法(IDA)来分离数据。数据在传送到存储位置的同时被隐藏,并且对于不具有正确的访问证书的用户来说是不可访问的。
在一些实施例中,密码文件系统层被用于保护正被写入到贮存器或从贮存器读取的数据。如这里所使用的,密码文件系统层是用于例如通过保护存储在文件系统中的数据、或者恢复从文件系统检索的安全数据来截取要存储在文件系统上的数据并且修改截取的数据中的至少一些的软件层。密码文件系统层截取在应用层和文件系统之间传递的数据,并且仅修改位于一个或更多个指定目录中的数据。如果文件在指定目录中,那么该文件在被存储之前被修改,这为该文件提供增加的安全性;如果文件不在指定目录中,那么该文件不被修改。为了逆转在存储文件之前密码文件系统层执行的修改,指定目录中的检索文件也被修改。
附图说明
以下结合附图更详细地描述本公开内容,这些附图旨在例示而不是限制本公开内容,其中:
图1示出根据实现方式的用于保护包括可与在这里讨论的任何处理相组合地使用的例示性特征的数据的处理。
图2示出根据实现方式的用于利用与数据一起加密和存储加密主密钥来解析数据的处理。
图3示出根据实现方式的用于利用与数据分开地加密和存储加密主密钥来解析数据的处理。
图4示出根据实现方式的用于利用与数据一起加密和存储加密主密钥来解析数据的中间密钥处理。
图5和图6是根据实现方式的具有集成的安全数据解析器的例示性系统的框图。
图7是根据实现方式的可以以任何合适的组合、利用任何合适的添加、删除或修改来使用的例示性步骤和特征的处理流程图。
图8是根据一个实现方式的可以以任何合适的组合、利用任何合适的添加、删除或修改来使用的可选地使用工作组密钥将密钥和数据成分存储在份额内的简化框图。
图9A和图9B是根据一个实现方式的可以以任何合适的组合、利用任何合适的添加、删除或修改来使用的用于移动中的数据的头部产生和数据分离的简化和例示性的处理流程图。
图10是根据一个实现方式的可以以任何合适的组合、利用任何合适的添加、删除或修改来使用的例示性的份额格式的简化框图。
图11是表示根据实现方式的用于实现云计算数据安全方案的几个示例性配置的框图。
图12是用于执行这里描述的处理中的任一个处理的计算装置的框图。
图13是表示根据一个实现方式的包括密码文件系统层的几个软件层的例示性配置的框图。
图14是表示根据一个实现方式的在写入操作期间的在应用层、密码文件系统层和文件系统层之间的例示性的交互作用的示意图。
图15是表示根据一个实现方式的在将文件分离成多个份额的写入操作期间的在应用层、密码文件系统层和文件系统层之间的例示性的交互作用的示意图。
图16是表示根据一个实现方式的在读取操作期间的在应用层、密码文件系统层和文件系统层之间的例示性的交互作用的示意图。
图17是表示根据一个实现方式的在已被密码文件系统层分离成多个份额的文件的读取操作期间的在应用层、密码文件系统层和文件系统层之间的例示性的交互作用的示意图。
图18示出根据一个实现方式的密码文件系统层修改和存储指定目录中的文件的处理。
图19示出根据一个实现方式的密码文件系统层监视I/O操作并且修改指定文件的处理。
具体实施方式
根据一个方面,在这里描述一个或更多个安全服务器存储密码密钥和用户认证数据的密码系统。密码系统可单独地或与其它系统部件组合地包括安全数据解析器。如这里所使用的,安全数据解析器包括被配置为执行与数据的解析、保护和存储中的一个或更多个有关的各种功能的软件和/或硬件。例如,安全数据解析器的功能可包括加密数据、将数据解析成一个或更多个份额、加密份额、分散份额、安全地在多个位置存储份额、检索数据份额、解密数据份额、重新组装数据、解码数据或者这里描述的任何其它功能的任意组合。解析包括从原始数据集产生一个或更多个不同的份额,其中,份额中的每一个包括原始数据集的至少一部分。可通过大量的技术中的任一个实现解析。例如,解析可包括随机地、伪随机地、确定地、或者使用随机、伪随机和确定技术的一些合适的组合,将来自原始数据集的数据单元分布到一个或更多个份额中。解析操作可作用于任意尺寸的数据,包括单个比特、一组比特、一组字节、一组千字节、一组兆字节或更大组的数据、以及数据单元尺寸的任何模式或组合。因此,原始数据可被视为这些数据单元的序列。在一些实现方式中,解析操作基于由安全数据解析器或者由密码系统中的另一部件产生的解析信息。解析信息可以为任何合适的形式(例如,一个或更多个密钥,包括预定的、确定的、伪随机的或随机的密钥)。解析信息可确定解析操作的一个或更多个方面,包括份额的数量、一个或更多个份额的尺寸、数据单元的尺寸、份额内的数据单元的次序和份额中的来自原始数据集中的数据的次序的任意组合。在一些实施例中,解析信息也可指示或者可被使用(连同其它的因素),以确定一个或更多个数据份额将如何被加密。虽然某些解析技术可使得数据更安全(例如,在一些实现方式中,数据单元本身的尺寸可使得作为结果的数据份额更安全,或者解析可包括重新布置数据),但是未必对于每一种解析技术都是这种情况。作为结果的份额可以具有任意尺寸的数据,并且两个或更多个作为结果的份额可包含不同量的原始数据集。
在一些实现方式中,解析可包括在产生一个或更多个份额之前、期间或之后对原始数据集执行密码运算。例如,解析可包括例如通过将数据的单元重新布置成作为结果的一个或多个份额来混洗(shuffle)份额中的数据单元的次序。在一些实现方式中,解析可包括例如通过重新布置分布到作为结果的一个或多个份额中的一个或更多个数据单元内的子单元来混洗次序比特,其中,子单元至少包括数据单元的不同的部分。在解析包括混洗原始数据集中的数据的情况下,可对任意尺寸的原始数据集执行混洗操作,包括整个原始数据集、一个或更多个份额、数据单元、单个比特、一组比特、一组字节、一组千字节、一组兆字节或更大组的数据、以及数据单元尺寸的任何模式或组合。混洗数据可包括:以混洗数据的方式将原始数据分布到一个或更多个份额中,将原始数据分布到一个或更多个份额中、然后混洗作为结果的份额中的数据,混洗原始数据、然后将混洗的数据分布到一个或更多个份额中,或者它们的任意组合。
因此,作为结果的份额可包括原始数据集的基本上随机的分布。如这里所使用的,数据的基本上随机的分布指的是从原始数据集产生一个或更多个不同的份额,其中,份额中的至少一个是使用一种或更多种随机或伪随机技术、随机或伪随机信息(例如,随机或伪随机密钥)或它们的任意组合产生的。应当理解,由于在计算机中产生真实随机数可能是不实际的,因此使用基本上随机数将是足够的。例如,当使用关于产生真实随机化具有限制的计算装置来实现时,这里提到的随机化被理解为包括基本上的随机化。作为导致将原始数据基本上随机分布到份额中的数据解析的一个例子,考虑尺寸为23字节的原始数据集,其中数据单元尺寸被选择为一个字节,并且份额的数量被选择为4。每个字节将被分布到4个份额中的一个份额中。假定基本上随机分布,则会获得密钥,以创建23个随机数(r1、r2、r3直至r23)的序列,每个具有与四个份额对应的1与4之间的值。数据的单元(在本例子中,为数据的23个单个字节)中的每一个与同四个份额中的一个对应的23个随机数中的一个相关联。通过将数据的第一字节放入到份额数r1中、将字节2放入到份额r2中、将字节3放入到份额r3中直到将数据的第23个字节放入到份额r23中,将出现将数据的字节分布到四个份额中。可以在解析处理中使用各种其它可能的步骤或步骤的组合或次序,包括调整数据单元的尺寸。为了重新创建原始数据,将执行逆操作。
解析操作可向产生的份额添加故障容限,使得需要比所有份额少的份额来恢复原始数据。例如,解析操作可在份额中提供足够的冗余,使得只需要份额的子集来将数据重新组装或者恢复到其原始或可用的形式。例如,解析可被完成为“4个中的3个”解析,使得只需要四个份额中的三个份额来将数据重新组装或者恢复到其原始或可用的形式。这也被称为“N个中的M个解析”,其中,N是份额的总数量,而M至少比N少1个。
图1表示例示性的安全数据解析系统(这里,也被称为安全数据解析器)100。可使用诸如解析器程序或软件套件的硬件和/或软件来实现安全数据解析系统100。安全数据解析器还可包括一个或更多个数据存储设施和其它硬件或软件模块,或者与一个或更多个数据存储设施和其它硬件或软件模块连接,其中,可从一个或更多个数据存储设施和其它硬件或软件模块接收或传送数据,并且可对数据执行各种功能。系统100可包括一个或更多个预处理器104、一个或更多个数据解析器106和一个或更多个后处理器108。关于系统100描述的所有特征是可选的,并且可以以任何可能的组合或次序执行由预处理器104、数据解析器106和后处理器108执行的操作。安全数据解析器100接收要被保护的数据102并且将数据传递给预处理器104,该预处理器104可对接收的数据102执行预处理操作的任意组合,诸如加密数据、向数据添加完整性信息(例如,哈希)以及向数据添加认证信息。预处理可以替代地或者附加地包括访问和/或产生由安全数据解析器100使用的一个或更多个密钥或其它信息。一个或更多个密钥可以是用于从原始数据集产生数据的不同部分的任何合适的密钥和/或用于这里描述的由安全数据解析器100执行的其它操作的任何合适的密钥。可以随机地、伪随机地或者确定性地产生密钥。在这里进一步描述这些和其它预处理操作。
在任何希望的预处理之后,(可选地变换的)数据102和诸如任何合适的密钥的任何附加信息被传递给数据解析器106。数据解析器106可解析接收的数据,以使用这里描述的解析技术中的任一种从数据102产生一个或更多个份额。数据解析器106可使用用于数据解析的任何合适的密钥。
在一些实现方式中,数据解析器106包括解析在数据的加密或解析中使用的一个或更多个密钥。可以使用上述解析技术中的任一个来解析任何密钥。在一些实施例中,解析密钥导致密钥被存储在解析的数据102的一个或更多个份额中。在其它实施例中,与源自于数据解析操作的数据份额分开地存储源自于密钥解析操作的密钥份额。在这里进一步描述可由数据解析器106执行的这些和其它特征和功能。
在解析数据和/或任何密钥之后,可通过一个或更多个后处理器108后处理解析的数据和密钥。后处理器108可对单个接收的数据份额执行任何一个或更多个操作,诸如加密一个或更多个数据份额、向一个或更多个份额添加完整信息(例如,哈希)和向一个或更多个份额添加认证信息。后处理器108也可对接收的密钥或密钥份额执行任何一个或更多个操作,诸如加密一个或更多个密钥或密钥份额、向一个或更多个密钥或密钥份额添加完整信息(例如,哈希)和向一个或更多个密钥或密钥份额添加认证信息。后处理也可指引要被传送或存储的数据份额、密钥和/或密钥份额。在这里进一步描述可由后处理器108执行的这些和其它特征和功能。
由安全数据解析器100使用的处理的组合和次序可依赖于特定的应用或用途、希望的安全水平、是否希望可选的预加密、后加密或者两者、希望的冗余、底层或集成系统的能力或性能、或任何其它合适的因素或因素的组合。
在一个实现方式中,数据解析器106解析数据以产生数据或密钥的四个或更多个份额,并且后处理器108加密所有的份额,然后将这些加密的份额存储在接收它们的数据库中的不同位置存储。替代地或者附加地,后处理器108可根据请求者对隐私性和安全性的需求,将加密的份额重新定位到可以是固定的或可移除的一个或更多个合适的存储装置中的任一个上。特别地,加密的份额可被虚拟地存储在任何位置,包括但不限于单个服务器或数据存储装置、或者单独的数据存储设施或装置之间。由安全数据解析器100使用的任何密钥的管理可由安全数据解析器100来处理,或者可被集成到现有的基础架构或任何其它希望的位置中。加密的数据份额的检索、重新组合、重新组装或重新构建也可利用任意数量的认证技术,包括但不限于生物识别技术,诸如指纹识别、面部扫描、手扫描、虹膜扫描、视网膜扫描、耳朵扫描、血管模式识别或DNA分析。
常规的加密技术依赖于用于加密数据的一个或更多个密钥,并且在没有一个或更多个密钥的情况下使得它不可用。但是,数据保持完整并且易于受到攻击。在一些实施例中,安全数据解析器通过将加密的文件解析成两个或更多个份额、向数据的每个份额添加另一层的加密、然后在不同的物理和/或逻辑位置存储份额来解决该问题。当通过使用诸如数据存储装置的可移除装置、或者通过将份额置于另一方的控制下而在物理上从系统移除一个或更多个数据份额时,安全数据的损坏的任何可能性被有效地移除。在一些实施例中,加密的文件被解析成四个或更多个部分或份额。
在图2中表示安全数据解析器的一个例子,图2表示由安全数据解析器对要被解析的数据执行的以下的处理步骤,从而导致与解析的数据一起存储会话主密钥。
1.产生会话主密钥并且使用例如RS1或RC4流密码将数据加密。
2.根据会话主密钥的模式将作为结果的加密的数据解析成四个数据份额。
3.根据解析器主密钥的模式解析会话主密钥并且向数据份额附加作为结果的密钥份额。作为结果的数据的四个份额将包含加密的原始数据的多个部分和会话主密钥的多个部分。在其它的实施例中,不与数据份额一起存储会话主密钥(例如,参见图3和伴随的讨论)。
4.为四个份额中的每一个产生流密码密钥。
5.利用其相应的流密码密钥加密每个份额,然后在与加密的份额不同的位置存储加密密钥。如图2所示,与密钥4一起存储份额1,与密钥1一起存储份额2,与密钥2一起存储份额3,与密钥3一起存储份额4。但是,可以使用密钥与份额的任何其它的配对,包括例如与特定的份额一起存储多于一个密钥的布置,或者跨越多个份额解析和存储同一密钥的布置。
为了恢复原始数据格式,逆转以上的步骤。例如,为了恢复图2的例子中的原始数据,检索足够数量的份额。在解析操作包括冗余的实现方式中,可从比份额的总数量少的最小数量的份额总数量恢复原始数据。因此,可从任意合适数量的份额恢复原始数据,根据使用的解析操作,份额的合适数量的范围在本例子中可以为1至4。用于检索的份额中的每一个的密码密钥也被接收。可利用用于加密相应的份额的流密码密钥来解密每个份额。会话主密钥可被检索,或者也从份额检索解析的会话主密钥的密钥份额。与数据份额同样地,也可根据使用的密钥解析操作从最小数量的总密钥份额(可比全部少或者等于全部)恢复会话主密钥。通过逆转密钥解析操作,从密钥份额恢复会话主密钥。也可通过逆转数据解析操作来恢复从份额检索的数据份额,这可包括使用检索的或恢复的会话主密钥。如果通过逆转解析操作恢复的数据已在解析之前被加密,那么可通过解密恢复的数据揭示原始数据。可根据需要对数据执行其它的处理。
在以上的例子中,可利用外部会话密钥管理或者会话密钥的安全内部存储来实现安全数据解析器。在实现时,产生用于保护应用和用于加密目的的解析器主密钥。在作为结果的份额中并入解析器主密钥允许由工作组、企业或扩展观众内的个体灵活地共享安全的数据。
图3示出安全数据解析器的另一个例子,包括可由安全数据解析器执行的另一个处理,从而导致在一个或更多个单独的密钥管理表中存储会话主密钥数据。产生会话主密钥、利用会话主密钥加密要解析的数据、和根据会话主密钥的模式将作为结果的加密的数据解析成解析的数据的四个份额或部分的步骤与以上关于图2描述的对应的步骤类似。
在本例子中,会话主密钥将被存储在数据仓库中的单独的密钥管理表中。为该事务产生唯一事务ID。事务ID和会话主密钥存储在单独的密钥管理表中。根据解析器主密钥的模式解析事务ID,并且将事务ID的份额附加到加密的解析的数据上。作为结果的四个份额将包含原始数据的加密部分和事务ID的多个部分。
如图2所示,为四个数据份额中的每一个产生流密码密钥,利用其相应的流密码密钥加密每个份额,并且与数据份额分开地(例如,在与加密数据份额不同的位置)存储用于加密数据份额的加密密钥。为了恢复原始数据,步骤被逆转。
图4示出安全数据解析器的另一个例子,包括可由安全数据解析器对要被解析的数据执行的另一个处理。该例子包括使用中间密钥。该处理包括以下的步骤:
1.访问与认证的用户相关联的解析器主密钥。
2.产生唯一会话主密钥。
3.例如使用解析器主密钥和会话主密钥的异或(XOR)功能导出中间密钥。
4.可选地使用利用中间密钥作为密钥的加密算法来加密数据。
5.根据中间密钥的模式将可选地加密的数据解析成解析的数据的四个份额。
6.产生唯一事务ID并且在单独的密钥管理表中存储事务ID和会话主密钥。
7.根据解析器主密钥的模式解析事务ID。
8.将事务ID的份额附加到解析的数据的份额上。作为结果的组合的份额将包含原始数据的可选地加密的部分和会话主密钥的多个部分。
9.可选地为四个数据份额中的每一个产生加密密钥。
10.可选地利用现有的或新的加密算法来加密每个份额,然后在与组合的份额不同的位置存储加密密钥。如图4所示,与密钥4一起存储份额1,与密钥1一起存储份额2,与密钥2一起存储份额3,以及与密钥3一起存储份额4。
为了恢复原始数据格式,步骤被逆转。
在一些实施例中,以上的步骤6-8可被以下的步骤替代:
6.在数据仓库中与安全的数据份额一起存储会话主密钥。
7.根据解析器主密钥的模式解析会话主密钥。
8.将密钥数据附加到可选地加密的份额上。
如果希望的话,可通过不同的次序执行或者多次执行这里描述的方法的某些步骤(例如,对于在图2-4中描述的方法中的任一个描述的步骤)。对于本领域技术人员来说,可通过相互不同的方式处理数据的多个部分。例如,可仅对解析的数据的一部分执行多个解析步骤。只有假定数据可被重新组装、重新构建、重新形成、解密或恢复到其原始或其它可用形式,才可通过任何希望的方式唯一地保护解析的数据的每个部分。应当理解,在不偏离本公开内容的范围的情况下,可在同一实现方式中组合这些方法中的一个或更多个。
根据这里描述的方法保护的数据可很容易地被检索,并且被恢复、重新构建、重新组装、解密或者以其它方式返回其原始或其它合适的可用形式。为了恢复原始数据,可以利用以下的项目:
1.数据集的一些或所有份额或部分。
2.再现用于保护数据的方法的处理流程的知识和能力。
3.对于会话主密钥的访问。
4.对于解析器主密钥的访问。
在一些实施例中,不是所有的项目都可能需要将根据上述的方法中的一个或更多个保护的数据的每个单元检索和恢复、重新构建、重新组装、解密或以其它方式返回到原始或其它合适的可用形式。在一些实施例中,可能需要以上没有明确列出的附加项目以恢复特定的数据单元。例如,在一些实现方式中,上述方法使用三种类型的用于加密的密钥。基于安装,每个类型的密钥可具有单个的密钥存储、检索、安全和恢复选项。可使用的密钥包括但不限于:
1.解析器主密钥可以是与安全数据解析器的安装相关联的单个密钥。它被安装在已部署了安全数据解析器的服务器上。存在适于存储这种密钥的各种选项,包括但不限于,例如智能卡、单独的硬件密钥存储库、标准密钥存储库、定制密钥存储库,或者例如在安全的数据库表内。
2.每当解析数据时,可产生会话主密钥。会话主密钥用于在解析操作之前加密数据。它也可用于解析加密的数据(如果会话主密钥不被集成到解析的数据中)。可通过各种方式存储会话主密钥,包括但不限于,例如标准密钥存储库、定制密钥存储库、单独的数据库表,或者在加密的份额内被保护。
3.份额加密密钥:对于创建的数据集的每个份额或部分,可产生单个的份额加密密钥,以进一步加密份额。可在与加密的份额不同的份额中存储份额加密密钥。
如图4所示,也可利用中间密钥。每当解析数据时,可产生中间密钥。中间密钥用于在解析操作之前加密数据。它也可作为解析加密的数据的手段被并入。
图5表示作为安全数据解析器500的安全数据解析器的例示性的实现方式。安全数据解析器500可包括用于使用模块502将数据解析成份额的内置能力。为了能够实现例如上述的N个中的M个解析,安全数据解析器500还可在模块504中包括内置的用于执行冗余的能力。安全数据解析器500还可包括使用模块506的份额分布能力,该模块506用于将份额放入到从中发送份额以供与远程位置的通信、以供存储等的缓冲器中。应当理解,任何其它的合适的能力可被内置到安全数据解析器500中。
组装数据缓冲器508可以是用于存储原始数据(虽然未必是以其原始形式)的任何合适的存储器,该原始数据将由安全数据解析器500来解析。在解析操作中,组装数据缓冲器508向安全数据解析器500提供输入。在恢复操作中,组装数据缓冲器508可用于存储安全数据解析器500的输出。
共享缓冲器510可以是可用于存储源自于原始数据的解析的数据的多个份额的一个或更多个存储器模块。在解析操作中,共享缓冲器510保持安全数据解析器的输出。在恢复操作中,共享缓冲器保持对于安全数据解析器500的输入。
应当理解,对于安全数据解析器500,可内置任何其它合适的能力布置。任何附加的特征可被内置,并且示出的特征中的任一个可被移除,使得其更健壮、使得其不太健壮,或者可以另外地以任何合适的方式进行修改。类似地,缓冲器508和510仅是例示性的,并且可以以任何合适的方式被修改、移除或添加。
以软件、硬件或两者实现的任何合适的模块可被安全数据解析器500调用,或者可调用到安全数据解析器500。如图所示,一些外部模块包括随机数产生器512、密码反馈密钥产生器514、哈希算法516、任意一种或更多种加密518、和密钥管理520。应当理解,这些仅是例示性的外部模块。除了示出的模块以外或者作为其替代,可以使用任何其它合适的模块。如果希望的话,一个或更多个外部模块可替代内置到安全数据解析器500中的能力。
密码反馈密钥产生器514可为每个安全数据解析器操作产生要用作将原始会话密钥尺寸(例如,128、256、512或1024比特的值)扩展到等于要被解析的数据的长度的值的操作的种子值的唯一密钥或随机数(例如,使用随机数产生器512)。可为密码反馈密钥产生而使用任何合适的算法,诸如AES密码反馈密钥产生算法。
为了促进将安全数据解析器500及其外部模块(例如,安全数据解析器层526)集成到应用层524(例如,电子邮件应用或数据库应用)中,可以使用可使用例如API功能调用的包装层。可以使用用于将安全数据解析器层526集成到应用层524中的任何其它合适的配置。
图5还表示当在应用层524中发出写入(例如,向存储装置)、插入(例如,在数据库字段中)或传送(例如,跨越网络)命令时可以如何使用安全数据解析器500和外部模块。在步骤550,要被解析的数据被识别,并且对安全数据解析器进行调用。调用穿过包装器层522,其中,在该步骤552,包装器层522将在步骤550识别的输入数据流传输到组装数据缓冲器508中。而且,在步骤552,可以存储任何合适的份额信息、文件名、任何其它合适的信息、或它们的任何组合(例如,作为包装器层522处的信息556)。安全数据解析器500然后解析它从组装数据缓冲器508作为输入取得的数据。它将数据份额输出到份额缓冲器510中。在步骤554,包装器层522从存储的信息556获得任何合适的份额信息(即,在步骤552通过包装器522存储的)和份额位置(例如,来自一个或更多个配置文件)。包装器层522然后适当地写入输出份额(从份额缓冲器510获得的)(例如,写入到在网络上通信的一个或更多个存储装置,等等)。
图6表示在出现读取(例如,从存储装置)、选择(例如,从数据库字段)或者接收(例如,从网络)时可以如何使用安全数据解析器500和外部模块。在步骤600,要被恢复的数据被识别,并且从应用层524进行对于安全数据解析器500的调用。在步骤602,从包装器层522获得任何合适的份额信息,并且确定份额位置。包装器层522将在步骤600识别的数据的多个部分加载到份额缓冲器510中。安全数据解析器500然后处理在这里描述的这些份额(例如,如果在四个份额中只有三个份额是可用的,那么可以使用安全数据解析器500的冗余能力,以仅使用这三个份额来恢复原始数据)。恢复的数据然后存储在组装数据缓冲器508中。在步骤504,应用层522将存储在组装数据缓冲器508中的数据转换成其原始数据格式(如果需要的话)并且向应用层524提供其原始格式的原始数据。
图7示出用于使用安全数据解析器的部件的示例性选项700。以下参照图7概述选项的几个示例性组合。如关于图5和图6描述的那样,安全数据解析器在本质上可以是模块化的,从而允许在图7所示的功能块中的每一个内使用任何已知的算法。图7的例子中所示的标签仅示出算法的一个可能的组合。作为标签的算法的替代,可以使用任何合适的算法或算法的组合。例如,作为沙米尔的替代,可以使用诸如布拉克利的其它密钥解析(例如,秘密共享)算法,或者AES加密可被诸如3DES的其它已知的加密算法替代。
1)710、716、717、718、719、720、721、722
如果在步骤710接收先前加密的数据,那么数据可被解析成预定数量的份额。如果解析算法需要密钥,那么可使用密码安全伪随机数产生器在步骤716产生会话密钥。会话密钥可在步骤718被解析成具有故障容限的预定数量的份额之前可选地在步骤717使用全有或全无变换(AoNT)被变换成变换会话密钥。数据然后在步骤719被解析成预定数量的份额。故障容限方案可在步骤720被使用以允许从少于份额的总数量的数据重新产生数据。一旦创建了份额,就可在步骤721将认证/完整性信息嵌入到份额中。每个份额可选地可在步骤722被后加密。
2)711、716、717、718、719、720、721、722
在一些实施例中,可在解析数据之前首先通过使用由用户或外部系统提供的预加密密钥加密输入数据。在步骤711提供外部预加密密钥。例如,可从外部密钥存储库提供密钥。如果解析算法需要密钥,那么可在步骤716通过使用密码安全伪随机数产生器产生会话密钥。会话密钥可以可选地在步骤718被解析成具有故障容限的预定数量的份额之前在步骤717中通过使用全有或全无变换(AoNT)被变换成变换会话密钥。数据然后在步骤719被解析成预定数量的份额。故障容限方案可在步骤720被使用以允许从比份额的总数量少的数据重新产生数据。一旦创建了份额,就可在步骤721将认证/完整性信息嵌入到份额中。每个份额可选地可在步骤722被后加密。
3)712、713、714、715、716、717、718、719、720、721、722
在一些实施例中,需要加密,但不使用用于预加密的外部密钥。在这种实施例中,可在步骤712使用密码安全伪随机数产生器产生加密密钥,以变换数据。可在步骤713进行使用产生的加密密钥来加密数据。加密密钥可选地可在步骤714使用全有或全无变换(AoNT)被变换成变换会话密钥。然后,变换加密密钥和/或产生的加密密钥可在步骤715被解析成具有故障容限的预定数量的份额。如果解析算法需要密钥,那么可在步骤716进行使用密码安全伪随机数产生器来产生会话密钥。会话密钥可选地可在步骤718被解析成具有故障容限的预定数量的份额之前在步骤717使用全有或全无变换(AoNT)被变换成变换会话密钥。数据然后在步骤719被解析成预定数量的份额。故障容限方案可在步骤720被使用以允许从比份额的总数量少的数据重新产生数据。一旦创建了份额,就可在步骤721将认证/完整性信息嵌入到份额中。每个份额然后可选地可在步骤722被后加密。
安全数据解析器可通过促进物理分离来提供灵活的数据保护。数据可首先被加密,然后被解析成具有“n个中的m个”故障容限的份额。这允许当少于总数量的份额可用时重新产生原始信息。例如,一些份额可能在传送中丢失或者被破坏。如后面更详细地讨论的那样,可从故障容限或者附加到份额的完整性信息重新创建丢失或破坏的份额。
为了创建份额,大量的密钥可选地被上述安全数据解析器利用。这些密钥可包括以下密钥中的一个或更多个:
预加密密钥:当选择份额的预加密时,外部加密密钥可被传送到安全数据解析器。该密钥可被产生并且被外部地存储在密钥存储库(或其它位置)中,并且可被用于可选地在解析数据之前加密数据。
内部加密密钥:该密钥可在内部产生并且被安全数据解析器用于在解析之前加密数据。然后,可使用密钥解析算法将该密钥安全地存储于份额内。
会话密钥:该密钥不与加密算法一起使用;而是,它可用于在选择随机解析时作为数据分割算法的密钥。当使用随机解析时,会话密钥可在内部产生并且被安全数据解析器用于将数据分成份额。可使用密钥解析算法将该密钥安全地存储于份额内。
后加密密钥:当选择份额的后加密时,外部密钥可被传送到安全数据解析器并且用于后加密单个的份额。该密钥可被产生并且被外部地存储在密钥存储库或其它适当的位置中。
在一些实施例中,当以这种方式使用安全数据解析器保护数据时,只有假定存在所有的需要的份额和外部加密密钥,信息才可被重新组装。
除了信息资产的个别保护以外,有时需要在不同的用户组或利益社团之间共享信息。于是,可能需要控制对于该用户组内的单个份额的访问,或者在仅允许组的成员重新组装份额的那些用户之间共享证书。因而,工作组密钥可被部署给组成员。工作组密钥应被保护并且保持机密,因为工作组密钥的损坏会潜在地允许组外的人访问信息。工作组密钥概念允许通过加密存储于份额内的密钥信息来增强信息资产的保护。一旦该操作被执行,即使所有需要的份额和其它外部密钥被发现,攻击者没有在不访问工作组密钥的情况下重新创建信息的希望。
图8表示用于在份额内存储密钥成分和数据成分的例示性的框图800。在示图800的例子中,可选的预加密和后加密步骤被省略,尽管可在其它实施例中包括这些步骤。
用于解析数据的简化处理包括首先在加密阶段802使用加密密钥加密数据。然后,加密密钥可选地可在阶段804利用工作组密钥被加密。然后,可选地通过工作组密钥加密的加密密钥可被解析成份额并且存储于数据份额812内。会话密钥808也可被解析并且存储于份额812内。使用会话密钥,加密密钥810被解析并且存储于份额812内。
为了恢复数据,可从份额812检索并且恢复会话密钥部分。然后,可逆转数据的解析操作以恢复加密的数据。加密密钥(利用工作组密钥被加密)的发可被检索并且加密的加密密钥被恢复。然后,加密的加密密钥可使用工作组密钥被解密。最后,加密的数据于是可使用加密密钥被解密以揭示原始数据。
存在用于部署和保护工作组密钥的几个安全方法。选择哪种方法以用于特定的应用依赖于大量的因素。这些因素可包括需要的安全水平、成本、便利性和工作组中的用户的数量。示例性的技术包括基于硬件的密钥存储和基于软件的密钥存储。
基于硬件的方案一般对加密系统中的加密/解密密钥的安全性提供最强的保证。基于硬件的密钥存储方案的例子包括在便携式装置(例如,智能卡/软件狗)或非便携式密钥存储外设中存储密钥的防盗密钥令牌装置。这些装置被设计为防止未授权方很容易地复制密钥材料。密钥可由受信任的机构产生并且分发给用户,或者在硬件内产生。另外,密钥存储系统可提供多因素认证,其中,密钥的使用要求访问物理对象(令牌)和口令句或生物识别。虽然对于高安全部署或应用可能希望专用的基于硬件的密钥存储,但其它的部署可选择直接在本地硬件(例如,盘、RAM或诸如USB驱动器的非易失性RAM存储器)上存储密钥。这针对内部攻击或者例如在攻击者能够直接访问加密机器的情况下提供低级保护。
为了保护盘上的密钥,基于软件的密钥管理常常通过利用从其它认证度量的组合导出的密钥以加密的形式存储密钥来保护密钥,该认证度量包括:密码和口令句、其它密钥(例如,来自基于硬件的方案)的存在、生物识别、或任何合适的组合。由这种技术提供的安全水平的范围可以为从由一些操作系统(例如,MSWindows和Linux)提供的相对弱的密钥保护机制到使用多因素认证实现的更健壮的方案。
可有利地在大量的应用和技术中使用在这里描述的安全数据解析器。例如,电子邮件系统、RAID系统、视频广播系统、数据库系统、磁带备份系统或任何其他合适的系统可以具有以任何合适的水平集成的安全数据解析器。如上面讨论的那样,应当理解,安全数据解析器也可通过包括例如有线、无线或物理传输介质的任何传输介质被集成用于任意类型的移动中的数据的保护和故障容限。作为一个例子,经由因特网协议的语音(VoIP)应用可利用安全数据解析器以解决与通常在VoIP中发现的回声和延迟有关的问题。通过使用故障容限,可以消除对丢弃的数据包进行网络重试的需求,即使在丢失了预定数量的份额的情况下,这也保证了数据包的传送。也可以以最小的延迟和缓冲有效地“在飞行中”解析和恢复数据包(例如,网络包),从而导致用于各种类型的移动中的数据的综合方案。安全数据解析器可作用于网络数据包、网络语音包、文件系统数据块、或者任何其它合适的信息单元。除了与VoIP应用集成以外,安全数据解析器可与文件共享应用(例如,对等文件共享应用)、视频广播应用、电子投票或轮询应用(可实现电子投票协议和盲签名,诸如Sensus协议)、电子邮件应用、或可能需要或者希望安全通信的任何其它网络应用相集成。
在一些实施例中,可由安全数据解析器在两个不同的阶段-头部产生阶段和数据解析阶段-提供对于移动中的网络数据的支持。分别在图9A和图9B中表示简化的头部产生阶段900和简化的数据解析阶段910。可对网络数据包、文件系统块或者任何其它合适的信息执行这些处理中的一个或两者。
在一些实施例中,可在网络数据包流的启动时就执行头部产生处理900。在步骤902,可产生随机(或伪随机)加密密钥K。然后,加密密钥K可选地可在AES密钥包装步骤904被加密(例如,使用上述工作组密钥)。虽然可在一些实施例中使用AES密钥包装,但是可在其它的实施例中使用任何合适的密钥加密或密钥包装算法。AES密钥包装步骤904可对整个加密密钥K进行操作,或者加密密钥可被解析成几个块(例如,64比特块)。如果希望的话,AES密钥包装步骤904然后可对加密密钥的块进行操作。
在步骤906,秘密共享算法(例如,沙米尔)可用于将加密密钥K解析成密钥份额。每个密钥份额然后可被嵌入到输出份额中的一个中(例如,在份额头部中)。最后,份额完整性块和(可选的)后认证标签(例如,MAC)可被附加到每个份额的头部块上。每个头部块可被设计为配合于单个数据包内。
在完成头部产生(例如,使用简化的头部产生处理900)之后,安全数据解析器可使用简化数据解析处理910进入数据分割阶段。在步骤912使用加密密钥K加密流中的每个进入的数据包或数据块。在步骤914,可对从步骤912得到的密文计算份额完整性信息(例如,哈希H)。例如,可以计算SHA-256哈希。在步骤916,数据包或数据块然后可使用上述数据解析算法中的一个被分割成两个或更多个数据份额。在一些实施例中,数据包或数据块可被解析,使得每个数据份额包含加密的数据包或数据块的基本上随机的分布。然后可向每个数据份额附加完整性信息(例如,哈希H)。在一些实施例中,也可计算可选的后认证标签(例如,MAC)并将其附加到每个数据份额上。
每个数据份额可包括元数据,该元数据对于允许正确重构数据块或数据包是需要的。该信息也可包括在份额头部中。元数据可包括诸如密码密钥份额、密钥识别、份额随机数(nonce)、签名/MAC值和完整性块的信息。为了使带宽效率最大化,可以以紧凑二进制格式存储元数据。
例如,在一些实施例中,份额头部包括明文头部块,该明文头部块不被加密并且可包括诸如沙米尔密钥份额、每会话随机数、每份额随机数、密钥识别符(例如,工作组识别符和后认证密钥识别符)的要素。份额头部也可包括利用加密密钥加密的加密头部块。在头部中也可包括完整性头部块,该完整性头部块可包括对于任何数量的先前块(例如,先前的两个块)的完整性检查。也可在份额头部中包括任何其它合适的值或信息。
如图10的例示性的份额格式1000所示,头部块1002可与两个或更多个输出块1004相关。每个头部块(诸如头部块1002)可被设计为配合于单个网络数据包内。在一些实施例中,在头部块1002从第一位置传送到第二位置之后,然后可传送输出块。替代地,可并行地同时传送头部块1002和输出块1004。可在一个或更多个类似或不类似的通信路径上进行传送。
每个输出块可包括数据部分1006和完整性/认证部分1008。如上所述,可使用包括加密的预分割的数据的份额完整性信息(例如,SHA-256哈希)的份额完整性部分来保护每个数据份额。为了在恢复时间验证输出块的完整性,安全数据解析器可比较每个份额的份额完整性块、然后逆转解析算法。然后可针对份额哈希验证恢复的数据的哈希。
在一些实施例中,可使用键入的信息分散来采用键入的秘密共享例程(例如,通过使用键入的信息分散算法或“IDA”)。也可通过一个或更多个外部工作组密钥、一个或更多个共享的密钥、或工作组密钥和共享的密钥的任意组合来保护用于键入的IDA的密钥。以这种方式,可以使用多因素秘密共享方案。为了重构数据,在一些实施例中可能需要至少“M个”份额和工作组密钥(和/或共享的密钥)。IDA(或用于IDA的密钥)也可被驱动到加密处理中。例如,变换可被驱动到明文中(例如,在加密之前的预处理层期间)并且可进一步保护被加密之前的明文。
在一些实施例中,会话密钥可在被解析以产生一个会话密钥份额之前使用共享的密钥(例如,工作组密钥)被加密。然后可通过组合至少一个加密的数据集份额和至少一个会话密钥份额形成两个或更多个用户份额。在形成用户份额时,在一些实施例中,至少一个会话密钥份额可交错成加密的数据集份额。在其它实施例中,至少一个会话密钥份额可在至少部分地基于共享的工作组密钥的位置处被插入到加密的数据集份额中。例如,键入的信息分散可用于将每个会话密钥份额分布于唯一的加密数据集份额中,以形成用户份额。在至少部分地基于共享的工作组的位置处将会话密钥份额交错或插入到加密数据集份额中,可在面对密码攻击时提供增加的安全性。在其它实施例中,一个或更多个会话密钥份额可附加到加密的数据集份额的开始或结尾,以形成用户份额。用户份额的集合然后可单独地存储在至少一个数据仓库上。一个或多个数据仓库可位于同一物理位置(例如,在同一磁存储装置或带存储装置上)或者在地理上分开(例如,处于不同地理位置的在物理上分开的服务器上)。为了重构原始数据集,可能需要用户份额和共享的工作组密钥的授权集。
安全数据解析器可用于实现云计算数据安全方案。云计算是基于网络的计算、存储或两者,其中,计算和存储资源可被提供给网络上的计算机系统和其它装置。云计算资源一般通过因特网被访问,但可通过任何合适的公共网络或私有网络执行云计算。云计算可在计算资源与它们的底层硬件部件(例如,服务器、存储装置、网络)之间提供抽象水平,从而使得能够远程访问计算资源池。这些云计算资源可被统称为“云”。云计算可用于提供动态可缩放并且常常虚拟化的资源,作为因特网或任何其它合适的网络或网络组合上的服务。
在图11中表示网络1100,该网络1100表示用于使用用于实现云计算数据安全方案的安全数据解析器的几个布置。网络1100包括用于数据和密钥处理和/或存储的两个云1102和1112、具有本地安全数据解析器1122的用户系统1120、不具有本地安全数据解析器的用户装置1130和数据接收者1140。
用户系统1120和1130与包括用于存储数据份额等功能的大量的云资源的云1102耦合。用户系统1120和1130可包括任何合适的硬件,诸如计算机终端、个人计算机、手持设备(例如,PDA、黑莓、智能电话、平板设备)、蜂窝电话、计算机网络、任何其它合适的硬件或它们的任意组合。用户系统1120可被配置为运行可与上述安全数据解析器的各种实施例类似的安全数据解析器1122。可以以用户系统1120的任何合适的水平来集成安全数据解析器1122。例如,安全数据解析器1122可以以足够后端的水平被集成到用户系统1120的硬件和/或软件中,使得安全数据解析器1122的存在对用户系统1120的最终用户来说基本上是透明的。接收者1140可类似地与云1102耦合以访问由其他用户存储的数据。
在一些实施例中,诸如用户装置1130的用户系统可不被配置为运行诸如数据解析器1122的安全数据解析器,而是可访问驻留于网络上、例如处于云1102中的数据安全服务1106中的外部数据解析器。云1102可包括多个例示性的云资源,诸如数据安全服务1106、注册/认证服务器1107和密钥贮存器1108。数据安全服务1106可用于对接收的数据执行诸如解析、加密和存储数据的操作,并且可与其它的云资源连接。注册/认证服务器1107可用于注册和认证安全存储系统的用户。在后面进一步详细描述注册/认证服务器1107的各种功能。密钥贮存器1108可包括在用户系统的外部以及在与存储数据的位置不同的物理位置存储诸如共享的密钥或工作组密钥的密钥的一个或更多个服务器或其它存储装置。用户装置或用户系统可通过直接与密钥贮存器1108通信或者通过数据安全服务1106访问这些密钥。云1102还具有n个联网的存储装置1104a至1104n。可由多个云资源提供商(例如Amazon、Google或Dropbox)来提供云资源。这些云计算资源仅是例示性的,并且可从用户系统1120和1130访问任何合适数量和类型的云计算资源。
注册/认证服务器1107可包括被配置为注册诸如安全数据解析器1122的用户、数据安全服务1106的用户和接收者用户1140(也可以是数据安全服务1106的用户)的安全存储系统的用户的一个或更多个处理器。用户可包括单个的用户、用户装置和用户或装置的组。注册/认证服务器1107可进一步被配置为存储诸如电子邮件地址或用户名的用户证书、认证用户(例如,基于存储的证书)、通过用户的电子邮件地址或其它证书查找用户、向密码共享客户机传送公共密钥、解除一个或更多个用户访问注册/认证服务器1107的授权。注册/认证服务器1107还可将用户或用户装置指引到存储位置1104中的一个或更多个以用于写入数据或用于检索数据。特别地,如果用户装置请求检索的数据已根据N中的M技术(需要N个份额中的M个份额以重新组装数据集或者将其恢复到其原始或可用形式的技术,其中M小于N)被解析,那么注册/认证服务器1107可识别并且向用户装置返回关于来自存储位置1104a-1104n之中的M个推荐存储位置的信息。用户装置然后可使用该信息以选择性地访问存储位置以检索希望的数据。
云1102和一个或更多个用户装置或系统(诸如用户系统1120)可与第二云1112通信。云1112包括多个存储装置1114a-1114n,并且可包括任何其它的云资源,诸如关于云1102描述的云资源。在一些实施例中,云1102可以是公共云(诸如Amazon、Google或Dropbox),而云1112可以是私有云,反之亦然。在其它实施例中,云1102和云1112可以是不同的公共云(例如,云1102可由Amazon提供,而云1112可由Google提供)。跨越不同的云存储数据份额和密钥共享可提供增强的数据安全性。除了在云中存储数据以外,一个或更多个数据份额、密钥份额或密钥可存储在诸如用户系统1120的本地存储器1124或用户装置1130的本地存储器的本地存储器中,并且一个或更多个数据份额、密钥份额或密钥可存储在诸如例如可移除贮存器1126或可移除贮存器1136的可移除贮存器(例如,USB存储器)上。可以使用任何合适数量的云。例如,在一些实施例中,云1102和云1112可形成单个云,或者可以仅使用云1102和云1112中的一个。在一些实施例中,可以使用三个或更多个云。
可移除贮存器1126或1136例如可为紧凑USB闪速驱动器、软盘、光盘或智能卡。在一些实施例中,可移除贮存器1126或1136可用于认证希望观看、加密或解密由数据安全装置1106管理的数据的远程用户的身份。在一些实施例中,可能要求可移除贮存器1126或1136通过数据安全装置1106启动数据的加密、解密或解析。在这种实施例中,可移除贮存器1126或1136可被视为物理令牌。授权的接收者1140也可访问被配置为认证接收者用户的可移除贮存器,使得接收者1140可检索和解密被授权访问的数据。
云计算的一个优点在于,用户(例如,用户装置1130或用户系统1120的用户)可能能够在不必调查专用存储硬件的情况下访问多个云计算资源。用户可具有动态控制可访问的云计算资源的数量和类型的能力。例如,用户装置1130或用户系统1120可在云中具有即时存储资源,该即时存储资源具有可基于当前要求动态调整的能力。在一些实施例中,一个或更多个软件应用(诸如在用户系统1120上执行的安全数据解析器1122或者用户装置1130上的因特网浏览器)可耦合用户与云资源1102。云资源1102与用户装置1130或用户系统1120的耦合可对用户透明,使得云资源1102对于用户来说看起来是本地硬件资源和/或专用硬件资源。
图12是用于执行这里描述的处理中的任一个的计算装置的框图。可在一个或更多个计算装置1200上实现这些系统的部件中的每一个。在某些方面,这些系统的多个部件可包括在一个计算装置1200内。在某些实现方式中,可跨越几个计算装置1200实现部件和存储装置。
计算装置1200包括至少一个通信接口单元、输入/输出控制器1210、系统存储器、和一个或更多个数据存储装置。系统存储器包括至少一个随机存取存储器(RAM1202)和至少一个只读存储器(ROM1204)。所有这些元件与中央处理单元(CPU1206)通信以促进计算装置1200的操作。可以以许多不同的方式配置计算装置1200。例如,计算装置1200可以是常规的分立计算机,或者替代地,可跨越多个计算机系统和结构分布计算装置1200的功能。在图12中,计算装置1200经由网络或本地网络与其它服务器或系统链接。
可以以分布式结构来配置计算装置1200,其中,数据库和处理器容纳在单独的单元或位置中。一些单元执行主要处理功能,并且最少包括一般控制器或处理器和系统存储器。在分布式结构实现方式中,这些单元中的每一个可经由通信接口单元1208附连到用作与其它服务器、客户机或用户计算机和其它有关装置的主要通信链接的通信集线器或端口(未示出)。通信集线器或端口可具有其自身的最小处理能力,从而主要用作通信路由器。各种通信协议可以是系统的一部分,包括但不限于以太网、SAP、SASTM、ATP、蓝牙TM、GSM和TCP/IP。
CPU1206包括处理器,诸如一个或更多个常规的微处理器和一个或更多个补充协处理器,诸如用于从CPU1206卸载工作负载的数学协处理器。CPU1206与通信接口单元1208和输入/输出控制器1210通信,通过这种通信,CPU1206与诸如其它服务器、用户终端或装置的其它装置通信。通信接口单元1208和输入/输出控制器1210可包括用于同时与例如其它处理器、服务器或客户机终端通信的多个通信信道。处理器可包括硬件和软件处理器的任意组合。硬件处理器包括处理电路,该处理电路可包括数字电路、集成电路、ASIC和微芯片等的任意组合。处理器与可以位于处理器的本地和远程的一个或更多个非暂时性计算机可读存储器单元通信。
CPU1206也与数据存储装置通信。数据存储装置可包括磁、光学或半导体存储器的合适的组合,并且可包括例如RAM1202、ROM1204、闪速驱动器、诸如紧致盘的光盘或硬盘或驱动器。CPU1206和数据存储装置可各自例如完全位于单个计算机或其它计算装置内;或者通过诸如USB端口、串行端口电缆、同轴电缆、以太网电缆、电话线、射频收发器或其它类似的无线或有线介质或以上的组合相互连接。例如,CPU1206可经由通信接口单元1208与数据存储装置连接。CPU1206可被配置为执行一个或更多个特定的处理功能。
数据存储装置可存储例如(i)用于计算装置1200的操作系统1212;(ii)适于根据这里描述的系统和方法、特别是根据关于CPU1206详细描述的处理来指引CPU1206的一个或更多个应用1214(例如,计算机程序代码或计算机程序产品);或(iii)可用于存储程序需要的信息的适于存储信息的数据库1216。
操作系统1212和应用1214可以例如以压缩、未压缩和加密的格式被存储,并且可包括计算机程序代码。程序的指令可从数据存储装置以外的计算机可读介质、诸如从ROM1204或者从RAM1202被读取到处理器的主存储器中。虽然程序中的多个指令序列的执行导致CPU1206执行这里描述的处理步骤,但是作为用于实现本公开内容的处理的软件指令的替代,或者与其组合,可以使用硬接线电路。因此,描述的系统和方法不限于硬件和软件的任何特定的组合。
可对关于这里描述的车辆路由和移动计划执行一个或更多个功能提供适当的计算机程序代码。程序也可包括诸如操作系统1212、数据库管理系统和允许处理器经由输入/输出控制器1210与计算机外设装置(例如,视频显示器、键盘、计算机鼠标等)连接的“装置驱动器”的程序要素。
这里使用的术语“计算机可读介质”指的是提供或者参与向计算装置1200(或这里描述的装置的任何其它处理器)提供用于执行的指令的任何非暂时性介质。这种介质可采取任何形式,包括但不限于非易失性介质和易失性介质。非易失性介质可包括例如光、磁或光磁盘或集成电路存储器,诸如闪存存储器。易失性介质包括一般构成主存储器的动态随机存取存储器(DRAM)。计算机可读介质的通常形式包括例如软盘、柔性盘、硬盘、磁带、任何其它磁介质、CD-ROM、DVD、任何其它光学介质、打孔卡、纸带、具有孔的图案的任何其它物理介质、RAM、PROM、EPROM或EEPROM(电可擦可编程只读存储器)、闪速EEPROM、任何其它存储器芯片或盒、或计算机可读取的任何其它非暂时性介质。
各种形式的计算机可读介质可参与将用于执行的一个或更多个指令的一个或更多个序列运载到CPU1206(或这里描述的装置的任何其它处理器)。例如,指令可首先承载于远程计算机(未示出)的磁盘上。远程计算机可将指令加载到其动态存储器中并且通过以太网连接、电缆线或者甚至使用调制器的电话线发送指令。位于计算装置1200(例如,服务器)的本地的通信装置可在相应的通信线上接收数据,并且在处理器的系统总线上放置数据。系统总线将数据运载到处理器从中检索和执行指令的主存储器。被主存储器接收的指令可以可选地在被处理器执行之前或之后存储于存储器中。另外,可作为电、电磁或光信号经由通信端口接收指令,这些信号是承载各种类型的信息的无线通信或数据流的示例性形式。
这里描述的安全数据解析技术可使用虚拟机被应用于数据访问,特别是被应用于虚拟机和一个或更多个服务器或最终用户之间的通信。在于2011年8月18日提交的美国专利申请第13/212,360号中详细描述了用于在集成虚拟机和主机安全操作的虚拟机计算环境内提供附加的安全特征的系统和方法,其全部内容通过引用合并于此。
例如,通过保护要存储在文件系统中的数据或者通过恢复从文件系统检索的安全数据,可使用截取要存储在文件系统上的数据并且修改截取的数据中的至少一些的密码文件分离层,实现上述的系统和方法中的任一个。根据一个方面,密码文件系统层截取在应用层与文件系统层之间传递的数据,并且仅修改位于一个或更多个指定目录中的数据。如果文件在指定目录中,那么它在被存储之前被修改,这为该文件提供了增加的安全性;如果文件不在指定目录中,那么它不被修改。为了逆转在文件存储之前密码文件系统层执行的修改,指定目录中的检索文件也被修改。
图13是表示包括密码文件系统层的几个软件层的布置的框图。如图13所示,密码文件系统层位于应用层下面并且处于在一些实施例中(例如,Windows)中称为可安装文件系统的虚拟文件系统(VFS)的顶部。VFS是在允许应用访问不同类型的文件系统的文件系统的顶部的抽象层。VFS允许应用使用公共的一组调用来访问多个文件系统。VFS和密码文件系统层可处于核心层内。由于密码文件系统层位于应用层与VFS层之间,因此经由VFS从应用层到文件系统的调用也通过密码文件系统层,这允许密码文件系统截取并且修改从应用层传送到文件系统或者从文件系统传送到应用层的数据。
密码文件系统层也可对文件执行一个或更多个修改或操作。例如,密码文件系统层可执行加密、单因素数据分离、多因素数据分离、向分离处理添加阈值性能(例如,创建N中的M分离和规定M是恢复数据所需要的数据份额的阈值)和认证中的一个或任意组合。密码文件系统层可对所有的文件或者位于一个或多个指定目录中的文件执行选择的修改。
在一些实施例中,密码文件系统层对于用户来说是透明的。存储于安装点上的文件和目录是直接可见的,并且密码文件系统层可保持描述文件和目录的数据(例如,信息节点统计、所有权和安全描述)。对于用户来说,文件系统可具有与不安装密码文件系统相同的外观和感觉。例如,如果密码文件系统层通过将文件分离为多个片段来修改文件,那么文件对于用户来说仍看起来是单个文件。作为另一例子,如果密码文件系统的修改增加存储于系统上的文件的尺寸,那么向用户表示修改之前的文件的尺寸。
在一些实现方式中,密码文件系统层包括以下四个部件:
1.识别指定目录位置的数据,对于该数据,这些目录位置(包括子目录)中的文件应被修改。
2.处理还没有被密码文件系统层截取并因此还没有被修改的指定目录位置中的文件的背景模块。
3.处理被密码文件系统层截取的指定目录位置中的文件的活动模块。
4.报告数据修改的进展的符合性模块。符合性模块可针对总的希望目标来报告修改的进展(例如,针对指定目录中的文件的数量而修改的文件的数量的百分比,或者针对指定目录中的文件的总尺寸而修改的文件的总尺寸的百分比),并且可输出提供关于修改的进展的信息的报告。
将在后面参照图14-65进一步描述这些部件。
密码文件系统层的安装和配置
密码文件系统层的安装、配置和操作优选(但未必)被设计为对用户透明,并且对用户和系统操作具有最小的影响。密码文件系统层可在不需要重新启动或重新开始的情况下被安装和配置在服务器、虚拟机或另一计算系统上。在一些实施例中,密码文件系统的安装和配置对用户或管理员的部分没有干涉或者具有很小的干涉,并且安装和配置不扰乱在计算系统或虚拟机上运行的程序的操作。在一些实施例中,密码文件系统层的安装和操作不改变驱动映射或驱动命名中的任一个,并且不需要包括创建或使用附加的安装点。下面描述安装和配置处理的某些实施例的细节。
安装
可按照用户安装命令或者可自动地安装密码文件系统。在一些实施例中,安装不需要用户输入或者介入;在其它情况中,用户可采取一些触发密码文件系统层的安装的动作,并且不需要进一步的输入。例如,用户可下载可自动安装的密码文件系统层的软件,或者用户可安装触发密码文件系统层的安装的除密码文件系统以外的软件。在另一例子中,用户、组或公司可使得在与用户、组或公司相关或者变得与其相关的一些或所有装置上自动地安装密码文件系统层。
在一些实施例中,密码文件系统层可被安装在虚拟机上。在这种情况下,预定义的虚拟机配置可在创建新虚拟机时触发密码文件系统层的安装。替代地,可在打开特定的程序或者由虚拟机或在虚拟机中采取其它动作时触发密码文件系统层的安装。
安装处理可创建包括安装信息的缺省配置文件。以下讨论关于配置文件和配置文件的变化的其它信息。
指定目录
在配置之前、期间或之后,用户或管理员可指定一个或更多个目录。另外,在一些实施例中,一个或更多个目录被自动指定。各指定目录中的文件将被密码文件系统层截取和修改;其它目录中的文件将在没有修改的情况下通过密码文件系统层。在一些实施例中,指定目录可以是在安装和配置密码文件系统层之前创建的目录。这允许密码文件系统层在不需要修改现有文件的目录位置的情况下修改现有文件。在其它实施例中,空的目录位置可被指定为指定目录。在这种情况下,密码文件系统层将自动地修改添加到指定目录的任何新文件。也可在配置密码文件系统层之后添加新的指定目录。因此,可在密码文件系统层的动作之前或期间自动地修改指定的目录列表。在一些实施例中,可以以其它方式指定内容,诸如指定的特定文件、使用指定文件的文件扩展、或者使用其它的基于属性的准则来指定要修改的内容。
配置
可使用任意数量的配置方法来配置密码文件系统层。在一个实现方式中,在配置文件中设定用于密码文件系统层的各种选项。例如,配置文件可指示要执行的修改的类型、用于存储分离文件的一个或更多个存储位置、和指定目录。可提供缺省配置。该缺省配置可由密码文件系统层开发人员选择,或者它可基于用户信息、组或公司偏好、由其它软件、系统配置或要求指示的信息或偏好、或任何其它信息。如上所述,可在安装期间创建缺省配置文件。
用户或管理人员可定制配置的一个或更多个方面。可使用例如基于HTML的交互问答模式或命令线配置过程来接收对配置的定制。执行配置的操作人员可接收缺省配置设定,并且在配置期间根据希望定制设定。配置方面中的一些(诸如指定目录的列表)可在初始配置之后改变。可使用例如基于HTML的交互模式、命令线模式或文本编辑器模式来修改这些配置方面。其它的配置方面(诸如对文件执行的修改或一组修改)可能不能被修改。
在配置期间,密码文件系统层可产生缺省服务器密钥,并且提供由服务器密钥保护的密钥存储库的缺省安装位置。在使用分层密钥系统的一些实施例中,服务器密钥保护工作组密钥存储库。在一些分层的系统中,服务器密钥保护包括外部工作组密钥的工作组密钥存储库,并且每个外部工作组密钥保护用于加密和/或分离每个数据文件的核心密钥。在一些实施例中,多个服务器可作用于同一数据,并且可分别需要访问工作组密钥。在这种实施例中,每个服务器被赋予服务器密钥,使得它可访问工作组密钥存储库。在一些实施例中,服务器密钥的位置可在初始配置之后移动,并且/或者,新服务器密钥可被创建并且被赋予位置。
密码文件系统层的操作
修改的类型
密码文件系统层可被配置为执行一个或更多个类型的修改。这些修改可包括加密、数据混洗、单因素数据分离、多因素数据分离、向分离处理添加阈值属性(例如,创建N中的M分离,其中,M是恢复数据所需要的份额的阈值)和认证中的一个或更多个。在上面描述了这些类型的操作的例子。可使用这里描述的恢复操作中的任一个从修改的数据恢复原始数据。
密码文件系统层可被配置为执行上述修改中的一些或全部,并且可执行一个或更多个附加的或替代性的类型的修改。例如,密码文件系统层可加密数据、或者加密并且认证数据、或者搅乱并且认证数据。这些修改中的每一个导致单个的修改的数据文件。作为另一例子,密码文件系统层可将数据分离为几个份额并认证每个份额,从而导致多个修改的文件。当修改仅导致单个文件时,作为结果的修改文件可存储在与会在不存在密码文件系统层的情况下存储文件的文件系统中的相同位置。当修改导致多个文件(例如,多个数据份额)时,作为结果的修改的文件中的一个或更多个存储在与会在不存在密码文件系统层的情况下存储文件的文件系统中的位置不同的位置。以下描述当经由密码文件系统层读取和写入文件时采取的步骤。
在一些实施例中,如果存储的文件被编辑,那么密码文件系统层检索整个文件、逆转修改并且对未修改的文件进行编辑。在其它实施例中,可以在不需要逆转修改和/或检索整个文件的情况下修改和存储编辑。例如,被编辑的一个文件可被检索、逆转修改、编辑、修改和存储。
写入命令
图14是表示在写入操作期间的在应用层、密码文件系统层和文件系统层之间的交互作用的示意图。如上面讨论的那样,可在密码文件系统层和文件系统层之间存在虚拟文件系统层或可安装文件系统层;在图14中没有示出该层。在图14中,应用层发送穿过密码文件系统层的写入文件命令。存储指定目录的列表的密码文件系统层比较包括在写入文件命令中的文件的目录位置与指定目录的列表中的目录,以确定被写入的文件是否位于指定目录或指定目录的子目录中。
如果被写入的文件不位于指定目录的列表中,那么写入文件命令被传送到文件系统层,该文件系统层实施写入命令。如果被写入的文件处于指定目录的列表中,那么密码文件系统层基于由配置文件规定的一个或更多个修改来保护文件。在图14所示的例子中,单个文件被修改为单个文件,并且修改不包括将文件分离成多个份额。用于修改的文件的写入文件命令然后被发送到文件系统层。文件系统层可能不知道文件已被修改,并且只以与它存储未修改的文件相同的方式存储修改的文件。
图15表示在写入操作期间的在应用层、密码文件系统层和文件系统层之间的交互作用的另一示意图。在图15的例子中,配置文件例如通过使用N中的N分离(需要N中的N份额以恢复数据)或N中的M分离(需要N中的M份额以恢复数据,M<N)。确定文件是否位于指定目录中以及写入不位于指定目录中的处理与关于图14描述的处理相同。但是,保护处理与图14不同:在图15中,保护处理导致在文件系统外面存储的多个份额1至n。例如,在图15中,份额1至n存储在二次贮存器中,该二次贮存器例如可以是云。在一些实施例中,一个或更多个份额存储在文件系统中。例如,份额中的一个可存储在文件系统中,并且剩余的份额可存储在二次存储位置。
读取命令
图16表示在读取操作期间的在应用层、密码文件系统层、文件系统层和文件系统之间的交互作用的示意图。如图14和图15所示,虚拟文件系统层或可安装文件系统层(如果存在的话)没有被示出。在图16的例子中,密码文件系统层被配置为如图14所示的那样将文件修改成单个文件;在与不被修改的情况下会被存储的文件系统上的相同位置,密码文件系统层将每个文件修改和存储为单个文件。在这种情况下,文件读取请求穿过密码文件系统层以到达文件系统层,该文件系统层从文件系统检索文件。当请求的文件通过密码文件系统层回来时,密码文件系统层比较请求的文件的目录位置与指定目录的列表中的目录,以确定请求的文件是否位于指定的目录或指定目录的子目录中。如果请求文件不位于指定目录的列表中,那么请求的文件只传送到应用层。如果写入的文件位于指定目录的列表中,那么密码文件系统层通过逆转由配置文件规定的修改来恢复原始文件。原始文件然后被传送到应用层。在其它实施例中,当密码文件系统层接收读取请求时执行比较步骤,并且当密码文件系统层接收请求文件时不执行。
图17表示以与关于图15描述的分离修改类似的方式修改的文件的读取操作期间的在应用层、密码文件系统层和文件系统层之间的交互作用的另一示意图。在这种情况下,密码文件系统截取进来的文件请求并且比较请求文件的目录位置与指定目录的列表中的目录,以确定请求的文件是否位于指定目录或指定目录的子目录中。如果请求文件不位于指定目录的列表中,那么请求的文件简单地将请求传送到文件系统,并且检索的文件在没有密码文件系统层的进一步的动作的情况下返回到应用层。如果写入的文件位于指定目录的列表中,那么密码文件系统层例如从二次贮存器、从文件系统中的规定位置或者从存储位置的组合检索数据的M个份额(这里,M是恢复原始数据所需要的份额的阈值数量)。在检索M个份额之后,密码文件系统层通过逆转由配置文件规定的修改来恢复原始文件。原始文件然后被传送到应用层。
背景转换处理
在一些实施例中,在密码文件系统层配置之后,如果在指定目录中存在文件,那么通过背景模块自动地修改文件。背景模块也在指定已包括文件的新目录时以及在新文件移动到指定目录中时修改文件。
当密码文件系统层首次被配置时,它可修改指定目录中的所有文件。在图18中表示该转换处理的例子。首先,密码文件系统层的背景模块访问指定目录的列表。背景模块然后识别指定目录中的所有文件并且创建识别这些文件的列表。背景层修改并存储每个文件,并且从识别要修改的文件的列表移除文件。如以上关于图14和图15描述的写入命令那样,基于配置文件修改和存储文件。在一些实施例中,符合性模块跟踪该修改的进展,直到完成转换。不管什么时候文件移动到指定目录中或者当新目录被指定时,执行该处理。
在文件被修改之后,通过密码文件系统层的活动模块监视该文件上的任何其它I/O动作(例如,以上讨论的读取和写入操作)。活动和背景模块可通信以防止同时的文件修改。例如,如果活动模块尝试检索处于被修改的处理中的文件,那么背景模块可防止活动模块访问该文件,直到完成修改。类似地,如果活动模块正在处理文件,那么背景模块将不对该文件操作。
一般化的活动转换处理
在图19中表示由活动模块执行的转换处理。该转换处理代表当如上面讨论的那样写入、读取或修改文件时采取的动作。密码文件系统层的活动模块首先访问指定目录的列表。活动模块然后监视应用层与文件系统之间的所有I/O通信;这些通信与数据文件相关联。活动模块确定与通信相关的数据文件的目录位置是否位于指定目录或指定目录中的子目录中的一个中。如果不是,那么活动模块继续监视通信。如果与通信相关联的数据文件的目录位置不位于指定目录或指定目录的子目录中的一个中,那么例如,如上所述,通过修改被写入的数据或者不修改被读取的数据来修改通信。
从指定目录移除文件
在一些实施例中,当从指定目录移除文件时,密码文件系统层在存储之前逆转对其执行的修改。原始文件然后被传送到VFS并且存储于修改内。在文件修改被逆转时,符合性模块可将数据修改报告为大于100%(例如,如果在文件被移除之前数据修改处于100%),或者,当报告修改的数据的百分比时,符合性模块可以不考虑被逆转修改的数据。
虽然以上描述了安全数据解析器的一些应用,但是,很显然,为了增加安全性、数据容限、匿名性或以上的任何适当的组合,本发明可与任何网络应用集成。
另外,对于本领域技术人员来说,鉴于这里的公开内容,其它的组合、添加、替代和修改将是十分清楚的。

Claims (28)

1.一种方法,包括:
通过处理电路接收指定目录位置的识别,其中,指定目录位置能用于存储一个或更多个数据文件;
在与处理电路通信的非暂时性计算机可读存储器上存储指示一个或更多个数据文件中的每一个的相应安全状态的安全数据;
监视应用层与文件系统层之间的通信界面以检测与指定目录位置相关联的通信;
检测文件系统层与应用层之间的通信与指定目录位置相关联;和
响应于检测,(1)修改与通信相关联的数据文件以获得修改的数据文件,(2)将通信与修改的数据文件相关联以获得修改的通信,(3)更新数据文件的安全状态,和(4)向文件系统层或应用层发送修改的通信。
2.根据权利要求1所述的方法,还包括:
响应于检测文件系统层与应用层之间的通信不与指定目录位置相关联,在不修改与通信相关联的目录位置或数据文件的情况下向应用层或文件系统层发送通信。
3.根据前面的权利要求中的任一项所述的方法,其中,修改数据文件包括对数据文件执行加密或解密运算,以产生修改的数据文件。
4.根据前面的权利要求中的任一项所述的方法,其中,修改数据文件包括通过对数据文件的内容执行密码运算产生修改的数据文件并基本上随机地在修改的数据文件中分布数据文件的内容,其中,所述分布导致数据文件中的数据的至少两个单元的重新排序。
5.根据前面的权利要求中的任一项所述的方法,还包括从修改的数据文件产生多个二次块并且在相应的共享位置存储二次数据块中的每一个。
6.根据前面的权利要求中的任一项所述的方法,其中,存储、监视和修改对于应用层或文件系统层的用户分别是透明的。
7.根据前面的权利要求中的任一项所述的方法,还包括在创建目录时自动地将目录指定为指定的目录位置。
8.根据前面的权利要求中的任一项所述的方法,其中,指定的目录位置包括一个或更多个物理目录位置中的指定文件的虚拟目录。
9.根据前面的权利要求中的任一项所述的方法,其中,指定的目录位置包括具有指定类型的文件的虚拟目录。
10.根据前面的权利要求中的任一项所述的方法,其中,指定的目录位置包括具有规定的内容属性的文件的虚拟目录。
11.根据前面的权利要求中的任一项所述的方法,还包括产生指示修改的数据文件与要被修改的数据文件的总目标的比例的符合性数据。
12.根据前面的权利要求中的任一项所述的方法,其中,符合性数据指示修改的数据文件的数量相对于要被修改的数据文件的总数量的百分比。
13.根据前面的权利要求中的任一项所述的方法,其中,符合性数据指示修改的数据文件的尺寸相对于要被修改的数据文件的总尺寸的百分比。
14.一种系统,包括:
与非暂时性计算机可读存储器通信的处理电路,该处理电路被配置为:
接收指定的目录位置的识别,其中,指定的目录位置能用于存储一个或更多个数据文件;
在非暂时性计算机可读存储器上存储指示一个或更多个数据文件中的每一个的相应安全状态的安全数据;
监视应用层与文件系统层之间的通信界面以检测与指定的目录位置相关联的通信;
检测文件系统层与应用层之间的通信与指定的目录位置相关联;和
响应于检测,(1)修改与通信相关联的数据文件以获得修改的数据文件,(2)将通信与修改的数据文件相关联以获得修改的通信,(3)更新数据文件的安全状态,和(4)向文件系统层或应用层发送修改的通信。
15.根据权利要求14所述的系统,其中,处理电路包括云计算环境中的一个或更多个硬件处理器。
16.根据权利要求14和15中的任一项所述的系统,其中,非暂时性计算机可读存储器包括云计算环境中的一个或更多个存储位置。
17.根据权利要求14-16中的任一项所述的系统,其中,处理电路进一步被配置为:
响应于检测文件系统层与应用层之间的通信不与指定目录位置相关联,在不修改与通信相关联的目录位置或数据文件的情况下,向应用层或文件系统层发送通信。
18.根据权利要求14-17中的任一项所述的系统,其中,处理电路被配置为通过对数据文件执行加密或解密运算修改数据文件以产生修改的数据文件。
19.根据权利要求14-18中的任一项所述的系统,其中,处理电路进一步被配置为通过对数据文件的内容执行密码运算产生修改的数据文件并基本上随机地在修改的数据文件中分布数据文件的内容,其中,所述分布导致数据文件中的数据中的至少两个单元的重新排序。
20.根据权利要求14-19中的任一项所述的系统,其中,处理电路进一步被配置为从修改的数据文件产生多个二次块并且在相应的共享位置存储二次数据块中的每一个。
21.根据权利要求14-20中的任一项所述的系统,其中,处理电路被配置为对应用层或文件系统层的用户透明地执行存储、监视和修改。
22.根据权利要求14-21中的任一项所述的系统,其中,处理电路进一步被配置为在创建目录时自动地将目录指定为指定的目录位置。
23.根据权利要求14-22中的任一项所述的系统,其中,指定的目录位置包括一个或更多个物理目录位置中的指定文件的虚拟目录。
24.根据权利要求14-23中的任一项所述的系统,其中,指定的目录位置包括具有指定类型的文件的虚拟目录
25.根据权利要求14-24中的任一项所述的系统,其中,指定的目录位置包括具有规定的内容属性的文件的虚拟目录。
26.根据权利要求14-25中的任一项所述的系统,其中,处理电路进一步被配置为产生指示修改的数据文件与要被修改的数据文件的总目标的比例的符合性数据。
27.根据权利要求14-26中的任一项所述的系统,其中,符合性数据指示修改的数据文件的数量相对于要被修改的数据文件的总数量的百分比。
28.根据权利要求14-27中的任一项所述的系统,其中,符合性数据指示修改的数据文件的尺寸相对于要被修改的数据文件的总尺寸的百分比。
CN201480018084.XA 2013-02-13 2014-02-13 用于加密文件系统层的系统和方法 Expired - Fee Related CN105051750B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201361764532P 2013-02-13 2013-02-13
US61/764,532 2013-02-13
PCT/US2014/016295 WO2014127147A1 (en) 2013-02-13 2014-02-13 Systems and methods for a cryptographic file system layer

Publications (2)

Publication Number Publication Date
CN105051750A true CN105051750A (zh) 2015-11-11
CN105051750B CN105051750B (zh) 2018-02-23

Family

ID=50771553

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480018084.XA Expired - Fee Related CN105051750B (zh) 2013-02-13 2014-02-13 用于加密文件系统层的系统和方法

Country Status (7)

Country Link
US (3) US9881177B2 (zh)
EP (1) EP2956887A1 (zh)
CN (1) CN105051750B (zh)
AU (1) AU2014216207A1 (zh)
CA (1) CA2900504A1 (zh)
HK (1) HK1219160A1 (zh)
WO (1) WO2014127147A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106909855A (zh) * 2017-03-24 2017-06-30 腾讯科技(深圳)有限公司 文件隐藏方法及装置
CN110998582A (zh) * 2017-08-04 2020-04-10 比特梵德知识产权管理有限公司 安全存储装置
CN111739190A (zh) * 2020-05-27 2020-10-02 深圳市元征科技股份有限公司 车辆诊断文件加密方法、装置、设备及存储介质
CN112883349A (zh) * 2021-04-29 2021-06-01 深圳市科力锐科技有限公司 数据还原方法、装置、设备及存储介质

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7562053B2 (en) 2002-04-02 2009-07-14 Soluble Technologies, Llc System and method for facilitating transactions between two or more parties
US9374344B1 (en) 2013-03-29 2016-06-21 Secturion Systems, Inc. Secure end-to-end communication system
US9317718B1 (en) 2013-03-29 2016-04-19 Secturion Systems, Inc. Security device with programmable systolic-matrix cryptographic module and programmable input/output interface
US9355279B1 (en) 2013-03-29 2016-05-31 Secturion Systems, Inc. Multi-tenancy architecture
US9524399B1 (en) * 2013-04-01 2016-12-20 Secturion Systems, Inc. Multi-level independent security architecture
US9294276B2 (en) * 2014-02-10 2016-03-22 International Business Machines Corporation Countering server-based attacks on encrypted content
GB2513260B (en) * 2014-06-27 2018-06-13 PQ Solutions Ltd System and method for quorum-based data recovery
SE538279C2 (sv) 2014-09-23 2016-04-19 Kelisec Ab Förfarande och system för att fastställa förekomst av
SE539602C2 (en) 2014-10-09 2017-10-17 Kelisec Ab Generating a symmetric encryption key
SE540133C2 (en) 2014-10-09 2018-04-10 Kelisec Ab Improved system for establishing a secure communication channel
SE542460C2 (en) 2014-10-09 2020-05-12 Kelisec Ab Improved security through authenticaton tokens
SE538304C2 (sv) 2014-10-09 2016-05-03 Kelisec Ab Improved installation of a terminal in a secure system
SE539271C2 (en) 2014-10-09 2017-06-07 Kelisec Ab Mutual authentication
US10031679B2 (en) 2014-11-21 2018-07-24 Security First Corp. Gateway for cloud-based secure storage
WO2016130030A1 (en) * 2015-02-10 2016-08-18 Nord-Systems Sp. Z O.O. Method of securing data using threshold cryptography
EP3309995B1 (en) * 2015-06-09 2020-02-19 Nippon Telegraph And Telephone Corporation Key exchange method, key exchange system, key distribution device, communication device, and program
US11283774B2 (en) 2015-09-17 2022-03-22 Secturion Systems, Inc. Cloud storage using encryption gateway with certificate authority identification
US10708236B2 (en) 2015-10-26 2020-07-07 Secturion Systems, Inc. Multi-independent level secure (MILS) storage encryption
JP6703706B2 (ja) * 2016-01-18 2020-06-03 リアル・テクノロジー株式会社 暗号文管理方法、暗号文管理装置及びプログラム
JP6300286B1 (ja) * 2016-12-27 2018-03-28 株式会社ZenmuTech アクセス管理システム、アクセス管理方法及びプログラム
US20180285591A1 (en) * 2017-03-29 2018-10-04 Ca, Inc. Document redaction with data isolation
US11005890B2 (en) * 2017-03-30 2021-05-11 Mcafee, Llc Secure software defined storage
CN108733311B (zh) * 2017-04-17 2021-09-10 伊姆西Ip控股有限责任公司 用于管理存储系统的方法和设备
CN107359989A (zh) * 2017-08-03 2017-11-17 广东美的制冷设备有限公司 数据加密方法、安全芯片及计算机可读存储介质
US11048537B2 (en) 2017-11-10 2021-06-29 Microsoft Technology Licensing, Llc Virtual machine compute re-configuration
US10623181B2 (en) * 2018-01-02 2020-04-14 Bank Of America Corporation Security system utilizing vaultless tokenization and encryption
CN108491723A (zh) * 2018-03-03 2018-09-04 淄博职业学院 一种计算机的加解密方法及装置
US10698709B2 (en) 2018-03-07 2020-06-30 Microsoft Technology Licensing, Llc Prediction of virtual machine demand
US10084600B1 (en) 2018-04-16 2018-09-25 Xage Security, Inc. Decentralized information protection for confidentiality and tamper-proofing on distributed database
US11239998B2 (en) * 2018-08-17 2022-02-01 Purdue Research Foundation System architecture and method of processing data therein
US10402573B1 (en) * 2018-09-07 2019-09-03 United States Of America As Represented By The Secretary Of The Navy Breach resistant data storage system and method
US11087012B2 (en) 2018-10-22 2021-08-10 Cibecs International Ltd. Data protection system and method
CN113994626B (zh) * 2019-05-22 2023-01-17 妙泰公司 具有增强的安全性、弹性和控制的分布式数据存储方法及系统
US11159326B1 (en) * 2019-08-29 2021-10-26 Hiro Systems Pbc Client-side authentication system and associated method
US11770377B1 (en) * 2020-06-29 2023-09-26 Cyral Inc. Non-in line data monitoring and security services

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1503143A (zh) * 2002-11-26 2004-06-09 南京易思克网络安全技术有限责任公司 一种网络安全系统及安全方法
US6981141B1 (en) * 1998-05-07 2005-12-27 Maz Technologies, Inc Transparent encryption and decryption with algorithm independent cryptographic engine that allows for containerization of encrypted files
US20120110328A1 (en) * 2010-10-27 2012-05-03 High Cloud Security, Inc. System and Method For Secure Storage of Virtual Machines

Family Cites Families (187)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4453074A (en) 1981-10-19 1984-06-05 American Express Company Protection system for intelligent cards
US4924513A (en) 1987-09-25 1990-05-08 Digital Equipment Corporation Apparatus and method for secure transmission of data over an unsecure transmission channel
US5485474A (en) 1988-02-25 1996-01-16 The President And Fellows Of Harvard College Scheme for information dispersal and reconstruction
FR2632469B1 (fr) 1988-06-03 1991-08-02 Pailles Jean Claude Dispositif de communication securisee de donnees
EP0354774B1 (en) 1988-08-11 1996-04-10 International Business Machines Corporation Data cryptography using control vectors
US4932057A (en) 1988-10-17 1990-06-05 Grumman Aerospace Corporation Parallel transmission to mask data radiation
US5016274A (en) 1988-11-08 1991-05-14 Silvio Micali On-line/off-line digital signing
GB2237670B (en) 1989-11-03 1993-04-07 De La Rue Syst Reciprocal transfer system
US5682425A (en) 1990-04-23 1997-10-28 Canon Kabushiki Kaisha Information signal transmission system
US5010572A (en) 1990-04-27 1991-04-23 Hughes Aircraft Company Distributed information system having automatic invocation of key management negotiations protocol and method
US5051745A (en) 1990-08-21 1991-09-24 Pkware, Inc. String searcher, and compressor using same
US5177342A (en) 1990-11-09 1993-01-05 Visa International Service Association Transaction approval system
JPH04297157A (ja) 1991-03-14 1992-10-21 Mitsubishi Electric Corp データ暗号装置
US5239659A (en) 1991-06-19 1993-08-24 Storage Technology Corporation Phantom duplex copy group apparatus for a disk drive array data storge subsystem
US5150407A (en) 1991-12-16 1992-09-22 Chan Steve S C Secured data storage devices
GB2264798A (en) 1992-03-04 1993-09-08 Hitachi Ltd High speed access control
US5748147A (en) 1992-03-04 1998-05-05 Motorola Inc Position locating rescue transceiver
US5276735A (en) 1992-04-17 1994-01-04 Secure Computing Corporation Data enclave and trusted path system
US5375244A (en) 1992-05-29 1994-12-20 At&T Corp. System and method for granting access to a resource
US5268963A (en) 1992-06-09 1993-12-07 Audio Digital Imaging Inc. System for encoding personalized identification for storage on memory storage devices
US5267314A (en) 1992-11-17 1993-11-30 Leon Stambler Secure transaction system and method utilized therein
US5533051A (en) 1993-03-12 1996-07-02 The James Group Method for data compression
US5450099A (en) 1993-04-08 1995-09-12 Eastman Kodak Company Thermal line printer with staggered head segments and overlap compensation
JP2550864B2 (ja) 1993-05-31 1996-11-06 日本電気株式会社 ジョブ実行における分散型制御方法及びその装置
US5991753A (en) * 1993-06-16 1999-11-23 Lachman Technology, Inc. Method and system for computer file management, including file migration, special handling, and associating extended attributes with files
GB9323489D0 (en) 1993-11-08 1994-01-05 Ncr Int Inc Self-service business system
ES2158081T3 (es) 1994-01-13 2001-09-01 Certco Inc Sistema criptografico y metodo con caracteristica de deposito de claves.
US6473860B1 (en) 1994-04-07 2002-10-29 Hark C. Chan Information distribution and processing system
US5748735A (en) 1994-07-18 1998-05-05 Bell Atlantic Network Services, Inc. Securing E-mail communications and encrypted file storage using yaksha split private key asymmetric cryptography
CN101303717B (zh) 1995-02-13 2015-04-29 英特特拉斯特技术公司 用于安全交易管理和电子权利保护的系统和方法
US7133845B1 (en) 1995-02-13 2006-11-07 Intertrust Technologies Corp. System and methods for secure transaction management and electronic rights protection
US5790677A (en) 1995-06-29 1998-08-04 Microsoft Corporation System and method for secure electronic commerce transactions
JP3502200B2 (ja) 1995-08-30 2004-03-02 株式会社日立製作所 暗号通信システム
US5638445A (en) 1995-09-19 1997-06-10 Microsoft Corporation Blind encryption
US5717758A (en) 1995-11-02 1998-02-10 Micall; Silvio Witness-based certificate revocation system
US5666416A (en) 1995-10-24 1997-09-09 Micali; Silvio Certificate revocation system
US6449730B2 (en) 1995-10-24 2002-09-10 Seachange Technology, Inc. Loosely coupled mass storage computer cluster
US6345314B1 (en) 1995-10-27 2002-02-05 International Business Machines Corporation Technique to minimize data transfer between two computers
US6301659B1 (en) 1995-11-02 2001-10-09 Silvio Micali Tree-based certificate revocation system
US6026163A (en) 1995-12-13 2000-02-15 Micali; Silvio Distributed split-key cryptosystem and applications
US5615269A (en) 1996-02-22 1997-03-25 Micali; Silvio Ideal electronic negotiations
EP0880840A4 (en) 1996-01-11 2002-10-23 Mrj Inc DEVICE FOR CONTROLLING ACCESS AND DISTRIBUTION OF DIGITAL PROPERTY
US5761306A (en) 1996-02-22 1998-06-02 Visa International Service Association Key replacement in a public key cryptosystem
JPH09238132A (ja) 1996-02-29 1997-09-09 Oki Electric Ind Co Ltd 携帯用端末通信システム及びその通信方法
US5666414A (en) 1996-03-21 1997-09-09 Micali; Silvio Guaranteed partial key-escrow
US5673316A (en) 1996-03-29 1997-09-30 International Business Machines Corporation Creation and distribution of cryptographic envelope
JP3540511B2 (ja) 1996-06-18 2004-07-07 株式会社東芝 電子署名検証装置
US5823948A (en) 1996-07-08 1998-10-20 Rlis, Inc. Medical records, documentation, tracking and order entry system
US5937066A (en) 1996-10-02 1999-08-10 International Business Machines Corporation Two-phase cryptographic key recovery system
GB2318486B (en) 1996-10-16 2001-03-28 Ibm Data communications system
US5903652A (en) 1996-11-25 1999-05-11 Microsoft Corporation System and apparatus for monitoring secure information in a computer network
CA2272708A1 (en) * 1996-11-27 1998-06-04 Kurt E. Godwin File directory and file navigation system
US6125186A (en) 1996-11-28 2000-09-26 Fujitsu Limited Encryption communication system using an agent and a storage medium for storing that agent
US5966444A (en) 1996-12-06 1999-10-12 Yuan; Chuan K. Method and system for establishing a cryptographic key agreement using linear protocols
US5903882A (en) 1996-12-13 1999-05-11 Certco, Llc Reliance server for electronic transaction system
US6009173A (en) 1997-01-31 1999-12-28 Motorola, Inc. Encryption and decryption method and apparatus
US5940507A (en) 1997-02-11 1999-08-17 Connected Corporation Secure file archive through encryption key management
JP2001514834A (ja) 1997-03-10 2001-09-11 ガイ・エル・フィールダー 安全決定性暗号鍵発生システムおよび方法
JP3656688B2 (ja) 1997-03-31 2005-06-08 栄司 岡本 暗号データ回復方法及び鍵登録システム
EP0978965B1 (en) 1997-04-24 2006-05-03 Matsushita Electric Industrial Co., Ltd. Data transfer method
US6240183B1 (en) 1997-06-19 2001-05-29 Brian E. Marchant Security apparatus for data transmission with dynamic random encryption
US6959383B1 (en) 1997-07-10 2005-10-25 Yamaha Corporation Method and device for incorporating additional information into main information through electronic watermaking technique
US6229894B1 (en) 1997-07-14 2001-05-08 Entrust Technologies, Ltd. Method and apparatus for access to user-specific encryption information
AU8348298A (en) 1997-07-28 1999-02-16 Director Government Communications Headquarters, The Split-key cryptographic system and method
SE511881C2 (sv) 1997-08-08 1999-12-13 Ericsson Telefon Ab L M Förfarande och arrangemang för överföring av paketinformation i ett digitalt telekommunikationssystem
US5991414A (en) 1997-09-12 1999-11-23 International Business Machines Corporation Method and apparatus for the secure distributed storage and retrieval of information
US6249866B1 (en) * 1997-09-16 2001-06-19 Microsoft Corporation Encrypting file system and method
US6094485A (en) 1997-09-18 2000-07-25 Netscape Communications Corporation SSL step-up
US6125349A (en) 1997-10-01 2000-09-26 At&T Corp. Method and apparatus using digital credentials and other electronic certificates for electronic transactions
JP3604264B2 (ja) 1997-10-06 2004-12-22 株式会社東芝 発信者用端末装置及びネットワークシステム並びに発信情報監視方法
US6092201A (en) 1997-10-24 2000-07-18 Entrust Technologies Method and apparatus for extending secure communication operations via a shared list
US6073237A (en) 1997-11-06 2000-06-06 Cybercash, Inc. Tamper resistant method and apparatus
US6151395A (en) 1997-12-04 2000-11-21 Cisco Technology, Inc. System and method for regenerating secret keys in diffie-hellman communication sessions
US6185685B1 (en) 1997-12-11 2001-02-06 International Business Machines Corporation Security method and system for persistent storage and communications on computer network systems and computer network systems employing the same
US6415373B1 (en) 1997-12-24 2002-07-02 Avid Technology, Inc. Computer system and process for transferring multiple high bandwidth streams of data between multiple storage units and multiple applications in a scalable and reliable manner
RU2124814C1 (ru) 1997-12-24 1999-01-10 Молдовян Николай Андреевич Способ шифрования блоков цифровых данных
EP0936805A1 (en) 1998-02-12 1999-08-18 Hewlett-Packard Company Document transfer systems
US5974144A (en) 1998-02-25 1999-10-26 Cipheractive Ltd. System for encryption of partitioned data blocks utilizing public key methods and random numbers
US6134550A (en) 1998-03-18 2000-10-17 Entrust Technologies Limited Method and apparatus for use in determining validity of a certificate in a communication system employing trusted paths
AU3523799A (en) 1998-05-07 1999-11-23 Angel Jose Ferre Herrero Randomization-encryption system
US6519262B1 (en) 1998-06-10 2003-02-11 Trw Inc. Time division multiplex approach for multiple transmitter broadcasting
US6308273B1 (en) 1998-06-12 2001-10-23 Microsoft Corporation Method and system of security location discrimination
US6615347B1 (en) 1998-06-30 2003-09-02 Verisign, Inc. Digital certificate cross-referencing
US6336186B1 (en) 1998-07-02 2002-01-01 Networks Associates Technology, Inc. Cryptographic system and methodology for creating and managing crypto policy on certificate servers
US7111173B1 (en) 1998-09-01 2006-09-19 Tecsec, Inc. Encryption process including a biometric unit
US6289509B1 (en) 1998-09-01 2001-09-11 Pkware, Inc. Software patch generator
US6385727B1 (en) 1998-09-25 2002-05-07 Hughes Electronics Corporation Apparatus for providing a secure processing environment
US6345101B1 (en) 1998-10-07 2002-02-05 Jayant Shukla Cryptographic method and apparatus for data communication and storage
US6684330B1 (en) 1998-10-16 2004-01-27 Tecsec, Inc. Cryptographic information and flow control
US6269432B1 (en) 1998-10-23 2001-07-31 Ericsson, Inc. Distributed transactional processing system having redundant data
US6631201B1 (en) 1998-11-06 2003-10-07 Security First Corporation Relief object sensor adaptor
US6347143B1 (en) 1998-12-15 2002-02-12 Philips Electronics No. America Corp. Cryptographic device with encryption blocks connected parallel
JP2000181803A (ja) 1998-12-18 2000-06-30 Fujitsu Ltd 鍵管理機能付電子データ保管装置および電子データ保管方法
FI107205B (fi) 1999-02-16 2001-06-15 Sonera Oyj Menetelmä tiedon turvaamiseksi
US6356941B1 (en) 1999-02-22 2002-03-12 Cyber-Ark Software Ltd. Network vaults
US6625734B1 (en) 1999-04-26 2003-09-23 Disappearing, Inc. Controlling and tracking access to disseminated information
WO2000074298A1 (en) 1999-05-26 2000-12-07 Ascom Hasler Mailing Systems, Inc. Technique for split knowledge backup and recovery of a cryptographic key
US7450717B1 (en) 1999-06-08 2008-11-11 General Instruments Corporation Self authentication ciphertext chaining
US20010051902A1 (en) 1999-06-28 2001-12-13 Messner Marc A. Method for performing secure internet transactions
WO2001001622A2 (en) 1999-06-28 2001-01-04 Starpay.Com, Inc. Apparatus and method for performing secure network transactions
US6557123B1 (en) 1999-08-02 2003-04-29 Inostor Corporation Data redundancy methods and apparatus
EP1218841A2 (en) 1999-09-20 2002-07-03 Ethentica, Inc. Electronic commerce with cryptographic authentication
US7391865B2 (en) 1999-09-20 2008-06-24 Security First Corporation Secure data parser method and system
US7260724B1 (en) 1999-09-20 2007-08-21 Security First Corporation Context sensitive dynamic authentication in a cryptographic system
JP2003511752A (ja) * 1999-10-01 2003-03-25 インフラワークス コーポレイション データ安全保証供給システムおよび方法
US6978367B1 (en) 1999-10-21 2005-12-20 International Business Machines Corporation Selective data encryption using style sheet processing for decryption by a client proxy
US6662299B1 (en) 1999-10-28 2003-12-09 Pgp Corporation Method and apparatus for reconstituting an encryption key based on multiple user responses
WO2001054370A2 (en) 2000-01-24 2001-07-26 The University Of Manitoba Method and system for segmented file transfer
US7412462B2 (en) 2000-02-18 2008-08-12 Burnside Acquisition, Llc Data repository and method for promoting network storage of data
US6879988B2 (en) 2000-03-09 2005-04-12 Pkware System and method for manipulating and managing computer archive files
US20020046359A1 (en) 2000-03-16 2002-04-18 Boden Scott T. Method and apparatus for secure and fault tolerant data storage
US6807649B1 (en) 2000-05-23 2004-10-19 Hewlett-Packard Development Company, L.P. Encryption keys for multiple drive fault tolerance
KR100423191B1 (ko) 2000-06-08 2004-03-18 인터내셔널 비지네스 머신즈 코포레이션 보안 프로토콜을 이용하여 전송될 벌크 데이터의 대칭 암호화 효율을 향상시키기 위한 방법, 시스템 및 기록 매체
FR2810138B1 (fr) 2000-06-08 2005-02-11 Bull Cp8 Procede de stockage securise d'une donnee sensible dans une memoire d'un systeme embarque a puce electronique, notamment d'une carte a puce, et systeme embarque mettant en oeuvre le procede
US7693992B2 (en) 2000-06-14 2010-04-06 Disney Enterprises, Inc. Technique for providing access to data
AU7182701A (en) 2000-07-06 2002-01-21 David Paul Felsher Information record infrastructure, system and method
US7165175B1 (en) 2000-09-06 2007-01-16 Widevine Technologies, Inc. Apparatus, system and method for selectively encrypting different portions of data sent over a network
AUPQ993100A0 (en) 2000-09-06 2000-09-28 Software Engineering Australia (Western Australia) Limited System and method for transmitting and storing sensitive data transmitted over a communications network
CN1347225A (zh) 2000-10-09 2002-05-01 杨高雄 制作权安全控制的方法
US7143289B2 (en) 2000-10-30 2006-11-28 Geocodex Llc System and method for delivering encrypted information in a communication network using location identity and key tables
US7003668B2 (en) 2000-11-03 2006-02-21 Fusionone, Inc. Secure authentication of users via intermediate parties
US7140044B2 (en) 2000-11-13 2006-11-21 Digital Doors, Inc. Data security system and method for separation of user communities
US7191252B2 (en) 2000-11-13 2007-03-13 Digital Doors, Inc. Data security system and method adjunct to e-mail, browser or telecom program
US7349987B2 (en) 2000-11-13 2008-03-25 Digital Doors, Inc. Data security system and method with parsing and dispersion techniques
US20030058274A1 (en) 2000-11-17 2003-03-27 Jake Hill Interface device
US20020129235A1 (en) 2001-01-11 2002-09-12 Ryuichi Okamoto Digital data distributing system
US20020071566A1 (en) 2000-12-11 2002-06-13 Kurn David Michael Computer system employing a split-secret cryptographic key linked to a password-based cryptographic key security scheme
US20020080888A1 (en) 2000-12-22 2002-06-27 Li Shu Message splitting and spatially diversified message routing for increasing transmission assurance and data security over distributed networks
JP4074057B2 (ja) 2000-12-28 2008-04-09 株式会社東芝 耐タンパプロセッサにおける暗号化データ領域のプロセス間共有方法
US20040133606A1 (en) 2003-01-02 2004-07-08 Z-Force Communications, Inc. Directory aggregation for files distributed over a plurality of servers in a switched file system
US7047420B2 (en) * 2001-01-17 2006-05-16 Microsoft Corporation Exclusive encryption
US7440953B2 (en) 2001-01-25 2008-10-21 Content Directions, Inc. Apparatus, method and system for directory quality assurance
US7437429B2 (en) * 2001-02-13 2008-10-14 Microsoft Corporation System and method for providing transparent access to distributed authoring and versioning files including encrypted files
US20030051159A1 (en) 2001-09-11 2003-03-13 Mccown Steven H Secure media transmission with incremental decryption
CA2358980A1 (en) 2001-10-12 2003-04-12 Karthika Technologies Inc. Distributed security architecture for storage area networks (san)
US20030084397A1 (en) 2001-10-31 2003-05-01 Exanet Co. Apparatus and method for a distributed raid
GB2381916B (en) 2001-11-08 2005-03-23 Ncr Int Inc Biometrics template
JP2003229843A (ja) 2002-01-31 2003-08-15 Sony Corp ストリーミングシステム及びストリーミング方法、クライアント端末及びコンテンツデータ復号方法、ストリームサーバ及びストリーム配信方法、オーサリング装置及びオーサリング方法、並びにプログラム及び記録媒体
TWI259366B (en) 2002-02-20 2006-08-01 Nagracard Sa Data block storing method in a memory
US20030167408A1 (en) 2002-03-01 2003-09-04 Fitzpatrick Gregory P. Randomized bit dispersal of sensitive data sets
US20030188153A1 (en) 2002-04-02 2003-10-02 Demoff Jeff S. System and method for mirroring data using a server
US20030204602A1 (en) 2002-04-26 2003-10-30 Hudson Michael D. Mediated multi-source peer content delivery network architecture
JP4211282B2 (ja) 2002-05-14 2009-01-21 ソニー株式会社 データ蓄積方法及びデータ蓄積システム、並びに、データ記録制御装置、データ記録指令装置、データ受信装置及び情報処理端末
US7203844B1 (en) 2002-06-20 2007-04-10 Oxford William V Method and system for a recursive security protocol for digital copyright control
GB2389929A (en) 2002-06-21 2003-12-24 Armoursoft Ltd Computer Encryption Systems
US7213158B2 (en) 2002-06-28 2007-05-01 Lenovo (Singapore) Pte. Ltd. Distributed autonomic backup
US7469340B2 (en) 2002-08-07 2008-12-23 Kryptiq Corporation Selective encryption of electronic messages and data
US7107385B2 (en) 2002-08-09 2006-09-12 Network Appliance, Inc. Storage virtualization by layering virtual disk objects on a file system
US20040078542A1 (en) 2002-10-14 2004-04-22 Fuller William Tracy Systems and methods for transparent expansion and management of online electronic storage
US7143288B2 (en) * 2002-10-16 2006-11-28 Vormetric, Inc. Secure file system server architecture and methods
US7191410B1 (en) 2002-12-02 2007-03-13 Sap Ag Managing information display
US7428751B2 (en) 2002-12-05 2008-09-23 Microsoft Corporation Secure recovery in a serverless distributed file system
US7720911B2 (en) 2003-02-20 2010-05-18 Strongmail Systems, Inc. Email using queues in non-persistent memory
US7072917B2 (en) 2003-04-24 2006-07-04 Neopath Networks, Inc. Extended storage capacity for a network file server
US7596570B1 (en) 2003-11-04 2009-09-29 Emigh Aaron T Data sharing
WO2005117727A1 (de) 2004-06-02 2005-12-15 Synthes Gmbh Hülse
US20050273858A1 (en) * 2004-06-07 2005-12-08 Erez Zadok Stackable file systems and methods thereof
US20050289218A1 (en) 2004-06-28 2005-12-29 Rothman Michael A Method to enable remote storage utilization
US7472105B2 (en) 2004-10-19 2008-12-30 Palo Alto Research Center Incorporated System and method for providing private inference control
EP1825412A1 (en) 2004-10-25 2007-08-29 Rick L. Orsini Secure data parser method and system
WO2006054340A1 (ja) 2004-11-17 2006-05-26 Fujitsu Limited 携帯無線端末及びそのセキュリティシステム
US10007807B2 (en) * 2008-12-30 2018-06-26 Unisys Corporation Simultaneous state-based cryptographic splitting in a secure storage appliance
US8195976B2 (en) 2005-06-29 2012-06-05 International Business Machines Corporation Fault-tolerance and fault-containment models for zoning clustered application silos into continuous availability and high availability zones in clustered systems during recovery and maintenance
US7499905B2 (en) 2005-10-17 2009-03-03 Cisco Technology, Inc. Method and apparatus for accessing information based on distributed file system (DFS) paths
US7694134B2 (en) * 2005-11-11 2010-04-06 Computer Associates Think, Inc. System and method for encrypting data without regard to application
JP4482630B2 (ja) 2005-11-21 2010-06-16 インターナショナル・ビジネス・マシーンズ・コーポレーション 通信装置および通信方法
US9176975B2 (en) 2006-05-31 2015-11-03 International Business Machines Corporation Method and system for transformation of logical data objects for storage
CN101569132B (zh) 2006-11-07 2013-04-17 安全第一公司 用于分发数据和保护数据安全的系统和方法
CN101689230A (zh) 2006-12-05 2010-03-31 安全第一公司 改进的磁带备份方法
US8892905B2 (en) 2007-03-21 2014-11-18 Oracle International Corporation Method and apparatus for performing selective encryption/decryption in a data storage system
JP2008250779A (ja) 2007-03-30 2008-10-16 Hitachi Ltd 暗号機能を備えた記憶制御装置、データ暗号化方法及び記憶システム
AU2008240065A1 (en) 2007-04-12 2008-10-23 Landon Curt Noll Method and system for identifying and managing encryption keys
JP4900816B2 (ja) 2007-05-11 2012-03-21 株式会社日立製作所 記憶制御装置、記憶制御装置の制御方法
US8189769B2 (en) 2007-07-31 2012-05-29 Apple Inc. Systems and methods for encrypting data
BRPI0816772A2 (pt) 2007-09-14 2015-03-24 Security First Corp Sistemas e métodos para controlar chaves criptográficas
CN101939946B (zh) 2008-01-07 2013-04-24 安全第一公司 使用多因素或密钥式分散对数据进行保护的系统和方法
JP2009163542A (ja) 2008-01-08 2009-07-23 Hitachi Ltd 論理ボリュームに関する設定を制御する制御装置
CA2716335A1 (en) 2008-02-22 2009-08-27 Stephen C. Bono Systems and methods for secure workgroup management and communication
US9390102B2 (en) 2008-09-29 2016-07-12 Oracle International Corporation Client application program interface for network-attached storage system
US20100162001A1 (en) * 2008-12-23 2010-06-24 David Dodgson Secure network attached storage device using cryptographic settings
BRPI1013062A2 (pt) 2009-05-19 2016-04-05 Security First Corp sistemas e métodos para proteger dados na nuvem
ES2620962T3 (es) 2009-11-25 2017-06-30 Security First Corporation Sistemas y procedimientos para asegurar datos en movimiento
CN103238305A (zh) * 2010-05-28 2013-08-07 安全第一公司 用于安全数据储存的加速器系统
CN103038749B (zh) * 2010-07-01 2017-09-15 纽戴纳公司 为了优化群集特定配置的使用而按进程类型在群集之间分割进程
AU2011291640B2 (en) 2010-08-18 2015-11-12 Security First Corp. Systems and methods for securing virtual machine computing environments
EP2651072A3 (en) 2010-09-20 2013-10-23 Security First Corp. Systems and methods for secure data sharing
US9223611B2 (en) * 2010-12-28 2015-12-29 Microsoft Technology Licensing, Llc Storing and resuming application runtime state

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6981141B1 (en) * 1998-05-07 2005-12-27 Maz Technologies, Inc Transparent encryption and decryption with algorithm independent cryptographic engine that allows for containerization of encrypted files
CN1503143A (zh) * 2002-11-26 2004-06-09 南京易思克网络安全技术有限责任公司 一种网络安全系统及安全方法
US20120110328A1 (en) * 2010-10-27 2012-05-03 High Cloud Security, Inc. System and Method For Secure Storage of Virtual Machines

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106909855A (zh) * 2017-03-24 2017-06-30 腾讯科技(深圳)有限公司 文件隐藏方法及装置
CN110998582A (zh) * 2017-08-04 2020-04-10 比特梵德知识产权管理有限公司 安全存储装置
CN110998582B (zh) * 2017-08-04 2024-02-02 比特梵德知识产权管理有限公司 安全存储装置与计算机安全性方法
CN111739190A (zh) * 2020-05-27 2020-10-02 深圳市元征科技股份有限公司 车辆诊断文件加密方法、装置、设备及存储介质
CN111739190B (zh) * 2020-05-27 2022-09-20 深圳市元征科技股份有限公司 车辆诊断文件加密方法、装置、设备及存储介质
CN112883349A (zh) * 2021-04-29 2021-06-01 深圳市科力锐科技有限公司 数据还原方法、装置、设备及存储介质
CN112883349B (zh) * 2021-04-29 2021-07-20 深圳市科力锐科技有限公司 数据还原方法、装置、设备及存储介质

Also Published As

Publication number Publication date
US10402582B2 (en) 2019-09-03
HK1219160A1 (zh) 2017-03-24
US20200250331A1 (en) 2020-08-06
US20180150649A1 (en) 2018-05-31
CA2900504A1 (en) 2014-08-21
US11586757B2 (en) 2023-02-21
CN105051750B (zh) 2018-02-23
AU2014216207A1 (en) 2015-09-10
WO2014127147A1 (en) 2014-08-21
EP2956887A1 (en) 2015-12-23
US20140229731A1 (en) 2014-08-14
US9881177B2 (en) 2018-01-30
US20230161897A1 (en) 2023-05-25

Similar Documents

Publication Publication Date Title
CN105051750A (zh) 用于加密文件系统层的系统和方法
US11108753B2 (en) Securing files using per-file key encryption
CN104520873A (zh) 用于保护和恢复虚拟机的系统和方法
US9703965B1 (en) Secure containers for flexible credential protection in devices
JP5997851B2 (ja) プライバシー保護データベースシステム
US9363247B2 (en) Method of securing files under the semi-trusted user threat model using symmetric keys and per-block key encryption
CN105071936A (zh) 用于安全数据共享的系统和方法
KR101103403B1 (ko) 향상된 보안성을 갖는 데이터 관리 시스템의 제어방법
CN103384196A (zh) 安全数据解析方法和系统
JP2016513840A (ja) データセキュリティを保護するための方法、サーバ、ホスト、およびシステム
CN101964080A (zh) 用于将文件作为片段存储在存储元件上的方法及其系统
EP3494662B1 (en) Method for storing data blocks from client devices to a cloud storage system
WO2008065351A1 (en) Self encryption
JP4133215B2 (ja) データ分割方法及びデータ復元方法並びにプログラム
Grover et al. A framework for cloud data security
GB2446200A (en) Encryption system for peer-to-peer networks which relies on hash based self-encryption and mapping
CN116032499A (zh) 分布式云文件存储方法、系统及其用户端和云端设备
KR20150002821A (ko) 복수의 저장 서비스 제공자들에 분산 및 저장된 파일의 기밀성을 보호하기 위한 방법
JP5821040B2 (ja) データ管理装置、データ分割装置およびデータ復元装置
JP2011193161A (ja) 暗号管理システム及び暗号管理方法
CN113924571A (zh) 密码系统
US12008131B2 (en) Systems and methods for a cryptographic file system layer
CN113591140B (zh) 资源数据防篡改方法、系统、计算机设备及存储介质
CN117234427B (zh) 数据读写方法、装置、设备、系统、存储介质及存储系统
CN113282913A (zh) 一种密码替换方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180223

Termination date: 20190213