CN104246789B - 用于虚拟机的日志结构化卷加密 - Google Patents

用于虚拟机的日志结构化卷加密 Download PDF

Info

Publication number
CN104246789B
CN104246789B CN201380019961.0A CN201380019961A CN104246789B CN 104246789 B CN104246789 B CN 104246789B CN 201380019961 A CN201380019961 A CN 201380019961A CN 104246789 B CN104246789 B CN 104246789B
Authority
CN
China
Prior art keywords
data
key
data key
volume
control list
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.)
Active
Application number
CN201380019961.0A
Other languages
English (en)
Other versions
CN104246789A (zh
Inventor
A·卡达施
M·A·哈尔克劳
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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of CN104246789A publication Critical patent/CN104246789A/zh
Application granted granted Critical
Publication of CN104246789B publication Critical patent/CN104246789B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • 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/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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
    • H04L63/0435Network 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 wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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
    • H04L63/0478Network 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 applying multiple layers of encryption, e.g. nested tunnels or encrypting the content with a first key and then with at least a second key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • 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/2101Auditing as a secondary aspect
    • 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/2137Time limited access, e.g. to a computer or data
    • 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/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Abstract

一种用于提供数据的方法、系统和装置。该方法包括:从第一虚拟机(VM1)接收用于存储第一数据的第一请求,获得第一数据和授权用户的访问控制列表(ACL),获得第一数据密钥和第一数据密钥标识符,用所述第一数据密钥对第一数据进行加密,对第一数据密钥和ACL进行加密以生成卷包的blob,存储卷包的blob和加密的第一数据,并且向在ACL上的一个或者多个用户提供第一数据密钥标识符。该方法还包括从第二虚拟机(VM2)接收对于第一数据的快照的第二请求、包括做出该请求的用户的标识,对卷包的blob进行解密,获得第一数据,按照ACL对该用户进行认证和授权,使用第一数据密钥对加密的第一数据进行解密,并且提供解密的第一数据的快照。

Description

用于虚拟机的日志结构化卷加密
有关申请的交叉引用
本申请要求对通过引用将公开内容结合于此、标题为LOG STRUCTURED VOLUMEENCRYPTION FOR VIRTUAL MACHINES、提交于2012年2月24日的第13/405,036号美国申请的优先权。
技术领域
本说明书涉及安全数据存储,并且具体地涉及用于虚拟机的安全数据存储。
背景技术
云计算是基于网络的计算,其中在数据中心或者“服务器群”中容纳的通常大型的服务器汇集根据需要向远程终端用户提供计算资源和数据存储。一些云计算服务允许终端用户在云中运行用户提供的服务器软件应用(例如电子商务服务器应用、web服务器或者文件服务器)。一些其它云计算服务向通过web浏览器或者其它客户端侧软件利用软件应用、比如字处理器和其它常用应用的终端用户提供对这些应用的访问。用户的电子数据文件通常存储于服务器群中而不是用户的个人计算设备上。
发明内容
一般而言,可以在包括一种用于数据加密的方法的一个或者多种数据处理装置实施的方法中体现在本文中描述的主题内容的一个方面。该方法包括从第一虚拟机接收用于在日志结构化卷中存储数据的第一请求。该方法还包括基于第一请求来获得数据和被授权访问数据的一个或者多个用户的访问控制列表。该方法还包括获得具有数据密钥标识符的数据密钥。该方法还包括使用一个或者多个数据处理装置、使用卷包密钥对数据密钥和访问控制列表进行加密以生成卷包的blob。该方法还包括使用一个或者多个数据处理装置、使用数据密钥对数据进行加密以生成加密的数据。该方法还包括在日志结构化卷中存储卷包的blob和加密的数据。该方法还包括向在访问控制列表上的一个或者多个用户提供数据密钥标识符。该方法还包括从第二虚拟机接收对于获得数据的快照的第二请求。该方法还包括基于第二请求获得包含数据密钥和访问控制列表的未卷包的blob。该方法还包括从未卷包的blob获得数据密钥和访问控制列表。该方法还包括认证与第二请求关联的用户并且按照访问控制列表向用户授权。该方法还包括在确定用户被认证和授权时使用一个或者多个数据处理装置、使用数据密钥对数据进行解密。该方法还包括向第二虚拟机提供数据的快照。
实现方式可以包括以下特征中的一个或者多个特征。该方法还包括确定与数据在日志结构化卷上的存储关联的阈值条件已经出现。该方法还包括获得用新的数据密钥标识符标识的新的数据密钥、使用数据密钥对数据进行解密、使用卷包密钥对新的数据密钥和访问控制列表进行加密以生成新的卷包的blob、使用新的数据密钥对数据进行加密以生成加密的数据、在日志结构化卷中存储新的卷包的blob和加密的数据、向在访问控制列表上的一个或者多个用户提供新的数据密钥标识符并且防止数据密钥的后续使用。阈值条件包括数据密钥保护的数据量。数据密钥保护的数据量是累计数量。数据密钥保护的数据量是当前数量。阈值条件包括数据密钥已经被使用的持续时间。该方法还包括审核对数据的访问并且确定数据已经被不在访问控制列表上的用户访问并且数据密钥已经被破解。该方法还包括获得用新的数据密钥标识符标识的新的数据密钥、使用数据密钥对数据进行解密、使用卷包密钥对新的数据密钥和访问控制列表进行加密以生成新的卷包的blob、使用新的数据密钥对数据进行加密以生成加密的数据、在日志结构化卷中存储新的卷包的blob和加密的数据、向在访问控制列表上的一个或者多个用户提供新的数据密钥标识符并且防止数据密钥的后续使用。存储加密的数据包括压缩加密的数据。
另一方面,一种系统可以包括一个或者多个被编程为执行操作的数据处理装置。操作包括从第一虚拟机接收用于在日志结构化卷中存储数据的第一请求。操作还包括基于第一请求来获得数据和被授权访问数据的一个或者多个用户的访问控制列表。操作还包括获得具有数据密钥标识符的数据密钥。操作还包括使用卷包密钥对数据密钥和访问控制列表进行加密以生成卷包的blob。操作还包括使用数据密钥对数据进行加密以生成加密的数据。操作还包括在日志结构化卷中存储卷包的blob和加密的数据。操作还包括向在访问控制列表上的一个或者多个用户提供数据密钥标识符。操作还包括从第二虚拟机接收对于获得数据的快照的第二请求。操作还包括基于第二请求获得包含数据密钥和访问控制列表的未卷包的blob。操作还包括从未卷包的blob获得数据密钥和访问控制列表。操作还包括认证与第二请求关联的用户并且按照访问控制列表向用户授权。操作还包括在确定用户被认证和授权时使用数据密钥对数据进行解密。操作还包括向第二虚拟机提供数据的快照。
实现方式可以包括以下特征中的一个或者多个特征。操作还包括:确定与数据在日志结构化卷上的存储关联的阈值条件是否已经出现。操作还包括:获得用新的数据密钥标识符标识的新的数据密钥、使用数据密钥对数据进行解密、使用卷包密钥对新的数据密钥和访问控制列表进行加密以生成新的卷包的blob、使用新的数据密钥对数据进行加密以生成加密的数据、在日志结构化卷中存储新的卷包的blob和加密的数据、向在访问控制列表上的一个或者多个用户提供新的数据密钥标识符并且防止数据密钥的后续使用。阈值条件包括数据密钥保护的数据量。数据密钥保护的数据量是累计数量。数据密钥保护的数据量是当前数量。阈值条件包括数据密钥已经被使用的持续时间。操作还包括审核对数据的访问并且确定数据已经被不在访问控制列表上的用户访问并且数据密钥已经被破解。操作还包括获得用新的数据密钥标识符标识的新的数据密钥、使用数据密钥对数据进行解密、使用卷包密钥对新的数据密钥和访问控制列表进行加密以生成新的卷包的blob、使用新的数据密钥对数据进行加密以生成加密的数据、在日志结构化卷中存储新的卷包的blob和加密的数据、向在访问控制列表上的一个或者多个用户提供新的数据密钥标识符并且防止数据密钥的后续使用。存储加密的数据包括压缩加密的数据。
另一方面,一种存储介质具有在其上存储的指令,指令在被执行时使数据处理装置执行操作。操作包括从第一虚拟机接收用于在日志结构化卷中存储数据的第一请求并且基于第一请求来获得数据和被授权访问数据的一个或者多个用户的访问控制列表。操作还包括获得具有数据密钥标识符的数据密钥。操作还包括使用卷包密钥对数据密钥和访问控制列表进行加密以生成卷包的blob。操作还包括使用数据密钥对数据进行加密以生成加密的数据。操作还包括在日志结构化卷中存储卷包的blob和加密的数据。操作还包括向在访问控制列表上的一个或者多个用户提供数据密钥标识符。操作还包括从第二虚拟机接收对于获得数据的快照的第二请求并且基于第二请求获得包含数据密钥和访问控制列表的未卷包的blob。操作还包括从未卷包的blob获得数据密钥和访问控制列表。操作还包括认证与第二请求关联的用户并且按照访问控制列表向用户授权并且在确定用户被认证和授权时使用数据密钥对数据进行解密。操作还包括向第二虚拟机提供数据的快照。
实现方式可以包括以下特征中的一个或者多个特征。操作还包括:确定与数据在日志结构化卷上的存储关联的阈值条件是否已经出现。操作还包括获得用新的数据密钥标识符标识的新的数据密钥、使用数据密钥对数据进行解密、使用卷包密钥对新的数据密钥和访问控制列表进行加密以生成新的卷包的blob、使用新的数据密钥对数据进行加密以生成加密的数据、在日志结构化卷中存储新的卷包的blob和加密的数据、向在访问控制列表上的一个或者多个用户提供新的数据密钥标识符并且防止数据密钥的后续使用。阈值条件包括数据密钥保护的数据量。数据密钥保护的数据量是累计数量。数据密钥保护的数据量是当前数量。阈值条件包括数据密钥已经被使用的持续时间。操作还包括审核对数据的访问并且确定数据已经被不在访问控制列表上的用户访问并且数据密钥已经被破解。操作还包括获得用新的数据密钥标识符标识的新的数据密钥、使用数据密钥对数据进行解密、使用卷包密钥对新的数据密钥和访问控制列表进行加密以生成新的卷包的blob、使用新的数据密钥对数据进行加密以生成加密的数据、在日志结构化卷中存储新的卷包的blob和加密的数据、向在访问控制列表上的一个或者多个用户提供新的数据密钥标识符并且防止数据密钥的后续使用。存储加密的数据包括压缩加密的数据。
可以实施在本文中描述的主题内容的具体实施例以便实现以下优点中的一个或者多个优点。在一些实现方式中,基本卷密钥可以用来在基本卷的基础上对持久数据进行加密。与持久数据关联的每个快照集合在一些实现方式中可以具有与它关联的快照组密钥。这些类型的密钥——包括用来访问在持久盘中的内容的基本卷密钥和快照组密钥(例如对称密钥)——可以称为持久盘密钥或者这里称为数据密钥。在一些实现方式中,可以基于两个认证来预测对任何数据密钥的访问:用于云群集访问的第一认证和用于用户级访问、例如用于在与数据和数据密钥关联的访问控制列表(ACL)中标识的用户或者主体的第二认证。在一些实现方式中,这些认证特征可以对于所有盘默认生效,并且特征不能例如被可能尝试对数据的未授权或者未审核的访问的用户停用。
在一些实现方式中,可以使用单个随机生成的密钥来保护短暂数据(例如未被确保在重新启动期间保留的数据),该密钥用来保护在用于任何给定的VM主机的所有块设备上的数据。例如数据密钥可能是用于在保存和恢复操作期间存储的VM状态的短暂数据所需要的。密钥可以仅存在于存储器中并且可能未被写入到盘(例如在交换期间)。在一些实现方式中,内核级过程可以抹去包含密钥材料的存储器。例如无论何时不再使用或者不再需要密钥(例如在VM过程关停时),内核级过程可以抹去在过程终止时间在过程存储器中的任何密钥信息。在一些实现方式中,这些特征可以默认有效而不能被停用。
在一些实现方式中,加密可以对于在VM保存状态操作期间向盘写入的存储器内容而出现。例如用来保护向盘写入的加密的数据的任何密钥材料可以被密钥管理系统(例如密钥存储部件)卷包。密钥管理系统还可以在执行涉及到存储VM状态信息的操作时管理密钥卷包和去卷包操作。
在一些实现方式中,可以对于在日志结构化卷上管理的每个映像集合生成唯一的数据密钥集。例如每个密钥可以利用访问控制列表(ACL)来卷包,该ACL用于具有对数据的访问的每个用户或者主体,并且可以仅向那些用户释放数据密钥。在一些实现方式中,通过加密而保护的数据的每个快照可以包括包含元数据的块(例如第一个块),元数据包括卷包的数据密钥卷包器和关联的ACL。一些实现方式还可以运用“主控密钥”,云群集授权服务的过程使用该主控密钥以访问加密的数据。
在一些实现方式中,密钥管理系统可以处置密钥共享。例如单个数据密钥可以被与用ACL标识为具有对受保护的数据的访问的若干用户关联的VM并行使用。在一些实现方式中,密钥管理系统可以执行其它操作、比如密钥旋转、引退和测绘,以下参照图5A-5C描述用于这些操作的过程。
在附图和以下描述中阐述在本说明书中描述的主题内容的一个或者多个实施例的细节。主题内容的其它特征、方面和优点将从说明书、附图和权利要求中变得清楚。
附图说明
图1示出包括多个虚拟机实例的分布式系统的示例。
图2A图示用于由虚拟机创建和和访问的数据的数据加密的示例操作序列。
图2B、2C和3是图示在加密/解密期间用于密钥管理技术的示例操作序列的图。
图4是示出用于分组去封装的技术的示例的流程图。
图5A是示出用于在虚拟机上使用的数据密钥的示例密钥旋转过程的流程图。
图5B是示出用于在虚拟机上使用的数据密钥的示例密钥引退过程的流程图。
图5C是示出用于在虚拟机上使用的数据密钥的密钥撤回过程的示例的流程图。
图6示出用于被配置为运行虚拟机的分布式系统的联网架构的示例。
在各个附图中,相似的标号和标示指示相似的要素。
具体实施方式
本文描述用于对在虚拟机(VM)中、例如在其中多个VM存在的“基于云”或者“云群集”计算中使用的数据进行加密的系统、方法和装置。例如这里描述的加密技术可以用于对持久数据(例如在云中存储的数据)、短暂数据(例如在VM中使用的持久数据的快照)和在从存储器中存储的数据进行加密。例如持久存储装置可以包括超出VM的寿命持续的存储装置,而短暂存储装置可以包括在VM终止时消失的存储装置。在一些实施例中,这里描述的加密技术可以用于日志结构化卷(LSV)文件系统,这些LSV文件系统是被设计用于高写入吞吐量的文件系统,并且在这些LSV文件系统中,对数据和元数据的更新被依次写入到连续流(例如“日志”)。
在一些实现方式中,可以取代LSV系统或者除了LSV系统之外还使用其它存储系统。例如可以使用将后端存储系统视为黑盒子的存储系统。其它存储系统是可能的。
在更多实现方式中,可以从除了虚拟机之外的源接收请求。例如实现方式可以在用户应用与密钥/数据管理系统、例如其中存储装置经由网络、例如使用因特网小型计算机系统接口(iSCSI)协议或者其它手段、比如传统存储区域网络(SAN)附着到客户端的系统之间提供安全屏障。在这一示例中,客户端和服务器部件可以被网络屏障分离,但是无需使用虚拟机。
图1示出包括多个虚拟机实例的分布式系统101的示例。分布式系统101可以在主机机器102、104上运行虚拟机(VM)110、112、114。分布式系统101的单元可以驻留在相同或者不同物理位置。例如,第一主机机器102可以驻留在第一数据中心中,而第二主机机器104可以驻留在第二数据中心中。在一些实现方式中,这些数据中心可以位于不同州、国家或者二者中。
在一些实现方式中,分布式系统101可以向虚拟机110、112、114提供虚拟网络用于基于网际协议(IP)的通信。VM 110、112、114被指派在虚拟网络上可路由的网络地址(例如IPv4地址或者IPv6地址)。在一些实现方式中,虚拟网络包括专用子网(例如192.168.0.0/16、10.0.0.0/8)。
在分布式系统101中包括的主机机器102、104可以包含一个或者多个数据处理装置、比如架装服务器或者其它计算设备。主机机器102、104可以具有不同能力和计算机架构,并且可以位于相同或者不同地理位置中。主机机器102、104可以通过网络、比如专用网络116(例如专用或者租赁光纤或者铜线)相互通信。主机机器102、104也可以通过一个或者多个网关120与在外部网络、比如因特网122上的设备通信,该一个或者多个网关是负责路由在专用网络116与因特网122之间的数据通信流量的数据处理装置。其它类型的外部网络是可能的。
专用网络116可以例如包括一个或者多个有线(例如因特网)或者无线(例如WI-FI)网络。在一些实现方式中,专用网络116包括连接两个数据中心的物理通信资产、比如光纤或者铜线。在一些实现方式中,在外部网络、比如因特网122之上实施专用网络116。在一些实现方式中,数据中心具有聚合在一起以形成专用网络116的相应的局域网(LAN)。可以例如通过使用多协议标签切换(MPLS)来路由在数据中心之间的IP流量。其它类型的路由是可能的。
每个主机机器102、104执行主机操作系统(例如主机操作系统106和109)。每个主机操作系统106、108管理主机机器资源。在这一示例中,主机操作系统106、108运行如下软件,该软件虚拟化下层主机机器硬件并且管理一个或者多个VM的并行执行。例如,主机操作系统106管理两个VM(VM 110和VM 112),而不同的主机操作系统108管理单个VM 114。主机机器通常可以管理更大数量的虚拟机。然而可以基于主机机器的物理资源限制该数量。
VM 110、112、114使用下层主机机器硬件的可以称为虚拟硬件(例如虚拟硬件110a、112a和114a)的仿真版本。虚拟硬件执行的软件可以称为客户软件。在一些实现方式中,客户软件不能确定他是否正在被虚拟硬件或者物理主机机器执行。如果在VM中执行的客户软件或者VM本身出故障或者放弃,则不会影响在主机机器上执行的其它VM。主机机器的微处理器可以包括用于使虚拟硬件能够通过允许客户软件指令在主机机器的微处理器上被直接执行而无需代码重新编写、重新编译或者指令模拟来高效地执行软件应用的处理器级机制。
每个VM(例如VM 110、112和114)从下层主机操作系统的虚拟存储器被分配虚拟存储器页面集合并且从一个或者多个虚拟盘驱动被分配虚拟盘块用于由在VM上执行的客户软件使用。例如主机操作系统106向VM 110和VM 112分配存储器页面和盘块,并且主机操作系统108为VM 114同样如此。在一些实现方式中,给定的VM不能访问向其它VM指派的虚拟存储器页面。例如VM 110不能访问已经向VM 112指派的存储器页面。虚拟盘驱动可以是跨越VM重启而持续的。在一些实现方式中,在耦合到主机机器的物理盘驱动上分配虚拟盘块。VM可以被分配网络地址,它们的相应过程可以通过这些网络地址经由虚拟网络与其它过程通信。例如在VM 110上执行的客户软件可以使用分配的网络地址经由虚拟网络与在VM112或者VM 114上执行的客户软件通信。
VM的客户软件可以包括客户操作系统(例如客户操作系统110b、112b和114b),该客户操作系统是如下软件,该软件控制相应客户软件应用(例如客户应用110c、112c和114c)在VM内的执行并且向那些应用提供服务。例如客户操作系统可以是操作系统、比如UNIX操作系统的变体。其它操作系统是可能的。每个VM可以执行相同客户操作系统或者不同客户操作系统。引导VM可以包括使用虚拟引导盘以将与客户操作系统关联的内核映像加载到存储器中。客户操作系统对资源、比如网络和虚拟盘存储装置的访问由下层主机操作系统控制。
举例而言并且参照虚拟机110,在客户应用110c或者客户操作系统110b例如尝试对虚拟盘执行输入/输出操作、发起网络通信或者执行权限操作时,虚拟硬件110a被中断,从而主机操作系统106可以代表虚拟机110执行动作。主机操作系统106可以用在内核过程空间106b、用户过程空间106a或者二者中执行的过程来执行这些动作。
内核过程空间106b是为主机操作系统106的内核106d保留的虚拟存储器,该内核例如可以包括内核扩展和设备驱动。内核过程空间具有提高的权限(有时称为“管理程序模式”);也就是说,内核106d可以执行某些权限操作,这些权限禁止在用户过程空间106a中运行的过程。权限操作的示例包括对不同地址空间的访问、对在主机机器中的特殊功能处理器单元、比如存储器管理单元的访问等。用户过程空间106a是为用户模式过程而保留的分离虚拟存储器部分。用户模式过程不能直接自动权限操作。
在各种实现方式中,在通信过程(例如通信过程106c)中实施VM网络通信功能部分。在一些实现方式中,通信过程在主机操作系统(例如主机操作系统106)的用户过程空间(例如用户过程空间106a)中执行。在其它实现方式中,通信过程可以在主机操作系统的内核过程空间(例如内核过程空间106d)中执行。可以有用于在主机机器上执行的所有VM的单个通信过程,或者可以有多个通信过程,一个通信过程用于在主机机器上执行的每个VM。在进而更多实现方式中,通信过程的某个部分在用户过程空间中执行,而另一部分在内核过程空间中执行。在一些实现方式中,通信过程可以使用硬件级封装机制。
通信过程106c、108c可以与VM注册服务118通信以在两个VM之间建立虚拟网络对(VNP)。在虚拟网络中,VNP可以用来使用一个或者多个虚拟连接或者链路路由在两个端点之间的流量。可以经由本地回路(例如如果两个VM在相同主机机器上)输送或者经由一个或者多个网络、比如专用网络116、因特网122或者其组合输送与VNP关联的网络流量。例如在虚拟机110与虚拟机114之间的VNP可以用来通过专用网络116来路由在第一和第二通信过程106c、108c分别管理的VNP端点之间发送的分组。在一些实现方式中,服务器、比如VM注册服务器实施VM注册服务的功能。VM注册服务118可以管理向VM指派网络地址(例如IP地址)并且维持在虚拟网络上的VM网络地址与运行VM的主机机器的相应网络地址之间的映射。
图2A图示在系统200中用于VM创建和访问的数据的数据加密的操作的示例序列。在一些实现方式中,系统200包括多个VM、例如VM A 202和VM B 204以及提供对数据的访问的服务器系统206。在一些实现方式中,服务器系统206被配置为运行在虚拟网络上通信的VM。例如VM被指派在虚拟网络上的网络地址。在一些实现方式中,服务器系统206使用分离隧道以实现在虚拟网络上向相应虚拟机递送分组。在一些实现方式中,环境200包括密钥管理系统208,该密钥管理系统指派在加密/解密中使用的密钥(例如使用随机密钥生成技术)、关联数据密钥标识符与密钥并且在卷包器中卷包密钥。如这里所用术语“卷包”和“卷包的”涵盖它们的字面和普通含义、包括但不限于对密钥进行加密的动作。另外,在对除了仅密钥之外进行加密时,该整个结构常称为“卷包的blob”。可以通过关联元数据来“卷包”加密的用户数据,该元数据包含用于对具体数据块进行加密的加密细节(例如加密算法、加密密钥索引、认证标签等)。为了清楚而不失一般性,术语“数据卷包器”还将用来标示可以或者可以未一起存储的加密的数据和加密元数据的这样的组合。
在一些实现方式中,用于虚拟机的虚拟机管理器可以使用库以与例如在主机的第三个环(或者无权限应用域)中执行的LSV子系统交互。例如代码可以动作以提供服务器系统206的作用。
一般而言,数据密钥标识符唯一地标识密钥。可以用各种方式生成数据密钥标识符。在一些实现方式中,密钥管理系统208的方法可以使用密钥材料的哈希和基于密钥类型来生成密钥标识符。在一些实现方式中,可以使用其它生成密钥标识符的方式。
在一些实现方式中,服务器系统206从第一VM(例如VM A 202)接收用于在日志结构化卷中存储数据的第一请求210。基于该请求,服务器系统206生成212数据密钥并且请求213按照被授权访问数据的一个或者多个用户的访问控制列表(ACL)来卷包数据密钥。例如可以由用户授权系统(例如单个签约系统)提供ACL。在一些实现方式中,密钥管理系统208向服务器系统206提供214包括卷包的密钥的卷包的blob。服务器系统206使用数据密钥对数据216进行加密并且在日志结构化卷中存储加密的数据和卷包的blob。服务器系统206向在访问控制列表上的一个或者多个用户、例如与VM A 202和VM B 204关联的用户提供218数据密钥标识符。
服务器系统206从第二虚拟机(例如VM B 204)接收对于获得数据的快照的第二请求220。基于第二请求,服务器系统206将卷包的blob与证书一起发送221给密钥管理系统208。密钥管理系统208使用它的卷包密钥、例如主控密钥对blob进行解密、取回密钥及其关联ACL并且向服务器系统206提供222未卷包的blob。如果证书按照在关联ACL中的用于请求的密钥的标识来认证224,则密钥管理系统208向服务器系统206返回该密钥226,该服务器系统使用数据密钥对数据228进行解密并且向第二虚拟机(例如VM B 204)提供数据的快照230。
图2B、2C和3是图示分别用于在加密/解密期间的密钥管理技术的示例操作序列240a-240c的图。可以通过例如使用用来直接保护盘和VM保存状态内容的对称密钥来使用这些技术。在一些实现方式中,可以使用密钥管理系统的卷包和去卷包函数、例如使用由密钥存储库生成并且在密钥存储库中维持的数据密钥来管理数据密钥。在一些实现方式中,数据密钥被密钥材料的使用基于密钥类型的方法而生成的哈希引用。
可以例如在包括用户242、应用编程接口(API)244和被用户242用来例如使用API244来签约到VM上的用户授权246的环境中执行操作240a。在一些实现方式中,密钥生成器248生成和卷包在密钥存储库250中存储的数据密钥。
参照图2B中所示序列240a,在用户242创建数据(例如持久数据)时,API 244例如从远程设备接收访问令牌258。可以例如用来自VM的用于在日志结构化卷中存储数据的请求来包括数据。向用户授权246转发访问令牌258,该用户授权生成向API 244传递回的用户证书260。用户证书例如包括标识被授权访问数据的一个或者多个用户的访问控制列表(ACL)。密钥生成器248接收用户证书260并且生成用来在数据存储于日志结构化卷中之前对数据进行加密的用户密钥262。密钥262然后被卷包以产生卷包的密钥264。产生密钥资源266,该密钥资源包括数据密钥标识符和数据密钥卷包器(例如卷包的密钥264)。数据密钥卷包器包含用数据密钥标识符标识的数据密钥。数据密钥卷包器还包含标识被授权访问数据的用户的ACL。
参照图2C,序列240包括利用用于访问在云内的受保护的数据的用户密钥进行去卷包。例如在创建VM(例如由相同或者不同用户)时,API 244例如从远程设备接收访问令牌270。在这一示例中,访问令牌270与用户242对于访问数据的快照的请求关联。数据令牌270被转发到提供用户证书272的用户授权246。用户证书272和密钥资源266(包括卷包的密钥264)被传递到密钥生成器248。在验证用户被授权访问数据时,卷包的密钥264被去卷包(例如在密钥存储库250)从而产生用户密钥262。基于云的证书268和基于云的密钥274被提供给创建卷包的密钥276的密钥存储库250。
参照图3,序列240c包括使用基于云的卷包的密钥272以获得对在云中的受保护的数据的访问。例如卷包的密钥272和基于云的证书268被提供给调解器252。如果请求访问受保护的数据的用户242被授权访问数据,则卷包的密钥276被去卷包(例如由密钥存储库250)以提供去卷包的密钥274。在一些实现方式中,密钥使用过程278使用去卷包的密钥274以对数据进行解密用于在VM上由用户242访问。
在一些实现方式中,调解器252包括如下过程,这些过程维护与用户对在VM上的数据的访问对应的长寿命授权访问令牌。调解器252可以根据需要请求访问令牌以对密钥进行去卷包。例如调解器252可以使用它的授权服务作用证书以让密钥存储库250对按照云群集作用而被卷包的数据密钥进行去卷包。
在一些实现方式中,密钥存储库250使用授权服务证书以获得对主控密钥的访问。例如主控密钥可以用来对卷包的密钥进行解密以局部地揭示与密钥关联的ACL。密钥存储库250然后可以验证与访问令牌(例如访问令牌270)对应的标识在ACL中具有条目以允许访问它的对应密钥。这时,密钥存储库250可以向复制器过程返回密钥,只要VM活跃,该复制器过程将关联密钥与存储设备。复制器可以继续使用与在访问持久盘的过程中用于访问新的密钥所需要的访问令牌相同的访问令牌。在访问令牌到期时,复制器可以请求新的访问令牌。一旦不再需要密钥或者令牌,保持密钥或者令牌的任何过程然后可以卷包该包含存储器。
在一些实现方式中,日志结构化卷(LSV)确定是否在读取时对数据进行解密(例如如果它是否已经被解密)并且总是在写入时对数据进行加密。在一些实现方式中,LSV在元数据块内维持关于每个块的加密状态的信息。LSV管理工具还处置ACL或者在快照边界上的其它密码性质改变。例如在快照密码性质改变时,在新快照中自动更新改变。在一些实现方式中,与任何给定的快照关联的密码元数据驻留在在数据块内存储的快照元数据段中。对于涉及到对数据密钥的修改(例如用于密钥旋转、引退等)的快照,密钥管理工具生成新的卷包的密钥。在一些实现方式中,从先前快照设置的卷包密钥被复制到用于当前快照的元数据。
一些实现方式使用未记录的安全调用和/或事务来传递秘密密钥材料。例如使用安全调用可以防止秘密密钥材料在日志、监视工具或者与标准调用和事务关联的其它资源中出现。另外,对于关联和维护密钥信息(例如密钥状态缓冲器)与盘的过程,密钥信息不包括秘密密钥材料、但是仅提供关于密钥的元数据、包括密钥类型和密钥标识符。
在一些实现方式中,在内部管理的高速缓存中维护包括秘密密钥材料的密钥状态对象。例如在起动新的VM实例时,首先使用安全调用在高速缓存中传递所有秘密密钥材料作为VM验证。系统过程然后向构成VM的盘添加其秘密密钥材料被擦去的密钥状态对象。在系统过程发送VM规范作为VM创建的部分时,使用密钥标识符向VM规范中注入先前接收的秘密密钥材料以匹配密钥材料。
图4是示出用于对用于虚拟机的数据进行加密的示例过程400的流程图。例如过程400可以由参照图2A描述的服务器系统206执行。
在402,从第一虚拟机接收用于在日志结构化卷中存储数据的第一请求。作为示例,服务器系统206可以从第一VM(例如VM A 202)接收请求210。该请求可以是存储数据、比如用户(例如用户A)在VM A 202上创建的新创建的数据文件(例如记账电子表格)。
在404,基于该请求,获得数据和被授权访问该数据的一个或者多个用户的访问控制列表(ACL)。例如服务器系统206可以从正在访问VM的用户设备接收待存储的数据(例如记账电子表格)。同时,服务器系统206可以接收ACL,该ACL标识被授权访问数据的用户(例如用户A、B和C)。
在406,获得用数据密钥标识符标识的数据密钥。例如密钥管理系统208可以生成用由密钥管理系统208指派的数据密钥标识符标识的数据密钥(例如加密密钥)。
在407,使用卷包密钥对数据密钥和访问控制列表进行加密以生成卷包的blob。在408,使用数据密钥对数据进行加密以生成加密的数据。在409,在日志结构化卷中存储卷包的blob和加密的数据。作为示例,服务器系统206可以在LSV上存储每项。
在410,向在访问控制列表上的一个或者多个用户提供数据密钥标识符。例如服务器系统206可以向被授权访问数据的所有用户、例如在与数据关联的ACL上的所有用户提供所提供的数据密钥。
在412,从第二虚拟机接收对于获得数据的快照的第二请求。作为示例,相同用户(例如用户A)或者不同用户(例如用户B)可以发送对于获得记账电子表格的副本的请求。该请求可以包括数据密钥标识符和做出该请求的用户的标识。
在414,基于第二请求,获得包含数据密钥和访问控制列表的去卷包的blob。在415,从去卷包的blob获得数据密钥和访问控制列表。例如使用数据密钥标识符,服务器系统206可以从自密钥管理系统208请求和接收数据密钥卷包器。
在416,认证与第二请求关联的用户,按照访问控制列表向用户授权,并且确定用户是否被认证和授权。作为示例,服务器系统206可以按照ACL校验与请求关联的用户证书(例如用户标识)以验证用户(例如用户B)被授权访问记账电子表格。
在418,在确定用户被认证和授权,使用数据密钥对数据进行解密。例如,如果用户B被标识为在ACL上,则服务器系统206可以使用数据密钥对记账电子表格进行解密。
在420,向第二虚拟机提供数据的快照。作为示例,服务器系统206可以向用户B提供记账电子表格用于在用户B的VM上使用。
除了密钥材料的加密/解密之外,过程400执行的加密和解密也可以在个别块基础上出现。在一些实现方式中,可以使用并行地密码变换数据组块的多线程引擎来实施加密/解密。
在一些实现方式中,固定线程池可以用于并行块加密和解密。例如默认数目的线程可以等于在主机(例如服务器系统206)上的该数目的检测到的CPU。在一些实现方式中,I/O线程可以使用固定存储器段作为阴影缓冲器。然后,在用于密码变换数据的时间到来时,段可以被划分成用于在密码变换线程池中的个别线程的组块。在一些实现方式中,默认组块大小可以是512KB或者某个其它可配置大小。
在一些实现方式中,位图可以用来在增量盘基础上跟踪盘的加密。例如块可以包括未加密的块,这些未加密的块不包含来自未加密的基础图像的任何数据(稀疏)或者块。在块被写入和加密时,可以更新位图。位图机制可以例如仅用于暂时图像,从而对增量盘的增量原始盘部件加密而未对增量盘的只读基础原始盘部件加密。在一些实现方式中,打开未加密的原始盘基础图像用于读取/写入而加密被启用可能造成破坏用于其它VM的后续打开的基础图像。
图5A是示出用于在虚拟机上使用的数据密钥的示例密钥旋转过程500的流程图。例如过程500可以用来在调度的基础上、例如每七天或者某个其它时间段旋转数据密钥。在一些实现方式中,过程500可以用来滚动云群集主控密钥从而使先前密钥为“活跃”密钥以及使新的密钥为“主要”密钥。无论何时使用活跃主控密钥版本对数据密钥进行去卷包,也可以重新卷包主要主控密钥版本从而用新的卷包的主要密钥替换卷包的活跃密钥。
在502,建立与数据在日志结构化卷上的存储关联的阈值条件,其中阈值条件可用于旋转数据密钥。在一些实现方式中,阈值条件包括数据密钥保护的数据量、比如数据密钥在当前时间保护的数据量的数据块数目、文件数目或者某个其它测量。在一些实现方式中,密钥保护的数据量是累计数量、比如使用相同数据密钥随时间保护的总数据量。在一些实现方式中,阈值条件包括数据密钥已经被使用的持续时间。例如用于使用数据密钥的最大持续时间可以被设置成任何小时数、天数、周数等。
在504,如在以下步骤中描述的那样进行阈值条件已经出现并且用于旋转数据密钥的时间到来的确定。在506,获得用新的数据密钥标识符标识的新的数据密钥。在一些实现方式中,可以从密钥管理系统208接收新的数据密钥。
在508,使用数据密钥、即待引退的数据密钥对数据进行解密。这是数据密钥在它的引退之前的最后使用。
在509,使用卷包密钥对新的数据密钥和访问控制列表进行加密以生成新的卷包的blob。在510,使用新的数据密钥对数据进行加密已生成加密的数据。在511,在日志结构化卷中存储新的卷包的blob和加密的数据。在512,向在访问控制列表上的一个或者多个用户提供新的数据密钥标识符。
在514,破坏待引退的数据密钥。在一些实现方式中,对数据密钥的破坏通过向数据密钥的存储位置改写任意非密钥数据来出现。
图5B是示出用于在虚拟机上使用的数据密钥的示例密钥引退过程520的流程图。在一些实现方式中,为所有卷包的密钥维持目录、包括关于哪个主控密钥版本用于卷包密钥的信息。一些实现方式还维持所有活跃数据密钥的目录。例如目录包括对从其获得它们的卷包的密钥和对当前正在其中保持它们的VM实例的引用。一些实现方式包括与每个密钥关联的指示何时创建每个密钥的时间戳。在一些实现方式中,时间戳和/或其它信息可以用来触发数据密钥的引退。在一些实现方式中,引退在120天出现,这意味着不晚于经过生成卷包的密钥这一点的120天、按照当前主要主控密钥重新卷包每个现有卷包的密钥。在一些实现方式中,设置警报(例如从密钥创建日期起的120天),通过这些警报,触发事件出现以指示用于密钥引退的时间。一旦已经重新卷包受活跃主控密钥保护的所有卷包的密钥,通过破坏活跃主控密钥来完成主控密钥引退过程。用于引退的示例步骤如下。
在522,建立与数据在日志结构化卷上的存储关联的阈值条件,其中阈值条件可用于数据密钥的引退。在一些实现方式中,阈值条件包括数据密钥已经被使用的持续时间、例如用来使达到120天之久的数据密钥引退。
在524,发起确定阈值条件已经出现和数据密钥引退。该确定例如可以通过出现警报或者通过比较当前日期与数据密钥的创建日期以确定差值是否足以触发阈值条件来出现。
在526,获得用新的数据密钥标识符标识的新的数据密钥。例如密钥管理系统208可以生成新的密钥并且提供用于新的密钥的密钥标识符。
在528,使用待引退的数据密钥对数据进行解密。这是旧的数据密钥的最后使用。
在529,使用卷包密钥对新的数据密钥和访问控制列表进行加密以生成新的卷包的blob。在530,使用新的数据密钥对数据进行加密以生成加密的数据。在531,在日志结构化卷中存储新的卷包的blob和加密的数据。在532,向在访问控制列表上的一个或者多个用户提供新的数据密钥标识符。
在534,破坏待引退的数据密钥。在一些实现方式中,对数据密钥的破坏通过向数据密钥的存储位置改写空值、清除值、一或者零来出现。
图5C是示出用于在虚拟机上使用的数据密钥的密钥撤回过程540的示例的流程图。例如在主控密钥版本被破解的情况下,可以滚动主控密钥和受破解的主控密钥保护的所有数据密钥。在一些实现方式中,滚动数据密钥包括按照新生成的数据密钥重新加密数据内容。可以用新生成的主要主控密钥卷包新生成的数据密钥。在一些实现方式中,破坏用先前数据密钥加密的任何数据。
在542,审核对数据的访问。在一些实现方式中,审核数据通过跟踪访问数据的过程和用户来出现。在544,确定数据已经被不在访问控制列表上的用户访问并且数据密钥已经被破解。
在546,发起用于替换被破解的数据密钥的动作。在548,获得用新的数据密钥标识符标识的新的数据密钥。
在550,使用待引退的数据密钥对数据进行解密。这是旧的数据密钥的最后使用。
在551,使用卷包密钥对新的数据密钥和访问控制列表进行加密以生成新的卷包的blob。在552,使用新的数据密钥对数据进行加密以生成加密的数据。在553,在日志结构化卷中存储新的卷包的blob和加密的数据。在554,向在访问控制列表上的一个或者多个用户提供新的数据密钥标识符。
在556,破坏旧的数据密钥。在一些实现方式中,对数据密钥的破坏通过向数据密钥的存储位置改写空值、清除值、一或者零来出现。
在一些实现方式中,在数据密钥被滚动时,如果数据密钥被VM活跃使用,则转换以非破坏方式出现。例如滚动出现而未中断VM的用于如正常地使用的那样使用盘的能力。
图6示出用于被配置为运行虚拟机的分布式系统的联网架构的示例。分布式系统可以包含服务器系统,这些服务器系统包括主机机器615a、615b,这些主机机器被配置为运行一个或者多个虚拟机620a、620b、620c、620d。主机机器615a、615b使用IP隧道660a、660b、660c以输送在虚拟机620a-d之间的IP流量和在虚拟机620a-d与VM网关640a、640b之间的IP流量。VM网关640a、b被配置为向虚拟机620a-d提供因特网650访问。
主机机器615a、615b可以经由相应本地局域网(LAN)655a、655b连接到因特网650。在一些实现方式中,主机机器615a、615b被指派在因特网650上可见的IP地址(例如134.130.78.11、224.10.202.6)。可以经由因特网650从在第一LAN 655a上的主机机器615向在第二LAN 655b上的主机机器615b路由在主机机器间IP隧道660a上的流量(例如IP隧道分组)(隧道660a输送在VM-1620a与VM-13620c之间的流量)。可以完全地在主机机器615a以内路由在主机机器间IP隧道660b上的流量。
VM网关640a、640b可以通过改变在分组首部中的源或者目的地地址信息来路由在因特网650与虚拟网络601之间的流量,从而在网关640a、640b的IP地址后面隐藏虚拟网络601的地址空间。具体而言,从因特网650到达网关640a、640b并且去往虚拟网络601的分组让它们的IP数据报目的地地址从网关640a、640b的IP地址(例如134.130.78.1或者224.10.202.1)改变成目的地VM的IP地址(例如192.168.1.10)。从虚拟网络601到达网关640a、640b并且去往因特网650的分组让它们的IP源地址从VM的IP地址(例如192.168.1.10)改变成VM网关640a、640b的在因特网650上可见的IP地址(例如134.130.78.1、224.10.202.1)。基于使用专用子网的虚拟网络601,VM网关640a、b可以执行网络地址翻译(NAT)以在专用子网地址与公用地址之间翻译。
在主机机器615a-b上运行的虚拟机620a、620b、620c、620d可以运行过程、比如与在客户端630a、630b、630c上运行的浏览器软件交互的web服务器过程。客户端可以是数据处理装置、如比如服务器、个人计算机、膝上型计算机、智能电话、电视——该电视具有嵌入在电视中的或者耦合到电视的一个或者多个数据处理器、嵌入设备(例如智能电表)或者写字板计算机。在这一示例中,客户端630c通过向VM网关640b发送IP分组来与VM(例如VM-21620d)通信。VM网关640b封装来自客户端630c的分组并且经由IP隧道660c向运行VM-21620d的主机机器615b发送封装的分组。运行VM-21 620d的主机机器615b可以去封装分组并且向VM-21 620d递送分组。
在虚拟网络140上的IP流量可以由IP隧道输送。主机机器102、104可以执行用于去往和来自每个VM 110、112、114的IP封装和去封装142。来自一个VM的封装的IP流量可以经由IP隧道传输被发送到另一VM。IP隧道可以提供传送层。例如IP隧道传输可以包括发送包括封装的分组的IP隧道分组。封装的分组可以是IP分组。其它类型的封装的分组是可能的。在一些情况下,IP隧道可以在相同主机机器上进行始发和终止二者(例如源和目的地VM在相同主机机器上)。在一些情况下,IP隧道可以在一个主机机器始发并且在不同主机机器终止(例如源和目的地VM在不同主机机器上)。可以经由网络150、比如因特网通过虚拟专用网络(VPN)输送在主机机器102、104之间的IP隧道流量。
主机机器102、104可以使用虚拟网络路由表以取回IP隧道的端点位置。在一些实现方式中,基于输入的VM标识符或者VM IP地址,虚拟网络路由表可以提供在网络150上的主机机器对应的可路由IP地址,该主机机器运行与输入的VM标识符或者VM IP地址关联的VM。
可以在数字电子电路装置中或者在包括本说明书中公开的结构及其结构等效物的计算机软件、固件或者硬件中或者在它们中的一项或者多项的组合中实现在本说明书中描述的主题内容和操作的实施例。可以将在本说明书中描述的主题内容的实施例实施为一个或者多个计算机程序、即在计算机存储介质上编码的用于由数据处理装置执行或者控制数据处理装置的操作的一个或者多个计算机程序指令模块。备选地或者附加地,可以在机器生成的电、光或者电磁信号上对程序指令进行编码,该信号被生成为对信息进行编码用于向适当接收器装置传输用于由数据处理装置执行。计算机可读介质可以是计算机可读存储设备、计算机可读存储基板、随机或者串行存取存储器阵列或者设备或者它们中的一项或者多项的组合或者被包含于计算机可读存储设备、计算机可读存储基板、随机或者串行存取存储器阵列或者设备或者它们中的一项或者多项的组合中。另外,尽管计算机存储介质不是传播的信号,但是计算机存储介质可以是在人为生成的传播的信号中编码的计算机程序指令的源或者目的地。计算机存储介质也可以是一个或者多个分离物理部件或者介质(例如多个CD、盘或者其它存储设备)或者被包含于一个或者多个分离物理部件或者介质中。
可以将在本说明书中描述的操作实施为由数据处理装置对在一个或者多个计算机可读存储设备上存储的或者从其它来源接收的数据执行的操作。
术语“数据处理装置”涵盖所有种类的用于处理数据的装置、设备和机器、举例而言包括可编程处理器、计算机、片上系统或者前述各项的多项或者组合。该装置可以包括专用逻辑电路装置、例如FPGA(现场可编程门阵列)或者ASIC(专用集成电路)。该装置除了硬件之外也可以包括为讨论的计算机程序创建执行环境的代码、例如构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行时间环境、虚拟机或者它们中的一项或者多项的组合的代码。该装置和执行环境可以实现各种不同计算模型基础设施、比如web服务、分布式计算和网格计算基础设施。
可以用包括编译或者解译语言、说明或者过程语言的任何形式的编程语言编写计算机程序(也称为程序、软件、软件应用、脚本或者代码),并且可以用任何形式部署它、包括部署为单独程序或者部署为适合于在计算环境中使用的模块、部件、子例程、对象或者其它单元。计算机程序可以、但是无需对应于文件系统中的文件。程序可以存储于保持其它程序或者数据的文件(例如存储于标记语言文档中的一个或者多个脚本)的部分中、专用于讨论的程序的单个文件中或者多个协调的文件(例如存储一个或者多个模块、子程序或者代码部分的文件)中。计算机程序可以被部署为在一个计算机上或者在位于一个地点或者分布于多个地点并且由通信网络互连的多个计算机上执行。
在本说明书中描述的过程和逻辑流程可以被一个或者多个可编程处理器执行,该一个或者多个可编程处理器执行一个或者多个计算机程序以通过对输入数据进行操作并且生成输出来执行动作。过程和逻辑流程也可以由专用逻辑电路装置、例如FPGA(现场可编程门阵列)或者ASIC(专用集成电路)执行并且也可以实施装置为该专用逻辑电路装置。
举例而言,适合用于执行计算机程序的处理器包括通用和专用微处理器以及任何种类的数字计算机的任何一个或者多个处理器。一般而言,处理器可以从只读存储器或者随机存取存储器或者二者接收指令和数据。计算机的基本单元是用于根据指令执行动作的处理器以及用于存储指令和数据的一个或者多个存储器设备。一般而言,计算机也可以包括用于存储数据的一个或者多个海量存储设备、例如磁盘、光磁盘或者光盘或者被操作地耦合用于从该一个或者多个海量存储设备接收数据或者向该一个或者多个海量存储设备传送数据或者二者。然而计算机无需具有这样的设备。另外,可以在另一设备、聊举数例例如电视——该电视具有在电视中嵌入的或者耦合到电视的一个或者多个处理器、移动电话、个人数字助理(PDA)、移动音频或者视频播放器、游戏控制器、全球定位系统(GPS)接收器或者便携存储设备(例如通用串行总线(USB)闪存驱动)中嵌入计算机。适合用于存储计算机程序指令和数据的设备包括所有形式的非易失性存储器、介质和存储器设备、举例而言包括半导体存储器设备、例如EPROM、EEPROM和闪存设备;磁盘、例如内部硬盘或者可拆卸盘;光磁盘;以及CD-ROM和DVD-ROM盘。处理器和存储器可以由专用逻辑电路装置补充或者并入于专用逻辑电路装置中。
为了提供与用户的交互,可以在计算机上实施在本说明书中描述的主题内容的实施例,该计算机具有用于向用户显示信息的显示设备、例如CRT(阴极射线管)或者LCD(液晶显示器)监视器以及用户可以用来向计算机提供输入的键盘和指示设备、例如鼠标或者跟踪球。其它种类的设备也可以用来提供与用户的交互;例如向用户提供的反馈可以是任何形式的感官反馈、例如视觉反馈、听觉反馈或者触觉反馈;并且可以用包括声音、话音或者触觉输入的任何形式接收来自用户的输入。此外,计算机可以通过向用户使用的设备发送文档和从该设备接收文档;例如通过响应于从在用户的客户端设备上的web浏览器接收的请求向web浏览器发送网页来与用户交互。
可以在计算系统中实施在本说明书中描述的主题内容的实施例,该计算系统包括后端部件、例如作为数据服务器或者包括中间件部件、例如应用服务器或者包括前端部件、例如具有图形用户界面或者Web浏览器——用户可以通过该图形用户界面或者Web浏览器与在本说明书中描述的主题内容的实现方式交互——的客户端计算机或者一个或者多个这样的后端、中间件或者前端部件的任何组合。系统的部件可以由任何数字数据通信形式或者介质、例如通信网络互连。通信网络的示例包括局域网(“LAN”)和广域网(“WAN”)、互连网络(例如因特网)和对等网络(例如自组织对等网络)。
计算系统可以包括客户端和服务器。客户端和服务器一般相互远离并且通常通过通信网络交互。借助在相应计算机上运行并且相互具有客户端-服务器关系的计算机程序产生客户端和服务器的关系。在一些实施例中,服务器向客户端设备发送数据(例如HTML页面)(例如用于向与客户端设备交互的用户显示数据和从该用户接收用户输入)。可以在服务器从客户端设备接收在客户端设备生成的数据(例如用户交互的结果)。
尽管本说明书包含许多具体实施细节,但是不应解释这些为限制任何发明的或者可以要求保护的内容的范围而实际上描述具体发明的具体实施例特有的特征。也可以在单个实施例中组合实施在本说明书中在分离实施例的情境中描述的某些特征。反言之,也可以在多个实施例中分离地或者在任何适当子组合中实施在单个实施例的情境中描述的各种特征。另外,虽然以上可以描述特征为在某些组合中动作并且甚至起初这样要求保护,但是来自要求保护的组合的一个或者多个特征可以在一些情况下从该组合中被删除,并且要求保护的组合可以涉及子组合或者子组合的变化。
相似地,尽管在附图中以特定顺序描绘操作,但是这不应理解为要求以所示特定顺序或者以依次顺序执行这样的操作或者执行所有所示操作以实现希望的结果。在某些境况中,多任务和并行处理可以是有利的。另外,在以上描述的实施例中的各种系统部件的分离不应理解为在所有实施例中要求这样的分离,并且应当理解描述的程序部件和系统一般可以一起集成于单个软件产品中或者封装成多个软件产品。
因此,已经描述主题内容的具体实施例。其它实施例例在所附权利要求的范围内。在一些情况下,在权利要求中记载的动作可以按不同顺序来执行而仍然实现希望的结果。此外,在附图中描绘的过程未必需要所示具体顺序或者依次顺序以实现希望的结果。在某些实现方式中,多任务和并行处理可以是有利的。

Claims (21)

1.一种由一个或者多个数据处理装置实施的方法,所述方法包括:
从第一虚拟机接收第一请求,所述第一请求用于在日志结构化卷中存储数据,并且基于所述第一请求:
获得所述数据和被授权访问所述数据的一个或者多个用户的访问控制列表;
获得数据密钥,所述数据密钥具有标识所述数据密钥的数据密钥标识符,所述数据密钥标识符与所述数据密钥不同;
使用所述一个或者多个数据处理装置、使用卷包密钥对所述数据密钥和所述访问控制列表进行加密以生成卷包的blob;
使用所述一个或者多个数据处理装置、使用所述数据密钥对所述数据进行加密以生成加密的数据;
在所述日志结构化卷中存储所述卷包的blob和所述加密的数据;以及
向在所述访问控制列表上的一个或者多个用户提供所述数据密钥标识符;以及
从第二虚拟机接收第二请求,所述第二请求标识所述数据密钥标识符,所述第二请求是用以获得所述数据的快照的请求;以及
基于所述第二请求:
基于所述数据密钥标识符获得包含所述数据密钥和所述访问控制列表的非卷包的blob;
从所述非卷包的blob获得所述数据密钥和所述访问控制列表;以及
认证与所述第二请求关联的用户并且按照所述访问控制列表向所述用户授权,并且在确定所述用户被认证和授权时:
使用所述一个或者多个数据处理装置、使用所述数据密钥对所述数据进行解密;以及
向所述第二虚拟机提供所述数据的快照;
确定阈值条件已经出现,其中所述阈值条件与所述数据在所述日志结构化卷上的存储关联并且作为响应;
获得由新的数据密钥标识符来标识的新的数据密钥;
使用所述数据密钥对所述数据进行解密;
使用所述卷包密钥对所述数据密钥和所述访问控制列表进行加密以生成新的卷包的blob;
使用所述新的数据密钥对所述数据进行加密以生成加密的数据;
在所述日志结构化卷中存储所述新的卷包的blob和所述加密的数据;
向在所述访问控制列表上的所述一个或者多个用户提供所述新的数据密钥标识符;以及
防止所述数据密钥的后续使用。
2.根据权利要求1所述的方法,其中所述阈值条件包括由所述数据密钥保护的数据量。
3.根据权利要求2所述的方法,其中由所述数据密钥保护的所述数据量是累计数量。
4.根据权利要求2所述的方法,其中由所述数据密钥保护的所述数据量是当前数量。
5.根据权利要求1所述的方法,其中所述阈值条件包括所述数据密钥已经被使用的持续时间。
6.一种由一个或者多个数据处理装置实施的方法,所述方法包括:
从第一虚拟机接收第一请求,所述第一请求用于在日志结构化卷中存储数据,并且基于所述第一请求:
获得所述数据和被授权访问所述数据的一个或者多个用户的访问控制列表;
获得数据密钥,所述数据密钥具有标识所述数据密钥的数据密钥标识符,所述数据密钥标识符与所述数据密钥不同;
使用所述一个或者多个数据处理装置、使用卷包密钥对所述数据密钥和所述访问控制列表进行加密以生成卷包的blob;
使用所述一个或者多个数据处理装置、使用所述数据密钥对所述数据进行加密以生成加密的数据;
在所述日志结构化卷中存储所述卷包的blob和所述加密的数据;以及
向在所述访问控制列表上的一个或者多个用户提供所述数据密钥标识符;以及
从第二虚拟机接收第二请求,所述第二请求标识所述数据密钥标识符,所述第二请求是用以获得所述数据的快照的请求;以及
基于所述第二请求:
基于所述数据密钥标识符获得包含所述数据密钥和所述访问控制列表的非卷包的blob;
从所述非卷包的blob获得所述数据密钥和所述访问控制列表;以及
认证与所述第二请求关联的用户并且按照所述访问控制列表向所述用户授权,并且在确定所述用户被认证和授权时:
使用所述一个或者多个数据处理装置、使用所述数据密钥对所述数据进行解密;以及
向所述第二虚拟机提供所述数据的快照;
审核对所述数据的访问;
确定所述数据已经被不在所述访问控制列表上的用户访问并且所述数据密钥已经被破解,并且作为响应:
获得由新的数据密钥标识符来标识的新的数据密钥;
使用所述数据密钥对所述数据进行解密;
使用所述卷包密钥对所述新的数据密钥和所述访问控制列表进行加密以生成新的卷包的blob;
使用所述新的数据密钥对所述数据进行加密以生成加密的数据;
在所述日志结构化卷中存储所述新的卷包的blob和所述加密的数据;
向在所述访问控制列表上的所述一个或者多个用户提供所述新的数据密钥标识符;以及
防止所述数据密钥的后续使用。
7.根据权利要求6所述的方法,其中存储所述加密的数据包括压缩所述加密的数据。
8.一种用于安全数据存储的系统,包括:
被编程为执行操作的一个或者多个数据处理装置,所述操作包括:
从第一虚拟机接收第一请求,所述第一请求用于在日志结构化卷中存储数据,并且基于所述第一请求:
获得所述数据和被授权访问所述数据的一个或者多个用户的访问控制列表;
获得数据密钥,所述数据密钥具有标识所述数据密钥的数据密钥标识符,所述数据密钥标识符与所述数据密钥不同;
使用卷包密钥对所述数据密钥和所述访问控制列表进行加密以生成卷包的blob;
使用所述数据密钥对所述数据进行加密以生成加密的数据;
在所述日志结构化卷中存储所述卷包的blob和所述加密的数据;以及
向在所述访问控制列表上的一个或者多个用户提供所述数据密钥标识符;以及
从第二虚拟机接收第二请求,所述第二请求标识所述数据密钥标识符,所述第二请求是用以获得所述数据的快照的请求;以及
基于所述第二请求:
基于所述数据密钥标识符获得包含所述数据密钥和所述访问控制列表的非卷包的blob;
从所述非卷包的blob获得所述数据密钥和所述访问控制列表;以及
认证与所述第二请求关联的用户并且按照所述访问控制列表向所述用户授权,并且在确定所述用户被认证和授权时:
使用所述数据密钥对所述数据进行解密;以及
向所述第二虚拟机提供所述数据的快照;
确定阈值条件已经出现,其中所述阈值条件与所述数据在所述日志结构化卷上的存储关联并且作为响应;
获得由新的数据密钥标识符来标识的新的数据密钥;
使用所述数据密钥对所述数据进行解密;
使用所述卷包密钥对所述数据密钥和所述访问控制列表进行加密以生成新的卷包的blob;
使用所述新的数据密钥对所述数据进行加密以生成加密的数据;
在所述日志结构化卷中存储所述新的卷包的blob和所述加密的数据;
向在所述访问控制列表上的所述一个或者多个用户提供所述新的数据密钥标识符;以及
防止所述数据密钥的后续使用。
9.根据权利要求8所述的系统,其中所述阈值条件包括由所述数据密钥保护的数据量。
10.根据权利要求9所述的系统,其中由所述数据密钥保护的所述数据量是累计数量。
11.根据权利要求9所述的系统,其中由所述数据密钥保护的所述数据量是当前数量。
12.根据权利要求8所述的系统,其中所述阈值条件包括所述数据密钥已经被使用的持续时间。
13.一种用于安全数据存储的系统,包括:
被编程为执行操作的一个或者多个数据处理装置,所述操作包括:
从第一虚拟机接收第一请求,所述第一请求用于在日志结构化卷中存储数据,并且基于所述第一请求:
获得所述数据和被授权访问所述数据的一个或者多个用户的访问控制列表;
获得数据密钥,所述数据密钥具有标识所述数据密钥的数据密钥标识符,所述数据密钥标识符与所述数据密钥不同;
使用卷包密钥对所述数据密钥和所述访问控制列表进行加密以生成卷包的blob;
使用所述数据密钥对所述数据进行加密以生成加密的数据;
在所述日志结构化卷中存储所述卷包的blob和所述加密的数据;以及
向在所述访问控制列表上的一个或者多个用户提供所述数据密钥标识符;以及
从第二虚拟机接收第二请求,所述第二请求标识所述数据密钥标识符,所述第二请求是用以获得所述数据的快照的请求;以及
基于所述第二请求:
基于所述数据密钥标识符获得包含所述数据密钥和所述访问控制列表的非卷包的blob;
从所述非卷包的blob获得所述数据密钥和所述访问控制列表;以及
认证与所述第二请求关联的用户并且按照所述访问控制列表向所述用户授权,并且在确定所述用户被认证和授权时:
使用所述数据密钥对所述数据进行解密;以及
向所述第二虚拟机提供所述数据的快照;
审核对所述数据的访问;
确定所述数据已经被不在所述访问控制列表上的用户访问并且所述数据密钥已经被破解,并且作为响应:
获得由新的数据密钥标识符来标识的新的数据密钥;
使用所述数据密钥对所述数据进行解密;
使用所述卷包密钥对所述新的数据密钥和所述访问控制列表进行加密以生成新的卷包的blob;
使用所述新的数据密钥对所述数据进行加密以生成加密的数据;
在所述日志结构化卷中存储所述新的卷包的blob和所述加密的数据;
向在所述访问控制列表上的所述一个或者多个用户提供所述新的数据密钥标识符;以及
防止所述数据密钥的后续使用。
14.根据权利要求13所述的系统,其中存储所述加密的数据包括压缩所述加密的数据。
15.一种数据处理设备,包括:
用于从第一虚拟机接收第一请求,所述第一请求用于在日志结构化卷中存储数据的装置,并且基于所述第一请求:
获得所述数据和被授权访问所述数据的一个或者多个用户的访问控制列表;
获得数据密钥,所述数据密钥具有标识所述数据密钥的数据密钥标识符,所述数据密钥标识符与所述数据密钥不同;
使用卷包密钥对所述数据密钥和所述访问控制列表进行加密以生成卷包的blob;
使用所述数据密钥对所述数据进行加密以生成加密的数据;
在所述日志结构化卷中存储所述卷包的blob和所述加密的数据;以及
向在所述访问控制列表上的一个或者多个用户提供所述数据密钥标识符;以及
用于从第二虚拟机接收第二请求的装置,所述第二请求标识所述数据密钥标识符,所述第二请求是用以获得所述数据的快照的请求;以及
基于所述第二请求:
基于所述数据密钥标识符获得包含所述数据密钥和所述访问控制列表的非卷包的blob;
从所述非卷包的blob获得所述数据密钥和所述访问控制列表;以及
认证与所述第二请求关联的用户并且按照所述访问控制列表向所述用户授权,并且在确定所述用户被认证和授权时:
使用所述数据密钥对所述数据进行解密;以及
向所述第二虚拟机提供所述数据的快照;
用于确定阈值条件已经出现的装置,其中所述阈值条件与所述数据在所述日志结构化卷上的存储关联并且作为响应;
获得由新的数据密钥标识符来标识的新的数据密钥;
使用所述数据密钥对所述数据进行解密;
使用所述卷包密钥对所述数据密钥和所述访问控制列表进行加密以生成新的卷包的blob;
使用所述新的数据密钥对所述数据进行加密以生成加密的数据;
在所述日志结构化卷中存储所述新的卷包的blob和所述加密的数据;
向在所述访问控制列表上的所述一个或者多个用户提供所述新的数据密钥标识符;以及
防止所述数据密钥的后续使用。
16.根据权利要求15所述的设备,其中所述阈值条件包括由所述数据密钥保护的数据量。
17.根据权利要求16所述的设备,其中由所述数据密钥保护的所述数据量是累计数量。
18.根据权利要求16所述的设备,其中由所述数据密钥保护的所述数据量是当前数量。
19.根据权利要求15所述的设备,其中所述阈值条件包括所述数据密钥已经被使用的持续时间。
20.一种数据处理设备,包括:
用于从第一虚拟机接收第一请求的装置,所述第一请求用于在日志结构化卷中存储数据,并且基于所述第一请求:
获得所述数据和被授权访问所述数据的一个或者多个用户的访问控制列表;
获得数据密钥,所述数据密钥具有标识所述数据密钥的数据密钥标识符,所述数据密钥标识符与所述数据密钥不同;
使用卷包密钥对所述数据密钥和所述访问控制列表进行加密以生成卷包的blob;
使用所述数据密钥对所述数据进行加密以生成加密的数据;
在所述日志结构化卷中存储所述卷包的blob和所述加密的数据;以及
向在所述访问控制列表上的一个或者多个用户提供所述数据密钥标识符;以及
用于从第二虚拟机接收第二请求的装置,所述第二请求标识所述数据密钥标识符,所述第二请求是用以获得所述数据的快照的请求;以及
基于所述第二请求:
基于所述数据密钥标识符获得包含所述数据密钥和所述访问控制列表的非卷包的blob;
从所述非卷包的blob获得所述数据密钥和所述访问控制列表;以及
认证与所述第二请求关联的用户并且按照所述访问控制列表向所述用户授权,并且在确定所述用户被认证和授权时:
使用所述数据密钥对所述数据进行解密;以及
向所述第二虚拟机提供所述数据的快照;
用于审核对所述数据的访问的装置;
用于确定所述数据已经被不在所述访问控制列表上的用户访问并且所述数据密钥已经被破解的装置,并且作为响应:
获得由新的数据密钥标识符来标识的新的数据密钥;
使用所述数据密钥对所述数据进行解密;
使用所述卷包密钥对所述新的数据密钥和所述访问控制列表进行加密以生成新的卷包的blob;
使用所述新的数据密钥对所述数据进行加密以生成加密的数据;
在所述日志结构化卷中存储所述新的卷包的blob和所述加密的数据;
向在所述访问控制列表上的所述一个或者多个用户提供所述新的数据密钥标识符;以及
防止所述数据密钥的后续使用。
21.根据权利要求20所述的设备,其中存储所述加密的数据包括压缩所述加密的数据。
CN201380019961.0A 2012-02-24 2013-02-22 用于虚拟机的日志结构化卷加密 Active CN104246789B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/405,036 US8996887B2 (en) 2012-02-24 2012-02-24 Log structured volume encryption for virtual machines
US13/405,036 2012-02-24
PCT/US2013/027456 WO2013130367A1 (en) 2012-02-24 2013-02-22 Log structured volume encryption for virtual machines

Publications (2)

Publication Number Publication Date
CN104246789A CN104246789A (zh) 2014-12-24
CN104246789B true CN104246789B (zh) 2017-09-26

Family

ID=47891961

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380019961.0A Active CN104246789B (zh) 2012-02-24 2013-02-22 用于虚拟机的日志结构化卷加密

Country Status (6)

Country Link
US (1) US8996887B2 (zh)
EP (1) EP2823432B1 (zh)
CN (1) CN104246789B (zh)
AU (1) AU2013226326B2 (zh)
DE (1) DE202013012514U1 (zh)
WO (1) WO2013130367A1 (zh)

Families Citing this family (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8874888B1 (en) 2011-01-13 2014-10-28 Google Inc. Managed boot in a cloud system
US9135037B1 (en) 2011-01-13 2015-09-15 Google Inc. Virtual network protocol
US9237087B1 (en) 2011-03-16 2016-01-12 Google Inc. Virtual machine name resolution
US9063818B1 (en) 2011-03-16 2015-06-23 Google Inc. Automated software updating based on prior activity
US8533796B1 (en) 2011-03-16 2013-09-10 Google Inc. Providing application programs with access to secured resources
US9075979B1 (en) 2011-08-11 2015-07-07 Google Inc. Authentication based on proximity to mobile device
US8966198B1 (en) 2011-09-01 2015-02-24 Google Inc. Providing snapshots of virtual storage devices
US8958293B1 (en) 2011-12-06 2015-02-17 Google Inc. Transparent load-balancing for cloud computing services
US8800009B1 (en) 2011-12-30 2014-08-05 Google Inc. Virtual machine service access
US8983860B1 (en) 2012-01-30 2015-03-17 Google Inc. Advertising auction system
US8677449B1 (en) 2012-03-19 2014-03-18 Google Inc. Exposing data to virtual machines
US9069806B2 (en) 2012-03-27 2015-06-30 Google Inc. Virtual block devices
CN104169935B (zh) * 2012-03-28 2017-10-31 索尼公司 信息处理装置、信息处理系统、信息处理方法
US9930066B2 (en) 2013-02-12 2018-03-27 Nicira, Inc. Infrastructure level LAN security
US9703937B2 (en) * 2013-04-10 2017-07-11 Dell Products, L.P. Method to prevent operating system digital product key activation failures
US9071429B1 (en) * 2013-04-29 2015-06-30 Amazon Technologies, Inc. Revocable shredding of security credentials
US9961052B2 (en) * 2013-06-28 2018-05-01 Extreme Networks, Inc. Virtualized host ID key sharing
US9912729B2 (en) * 2013-07-22 2018-03-06 Verizon Patent And Licensing Inc. Encapsulation scheme for cloud computing environment
US10461937B1 (en) * 2013-12-18 2019-10-29 Amazon Technologies, Inc. Hypervisor supported secrets compartment
US9792448B2 (en) * 2014-02-28 2017-10-17 Advanced Micro Devices, Inc. Cryptographic protection of information in a processing system
US9864874B1 (en) 2014-05-21 2018-01-09 Amazon Technologies, Inc. Management of encrypted data storage
US9648121B2 (en) * 2014-05-27 2017-05-09 Ravello Systems Ltd. Source-destination network address translation (SDNAT) proxy and method thereof
US9985970B2 (en) * 2014-05-28 2018-05-29 Conjur, Inc. Individualized audit log access control for virtual machines
US10397213B2 (en) 2014-05-28 2019-08-27 Conjur, Inc. Systems, methods, and software to provide access control in cloud computing environments
US9680821B2 (en) 2014-05-28 2017-06-13 Conjur, Inc. Resource access control for virtual machines
US9613218B2 (en) 2014-06-30 2017-04-04 Nicira, Inc. Encryption system in a virtualized environment
US9397832B2 (en) * 2014-08-27 2016-07-19 International Business Machines Corporation Shared data encryption and confidentiality
DE102014018889A1 (de) * 2014-12-17 2016-06-23 Giesecke & Devrient Gmbh Verfahren und Vorrichtung zum sicheren Speichern von Daten und zum Zugreifen auf diese Daten
US9954896B2 (en) * 2015-04-29 2018-04-24 Rapid7, Inc. Preconfigured honey net
US10505939B2 (en) * 2015-05-11 2019-12-10 Timothy Keeler System account access manager
CN106295328B (zh) 2015-05-20 2019-06-18 阿里巴巴集团控股有限公司 文件检测方法、装置及系统
US20160373405A1 (en) * 2015-06-16 2016-12-22 Amazon Technologies, Inc. Managing dynamic ip address assignments
US10372935B1 (en) * 2015-11-13 2019-08-06 Google Llc Selectively encrypting commit log entries
US11210406B2 (en) * 2016-07-15 2021-12-28 Seagate Technology Llc Encrypting system level data structures
US10798073B2 (en) 2016-08-26 2020-10-06 Nicira, Inc. Secure key management protocol for distributed network encryption
US11438317B2 (en) * 2017-01-31 2022-09-06 Hewlett Packard Enterprise Development Lp Device identification encryption
US10469254B2 (en) * 2017-03-29 2019-11-05 Intuit Inc. Method and system for hierarchical cryptographic key management
US10491576B1 (en) 2017-06-16 2019-11-26 Intuit Inc. System and method for security breach response using hierarchical cryptographic key management
CN107579823A (zh) * 2017-10-10 2018-01-12 郑州云海信息技术有限公司 一种虚拟机登录密码重置方法和装置
US10911491B2 (en) 2017-11-20 2021-02-02 International Business Machines Corporation Encryption with sealed keys
CN108241796A (zh) * 2017-12-26 2018-07-03 上海电气风电集团有限公司 一种用于用户操作的监控方法及装置
US10757082B2 (en) * 2018-02-22 2020-08-25 International Business Machines Corporation Transforming a wrapped key into a protected key
US10380369B1 (en) 2018-06-14 2019-08-13 Rubrik, Inc. Multi-tenant authorization framework in a data management and storage cluster
US11057359B2 (en) * 2018-08-13 2021-07-06 Salesforce.Com, Inc. Key encryption key rotation
US11573973B1 (en) * 2018-12-19 2023-02-07 Vivek Vishnoi Methods and systems for the execution of analysis and/or services against multiple data sources while maintaining isolation of original data source
CN110336665B (zh) * 2019-07-11 2022-06-14 成都卫士通信息产业股份有限公司 一种大数据消息加密方法、装置
US11381393B2 (en) * 2019-09-24 2022-07-05 Akamai Technologies Inc. Key rotation for sensitive data tokenization
US11483136B2 (en) 2019-12-10 2022-10-25 Google Llc Wrapped keys with access control predicates
US11196548B1 (en) 2020-07-02 2021-12-07 International Business Machines Corporation Hypervisor protected key
US11734197B2 (en) * 2020-07-31 2023-08-22 EMC IP Holding Company LLC Methods and systems for resilient encryption of data in memory
US20220085983A1 (en) * 2020-09-14 2022-03-17 Hewlett Packard Enterprise Development Lp Encryption keys from storage systems
US20210014047A1 (en) * 2020-09-25 2021-01-14 Intel Corporation Methods, systems, apparatus, and articles of manufacture to manage access to decentralized data lakes
US11664099B1 (en) 2022-01-19 2023-05-30 Vignet Incorporated Decentralized data collection for clinical trials
US11522703B1 (en) * 2022-01-19 2022-12-06 Vignet Incorporated Decentralized applications and data sharing platform for clinical research
WO2024031025A1 (en) * 2022-08-05 2024-02-08 Snap Inc. Coordinating data access among multiple services

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101105808A (zh) * 2006-07-11 2008-01-16 戴尔产品有限公司 动态地改变文件表示的系统和方法

Family Cites Families (120)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5463768A (en) 1994-03-17 1995-10-31 General Electric Company Method and system for analyzing error logs for diagnostics
US5655081A (en) 1995-03-08 1997-08-05 Bmc Software, Inc. System for monitoring and managing computer resources and applications across a distributed computing environment using an intelligent autonomous agent architecture
US5778444A (en) 1996-05-06 1998-07-07 Motorola, Inc. Method and apparatus for reset-sensitive and controlled register write accesses in a data processing system with user and test modes
US6178482B1 (en) 1997-11-03 2001-01-23 Brecis Communications Virtual register sets
US7466703B1 (en) 1998-05-01 2008-12-16 Alcatel-Lucent Usa Inc. Scalable high speed router apparatus
US6505211B1 (en) 1999-01-26 2003-01-07 International Business Machines Corporation Method for providing for persistence of java classes where the persistence semantics may be orthogonal to the class definition
US6477683B1 (en) 1999-02-05 2002-11-05 Tensilica, Inc. Automated processor generation system for designing a configurable processor and method for the same
US6505248B1 (en) 1999-03-24 2003-01-07 Gte Data Services Incorporated Method and system for monitoring and dynamically reporting a status of a remote server
US6628654B1 (en) 1999-07-01 2003-09-30 Cisco Technology, Inc. Dispatching packets from a forwarding agent using tag switching
US6587866B1 (en) 2000-01-10 2003-07-01 Sun Microsystems, Inc. Method for distributing packets to server nodes using network client affinity and packet distribution table
JP2001243159A (ja) 2000-02-29 2001-09-07 Canon Inc データ処理装置及びデータ処理方法、記憶媒体
US6598179B1 (en) 2000-03-31 2003-07-22 International Business Machines Corporation Table-based error log analysis
US7269185B2 (en) 2000-05-22 2007-09-11 Nortel Networks Limited Management and control of multi-layer networks
US7043455B1 (en) 2000-07-28 2006-05-09 International Business Machines Corporation Method and apparatus for securing session information of users in a web application server environment
US7111005B1 (en) 2000-10-06 2006-09-19 Oracle International Corporation Method and apparatus for automatic database encryption
JP2002207620A (ja) 2001-01-10 2002-07-26 Toshiba Corp ファイルシステム及び該システムにおけるデータキャッシング方法
JP4075318B2 (ja) 2001-04-18 2008-04-16 株式会社日立製作所 プロトコル変換方法,及びアドレス変換サーバ
WO2003005279A1 (en) 2001-07-03 2003-01-16 Altaworks Corporation System and methods for monitoring performance metrics
US7984423B2 (en) 2001-08-14 2011-07-19 National Instruments Corporation Configuration diagram which displays a configuration of a system
US7117243B2 (en) 2001-10-02 2006-10-03 Citrix Systems, Inc. Methods for distributed program execution with file-type association in a client-server network
US6898697B1 (en) 2002-03-29 2005-05-24 Advanced Micro Devices, Inc. Efficient method for mode change detection and synchronization
US7500262B1 (en) 2002-04-29 2009-03-03 Aol Llc Implementing single sign-on across a heterogeneous collection of client/server and web-based applications
US8065717B2 (en) 2002-11-27 2011-11-22 Activcard Automated security token administrative services
US7055071B2 (en) 2003-01-09 2006-05-30 International Business Machines Corporation Method and apparatus for reporting error logs in a logical environment
AU2003288690A1 (en) 2003-01-31 2004-08-23 Koninklijke Philips Electronics N.V. Method and bridging device for priortizing transfer of data streams
US7334064B2 (en) 2003-04-23 2008-02-19 Dot Hill Systems Corporation Application server blade for embedded storage appliance
WO2004111809A1 (en) 2003-06-18 2004-12-23 Telefonaktiebolaget Lm Ericsson (Publ) An arrangement and a method relating to ip network access
US20050047575A1 (en) 2003-08-29 2005-03-03 Stephen Parker Secure valet telephone system
US7373451B2 (en) 2003-12-08 2008-05-13 The Board Of Trustees Of The Leland Stanford Junior University Cache-based system management architecture with virtual appliances, network repositories, and virtual appliance transceivers
EP1697818B1 (en) 2003-12-23 2018-05-30 Wells Fargo Bank, N.A. Authentication system for networked computer applications
US7529836B1 (en) 2004-01-08 2009-05-05 Network Appliance, Inc. Technique for throttling data access requests
US6996502B2 (en) 2004-01-20 2006-02-07 International Business Machines Corporation Remote enterprise management of high availability systems
US20050166011A1 (en) 2004-01-23 2005-07-28 Burnett Robert J. System for consolidating disk storage space of grid computers into a single virtual disk drive
TW200532466A (en) 2004-02-03 2005-10-01 Sony Corp Information processing device, information processing method, information processing system and information processing program of accessible media
US7958225B2 (en) 2004-02-12 2011-06-07 Avaya Inc. Method and apparatus for monitoring the transportation of medical images on a communication network
US20070271604A1 (en) 2004-03-17 2007-11-22 Fidelitygenetic Ltd. Secure Transaction of Dna Data
JP4147198B2 (ja) 2004-03-23 2008-09-10 株式会社日立製作所 ストレージシステム
US7478388B1 (en) 2004-04-21 2009-01-13 Vmware, Inc. Switching between multiple software entities using different operating modes of a processor in a computer system
US7512721B1 (en) 2004-05-25 2009-03-31 Qlogic, Corporation Method and apparatus for efficient determination of status from DMA lists
US7650331B1 (en) 2004-06-18 2010-01-19 Google Inc. System and method for efficient large-scale data processing
JP4397744B2 (ja) 2004-06-25 2010-01-13 パナソニック株式会社 半導体集積回路の高位合成方法
US7415470B2 (en) 2004-08-12 2008-08-19 Oracle International Corporation Capturing and re-creating the state of a queue when migrating a session
US20060048077A1 (en) 2004-08-31 2006-03-02 International Business Machines Corporation Method, system, program product and user interface for displaying a topology
GB2418326B (en) 2004-09-17 2007-04-11 Hewlett Packard Development Co Network vitrualization
US7760664B2 (en) 2004-09-30 2010-07-20 Sanyogita Gupta Determining and provisioning paths in a network
GB2419697A (en) 2004-10-29 2006-05-03 Hewlett Packard Development Co Virtual overlay infrastructures each having an infrastructure controller
GB2419701A (en) 2004-10-29 2006-05-03 Hewlett Packard Development Co Virtual overlay infrastructure with dynamic control of mapping
GB2419702A (en) 2004-10-29 2006-05-03 Hewlett Packard Development Co Virtual overlay infrastructures which can be suspended and later reactivated
KR100578143B1 (ko) 2004-12-21 2006-05-10 삼성전자주식회사 버퍼 메모리에 저장된 데이터를 무효화시키는 스킴을 갖는저장 시스템 및 그것을 포함한 컴퓨팅 시스템
US8122193B2 (en) 2004-12-21 2012-02-21 Samsung Electronics Co., Ltd. Storage device and user device including the same
EP1677473B1 (en) 2004-12-23 2010-06-09 Carmel-Haifa University Economic Corp. Ltd. Ad hoc communication system and method for routing speech packets therein
US20060161753A1 (en) 2005-01-18 2006-07-20 Aschoff John G Method, apparatus and program storage device for providing automatic performance optimization of virtualized storage allocation within a virtualized storage subsystem
US7827403B2 (en) 2005-04-13 2010-11-02 Oracle International Corporation Method and apparatus for encrypting and decrypting data in a database table
US8364638B2 (en) 2005-09-15 2013-01-29 Ca, Inc. Automated filer technique for use in virtualized appliances and applications
US8429630B2 (en) 2005-09-15 2013-04-23 Ca, Inc. Globally distributed utility computing cloud
JP2007104310A (ja) 2005-10-04 2007-04-19 Hitachi Ltd ネットワーク装置、ネットワークシステム及び鍵更新方法
GB0523115D0 (en) 2005-11-12 2005-12-21 Ibm A resource optimisation component
US7761573B2 (en) 2005-12-07 2010-07-20 Avaya Inc. Seamless live migration of virtual machines across optical networks
JP4916729B2 (ja) 2006-01-30 2012-04-18 ブラザー工業株式会社 仮想デバイス名変更プログラム
EP1818844B1 (de) 2006-02-10 2013-03-13 Secunet Security Networks Aktiengesellschaft Verfahren zur Benutzung von Sicherheitstoken
US8151323B2 (en) 2006-04-12 2012-04-03 Citrix Systems, Inc. Systems and methods for providing levels of access and action control via an SSL VPN appliance
US20070288921A1 (en) 2006-06-13 2007-12-13 King Steven R Emulating a network-like communication connection between virtual machines on a physical device
US20070294360A1 (en) 2006-06-15 2007-12-20 International Business Machines Corporation Method and apparatus for localized adaptation of client devices based on correlation or learning at remote server
US20080208681A1 (en) * 2006-09-28 2008-08-28 Ayman Hammad Payment using a mobile device
US20080086515A1 (en) 2006-10-06 2008-04-10 International Business Machines Corporation Method and System for a Soft Error Collection of Trace Files
US8045481B2 (en) 2006-10-20 2011-10-25 Ciena Corporation System and method for supporting virtualized links at an exterior network-to-network interface
US7653833B1 (en) 2006-10-31 2010-01-26 Hewlett-Packard Development Company, L.P. Terminating a non-clustered workload in response to a failure of a system with a clustered workload
TW200822633A (en) 2006-11-03 2008-05-16 Hon Hai Prec Ind Co Ltd Network device and packet forwarding method thereof
EP1962192A1 (en) 2007-02-21 2008-08-27 Deutsche Telekom AG Method and system for the transparent migration of virtual machine storage
US20080205415A1 (en) 2007-02-28 2008-08-28 Morales Henry N Jerez Access, Connectivity and Interoperability for Devices and Services
US20080270704A1 (en) 2007-04-30 2008-10-30 He Dingshan Cache arrangement for improving raid i/o operations
US8452015B2 (en) 2007-05-10 2013-05-28 Computer Associates Think, Inc. Propagating keys from servers to clients
US7889651B2 (en) 2007-06-06 2011-02-15 International Business Machines Corporation Distributed joint admission control and dynamic resource allocation in stream processing networks
US7779298B2 (en) 2007-06-11 2010-08-17 International Business Machines Corporation Distributed job manager recovery
WO2009001153A1 (en) 2007-06-28 2008-12-31 Nokia Corporation Memory protection unit in a virtual processing environment
US7836285B2 (en) 2007-08-08 2010-11-16 Analog Devices, Inc. Implementation of variable length instruction encoding using alias addressing
US20090097657A1 (en) 2007-10-05 2009-04-16 Scheidt Edward M Constructive Channel Key
JP4480756B2 (ja) 2007-12-05 2010-06-16 富士通株式会社 ストレージ管理装置、ストレージシステム制御装置、ストレージ管理プログラム、データ記憶システムおよびデータ記憶方法
US8156491B2 (en) 2008-02-29 2012-04-10 Red Hat, Inc. Fault tolerant virtual machine
US8261317B2 (en) 2008-03-27 2012-09-04 Juniper Networks, Inc. Moving security for virtual machines
US8418238B2 (en) 2008-03-30 2013-04-09 Symplified, Inc. System, method, and apparatus for managing access to resources across a network
US8582500B2 (en) 2008-05-02 2013-11-12 Rochester Institute Of Technology Methods for providing an ad hoc mobile communication network and systems thereof
US8559908B2 (en) 2008-06-16 2013-10-15 Qualcomm Incorporated Jamming graph and its application in network resource assignment
US7596620B1 (en) 2008-11-04 2009-09-29 Aptana, Inc. System and method for developing, deploying, managing and monitoring a web application in a single environment
US8103776B2 (en) 2008-08-29 2012-01-24 Red Hat, Inc. Systems and methods for storage allocation in provisioning of virtual machines
US8065714B2 (en) 2008-09-12 2011-11-22 Hytrust, Inc. Methods and systems for securely managing virtualization platform
US9189268B2 (en) 2008-10-10 2015-11-17 Netapp, Inc. Limiting simultaneous data transfers and efficient throttle management
US7805516B2 (en) 2008-10-14 2010-09-28 Dell Products L.P. Enabling throttling of resources on a virtualization enabled information handling system
US8504844B2 (en) * 2008-12-19 2013-08-06 Teradata Us, Inc. System, method, and computer-readable medium for cryptographic key rotation in a database system
EP2394225B1 (en) 2009-02-05 2019-01-09 Wwpass Corporation Centralized authentication system with safe private data storage and method
US8364970B2 (en) 2009-02-18 2013-01-29 Nokia Corporation Method and apparatus for providing enhanced service authorization
JP5081847B2 (ja) 2009-02-20 2012-11-28 株式会社日立製作所 マルチプロセッサによるパケット処理装置およびパケット処理方法
US8364984B2 (en) * 2009-03-13 2013-01-29 Microsoft Corporation Portable secure data files
WO2010127365A1 (en) 2009-05-01 2010-11-04 Citrix Systems, Inc. Systems and methods for establishing a cloud bridge between virtual storage resources
US8429647B2 (en) 2009-05-06 2013-04-23 Vmware, Inc. Virtual machine migration across network by publishing routes to the associated virtual networks via virtual router after the start of migration of the virtual machine
US8284945B2 (en) * 2009-06-02 2012-10-09 Hewlett-Packard Development Company, L.P. Automatic change of symmetrical encryption key
US8189790B2 (en) * 2009-08-14 2012-05-29 Brocade Communications Systems, Inc. Developing initial and subsequent keyID information from a unique mediaID value
US8463885B2 (en) 2009-08-31 2013-06-11 Red Hat, Inc. Systems and methods for generating management agent installations
TWI426528B (zh) 2009-09-30 2014-02-11 Phison Electronics Corp 用於快閃記憶體的區塊管理方法、控制器與儲存系統
US8693485B2 (en) 2009-10-14 2014-04-08 Dell Products, Lp Virtualization aware network switch
US8537860B2 (en) 2009-11-03 2013-09-17 International Business Machines Corporation Apparatus for switching traffic between virtual machines
US8863308B2 (en) 2009-12-01 2014-10-14 Securekey Technologies Inc. System and methods for providing identity attribute validation in accordance with an attribute disclosure profile
US8949408B2 (en) 2009-12-18 2015-02-03 Microsoft Corporation Session monitoring of virtual desktops in a virtual machine farm
US9953178B2 (en) 2010-02-03 2018-04-24 Os Nexus, Inc. Role based access control utilizing scoped permissions
WO2011095516A1 (en) 2010-02-05 2011-08-11 St-Ericsson Sa Method and system for mass storage on flash memory
US9875463B2 (en) 2010-03-17 2018-01-23 Infostreet, Inc. Cloud-based desktop and subscription application platform apparatuses, methods and systems
US9443078B2 (en) 2010-04-20 2016-09-13 International Business Machines Corporation Secure access to a virtual machine
US8396954B2 (en) 2010-06-24 2013-03-12 Aryaka Networks, Inc. Routing and service performance management in an application acceleration environment
US8296459B1 (en) 2010-06-30 2012-10-23 Amazon Technologies, Inc. Custom routing decisions
US8375070B2 (en) 2010-09-02 2013-02-12 International Business Machines Corporation Collective operations in a file system based execution model
US8363656B2 (en) 2010-09-15 2013-01-29 International Business Machines Corporation Multiple virtual machines sharing a single IP address
US8484353B1 (en) 2010-09-28 2013-07-09 Amazon Technologies, Inc. Resource placement templates for virtual networks
US20120185688A1 (en) 2011-01-13 2012-07-19 Google Inc. Processor mode locking
US8745329B2 (en) 2011-01-20 2014-06-03 Google Inc. Storing data across a plurality of storage nodes
CA2766731C (en) * 2011-02-03 2019-12-03 Afore Solutions Inc. Method and system for cloud based storage
US8863257B2 (en) 2011-03-10 2014-10-14 Red Hat, Inc. Securely connecting virtual machines in a public cloud to corporate resource
US8261295B1 (en) 2011-03-16 2012-09-04 Google Inc. High-level language for specifying configurations of cloud-based deployments
US8676980B2 (en) 2011-03-22 2014-03-18 Cisco Technology, Inc. Distributed load balancer in a virtual machine environment
EP2710510A4 (en) * 2011-05-14 2015-05-06 Bitcasa Inc CLOUD FILE SYSTEM WITH SERVER DEPLOYMENT OF USER UNKNOWN ENCRYPTED FILES
US8661255B2 (en) * 2011-12-06 2014-02-25 Sony Corporation Digital rights management of streaming contents and services

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101105808A (zh) * 2006-07-11 2008-01-16 戴尔产品有限公司 动态地改变文件表示的系统和方法

Also Published As

Publication number Publication date
US20130227303A1 (en) 2013-08-29
EP2823432A1 (en) 2015-01-14
CN104246789A (zh) 2014-12-24
AU2013226326A1 (en) 2014-09-11
WO2013130367A1 (en) 2013-09-06
DE202013012514U1 (de) 2017-02-23
US8996887B2 (en) 2015-03-31
AU2013226326B2 (en) 2017-08-31
EP2823432B1 (en) 2018-06-27

Similar Documents

Publication Publication Date Title
CN104246789B (zh) 用于虚拟机的日志结构化卷加密
KR102146568B1 (ko) 네트워크 접속 제어 시스템 및 그 방법
US10796009B2 (en) Security engine for a secure operating environment
US10200194B2 (en) Theft and tamper resistant data protection
US8930714B2 (en) Encrypted memory
CN112889052A (zh) 外围设备
US20130173916A1 (en) Secure storage system for distributed data
US9235731B2 (en) Trusted data relay
US11841985B2 (en) Method and system for implementing security operations in an input/output device
CN101479984A (zh) 用于身份管理、验证服务器、数据安全和防止中间人攻击的动态分发密钥系统和方法
US20200266971A1 (en) Re-encrypting data on a hash chain
CN111538977A (zh) 云api密钥的管理、云平台的访问方法、装置及服务器
Bhisikar et al. Security in data storage and transmission in cloud computing
US20140108791A1 (en) Secure Communication Architecture Including Sniffer
CN105324779B (zh) 使用安全存储装置的主机恢复
JP2021090151A (ja) ストレージシステムおよびストレージシステムのデータ保護方法
US10691356B2 (en) Operating a secure storage device
KR102474897B1 (ko) 양자 내성 암호화 알고리즘에 기초한 봉인 키 교환을 통해 가상 사설 네트워크를 제공하는 가상 사설 네트워크 형성 방법 및 이를 수행하는 가상 사설 네트워크 운용 시스템
CN115859337B (zh) 基于内核的防止设备破解方法、设备、服务器及介质
CN114244565B (zh) 密钥分发方法、装置、设备及存储介质
JP5361850B2 (ja) アクセス管理システム
JP2024510881A (ja) マルチクラウド環境における量子鍵配送
WO2021071719A1 (en) Executing entity-specific cryptographic code in a cryptographic coprocessor

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: American California

Patentee after: Google limited liability company

Address before: American California

Patentee before: Google Inc.