CN115280312A - 虚拟机完全前向保密 - Google Patents
虚拟机完全前向保密 Download PDFInfo
- Publication number
- CN115280312A CN115280312A CN202180020331.XA CN202180020331A CN115280312A CN 115280312 A CN115280312 A CN 115280312A CN 202180020331 A CN202180020331 A CN 202180020331A CN 115280312 A CN115280312 A CN 115280312A
- Authority
- CN
- China
- Prior art keywords
- memory
- virtual machine
- secure
- entry
- computer
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/54—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by adding security routines or objects to programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/301—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is a virtual computing platform, e.g. logically partitioned systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3055—Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
- G06F3/0623—Securing storage systems in relation to content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45583—Memory management, e.g. access or allocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45587—Isolation or security of virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Human Computer Interaction (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Quality & Reliability (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Window Of Vehicle (AREA)
- Vending Machines For Individual Products (AREA)
Abstract
提供了一种用于在虚拟机中提供完全前向保密的方法、计算机程序产品和系统。该方法包括从应用接收安全存储器分配函数,包括要存储在存储器中的连接秘密。该方法还包括根据存储器大小参数为连接秘密分配存储器,并且将与所述连接秘密相关的条目存储在安全数据库中。存储器信息包括存储器的存储器位置和存储器大小。该方法还包括监视与虚拟机相关的操作状态。该方法还包括从应用接收与连接秘密相关的安全解除分配函数,以及从安全数据库检索所述存储器信息。该方法还包括从存储器删除所述连接并且对由存储器信息记录的存储器位置进行清理。
Description
背景技术
本公开涉及虚拟机安全,并且更具体地,涉及向虚拟机提供完全前向保密能力。
完全前向保密是指描述即使服务器的私钥被泄露也防止会话密钥泄露的手段的特征。为此,与完全前向保密相关的协议为用户发起的每个会话生成唯一的会话密钥。如果会话密钥被泄露,则在该特定会话之外交换的数据仍受保护。
虚拟机是使用软件创建的仿真计算机系统。虚拟机使用物理系统资源,诸如处理器、随机存取存储器(RAM)和盘存储。在操作时,虚拟机可被分类为处于一种类型的操作状态内。这些状态包括但不限于运行、关机、挂起和检查点/快照。根据虚拟机的状态,会话密钥和其它连接秘密可以存储在存储器、磁盘存储器或这两者中。
发明内容
根据一个方面,提供了一种用于在虚拟机中提供完全前向保密的计算机系统,所述系统包括:数据处理组件;物理存储器;以及本地数据存储装置,其上存储有计算机可执行程序代码,当由数据处理组件执行时,所述计算机可执行程序代码使得数据处理组件:从在虚拟机内操作的应用接收用于连接秘密的安全存储器分配函数,其中所述安全存储器分配函数包括存储器大小参数;根据所述存储器大小参数为所述连接秘密分配存储器,其中所述存储器包括存储器位置和存储器大小;将所述存储器位置和所述存储器大小传输到虚拟机主机以作为一条目存储在安全数据库中;将所述条目存储在所述安全数据库中;以及监视与虚拟机相关的操作状态。
根据另一方面,提供了一种用于在虚拟机中提供完全前向保密的计算机实现的方法,所述计算机实现的方法包括:从在虚拟机内操作的应用接收用于连接秘密的安全存储器分配函数,其中所述安全存储器分配函数包括存储器大小参数;根据所述存储器大小参数为所述连接秘密分配存储器,其中所述存储器包括存储器位置和存储器大小;将所述存储器位置和所述存储器大小传输到虚拟机主机以作为一条目存储在安全数据库中;将所述条目存储在所述安全数据库中;以及监视与虚拟机相关的操作状态。
根据另一方面,提供了一种非暂态计算机可读存储介质,其上存储有用于控制计算机系统执行以下操作的指令:从在虚拟机内操作的应用接收用于连接秘密的安全存储器分配函数,其中所述安全存储器分配函数包括存储器大小参数;根据所述存储器大小参数为所述连接秘密分配存储器,其中所述存储器包括存储器位置和存储器大小;将所述存储器位置和所述存储器大小传输到虚拟机主机以作为一条目存储在安全数据库中;将所述条目存储在所述安全数据库中;以及监视与虚拟机相关的操作状态。
本公开的实施例包括用于在虚拟机中提供安全存储器分配函数的完全前向保密系统,包括数据处理组件和至少一个存储器组件。所述系统还包括本地数据存储装置,所述本地数据存储装置上存储有计算机可执行程序代码,所述计算机可执行程序代码在由所述数据处理组件执行时使所述数据处理组件从在虚拟机内操作的应用接收用于连接秘密的安全存储器分配函数。所述安全存储器分配函数包括存储器大小参数。该系统还使得数据处理组件根据存储器大小参数来为连接秘密分配存储器。存储器包括存储器位置和存储器大小。该系统还使得数据处理组件将存储器位置和存储器大小传输到虚拟机主机以作为一条目存储在安全数据库中。该系统还使得数据处理组件将所述条目存储在安全数据库中,并且监视与虚拟机相关的操作状态,并且基于虚拟机的操作状态的改变来清理(sanitize)所述存储器。
本公开的附加实施例包括一种用于在虚拟机中提供完全前向保密的计算机实现的方法。所述计算机实现的方法包括从在虚拟机内操作的应用接收用于连接秘密的安全存储器分配函数。该安全存储器分配函数包括存储器大小参数。所述计算机实现的方法还包括根据所述存储器大小参数来分配用于所述连接秘密的存储器。该存储器包括存储器位置和存储器大小。该计算机实现的方法还包括将存储器位置和存储器大小传输到虚拟机主机以作为一条目存储在安全数据库中,并将该条目存储在安全数据库中。该计算机实现的方法还包括监视与虚拟机相关的操作状态,并且基于虚拟机的操作状态的改变来清理存储器。
本公开的进一步实施例包括一种用于在虚拟机中提供完全前向保密的计算机程序产品,其可以包括具有与其一起实施的程序指令的计算机可读存储介质,所述程序指令可由处理器执行以使所述处理器执行一种方法。所述方法包括从在虚拟机内操作的应用接收用于连接秘密的安全存储器分配函数。安全存储器分配函数包括存储器大小参数。该方法还包括根据存储器大小参数为连接秘密分配存储器。该存储器包括存储器位置和存储器大小。该方法还包括将存储器位置和存储器大小传输到虚拟机主机以作为一条目存储在安全数据库中,并将该条目存储在安全数据库中。该计算机实现的方法还包括监视与虚拟机相关的操作状态,并且基于虚拟机的操作状态的改变来清理所述存储器。
附图说明
参照以下描述、所附权利要求书和附图,本公开的实施例的这些和其它特征、方面和优点将变得更好理解,其中:
图1是示出根据本公开的实施例的示例性虚拟机环境的框图。
图2是示出根据本公开的实施例的完全前向保密系统的框图。
图3是示出根据本公开的实施例的由应用调用的安全系统调用的数据流图。
图4是示出根据本公开的实施例的基于虚拟机操作状态的事件序列的数据流图。
图5是根据本公开的实施例的安全存储器分配过程的流程图。
图6是示出根据本公开的实施例的可用于实现本文所述的方法、工具和模块中的一个或多个以及任何相关功能的示例计算机系统的高级框图。
图7描绘了根据本公开的实施例的云计算环境。
图8描绘了根据本公开的实施例的抽象模型层。
虽然本公开可修改为各种修改和替代形式,但其细节已在附图中以示例的方式示出并将详细描述。然而,应当理解,其目的不是限制所描述的特定实施例。相反,本发明将涵盖落入本公开的范围内的所有修改、等效物和替代方案。在附图中,相同的附图标记用于表示相同的部件。
具体实施方式
本公开涉及虚拟机安全,并且更具体地,涉及向虚拟机提供完全前向保密能力。虽然本公开不一定限于此类应用,但是通过使用此上下文的各种示例的讨论可以理解本公开的各个方面。
完全前向保密建立在被称为抗回溯的概念上。抗回溯是指确保不可能恢复先前产生的位的手段。这些生成的位可以指用于在服务器和客户端之间建立安全连接的秘密。
各种协议实现完全前向保密,作为一种保护秘密的方式。例如,传输层安全(TLS)协议实现完全前向安全,其保护免受数据泄漏(leak)和突破(breach)型的攻击。数据泄漏指的是攻击者恢复诸如会话密钥或Diffie-Hellman私钥之类的临时秘密的攻击。使用这些秘密,攻击者可以解密来自当前会话的通信,而不能解密来自任何先前或未来会话的通信,因为用于生成那些秘密的值是不同的。突破指的是攻击者恢复长期秘密的模型。长期秘密可以是对应于证书中的公钥的私钥。然而,长期秘密在解密先前会话时是无用的,因为私钥仅用于认证服务器。
然而,攻击者可能能够危害客户端的机器并获得对机器的存储器和盘存储的访问。通过这样做,攻击者可以恢复存储在存储器中的客户端的TLS会话密钥和其他秘密。此外,如果先前的密钥仍然在内存或盘存储器中,则攻击者可以定位那些秘密并使用它们来解密先前的会话。这些类型的攻击通过完全前向保密来保护。为了确保保持完全前向保密,密钥应当在使用之后从存储器中擦除,并且不被存储在盘存储中。
虚拟机是指物理计算机的虚拟表示或仿真。为了建立虚拟机,管理程序可用于将物理计算资源分配给虚拟机。这些计算资源包括处理器、内存和存储装置。一旦建立,虚拟机就可以作为具有其自己的操作系统和应用的独立系统来操作。
虚拟机也可以处于各种操作状态。这些包括但不限于运行、关机、挂起和检查点/快照。当虚拟机处于运行操作状态时,指令执行可以在进行中,并且应用可以可靠地从存储器中删除任何密钥。当虚拟机处于关机状态时,它被强制关机。应用可能没有机会在关机之前从存储器中删除密钥。在虚拟机关机之后,其存储器仍由虚拟机主机通电。因此,如果虚拟机没有删除密钥信息,则存储器保留密钥信息。当虚拟机处于挂起状态时,管理程序挂起虚拟机的操作,并且其存储器连同密钥一起被写入盘存储。当虚拟机处于快照状态时,类似于备份,获取虚拟机的快照,其中存储器连同密钥被写入存储装置以支持管理员的还原操作的可能性。
然而,由于操作状态所呈现的各种弱点,虚拟机不能可靠地维持完全前向保密,因此对虚拟机安全性的限制仍然存在。在虚拟机内运行的应用可能不能从存储器或从盘存储安全地删除密钥。攻击者可以危害虚拟机并且访问存储器和盘存储以检索密钥以及其它秘密。
本公开的实施例可以通过使用完全前向保密系统来克服上述和其他问题。该完全前向保密系统包括安全存储器分配函数,其被配置为将连接秘密分配到存储器中,并将关于连接秘密的信息存储在加密数据库中。完全前向保密系统还包括安全存储器解除分配函数,其被配置为从存储器解除分配连接秘密,并且对存储连接秘密的存储器位置执行清理操作。该完全前向保密系统还包括安全存储器再分配函数,其被配置为将存储器再分配到不同的存储器位置,并利用该对应的信息来更新加密数据库。此外,完全前向系统包括虚拟机监视器,其被配置为监视已经利用安全存储器分配函数的虚拟机。当接收到所监视的虚拟机的操作状态的改变时,完全前向系统可以根据需要清理存储器位置。
更具体地,本文描述的完全前向保密系统向在虚拟机或物理机器内操作的应用提供用于连接秘密的安全存储器分配函数。连接秘密包括但不限于公钥、私钥和会话密钥。完全前向保密系统可以监视虚拟机的状态以确定是否需要对存储器位置的清理。
存储器分配函数是由应用用来执行动态存储器分配的函数。动态存储器分配是指在程序执行期间分配存储器的过程。存储器分配函数的类型包括但不限于malloc、calloc、realloc和free。malloc函数分配所请求大小的存储器,并返回指向所分配空间的第一字节的指针。类似于malloc函数,calloc函数也为数组的元素分配空间。它还将元素初始化为零,并返回指向所分配空间的第一字节的指针。使用realloc函数来修改先前分配的存储器空间的大小。free函数清空先前分配的存储器空间。
完全前向保密系统提供了安全存储器分配函数,其可以由应用使用来执行用于连接保密的动态存储器分配。安全存储器分配函数包括smalloc、scalloc、srealloc及sfree。
在一些实施例中,smalloc函数是用于动态地分配存储器块的安全存储器分配。在虚拟机上操作的应用可以使用smalloc函数来分配由该函数请求的大小的安全存储器。虚拟机可以像利用malloc函数一样地分配存储器。一旦分配,虚拟机就可以经由管理程序通过提供在分配期间生成的指针向虚拟机主机通知存储器位置以及安全存储器的大小。虚拟机主机可以将指针信息和安全存储器的大小存储在安全数据库中。
在一些实施例中,scalloc函数是用于动态地分配多个存储器块的安全存储器分配函数。在虚拟机上操作的应用可以使用scalloc函数来基于n个相同大小的存储器块进行分配。虚拟机可以像利用calloc函数一样地分配存储器。在分配了存储器空间之后,字节可以被初始化为零。一旦分配,虚拟机就可以经由管理程序通过提供在分配期间生成的指针向虚拟机主机通知存储器位置以及安全存储器的大小。虚拟机主机可以将指针信息和安全存储器的大小存储在安全数据库中。通常,scalloc函数可用于为复杂数据结构(诸如数组和结构)分配存储器。
在一些实施例中,srealoc函数是用于调整已分配存储器的存储器大小的安全存储器分配函数。它可以扩展当前存储器块大小,同时保持原始内容不变。在虚拟机上操作的应用可使用srealloc函数来重新分配安全存储器并且指定新存储器大小。虚拟机可以像利用realloc函数一样地分配存储器。虚拟机可以经由管理程序向虚拟机主机通知安全存储器的位置和大小。使用该信息,虚拟机主机可更新安全数据库中的条目以反映新信息。
在一些实施例中,使用sfree函数来释放/解除分配安全存储器。在虚拟机上操作的应用可使用sfree函数来删除安全存储器。虚拟机可以经由管理程序向虚拟机主机通知正被释放的安全存储器的位置和大小。虚拟机可以删除存储器并清理该位置。安全数据库中的条目也可以被删除。
现在参考图1,示出了根据本公开的实施例的示例性虚拟机环境100的框图。虚拟机环境100包括虚拟机主机105、管理程序115、虚拟机120-1、120-2、120-N(统称为“虚拟机120”)、交换结构130和存储环境140,其中N是表示任何数量的可能虚拟机120的可变整数。
虚拟机120-1包括应用121-1、121-2、121-N(统称为“应用121”)和客户操作系统124。虚拟机120-2包括应用122-1、122-2、122-N(统称为“应用122”)和客户操作系统125。虚拟机120-3包括应用123-1、123-2、123-N(统称为“应用123”)和客户操作系统126。虚拟机主机105包括主机输入/输出(I/O)控制器106、包括安全数据库108的存储装置107、以及存储器109。
根据本公开的实施例,虚拟机主机105是被配置成提供和支持虚拟化的虚拟机环境100的组件。虚拟机主机105还被配置成操作管理程序115。虚拟化是指在从实际硬件抽象的层中运行计算机系统的虚拟实例的过程。虚拟机主机105可以是具有物理计算组件的物理计算机、服务器、物理机器等。物理计算组件包括但不限于至少一个处理器、存储装置107和存储器109。虚拟机主机105还可以操作管理程序115来提供生成虚拟机120所需的虚拟化。
根据本公开的实施例,管理程序115或虚拟机监视器(VMM)是被配置成创建和部署虚拟机120的虚拟机环境100的组件。管理程序115可以是提供虚拟机120在其中操作的环境的计算机软件、固件或硬件。管理程序115还可以管理虚拟机120的操作系统的执行。管理程序115充当虚拟机主机105上的硬件设备(例如,存储装置107、存储器109)与虚拟机120上的虚拟设备之间的接口。管理程序115将物理资源的某个子集呈现给每个单独的虚拟机120,并且处理从虚拟机120到物理设备并且再次回来的实际I/O。例如,应用121-1请求将变量分配到虚拟机120-1的存储器上。虚拟机120-1将变量分配到由管理程序115提供的其虚拟存储器空间中,并且管理程序115可以将变量分配到物理存储器109中。
虚拟机120是虚拟机环境100的被配置成作为在虚拟机主机105上的管理程序115之上运行的操作系统和应用的容器来操作的组件。虚拟机120可以包括在虚拟机120上运行的应用121、122、123可以请求访问的一组资源。应用可通过编程语言函数(例如,malloc、calloc、free、realloc)请求使用虚拟机120可用的资源,这些编程语言函数被传递到操作系统124,该操作系统124将请求传递到虚拟I/O控制器。虚拟I/O控制器可以通过访问分配给虚拟机120的虚拟资源来处理请求。在访问虚拟资源时,管理程序115可以访问主机I/O控制器106以对位于虚拟机主机105上的物理资源执行功能。
根据本公开的实施例,交换结构130是虚拟机环境100的被配置为经由一个或多个网络交换机互连虚拟机主机105和存储系统140的组件。交换结构130可以由各种高速网络组成。这些网络包括但不限于光纤信道、InifiniBand和RapidIO。交换结构130可以是硬件和软件的组合,其利用多个交换机来控制去往和来自网络节点的流量。通常,交换结构130利用共享存储器和数据缓冲器。在一些实施例中,交换结构130是光纤信道交换结构(FC-SW)拓扑,其中网络中的设备(例如,虚拟机主机105)可经由一个或多个光纤信道交换机彼此连接。
根据本公开的实施例,存储环境140是被配置为合并、管理和操作数据存储的虚拟机环境的组件。在一些实施例中,存储环境140是服务器或服务器的集合。存储环境140的示例包括存储服务器(例如,基于块的存储)、直接附接的存储、文件服务器、服务器附接的存储、网络附接的存储、或任何其他存储解决方案。在一些实施例中,存储环境140的组件在单个设备内实现。在一些其他实施例中,存储环境140的组件包括分布式架构。例如,存储环境140可以包括物理上位于不同位置但是能够通过通信网络通信以实现期望结果的多个存储系统。
在一些实施例中,存储环境140是存储区域网络(SAN)。SAN可以包括多种不同容量的存储系统。这些存储系统可以具有诸如数据缩减(例如,去重复、压缩)、存储分层、独立磁盘冗余阵列(RAID)等的能力。其它存储系统可以简单地存储完全分配的卷。
请注意图1旨在描绘示例性虚拟机环境100的主要代表性组件。然而,在一些实施例中,各个组件可以具有比图1中所表示的更大或更小的复杂度,可以存在不同于图1中所示的组件或除其之外的组件,并且这些组件的数量、类型和配置可以变化。
图2是示出根据本公开的实施例的在管理程序115内操作的完全前向保密系统200的框图。完全前向保密系统200包括安全存储器分配函数210、安全连续分配函数220、安全再分配函数230、安全解除分配函数240和虚拟机监视器250。
安全存储器分配函数210是被配置为分配安全存储器的完全前向保密系统200的组件。安全存储器分配函数210(smalloc 210)可用于分配堆上的存储器块。用户可以指定在使用该函数时要分配的字节数。一旦被分配,应用就可以经由由安全存储器分配函数210返回的指针来访问该存储器块。由smalloc 210返回的指针可以是void(空)类型并且可由应用121变换成数据类型(例如,连接秘密)。
安全存储器分配函数210还被配置为发送使用该函数分配的存储器的属性。这些属性包括但不限于引用存储器的该位置的指针以及所分配的存储器大小。属性可以经由管理程序115被发送到虚拟机主机105,在那里可以将属性输入到安全数据库108中。
在一些实施例中,smalloc 210由在物理机器上操作的应用使用。smalloc 210可以以与虚拟机相同的方式分配存储器。分配的属性和存储器大小可以由物理机器执行,该物理机器可以保持分离并且不能由应用访问。
在一些实施例中,虚拟机主机105可以在存储环境140内操作安全数据库108。例如,虚拟机主机105可以访问存储安全数据库108的SAN存储驱动器。
安全连续分配函数220是被配置为分配多个存储器块的完全前向保密系统200的组件。安全连续分配函数220(scalloc 220)可以用于为复杂数据结构(例如数组或链表)分配存储器。这多个存储器块具有与使用函数时所指定大小的相同大小。一旦被分配,应用就可以经由由安全连续分配函数220返回的指针来访问存储器块。由scalloc 220返回的指针可以是空类型,并且可由应用程序转换成数据类型(例如,连接秘密)。
安全连续分配函数220还被配置为发送使用该函数分配的存储器的属性。这些属性包括但不限于引用存储器位置的指针以及所分配的存储器大小。属性可以经由管理程序115被发送到虚拟机主机105,在那里可以将属性输入到安全数据库108中。
在一些实施例中,scalloc220由在物理机器上操作的应用使用。scalloc 220可以以与虚拟机相同的方式分配存储器。分配的属性和存储器大小可以由物理机器执行,该物理机器可以保持分离并且不能由应用访问。
安全再分配函数230是完全前向保密系统200的组件,其被配置为改变由smalloc210或scalloc 220保护的已经分配的存储器的存储器大小。安全再分配函数230(srealloc230)可扩展存储器的当前块而不影响所存储的内容。srealloc 230还可减小先前分配的存储器大小的存储器大小。例如,应用可以初始调用smalloc 210来分配四百字节的存储器。可调用srealloc 230以将存储器大小减小到不同大小,例如两百字节。在该相同的示例中,可以使用已知的清理技术来清理原始的四百字节。
安全再分配函数230还被配置为发送使用该函数再分配的存储器的更新后的属性。属性包括引用存储器位置的指针以及调整后的存储器大小。属性可以经由管理程序115被发送到虚拟机主机105,在该虚拟机主机中可以用更新的属性来更新先前由smalloc 210或scalloc 220输入的条目。
安全解除分配函数240是完全前向保密系统200的组件,其被配置为解除分配由smalloc 210或scalloc 220函数分配的存储器块。安全解除分配函数240(sfree 240)可以释放由smalloc 210或scalloc 220分配的存储器,并且通过用随机值覆写存储器块来清理这些块。在一些实施例中,sfree 240使用已知的清理技术来覆写存储器块。
sfree 240进一步被配置为传输通知虚拟机主机105存储器块已被释放的函数,并且从安全数据库108删除所述分配的任何条目。另外,该函数可以指示虚拟机主机105对存储过所分配的存储器块的物理存储器位置进行清理。
虚拟机监视器250是完全前向保密系统200的组件,其被配置为监视已经使用安全存储器分配函数(例如,smalloc 210、scalloc 220、srealloc230、sfree 240)的虚拟机120的操作状态。在检测到虚拟机120的操作状态的改变时,虚拟机监视器250可以发起动作以确保完全前向保密被维持。这些操作状态包括但不限于运行、关机、挂起和检查点/快照。
通过向管理程序115发送通知,通知虚拟机主机120操作已经开始,虚拟机120可以处于运行操作状态。此时,虚拟机120可以执行来自其客户操作系统124和在虚拟机120上操作的任何应用121的指令。在该操作状态期间,虚拟机监视器250可监视从该操作状态的任何改变。处于运行操作状态的虚拟机120可以可靠地删除和清理使用安全存储器分配函数存储的短暂密钥和会话密钥。例如,应用可以调用smalloc 210来为会话密钥分配存储器块。一旦不再需要会话密钥,应用就可调用sfree 240函数以删除和清理存储该密钥的存储器块。虚拟机监视器250不需要执行任何附加动作,只要当调用这两个函数时虚拟机120待在运行操作状态中即可。
虚拟机120在其已经停止操作时可以处于关机操作状态。这可以以几种方式发生。例如,虚拟机120可以自己发起关机,并且通知管理程序115正在发生关机。此外,虚拟机120可以由于管理程序115发起的停止或除掉(kill)动作而被关机。虚拟机监视器250还可以检测虚拟机120不再运行并且确定虚拟机120处于关机操作状态。
虚拟机监视器250还被配置为对由处于关机操作状态的虚拟机120分配的安全存储器块进行清理。在检测到虚拟机120处于关机操作状态时,虚拟机监视器250可向虚拟机主机105发送检索安全数据库108中由虚拟机120形成的所有条目的函数。在条目中引用的存储器块可以被清理。一旦被清理,就可以从安全数据库108中移除条目。在一些实施例中,如果虚拟机120在安全数据库108中具有条目,则虚拟机监视器250向虚拟机主机105发送清理虚拟机120所持有的所有存储器块的函数。
当挂起函数被发出给虚拟机120时,虚拟机120可以处于挂起操作状态。挂起函数可以由管理程序115以及从由虚拟机120执行的文件发出。一旦开始,由虚拟机120执行的所有事务被冻结,直到发出恢复函数。当虚拟机120被挂起时,其存储器可被写到存储装置上以便保留虚拟机120直到恢复函数被发出。然而,如果虚拟机120具有分配到存储器上的连接秘密,则那些连接秘密被写入存储装置。
虚拟机监视器250还被配置为对由处于挂起操作状态的虚拟机120分配的安全存储器块的存储位置进行清理。在检测到虚拟机120处于挂起操作状态时,虚拟机监视器250可向虚拟机主机105发送清除已被写到存储装置上的所存储的存储器位置的函数。例如,虚拟机120可以使用安全存储器分配函数(例如,smalloc 210、scalloc 220)来将连接秘密存储在存储器中。在连接秘密仍然存储在存储器中时,虚拟机120可以进入挂起操作状态,该状态触发虚拟机主机105将虚拟机120的存储器存储在存储装置107上。虚拟机监视器250可以向虚拟机主机105发送从存储装置中删除和清理连接秘密的函数。
在一些实施例中,虚拟机监视器250向虚拟机主机105发送检索安全数据库108中由虚拟机120产生的所有条目并清理在这些条目中引用的存储器块的函数。一旦被清理,就可以从安全数据库108中移除这些条目。这可以在虚拟机主机105将存储器写到存储装置上之前执行。因此,在存储器被写入存储装置之前,由虚拟机120分配的任何安全存储器块被删除。
虚拟机120可以处于检查点/快照操作状态,其中虚拟机120的映像被取得并被写入到存储装置107上。这通常是为了备份目的而发生的,并且为了支持可能的还原操作功能。类似于挂起操作状态,虚拟机120的存储器可以被写到存储装置上,以便保存虚拟机120。然而,如果虚拟机120具有分配到存储器上的连接秘密,则那些连接秘密被写入存储装置。
虚拟机监视器250还被配置成向虚拟机主机105发送函数以检索由进入检查点/快照操作状态的虚拟机120输入到安全数据库108中的条目。使用存储在安全数据库108中的信息,虚拟机主机105可以在存储虚拟机120的映像之前对存储器块进行清理。
在一些实施例中,完全前向保密系统200利用由虚拟机120提供的任何存储器分配函数来操作。例如,与类似于分配和解除分配函数地操作的new(新建)函数或delete(删除)函数相对应的操作系统调用可以被完全前向保密系统200使用。
在一些实施例中,完全前向保密系统200使用由虚拟机提供商提供的第三方共享库系统调用来操作。例如,代替分配存储器的操作系统调用。在特定平台内操作的虚拟机120可以利用共享库,该共享库提供与smalloc 210、scalloc 220、srealloc 230和sfree240的功能性类似的功能性。
图3是示出根据本公开的实施例的根据完全前向保密系统200的安全存储器分配函数的数据流图300。为了说明数据流图300,但不是限制实施例,在图1的虚拟机环境100和图2的完全前向保密系统200的上下文内描述图3。
在操作310处,应用121可以将smalloc 210函数传输到客户操作系统124。Smalloc210函数包括要安全地分配的存储器大小。在操作313,客户操作系统124可以以与malloc函数相同的方式分配存储器。在虚拟机120的虚拟存储器空间中分配存储器,所述虚拟存储器空间对应于由虚拟机主机105操作的物理存储器空间。
在操作315,完全前向保密系统200可以向虚拟机主机105发送将条目添加到安全数据库105中的函数。该函数可以包括由malloc函数生成的指针和所请求的存储器大小。在操作317,虚拟机主机105可以创建到安全数据库108中的条目,该条目包括所分配的存储器的位置和存储器大小。
在操作320,应用121可以将scalloc 220函数发送到客户操作系统124。scalloc220函数包括要分配的块的数量和每个块的存储器大小。在操作323,客户操作系统124可以以与calloc函数相同的方式分配存储器。在虚拟机120的虚拟存储器空间中分配存储器,所述虚拟存储器空间对应于由虚拟机主机105操作的物理存储器空间。
在操作325,完全前向保密系统200可以向虚拟机主机105发送将条目添加到安全数据库108中的函数。该函数可以包括由calloc函数生成的指针和所请求的存储器大小。在操作327,虚拟机主机105可以创建到安全数据库108中的条目,该条目包括所分配的存储器的位置和存储器大小。
在操作330处,应用121可以将srealloc 230函数传输到客户操作系统124。srealloc 230函数包括指示分配的存储器的位置的指针和新的存储器大小。在操作333,客操作系统124可以以与realloc函数相同的方式重新分配存储器。在虚拟机120的虚拟存储器空间中重新分配存储器,所述虚拟存储器空间对应于由虚拟机主机105操作的物理存储器空间。
在操作335,完全前向保密系统200可以向虚拟机主机105发送修改安全数据库108中的条目的函数。该函数可以包括由realloc函数生成的指针、旧存储器指针和更新的存储器大小。在操作337,虚拟机主机105可更新安全数据库108中包括重新分配的存储器的位置和经更新的存储器大小的条目,并且另外可清理对应于旧存储器的物理存储器位置。
在操作340,应用121可将sfree 240函数传输到客户操作系统124。sfree 240函数包括将被安全解除分配的位置和存储器大小。在操作343,客户操作系统124可以以与free函数相同的方式解除分配存储器。在虚拟机120的虚拟存储器空间中解除分配存储器,所述虚拟存储器空间对应于由虚拟机主机105操作的物理存储器空间。另外,客户操作系统124可以用零填充存储器空间以覆写存储在该空间中的任何信息。
在操作345,完全前向保密系统200可以向虚拟机主机105发送删除安全数据库105中的条目的函数。该函数可以包括提供存储器的位置的指针和解除分配的存储器大小。在操作317处,虚拟机主机105可以从安全数据库108删除包括所分配的存储器的位置和存储器大小的条目。另外,虚拟机主机105可清理对应于sfree 240函数中的位置的物理存储器位置。
图4是示出根据本公开的实施例的根据完全前向保密系统200的虚拟机操作状态的数据流图400。为了说明数据流图400,但不是限制实施例,在图1的虚拟机环境100和图2的完全前向保密系统200的上下文中描述图4。
在操作412,虚拟机主机105向虚拟机120发出断电函数。这将虚拟机120置于关机操作状态410。虚拟机监视器250会注意到虚拟机120现在处于关机状态,并且可以向虚拟机主机105发送函数以检索由虚拟机120产生的、正存储在安全数据库108中的所有条目。
在操作414,虚拟机主机105检索存储在安全数据库108中的由虚拟机105产生的条目。在操作416,安全数据库108响应于查询请求,并且发送由虚拟机120产生的任何和所有条目的信息。
在操作418,虚拟机主机105可以覆写在由安全数据库108提供的每个条目中找到的存储器位置。另外,虚拟机主机105可以使用已知的清理技术来清理存储器位置,以永久地删除存储在那些存储器位置中的任何连接秘密。
在操作422,虚拟机主机105向虚拟机120发出挂起函数以暂停正在执行的所有操作。这将虚拟机120置于挂起操作状态420。虚拟机监视器250会注意到虚拟机120现在处于挂起状态,并可向虚拟机主机105发送函数以检索由虚拟机120产生的正存储在安全数据库108中的所有条目。
在操作424,虚拟机主机105检索存储在安全数据库108中的由虚拟机105产生的条目。在操作426,安全数据库108响应于查询请求,并且发送由虚拟机120产生的任何和所有条目的信息。
在操作428,虚拟机主机105可以覆写在由安全数据库108提供的每个条目中找到的存储器位置。另外,虚拟机主机105可以使用已知的清理技术来清理存储器位置,以永久地删除存储在那些存储器位置中的任何连接秘密。
在操作429,虚拟机主机105可以完成虚拟机120的挂起以暂停所有操作。另外,虚拟机105可以将虚拟机120的存储器存储在存储装置107中。
在操作432,虚拟机主机105向虚拟机120发出检查点/快照函数以创建虚拟机120的映像。这将虚拟机120置于检查点/快照操作状态430。虚拟机监视器250会注意到虚拟机120现在处于检查点/快照状态,并且可向虚拟机主机105发送函数以检索由虚拟机120产生的正存储在安全数据库108中的所有条目。
在操作434,虚拟机主机105检索存储在安全数据库108中的由虚拟机105产生的条目。在操作436,安全数据库108响应于查询请求,并且发送虚拟机120所产生的任何和所有条目的信息。
在操作438,虚拟机主机105可以覆写在由安全数据库108提供的每个条目中找到的存储器位置。另外,虚拟机主机105可以使用已知的清理技术来清理这些存储器位置,以永久地删除存储在那些存储器位置中的任何连接秘密。
在操作439,虚拟机主机105可通过取得虚拟机105的映像来完成虚拟机120的检查点/快照。虚拟机105的映像可以作为虚拟机105的备份被存储在存储装置107中。
图5是示出根据本公开的实施例的用于为虚拟机提供完全前向保密的过程500的流程图。过程500可由硬件、固件、在至少一个处理器上执行的软件或其任何组合来执行。例如,过程500的任何或所有步骤可以由一个或多个计算设备(例如,图6的计算机系统600)执行。为了说明过程500,但不是限制实施例,在图1的虚拟机环境100和图2的完全前向保密系统200的上下文中描述图5。
过程500开始于从虚拟机120接收安全存储器分配函数以存储连接秘密。这在步骤510中示出。安全存储器分配函数可以是smalloc 210、scalloc220和srealloc 230。取决于安全存储器分配函数,可以包括各种参数。例如,smalloc函数包括指示要分配的存储器大小的存储器大小参数。scalloc函数包括存储器大小和要分配的块的数量。存储器大小指示被分配的每个块的存储器大小。srealloc函数包括指向被调整大小的存储器位置的指针和新存储器大小的存储器大小。
虚拟机120分配由安全存储器分配函数请求的存储器。这在步骤520中示出。虚拟机120可以像标准存储器分配函数一样分配存储器。例如,可以以与malloc函数类似的方式分配smalloc 210函数。scalloc 220函数可以以与calloc函数类似的方式分配,srealloc230函数可以以与realloc函数类似的方式分配。
一旦被分配,完全前向保密系统200就将与安全存储器分配函数相关的存储器属性传输到虚拟机主机105。这在步骤530中示出。存储器属性包括所分配的存储器的存储器位置和所分配的存储器大小。基于所接收的安全存储器分配函数,传输到虚拟机主机105的存储器属性可能不同。例如,smalloc210函数可使存储器位置和存储器大小被传输。srealloc 230函数可具有当前存储的存储器位置的存储器位置和经更新的存储器大小。在一些实施例中,提供存储器位置的指针作为存储器属性被传输。
虚拟机主机105将包括存储器属性和虚拟机120的条目存储到安全数据库108中。这在步骤540中示出。该条目可以包括存储器位置、所分配的存储器的存储器大小、以及关于进行该分配的虚拟机120的信息。在虚拟机120改变到可能危害连接秘密的操作状态的情况下,该条目可以用于删除和清理连接秘密。在一些实施例中,虚拟机主机105将条目存储到存储在存储环境140中的安全数据库108中。例如,安全数据库108可以存储在虚拟机主机105可访问的SAN中。
虚拟机监视器250监视虚拟机120的操作状态的改变。这在步骤550中示出。虚拟机监视器250可识别哪些虚拟机120已使用安全存储器函数分配了存储器,并监视以查看它们的操作状态是否已改变。在一些实施例中,虚拟机监视器250可以以一定间隔查询虚拟机120以确定操作状态。例如,虚拟机监视器250可以ping虚拟机120以查看是否给出响应。查询也可被发送到虚拟机主机105以提供虚拟机120的状态。在一些实施例中,虚拟机监视器250从虚拟机主机105接收虚拟机120正在改变操作状态的通知。例如,虚拟机主机105可以向虚拟机120发送停止函数或挂起函数。当这样做时,虚拟机主机105还可以向虚拟机监视器250传送消息,向其通知即将到来的改变。
虚拟机监视器250确定是否存在虚拟机120的操作改变。这在步骤560示出。如果没有发生变化,则虚拟机监视器250继续监视虚拟机120,直到虚拟机120安全地解除分配存储器。然而,如果虚拟机监视器250注意到虚拟机120发生了操作改变,则虚拟机监视器250确定虚拟机120改变到的操作状态。这在步骤570中示出。例如,虚拟机120可以从运行状态改变为关机状态,或者改变为挂起状态,或者改变为检查点/快照状态。基于虚拟机120改变到的状态,虚拟机监视器250可向虚拟机主机105提供函数以防止连接秘密泄露。
虚拟机主机105对虚拟机所分配的存储器位置进行清理。这在步骤580处示出。虚拟机主机105可以向安全数据库108查询由虚拟机120产生的所有条目。在检索到查询结果时,虚拟机主机105可读取每个条目以确定由虚拟机120分配的安全存储器位置。在每个存储器位置处,虚拟机主机105可以用零来覆写数据。在一些实施例中,虚拟机主机105使用已知的清理技术从物理存储器位置永久地擦除数据。
在一些实施例中,虚拟机主机105永久地擦除存储在存储装置107上的数据。虚拟机主机105可以确定在永久删除安全存储器位置之前,由虚拟机120存储的存储器是否已经被保存到存储装置上。例如,挂起操作或快照/检查点操作复制虚拟机120的存储器并将副本放置在存储装置上。如果存储器已经被存储到存储装置上,则虚拟机主机105可以进入存储装置107中,并且定位所存储的存储器并永久地擦除数据。
现在参考图6,示出了根据本公开的实施例的示例计算机系统600(例如,完全前向保密系统200)的高级框图,该计算机系统可用于实现本文描述的方法、工具和模块中的一个或多个以及任何相关功能(例如,使用计算机的一个或多个处理器电路或计算机处理器)。在一些实施例中,计算机系统600的主要组件可以包括一个或多个处理器602、存储器604、终端接口612、I/O(输入/输出)设备接口614、存储接口616和网络接口618,所有这些都可以直接或间接地通信耦合,以便经由存储器总线603、I/O总线608和I/O总线接口610进行组件间通信。
计算机系统600可以包含一个或多个通用可编程中央处理单元(CPU)602-1、602-2、602-3和602-N,在此统称为处理器602。在一些实施例中,计算机系统600可以包含相对大的系统的典型的多个处理器;然而,在其它实施例中,计算机系统600可以替代地是单CPU系统。每个处理器601可以执行存储在存储器604中的指令,并且可以包括一级或多级板载高速缓存。
存储器604可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)622或高速缓存存储器624。计算机系统600还可以包括其它可移动/不可移动、易失性/非易失性计算机系统存储介质。仅作为示例,存储系统626可被提供用于从诸如“硬盘驱动器”等不可移动、非易失性磁介质中读取和向其写入。尽管未示出,但可提供用于从可移动、非易失性磁盘(例如,“软盘”)中读取和向其写入的磁盘驱动器,或可提供用于从诸如CD-ROM、DVD-ROM等可移动、非易失性光盘中读取或向其写入的光盘驱动器或其它光学介质。另外,存储器604可以包括闪存,例如,闪存棒驱动器或闪存驱动器。存储器设备可以通过一个或多个数据介质接口连接到存储器总线603。存储器604可以包括至少一个程序产品,该程序产品具有一组(例如,至少一个)程序模块,这些程序模块被配置成用于执行不同实施例的功能。
尽管存储器总线603在图6中被示为提供处理器602、存储器604和I/O总线接口610之间的直接通信路径的单个总线结构,但是在一些实施例中,存储器总线603可以包括多个不同的总线或通信路径,其可以以各种形式中的任何形式来布置,诸如分层、星形或网状配置中的点对点链路、多层级总线、并行和冗余路径、或任何其他适当类型的配置。此外,虽然I/O总线接口610和I/O总线608被示为单个相应的单元,但是在一些实施例中,计算机系统600可以包含多个I/O总线接口单元、多个I/O总线或两者。此外,虽然示出了将I/O总线608与延伸到各种I/O设备的各种通信路径分开的多个I/O接口单元,但是在其他实施例中,一些或所有I/O设备可以直接连接到一个或多个系统I/O总线。
在一些实施例中,计算机系统600可以是多用户大型计算机系统、单用户系统、或服务器计算机或具有很少或没有直接用户接口但从其它计算机系统(客户端)接收请求的类似设备。此外,在一些实施例中,计算机系统600可以被实现为台式计算机、便携式计算机、膝上型或笔记本计算机、平板计算机、袖珍计算机、电话、智能电话、网络交换机或路由器、或任何其他适当类型的电子设备。
要注意图6旨在描绘示例性计算机系统600的主要代表性组件。然而,在一些实施例中,各个组件可以具有比图6中所表示的更大或更小的复杂度,可以存在不同于图6中所示的那些组件或除其之外的组件,并且这些组件的数量、类型和配置可以变化。
一个或多个程序/实用程序628可存储于存储器604中,每个具有至少一组程序模块630。程序/实用程序628可以包括管理程序(也称为虚拟机监视器)、一个或多个操作系统、一个或多个应用程序、其它程序模块和程序数据。操作系统、一个或多个应用程序、其它程序模块和程序数据或其某种组合中的每一个可包括联网环境的实现。程序628和/或程序模块630通常执行各种实施例的功能或方法。
应当理解,尽管本公开包括关于云计算的详细描述,但是本文所陈述的教导的实现不限于云计算环境。相反,本发明的实施例能够结合现在已知或以后开发的任何其它类型的计算环境来实现。
云计算是一种服务递送模型,用于实现对可配置计算资源(例如,网络、网络带宽、服务器、处理、存储器、存储、应用、虚拟机和服务)的共享池的方便的按需网络访问,所述可配置计算资源可以以最小的管理努力或与服务的提供者的交互来快速供应和释放。该云模型可以包括至少五个特性、至少三个服务模型和至少四个部署模型。
特征如下:
按需自服务:云消费者可以单方面地自动地根据需要提供计算能力,诸如服务器时间和网络存储,而不需要与服务的提供者进行人工交互。
广域网接入:能力在网络上可用,并且通过促进由异构的薄或厚客户端平台(例如,移动电话、膝上型计算机和PDA)使用的标准机制来访问。
资源池化:供应商的计算资源被集中以使用多租户模型来服务多个消费者,其中不同的物理和虚拟资源根据需求被动态地分配和重新分配。存在位置无关的意义,因为消费者通常不控制或不知道所提供的资源的确切位置,但是能够在较高抽象级别(例如国家、州或数据中心)指定位置。
快速弹性:在一些情况下,可以快速且弹性地提供快速向外扩展的能力和快速向内扩展的能力。对于消费者,可用于提供的能力通常看起来不受限制,并且可以在任何时间以任何数量购买。
测量服务:云系统通过利用在适合于服务类型(例如,存储、处理、带宽和活动用户账户)的某一抽象级别的计量能力来自动地控制和优化资源使用。可以监视、控制和报告资源使用,从而为所利用服务的提供者和消费者两者提供透明性。
服务模型如下:
软件即服务(SaaS):提供给消费者的能力是使用在云基础设施上运行的提供者的应用。应用程序可通过诸如web浏览器(例如,基于web的电子邮件)等瘦客户端界面从各种客户端设备访问。消费者不管理或控制包括网络、服务器、操作系统、存储、或甚至个别应用能力的底层云基础结构,可能的例外是有限的用户专用应用配置设置。
平台即服务(PaaS):提供给消费者的能力是将消费者创建或获取的应用部署到云基础设施上,该消费者创建或获取的应用是使用由提供商支持的编程语言和工具创建的。消费者不管理或控制包括网络、服务器、操作系统或存储的底层云基础设施,但具有对部署的应用和可能的应用托管环境配置的控制。
基础设施即服务(IaaS):提供给消费者的能力是提供处理、存储、网络和消费者能够部署和运行任意软件的其它基本计算资源,所述软件可以包括操作系统和应用。消费者不管理或控制底层云基础设施,但具有对操作系统、存储、部署的应用的控制,以及可能对选择的联网组件(例如,主机防火墙)的有限控制。
部署模型如下:
私有云:云基础设施仅为组织操作。它可以由组织或第三方管理,并且可以存在于建筑物内或建筑物外。
社区云:云基础设施由若干组织共享,并且支持具有共享关注(例如,任务、安全要求、策略和合规性考虑)的特定社区。它可以由组织或第三方管理,并且可以存在于场所内或场所外。
公有云:云基础设施可用于一般公众或大型工业群体,并且由销售云服务的组织拥有。
混合云:云基础设施是两个或更多云(私有、共同体或公共)的组合,所述云保持唯一实体,但是通过使数据和应用能够移植的标准化或私有技术(例如,用于云之间的负载平衡的云突发)绑定在一起。
云计算环境是面向服务的,其焦点在于无状态、低耦合、模块性和语义互操作性。在云计算的核心是包括互连节点的网络的基础设施。
现在参考图7,描绘了说明性云计算环境700。如图所示,云计算环境700包括云消费者使用的本地计算设备可以与其通信的一个或多个云计算节点710,所述本地计算设备例如个人数字助理(PDA)或蜂窝电话720-1、台式计算机720-2、膝上型计算机720-3和/或汽车计算机系统720-4。节点710可以彼此通信。它们可以被物理地或虚拟地分组(未示出)在一个或多个网络中,诸如如上文描述的私有云、社区云、公共云或混合云或其组合。这允许云计算环境700提供基础设施、平台和/或软件作为服务,云消费者不需要为其维护本地计算设备上的资源。应当理解,图7中所示的计算设备720-1至720-4的类型仅旨在是说明性的,并且计算节点710和云计算环境700可以在任何类型的网络和/或网络可寻址连接(例如,使用web浏览器)上与任何类型的计算设备通信。
现在参考图8,示出了由云计算环境700(图7)提供的一组功能抽象层800。应当预先理解,图8中所示的组件、层和功能仅旨在说明,并且本发明的实施例不限于此。如所描绘的,提供了以下层和相应的功能:
硬件和软件层810包括硬件和软件组件。硬件组件的示例包括大型机811;基于RISC(精简指令集计算机)架构的服务器812;服务器813;刀片服务器814;存储设备815;以及网络和联网组件816。在一些实施例中,软件组件包括网络应用服务器软件817和数据库软件818。
虚拟化层820提供抽象层,从该抽象层可以提供虚拟实体的以下示例:虚拟服务器821;虚拟存储器822;虚拟网络823,包括虚拟专用网络;虚拟应用和操作系统824;以及虚拟客户端825。
在一个示例中,管理层830可以提供以下描述的功能。资源供应831提供对被用来在云计算环境内执行任务的计算资源和其他资源的动态采购。计量和定价832在云计算环境内利用资源时提供成本跟踪,以及针对这些资源的消耗的开账单或开发票。在一个示例中,这些资源可以包括应用软件许可证。安全性为云消费者和任务提供身份验证,以及为数据和其他资源提供保护。用户门户833为消费者和系统管理员提供对云计算环境的访问。服务级别管理834提供云计算资源分配和管理,使得满足所需的服务级别。服务水平协议(SLA)计划和履行835提供对云计算资源的预先安排和采购,其中根据SLA预期未来需求。
工作负载层840提供了可以利用云计算环境的功能的示例。可以从该层提供的工作负载和功能的示例包括映射和导航841;软件开发和生命周期管理842(例如,完全前向保密系统200);虚拟教室教育递送843;数据分析处理844;事务处理845;以及精确群组分析846。
本发明可以是任何可能的技术细节集成水平的系统、方法和/或计算机程序产品。计算机程序产品可以包括其上具有计算机可读程序指令的计算机可读存储介质,所述计算机可读程序指令用于使处理器执行本发明的各方面。
计算机可读存储介质可以是能够保持和存储指令以供指令执行设备使用的有形设备。计算机可读存储介质可以是例如但不限于电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或前述的任何合适的组合。计算机可读存储介质的更具体示例的非穷举列表包括以下:便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式光盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、诸如上面记录有指令的打孔卡或凹槽中的凸起结构的机械编码装置,以及上述的任何适当组合。如本文所使用的计算机可读存储介质不应被解释为暂态信号本身,诸如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,通过光纤线缆的光脉冲)、或通过导线传输的电信号。
本文描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备,或者经由网络,例如因特网、局域网、广域网和/或无线网络,下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或网络接口从网络接收计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(ISA)指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路的配置数据,或者以一种或多种编程语言(包括面向对象的编程语言,例如Smalltalk、C++等)和过程编程语言(例如“C”编程语言或类似的编程语言)的任意组合编写的源代码或目标代码。计算机可读程序指令可以完全在用户的计算机上执行,部分在用户的计算机上执行,作为独立的软件包执行,部分在用户的计算机上并且部分在远程计算机上执行,或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络连接到用户的计算机,包括局域网(LAN)或广域网(WAN),或者可以连接到外部计算机(例如,使用因特网服务提供商通过因特网)。在一些实施例中,为了执行本发明的各方面,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令以使电子电路个性化。
在此参考根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明的各方面。将理解,流程图和/或框图的每个框以及流程图和/或框图中的框的组合可以由计算机可读程序指令来实现。
这些计算机可读程序指令可以被提供给计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现流程图和/或框图的一个或多个框中指定的功能/动作的装置。这些计算机可读程序指令还可以存储在计算机可读存储介质中,其可以引导计算机、可编程数据处理装置和/或其他设备以特定方式工作,使得其中存储有指令的计算机可读存储介质包括制品,该制品包括实现流程图和/或框图的一个或多个框中指定的功能/动作的各方面的指令。
计算机可读程序指令还可以被加载到计算机、其他可编程数据处理装置或其他设备上,以使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图的一个或多个框中指定的功能/动作。
附图中的流程图和框图示出了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。在这点上,流程图或框图中的每个框可以表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些替代实施方案中,框中所注明的功能可不按图中所注明的次序发生。例如,连续示出的两个框实际上可以作为一个步骤来实现,同时、基本同时、以部分或全部时间重叠的方式执行,或者这些框有时可以以相反的顺序执行,这取决于所涉及的功能。还将注意,框图和/或流程图图示的每个框以及框图和/或流程图图示中的框的组合可以由执行指定功能或动作或执行专用硬件和计算机指令的组合的专用的基于硬件的系统来实现。
已经出于说明的目的给出了本发明的各种实施例的描述,但是其不旨在是穷尽的或限于所公开的实施例。在不背离所描述的实施例的范围和精神的情况下,许多修改和变化对于本领域的普通技术人员将是显而易见的。选择本文所使用的术语以最好地解释实施例的原理、实际应用或对市场上存在的技术改进,或使本领域的其他普通技术人员能够理解本文所公开的实施例。
Claims (21)
1.一种用于在虚拟机中提供完全前向保密的计算机系统,所述系统包括:数据处理组件;
物理存储器;以及
本地数据存储装置,其上存储有计算机可执行程序代码,所述计算机可执行程序代码在由所述数据处理组件执行时使所述数据处理组件:
从在虚拟机内操作的应用接收用于连接秘密的安全存储器分配函数,其中所述安全存储器分配函数包括存储器大小参数;
根据所述存储器大小参数为所述连接秘密分配存储器,其中所述存储器包括存储器位置和存储器大小;
将所述存储器位置和所述存储器大小传输到虚拟机主机以作为一条目存储在安全数据库中;
将所述条目存储在所述安全数据库中;以及
监视与所述虚拟机相关的操作状态。
2.根据权利要求1所述的计算机系统,还包括:
从所述应用接收与所述连接秘密有关的安全解除分配函数;
从安全数据库检索所述条目;
通过覆写所述存储器位置来解除分配所述存储器;以及
对由所述条目指示的所述存储器位置进行清理。
3.根据权利要求2所述的计算机系统,其中所述清理包括用随机数据覆写所述存储器位置至少一次。
4.根据权利要求1所述的计算机系统,还包括:
从所述应用接收包含所述存储器的新存储器大小的安全再分配函数;
将所述存储器的大小重新调整为由安全再分配函数提供的所述新存储器大小;
将新存储器位置和所述新存储器大小传输到所述虚拟机主机以更新所述安全数据库中的所述条目;
对所述存储器位置进行清理;以及
用所述新存储器位置和所述新存储器大小更新存储在所述安全数据库中的与所述存储器相关的所述条目。
5.根据权利要求1所述的计算机系统,其中所述连接秘密包括与所述应用和服务器之间的安全连接相关的会话密钥。
6.根据权利要求1所述的计算机系统,其中所述安全存储器分配函数包括存储器块数量参数。
7.根据权利要求1所述的计算机系统,还包括:
接收指示所述虚拟机的操作状态改变的通知;
确定所述虚拟机的所述操作状态;
从安全数据库中检索与所述虚拟机相关的条目;以及
基于所述虚拟机的所述操作状态,清理由所述条目指示的所述存储器位置。
8.根据权利要求7所述的计算机系统,还包括:
确定包括所述连接秘密的所述存储器被存储在存储装置中;
在所述存储装置内定位存储所述连接秘密的存储位置;以及
对所述存储位置进行清理。
9.一种用于在虚拟机中提供完全前向保密的计算机实现的方法,所述计算机实现的方法包括:
从在虚拟机内操作的应用接收用于连接秘密的安全存储器分配函数,其中所述安全存储器分配函数包括存储器大小参数;
根据所述存储器大小参数为所述连接秘密分配存储器,其中所述存储器包括存储器位置和存储器大小;
将所述存储器位置和所述存储器大小传输到虚拟机主机以作为一条目存储在安全数据库中;
将所述条目存储在所述安全数据库中;以及
监视与所述虚拟机相关的操作状态。
10.根据权利要求9所述的计算机实现的方法,还包括:
从所述应用接收与所述连接秘密相关的安全解除分配函数;
从安全数据库检索所述条目;
通过覆写所述存储器位置来解除分配所述存储器;以及
清理由所述条目指示的所述物理存储器位置。
11.根据权利要求10所述的计算机实现的方法,其中清理包括用随机数据覆写所述存储器位置至少一次。
12.根据权利要求9所述的计算机实现的方法,还包括:
从所述应用接收包含所述存储器的新存储器大小的安全再分配函数;
将所述存储器的大小调整为由所述安全再分配函数提供的所述新存储器大小;
将新存储器位置和所述新存储器大小传输到所述虚拟机主机以更新所述安全数据库中的所述条目;
对所述存储器位置进行清理;以及
用所述新存储器位置和所述新存储器大小更新存储在所述安全数据库中的与所述存储器相关的所述条目。
13.根据权利要求9所述的计算机实现的方法,其中所述连接秘密包括与所述应用和服务器之间的安全连接相关的会话密钥。
14.根据权利要求9所述的计算机实现的方法,其中所述安全存储器分配函数包括存储器块数量参数。
15.根据权利要求9所述的计算机实现的方法,还包括:
接收指示所述虚拟机的操作状态改变的通知;
确定所述虚拟机的所述操作状态;
从安全数据库中检索与所述虚拟机相关的所述条目;以及
基于所述虚拟机的所述操作状态,清理由所述条目指示的所述存储器位置。
16.根据权利要求9所述的计算机实现的方法,还包括:
确定包括所述连接秘密的所述存储器被存储在存储装置中;
在所述存储装置内定位存储所述连接秘密的存储位置;以及
对所述存储位置进行清理。
17.一种非暂态计算机可读存储介质,其上存储有用于控制计算机系统以进行以下操作的指令:
从在虚拟机内操作的应用接收用于连接秘密的安全存储器分配函数,其中所述安全存储器分配函数包括存储器大小参数;
根据所述存储器大小参数为所述连接秘密分配存储器,其中所述存储器包括存储器位置和存储器大小;
将所述存储器位置和所述存储器大小传输到虚拟机主机以作为一条目存储在安全数据库中;
将所述条目存储在所述安全数据库中;以及
监视与所述虚拟机相关的操作状态。
18.根据权利要求17所述的非暂态计算机可读存储介质,还包括:
从所述应用接收与所述连接秘密相关的安全解除分配函数;
从安全数据库检索所述条目;
通过覆写所述存储器位置来解除分配所述存储器;以及
清理由所述条目指示的所述物理存储器位置。
19.根据权利要求17所述的非暂态计算机可读存储介质,还包括:
从所述应用接收包含所述存储器的新存储器大小的安全再分配函数;
将所述存储器的大小调整为由所述安全再分配函数提供的所述新存储器大小;
将新存储器位置和所述新存储器大小传输到所述虚拟机主机以更新所述安全数据库中的所述条目;
对所述存储器位置进行清理;以及
用所述新存储器位置和所述新存储器大小更新存储在所述安全数据库中的与所述存储器相关的所述条目。
20.根据权利要求17所述的非暂态计算机可读存储介质,还包括:
接收指示所述虚拟机的操作状态改变的通知;
确定所述虚拟机的所述操作状态;
从安全数据库中检索与虚拟机相关的所述条目;以及
基于所述虚拟机的所述操作状态,清理由所述条目指示的所述存储器位置。
21.一种计算机程序,包括程序代码装置,当所述程序在计算机上运行时,所述程序代码装置适于执行根据权利要求9至16中任一项所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/816,467 US11570153B2 (en) | 2020-03-12 | 2020-03-12 | Virtual machine perfect forward secrecy |
US16/816,467 | 2020-03-12 | ||
PCT/EP2021/056100 WO2021180812A1 (en) | 2020-03-12 | 2021-03-10 | Virtual machine perfect forward secrecy |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115280312A true CN115280312A (zh) | 2022-11-01 |
Family
ID=74873751
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180020331.XA Pending CN115280312A (zh) | 2020-03-12 | 2021-03-10 | 虚拟机完全前向保密 |
Country Status (8)
Country | Link |
---|---|
US (1) | US11570153B2 (zh) |
EP (1) | EP4118546A1 (zh) |
CN (1) | CN115280312A (zh) |
AU (1) | AU2021236350B2 (zh) |
CA (1) | CA3165142C (zh) |
DE (1) | DE112021000361T5 (zh) |
IL (1) | IL295006A (zh) |
WO (1) | WO2021180812A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20230063508A (ko) * | 2021-11-02 | 2023-05-09 | 삼성전자주식회사 | 멀티 테넌시를 지원하는 스토리지 장치 및 이의 동작 방법 |
CN117421118B (zh) * | 2023-10-27 | 2024-06-21 | 海光信息技术股份有限公司 | 安全内存分配、释放和相关配置方法、设备 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8627112B2 (en) | 2010-03-30 | 2014-01-07 | Novell, Inc. | Secure virtual machine memory |
US9069782B2 (en) | 2012-10-01 | 2015-06-30 | The Research Foundation For The State University Of New York | System and method for security and privacy aware virtual machine checkpointing |
US9529692B2 (en) | 2013-06-07 | 2016-12-27 | Apple Inc. | Memory management tools |
US9355256B2 (en) | 2013-07-24 | 2016-05-31 | International Business Machines Corporation | Sanitization of virtual machine images |
WO2018209138A1 (en) | 2017-05-10 | 2018-11-15 | Mine Zero Gmbh | Secure telecommunications and transactional platform |
US9667606B2 (en) * | 2015-07-01 | 2017-05-30 | Cyphermatrix, Inc. | Systems, methods and computer readable medium to implement secured computational infrastructure for cloud and data center environments |
CN107038128B (zh) * | 2016-02-03 | 2020-07-28 | 华为技术有限公司 | 一种执行环境的虚拟化、虚拟执行环境的访问方法及装置 |
US10574692B2 (en) | 2016-05-30 | 2020-02-25 | Christopher Nathan Tyrwhitt Drake | Mutual authentication security system with detection and mitigation of active man-in-the-middle browser attacks, phishing, and malware and other security improvements |
-
2020
- 2020-03-12 US US16/816,467 patent/US11570153B2/en active Active
-
2021
- 2021-03-10 AU AU2021236350A patent/AU2021236350B2/en active Active
- 2021-03-10 CA CA3165142A patent/CA3165142C/en active Active
- 2021-03-10 DE DE112021000361.5T patent/DE112021000361T5/de active Pending
- 2021-03-10 IL IL295006A patent/IL295006A/en unknown
- 2021-03-10 WO PCT/EP2021/056100 patent/WO2021180812A1/en active Application Filing
- 2021-03-10 CN CN202180020331.XA patent/CN115280312A/zh active Pending
- 2021-03-10 EP EP21711841.3A patent/EP4118546A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2021180812A1 (en) | 2021-09-16 |
EP4118546A1 (en) | 2023-01-18 |
KR20220134762A (ko) | 2022-10-05 |
CA3165142C (en) | 2024-05-14 |
AU2021236350B2 (en) | 2024-01-18 |
CA3165142A1 (en) | 2021-09-16 |
US11570153B2 (en) | 2023-01-31 |
IL295006A (en) | 2022-09-01 |
US20210288943A1 (en) | 2021-09-16 |
DE112021000361T5 (de) | 2022-09-29 |
AU2021236350A1 (en) | 2022-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6837414B2 (ja) | 仮想マシン再配置プロトコルの生成を含む方法、仮想マシン再配置を容易にするためのシステムおよびプログラム | |
US10073747B2 (en) | Reducing recovery time in disaster recovery/replication setup with multitier backend storage | |
US9678681B2 (en) | Secured multi-tenancy data in cloud-based storage environments | |
CN109906597B (zh) | 向和从云网络中存储和取回受限制的数据集和非受限制的数据集 | |
US10216429B2 (en) | Performing post-processing operations for log file writes | |
US10361995B2 (en) | Management of clustered and replicated systems in dynamic computing environments | |
US9164856B2 (en) | Persistent messaging mechanism | |
CN114556310A (zh) | 数据存储系统中的垃圾收集 | |
US20180307517A1 (en) | Virtual machine management | |
US20200379653A1 (en) | Reclaiming free space in a storage system | |
US20220317912A1 (en) | Non-Disruptively Moving A Storage Fleet Control Plane | |
CN111656325B (zh) | 在按时间排序的日志结构化键-值存储系统中从故障快速恢复 | |
AU2021236350B2 (en) | Virtual machine perfect forward secrecy | |
US10884818B2 (en) | Increasing processing capacity of virtual machines | |
CN116034347A (zh) | 数据的逻辑损坏保护 | |
JP2023537282A (ja) | 論理破損保護を維持した状態でのデータ・ストレージ・トラックの解放 | |
CN112513855B (zh) | 加密数据的安全操作 | |
CN114661420B (zh) | 基于Kubernetes容器平台的应用保护方法、装置及系统 | |
KR102703040B1 (ko) | 가상 머신 완전 순방향 비밀성 | |
CN115485677A (zh) | 在分布式数据存储环境中的安全数据复制 | |
CN111656331A (zh) | 来自垃圾收集期间的故障的按时间排序的日志结构化键-值储存库 | |
CN118369653A (zh) | 边缘云应用备份 | |
CN115485664A (zh) | 基于异步主机文件系统的数据复制 | |
WO2021067110A1 (en) | Dynamic provisioning of encrypted container storage | |
CN110955489A (zh) | 用于可靠地恢复虚拟机的方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |