CN104520873A - 用于保护和恢复虚拟机的系统和方法 - Google Patents

用于保护和恢复虚拟机的系统和方法 Download PDF

Info

Publication number
CN104520873A
CN104520873A CN201380025200.6A CN201380025200A CN104520873A CN 104520873 A CN104520873 A CN 104520873A CN 201380025200 A CN201380025200 A CN 201380025200A CN 104520873 A CN104520873 A CN 104520873A
Authority
CN
China
Prior art keywords
share
data set
data
computer equipment
equipment
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.)
Pending
Application number
CN201380025200.6A
Other languages
English (en)
Inventor
M·S·奥黑尔
R·L·奥尔西尼
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 CN104520873A publication Critical patent/CN104520873A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • 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/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • 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/606Protecting data by securing the transmission between two devices or processes
    • 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/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • 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/629Protecting access to data via a platform, e.g. using keys or access control rules to features or functions of an application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2111Location-sensitive, e.g. geographical location, GPS

Abstract

提供了用于通过使虚拟机文件的多个份额响应于停止命令分别地存储来保护虚拟机的系统和方法。可以通过访问多个份额中的阈值数量的份额来恢复虚拟机文件。还提供了用于当没有加密恢复算法的可视指示器被显示时响应于一系列接收到的用户输入利用加密恢复应用来恢复数据集,并用于响应于检测到与设备的通信链路利用从另一计算机设备接收到的数据份额来恢复数据集的系统和方法。

Description

用于保护和恢复虚拟机的系统和方法
对相关申请的交叉引用
本申请要求2012年4月6日提出的第61/621,268号美国临时申请案的优先权,其全部内容通过引用合并于此。
技术领域
本公开内容一般涉及用于保护虚拟机计算环境的系统和方法。
发明内容
在一些方面,提供了用于保护虚拟机的方法。虚拟机在主机设备上执行。虚拟机包括虚拟机文件。生成数据解析信息,其中,所述数据解析信息可用于确定所述虚拟机文件的数据单元将被放置于多个份额中的哪个中以及将如何加密所述数据单元。可通过访问所述多个份额中的阈值数量的份额来恢复所述虚拟机文件。响应于接收到停止虚拟机的命令,基于数据解析信息来生成多个份额,并且使得多个份额中的每个存储在相应的单独的存储位置。
在一些实现方式中,主机设备可以是手持式计算设备。所述虚拟机文件可以包括下列各项中的至少之一:日志文件、虚拟机BIOS状态文件、虚拟盘文件、分页文件、快照状态文件、挂起状态文件、和配置文件。停止所述虚拟机的命令可以包括下列各项中的至少之一:保存命令、关闭命令、挂起命令、和暂停命令。停止虚拟机的命令可以由主机设备的用户发出。在一些实现中,停止所述虚拟机的命令是由所述主机设备的处理器所发出的,而不需要来自所述主机设备的用户的基本上同时的命令。
在一些实现方式中,基于数据解析信息来生成多个份额可以包括识别虚拟机文件的多个部分,以及加密多个部分中的每个以形成多个份额。在一些实现方式中,基于数据解析信息来生成多个份额可以包括加密虚拟机文件,以及识别经加密的虚拟机文件的多个部分以形成多个份额。
在一些实现方式中,所述数据解析信息指定用于确定所述虚拟机文件的一部分将被放置于所述多个份额中的哪个中的确定性技术。在一些实现方式中,所述数据解析信息指定用于确定所述虚拟机文件的一部分将被放置于所述多个份额中的每个份额内的哪个位置的确定性技术。在一些实现方式中,所述数据解析信息指定用于确定所述虚拟机文件的一部分将被放置于所述多个份额中的哪个中的基本上随机的技术。在一些实现方式中,所述数据解析信息指定用于确定所述虚拟机文件的一部分将被放置于所述多个份额中的每个份额内的哪个位置的基本上随机的技术。
在一些实现方式中,单独的存储位置包括主机设备上的多个单独的存储位置。在一些实现方式中,单独的存储位置包括远离主机设备的一个或多个设备上的多个单独的存储位置。在一些实现方式中,所述单独的存储位置包括所述主机设备上的至少一个存储位置、和远离所述主机设备的设备上的至少一个存储位置。
在一些实现方式中,在主机设备上执行虚拟机之前,可以接收第二多个份额,以及可以使用数据恢复信息从所述第二多个份额恢复所述虚拟机文件,所述数据恢复信息确定如何解密并布置来自所述多个份额的部分以形成所述虚拟机文件。可以从远离主机设备的一个或多个设备接收第二多个份额。远离主机设备的一个或多个设备可以包括一个或多个数据服务器。分别存储了所述多个份额的单独的存储位置可以位于从其接收到所述第二多个份额的远离所述主机设备的一个或多个设备上。
在一些实现方式中,在生成数据解析信息之前,可以接收第三多个份额,以及可以从第三多个份额恢复可执行解析应用。数据解析信息可以由可执行解析应用生成。可以从远离主机设备的一个或多个设备接收第三多个份额。远离主机设备的一个或多个设备包括一个或多个数据服务器。在一些实现方式中,从第三多个份额恢复可执行解析应用可以包括根据存储在所述主机设备中并且可由所述主机设备执行的技术来组装所述第三多个份额。在一些实现方式中,从第三多个份额恢复可执行解析应用包括根据在所述第三多个份额中指定的并且可由所述主机设备执行的技术来组装所述第三多个份额。
在一些实现方式中,阈值数量小于多个份额的总数量。所述数据解析信息可以确定所述份额中的每个的大小,其中,至少一个份额的大小不同于至少一个其他份额的大小。主机设备可以包括分布式体系结构中的一台或多台计算机和/或云计算环境中的一台或多台计算机。
在其他方面,提供了用于响应于接收到预定的用户输入序列来恢复数据集的方法。计算机系统生成供由所述计算机系统的计算机设备的显示器显示的多个用户可选择元素,每个元素都与不同的可执行应用相关联。当所述多个用户可选择元素被显示时,在所述计算机设备上接收预定的用户输入序列,并且响应于接收到预定的用户输入序列,执行与任何显示的用户可选择元素不关联的加密恢复应用,以从多个数据集份额恢复数据集(每个数据集份额表示数据集的经加密的部分)。
在一些实现方式中,计算机设备是手持式计算机设备。用户可选择元素可以包括至少一个图标和/或至少一个下拉菜单列表。在一些实现方式中,预定的用户输入序列包括手势输入、生物识别输入、计算机设备的朝向、小键盘输入、和/或计算机设备的加速度。响应于从所述多个数据集份额恢复所述数据集,可以在所述显示器上显示与所述数据集相关联的图形元素。
在一些实现方式中,数据集可以与可由计算机设备执行的应用相关联,并且响应于从多个数据集份额恢复数据集,可以执行与数据集相关联的应用。应用可以是电话通信应用。
在一些实现方式中,应用是虚拟机应用。在这样的实现方式中,所述数据集可以表示虚拟机文件,并且执行与所述数据集相关联的应用可以包括使用所述虚拟机文件来启动虚拟机。另外,所述虚拟机文件可以包括下列各项中的至少之一:日志文件、虚拟机BIOS状态文件、虚拟盘文件、分页文件、快照状态文件、挂起状态文件、和配置文件。
在一些实现方式中,所述多个数据集份额中的两个或更多个数据集份额存储在所述计算机设备上的相应的单独的存储位置。在一些实现方式中,所述多个数据集份额中的至少一个数据集份额可以存储在所述计算机设备上,并且所述多个数据集份额中的至少一个数据集份额可以存储在远离所述计算机设备的设备上。在一些实现方式中,所述多个数据集份额中的两个或更多个数据集份额存储在远离所述计算机设备的一个或多个设备上的单独的存储位置。
在一些实现方式中,每个数据集份额可以表示根据确定性技术选择的和/或布置的来自数据集的数据的一部分。在一些实现方式中,每个数据集份额可以表示根据基本上随机的技术选择的和/或布置的来自数据集的数据的一部分。计算系统可以包括分布式体系结构中的一台或多台计算机和/或云计算环境中的一台或多台计算机。
在其他方面,提供了用于从多个计算机设备根据数据集份额恢复数据集的方法。识别存储在编程的计算机系统的第一计算机设备上的第一数据集份额。每个第一数据集份额表示来自所述数据集的数据的一部分,其中,所述数据集无法从识别的第一数据集份额恢复,但是可以通过阈值数量的数据集份额来恢复。检测所述第一计算机设备和不同于所述第一计算机设备的第二计算机设备之间的通信链路,并且响应于该检测,在所述第一计算机设备上接收来自第二计算机设备的第二数据集份额。当所述第一数据集份额和第二数据集份额被确定为包括至少阈值数量的数据集份额时,使用所述第一数据集份额和第二数据集份额来恢复数据集。
在一些实现方式中,检测通信链路包括判断所述第二计算机设备是否在所述第一计算机设备的射频通信设备的通信范围内。射频通信设备可以是蓝牙设备或近场通信设备。在其他实现方式中,检测通信链路包括判断所述第二计算机设备是否连接到所述第一计算机设备也连接到的计算机通信网络。
在一些实现方式中,检测通信链路包括判断所述第二计算机设备是否在所述第一计算机设备的预定地理距离内。在这样的实现方式中,判断所述第二计算机设备是否在所述第一计算机设备的预定地理距离内可包括在所述第一计算机设备上接收来自服务器的表示所述第二计算机设备的接近度的消息。
在一些实现方式中,检测通信链路包括通过所述第一计算机设备的用户的身体和所述第二计算机设备的用户的身体来检测所述第一计算机设备和所述第二计算机设备之间的电通信轨迹,所述用户的身体彼此物理接触以及与其相应的计算机设备物理接触。
在一些实现方式中,在识别第一数据集份额之前,可以响应于检测到第一计算机设备和第三计算机设备之间的通信链路,接收来自第三计算机设备的第一数据集份额中的至少一些。
第一计算机设备和/或第二计算机设备可以是手持式计算机设备。在一些实现方式中,第二计算机设备包括服务器。
在一些实现方式中,响应于从所述第一数据集份额和第二数据集份额恢复数据集,可以在第一计算机设备的显示器上显示与数据集相关联的图形元件。在一些实现方式中,数据集与可由计算机设备执行的应用相关联,并且响应于从多个数据集份额恢复数据集,执行与数据集相关联的应用。应用可以是游戏应用。
在一些实现方式中,响应于检测到通信链路,可以从第一计算机设备向第二计算机设备传输第一数据集份额。在一些实现方式中,通过通信链路接收第二数据集份额。在一些实现方式中,每个数据集份额可以表示根据确定性技术选择的和/或布置的来自数据集的数据的一部分。在一些实现方式中,每个数据集份额可以表示根据基本上随机的技术选择的和/或布置的来自数据集的数据的一部分。第一计算机设备和第二计算机设备可以被布置在分布式体系结构中和/或可以被布置在云计算环境中。
根据其他方面,提供了用于执行以上描述的功能的系统。
附图说明
下面将参考附图更详细地描述本公开内容,附图只是为了说明本公开内容,而不是限制本公开内容,其中:
图1示出了根据一种实现方式的用于保护包括可以与此处讨论的处理中的任何一种相结合使用的说明性特征的数据的处理。
图2示出了根据一种实现方式的用于解析经加密的数据以及与该数据一起存储加密主密钥的处理。
图3示出了根据一种实现方式的用于解析经加密的数据以及与该数据分开地存储加密主密钥的处理。
图4示出了根据一种实现方式的用于解析经加密的数据以及与该数据一起存储加密主密钥的中间密钥处理。
图5和图6是根据一种实现方式的具有集成的安全数据解析器的说明性系统的框图。
图7是根据一种实现方式的可以以任何合适的组合与任何合适的添加、删除、或修改一起使用的说明性步骤和特征的处理流程图。
图8是根据一种实现方式的可以以任何合适的组合与任何合适的添加、删除、或修改一起使用的可选地使用工作组密钥来存储各个份额内的数据组件和密钥的简化框图。
图9A和图9B是根据一种实现方式的可以以任何合适的组合与任何合适的添加、删除、或修改一起使用的针对运动中的数据的标头生成和数据分割的简化和说明性的处理流程图。
图10是根据一种实现方式的可以以任何合适的组合与任何合适的添加、删除、或修改一起使用的说明性的份额格式的简化框图。
图11是示出了根据一种实现方式的用于实现云计算数据安全性解决方案的几个示例性布置的框图。
图12是用于执行此处描述的处理中的任何一个的计算设备的框图。
图13是根据一种实现方式的用于保护虚拟机(VM)的处理的流程图。
图14A-14G是根据一种实现方式的被配置成执行图13的处理的安全VM环境的框图。
图15A-15B是根据一种实现方式的被配置成执行图13的处理的另一安全VM环境的框图。
图16描绘了根据一种实现方式的包括将VM份额"隐藏"的目录结构的显示的一个示例。
图17描绘了根据一种实现方式的用于模糊VM份额的存在的已分区的存储介质系统的一个示例。
图18是根据这样的实现方式的用于恢复数据集的处理的流程图1800。
图19A和图19B描绘了根据一种实现方式的可以在图18的处理中识别预定的用户输入序列之前和之后呈现的便携式设备上的显示。
图20是根据一种实现方式的用于恢复数据集的处理的流程图。
图21A和图21B示出了图20的一些步骤的实现方式。
图22A和22B示出了图20的一些步骤的另一实现方式。
图23A-23C示出了图20的一些步骤的另一实现方式。
图24A和图24B示出了图20的一些步骤的另一实现方式。
图25A-25C示出了图20的一些步骤的另一实现方式。
图26A和图26B示出了图20的一些步骤的另一实现方式。
具体实施方式
根据一个方面,此处描述了一种加密系统,其中,被实现为信任引擎的一个或多个安全服务器存储加密密钥和用户认证数据。用户通过对信任引擎的网络访问来访问常规加密系统的功能。然而,信任引擎不发布实际密钥和其他认证数据,因此密钥和数据保持安全。这种密钥和认证数据的以服务器为中心的存储,提供了与用户无关的安全性、轻便性、可用性和简单性。
由于用户可以信任加密系统以执行用户和文档认证及其他加密功能,因此各种功能可以被包括到系统中。例如,信任引擎提供商可以通过例如以下各项来防止拒绝执行协议:对协议参与者进行身份认证,代表参与者或为参与者对协议进行数字签名,并存储由每个参与者进行了数字签名的协议的记录。此外,加密系统还可以基于例如价格、用户、供应商、地理位置、使用的位置等来监视协议并且决定应用不同程度的认证。
加密系统可以单独地或与其他系统组件相结合地包括安全数据解析器。如此处所使用的,安全数据解析器包括被配置成执行关于数据的解析、安全保护、和存储中的一项或多项的各种功能的软件和/或硬件。例如,安全数据解析器的功能可以包括下列各项的任何组合:加密数据、将数据解析为一个或多个份额、加密份额、分散份额、将份额安全地存储在多个位置、检索数据份额、解密数据份额、重新组装数据、解密数据、或此处所描述的任何其他功能。解析包括从原始数据集生成一个或多个不同的份额,其中,每个份额包括原始数据集的至少一部分。解析可以通过许多技术中的任何一种来实现。例如,解析可以包括随机地、伪随机地、决定性地、或使用随机、伪随机和确定性技术的某种合适的组合,将来自原始数据集的数据单元分发到一个或多个份额。解析操作可以对任何大小的数据起作用,包括单个比特、一组比特、一组字节、一组千字节、一组兆字节、或更大组的数据、以及数据单元大小的任何模式或组合。因此,原始数据可以被视为这些数据单元的序列。在一些实现方式中,解析操作是基于由安全数据解析器或由加密系统中的其他组件所生成的解析信息的。解析信息可以是任何合适的形式(例如,一种或多种密钥,包括预定的、确定性的、伪随机的或随机的密钥)。解析信息可以确定解析操作的一个或多个方面,包括下列各项的任何组合:份额的数量、一个或多个份额的大小、数据单元的大小、份额内的数据单元的顺序、以及来自份额中的原始数据集的数据的顺序。在一些实施例中,解析信息还可以指出或可以被用来(还有其他因素)确定如何加密一个或多个数据份额。尽管某些解析技术可以使数据变得更安全(例如,在一些实现方式中,数据单元本身的大小可以使作为结果的数据份额变得更安全,或者解析可以包括重新布置数据),但是这不一定是每种解析技术的情况。作为结果的份额可以是任何大小的数据,并且两个或更多作为结果的份额可以包含不同量的原始数据集。
在一些实现方式中,解析可以包括在生成一个或多个份额之前、过程中、或之后,对原始数据集执行加密操作。例如,解析可以包括例如通过将数据单元重新布置为作为结果的一个或多个份额来打乱份额中的数据单元的顺序。在一些实现方式中,解析可以包括例如通过重新布置被分发到作为结果的份额内的一个或多个数据单元内的子单元,打乱每个数据单元内的比特的顺序,其中,子单元包括数据单元的至少不同的部分。在解析包括打乱原始数据集中的数据的情况下,可以对任何大小的原始数据集执行打乱操作,包括整个原始数据集、一个或多个份额、数据单元、单个比特、一组比特、一组字节、一组千字节、一组兆字节、或更大组的数据、以及数据单元大小的任何模式或组合。打乱数据可以包括:以打乱数据的方式将原始数据分发到一个或多个份额中,将原始数据分发到一个或多个份额中、然后打乱作为结果的份额中的数据,打乱原始数据、然后将打乱的数据分发到一个或多个份额中,或其任何组合。
因此,作为结果的份额可以包括原始数据集的基本上随机的分布。如此处所使用的,数据的基本上随机的分布是指从原始数据集生成一个或多个不同的份额,其中,使用一种或多种随机或伪随机技术、随机或伪随机信息(例如,随机或伪随机密钥)、或其任何组合来生成至少一个份额。可以理解,由于在计算机中生成真随机的数字可能不实际,使用基本上随机的数就足够了。此处对随机化的引用被理解为包括例如当使用对于生成真随机化具有限制的计算设备来实现时的基本上的随机化。作为导致原始数据基本上随机分布到份额中的数据解析的一个示例,考虑大小为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中示出了安全数据解析器的一个示例,其示出了由安全数据解析器对要被解析的数据执行的下列处理步骤,从而导致与已解析的数据一起存储会话主密钥:
1.生成会话主密钥,并且使用例如RS1或RC4流密码来加密数据。
2.根据会话主密钥的模式将作为结果的经加密的数据解析为四个数据份额。
3.根据解析器主密钥的模式解析会话主密钥,并将作为结果的密钥份额附加到数据份额。作为结果的数据的四个份额将包含经加密的原始数据的某些部分和会话主密钥的某些部分。在其他实施例中,会话主密钥不与数据份额存储在一起(例如参见图3和附带的描述)。
4.为四个份额中的每个生成流加密密钥。
5.利用相应的流加密密钥,加密每个份额,然后将加密密钥存储在与加密的份额不同的位置。如图2所示,份额1与密钥4存储在一起,份额2与密钥1存储在一起,份额3与密钥2存储在一起,而份额4与密钥3存储在一起。然而,可以使用密钥与份额的任何其他配对,包括例如,其中一个以上的密钥与特定份额存储在一起的布局,或其中相同密钥跨多个份额被解析和存储的布局。
为恢复原始数据格式,将上面的步骤逆转。例如,在图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所示,份额1与密钥4存储在一起,份额2与密钥1存储在一起,份额3与密钥2存储在一起,而份额4与密钥3存储在一起。
为恢复原始数据格式,逆转所述步骤。
在一些实施例中,上面的步骤6-8可被下列步骤替换:
6.与安全的数据份额一起,将会话主密钥存储到数据仓库中。
7.根据解析器主密钥的模式解析会话主密钥。
8.将密钥数据附加到可选地加密的份额。
本文中所描述的方法的某些步骤(例如,针对在图2-4中所描绘的方法中的任何一个方法所描述的步骤)可以根据需要以不同的顺序执行,或者重复执行多次。对所属领域的技术人员来说容易清楚的是,可以以彼此不同的方式处理数据的各个部分。例如,可以只对已解析的数据的一部分执行多个解析步骤。可以以任何期望的方式唯一地保护已解析的数据的每个部分,只要可以将数据重新组装、重新构建、重组、解密或恢复到其原始或其他可使用的形式。应该理解,在不偏离本发明的范围的情况下,可以在同一个实现方式中组合这些方法中的一个或多个。
根据本文中所描述的方法保护的数据可容易地检索,并被恢复、重新构建、重新组装、解密、或以其它方式返回到其原始或其他合适的形式以供使用。为了恢复原始数据,可以使用下列各项:
1.数据集的一些或全部份额或部分。
2.了解用于保护数据的方法的处理流程以及再现该方法的处理流程的能力。
3.访问会话主密钥。
4.访问解析器主密钥。
在一些实施例中,并非需要所有这些项来检索和恢复、重新构建、重新组装、解密、或以其它方式将根据上文所描述的方法中的一个或多个保护的每个数据单元返回到原始或其他合适的形式以供使用。在一些实施例中,为恢复特定数据单元,可能需要上面没有明确地列出的额外的项目。例如,在一些实现方式中,上文所描述的方法使用三种类型的用于加密的密钥。基于安装,每种类型的密钥都可以具有单个密钥存储、检索、安全性和恢复选项。可以使用的密钥包括但不仅限于:
1.解析器主密钥可以是与安全数据解析器的安装相关联的单个密钥。它安装在其上面部署了安全数据解析器的服务器上。有各种适用于存储此密钥的选项,包括但不仅限于,例如智能卡、单独的硬件密钥存储、标准密钥存储、自定义密钥存储或在保护的数据库表内。
2.每当解析数据时,可以生成会话主密钥。在解析操作之前,使用会话主密钥来加密数据。它也可以用于解析经加密的数据(如果会话主密钥没有集成到已解析的数据中的话)。会话主密钥可以以各种方式存储,包括但不仅限于,例如标准密钥存储、自定义密钥存储、单独的数据库表、或被保护在经加密的份额内。
3.份额加密密钥:对于创建的数据集的每个份额或部分,可以生成单个份额加密密钥,以进一步加密份额。份额加密密钥可以与加密的份额存储在不同的份额中。
如图4所示,也可以使用中间密钥。每当解析数据时,可以生成中间密钥。在解析操作之前,使用中间密钥来加密数据。它也可以被包括为用于解析经加密的数据的装置。
图5示出了作为安全数据解析器500的安全数据解析器的说明性实现方式。安全数据解析器500可以包括用于使用模块502将数据解析为份额的内嵌的能力。安全数据解析器500还可以在模块504中包括用于执行冗余的内嵌的能力,以便能够实现例如上文所描述的"N中的M个解析"。安全数据解析器500还可以包括使用模块506的份额分布能力,用于将份额放置到它们所发送到的缓冲器中,以便传递到远程位置以供存储等。可以理解,还可以将任何其他合适的能力嵌入到安全数据解析器500中。
组装的数据缓冲器508可以是用于存储原始数据的任何合适的存储器,该原始数据将由安全数据解析器500解析(虽然不一定是其原始形式)。在解析操作时,组装的数据缓冲器508向安全数据解析器500提供输入。在恢复操作时,组装的数据缓冲器508可以被用来存储安全数据解析器500的输出。
份额缓冲器510可以是一个或多个存储器模块,这些存储器模块可以被用来存储由对原始数据的解析而产生的数据的多个份额。在解析操作时,份额缓冲器510保持安全数据解析器的输出。在恢复操作时,份额缓冲器保持向安全数据解析器500的输入。
可以理解,可以为安全数据解析器500内嵌任何其他合适的能力的布局。可以内嵌任何附加特征,并可以移除所示出的特征中的任何一个,以使它们更健壮,使它们不太健壮,或可以以任何合适的方式修改它们。同样,缓冲器508和510仅仅是说明性的,可以以任何合适的方式被修改、移除、或添加。
以软件、硬件或两者实现的任何合适的模块都可以被安全数据解析器500调用,或可以调用安全数据解析器500。如图所示,一些外部模块包括随机数生成器512、加密反馈密钥生成器514、散列算法516、任何一种或多种类型的加密518、和密钥管理520。可以理解,这些只是说明性的外部模块。可以使用任何其他合适的模块,代替所示出的这些或作为其补充。在需要时,一个或多个外部模块可以替换嵌入到安全数据解析器500中的能力。
加密反馈密钥生成器514可以针对每个安全数据解析器操作而生成唯一密钥、或随机数(使用,例如,随机数生成器512),其用作将原始会话密钥大小(例如,值128、256、512、或1024比特)扩展为等于要解析的数据的长度的值的操作的种子值。可以使用任何合适的算法来进行加密反馈密钥生成,诸如AES加密反馈密钥生成算法。
为了促进安全数据解析器500及其外部模块(即,安全数据解析器层526)到应用层524(例如,电子邮件应用或数据库应用)的集成,可以使用包裹层,该包裹层可以使用例如API函数调用。可以使用用于将安全数据解析器层526集成到应用层524中的任何其他合适的布置。
图5还示出了当在应用层524中发出写入(例如,向存储设备)、插入(例如,在数据库字段中)、或传输(例如,跨网络)命令时可以如何使用安全数据解析器500和外部模块。在步骤550中,识别要解析的数据,向安全数据解析器作出调用。将调用传递到包装器层522,在包装器层522处,在步骤552中,包装器层522将在步骤550中识别的输入数据流式传送到组装的数据缓冲器508。另外,在步骤552中,可以存储任何合适的份额信息、文件名、任何其他合适的信息、或其任何组合(例如,作为包装器层522中的信息556)。然后,安全数据处理器500解析作为来自组装的数据缓冲器508的输入的数据。它向份额缓冲器510输出数据份额。在步骤554中,包装器层522从存储的信息556中获取任何合适的份额信息(即,由包装器522在步骤552中存储的)和份额位置(例如,来自一个或多个配置文件)。然后,包装器层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的示例中所示出的标签仅仅描绘了算法的一种可能的组合。可以使用任何合适的算法或算法组合来代替标记的算法。例如,可以使用诸如Blakely之类的其他密钥解析(例如,秘密共享)算法来代替Shamir,或AES加密可以被替换为诸如3DES之类的其他已知的加密算法。
1)710,716,717,718,719,720,721,722
如果在步骤710中接收到预先加密的数据,则可以将数据解析为预定义数量的份额。如果解析算法需要密钥,则可以在步骤716中使用加密安全伪随机数发生器来生成会话密钥。在步骤717中,在步骤718中被解析为具有容错的预定义数量的份额之前,可以使用全有或全无的变换(AoNT)可选地将会话密钥变换为变换会话密钥。然后,在步骤719中,可以将数据解析为预定义数量的份额。在步骤720中,可以使用容错方案,以允许从小于总数量的份额重新生成数据。一旦创建了份额,在步骤721中,可以将认证/完整性信息嵌入到份额中。在步骤722中,可以可选地后加密每个份额。
2)711,716,717,718,719,720,721,722
在一些实施例中,在解析数据之前,可以首先使用由用户或外部系统所提供的预加密密钥来加密输入的数据。在步骤711中,提供外部预加密密钥。例如,可以从外部密钥存储器提供密钥。如果解析算法需要密钥,则可以在步骤716中使用加密安全伪随机数发生器来生成会话密钥。在步骤717中,在步骤718中被解析为具有容错的预定义数量的份额之前,可以使用全有或全无的变换(AoNT)可选地将会话密钥变换为变换会话密钥。然后,在步骤719中,可以将数据解析为预定义数量的份额。在步骤720中,可以使用容错方案,以允许从小于总数量的份额重新生成数据。一旦创建了份额,在步骤721中,可以将认证/完整性信息嵌入到份额中。在步骤722中,可以可选地后加密每个份额。
3)712,713,714,715,716,717,718,719,720,721,722
在一些实施例中需要加密,但是不使用用于预加密的外部密钥。在这样的实施例中,在步骤712中,可以使用加密安全伪随机数发生器来生成加密密钥,以转换数据。在步骤713中,可以进行使用所生成的加密密钥的数据的加密。在步骤714中,可以使用全有或全无的变换(AoNT)可选地将加密密钥变换为变换加密密钥。然后,在步骤715中,可以将变换加密密钥和/或所生成的加密密钥解析为具有容错的预定义数量的份额。如果解析算法需要密钥,则可以在步骤716中使用加密安全伪随机数发生器来生成会话密钥。在步骤717中,在步骤718中被解析为具有容错的预定义数量的份额之前,可以使用全有或全无的变换(AoNT)可选地将会话密钥变换为变换会话密钥。然后,在步骤719中,可以将数据解析为预定义数量的份额。在步骤720中,可以使用容错方案,以允许从小于总数量的份额重新生成数据。一旦创建了份额,在步骤721中,可以将认证/完整性信息嵌入到份额中。然后,在步骤722中,可以可选地后加密每个份额。
安全数据解析器可以通过促进物理分离来提供灵活的数据保护。可以首先加密数据,然后将数据解析为具有"n中的m个"容错的份额。当小于总数量的份额可用时,这允许重新生成原始信息。例如,一些份额可能在传输中丢失或损坏。如下面更详细地讨论的,可以从附加到份额的容错或完整性信息,重新创建丢失的或损坏的份额。
为了创建份额,由上文所描述的安全数据解析器可选地使用许多密钥。这些密钥可以包括下列各项中的一项或多项:
预加密密钥:当选择份额的预加密时,可以将外部加密密钥传递到安全数据解析器。可以生成该密钥,并将该密钥外部地存储在密钥存储器(或其他位置),并可以在解析数据之前将该密钥用来可选地加密数据。
内部加密密钥:此密钥可以内部地生成,并被安全数据解析器用来在解析之前加密数据。然后,可以使用密钥解析算法,将此密钥安全地存储在份额内。
会话密钥:此密钥不与加密算法一起使用;相反,当选择随机解析时,它可以用来作为数据划分算法的密钥。当使用随机解析时,会话密钥可以内部地生成,并被安全数据解析器用来将数据划分为份额。然后,可以使用密钥解析算法,将此密钥安全地存储在份额内。
后加密密钥:当选择份额的后加密时,外部密钥可被传递到安全数据解析器,并用于后加密各个份额。此密钥可被生成,并被外部地存储在密钥存储器或其他合适的位置。
在一些实施例中,当以此方式使用安全数据解析器来保护数据时,只有在所需的份额和外部加密密钥中的全部都存在的情况下,才可以重新组装信息。
除信息资产的单个保护之外,有时有在不同的用户组或相关的社区团体之间共享信息的要求。于是,可能需要控制对该用户组内的单个份额的访问或在将只允许组的成员重新组装份额的那些用户之间共享凭据。为此,可以将工作组密钥部署到组成员。应该保护工作组密钥,并使其保密,因为对工作组密钥的损害可能会潜在地允许组外面的那些成员访问信息。工作组密钥概念允许通过存储在份额内的加密密钥信息来对信息资产的增强的保护。一旦执行此操作,即使发现了全部所需的份额及其他外部密钥,在不能访问工作组密钥的情况下,攻击者也没有希望重新创建信息。
图8示出了用于在份额内存储密钥和数据组件的说明性框图800。在图示800的示例中,省略了可选预加密和后加密步骤,虽然在其他实施例中可以包括这些步骤。
解析数据的简化的处理包括:在加密阶段802,首先使用加密密钥来加密数据。然后,在阶段804,可以利用工作组密钥,可选地加密加密密钥。然后,可以将由工作组密钥可选地加密的加密密钥解析为份额,并存储在数据份额812内。还可以解析会话密钥808,并将其存储在份额812内。使用会话密钥,解析经加密的数据810,并将其存储在份额812中。
为了恢复数据,可以从份额812中检索会话密钥部分并恢复。然后,可以逆转对数据的解析操作,以恢复经加密的数据。可以检索加密密钥的份额(利用工作组密钥加密的),并恢复经加密的加密密钥。然后,可以使用工作组密钥,解密经加密的加密密钥。最后,可以使用加密密钥来解密经加密的数据,以透露原始数据。
有若干个用于部署和保护工作组密钥的安全保护方法。选择哪一种方法用于特定应用,取决于若干种因素。这些因素可以包括所需的安全级别、成本、方便性、以及工作组中的用户的数量。示例性技术包括基于硬件的密钥存储器和基于软件的密钥存储器。
基于硬件的解决方案一般为加密系统中的加密/解密密钥的安全性提供最强保证。基于硬件的存储器解决方案的示例包括抗窜改密钥令牌设备,这些设备将密钥存储到便携式设备(例如,智能卡/加密狗)、或非便携式密钥存储器外围设备中。这些设备被设计成防止被未经授权的各方容易地复制密钥材料。密钥可以由受信任的管理机构生成,并分发到用户,或在硬件内生成。另外,密钥存储器系统可以提供多因素认证,其中,密钥的使用要求访问物理对象(令牌)和密码短语或生物测定值两者。尽管专用的基于硬件的存储器可能对于高安全性部署或应用是所希望的,但是,其他部署可以选择将密钥直接存储在本地硬件上(例如,诸如USB驱动器之类的盘、RAM或非易失性RAM存储器)。这对于内部人员攻击、或在攻击者能够直接访问加密机的情况下,提供较低级别的保护。
为保护盘上的密钥,基于软件的密钥管理常常通过以加密的形式存储密钥来保护这些密钥,这利用了从其他认证度量的组合导出的密钥,包括:密码和密码短语,其他密钥的存在(来自基于硬件的解决方案),生物测定值,或任何合适的组合。由这样的技术提供的安全性的级别可以从由一些操作系统(例如,MS Windows和Linux)提供的相对弱的密钥保护机制到使用多因素认证实现的更健壮的解决方案之间。
本文中描述的安全数据解析器可以有利地用于许多应用和技术中。例如,电子邮件系统、RAID系统、视频广播系统、数据库系统、磁带备份系统、或任何其他合适的系统可以具有以任何合适的级别集成的安全数据解析器。如前面所讨论的,可以理解,还可以通过任何传输介质(包括例如有线、无线,或物理传输介质)来集成安全数据解析器,以用于运动中的任何类型的数据的保护和容错。作为一个示例,经由因特网协议的语音(Voice over Internet Protocol,VoIP)应用可以使用安全数据解析器来解决有关在VoIP中通常发现的回波和延迟的问题。可以通过使用容错来消除对被丢弃的数据包的网络重试的需求,这保证甚至具有预定数量的份额的丢失的数据包递送。还可以以最小的延迟和缓冲,"动态地(on-the-fly)"有效率地解析和恢复数据包(例如,网络数据包),从而导致各种类型的运动中的数据的综合解决方案。安全数据解析器可以对网络数据包、网络语音数据包、文件系统数据块、或任何其他合适的信息单元进行操作。除与VoIP应用集成之外,安全数据解析器还可以与文件共享应用(例如,对等文件共享应用)、视频广播应用、电子投票或民调应用(可以实现电子投票协议和盲签名,诸如Sensus协议)、电子邮件应用、或可以要求或期望安全通信的任何其他网络应用集成。
在一些实施例中,可以由安全数据解析器在两个不同的阶段(标头生成阶段和数据解析阶段)提供对运动中的网络数据的支持。分别在图9A和图9B中示出了简化的标头生成处理900和简化的数据解析处理910。可以对网络数据包、文件系统块、或任何其他合适的信息执行这些处理中的一个或两个。
在一些实施例中,在启动网络数据包流时,可以执行标头生成处理900一次。在步骤902中,可以生成随机(或伪随机的)加密密钥K。然后,可以在AES密钥包裹步骤904,可选地加密(例如,使用上文所描述的工作组密钥)加密密钥K。虽然在一些实施例中,可以使用AES密钥包裹,但是在其他实施例中可以使用任何合适的密钥加密或密钥包裹算法。AES密钥包裹步骤904可以对整个加密密钥K进行操作,或可以将加密密钥解析为若干个块(例如,64比特块)。然后,AES密钥包裹步骤904可以对加密密钥的块进行操作(如果需要的话)。
在步骤906中,可以使用秘密共享算法(例如,Shamir)将加密密钥K解析为密钥份额。然后,可以将每个密钥份额嵌入到输出份额之一中(例如,在份额标头中)。最后,可以将份额完整性块和(可选地)后认证标记(例如,MAC)附加到每个份额的标头块。每个标头块都可以被设计为放在单个数据包内。
在标头生成完成之后(例如,使用简化的标头生成处理900),安全数据解析器可以使用简化的数据解析处理910来进入数据划分阶段。在步骤912中,使用加密密钥K来加密流中的每个传入的数据包或数据块。在步骤914中,可以对来自步骤912的作为结果的密文,计算份额完整性信息(散列H)。例如,可以计算SHA-256散列。然后,在步骤916中,可以使用上文所描述的数据解析算法中的一个,将数据包或数据块划分为两个或更多数据份额。在一些实施例中,可以解析数据包或数据块,以便每个数据份额都包含经加密的数据包或数据块的基本上随机的分布。然后,可以将完整性信息(例如,散列H)附加到每个数据份额。在一些实施例中,还可以计算可选的后认证标记(例如,MAC),并将其附加到每个数据份额。
每个数据份额都可以包括允许正确地重构数据块或数据包所需的元数据。此信息可以被包括在份额标头中。元数据可以包括诸如加密密钥份额、密钥身份、份额随机数(share nonce)、签名/MAC值、以及完整性块之类的信息。为了最大化带宽效率,元数据可以以压缩二进制格式存储。
例如,在一些实施例中,份额标头包括未加密的明文标头块,并可以包括诸如Shamir密钥份额、每会话随机数(nonce)、每份额随机数(nonce)、密钥标识符(例如,工作组密钥标识符以及后认证密钥标识符)之类的元素。份额标头还可以包括利用加密密钥加密的加密的标头块。完整性标头块(可以包括对任意数量的以前块(例如,以前的两个块)的完整性检查)也可以被包括在标头中。任何其他合适的值或信息还可以被包括在份额标头中。
如图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,该云1102包括用于存储数据份额(还有其他功能)的许多云资源。用户系统1120和1130可以包括任何合适的硬件,诸如计算机终端、个人计算机、手持式设备(例如,PDA、黑莓、智能电话、平板设备)、蜂窝电话、计算机网络、任何其他合适的硬件、或其任何组合。用户系统1120可以被配置成运行安全数据解析器1122,该安全数据解析器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的本地存储器中,并且一个或多个数据份额、密钥份额、或密钥可以存储在可移动存储器中(例如,USB存储器),诸如可移动存储器1126或可移动存储器1136,这仅是举例而已。可以使用任何合适数量的云。例如,在一些实施例中,云1102和云1112可以形成单个云,或可以只使用云1102和1112中的一个。在一些实施例中,可以使用三个或更多个云。
可移动存储器1126或1136可以是,例如,紧凑USB闪存驱动、软盘、光盘、或智能卡。在一些实施例中,可以使用可移动存储器1126或1136来认证希望查看、加密、或解密由数据安全性服务1106管理的数据的远程用户的身份。在一些实施例中,可能需要可移动存储器1126或1136来启动由数据安全性服务1106对数据的加密、解密、或解析。在这样的实施例中,可移动存储器1126或1136可以被视为物理令牌。被授权的接收方1140还可以访问被配置成认证接收方用户的可移动存储器,以便接收方1140可以检索和解密它被授权访问的数据。
云计算的一个优点是,用户(例如,用户设备1130或用户系统1120的用户)能够访问多个云计算资源,而无需投资专用存储器硬件。用户可能具有动态地控制可以被它访问的云计算资源的数量和类型的能力。例如,可以给用户设备1130或用户系统1120提供具有可基于当前需求动态地调节的容量的云中的按需存储器资源。在一些实施例中,诸如在用户系统1120上执行的安全数据解析器1122或用户设备1130上的因特网web浏览器之类的一个或多个软件应用,可以将用户耦合到云资源1102。云资源1102与用户设备1130或用户系统1120的耦合对用户而言可以是透明的,以便云资源1102在用户看起来是本地硬件资源和/或专用硬件资源。
图12是用于执行本文中所描述的处理中的任何一个的计算设备的框图。这些系统的组件中的每一个都可以在一个或多个计算设备1200上实现。在某些方面,这些系统的多个组件可以被包括在一个计算设备1200内。在某些实现中,组件和存储设备可以跨多个计算设备1200实现。
计算设备1200包括至少一个通信接口单元、输入/输出控制器1210、系统存储器、以及一个或多个数据存储设备。系统存储器包括至少一个随机存取存储器(RAM 1202)和至少一个只读存储器(ROM 1204)。所有这些元件都与中央处理单元(CPU 1206)进行通信,以促进计算设备1200的操作。可以以许多不同的方式配置计算设备1200。例如,计算设备1200可以是常规独立计算机,或者可替选地,计算设备1200的功能可以跨多个计算机系统和体系结构分布。在图12中,计算设备1200通过网络或局域网,链接到其他服务器或系统。
可以以分布式体系结构配置计算设备1200,其中,数据库和处理器被封装在单独的单元或位置内。一些单元执行初级处理功能,并至少包含一般控制器或处理器和系统存储器。在分布式体系结构实现方式中,这些单元中的每一个都可以通过通信接口单元1208附接到充当与其他服务器、客户端或用户计算机及其他相关的设备的主要通信链路的通信中枢或端口(未示出)。通信中枢或端口本身可以具有最小的处理能力,主要充当通信路由器。各种通信协议可以是系统的一部分,包括但不仅限于:以太网、SAP、SASTM、ATP、BLUETOOTHTM、GSM和TCP/IP。
CPU 1206包括诸如一个或多个常规微处理器之类的处理器,诸如用于从CPU 1206分摊工作负荷的数学协处理器之类的一个或多个补充的协处理器。CPU 1206与通信接口单元1208和输入/输出控制器1210进行通信,通过它们,CPU 1206与诸如其他服务器、用户终端、或设备之类的其他设备进行通信。通信接口单元1208和输入/输出控制器1210可以包括用于与例如其他处理器、服务器或客户端终端同时进行通信的多个通信信道。
CPU 1206还与数据存储设备进行通信。数据存储设备可以包括磁、光或半导体存储器的合适的组合,并可以包括例如RAM、1202、ROM 1204、闪存驱动器、诸如压缩光盘之类的光盘、或硬盘或驱动器。CPU 1206和数据存储设备各自都可以例如完全位于单个计算机或其他计算设备内;或通过诸如USB端口、串行端口电缆、同轴电缆、以太网电缆、电话线路、射频收发器或其他类似的无线或有线介质之类的通信介质或前述的各项的组合而彼此连接。例如,CPU1206可以通过通信接口单元1208连接到数据存储设备。CPU 1206可以被配置成执行一个或多个特定处理功能。
数据存储设备可以存储,例如,(i)计算设备1200的操作系统1212;(ii)适用于根据这里所描述的系统和方法、特别是根据关于CPU 1206详细描述的处理来引导CPU 1206的一个或多个应用1214(例如,计算机程序代码或计算机程序产品);或(iii)适用于存储信息的数据库1216,它们可以被用来存储程序所需的信息。
操作系统1212和应用程序1214可以例如以压缩的、未编译的和加密的格式来存储,并可以包括计算机程序代码。程序的指令可以从数据存储设备之外的计算机可读介质,诸如从ROM 1204或从RAM1202被读取到处理器的主存储器。尽管程序中的指令序列的执行导致CPU 1206执行此处所描述的处理步骤,但是可以使用硬线连接的电路来代替用于实现本发明的处理的软件指令、或与它们相结合。如此,所描述的系统和方法不仅限于硬件和软件的任何特定的组合。
可以提供合适的计算机程序代码,用于执行有关如此处所描述的车辆路线选择和运动计划的一个或多个功能。程序还可以包括诸如操作系统1212、数据库管理系统和允许处理器通过输入/输出控制器1210与计算机外围设备(例如,视频显示器、键盘、计算机鼠标等等)进行交互的“设备驱动程序”之类的程序元素。
如此处所使用的术语“计算机可读介质”指的是向计算设备1200的处理器(或此处所描述的设备的任何其他处理器)提供或参与提供指令供执行的任何非暂态的介质。这样的介质可以呈现许多形式,包括但不仅限于,非易失性介质和易失性介质。非易失性介质包括,例如,光盘、磁盘、或光磁盘,或诸如闪存之类的集成电路存储器。易失性介质包括通常构成主存储器的动态随机存取存储器(DRAM)。计算机可读介质的常见形式包括,例如,软盘、硬盘、磁带,或任何其他磁性介质,CD-ROM,DVD、任何其他光学介质,穿孔卡片、纸带,具有孔的图案的任何其他物理介质,RAM、PROM,EPROM或EEPROM(电子可擦可编程序只读存储器)、FLASH-EEPROM,任何其他存储器芯片或盒,或计算机可以从其中读取的任何其他非瞬时的介质。
计算机可读介质的各种形式可以涉及向CPU 1206(或此处所描述的设备的任何其他处理器)传送一个或多个指令的一个或多个序列以供其执行。例如,指令最初可以位于远程计算机(未示出)的磁盘上。远程计算机可以将指令加载到其动态存储器中,并通过以太网连接、电缆线路、或者甚至使用调制解调器,通过电话线路发送指令。计算设备1200(例如,服务器)本地的通信设备可以在相应的通信线路上接收数据,并将数据放在处理器的系统总线上。系统总线向主存储器传送数据,处理器从主存储器检索指令并执行指令。在由处理器执行之前或之后,由主存储器接收到的指令可以可选地存储在存储器中。另外,还可以通过通信端口接收作为电信号、电磁信号或光信号(是携带各种类型的信息的无线通信或数据流的示例性形式)的指令。
可以将本文中所描述的安全数据解析技术应用于使用虚拟机的数据访问,具体而言,应用于虚拟机和一个或多个服务器或最终用户之间的通信。在2011年8月18日提交的美国专利申请No.13/212,360中详细描述了用于在集成虚拟机和主机安全性操作的虚拟机计算环境内提供额外的安全性特征的系统和方法,该专利申请以引用的方式并入本文中。
在某些实现中,上文所描述的解析、加密、存储、以及恢复处理可以用于虚拟机环境中,用于保护虚拟机实例的操作和存储。具体而言,可以使用这些处理来保护处于休息状态的虚拟机,确保在重新启动之前虚拟机不会被篡改。此处描述了用于保护虚拟机的若干种系统和技术,它们中的任何一种都可以与本文中所描述的额外的安全性技术中的任何一种相结合地使用。
图13是用于保护虚拟机的处理的流程图1300。流程图1300的步骤可以通过编程的计算机系统来实现,该编程的计算机系统可以包括一个或多个处理器、存储设备和通信设备,它们彼此本地地和/或远程地被配置,利用在计算机可读介质或自定义配置的逻辑设备中实例化的机器可读的指令(诸如以若干种编程语言中的任何一种编写的代码)来编程。为便于说明,流程图1300的步骤在本文中被描述为由编程的计算机系统的主机设备执行,但是,可以理解,任何一个或多个处理设备都可以被配置成相应地执行这些步骤。在一些实现方式中,主机设备例如是个人计算机、服务器、或大型机。在一些实现方式中,主机设备是便携式计算设备,诸如平板设备、上网本、膝上型计算机、移动电话、智能电话、或任何其他这样的设备。在一些实现方式中,主机设备包括多个计算设备,诸如上文所描述的那些中的任何一种。多个计算设备可以被配置成各自执行图13的处理的一个或多个步骤或操作(例如,以串行或并行方式)。主机设备可以运行诸如,例如,Windows(Microsoft)、Linux、MacOS(Apple)、Android(Google)、iOS(Cisco Systems)、Blackberry OS(Research InMotion)、Symbian(Nokia)、或Windows Phone(Microsoft)之类的操作系统。
在步骤1302中,主机设备接收多个加密安全模块(CSM)数据份额。这些份额中的每个都是提供被配置成执行本文中所描述的安全性操作(诸如已解析的数据份额的解析和恢复)中的任何一个或多个的可执行的CSM所需的数据的一部分的代表。具体而言,CSM被配置成生成数据解析信息,所述数据解析信息可用于确定指定的数据集的数据单元将被放置于多个份额中的哪个中以及将如何加密数据单元。下面将讨论数据解析信息的示例。在一些实现方式中,通过通信网络,从远离主机设备的一个或多个设备(例如,通过因特网或内联网与主机设备进行通信的一个或多个数据服务器)接收多个CSM数据份额。如此处所使用的,术语“网络”包括自组织网络、对等网络和近场网络。可以按日程表(例如,每隔二十四小时)或响应于来自主机设备的请求,将CSM数据份额传输到主机设备(如下面详细地讨论的)。
可以使用本文中所描述的用于生成数据份额的技术中的任何一种,诸如确定性技术和随机技术,生成CSM数据份额。选择的特定份额生成技术应该与对主机设备可用的恢复技术互补,以确保可以从CSM数据份额适当地恢复CSM。在一些实现方式中,用于从CSM数据份额恢复CSM的技术存储在主机设备中并可由主机设备执行。此技术可以是比可以由CSM执行的技术更简单的恢复技术,诸如简单确定性技术,其中,CSM份额以预定顺序组合,以形成可执行的CSM或可执行的CSM的安装器。在一些实现方式中,用于从CSM数据份额恢复CSM的技术是由CSM数据份额或CSM数据份额附带的数据文件所指定的,并可由主机设备执行。在这样的实现方式中,安全性的措施通过将CSM数据份额彼此分离来提供,尽管可以获取用于从CSM数据份额恢复CSM的技术。加密恢复技术指令可以提供额外的安全性级别。
在步骤1304中,主机设备根据如本文中所描述的合适的恢复技术,从CSM数据份额恢复CSM。如果CSM数据份额的恢复提供CSM安装器,则主机设备可以在恢复之后执行安装器,以获取可执行的CSM。在一些实现方式中,在步骤1302中,只接收单个CSM数据份额;CSM的恢复所需的剩余数据已经对主机设备可用(例如,本地存储的)。在一些实现方式中,主机设备在步骤1302中整体地接收CSM或CSM安装器,在这样的情况下,步骤1304的从CSM数据份额恢复CSM例如可以通过存储CSM或安装CSM来执行。在一些实现方式中,主机设备不执行步骤1302和1304;相反,可执行的CSM对主机设备可用(例如,存储在本地或远程可访问的存储器中),如此,不必从数据份额恢复CSM。
在步骤1306中,主机设备接收多个第一虚拟机(VM)份额。可以从远离主机设备的一个或多个设备(例如,远程服务器)、一个或多个本地设备、或其组合,接收这些份额。这些份额中的每个都表示用于在主机设备上实例化并运行VM的一个或多个VM文件的一部分。例如,在步骤1305中接收到的第一VM份额可以表示下列各项中的一项或多项:日志文件、虚拟机BIOS状态文件、虚拟盘文件、分页文件、快照状态文件、挂起状态文件、以及配置文件。由在步骤1306中接收到的第一VM份额所表示的VM文件可以取决于VM通过其要操作的VM应用。市场上销售的VM应用的示例包括VMware(VMWare,Inc.)、Xen、以及Hyper-V(Microsoft),但是,可以使用任何其他应用级别、操作系统级别或硬件级别的VM应用。可以以本文中参考任何数据集所描述的任何方式来处理这些VM文件,具体而言,可以使用本文中所描述的用于生成数据份额的技术中的任何一种(诸如确定性技术以及随机技术)来生成第一VM份额,只要主机设备上的CSM可以从第一VM份额恢复VM即可。
在步骤1308中,主机设备使用由CSM生成的数据恢复信息,从第一VM份额恢复VM文件。例如,数据恢复信息可以指示CSM通过首先解密每个第一VM份额、然后组合第一VM份额来从第一VM份额恢复VM文件。一个或多个加密/解密密钥可以与第一VM份额存储在一起或分开地存储,并且其本身可以被解析为多个份额(例如,应用Shamir技术)。在一些实现方式中,数据恢复信息指示CSM首先组合VM份额、然后解密该组合以恢复VM。数据恢复信息可以指定若干种解密和组合步骤中的任何一种,或本文中所描述的任何其他数据恢复技术。在一些实现方式中,在步骤1306中,只接收单个第一VM份额;VM文件的恢复所需的剩余数据已经对主机设备可用(例如,本地存储的)。在一些实现方式中,主机设备在步骤1306中整体地接收VM文件,在这样的情况下,步骤1308中的VM文件的恢复可以通过例如存储VM文件或从压缩的文件格式(例如,ZIP文件)提取VM文件来执行。在一些实现方式中,主机设备不执行步骤1306和1308;相反,驻留在主机设备上的VM应用生成新VM实例,而无需访问现有的VM份额。
在步骤1310中,主机设备使用在步骤1308中恢复的VM文件来执行VM。VM可以是被配置成执行诸如通信功能、数据处理功能、以及游戏功能之类的任何功能的任何VM。例如,VM可以是由用户的雇主支持的来宾操作系统(OS)。雇主可以控制VM的配置,以确保主机设备本机的处理和应用中没有一个会感染或污染来宾OS的操作。VM在此上下文中的使用允许用户与单个设备进行交互,以执行个人计算任务(通过本机OS)和工作相关的计算任务(通过来宾OS)两者,但是VM的许多其他用途是已知的,并可以与这个以及其他合适的实现方式一起使用。
在步骤1312中,主机设备判断是否接收到停止VM的命令。如此处所使用的,“停止命令”是指触发与VM相关联的一个或多个VM文件的存储的任何命令,诸如保存命令、关闭命令、挂起命令、以及暂停命令。要响应于停止命令而存储的一个或多个VM文件可能从在步骤1308中恢复文件以来由于对VM的任何更改、或由于在步骤1310中执行VM而生成的额外的信息而已经更改。在一些实现方式中,停止命令是由主机设备的用户所发出的(例如,当用户希望从由VM运行的来宾OS切换到本机OS时)。在一些实现方式中,停止命令是由主机设备或另一设备所发出的,而不需要来自用户的基本上同时的命令(例如,在预定的“自动保存”时间,响应于中断事件,等等)。如果在步骤1312中没有接收到停止命令,则主机设备继续监测停止命令。
如果在步骤1312中识别停止命令,则主机设备转到调用CSM来生成数据解析信息,以用于在步骤1314中生成VM文件的份额。VM的活动可以在正在安全地存储VM文件的某些或全部时间停止(例如,步骤1314-1318)。在步骤1314中生成的数据解析信息可被用来确定虚拟机文件的数据单元将被放置于多个份额中的哪个中以及将如何加密数据单元,如在本发明中详细描述的。在一些实现方式中,所述数据解析信息指定用于确定所述虚拟机文件的所述数据单元将被放置于所述多个份额中的哪个份额的确定性技术。在一些实现方式中,所述数据解析信息指定用于确定所述虚拟机文件的所述数据单元将被放置于所述多个份额中的哪个份额的基本上随机的技术。可以使用若干种解析技术中的任何一种,并且可以对多个解析技术进行分层。
在步骤1316中,主机设备调用CSM以基于在步骤1314中生成的数据解析信息,从VM文件生成多个第二VM份额。如上文参考步骤1302和步骤1306所描述的,可以通过以若干种方式中的任何一种来解析VM文件,生成第二VM份额。在一些实现方式中,CSM识别VM文件的多个部分,并加密多个部分中的每个,以形成第二VM份额。在一些实现方式中,CSM加密虚拟机文件,并识别加密的VM文件的多个部分,以形成第二VM份额。如在整个本发明中详细地讨论的,可通过访问第二VM份额中的阈值数量的份额来恢复VM文件。在一些实现方式中,阈值数量小于第二VM份额的总数量。
在步骤1318中,主机设备使得第二VM份额中的每个存储在各个单独的存储位置。在一些实现方式中,单独的存储位置包括主机设备本身上的多个单独的存储位置,远离主机设备的一个或多个设备上的多个单独的存储位置,或主机设备上的至少一个存储位置和远离主机设备的设备上的至少一个存储位置的组合。在一些实现方式中,存储了第二VM份额的存储位置是在步骤1306中由主机设备接收到第一VM份额之前存储第一VM份额的相同位置。
在步骤1320中,主机设备判断是否接收到VM开始命令。如此处所使用的,“开始命令”包括响应于该命令,应该从第二VM份额恢复VM文件以便执行VM的任何命令。如果在步骤1320中没有识别开始命令,则主机设备继续监测这样的命令。如果在步骤1320中识别了开始命令,则主机设备返回到步骤1308,以从第二VM份额恢复VM文件。如此,可以通过解析VM文件来安全地存储停止的VM,并响应于开始命令而安全地恢复,从而降低了当停止时VM将被损坏或篡改的可能性。
图13的处理通过图14A-14G中的安全VM环境1400的框图示出。在图14A中,主机设备1402从设备1406接收一个或多个加密安全模块(CSM)份额1404,从设备1410接收一个或多个CSM份额1408(图13的步骤1302)。主机设备1402还分别从设备1418、1420和1422接收一个或多个第一虚拟机(VM)份额1412、1414和1416(图13的步骤1306)。在一些实现方式中,设备1406、1410、1418、1420和1422中的每一个都包括与主机设备1402进行无线或有线通信的服务器。图14B示出了主机设备1402本地存储的CSM份额1406和1410和第一VM份额1412、1414和1416。
图14C示出了从CSM份额1406和1410生成的恢复的CSM1424(图13的步骤1304),其被用来从第一VM份额1412、1414和1416恢复VM 1432(图14D)(图13的步骤1308)。然后,执行VM 1432(图13的步骤1310),在该期间,更改构成VM的基础的文件。响应于停止命令(图13的步骤1312),主机设备1404使用CSM 1424来生成用于生成一组第二VM份额1426、1428和1430的解析信息(图13的步骤1314),如图14E所示(图13的步骤1316)。然后,第二VM份额1426、1428和1420存储在设备1418、1420和1422,如图14F所示(图13的步骤1318)。主机设备1402可以删除CSM 1424,如图14G所示,并等待开始VM的命令(图13的步骤1320),此时,主机1402可以从设备1418、1420和1422检索第二VM份额1426、1428和1430。
如此处指出的,在一些实现方式中,加密安全模块(CSM)和虚拟机(VM)已经对主机设备可用,如此,不必执行步骤1302和1304、以及步骤1306和1308。在图15A-15B中呈现了根据一个这样的实现方式的安全VM环境1500的框图。在图15A中,CSM 1524和VM 1532对主机设备1504可用,如此,图13的处理可以从步骤1310开始,执行VM 1532。响应于停止命令(图13的步骤1312),主机设备1504使用CSM 1524来生成用于生成一组第二VM份额1526、1528和1530的解析信息(图13的步骤1314),如图15B所示(图13的步骤1316)。然后,第二VM份额1526、1528和1520可以远程存储(如图14所示)或本地存储。
在一些实现方式中,VM份额一起存储,或以其它方式组织成可识别的目录,以便于访问。在此处所描述的VM保护技术的一些实现方式中,VM份额本地存储到主机设备中的一个或多个单独的存储位置,选择这些位置,以使检测主机设备上的VM份额的存在难以进行。这可以通过将份额存储在与非VM应用或系统文件相关联的目录中,并通过利用模糊它们的来源的文件名和扩展名来命名VM份额而实现。另外,还可以通过例如使用市场上销售的文件管理程序或其他实用程序来更改文件信息(诸如,创建时间/日期、修改时间/日期和访问时间/日期),以进一步模糊VM份额。
图16描绘了包括其中VM份额被“隐藏”的目录结构的显示1602的一个示例。在此示例中,第一VM份额1604存储在应用“InternetExplorer”的“Plugins”目录中,并被标记为“x2qd.dll”。第二VM份额1606作为“g9ggy.H1T”存储在系统“Help”目录中。第三VM份额1608作为“autoc.dat”存储在“Program Files”目录中。在这样的实现方式中,VM份额的位置为CSM所知,以便可以恢复份额,并在接收到开始命令时恢复VM。然而,临时的观察者,将不会通过检测该显示1602的目录结构来容易地检测VM的存在。
在一些实现方式中,VM份额存储在存储介质(诸如硬盘)的与由操作系统(OS)管理的分区分开的分区。结果,VM份额不对OS可用,也不被OS识别,如此,OS的文件系统的观察者无法查看。CSM可以通过将VM份额数据直接写入到单独的分区中的数据块,通过传递OS的文件系统,将VM份额存储在此单独的分区中。
图17描绘了用于模糊VM份额的存在的已分区的存储介质系统1700的一个示例。存储介质系统1700包括被分区为第一分区1702和第二分区1704的存储介质1714。第一分区1702是存储介质1714的数据块的一部分(例如,200GB硬盘驱动器的196GB),被分配给操作系统(OS)1706,用于由文件系统1708管理。第二分区1704可以包括存储介质1714的剩余数据块(例如,200GB硬盘驱动器的4GB)。存储介质系统1700被配置为以便CSM 1710(在OS 1706下操作)将VM份额1712直接写入到第二分区1704中的存储位置。CSM 1710可以通过直接从第二分区1704读取来检索那些份额。虽然VM份额1712能够被CSM 1710访问,但是份额不被文件系统1708管理,如此对OS 1706来说不可见。
可以通过在数据集的指示显示在设备上之前要求用户输入的预定的序列,另外使虚拟机或其他数据集的存在对临时的观察者模糊。例如,在通过将VM文件的份额存储在单独的存储位置来保护停止的VM之后,主机设备可以不提供用户可以利用其发出开始VM的命令的图标或下拉菜单条目;相反,在开始VM之前,主机设备可以等待用户执行一系列手势输入。可以因为它们的与常见的姿势的相似度,选择这些手势输入,例如,敲击主机设备的表面或摩擦触摸显示器,好像移除指纹。通过没有数据集的存在的可视指示,并通过要求“伪装的”手势或其他输入以恢复数据集,以进一步模糊数据集,难以让观察者看见。
图18是根据这样的实现方式的用于恢复数据集的处理的流程图1800。如上文参考图13所描述的,流程图1800的步骤可以通过编程的计算机系统来实现,该编程的计算机系统可以包括一个或多个处理器、存储设备以及通信设备,它们彼此本地地和/或远程地被配置,利用在计算机可读介质或自定义配置的逻辑设备中实例化的机器可读的指令(诸如以若干种编程语言中的任何一种编写的代码)来编程。为便于说明,流程图1800的步骤此处被描述为由编程的计算机系统的主机设备执行,但是,可以理解,任何一个或多个处理设备都可以被配置成相应地执行这些步骤。在某些实现中,处理设备例如是个人计算机、服务器、或大型机。在某些实现中,处理设备是便携式计算设备,诸如平板设备、上网本、膝上型计算机、移动电话、智能电话,或任何其他这样的设备。在某些实现中,处理设备包括多个计算设备,诸如此处所描述的那些设备中的任何一种。多个计算设备可以被配置成各自执行图18的处理的一个或多个步骤或操作(例如,以串行或并行方式)。处理设备可以运行诸如,例如,Windows(Microsoft)、Linux、MacOS(Apple)、Android(Google)、iOS(Cisco Systems)、Blackberry OS(Research In Motion)、Symbian(Nokia)、或Windows Phone(Microsoft)之类的操作系统。
在步骤1802中,处理设备在显示设备上显示多个用户可选择元素。每个用户可选择元素都与诸如浏览器应用或字处理应用之类的不同的可执行的应用相关联。用户可选择元素可以包括一个或多个图标、一个或多个下拉菜单列表,或任何其他可选择的显示元素。
在步骤1804中,当显示多个用户可选择元素时,处理设备判断是否接收到用户输入的预定的序列。预定的用户输入的序列可以包括下列各项中的任何一项或多项:手势输入(例如,利用指示笔或手指在触摸板上画的特定形状)、生物识别输入(例如,面部识别输入、指纹识别输入、视网膜扫描输入)、处理设备的朝向(例如,将设备倒置达预定的时间长度)、以及处理设备的加速度(例如,在设备的表面上敲击预定次数、或以预先确定的速率敲击、或以预先确定的方式挥舞设备)、小键盘输入(例如,通行码或按键的其他序列)。如果处理设备不识别用户输入的预定的序列,则处理设备继续监测输入。
如果在步骤1804中处理设备识别预定的用户输入的序列,则处理设备在步骤1806中执行加密安全模块(CSM)。CSM被配置成从数据集份额恢复数据集,并且与在步骤1802中显示的用户可选择元素中的任何一个都不关联(在接收到预定的用户输入序列之前)。换言之,CSM的存在对观察者通过在步骤1802中对显示设备的外观检查来说不是清楚的。
在步骤1808中,处理设备使用CSM的加密恢复功能来从多个数据集份额恢复与预定的用户输入的序列相关联的数据集,每一数据集份额都表示数据集的加密的部分。在本发明中详细描述了用于生成数据份额和恢复那些数据份额的技术。数据集份额可以存储在处理设备本地的、远离处理设备的、或其组合的各个单独的存储位置。
在步骤1810中,处理设备在显示设备上显示与数据集相关联的图形元素。图形元素可以是向处理设备的用户向发送数据集已经被恢复的信号的图标或其他指示器。在某些实现中,此图形元素是数据集本身的可视表示。此显示步骤是可选的;在某些实现中,没有恢复的数据集的可视指示。然而,处理设备可以使用由恢复的数据集所提供的任何额外的功能,或使任何这样的额外的功能对用户可用。例如,在步骤1808中恢复的数据集可以是执行的移动电话应用(或运行这样的应用的虚拟机),该应用允许用户利用现有的“明显的”电话应用从智能电话内的“隐藏”的电话打电话。可以在视觉上指出隐藏的电话的存在以提供额外的安全性。
在某些实现中,数据集与可由处理设备执行的应用相关联。在这样的实现方式中,处理设备可以可选地执行步骤1812,并执行相关联的应用。例如,数据集可以是电话通信应用的安装器或可以提供这样的应用的配置数据。在另一个示例中,数据集可以表示虚拟机文件,诸如日志文件、虚拟机BIOS状态文件、虚拟盘文件、分页文件、快照状态文件、挂起状态文件、以及配置文件。当数据集表示虚拟机文件时,相关联的应用可以包括使用虚拟机文件来启动虚拟机。
在步骤1814中,处理设备判断是否接收到隐藏命令。如此处所使用的,“隐藏命令”是指出应该模糊数据集的存在难以让观察者看见的任何命令。隐藏命令可以包括,例如,上文参考图13所描述的步骤命令中的任何一个,或可以包括休眠、睡眠、锁定,或中止处理设备的命令。如果在步骤1814中没有接收到隐藏命令,则处理设备继续监测这样的命令。用户可以通过使用预定的用户输入的序列(包括上文参考步骤1804所讨论的用户输入中的任何一个)或单个指定的输入来发出隐藏命令。还可以当处理设备检测到某些条件,诸如冲突情况下的敌人飞船(enemy craft)的电子签名时,自动地生成隐藏命令。
如果在步骤1814中接收到隐藏命令,则处理设备通过使用CSM生成数据解析信息(步骤1816),基于数据解析信息,生成数据集的份额(步骤1818),并导致份额存储在各个单独的位置(步骤1820),来模糊数据集。可以以此处所描述的方式中的任何一种(例如,上文参考图13所描述的那些)来执行这些步骤。
图19A和19B描绘了可以在图18的步骤1804中识别预定的用户输入序列之前和之后呈现的便携式设备上的显示。图19A描绘了带有可以分别与音乐、浏览和聊天应用相关联的三个用户可选择图标1904、1906和1908的显示1902。用户可选择图标1904、1906和1908中没有一个与存储在份额中并在便携式设备上模糊的加密安全模块(CSM)或数据集相关联。在图18的步骤1804中识别预定的用户输入的序列之后,显示额外的图形元素1910,指出数据集已经恢复。图形元素1910可以是用户可选择的,以触发数据集的显示,或与数据集相关联的应用的启动。
在上文所描述的虚拟机安全性和数据恢复技术中的一些中,在恢复加密安全模块(CSM)、虚拟机(VM)或数据集之前,设备从一个或多个其他设备接收一个或多个份额。只有在两个设备接近的情况下才接收份额的能力对于一些应用来说可能具有若干种优点。例如,一个公司可能希望只有当其雇员在公司的设施内时才允许雇员访问敏感数据站点。在另一个示例中,一个新闻线索提供者可能希望只有在记者与他靠得近时才与该记者交换数据,但在此之前则不是。在另一个示例中,手持式设备的多玩家游戏的开发人员可能希望只有在有足够数量的用户地理位置靠近时才允许用户访问新游戏级别。在这些设置中的任何一种设置中,对资源的访问可以通过只有当满足接近度条件时才提供足够的数据份额以恢复所希望的资源(或对所希望的资源的访问)来控制。
图20是用于恢复数据集的这样的处理的流程图2000。如上文参考图13和图18所描述的,流程图2000的步骤可以通过编程的计算机系统来实现,该编程的计算机系统可以包括一个或多个处理器、存储设备和通信设备,它们彼此本地地和/或远程地被配置,利用在计算机可读介质或自定义配置的逻辑设备中实例化的机器可读的指令(诸如以若干种编程语言中的任何一种编写的代码)来编程。为便于说明,流程图1800的步骤此处被描述为由编程的计算机系统的第一计算机设备执行,但是可以理解,任何一个或多个处理设备都可以被配置成相应地执行这些步骤。在某些实现中,第一计算机设备例如是个人计算机、服务器、或大型机。在某些实现中,第一计算机设备是便携式计算设备,诸如平板设备、上网本、膝上型计算机、移动电话、智能电话、或任何其他这样的设备。在某些实现中,第一计算机设备包括多个计算设备,诸如上文所描述的那些设备中的任何一种。多个计算设备可以被配置成各自执行图13的处理的一个或多个步骤或操作(例如,以串行或并行方式)。第一计算机设备可以运行诸如,例如,Windows(Microsoft)、Linux、MacOS(Apple)、Android(Google)、iOS(Cisco Systems)、Blackberry OS(Research InMotion)、Symbian(Nokia)、或Windows Phone(Microsoft)之类的操作系统。
在步骤2002中,第一计算机设备标识对处理设备可用的第一数据集份额。每个第一数据集份额都表示来自所希望的数据集的数据的一部分。数据集无法从识别的第一数据集份额恢复,但是可以通过阈值数量的数据集份额来恢复。在某些实现中,第一数据集份额存储到第一计算机设备本地。
在步骤2004中,第一计算机设备判断是否检测到第一计算机设备和不同于第一计算机设备的第二计算机设备之间的通信链路。第二计算机设备可以是手持式计算机设备、服务器、膝上型计算机、或任何其他计算机设备。在某些实现中,在步骤2004中,检测通信链路包括判断第二计算机设备是否在第一计算机设备的射频通信设备(诸如蓝牙设备)的通信范围内。在某些实现中,在步骤2004中,检测通信链路包括判断第二计算机设备是否连接到第一计算机设备也连接到的计算机通信网络。此连接可以是有线或无线的。在某些实现中,在步骤2004中,检测通信链路包括判断所述第二计算机设备是否在所述第一计算机设备的预先确定的地理距离内。例如,可以通过在第一计算机设备上从被配置成存储有关第二计算机设备的地理位置的信息的服务器(例如,GPS跟踪)接收信息来作出此地理判断。来自服务器的信息可以是指出第二计算机设备与第一计算机设备的接近度的消息。在某些实施例中,在步骤2004中,检测通信链路包括通过所述第一计算机设备的用户的身体和所述第二计算机设备的用户的身体,检测所述第一计算机设备和所述第二计算机设备之间的电通信路径,所述用户的所述身体彼此物理接触以及与其相应的计算机设备物理接触。下面将参考图21-69来描述步骤2004的这些各种实现方式的示例。
如果在步骤2004中没有检测到通信链路,则第一计算机设备继续监测通信链路。如果在步骤2004中检测到通信链路,则第一计算机设备在步骤2006中从第二计算机设备接收第二数据集份额。在步骤2008中,第一计算机设备还可以将第一数据集份额传输到第二计算机设备。在某些实现中,步骤2006的接收和步骤2008的传输通过检测到的通信链路来进行。在某些实现中,步骤2006的接收和步骤2008的传输通过代理设备(诸如与第一计算机设备和第二计算机设备两者进行通信的服务器)进行。
在步骤2010中,第一计算机设备判断是否接收到阈值数量的份额以恢复所希望的数据集。如果没有,则第一计算机设备返回到步骤2004,以监测与另一计算机设备的通信链路。如果在步骤2010中接收到阈值数量的份额,则第一计算机设备在步骤2012中从份额恢复所希望的数据集(例如,使用被配置成执行此处所描述的恢复技术中的任何一种的加密安全模块)。
在步骤2014中,处理设备在显示设备上显示与数据集相关联的图形元素。图形元素可以是向处理设备的用户向发送数据集已经被恢复的信号的图标或其他指示器。在某些实现中,此图形元素是数据集本身的可视表示。此显示步骤是可选的;在某些实现中,没有恢复的数据集的可视指示。然而,第一计算机设备可以使用由恢复的数据集所提供的任何额外的功能,或使任何这样的额外的功能对用户可用,如上文参考图18的步骤1810所讨论的。
在某些实现中,数据集与可由处理设备执行的应用相关联。在这样的实现中,处理设备可以可选地执行步骤2016,并执行相关联的应用。例如,数据集可以是电话通信应用的安装器或可以提供这样的应用的配置数据。在另一个示例中,数据集可以与游戏应用相关联。在另一个示例中,数据集可以表示虚拟机文件,诸如日志文件、虚拟机BIOS状态文件、虚拟盘文件、分页文件、快照状态文件、挂起状态文件、以及配置文件。当数据集表示虚拟机文件时,相关联的应用可以包括使用虚拟机文件来启动虚拟机。
图21A和21B示出了图20的步骤2002-2006的一个实现方式。图21A描绘了可以访问第一数据集份额S12104的第一计算机设备2102和可以访问第二数据集份额S22108的服务器2106。在图21B中,当第一计算机设备2102通过有线连接(例如,通过将第一计算机设备2102对接在连接到与服务器2106的共同的通信网络的扩展坞中)连接到服务器2106时,第一计算机设备2102从服务器2106接收第二数据集份额S22108。
图22A和22B示出了图20的步骤2002-2006的另一实现方式。图22A描绘了可以访问第一数据集份额S12204的第一计算机设备2202和可以访问第二数据集份额S22208的服务器2206。在图22B中,当第一计算机设备2202进入服务器2206的无线连接范围2210并通过无线连接(例如,802.11b或蓝牙连接)连接到服务器2206时,第一计算机设备2202从服务器2206接收第二数据集份额S22208。
图23A-23C示出了图20的多个步骤的另一实现方式。图23A描绘了可以访问第一数据集份额S12304的第一计算机设备2302、可以访问第二数据集份额S22308的第二计算机设备2306、以及可以访问第三数据集份额S32312的第三计算机设备2310。在图23B中,当第一计算机设备2302进入第二计算机设备2306的无线连接范围2314并通过无线连接而连接到第二计算机设备2306时,第一计算机设备2302从第二计算机设备2306接收第二数据集份额S22308。在图23C中,当第一计算机设备2302进入第三计算机设备2310的无线连接范围2316并通过无线连接而连接到第三计算机设备2310时,第一计算机设备2302从第三计算机设备2310接收第三数据集份额S32312。
图24A和24B示出了图20的多个步骤的另一实现方式。图24A描绘了可以访问第一数据集份额S12404的第一计算机设备2402、可以访问第二数据集份额S22408的第二计算机设备2406、以及可以访问第三数据集份额S32412的第三计算机设备2410。在图24B中,当第一计算机设备2402位于第二计算机设备2406的无线连接范围2414内并通过无线连接而连接到第二计算机设备2406,并且还位于第三计算机设备2410的无线连接范围2416内并通过无线连接而连接到第三计算机设备2410时,第一计算机设备2402从第二计算机设备2406接收第二数据集份额S22408,从第三计算机设备2410接收第三数据集份额S32412。
图25A-25C示出了图20的多个步骤的另一实现方式。图25A描绘了可以访问第一数据集份额S12504的第一计算机设备2502、可以访问第二数据集份额S22508的第二计算机设备2506、以及可以访问第三数据集份额S32512的第三计算机设备2510。在图25B中,当第一计算机设备2502进入第二计算机设备2506的无线连接范围2514并通过无线连接而连接到第二计算机设备2506时,第一计算机设备2502从第二计算机设备2506接收第二数据集份额S22508,并且还将第一数据集份额S12504传输到第二计算机设备2506。在图25C中,当第一计算机设备2502进入第三计算机设备2510的无线连接范围2516并通过无线连接而连接到第三计算机设备2510时,第一计算机设备2502从第三计算机设备2510接收第三数据集份额S32512,并且还将第一数据集份额S12504传输到第三计算机设备2510。在某些实现中,第一计算机设备2502可以将第一数据集份额S12504和第二数据集份额S22508传输到第三计算机设备2510。
图26A和26B示出了图20的某些步骤的另一实现方式。图26A描绘了由第一用户2610握住的可以访问第一数据集份额S12604的第一计算机设备2602、以及由第二用户2612握住的可以访问第二数据集份额S22608的第二计算机设备2606。在图26B中,当第一用户2610与第二用户2612物理接触时,第一和第二计算机设备2602和2606可以检测安装在它们的相应的表面上的电极之间的相对低阻抗,并作为响应,将它们的相应的数据集份额传输到其他设备。
鉴于此处的说明,其他组合、添加、替换和修改对精通技术的人员是清楚的。

Claims (142)

1.一种用于保护虚拟机的方法,包括:
在主机设备上执行虚拟机,所述虚拟机包括虚拟机文件;
生成数据解析信息,其中,所述数据解析信息能用于确定所述虚拟机文件的一部分将被放置于多个份额中的哪个中以及将如何加密所述部分;
响应于接收到停止所述虚拟机的命令:
基于所述数据解析信息生成所述多个份额;
使所述多个份额中的每个都被存储在相应的单独的存储位置;
其中,能通过访问所述多个份额中的阈值数量的份额来恢复所述虚拟机文件。
2.如权利要求1所述的方法,其中,所述主机设备是手持式计算设备。
3.如前述的权利要求中的任一项所述的方法,其中,所述虚拟机文件包括下列各项中的至少之一:日志文件、虚拟机BIOS状态文件、虚拟盘文件、分页文件、快照状态文件、挂起状态文件和配置文件。
4.如前述的权利要求中的任一项所述的方法,其中,所述停止所述虚拟机的命令包括下列各项中的至少之一:保存命令、关闭命令、挂起命令和暂停命令。
5.如前述的权利要求中的任一项所述的方法,其中,所述停止所述虚拟机的命令是由所述主机设备的用户发出的。
6.如前述的权利要求中的任一项所述的方法,其中,所述停止所述虚拟机的命令是由所述主机设备的处理器发出的,而不需要来自所述主机设备的用户的基本上同时的命令。
7.如前述的权利要求中的任一项所述的方法,其中,基于所述数据解析信息生成所述多个份额包括:
标识所述虚拟机文件的多个部分;以及
加密所述多个部分中的每个部分以形成所述多个份额。
8.如前述的权利要求中的任一项所述的方法,其中,基于所述数据解析信息生成所述多个份额包括:
加密所述虚拟机文件;以及
标识所述加密的虚拟机文件的多个部分以形成所述多个份额。
9.如前述的权利要求中的任一项所述的方法,其中,所述数据解析信息指定用于确定所述虚拟机文件的一部分将被放置于所述多个份额中的哪个中的确定性技术。
10.如前述的权利要求中的任一项所述的方法,其中,所述数据解析信息指定用于确定所述虚拟机文件的一部分将被放置于所述多个份额中的每个份额内的哪个位置中的确定性技术。
11.如前述的权利要求中的任一项所述的方法,其中,所述数据解析信息指定用于确定所述虚拟机文件的一部分将被放置于所述多个份额中的哪个中的基本上随机的技术。
12.如前述的权利要求中的任一项所述的方法,其中,所述数据解析信息指定用于确定所述虚拟机文件的一部分将被放置于所述多个份额中的每个份额内的哪个位置中的基本上随机的技术。
13.如前述的权利要求中的任一项所述的方法,其中,所述单独的存储位置包括所述主机设备上的多个单独的存储位置。
14.如前述的权利要求中的任一项所述的方法,其中,所述单独的存储位置包括远离所述主机设备的一个或多个设备上的多个单独的存储位置。
15.如前述的权利要求中的任一项所述的方法,其中,所述单独的存储位置包括所述主机设备上的至少一个存储位置、和远离所述主机设备的设备上的至少一个存储位置。
16.如前述的权利要求中的任一项所述的方法,还包括:
在所述主机设备上执行所述虚拟机之前:
接收第二多个份额;以及
使用数据恢复信息从所述第二多个份额恢复所述虚拟机文件,该数据恢复信息确定如何解密并且布置来自多个份额的各个部分以形成所述虚拟机文件。
17.如权利要求16所述的方法,其中,所述第二多个份额是从远离所述主机设备的一个或多个设备接收到的。
18.如权利要求17所述的方法,其中,远离所述主机设备的所述一个或多个设备包括一个或多个数据服务器。
19.如权利要求17所述的方法,其中,分别存储了所述多个份额的所述单独的存储位置位于从其接收到所述第二多个份额的远离所述主机设备的所述一个或多个设备上。
20.如前述的权利要求中的任一项所述的方法,还包括:
在生成数据解析信息之前:
接收第三多个份额;以及
从所述第三多个份额恢复可执行解析应用;
其中,所述数据解析信息是由所述可执行解析应用生成的。
21.如权利要求20所述的方法,其中,所述第三多个份额是从远离所述主机设备的一个或多个设备接收到的。
22.如权利要求21所述的方法,其中,远离所述主机设备的所述一个或多个设备包括一个或多个数据服务器。
23.如权利要求20所述的方法,其中,从所述第三多个份额恢复所述可执行拆分应用包括:根据存储在所述主机设备中并且能由所述主机设备执行的技术来组装所述第三多个份额。
24.如权利要求20所述的方法,其中,从所述第三多个份额恢复所述可执行解析应用包括:根据在所述第三多个份额中指定的并且能由所述主机设备执行的技术来组装所述第三多个份额。
25.如前述的权利要求中的任一项所述的方法,其中,所述阈值数量小于所述多个份额的总数量。
26.如前述的权利要求中的任一项所述的方法,其中,所述数据解析信息确定所述份额中的每个份额的大小,其中,至少一个份额的大小不同于至少一个其他份额的大小。
27.如前述的权利要求中的任一项所述的方法,其中,所述主机设备包括分布式结构中的一台或多台计算机。
28.如前述的权利要求中的任一项所述的方法,其中,所述主机设备包括云计算环境中的一台或多台计算机。
29.一种用于恢复数据集的方法,包括:
由计算机系统生成供由所述计算机系统的计算机设备显示的多个用户可选择元素,每个元素与不同的可执行应用相关联;
当所述多个用户可选择元素被显示时,在所述计算机设备处接收预定的用户输入序列;
响应于接收到所述预定的用户输入序列:
执行与所述显示的用户可选择元素中的任一个都不关联的加密恢复应用;以及
使用所述加密恢复应用程序,从多个数据集份额恢复数据集,每个数据集份额表示所述数据集的经加密的部分。
30.如权利要求29所述的方法,其中,所述计算机设备是手持式计算机设备。
31.如权利要求29-30中的任一项所述的方法,其中,所述用户可选择元素包括至少一个图标。
32.如权利要求29-31中的任一项所述的方法,其中,所述用户可选择元素包括至少一个下拉菜单列表。
33.如权利要求29-32中的任一项所述的方法,其中,所述预定的用户输入序列包括手势输入、生物识别输入、所述计算机设备的朝向、小键盘输入、和所述计算机设备的加速度。
34.如权利要求29-33中的任一项所述的方法,还包括:
响应于从所述多个数据集份额恢复所述数据集,在所述显示器上显示与所述数据集相关联的图形元素。
35.如权利要求29-34中的任一项所述的方法,其中,所述数据集与能由所述计算机设备执行的应用相关联,并且所述方法还包括:
响应于从所述多个数据集份额恢复所述数据集,执行与所述数据集相关联的应用。
36.如权利要求35所述的方法,其中,所述应用是电话通信应用。
37.如权利要求35所述的方法,其中,所述应用是虚拟机应用。
38.如权利要求37所述的方法,其中,所述数据集表示虚拟机文件,并且执行与所述数据集相关联的应用包括使用所述虚拟机文件来启动虚拟机。
39.如权利要求37所述的方法,其中,所述虚拟机文件包括下列各项中的至少之一:日志文件、虚拟机BIOS状态文件、虚拟盘文件、分页文件、快照状态文件、挂起状态文件和配置文件。
40.如权利要求29-39中的任一项所述的方法,其中,所述多个数据集份额中的两个或更多个数据集份额存储在所述计算机设备上的各个单独的存储位置。
41.如权利要求29-40中的任一项所述的方法,其中,所述多个数据集份额中的至少一个数据集份额存储在所述计算机设备上,而所述多个数据集份额中的至少一个数据集份额存储在远离所述计算机设备的设备上。
42.如权利要求29-41中的任一项所述的方法,其中,所述多个数据集份额中的两个或更多个数据集份额存储在远离所述计算机设备的一个或多个设备上的单独的存储位置。
43.如权利要求29-42中的任一项所述的方法,其中,每个数据集份额表示根据确定性技术选择的来自所述数据集的数据的一部分。
44.如权利要求29-43中的任一项所述的方法,其中,每个数据集份额表示根据确定性技术布置的来自所述数据集的数据的一部分。
45.如权利要求29-44中的任一项所述的方法,其中,每个数据集份额表示根据基本上随机的技术选择的来自所述数据集的数据的一部分。
46.如权利要求29-45中的任一项所述的方法,其中,每个数据集份额表示根据基本上随机的技术布置的来自所述数据集的数据的一部分。
47.如权利要求29-46中的任一项所述的方法,其中,所述计算机系统包括分布式结构中的一台或多台计算机。
48.如权利要求29-47中的任一项所述的方法,其中,所述计算机系统包括云计算环境中的一台或多台计算机。
49.一种用于恢复数据集的方法,包括:
识别存储在经编程的计算机系统的第一计算机设备上的第一数据集份额,每个第一数据集份额表示来自所述数据集的数据的一部分,其中,所述数据集无法从识别的第一数据集份额恢复,但是能通过阈值数量的数据集份额来恢复;
检测所述第一计算机设备和不同于所述第一计算机设备的第二计算机设备之间的通信链路;
响应于检测到所述通信链路:
在所述第一计算机设备上接收来自所述第二计算机设备的第二数据集份额;
判断所述第一数据集份额和第二数据集份额是否包括至少所述阈值数量的数据集份额;以及
响应于判断所述第一数据集份额和第二数据集份额包括至少阈值数量的数据集份额,使用所述第一数据集份额和第二数据集份额来恢复所述数据集。
50.如权利要求49所述的方法,其中,检测通信链路包括判断所述第二计算机设备是否在所述第一计算机设备的射频通信设备的通信范围内。
51.如权利要求50所述的方法,其中,所述射频通信设备包括蓝牙设备。
52.如权利要求50所述的方法,其中,所述射频通信设备包括近场通信设备。
53.如权利要求49所述的方法,其中,检测通信链路包括判断所述第二计算机设备是否连接到所述第一计算机设备也连接到的计算机通信网络。
54.如权利要求49所述的方法,其中,检测通信链路包括判断所述第二计算机设备是否在所述第一计算机设备的预定地理距离内。
55.如权利要求54所述的方法,其中,判断所述第二计算机设备是否在所述第一计算机设备的预定地理距离内包括:在所述第一计算机设备处接收来自服务器的指示所述第二计算机设备的接近度的消息。
56.如权利要求49所述的方法,其中,检测通信链路包括经由所述第一计算机设备的用户的身体和所述第二计算机设备的用户的身体来检测所述第一计算机设备和所述第二计算机设备之间的电通信路径,所述用户的身体彼此物理接触并且与其相应的计算机设备物理接触。
57.如权利要求49-56中的任一项所述的方法,还包括:
在识别所述第一数据集份额之前,响应于检测到所述第一计算机设备和第三计算机设备之间的通信链路,接收来自所述第三计算机设备的所述第一数据集份额中的至少一些。
58.如权利要求49-57中的任一项所述的方法,其中,所述第一计算机设备是手持式计算机设备。
59.如权利要求49-58中的任一项所述的方法,其中,所述第二计算机设备是手持式计算机设备。
60.如权利要求49-59中的任一项所述的方法,其中,所述第二计算机设备包括服务器。
61.如权利要求49-60中的任一项所述的方法,还包括:
响应于从所述第一数据集份额和第二数据集份额恢复所述数据集,在所述第一计算机设备的显示器上显示与所述数据集相关联的图形元素。
62.如权利要求49-61中的任一项所述的方法,其中,所述数据集与能由所述计算机设备执行的应用相关联,并且所述方法还包括:
响应于从所述多个数据集份额恢复所述数据集,执行与所述数据集相关联的应用。
63.如权利要求62所述的方法,其中,所述应用是游戏应用。
64.如权利要求49-63中的任一项所述的方法,还包括:
响应于检测到所述通信链路:
将所述第一数据集份额从所述第一计算机设备传输到所述第二计算机设备。
65.如权利要求49-64中的任一项所述的方法,其中,所述第二数据集份额是经由所述通信链路接收到的。
66.如权利要求49-65中的任一项所述的方法,其中,每个第一数据集份额表示根据确定性技术选择的来自所述数据集的数据的一部分。
67.如权利要求49-66中的任一项所述的方法,其中,每个第一数据集份额表示根据确定性技术布置的来自所述数据集的数据的一部分。
68.如权利要求49-67中的任一项所述的方法,其中,每个第一数据集份额表示根据基本上随机的技术选择的来自所述数据集的数据的一部分。
69.如权利要求49-68中的任一项所述的方法,其中,每个第一数据集份额表示根据基本上随机的技术布置的来自所述数据集的数据的一部分。
70.如权利要求49-69中的任一项所述的方法,其中,所述第一计算机设备和所述第二计算机设备被布置在分布式结构中。
71.如权利要求49-70中的任一项所述的方法,其中,所述第一计算机设备和所述第二计算机设备位于云计算环境中。
72.一种用于保护虚拟机的计算机系统,包括:
与一个或多个存储位置进行通信的处理电路,所述处理电路与用于接收通信的通信电路相关联,所述处理电路被配置成:
在主机设备上执行虚拟机,所述虚拟机包括虚拟机文件;
生成数据解析信息,其中,所述数据解析信息能用于确定所述虚拟机文件的一部分将被放置于多个份额中的哪个中以及将如何加密所述部分;
响应于接收到停止所述虚拟机的命令:
基于所述数据解析信息生成所述多个份额;
使所述多个份额中的每个存储在相应的单独的存储位置;
其中,能通过访问所述多个份额中的阈值数量的份额来恢复所述虚拟机文件。
73.如权利要求72所述的系统,其中,所述主机设备是手持式计算设备。
74.如权利要求72-73中的任一项所述的系统,其中,所述虚拟机文件包括下列各项中的至少之一:日志文件、虚拟机BIOS状态文件、虚拟盘文件、分页文件、快照状态文件、挂起状态文件、和配置文件。
75.如权利要求72-74所述的系统,其中,所述停止所述虚拟机的命令包括下列各项中的至少之一:保存命令、关闭命令、挂起命令、和暂停命令。
76.如权利要求72-75所述的系统,其中,所述停止所述虚拟机的命令是由所述主机设备的用户发出的。
77.如权利要求72-76所述的系统,其中,所述停止所述虚拟机的命令是由所述主机设备的处理器发出的,而不需要来自所述主机设备的用户的基本上同时的命令。
78.如权利要求72-77所述的系统,其中,基于所述数据解析信息生成所述多个份额包括:
识别所述虚拟机文件的多个部分;以及
加密所述多个部分中的每个部分以形成所述多个份额。
79.如权利要求72-78所述的系统,其中,基于所述数据解析信息生成所述多个份额包括:
加密所述虚拟机文件;以及
识别所述加密的虚拟机文件的多个部分以形成所述多个份额。
80.如权利要求72-79所述的系统,其中,所述数据解析信息指定用于确定所述虚拟机文件的一部分将被放置于所述多个份额中的哪个中的确定性技术。
81.如权利要求72-80所述的系统,其中,所述数据解析信息指定用于确定所述虚拟机文件的一部分将被放置于所述多个份额中的每个份额内的哪个位置中的确定性技术。
82.如权利要求72-81中的任一项所述的系统,其中,所述数据解析信息指定用于确定所述虚拟机文件的一部分将被放置于所述多个份额中的哪个的基本上随机的技术。
83.如权利要求72-82中的任一项所述的系统,其中,所述数据解析信息指定用于确定所述虚拟机文件的一部分将被放置于所述多个份额中的每个份额内的哪个位置中的基本上随机的技术。
84.如权利要求72-83中的任一项所述的系统,其中,所述单独的存储位置包括所述主机设备上的多个单独的存储位置。
85.如权利要求72-84中的任一项所述的系统,其中,所述单独的存储位置包括远离所述主机设备的一个或多个设备上的多个单独的存储位置。
86.如权利要求72-85中的任一项所述的系统,其中,所述单独的存储位置包括所述主机设备上的至少一个存储位置、和远离所述主机设备的设备上的至少一个存储位置。
87.如权利要求72-86中的任一项所述的系统,其中,所述处理电路还被配置为:
在所述主机设备上执行所述虚拟机之前:
接收第二多个份额;以及
使用数据恢复信息从所述第二多个份额恢复所述虚拟机文件,该数据恢复信息确定如何解密并且布置来自多个份额的部分以形成所述虚拟机文件。
88.如权利要求87所述的系统,其中,所述第二多个份额是从远离所述主机设备的一个或多个设备接收到的。
89.如权利要求88所述的系统,其中,远离所述主机设备的所述一个或多个设备包括一个或多个数据服务器。
90.如权利要求88所述的系统,其中,分别存储了所述多个份额的所述单独的存储位置位于从其接收到所述第二多个份额的远离所述主机设备的所述一个或多个设备上。
91.如权利要求72-90中的任一项所述的系统,其中,所述处理电路还被配置为:
在生成数据解析信息之前:
接收第三多个份额;以及
从所述第三多个份额恢复可执行解析应用;
其中,所述数据解析信息是由所述可执行解析应用生成的。
92.如权利要求91所述的系统,其中,所述第三多个份额是从远离所述主机设备的一个或多个设备接收到的。
93.如权利要求92所述的系统,其中,远离所述主机设备的所述一个或多个设备包括一个或多个数据服务器。
94.如权利要求91所述的系统,其中,从所述第三多个份额恢复所述可执行解析应用包括根据存储在所述主机设备中并且能由所述主机设备执行的技术来组装所述第三多个份额。
95.如权利要求91所述的系统,其中,从所述第三多个份额恢复所述可执行解析应用包括根据在所述第三多个份额中指定的并且能由所述主机设备执行的技术来组装所述第三多个份额。
96.如权利要求72-95中的任一项所述的系统,其中,所述阈值数量小于所述多个份额的总数量。
97.如权利要求72-96中的任一项所述的系统,其中,所述数据解析信息确定所述份额中的每个的大小,其中,至少一个份额的大小不同于至少一个其他份额的大小。
98.如权利要求72-97中的任一项所述的系统,其中,所述处理电路包括分布式结构中的一台或多台计算机。
99.如权利要求72-98中的任一项所述的系统,其中,所述处理电路包括云计算环境中的一台或多台计算机。
100.一种用于恢复数据集的计算机系统,包括:
与一个或多个存储位置进行通信的处理电路,所述处理电路与用于接收通信的通信电路相关联,所述处理电路被配置成:
生成供由经编程的计算机系统的计算机设备显示的多个用户可选择元素,每个元素与不同的可执行应用相关联;
当所述多个用户可选择元素被显示时,在所述计算机设备处接收预定的用户输入序列;
响应于接收到所述预定的用户输入序列:
执行与所显示的用户可选择元素中的任一个都不关联的加密恢复应用;以及
使用所述加密恢复应用,从多个数据集份额恢复数据集,每个数据集份额表示所述数据集的经加密的部分。
101.如权利要求100所述的系统,其中,所述计算机设备是手持式计算机设备。
102.如权利要求100-101中的任一项所述的系统,其中,所述用户可选择元素包括至少一个图标。
103.如权利要求100-102中的任一项所述的系统,其中,所述用户可选择元素包括至少一个下拉菜单列表。
104.如权利要求100-103中的任一项所述的系统,其中,所述预定的用户输入序列包括手势输入、生物识别输入、所述计算机设备的朝向、小键盘输入、和所述计算机设备的加速度。
105.如权利要求100-104中的任一项所述的系统,其中,所述处理电路还被配置为:
响应于从所述多个数据集份额恢复所述数据集,在所述显示器上显示与所述数据集相关联的图形元素。
106.如权利要求100-105中的任一项所述的系统,其中,所述数据集与能由所述计算机设备执行的应用相关联,并且其中,所述处理电路还被配置成:
响应于从所述多个数据集份额恢复所述数据集,执行与所述数据集相关联的应用。
107.如权利要求106所述的系统,其中,所述应用是电话通信应用。
108.如权利要求106所述的系统,其中,所述应用是虚拟机应用。
109.如权利要求108所述的系统,其中,所述数据集表示虚拟机文件,并且执行与所述数据集相关联的应用包括使用所述虚拟机文件来启动虚拟机。
110.如权利要求108所述的系统,其中,所述虚拟机文件包括下列各项中的至少之一:日志文件、虚拟机BIOS状态文件、虚拟盘文件、分页文件、快照状态文件、挂起状态文件、和配置文件。
111.如权利要求100-110中的任一项所述的系统,其中,所述多个数据集份额中的两个或更多个数据集份额存储在所述计算机设备上的各个单独的存储位置。
112.如权利要求100-111中的任一项所述的系统,其中,所述多个数据集份额中的至少一个数据集份额存储在所述计算机设备上,而所述多个数据集份额中的至少一个数据集份额存储在远离所述计算机设备的设备上。
113.如权利要求100-112中的任一项所述的系统,其中,所述多个数据集份额中的两个或更多个数据集份额存储在远离所述计算机设备的一个或多个设备上的单独的存储位置中。
114.如权利要求100-113中的任一项所述的系统,其中,每个数据集份额表示根据确定性技术选择的来自所述数据集的数据的一部分。
115.如权利要求100-114中的任一项所述的系统,其中,每个数据集份额表示根据确定性技术布置的来自所述数据集的数据的一部分。
116.如权利要求100-115中的任一项所述的系统,其中,每个数据集份额表示根据基本上随机的技术选择的来自所述数据集的数据的一部分。
117.如权利要求100-116中的任一项所述的系统,其中,每个数据集份额表示根据基本上随机的技术布置的来自所述数据集的数据的一部分。
118.如权利要求100-117中的任一项所述的系统,其中,所述处理电路包括分布式结构中的一台或多台计算机。
119.如权利要求100-118中的任一项所述的系统,其中,所述处理电路包括云计算环境中的一台或多台计算机。
120.一种用于恢复数据集的计算机系统,包括:
与一个或多个存储位置进行通信的处理电路,所述处理电路与用于接收通信的通信电路相关联,所述处理电路被配置成:
识别存储在经编程的计算机系统的第一计算机设备上的第一数据集份额,每个第一数据集份额表示来自所述数据集的数据的一部分,其中,所述数据集无法从识别的所述第一数据集份额恢复,但是能够通过阈值数量的数据集份额来恢复;
检测所述第一计算机设备和不同于所述第一计算机设备的第二计算机设备之间的通信链路;
响应于检测到所述通信链路:
在所述第一计算机设备处接收来自所述第二计算机设备的第二数据集份额;
判断所述第一数据集份额和第二数据集份额是否包括至少所述阈值数量的数据集份额;以及
响应于判断所述第一数据集份额和第二数据集份额包括至少所述阈值数量的数据集份额,使用所述第一数据集份额和第二数据集份额来恢复所述数据集。
121.如权利要求120所述的系统,其中,检测通信链路包括判断所述第二计算机设备是否在所述第一计算机设备的射频通信设备的通信范围内。
122.如权利要求121所述的系统,其中,所述射频通信设备包括蓝牙设备。
123.如权利要求122所述的系统,其中,所述射频通信设备包括近场通信设备。
124.如权利要求120所述的系统,其中,检测通信链路包括判断所述第二计算机设备是否连接到所述第一计算机设备也连接到的计算机通信网络。
125.如权利要求120所述的系统,其中,检测通信链路包括判断所述第二计算机设备是否在所述第一计算机设备的预定地理距离内。
126.如权利要求125所述的系统,其中,判断所述第二计算机设备是否在所述第一计算机设备的预定地理距离内包括在所述第一计算机设备处接收来自服务器的指示所述第二计算机设备的接近度的消息。
127.如权利要求120所述的系统,其中,检测通信链路包括经由所述第一计算机设备的用户的身体和所述第二计算机设备的用户的身体来检测所述第一计算机设备和所述第二计算机设备之间的电通信路径,所述用户的身体彼此物理接触以及与其相应的计算机设备物理接触。
128.如权利要求120-127中的任一项所述的系统,其中,所述处理电路还被配置为:
在识别所述第一数据集份额之前,响应于检测到所述第一计算机设备和第三计算机设备之间的通信链路,接收来自所述第三计算机设备的所述第一数据集份额中的至少一些。
129.如权利要求120-128中的任一项所述的系统,其中,所述第一计算机设备是手持式计算机设备。
130.如权利要求120-129中的任一项所述的系统,其中,所述第二计算机设备是手持式计算机设备。
131.如权利要求120-130中的任一项所述的系统,其中,所述第二计算机设备包括服务器。
132.如权利要求120-131中的任一项所述的系统,其中,所述处理电路还被配置为:
响应于从所述第一数据集份额和第二数据集份额恢复所述数据集,在所述第一计算机设备的显示器上显示与所述数据集相关联的图形元素。
133.如权利要求120-132中的任一项所述的系统,其中,所述数据集与能由所述计算机设备执行的应用相关联,并且其中,所述处理电路还被配置成:
响应于从所述多个数据集份额恢复所述数据集,执行与所述数据集相关联的应用。
134.如权利要求133所述的系统,其中,所述应用是游戏应用。
135.如权利要求120-134中的任一项所述的系统,其中,所述处理电路还被配置为:
响应于检测到所述通信链路:
将所述第一数据集份额从所述第一计算机设备传输到所述第二计算机设备。
136.如权利要求120-135中的任一项所述的系统,其中,所述第二数据集份额是经由所述通信链路接收到的。
137.如权利要求120-136中的任一项所述的系统,其中,每个第一数据集份额表示根据确定性技术选择的来自所述数据集的数据的一部分。
138.如权利要求120-137中的任一项所述的系统,其中,每个第一数据集份额表示根据确定性技术布置的来自所述数据集的数据的一部分。
139.如权利要求120-138中的任一项所述的系统,其中,每个第一数据集份额表示根据基本上随机的技术选择的来自所述数据集的数据的一部分。
140.如权利要求120-139中的任一项所述的系统,其中,每个第一数据集份额表示根据基本上随机的技术布置的来自所述数据集的数据的一部分。
141.如权利要求120-140中的任一项所述的系统,其中,所述处理电路包括分布式结构中的一台或多台计算机。
142.如权利要求120-141中的任一项所述的系统,其中,所述处理电路包括云计算环境中的一台或多台计算机。
CN201380025200.6A 2012-04-06 2013-03-14 用于保护和恢复虚拟机的系统和方法 Pending CN104520873A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201261621268P 2012-04-06 2012-04-06
US61/621,268 2012-04-06
PCT/US2013/031597 WO2013151732A1 (en) 2012-04-06 2013-03-14 Systems and methods for securing and restoring virtual machines

Publications (1)

Publication Number Publication Date
CN104520873A true CN104520873A (zh) 2015-04-15

Family

ID=48045066

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380025200.6A Pending CN104520873A (zh) 2012-04-06 2013-03-14 用于保护和恢复虚拟机的系统和方法

Country Status (8)

Country Link
US (2) US9916456B2 (zh)
EP (1) EP2834768B1 (zh)
CN (1) CN104520873A (zh)
AU (1) AU2013243923A1 (zh)
CA (1) CA2869425A1 (zh)
ES (1) ES2680660T3 (zh)
HK (1) HK1209505A1 (zh)
WO (1) WO2013151732A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107577591A (zh) * 2016-07-05 2018-01-12 中兴通讯股份有限公司 一种自动化测试异常保护的方法、装置及系统
CN109154903A (zh) * 2016-05-02 2019-01-04 微软技术许可有限责任公司 用于虚拟机的恢复环境
TWI720614B (zh) * 2019-02-28 2021-03-01 開曼群島商創新先進技術有限公司 用於投票的系統、方法和裝置
CN113591212A (zh) * 2021-07-14 2021-11-02 中国舰船研究设计中心 一种基于封装单元及信息关联的船舶设备布置方法
CN114641757A (zh) * 2019-11-06 2022-06-17 微软技术许可有限责任公司 保存并还原应用内容的虚拟机状态和硬件状态

Families Citing this family (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8307177B2 (en) 2008-09-05 2012-11-06 Commvault Systems, Inc. Systems and methods for management of virtualization data
US11449394B2 (en) 2010-06-04 2022-09-20 Commvault Systems, Inc. Failover systems and methods for performing backup operations, including heterogeneous indexing and load balancing of backup and indexing resources
EP3029592B1 (en) 2010-08-18 2018-07-25 Security First Corp. Systems and methods for securing virtual machine computing environments
US9916456B2 (en) 2012-04-06 2018-03-13 Security First Corp. Systems and methods for securing and restoring virtual machines
US9223597B2 (en) 2012-12-21 2015-12-29 Commvault Systems, Inc. Archiving virtual machines in a data storage system
US9740702B2 (en) 2012-12-21 2017-08-22 Commvault Systems, Inc. Systems and methods to identify unprotected virtual machines
US20140196038A1 (en) 2013-01-08 2014-07-10 Commvault Systems, Inc. Virtual machine management in a data storage system
US9495404B2 (en) 2013-01-11 2016-11-15 Commvault Systems, Inc. Systems and methods to process block-level backup for selective file restoration for virtual machines
US9286110B2 (en) 2013-01-14 2016-03-15 Commvault Systems, Inc. Seamless virtual machine recall in a data storage system
US9436165B2 (en) * 2013-03-15 2016-09-06 Tyfone, Inc. Personal digital identity device with motion sensor responsive to user interaction
US9319881B2 (en) 2013-03-15 2016-04-19 Tyfone, Inc. Personal digital identity device with fingerprint sensor
US9448543B2 (en) 2013-03-15 2016-09-20 Tyfone, Inc. Configurable personal digital identity device with motion sensor responsive to user interaction
US9086689B2 (en) 2013-03-15 2015-07-21 Tyfone, Inc. Configurable personal digital identity device with imager responsive to user interaction
US9781598B2 (en) 2013-03-15 2017-10-03 Tyfone, Inc. Personal digital identity device with fingerprint sensor responsive to user interaction
US9374344B1 (en) 2013-03-29 2016-06-21 Secturion Systems, Inc. Secure end-to-end communication system
US9355279B1 (en) 2013-03-29 2016-05-31 Secturion Systems, Inc. Multi-tenancy architecture
US9317718B1 (en) 2013-03-29 2016-04-19 Secturion Systems, Inc. Security device with programmable systolic-matrix cryptographic module and programmable input/output interface
US9524399B1 (en) * 2013-04-01 2016-12-20 Secturion Systems, Inc. Multi-level independent security architecture
US9939981B2 (en) 2013-09-12 2018-04-10 Commvault Systems, Inc. File manager integration with virtualization in an information management system with an enhanced storage manager, including user control and storage management of virtual machines
US9235714B1 (en) 2013-11-12 2016-01-12 Amazon Technologies, Inc. Preventing persistent storage of cryptographic information using signaling
US10223538B1 (en) 2013-11-12 2019-03-05 Amazon Technologies, Inc. Preventing persistent storage of cryptographic information
US9231923B1 (en) 2013-11-12 2016-01-05 Amazon Technologies, Inc. Secure data destruction in a distributed environment using key protection mechanisms
US10742520B2 (en) * 2013-12-31 2020-08-11 Citrix Systems, Inc. Providing mobile device management functionalities
US20150270954A1 (en) * 2014-03-24 2015-09-24 Infineon Technologies Ag Device for generating encrypted data segments
US9811427B2 (en) 2014-04-02 2017-11-07 Commvault Systems, Inc. Information management by a media agent in the absence of communications with a storage manager
US9594580B2 (en) * 2014-04-09 2017-03-14 Bitspray Corporation Secure storage and accelerated transmission of information over communication networks
KR102154737B1 (ko) * 2014-04-25 2020-09-11 삼성전자주식회사 콘텐트의 암호화 및 복호화 방법
EP2937802B1 (en) 2014-04-25 2021-03-24 Samsung Electronics Co., Ltd Mobile device and method of sharing content
GB2513260B (en) * 2014-06-27 2018-06-13 PQ Solutions Ltd System and method for quorum-based data recovery
US20160019317A1 (en) 2014-07-16 2016-01-21 Commvault Systems, Inc. Volume or virtual machine level backup and generating placeholders for virtual machine files
US9436555B2 (en) * 2014-09-22 2016-09-06 Commvault Systems, Inc. Efficient live-mount of a backed up virtual machine in a storage management system
US9710465B2 (en) 2014-09-22 2017-07-18 Commvault Systems, Inc. Efficiently restoring execution of a backed up virtual machine based on coordination with virtual-machine-file-relocation operations
US9417968B2 (en) 2014-09-22 2016-08-16 Commvault Systems, Inc. Efficiently restoring execution of a backed up virtual machine based on coordination with virtual-machine-file-relocation operations
US10776209B2 (en) 2014-11-10 2020-09-15 Commvault Systems, Inc. Cross-platform virtual machine backup and replication
US9983936B2 (en) 2014-11-20 2018-05-29 Commvault Systems, Inc. Virtual machine change block tracking
US9697079B2 (en) 2015-07-13 2017-07-04 International Business Machines Corporation Protecting data integrity in de-duplicated storage environments in combination with software defined native raid
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
US9846538B2 (en) 2015-12-07 2017-12-19 International Business Machines Corporation Data integrity and acceleration in compressed storage environments in combination with software defined native RAID
US10628192B2 (en) * 2015-12-24 2020-04-21 Intel Corporation Scalable techniques for data transfer between virtual machines
AU2017231835A1 (en) 2016-03-09 2018-09-27 Bitspray Corporation Secure file sharing over multiple security domains and dispersed communication networks
US10592350B2 (en) 2016-03-09 2020-03-17 Commvault Systems, Inc. Virtual server cloud file system for virtual machine restore to cloud operations
US10417102B2 (en) 2016-09-30 2019-09-17 Commvault Systems, Inc. Heartbeat monitoring of virtual machines for initiating failover operations in a data storage management system, including virtual machine distribution logic
US10152251B2 (en) 2016-10-25 2018-12-11 Commvault Systems, Inc. Targeted backup of virtual machine
US10162528B2 (en) 2016-10-25 2018-12-25 Commvault Systems, Inc. Targeted snapshot based on virtual machine location
US10678758B2 (en) 2016-11-21 2020-06-09 Commvault Systems, Inc. Cross-platform virtual machine data and memory backup and replication
US10484379B2 (en) * 2017-03-16 2019-11-19 Motorola Solutions, Inc. System and method for providing least privilege access in a microservices architecture
US10877851B2 (en) 2017-03-24 2020-12-29 Commvault Systems, Inc. Virtual machine recovery point selection
US10387073B2 (en) 2017-03-29 2019-08-20 Commvault Systems, Inc. External dynamic virtual machine synchronization
US11616781B2 (en) 2017-12-05 2023-03-28 Goldilock Secure s.r.o. Air gap-based network isolation device
US11115390B2 (en) * 2017-12-05 2021-09-07 Goldilock Secure s.r.o. Storage system utilizing discrete on-demand memory resources
US10877928B2 (en) 2018-03-07 2020-12-29 Commvault Systems, Inc. Using utilities injected into cloud-based virtual machines for speeding up virtual machine backup operations
US11200124B2 (en) 2018-12-06 2021-12-14 Commvault Systems, Inc. Assigning backup resources based on failover of partnered data storage servers in a data storage management system
US10996974B2 (en) 2019-01-30 2021-05-04 Commvault Systems, Inc. Cross-hypervisor live mount of backed up virtual machine data, including management of cache storage for virtual machine data
US10768971B2 (en) 2019-01-30 2020-09-08 Commvault Systems, Inc. Cross-hypervisor live mount of backed up virtual machine data
US11582221B1 (en) * 2019-09-25 2023-02-14 Amazon Technologies, Inc. Securing encrypted volumes in a distributed environment
US11467753B2 (en) 2020-02-14 2022-10-11 Commvault Systems, Inc. On-demand restore of virtual machine data
US11442768B2 (en) 2020-03-12 2022-09-13 Commvault Systems, Inc. Cross-hypervisor live recovery of virtual machines
US11099956B1 (en) 2020-03-26 2021-08-24 Commvault Systems, Inc. Snapshot-based disaster recovery orchestration of virtual machine failover and failback operations
US11500669B2 (en) 2020-05-15 2022-11-15 Commvault Systems, Inc. Live recovery of virtual machines in a public cloud computing environment
KR20220005933A (ko) * 2020-07-07 2022-01-14 삼성전자주식회사 클라우드 서버 및 이의 제어 방법
US11656951B2 (en) 2020-10-28 2023-05-23 Commvault Systems, Inc. Data loss vulnerability detection
JP7144819B1 (ja) 2022-04-14 2022-09-30 AI inside株式会社 プログラム、コンピュータ、システム及び方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080130890A1 (en) * 2006-12-04 2008-06-05 International Business Machines Corporation Enhanced data security with redundant inclusive data encryption segments
CN101375284A (zh) * 2004-10-25 2009-02-25 里克·L·奥尔西尼 安全数据分析方法和系统
CN101425021A (zh) * 2007-10-31 2009-05-06 卢玉英 基于虚拟机技术的个人计算机可迁移应用模式

Family Cites Families (88)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5485474A (en) 1988-02-25 1996-01-16 The President And Fellows Of Harvard College Scheme for information dispersal and reconstruction
JP4130264B2 (ja) 1998-12-08 2008-08-06 松下電器産業株式会社 電力線搬送通信システム
AU755577B2 (en) 1999-01-28 2002-12-19 Yutaka Yasukura Method for securing safety of electronic information
US6848047B1 (en) * 1999-04-28 2005-01-25 Casio Computer Co., Ltd. Security managing system, data distribution apparatus and portable terminal apparatus
US7391865B2 (en) 1999-09-20 2008-06-24 Security First Corporation Secure data parser method and system
EP1164489B1 (en) 1999-12-20 2007-02-14 Dai Nippon Printing Co., Ltd. Distributed data archive device and system
US7418620B1 (en) 2001-02-16 2008-08-26 Swsoft Holdings, Ltd. Fault tolerant distributed storage method and controller using (N,K) algorithms
US7117241B2 (en) * 2001-03-28 2006-10-03 Siemens Communications, Inc. Method and apparatus for centralized maintenance system within a distributed telecommunications architecture
US20030023958A1 (en) 2001-07-17 2003-01-30 Patel Mukesh K. Intermediate language accelerator chip
US7228337B1 (en) 2001-09-11 2007-06-05 Cisco Technology, Inc. Methods and apparatus for providing a network service to a virtual machine
EP1293904A1 (en) * 2001-09-14 2003-03-19 Hewlett-Packard Company Method of initiating a backup procedure
TWI259366B (en) 2002-02-20 2006-08-01 Nagracard Sa Data block storing method in a memory
US7111303B2 (en) 2002-07-16 2006-09-19 International Business Machines Corporation Virtual machine operating system LAN
US7356818B2 (en) 2003-06-24 2008-04-08 International Business Machines Corporation Virtual machine communicating to external device without going through other virtual machines by using a list of IP addresses managed only by a single virtual machine monitor
US7934020B1 (en) 2003-09-19 2011-04-26 Vmware, Inc. Managing network data transfers in a virtual computer system
KR100561846B1 (ko) 2003-10-08 2006-03-16 삼성전자주식회사 가중된 비밀 공유 및 복원 방법
US7222062B2 (en) 2003-12-23 2007-05-22 Intel Corporation Method and system to support a trusted set of operational environments using emulated trusted hardware
JP2005250866A (ja) 2004-03-04 2005-09-15 Takeshi Nakamura 秘密情報保管システム
DE112004002797B4 (de) 2004-03-19 2015-12-31 Zakrytoe Aktsionernoe Obschestvo "Intel A/O" Ausfallsicherung und Lastausgleich
US7506170B2 (en) 2004-05-28 2009-03-17 Microsoft Corporation Method for secure access to multiple secure networks
US7262846B2 (en) 2004-06-28 2007-08-28 Aspectrics, Inc. Encoder spectrograph for analyzing radiation using spatial modulation of radiation dispersed by wavelength
US20060004698A1 (en) * 2004-06-30 2006-01-05 Nokia Corporation Automated prioritization of user data files
US7797699B2 (en) 2004-09-23 2010-09-14 Intel Corporation Method and apparatus for scheduling virtual machine access to shared resources
US7831995B2 (en) 2004-10-29 2010-11-09 CORE, SDI, Inc. Establishing and enforcing security and privacy policies in web-based applications
US7573851B2 (en) 2004-12-07 2009-08-11 Adaptix, Inc. Method and system for switching antenna and channel assignments in broadband wireless networks
US7757231B2 (en) 2004-12-10 2010-07-13 Intel Corporation System and method to deprivilege components of a virtual machine monitor
US7613921B2 (en) 2005-05-13 2009-11-03 Intel Corporation Method and apparatus for remotely provisioning software-based security coprocessors
US20070005935A1 (en) * 2005-06-30 2007-01-04 Khosravi Hormuzd M Method and apparatus for securing and validating paged memory system
US7680643B2 (en) * 2005-11-17 2010-03-16 International Business Machines Corporation Method for carrying multiple suspended runtime images
AU2006350252B2 (en) 2005-11-18 2010-10-14 Security First Corporation Secure data parser method and system
US20070136814A1 (en) * 2005-12-12 2007-06-14 Michael Lee Critical function monitoring and compliance auditing system
US20070157025A1 (en) 2005-12-30 2007-07-05 Intel Corporation Method and system for providing security and reliability to collaborative applications
US7441092B2 (en) 2006-04-20 2008-10-21 Microsoft Corporation Multi-client cluster-based backup and restore
US8108668B2 (en) 2006-06-26 2012-01-31 Intel Corporation Associating a multi-context trusted platform module with distributed platforms
US8040850B2 (en) 2006-08-21 2011-10-18 Qualcomm Incorporated Advanced internet protocol with flash-OFDM methods and systems
US20080126614A1 (en) 2006-09-26 2008-05-29 Giap Yong Ooi Input/output (I/O) device virtualization using hardware
US20080082670A1 (en) 2006-09-28 2008-04-03 Microsoft Corporation Resilient communications between clients comprising a cloud
JP2008098894A (ja) 2006-10-11 2008-04-24 Kddi Corp 情報管理システム、情報管理方法、情報管理プログラム
EP2482218A3 (en) 2006-12-05 2012-10-31 Security First Corporation Improved storage backup method using a secure data parser
US9124650B2 (en) * 2006-12-13 2015-09-01 Quickplay Media Inc. Digital rights management in a mobile environment
US7827383B2 (en) 2007-03-09 2010-11-02 Oracle America, Inc. Efficient on-chip accelerator interfaces to reduce software overhead
WO2009020143A1 (ja) 2007-08-06 2009-02-12 Nec Corporation 伝送システムと方法ならびにプログラム
US8032741B2 (en) 2007-08-22 2011-10-04 Intel Corporation Method and apparatus for virtualization of a multi-context hardware trusted platform module (TPM)
US8861734B2 (en) 2007-08-22 2014-10-14 Nec Corporation Secret information distribution system, method, program, and transmission system
CN103152170A (zh) 2007-09-14 2013-06-12 安全第一公司 用于管理加密密钥的系统和方法
US9779235B2 (en) 2007-10-17 2017-10-03 Sukamo Mertoguno Cognizant engines: systems and methods for enabling program observability and controlability at instruction level granularity
US20090113111A1 (en) 2007-10-30 2009-04-30 Vmware, Inc. Secure identification of execution contexts
US8220029B2 (en) 2007-11-13 2012-07-10 Samsung Electronics Co., Ltd. Method and system for enforcing trusted computing policies in a hypervisor security module architecture
US8126806B1 (en) 2007-12-03 2012-02-28 Sprint Communications Company L.P. Method for launching an electronic wallet
US7392403B1 (en) 2007-12-19 2008-06-24 International Business Machines Corporation Systems, methods and computer program products for high availability enhancements of virtual security module servers
WO2009089015A1 (en) 2008-01-07 2009-07-16 Security First Corporation Systems and methods for securing data using multi-factor or keyed dispersal
US8539229B2 (en) * 2008-04-28 2013-09-17 Novell, Inc. Techniques for secure data management in a distributed environment
JP4342595B1 (ja) 2008-05-09 2009-10-14 株式会社東芝 情報処理装置、情報処理システム、および暗号化情報管理方法
WO2009151888A2 (en) 2008-05-19 2009-12-17 Authentium, Inc. Secure virtualization system software
US20100005028A1 (en) 2008-07-07 2010-01-07 International Business Machines Corporation Method and apparatus for interconnecting a plurality of virtual world environments
US8381032B2 (en) * 2008-08-06 2013-02-19 O'shantel Software L.L.C. System-directed checkpointing implementation using a hypervisor layer
GB2463078B (en) 2008-09-02 2013-04-17 Extas Global Ltd Distributed storage
US8307177B2 (en) * 2008-09-05 2012-11-06 Commvault Systems, Inc. Systems and methods for management of virtualization data
CN101409714A (zh) 2008-11-18 2009-04-15 华南理工大学 一种基于虚拟机的防火墙系统
US7987262B2 (en) 2008-11-19 2011-07-26 Accenture Global Services Limited Cloud computing assessment tool
US8352717B2 (en) * 2009-02-09 2013-01-08 Cs-Solutions, Inc. Recovery system using selectable and configurable snapshots
US8464252B2 (en) 2009-02-27 2013-06-11 Red Hat, Inc. Per process virtual machines
US20100235833A1 (en) * 2009-03-13 2010-09-16 Liquid Computing Corporation Methods and systems for providing secure image mobility
US8135748B2 (en) 2009-04-10 2012-03-13 PHD Virtual Technologies Virtual machine data replication
CN102428686A (zh) 2009-05-19 2012-04-25 安全第一公司 用于安全保护云中的数据的系统和方法
US8321688B2 (en) 2009-06-12 2012-11-27 Microsoft Corporation Secure and private backup storage and processing for trusted computing and data services
US8397242B1 (en) 2009-06-30 2013-03-12 Symantec Corporation System and method for managing operations within virtual machines
US8615594B2 (en) * 2009-07-15 2013-12-24 Aten International Co., Ltd. Virtual media with folder-mount function
CN101989212B (zh) 2009-07-31 2015-01-07 国际商业机器公司 提供用于启动刀片服务器的虚拟机管理程序的方法和装置
US8826013B1 (en) 2009-09-23 2014-09-02 Trend Micro Incorporated Protection of customer data in cloud virtual machines using a central management server
US8250379B2 (en) * 2009-10-13 2012-08-21 Microsoft Corporation Secure storage of temporary secrets
US20110093958A1 (en) 2009-10-21 2011-04-21 Gilles Bruno Marie Devictor Secure Data Storage Apparatus and Method
US8769428B2 (en) * 2009-12-09 2014-07-01 Citrix Systems, Inc. Methods and systems for generating a combined display of taskbar button group entries generated on a local machine and on a remote machine
US8627112B2 (en) 2010-03-30 2014-01-07 Novell, Inc. Secure virtual machine memory
US9367341B2 (en) 2010-03-30 2016-06-14 Red Hat Israel, Ltd. Encrypting and decrypting virtual disk content using a single user sign-on
US8555377B2 (en) * 2010-04-29 2013-10-08 High Cloud Security Secure virtual machine
EP2568408B1 (en) 2010-05-07 2016-05-18 Panasonic Intellectual Property Management Co., Ltd. Information processing device, information processing method, and program distribution system
US20130198370A1 (en) 2010-05-14 2013-08-01 Hitachi, Ltd. Method for visualizing server reliability, computer system, and management server
EP3029592B1 (en) * 2010-08-18 2018-07-25 Security First Corp. Systems and methods for securing virtual machine computing environments
US8831677B2 (en) 2010-11-17 2014-09-09 Antony-Euclid C. Villa-Real Customer-controlled instant-response anti-fraud/anti-identity theft devices (with true-personal identity verification), method and systems for secured global applications in personal/business e-banking, e-commerce, e-medical/health insurance checker, e-education/research/invention, e-disaster advisor, e-immigration, e-airport/aircraft security, e-military/e-law enforcement, with or without NFC component and system, with cellular/satellite phone/internet/multi-media functions
US8713300B2 (en) 2011-01-21 2014-04-29 Symantec Corporation System and method for netbackup data decryption in a high latency low bandwidth environment
US9021264B2 (en) 2011-02-03 2015-04-28 Cloudlink Technologies Inc. Method and system for cloud based storage
US8832039B1 (en) 2011-06-30 2014-09-09 Amazon Technologies, Inc. Methods and apparatus for data restore and recovery from a remote data store
US8412945B2 (en) * 2011-08-09 2013-04-02 CloudPassage, Inc. Systems and methods for implementing security in a cloud computing environment
US9009473B2 (en) * 2011-10-13 2015-04-14 International Business Machines Corporation Providing consistent cryptographic operations across several applications
US8850512B2 (en) 2011-10-13 2014-09-30 Mcafee, Inc. Security assessment of virtual machine environments
US8719594B2 (en) 2012-02-15 2014-05-06 Unisys Corporation Storage availability using cryptographic splitting
US9916456B2 (en) 2012-04-06 2018-03-13 Security First Corp. Systems and methods for securing and restoring virtual machines

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101375284A (zh) * 2004-10-25 2009-02-25 里克·L·奥尔西尼 安全数据分析方法和系统
US20080130890A1 (en) * 2006-12-04 2008-06-05 International Business Machines Corporation Enhanced data security with redundant inclusive data encryption segments
CN101425021A (zh) * 2007-10-31 2009-05-06 卢玉英 基于虚拟机技术的个人计算机可迁移应用模式

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109154903A (zh) * 2016-05-02 2019-01-04 微软技术许可有限责任公司 用于虚拟机的恢复环境
CN109154903B (zh) * 2016-05-02 2022-09-23 微软技术许可有限责任公司 用于虚拟机的恢复环境
CN107577591A (zh) * 2016-07-05 2018-01-12 中兴通讯股份有限公司 一种自动化测试异常保护的方法、装置及系统
TWI720614B (zh) * 2019-02-28 2021-03-01 開曼群島商創新先進技術有限公司 用於投票的系統、方法和裝置
CN114641757A (zh) * 2019-11-06 2022-06-17 微软技术许可有限责任公司 保存并还原应用内容的虚拟机状态和硬件状态
CN114641757B (zh) * 2019-11-06 2024-03-26 微软技术许可有限责任公司 保存并还原应用内容的虚拟机状态和硬件状态
CN113591212A (zh) * 2021-07-14 2021-11-02 中国舰船研究设计中心 一种基于封装单元及信息关联的船舶设备布置方法
CN113591212B (zh) * 2021-07-14 2024-04-09 中国舰船研究设计中心 一种基于封装单元及信息关联的船舶设备布置方法

Also Published As

Publication number Publication date
EP2834768B1 (en) 2018-05-09
ES2680660T3 (es) 2018-09-10
EP2834768A1 (en) 2015-02-11
US20130268931A1 (en) 2013-10-10
HK1209505A1 (zh) 2016-04-01
CA2869425A1 (en) 2013-10-10
AU2013243923A1 (en) 2014-10-30
WO2013151732A1 (en) 2013-10-10
US9916456B2 (en) 2018-03-13
US20130268774A1 (en) 2013-10-10

Similar Documents

Publication Publication Date Title
CN104520873A (zh) 用于保护和恢复虚拟机的系统和方法
CA3116405C (en) Systems and methods for distributed data storage and delivery using blockchain
US20230161897A1 (en) Systems and Methods for a Cryptographic File System Layer
US9135464B2 (en) Secure storage system for distributed data
CN100487715C (zh) 一种数据安全存储系统和装置及方法
US8635465B1 (en) Counter-based encryption of stored data blocks
CN106372499A (zh) 用于安全保护虚拟机计算环境的系统和方法
CN104769606A (zh) 提供安全的计算机环境的系统和方法
CN114041134A (zh) 用于基于区块链的安全存储的系统和方法
WO2013008353A1 (ja) データ分散保管システム
WO2013008351A1 (ja) データ分散保管システム
Gupta et al. A light weight centralized file monitoring approach for securing files in cloud environment
CN103428172A (zh) 一种信息安全存储方法和读取方法
CN102831335A (zh) 一种Windows操作系统的安全保护方法和系统
CN102158558B (zh) 一种san存储加密系统及方法
CN111901312A (zh) 一种网络访问控制的方法、系统、设备及可读存储介质
US9135449B2 (en) Apparatus and method for managing USIM data using mobile trusted module
Suthar et al. Encryscation: An secure approach for data security using encryption and obfuscation techniques for iaas and daas services in cloud environment
CN115514470A (zh) 一种社区矫正数据安全性的存储方法及系统
CN115391795A (zh) 数据处理方法、相关设备及介质
CN113726515A (zh) 一种基于ukey的密钥处理方法、存储介质及电子设备
CN113591140B (zh) 资源数据防篡改方法、系统、计算机设备及存储介质
JP4385259B2 (ja) 業務実行システムと方法および業務実行用コンピュータとプログラム
CN114915635A (zh) 数据处理方法及装置、计算机可读存储介质
Suthar et al. EncryScation: An Secure Approach for Data Security Using Encryption and Obfuscation Techniques for IaaS

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1209505

Country of ref document: HK

WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20150415

WD01 Invention patent application deemed withdrawn after publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: WD

Ref document number: 1209505

Country of ref document: HK