BR112016024453B1 - Método implementado por computador para gerenciar conjunto de dados, sistema de computação e meio de armazenamento legível por computador físico - Google Patents
Método implementado por computador para gerenciar conjunto de dados, sistema de computação e meio de armazenamento legível por computador físico Download PDFInfo
- Publication number
- BR112016024453B1 BR112016024453B1 BR112016024453-2A BR112016024453A BR112016024453B1 BR 112016024453 B1 BR112016024453 B1 BR 112016024453B1 BR 112016024453 A BR112016024453 A BR 112016024453A BR 112016024453 B1 BR112016024453 B1 BR 112016024453B1
- Authority
- BR
- Brazil
- Prior art keywords
- key
- encrypted
- decryption key
- encryption
- host
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
-
- 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/6209—Protecting 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
-
- 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
- G06F21/6281—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 at program execution time, where the protection is within the operating system
-
- 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
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- 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/12—Applying verification of the received information
-
- 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/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/10—Integrity
-
- 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/4557—Distribution of virtual machine instances; Migration and load balancing
-
- 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
-
- 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/45595—Network integration; Enabling network access in virtual machine instances
-
- 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/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/65—Details of virtual memory and virtual address translation
- G06F2212/652—Page size control
-
- 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
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
- H04L2209/127—Trusted platform modules [TPM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/24—Key scheduling, i.e. generating round keys or sub-keys for block encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/72—Signcrypting, i.e. digital signing and encrypting simultaneously
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2463/00—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
- H04L2463/062—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying encryption of the keys
-
- 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/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/062—Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
-
- 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/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0822—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
-
- 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/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
- Mobile Radio Communication Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Stored Programmes (AREA)
Abstract
MÉTODO IMPLEMENTADO POR COMPUTADOR DE GERENCIAR CONJUNTO DE DADOS, SISTEMA DE AMBIENTE DE COMPUTAÇÃO E MEIO DE ARMAZENAMENTO LEGÍVEL POR COMPUTADOR FÍSICO. A invenção diz respeito a gerenciar conjuntos de dados criptografados. Um método inclui obter uma primeira chave de descriptografia. A primeira chave de descriptografia é configurada para ser utilizada para descriptografar um conjunto de dados criptografado que foi criptografado utilizando um primeiro mecanismo de criptografia. O primeiro mecanismo de criptografia está associado à primeira chave de descriptografia que pode ser utilizada para descriptografar o conjunto de dados. O método ainda inclui criptografar a primeira chave de descriptografia com um segundo mecanismo de criptografia. O método ainda inclui criptografar a primeira chave de descriptografia com um terceiro mecanismo de criptografia. O método ainda inclui criar um pacote incluindo pelo menos a primeira chave de descriptografia criptografada com o segundo método de criptografia e a primeira chave de descriptografia criptografada com o terceiro método de criptografia. O método ainda inclui assinar o pacote com a assinatura de um guardião e assinar o pacote com uma assinatura criada a partir da primeira chave de descriptografia.
Description
[001] A interconexão de sistemas de computação tem facilitado os sistemas de computação distribuída, tal colmo os assim chamados sistemas de computação em "nuvem". Nesta descrição, "computação em nuvem" podem ser sistemas ou recursos para permitir o acesso à rede sob demanda conveniente ubíqua a um grupo compartilhado de recursos de computação configuráveis (por exemplo, redes, servidores, armazenamento, aplicativos, serviços, etc.) que podem ser aprovi- sionados e entregues com reduzido esforço de gerenciamento e reduzida interação com o provedor de serviço. Um modelo em nuvem pode ser composto de várias características (por exemplo, auto-serviço sob demanda, amplo acesso à rede, combinação de recursos, rápida elasticidade, serviço medido, etc.), modelos de serviço (por exemplo, Software como um Serviço ("SaaS"), Plataforma como um Serviço ("PaaS"), Infra-Estrutura como um Serviço ("IaaS"), e modelos de im-plementação (por exemplo, nuvem privada, nuvem comunitária, nuvem pública, nuvem híbrida, etc.).
[002] Os aplicativos de serviço baseado em nuvem e remotos são predominantes. Tais aplicativos são hospedados em sistemas remotos públicos e privados tais como nuvem e normalmente oferecem um conjunto de serviços baseados na Rede para comunicação para e a partir dos clientes.
[003] Nos ambientes de computação em nuvem, um locatário po de incluir um usuário, companhia, departamento de uma companhia ou outra entidade que possua direitos de acessar uma ou mais das máquinas virtuais implementadas em um centro de dados executado por um provedor de serviço na nuvem. Um locatário pode desejar ter máquinas virtuais implementadas em seu benefício. Entretanto, o locatário pode desejar impedir outras entidades (tais como outros locatários, bisbilhoteiros, ou mesmo administradores de centro de dados) de estarem aptas a acessar suas máquinas virtuais enquanto estas máquinas estão em armazenamento antes de serem implementadas em um hospedeiro em um centro de dados ou quando as máquinas virtuais estão sendo implementadas em um hospedeiro no centro de dados. Para realizar isso, a máquina virtual pode ser criptografada, tal como pela criptografia de uma unidade de disco rígido virtual e/ou dos metadados para a máquina virtual. Assim, uma máquina virtual criptografada irá instalar-se e mudar-se do armazenamento off-line e entre hospedeiros de uma maneira que preserve a confidencialidade e a integridade de seu conteúdo. Ademais, a chave utilizada para criptografar o conteúdo da máquina virtual pode ter que ser girada (isto é, alterada) com alguma regularidade. Isto pode apresentar desafios para um proprietário de uma máquina virtual estando apta a acessar suas máquinas virtuais criptografadas.
[004] Entretanto, pode existir algum desejo de ter a máquina vir tual apta tanto a ser implementada no hospedeiro como disponível para recuperação e execução pelo proprietário (por exemplo, o locatário) da VM. Isto pode ser difícil dada à natureza protegida de vários esquemas de criptografia. Em particular, uma meta da criptografia é impedir grandes números de entidades de estarem aptas a descriptogra- far uma VM criptografada pela proteção dos segredos utilizados para descriptografia. Assim, existem desafios em ter duas entidades diferentes estando aptas a descriptografar uma VM criptografada.
[005] O assunto reivindicado neste documento não está limitado às concretizações que endereçam quaisquer desvantagens ou que operam somente em ambientes tais como estes descritos acima. Ao invés disso, este antecedente somente é proporcionado para ilustrar uma área de tecnologia ilustrativa onde algumas concretizações descritas neste documento podem ser praticadas.
[006] Uma concretização ilustrada neste documento inclui um método que pode ser praticado em um ambiente de computação. O método inclui atos para gerenciar conjuntos de dados criptografados. O método inclui obter uma primeira chave de descriptografia. A primeira chave de descriptografia é configurada para ser utilizada para des- criptografar um conjunto de dados criptografado que foi criptografado utilizando um primeiro mecanismo de criptografia. O primeiro Mecanismo de criptografia está associado com a primeira chave de descrip- tografia que pode ser utilizada para descriptografar o conjunto de dados. O método ainda inclui criptografar a primeira chave de descripto- grafia com um segundo mecanismo de criptografia. O segundo mecanismo de criptografia está associado com uma segunda chave de des- criptografia utilizada por uma primeira entidade, de modo que a segunda chave de descriptografia pode ser utilizada pela primeira entidade para descriptografar o conjunto de dados por primeiro descripto- grafar chave criptografada pela primeira chave utilizando a segunda chave de descriptografia, e então, utilizar a primeira chave descripto- grafada para descriptografar o conjunto de dados. O método ainda inclui criptografar a primeira chave de descriptografia com um terceiro mecanismo de criptografia. O terceiro mecanismo de criptografia está associado com uma terceira chave de descriptografia utilizada por uma segunda entidade, de modo que a terceira chave de descriptografia pode ser utilizada pela segunda entidade para descriptografar o conjunto de dados por primeiro descriptografar chave criptografada pela primeira chave utilizando a terceira chave de descriptografia, e então, utilizar a primeira chave descriptografada para descriptografar o conjunto de dados. O método ainda incluir criar um pacote compreendendo pelo menos a primeira chave de descriptografia criptografada com o segundo métodos de criptografia e a primeira chave de descriptografia criptografada com o terceiro método de criptografia. O método ainda inclui sinalizar o pacote com uma assinatura de guardião e assinar o pacote com uma assinatura criada a partir da primeira chave de criptografia.
[007] Este Sumário é proporcionado para introduzir uma seleção de conceitos de uma forma simplificada, os quais são ainda descritos abaixo na Descrição Detalhada. Este Sumário não é pretendido para identificar aspectos chave ou essenciais do assunto reivindicado, nem é pretendido para ser utilizado como um auxílio ao determinar o escopo do assunto reivindicado.
[008] Aspectos e vantagens adicionais serão expostos na descri ção a seguir, e em parte serão óbvios a partir da descrição, ou podem ser aprendidos pela prática das instruções neste documento. Os aspectos e vantagens da invenção podem ser realizados e obtidos por meio dos instrumentos e combinações particularmente salientados nas reivindicações anexas. Os aspectos da presente invenção irão se tornar mais totalmente aparentes a partir da descrição seguinte e das reivindicações anexas, ou podem ser aprendidos pela prática da invenção como exposta daqui para frente.
[009] Para descrever a maneira na qual as vantagens citadas acima e outras vantagens e aspectos podem ser obtidos, uma descrição mais particular do assunto resumidamente descrito acima será apresentada por referência às concretizações específicas que são ilustradas nos desenhos anexos. Entendendo que estes desenhos repre- sentam somente concretizações típicas e, portanto, não são para ser considerados como limitativos em escopo, as concretizações serão descritas e explicadas com especificidade e detalhes adicionais através do uso dos desenhos acompanhantes, nos quais:
[0010] a Figura 1 ilustra um conjunto de dados criptografado e um pacote com chaves criptografadas para descriptografar o conjunto de dados criptografado;
[0011] a Figura 2 ilustra implementar máquinas virtuais criptogra fadas;
[0012] a Figura 3 ilustra operações de atestação para hospedeiros e alvos;
[0013] a Figura 4 ilustra um fluxo para ativar uma máquina virtual em um hospedeiro;
[0014] a Figura 5 ilustra um fluxo para migrar uma máquina virtual; e
[0015] a Figura 6 ilustra um método para gerenciar conjuntos de dados criptografados.
[0016] Uma ilustração simples de uma concretização da invenção é ilustrada com referência à Figura 1. A Figura 1 ilustra um conjunto de dados criptografado 101. O conjunto de dados criptografado 101 pode ser decriptografado utilizando uma chave de transporte 102. No exemplo ilustrado, várias cópias da chave de transporte 102 são criptografadas utilizando esquemas de criptografia particulares para entidades particulares. Assim, por exemplo, uma primeira cópia 102-0 é criptografada para um proprietário de modo que um proprietário do conjunto de dados 101 possa descriptografar a cópia, mas outras entidades não possam. A Figura 1 ainda ilustra n cópias adicionais onde cada uma das n cópias adicionais 102-1 até 102-n são criptografadas para guardiões (tais como entidades que podem hospedar ou armazenar um conjunto de dados para o proprietário) de modo que cada guardião possa descriptografar sua cópia, mas outra entidade não possa. Em algumas concretizações, isto pode ser realizado pela utilização de técnicas de criptografia assimétrica. Assim, por exemplo, a primeira cópia 02-0 é criptografada utilizando uma chave pública para o proprietário de modo que o proprietário possa utilizar sua chave privada para des- criptografar a primeira cópia 102-0. De forma similar, a cópia 102-1 pode ser criptografada utilizando uma chave pública para um primeiro guardião, de modo que o primeiro guardião possa descriptografar a cópia 102-1 utilizando a chave privada do guardião. Criptografia e des- criptografia similares podem ser feitas para as cópias de guardião restantes.
[0017] As cópias são empacotadas juntas e assinadas com uma assinatura de guardião 103 utilizando um hash criptográfico com chave ou assinatura digital para garantir que o pacote não seja violado. O guardião, a entidade que assina as cópias, pode ser, por exemplo, o proprietário ou um guardião, e pode alterar à medida que o conjunto de dados criptografado 101 é transferido e/ou novamente criptografado. A assinatura do guardião pode de forma criptográfica refrear o pacote para garantir que o conjunto de dados 101 não possa ser exposto para entidades não autorizadas. O pacote também inclui uma assinatura de chave de transporte 104 que é uma forma de autenticação que é criada por se executar um hash criptográfico ou outra função (tal como uma função de código de autenticação de mensagem (MAC)) da chave de transporte que pode ser utilizada como prova do conhecimento do guardião da chave de transporte.
[0018] Agora, ilustrando um exemplo mais detalhado, algumas concretizações ilustradas neste documento são direcionadas para de forma segura implementar máquinas virtuais (VMs) criptografadas para um hospedeiro em um centro de dados de um modo que permita que tanto o hospedeiro decriptografe a VM criptografada como um proprietário locatário da VM esteja apto a descriptografar a VM criptografada. Isto pode ser realizado pelo sistema criptografando a VM, e duas (ou mais, se desejado) cópias da chave de descriptografia da VM para a VM sendo criadas. Uma cópia da chave de descriptografia da VM é criptografada utilizando uma chave pública do locatário (permitindo ao locatário descriptografar a chave de descriptografia da VM utilizando a chave privada do locatário, e então, descriptografar a VM utilizando a chave de descriptografia da VM) enquanto a segunda cópia da chave de descriptografia da VM é criptografada utilizando uma chave pública do serviço de distribuição de chave (KDS) (o qual permite ao hospedeiro obter a chave de descriptografia da VM com ajuda a partir do KDS). Ademais, as duas chaves criptografadas podem ser apropriadamente embrulhadas, tal como utilizando a assinatura do guardião e uma assinatura da chave de descriptografia como descrito acima para garantir que violação não tenha ocorrido.
[0019] Apesar de o Sumário acima ser no contexto de implementar máquinas virtuais em um ambiente de centro de dados, deve ser apreciado que as concretizações podem ser implementadas igualmente em outros cenários.
[0020] O exemplo de máquina virtual é ilustrado na Figura 2, o qual ilustra um locatário 200, um serviço de nuvem 201, um gerenciador de máquina virtual 202, o armazenamento de máquina virtual 203, uma máquina virtual 204, um agente de migração 205, um KDS 206, e um hospedeiro 207. No exemplo ilustrado, a máquina virtual 204 é criptografada como ilustrado pelo hachurado em diagonal da máquina virtual no armazenamento de máquina virtual 203. O armazenamento de máquina virtual 203 é um sistema de armazenamento mantido por um provedor de serviço em nuvem 201. O locatário 200 proporciona VMs para o provedor de serviço em nuvem 201, o qual pode armaze- nar as mesmas no armazenamento de máquina 203. O locatário 200 pode criptografar as VMs ou as VMs podem ser criptografadas por outras entidades.
[0021] O agente de migração 205 (ou outra entidade apropriada, por exemplo, o locatário 200) proporciona duas cópias da chave necessária para descriptografar a máquina virtual criptografada 204. As chaves podem ser proporcionadas para o agente de migração pelo locatário 200 ou pelo KDS 206, ou por alguma outra entidade confiável. Uma cópia 209 da chave 208 é criptografada utilizando uma chave pública do locatário 200, enquanto a outra cópia 210 da chave 208 é criptografada utilizando uma chave pública do KDS 206. Várias alternativas podem ser implementadas.
[0022] A chave 208 pode ser utilizada para descriptografar a pró pria VM 204. Alternativamente, a chave 208 pode ser utilizada para descriptografar um módulo de plataforma confiável virtual (vTPM) (como será explicado abaixo em maiores detalhes) que pode ser utilizado para descriptografar a VM 204. Entretanto, isto ainda se situa dentro do escopo do que é descrito como a VM sendo criptografada. Em algumas concretizações, a VM 204 pode ser criptografada pela criptografia de uma unidade de disco rígido virtual (VHD) e/ou dos metadados da VM 204.
[0023] Se o locatário 200 desejar recuperar e ler a VM criptografa da 204, o locatário pode simplesmente solicitar a VM criptografada 204 de volta a partir do armazenamento de máquina virtual 203 e utilizar sua chave privada para descriptografar a primeira cópia 209 da chave 208, e então utilizar a chave 208 para acessar a VM 204.
[0024] Para implementar a VM 204 junto ao hospedeiro 207, a VM criptografada é enviada para o hospedeiro 207. Ademais, um pacote 212 incluindo as cópias criptografadas 209 e 210 da chave 208 é enviado para o hospedeiro 207.
[0025] O pacote 212 é assinado com a assinatura tanto do guar dião como com uma assinatura para a chave 208.
[0026] O hospedeiro 207 envia uma solicitação 211 e o pacote 212 para o KDS 206. Alternativamente, junto com enviar a solicitação 211 para o KDS 206, o hospedeiro 207 também pode enviar a segunda cópia 210 da chave 208 para o KDS. Alternativamente, o KDS 206 pode receber a segunda cópia 210 a partir de outro serviço e pode armazenar a segunda cópia 210 antes da solicitação 211.
[0027] Em algumas concretizações, pode ser feita uma determina ção quanto a se o hospedeiro 207 atende a algumas qualificações, e se o hospedeiro 207 atende às qualificações, então, a chave 208 pode ser acessada pelo KDS 206 e enviada de volta para o hospedeiro 207. Por exemplo, concretizações podem requerer que o hospedeiro 207 atenda alguns requerimentos de saúde, tal como o hospedeiro pode precisar estar executando algum software (ou alguma versão do software), ter alguns parâmetros de configuração, ter um registro de inicialização apropriado. O hospedeiro então pode utilizar esta chave 208 para destravar a VM 204 permitindo que a VM 204 seja implementada no hospedeiro 207 (como ilustrado pela versão não hachurada em diagonal da VM 204).
[0028] O dito a seguir ilustra ainda outros detalhes adicionais. Nos fluxos requerendo o uso de um Serviço de Distribuição de Chave, a estrutura de dados chamada de "descritor de proteção" ou PD é utilizada. A função principal dos PDS é empacotamento criptográfico de uma chave de criptografia (por exemplo, a chave 208), chamada de Chave de Transporte. Este empacotamento garante que o acesso à chave somente seja concedido para entidades autorizadas. O KDS 206 não sabe ou não se preocupa com quais dados a chave de transporte protege.
[0029] A título de ilustração, um proprietário de uma Máquina Vir tual (VM) pode desejar implementar a VM junto a um hospedeiro. A VM compreende dois conjuntos de dados - uma seção de metadados e um conjunto de unidades de disco rígido virtuais (VHDs). Os VHDs são criptografados utilizando uma tecnologia de criptografia apropriada, tal como BitLocker disponível a partir da Microsoft Corporation of Redmond, Washington. A chave de criptografia do volume total (FVEK) utilizada para descriptografar o VHD principal é protegida por um módulo de plataforma confiável virtual (vTPM), cujo estado é criptografado e armazenado como parte dos metadados, ao lado do PD. O estado do vTPM é ele próprio criptografado utilizando uma chave empacotada pelo PD. Isto permite ao proprietário proteger a VM de acesso não desejado à VM.
[0030] Quando um hospedeiro em uma hospedaria precisa ativar uma VM, ele extrai o PD para o vTPM a partir dos metadados e envia o mesmo para o KDS. Se o hospedeiro for autorizado para a chave vTPM, o KDS irá retornar para um Ambiente de Execução Confiável (TEE), tal como um subsistema seguro do hospedeiro, a chave com a qual o vTPM pode ser decriptografado. Vários diferentes subsistemas seguros podem ser juntamente ou alternativamente utilizados. Em uma concretização, este subsistema poderia ser implementado como funções executando no kernel da VM do hospedeiro. Em outra implementação, ele poderia estar executando no hipervisor. Em outras concretizações, ele poderia ser implementado como um espaço de endereços separado imposto pelo hipervisor utilizando capacidades de mapeamento de memória do processador (algumas vezes referidas neste documento como modo seguro virtual (VSM)). Em outras concretizações, ele poderia ser implementado como uma área de execução separada imposta pelo processador (tal como a TrustZone da arquitetura ARM, a capacidade SGX emergente descrita pela Intel Corporation of Sana Clara, Califórnia, ou a tecnologia de Módulo de Plataforma Confiável (TPM)). Estas diferentes implementações podem oferecer funcionalidade similar, tal como a capacidade de executar operações criptográficas, armazenar credenciais, validar a integridade de código ou dados, e proteger segredos. Entretanto, elas podem ser diferentes nas propriedades de segurança que elas oferecem.
[0031] Alternativamente, em algumas concretizações, se a VM for acessada no ambiente do proprietário da VM, o KDS não é envolvido em liberar a chave à medida que o PD contém um empacotamento da chave de transporte que permite acesso direto pelo proprietário da VM. De forma notável, o KDS pode ser mantido pelo serviço em nuvem 201 em algumas concretizações, mas pode ser mantido por uma entidade externa em outras concretizações.
[0032] As entidades autorizadas a receber a chave são o "proprie tário" ou zero ou mais "guardiões". A distinção principal entre os dois é que, em algumas concretizações, os proprietários têm que criar o PD original; além disso, em algumas concretizações, somente proprietários podem ser expressos em PDs utilizando certificados auto- assinados. O projeto de PD presta atenção à detecção de impostor: se toma cuidado para garantir que uma entidade não autorizada não possa passar pelo proprietário ou por um guardião de um PD. Finalmente, são feitas aprovisionamentos para recuperação a partir do compromisso de chave. Por exemplo, isto pode ser realizado pela utilização de diferentes chaves de vida útil onde o proprietário é representado por uma chave de longo prazo que é altamente protegida e esta chave é utilizada para assinar as chaves de proprietário de prazo mais curto que podem não receber os mesmo grau de proteção. A chave de curto prazo se torna, efetivamente, um guardião (isto é, um proprietário como guardião).
[0033] As concretizações também podem incluir rolamento auto mático de chave. Cada vez que um KDS 206 é solicitado a abrir um PD, isto é devido ao fato de que alguma entidade (tal como um hospedeiro do fabric) está tentando ler um pedaço de dados criptografado. Tal operação é associada com um fluxo de "ingresso", tal como migrar em uma VM ou criar uma nova VM protegida a partir de alguns "dados de customização" criptografados. O KDS 206 responde a tais solicitações com as chave solicitada bem como com outro PD - o PD utilizado em um fluxo de "egresso" subsequente, normalmente significando migração de uma VM para outro hospedeiro 213 ou para armazenamento off-line (por exemplo, armazenamento de máquina 203). Esta configuração garante que o KDS 206 tenha que ser contatado somente uma vez - no ingresso, e que é quando a saúde do hospedeiro é avaliada. Avaliação adicional do hospedeiro não é feita no egresso se o KDS não for contatado mais do que uma vez. Entretanto, concretizações pode permitir várias viagens de ida e volta para o KDS 206 à medida que não existe dano nesta ocorrência. A avaliação de hospedeiro pode ser executada cada vez que as concretizações entram em contato com o KDS. Assim, se o KDS não for contatado no egresso, também não existe avaliação do hospedeiro no egresso.
[0034] Em algumas concretizações, em qualquer ponto no tempo, exatamente uma entidade, seja o proprietário ou um guardião, é designado como o "Guardião" do PD - isto é, a entidade que criou e assinou o PD (por exemplo, como ilustrado em 103). À medida que o PD se move de proprietário para um guardião e de um guardião para outro, a guarda irá alterar. Entretanto, a guarda irá permanecer a mesma contanto que o mesmo KDS manipule o PD. Qualquer guardião ou proprietário pode "arrebatar" um PD existente (se tornar seu guardião) sem o guardião atual ser envolvido.
[0035] O dito a seguir ilustra uma ilustração matematicamente ri gorosa de um exemplo. A seção fará uso da seguinte notação: • K0, Ki, ST, TT - entidades envolvidas nos fluxos (locatário K0, locatário Ki, fonte TEE ST, alvo TEE TT) • NEPub, NEPri - chaves de criptografia pública e privada de alguma entidade N; NE é a forma abreviada para NEPub • NSPub, NSPri - chaves de assinatura pública e privada de alguma entidade N; NS é a forma abreviada para NSPub certificado de uma entidade N (proprietário ou locatário) especificando o nome em questão da entidade SN e sua chave pública (assinatura ou criptografia) NK, emitida pela entidade M pela assinatura com sua chave privada MSPri (a chave de assinatura poderia assinar a chave pública correspondente para um certificado auto-assinado) chaves de transporte simétricas (por exemplo, l pode ser uma chave de ingresso e uma chave de egresso); em, algumas concretizações, as chaves de transporte não são pretendidas para serem utilizadas diretamente, mas ao invés disso, como entradas para uma função de derivação de chave para produzir chaves de criptografia e de autenticação para várias partes da carga útil VM protegida como um todo, entretanto, diferentes esquemas de derivação de chave podem ser utilizados mensagem M criptografada utilizando a chave K; K pode ser simétrica ou assimétrica, dependendo do contexto Mensagem M autenticada utilizando a chave simétrica K Mensagem M assinada utilizando a chave assimétrica K Concatenação de mensagens M e M2
[0036] Ademais, a forma reduzida nas descrições de fluxo irão uti lizar variáveis para representar mensagens mais complexas; especifi- camente no ingresso dentro de um hospedeiro, é provável de se lidar com mensagens descritas abaixo: chave dθ criptografia derivada (KDF corresponde a "função de derivação de chave", "e" é uma entrada para a KDF utilizada, por exemplo, para diferenciar derivação de chave de criptografia da derivação, por exemplo, de chave de assinatura. Entretanto, deve ser observado que isto é somente um exemplo e qualquer outra entrada apropriada pode ser utilizada igualmente).
[0037] ° Esta é uma chave simétrica derivada a partir de TK pa ra propósito de criptografar a carga útil
[0038] ° Observe que várias chaves de criptografia podem ter que ser derivadas a partir de uma única chave de transporte, correspondendo a diferentes partes de uma carga útil da VM protegida (por exemplo, o estado vTPM criptografado é somente tal parte) chave de autenticação derivada
[0039] ° Esta é uma chave simétrica derivada a partir de TK pa ra propósito de autenticar a carga útil via, por exemplo, uma função HMAC
[0040] ° Observe que pode ser necessário derivar várias tais chaves de autenticação a partir de uma única chave de transporte para propósito de criptografia autenticada carga útil criptografa da e autenticada P
[0041] ° Carga útil autenticada e criptografada (tal como estado vTPM) criada utilizando uma chave de criptografia e sua chave de auten-ticação acompanhante correspondendo a uma chave de transporte TK
[0042] Apesar de no exemplo ilustrado aqui, uma chave de auten ticação e chave de criptografia separadas serem ilustradas, deve ser apreciado que em outras concretizações, alguns algoritmos criptográficos permitem que a mesma chave seja utilizada tanto para criptografia como para autenticação. Assim, as estruturas de dados ilustradas neste documento podem ser simplificadas em outras concretizações.
[0043] O PD irá incluir vários empacotamentos das chaves de transporte - um pelo proprietário (abaixo isto será chamado de uma mensagem do tipo "B") e zero ou mais empacotamentos pelos guardiões, os quais são delegados pelo proprietário (estas são mensagens referidas como tipo "C"). chave empacotada do proprietário
[0044] ° Esta é a chave de transporte criptografada para o pro prietário da VM; ela permite que a VM seja pega por seu proprietário em qualquer ponto no tempo
[0045] ° Somente entrada do proprietário pode conter um certifi cado não delegado (auto-assinado) através da chave de assinatura
[0046] ° Existem três partes para esta mensagem - o certificado através da chave de assinatura do proprietário, um certificado emitido pelo proprietário através da chave de criptografia pública do proprietário e a criptografia da chave de transporte utilizando a chave de criptografia pública (O certificado através da chave de assinatura do proprietário pode ser auto-assinado, mas ele não precisa ser auto-assinado e poderia ser emitido pela autoridade de certificado que é mutuamente confiável por todas as partes). chave em pacotada do guardião
[0047] ° Esta é a mesma chave de transporte criptografada para um guardião da VM
[0048] ° Kj é o guardião "atual" para o qual a chave de transpor- te é criptografada
[0049] ° Ki é o guardião "anterior" na cadeia ( i == 0 para pro prietário), o qual delega a autoridade de guardião para Kj
[0050] ° Poderiam existir zero ou mais guardiões para uma VM, de modo que zero ou mais mensagens do tipo C dentro de um PD
[0051] Diferentes empacotamentos da chave de transporte são combinados em um conjunto, ilustrado abaixo como uma matriz, onde cada fileira contém um número de entradas concatenadas correspondendo a um proprietário ou a um guardião. Os proprietários são identificados como tais (utilizando a letra "o"). O guardião atual é sinalizado como tal com um asterisco. No exemplo ilustrado abaixo, o PD está no formato que ele existe quando primeiro criado pelo proprietário para consumo pelo KDS 206. A combinação de diferentes empacotamentos da chave é uma mensagem do tipo D. A mensagem gerada pelo proprietário para um único guardião pareceria:
[0052] O KDS 206 pode consumir esta mensagem, tornar ele pró prio o guardião e adicionar guardiões adicionais, resultando em um PD que parece o seguinte:
[0053] A integridade e a autenticidade da mensagem do tipo D são proporcionadas por uma mensagem do tipo E. Esta mensagem serve como prova de que o guardião de fato tem conhecimento da chave protegida pela mensagem do tipo D e de fato criou a mensagem.
[0054] ondeé a chave de assinatura privada da entrada na mensagem D que é marcada como o "guardião".
[0056] Em algumas concretizações, o formato de dado PD tam bém inclui o cabeçalho (para comunicar informação tal como o número da versão blob do PD), bem como provisões para agilidade criptográfica (escolha de cifra, modo e tamanho da chave para cada chave).
[0057] Um fluxo típico envolvendo um PD através de alguma carga útil inclui o hospedeiro enviando um PF Fi da chave de ingresso TKi para KDS, e KDS respondendo com dois pedaços de informação: 1) Um empacotamento de duas chaves de transporte (ingresso e egresso - TKi e TKe) para consumo pelo TEE do hospedeiro. Este empacotamento envolve a criptografia autenticada de uma conca- tenação de chaves de ingresso e de egresso: ° TW - chave de empacotamento, gerada pelo KDS TW-e TW-a chaves de criptografia e de autenticação derivadas a partir de TW 2) Uma chave de egresso PF Fe construída ao redor de TKe a ser incluída com a carga útil de egresso. Esta não é almejada no TEE do hospedeiro e pode somente ser aberta pelos proprietários ou por um dos guardiões.
[0058] Em alguns casos, o hospedeiro irá proporcionar vários des critores de proteção de ingresso. Neste caso, o KDS irá garantir que todos os descritores de proteção possuam o exato mesmo proprietário (como evidenciado a partir do certificado auto-assinado na raiz da cadeia de delegação). O descritor de proteção de egresso resultante se rá um super conjunto de todos os guardiões a partir dos descritores de proteção de ingresso e a mensagem H irá parecer:
[0059] Como já mencionado, o KDS 206 não tem conhecimento do tipo de carga útil que o blob do tipo F protege. A carga útil poderia ser o estado vTPM, aprovisionando informação para uma VM, ou alguma coisa totalmente diferente. Em algumas concretizações, a carga útil é criptografada utilizando uma chave de criptografia derivada a partir da chave de transporte "mestre", e autenticada utilizando a chave de autenticação correspondente (como ilustrado pelas mensagens do tipo A). Entretanto, outras disposições de derivação de chave poderiam ser construídas para obter o mesmo efeito ou um efeito geral similar.
[0060] Em algumas concretizações, cada hospedeiro (por exemplo, hospedeiros 207 e 213) completa a atestação antes que ele possa hospedar uma VM ou participar nos fluxos de migração. Quando completando com sucesso a atestação com um serviço de atestação de hospedeiro (HAS) 214, é emitido um certificado de saúde para o hospedeiro. A chave no certificado, em algumas concretizações, é uma chave de criptografia pública TEE para um subsistema confiável do hospedeiro. O hospedeiro subsequentemente apresenta o certificado de saúde para o KDS 206, o qual responde por criptografar dados sensíveis (por exemplo, uma chave de criptografia vTPM) para o TEE do hospedeiro. Observe que neste caso, não existe "autenticação" com o certificado de saúde e nenhuma prova de posse requerida pelo KDS 206 para autenticar o hospedeiro. Simplesmente, o hospedeiro está livre para apresentar qualquer que seja o certificado de saúde que ele deseje, mas se ele não possuir a chave privada correspondente, ele não estará apto a en-tender a resposta que ele recebe a partir do KDS.
[0061] Agora, é feita referência à Figura 3, a qual ilustra um fluxo 300 para um exemplo muito específico. Com referência à Figura 3:
[0062] 1. O hospedeiro inicia a atestação por entrar em contato com o serviço de atestação
[0063] 2. O serviço de atestação emite uma solicitação. Na concre tização utilizando tecnologia TPM, esta pode ser uma solicitação de leitura de Registro de Configuração da Plataforma (PCR). Isto é apresentado na Figura 3 como uma única troca de solicitação / resposta, mas na prática irá assumir duas pernas: uma para estabelecer uma sessão e outra - para satisfazer a solicitação. • Dois modos diferentes de atestação são possíveis em concretizações utilizando um dispositivo TPM 2.0 - um é uma cotação do Grupo de Computação Confiável (TGC) através de nonce proporcionado pelo serviço, e outro - uma "leitura PCR direta" através de uma sessão salgada autenticada. Observe que é meramente um exemplo. Em outras concretizações, por exemplo, TPM 1.2 poderia ser utilizado, apesar de que a funcionalidade de leitura PCR direta não estaria disponível. 3. O dispositivo satisfaz a solicitação de leitura PCR por fornecer valores dos PRCs solicitados junto com um TCG Log 4. O dispositivo junta uma "solicitação de atestação" que compreende uma resposta para a solicitação de leitura PCR 5. O serviço inspeciona o registro de ocorrência TCG fornecido, os valores PCR, e opcionalmente consulta a política para determinar se os conteúdos do registro de ocorrências TCG fornecidos pelo hospedeiro são saudáveis (em adição a simplesmente associar os valores PCR) 6. O serviço produz um certificado de saúde, o qual internamente codifica a chave pública TEE e um conjunto de medidas da saúde do hospedeiro como determinadas pelo serviço de atestação de saúde 214. 7. Este certificado de saúde é armazenado pelo hospedeiro para subsequente uso na ativação da VM e nos fluxos de migração.
[0064] Hospedagem de Máquina Virtual e Migração
[0065] A migração de VM é um fluxo complexo contendo várias peças móveis. Ela envolve o servidor hospedeiro fonte, o servidor hospedeiro alvo e um serviço de gerenciamento que orquestra o movimento. Esta seção irá focar principalmente no gerenciamento de chave relacionado com a migração de VM. A migração de VM Poe ocorrer, por exemplo, em um dos seguintes casos: • A partir de um hospedeiro para outro sob a competência do mesmo guardião • A partir de um proprietário para o guardião • A partir de um guardião para outro • A partir do guardião de volta para o proprietário
[0066] Em cada caso, a VM é assumida como percorrendo territó rio hostil (rede, armazenamento, espaço de endereços). O modo para proteger a carga útil e o próprio PD descrito acima obtém transporte de extremidade à extremidade seguro da VM e de seu material de chave.
[0067] Em cada cenário de migração da VM, a VM protegida per corre em sua totalidade a partir de um hospedeiro para outro ou para / a partir do armazenamento. Em uma concretização, a VM compreende os seguintes blocos constituintes: • Chaves de criptografia vTPM • Estado vTPM • Metadados VM • Um ou mais VHDs • Estado de memória VM • Estado de dispositivo VM
[0068] As chaves de criptografia vTPM (por exemplo, chaves de transporte ou chaves derivadas a partir das chaves de transporte) são criptografadas de modo que somente um proprietário ou guardião de uma VM poderia ter acesso às mesmas. As chaves de transporte são então transmitidas para o TEE do hospedeiro autorizado para ver as mesmas.
[0069] Em um exemplo ilustrativo, o estado vTPM é criptografado utilizando a chave de transporte ou uma chave de criptografia derivada a partir da chave de transporte; a criptografia é ainda autenticada utilizando uma chave de autenticação, também derivada a partir da mesma chave de transporte. O estado vTPM e as chaves de transporte que protegem o mesmo não deixam o TEE do hospedeiro desprotegido. Entretanto, deve ser apreciado que isto é meramente um exemplo, e que existem virtualmente vários modos ilimitados pelos quais as chaves poderiam ser utilizadas para proteger a confidencialidade e a integridade que se situam dentro do escopo de concretizações da presente invenção.
[0070] Partes sensíveis dos metadados também poderiam ser au tenticadas, utilizando uma chave de autenticação diferente, também derivada a partir da chave de transporte (em algumas concretizações, como uma questão de boa prática criptográfica, a chave de autenticação utilizada para validade o estado criptografado vTPM não deve deixar o TEE, de modo que uma chave separada é utilizada). Mais geralmente, no exemplo ilustrado, toda a criptografia envolvendo estas chaves secretas é feita utilizando o TEE ou uma das extensões do TEE (tal extensão pode ser o kernel do OS hospedeiro protegido utilizando integridade de código imposta pelo hipervisor). Uma hierarquia de chaves pode ser construída com a chave de transporte em sua raiz e várias partes do estado da VM são criptografadas utilizando chaves nesta hierarquia.
[0071] Presume-se que o VHD é criptografado utilizando a VFEK protegida pelo vTPM, de modo que a arquitetura de migração não faz tentativa adicional de proteger o mesmo. Em adição, é possível que o locatário 200 transfira a partir do provedor de serviço 201 uma VM que pertence a este locatário e execute a mesma diretamente, isto é, sem envolver o KDS 206.
[0072] Finalmente, a memória VM e o estado do dispositivo são criptografados utilizando chaves derivadas a partir da chave de transporte mestre. Estes podem ser similarmente autenticados utilizando chaves de autenticação correspondentes.
[0073] Antes dos fluxos envolvendo VMs convidadas protegidas poder começar, vários pré-requisitos são satisfeitos. 1. (OPCIONAL - somente para casos onde o VMM 202 orquestra o fluxo de migração) Um serviço de gerenciamento VMM, tal como SCVMM disponível a partir da Microsoft Corporation of Redmond, Washington, está ativo e executando, disponível tanto para o servidor fonte como alvo. 2. O serviço de distribuição de chave 206 e o serviço de atestação de hospedeiro 214 estão ativos. 3. O servidor de hospedeiro fonte (por exemplo, hospedeiro 207) possui uma máquina virtual convidada 204 ativa e executando. 4. No caso de migração, o servidor hospedeiro alvo (por exemplo, hospedeiro 213) é capacitado com TEE e está ativo e executando.
[0074] Várias etapas são executadas antes que qualquer migração real aconteça. Devido às extremas restrições de tempo que podem existir em algumas concretizações, a migração rápida em particular requer que estas sejam executadas (algumas vezes, bem) antecipadamente à tentativa real de migração. Observe que a lista abaixo propositalmente lista somente novas provisões e omite as etapas que são bem conhecidas, tal como o hospedeiro fonte consultando o alvo em relação à disponibilidade de recursos para hospedar a nova VM convidada, etc. 1. Tanto o hospedeiro fonte (por exemplo, hospedeiro 207) como o hospedeiro alvo (por exemplo, hospedeiro 213) completaram a atestação (por exemplo, tal como descrito acima). 2. O hospedeiro alvo (por exemplo, hospedeiro 213) satisfaz a política de migração de ingresso, caso contrário, ele não é elegível para receber o estado da VM - é útil estabelecer isto antecipadamente, apesar de a aderência ao hospedeiro à política de migração poder ser verificada pelo KDS 206 no momento da migração real 3. A atestação com sucesso permite a criação de comunicação segura entre os TEEs raiz dos hospedeiros fonte e alvo (especificamente, o trustlet do agente de migração executando dentro do TEE raiz) e o KDS 206 em virtude da criptografia de dados entre as entidades.
[0075] Convertendo VM Existente para VM Protegida
[0076] Uma VM em um ambiente do locatário pode ser convertida para uma condição de "VM protegida" pela associação da mesma com um vTPM. Esperara-se que isto normalmente seja seguido pela migração da VM para um fabric do provedor de serviço. Em algumas concretizações, para criar uma VM protegida a partir de uma VM normal, acontece o seguinte: 1. Um PD para a VM é criado e preenchido com o proprietário e o guardião (guardiões) correto 2. Um vTPM é criado e opcionalmente certificado pela emissão de um certificado de endosso assinado por uma autoridade apropriada, tal como, por exemplo, a própria autoridade de certificado do locatário. 3. Uma tecnologia de criptografia, tal como BitLocker é habilitada na VM e seus VHDs totalmente criptografados
[0077] Uma vez que os VHDs da VM tenham sido totalmente crip tografados, a VM está "segura o suficiente" para ser migrada para o fabric do provedor de serviço.
[0078] A criação de um PD novo em filha (oposto à re-criptografia de um PD existente) é diferente de outros fluxos devido ao fato de que em outros casos envolvendo PDS, o hospedeiro autentica o KDS 206 por ter o mesmo abrindo com sucesso um PD existente. No caso da criação de um PD novo em folha, este PD original ainda não existe.
[0079] Algumas concretizações podem inicializar o fluxo ao redor da criação do novo PD por iniciar com um PD "nulo" - uma chave de ingresso conhecida empacotada pelo proprietário e cada locatário permitido. Este guardião do PD "nulo" é o próprio proprietário. O PD fica disponível para qualquer um dentre os hospedeiros do locatário atarefados com a criação da VM. Para criar um PD para uma nova VM, o hospedeiro submete o PD nulo para o KDS, o qual retorna duas chaves (uma chave conhecida para ingresso, mais uma nova chave de egresso) bem como um PD ao redor da chave de egresso. Esta chave de egresso é utilizada pelo hospedeiro para migrar a VM a partir do armazenamento de máquina 203 (ou de outro armazenamento) ou para o provedor de serviço.
[0080] Seguindo-se à criação da chave de egresso, o hospedeiro pode criar e certificar um vTPM. Uma vez que o vTPM seja criado e certificado, ele pode ser anexado aos metadados da VM. O OS da VM é então reiniciado e o novo dispositivo virtual vTPM se torna exposto para a mesma na próxima inicialização. Neste ponto, o OS está livre para criptografar seu VHD, tal como por utilizar o BitLocker. Ativação da VM em um Hospedeiro
[0081] Antes de um hospedeiro pode migrar uma VM, ele primeiro precisa carregar e executar a mesma. Isto é realizado por transferir uma VM a partir do armazenamento off-line. Presume-se que o VHD da VM está criptografado (por exemplo, com BitLocker), e a chave está lacrada dentro do vTPM da VM. O estado do vTPM é empacotado uti- lizando uma chave de transporte TKi (mensagem Ai) e dados associados para ajudar o KDS a desempacotar a chave TKi para o hospedeiro (PD Fi). Tanto Ai como Fi são parte dos metadados da VM. Com referência à Figura 4, etapa por etapa, o fluxo de ativação de VM 400 é: 1. O serviço de gerenciamento inicia a ativação da VM em um hospedeiro por entrar em contato com o mesmo e proporcionar o mesmo para uma ligação com a VM para ser ativada. 2. O hospedeiro recebe a solicitação 3. O hospedeiro entra em contato com o armazenamento off-line para transferir a VM 4. Após transferir a VM, o hospedeiro lê os metadados da VM e continua para construir uma solicitação para o KDS: • Extrai blobs Ai (estado vTPM empacotado) e Fi (PD para chaves de criptografia o vTPM empacotadas pelo KDS) • Envia para o KDS o PD Fi acompanhado pelo certificado de saúde do hospedeiro, o qual contém sua chave pública TEE STE- Pub 5. O KDS recebe a solicitação e autentica o certificado de saúde • O certificado não está expirado • A assinatura no certificado é válida (se o certificado for auto-assinado, a assinatura corresponde a esta do serviço de atestação; caso contrário, o certificado provém de uma autoridade de certificado (CA) que o KDS reconhece) • (OPCIONAL) Políticas de emissão codificada no certificado correspondem a um hospedeiro saudável por política atual de saúde de hospedeiro • OBSERVAÇÃO: O KDS não valida que a solicitação provenha a partir do hospedeiro de posse da chave privada correspondendo ao certificado de saúde; sua reposta será criptografada utilizan- do a chave TEE pública do solicitante e assim, sem uso para um agressor 6. O KDS abre o blob Fi e calcula a resposta: • Processa o PD de ingresso para extrair a chave de transporte de ingresso: ° A partir de Fi, extrai Di e Ei ° A partir de Di, extrai Bi vem como zero ou mais mensagens do tipo Ci ° Dentre as mensagens Bi e Ci, localiza a fileira correspondendo ao KDS ° Constrói uma cadeia de certificado iniciando com o certificado de assinatura do guardião, para ter certeza de que todos os certificados de chave de assinatura na cadeia se resumem para o certificado de assinatura do proprietário (o qual é o único que pode ser auto- assinado, e se ele não for autoassinado, verifica que ele é assinado por uma autoridade confiável tal como, por exemplo, Verisign of Reston, Virginia). ° Pode ser benéfico verificar todas as mensagens Bi e Ci ° A partir das mensagens Bi e Ci que correspondem ao KDS, descriptografar TKi ° A partir de TKi, derivar ''~ci
[0082] ° Utilizando , verificar HMAC dentro de Ei bem como a assinatura do guardião através do PD • Gerar a chave de transporte de egresso TKe • Gerar PD para TKe
[0083] A partir de TEPub (obtida a partir de Bi) e TKe, gerar Be ° A partir de KEpub e TKe, gerar Ce (isto é executado para todas as mensagens C, as quais podem ser zero ou mais) ° A partir de Be e Ce, gerar De; marca a si próprio como o guardião enquanto no mesmo ° Autenticar De com ’’"fZ, resultando na mensagem Ee ° Assinar De utilizando sua chave de assinatura ° Concatenar De e Ee como PD Fe de egresso • Prepara para enviar TKi e TKe de volta para o hospedeiro ° Gera TW e partir desta - TW-e e TW-a ° A partir de TW, TW-a, TW-e, TKi, TKe e STEPub, gera H • A resposta para o hospedeiro compreende as mensagens concatenadas: 7. O hospedeiro recebe a resposta a partir do KDS e passa a mensagem H para o TEE, junto com Ai 8. O TEE manipula a resposta a partir do KDS: • A partir de H, utilizando STEPri, decriptografa TW • A partir de TW, deriva TW-e e TW-a • Utilizando TW-e, decriptografa TKi e TKe • Autentica a criptografia de TKi e TKe utilizando TW-a, assim autenticando a habilidade do KDS em abrir o PD (e assim, a autenticidade do KDS) • A partir de TKi, deriva as chaves de criptografia e de au-tenticação - TKi-e e TKi-a • Utilizando TKi-e, decriptografa o estado vTPM a partir de Ai • Utilizando TKi-a, autentica a criptografia do estado vTPM 9. Uma vez que o estado vTPM seja decriptografado, TEE ativa vTPM • TEE retém o valor de TKe até o momento quando ele tiver que migrar o vTPM (isto é, compor a mensagem Ae e enviar para o alvo) 10. Agora, o hospedeiro pode completar a sequência de ativação da VM
[0084] Em algumas concretizações, por razões de forward secrecy ("segurança futura"), cada instância de migração requer uma chave única, boa para esta migração sozinha. Uma consideração de segurança importante que é acomodada por este projeto é que pouca ou nenhuma confiança é colocada no serviço VMM 202.
[0085] Um mecanismo possível para migração envolvendo estado TEE é ilustrado na Figura 5. O fluxo 500 ilustrado na Figura 5 utiliza vários serviços: "serviço de gerenciamento" (tal como SCVMM), "serviço de atestação" e "serviço de distribuição de chave". O Serviço de Atestação e o Serviço de Distribuição de Chave podem estar co- localizados desde que eles são igualmente confiáveis (e mais confiáveis do que o SCVMM).
[0086] A migração real inicia com o "acordo de chave" seguido pe la transferência de dados reais. 1. O serviço de gerenciamento inicia a migração por entrar em contato com o hospedeiro fonte e proporcionar para o mesmo o ID da máquina virtual que é para ser migrada e a identidade do hospedeiro alvo. 2. O hospedeiro fonte em via a solicitação de migração para o hospedeiro alvo junto com a chave de transporte de egresso PD Fe; a partir do ponto de vista do alvo, este é um PD de ingresso. 3. O hospedeiro alvo recebe a solicitação de migração. 4. O hospedeiro alvo solicita para o KDS empacotar a chave de transporte para o mesmo por enviar a mensagem Fe que ele recebeu a partir do hospedeiro fonte para o KDS junto com seu certificado de saúde do hospedeiro. 5. O KDS valida o certificado de saúde do hospedeiro apresentado pelo hospedeiro alvo do mesmo movo que foi descrito para o hospedeiro fonte acima. 6. O KDS executa processamento similar das chave de criptografia de estado como foi feito para ativação da VM descrita acima, somente nesta hora ele retornar as chaves TKe e TKe’ ao invés de TKi e TKe. 7. O hospedeiro alvo recebe esta resposta e passa a mesma a diante para seu TEE para desempacotamento. 8. o TEE do hospedeiro alvo decriptografa a chave TKe utilizando sua chave TEE privada TTEpri 9. O hospedeiro alvo sinaliza para o hospedeiro fonte sua disposição para continuar com a migração real.
[0087] Isto completa a fase de acordo de chave e estabelece os estágios para uma última etapa - transferência de dados segura real. 10. Finalmente, após todas as etapas acima terem sido realizadas, os dois servidores podem começar a transferência do estado - ele é criptografado na fonte pelo trustlet de migração do TEE, e passado adiante para o TEE alvo. 11. O TEE na fonte e no alvo manipula a criptografia de estado vTPM e a criptografia utilizando chaves derivadas para transferir o estado de um para outro. Cópia de Segurança e Restauração de Máquina Virtual
[0088] O fluxo de cópia de segurança e de restauração, a partir da perspectiva de gerenciamento de chave e de fluxo de dados, é similar a uma migração a partir do servidor fonte para alguma instalação de armazenamento de dados em descanso, seguido (algum tempo depois) por uma migração para o servidor alvo dos mesmos dados. Os dados em descanso assim copiados para segurança não requerem quaisquer proteções adicionais, desde que o fluxo já é projetado para percorrer território inseguro. O único requerimento é que o VM ID e a chave de migração criptografada (pelo KDS) seja armazenados com o estado da VM, desde que estes são utilizados pelo serviço de distribuição de chave para retirar o lacre do uso da chave de descriptografia necessária para restauração.
[0089] O requerimento de foward secrecy é mais bem servido se o hospedeiro fazendo a cópia de segurança do estado da VM obtiver uma nova chave de criptografia, e utilizar esta para novamente cripto- grafar o estado da VM antes de tira a cópia de segurança do mesmo.
[0090] Detecção de Falha e Troca de Máquina Virtual dentro de um Grupamento
[0091] A detecção de falha e troca de uma VM dentro de um gru pamento também pode ser considerada um caso especial de migração; neste caso, todos os nós em um grupamento compartilham os mesmos metadados da VM para cada VM ID hospedado pelo grupamento, e assim, podem obter a chave de migração a partir do KDS á frente de qualquer detecção de falha e troca. Os nós em um grupamento compartilham armazenamento onde os dados da VM estão localizados; desde que todos os nós em um grupamento concordam em relação a qual chave VM empacotada utilizar, o acordo de chave da mesma forma é fácil de estabelecer para garantir detecção de falha e troca rápida e segura. Em particular, cenários de detecção de falha e troca não requerem forward secrecy, de modo que a chave com a qual o vTPM é criptografado não altera enquanto uma VM permanece dentro do grupamento. Migração de Máquina Virtual entre Centros de Dados
[0092] Contanto que o PD para uma VM contenha ambos os cen tros de dados como guardiões, a migração não é diferente do que é no caso de locatário para provedor de serviço - o guardião de recepção abre o PD, gera um novo PD e estabelece ele próprio como o guardião do PD. A chave de transporte no novo PD é criptografada para o proprietário e cada guardião, como antes.
[0093] A discussão seguinte agora se refere a vários métodos e atos de método que podem ser executados. Apesar de os atos de método serem discutidos em alguma ordem ou ilustrados em um fluxo- grama como ocorrendo em uma ordem particular, nenhum ordenamento particular é requerido, a não ser que especificamente declarado, ou requerido devido a um ato ser dependente de outro ato estar completo antes do ato ser executado.
[0094] Agora, referindo-se a Figura 6, o método 600 é ilustrado. O método 600 pode ser praticado em um ambiente de computação. O método inclui atos para gerenciar conjuntos de dados criptografados. O método inclui obter uma primeira chave de descriptografia (ato 602). A primeira chave de descriptografia é configurada para ser utilizada para descriptografar um conjunto de dados criptografado que foi criptografado utilizando um primeiro mecanismo de criptografia. O primeiro mecanismo de criptografia está associado com a primeira chave de descriptografia que pode ser utilizada para descriptografar o conjunto de dados.
[0095] O método 600 ainda inclui criptografar a primeira chave de descriptografia com um segundo mecanismo de criptografia (ato 604). O segundo mecanismo de criptografia está associado com uma segunda chave de descriptografia utilizada por uma primeira entidade, de modo que a segunda chave de descriptografia pode ser utilizada pela primeira entidade para descriptografar o conjunto de dados por primeiro descriptografar a chave criptografada pela primeira chave utilizando a segunda chave de descriptografia, e então utilizar a primeira chave descriptografada para descriptografar o conjunto de dados.
[0096] O método 600 ainda inclui criptografar a primeira chave de descriptografia com um terceiro mecanismo de criptografia (ato 606). O terceiro mecanismo de criptografia está associado com uma terceira chave de descriptografia utilizada por uma segunda entidade, de modo que a terceira chave de descriptografia pode ser utilizada pela segunda entidade para descriptografar o conjunto de dados por primeiro descriptografar a chave criptografada pela primeira chave utiliza a terceira chave de descriptografia, e então utilizar a primeira chave des- criptografada para descriptografar o conjunto de dados.
[0097] O método 600 ainda inclui criar um pacote compreendendo pelo menos a primeira chave de descriptografia criptografada com o segundo método de descriptografia e a primeira chave de descripto- grafia com o terceiro método de criptografia (ato 608).
[0098] O método ainda inclui assinar o pacote com uma assinatura de guardião (ato 610) e assinar o pacote com uma assinatura criada a partir da primeira chave de descriptografia (ato 612).
[0099] Ademais, os métodos podem ser praticados por um sistema de computador incluindo um ou mais processadores e meios legíveis por computador tal como memória do computador. Em particular, a memória do computador pode armazenar instruções executáveis por computador que quando executadas por um ou mais processadores causam que várias funções sejam executadas, tal como os atos citados nas concretizações.
[00100] As concretizações da presente invenção podem compreender ou utilizar um computador de propósito especial ou de propósito geral incluindo hardware de computador, como discutido abaixo em maiores detalhes. As concretizações dentro do escopo da presente invenção também incluem meios físicos e outros meios legíveis por computador para transportar ou armazenar instruções e/ou estruturadas de dados executáveis por computador. Tais meios legíveis por computador podem ser qualquer meio que possa ser acessado por um sistema de computador de propósito geral ou de propósito especial. Os meios legíveis por computador que armazenam instruções executáveis por computador são meios de transmissão. Assim, a título de exemplo e não de limitação, as concretizações da invenção podem compreender pelo menos dois tipos distintamente diferentes de meios legíveis por computador: meio de armazenamento físico legível por computador e meio de transmissão legível por computador.
[00101] O meio de armazenamento físico legível por computador incluir RAM, ROM, EEPROM, CD-ROM ou outro armazenamento em disco ótico (tais como CDs, DVDs, etc.), armazenamento em disco magnético ou outros dispositivos de armazenamento magnéticos, ou qualquer outro meio que possa ser utilizado para armazenar meio de código de programa desejado na forma de instruções ou de estruturas de dados executáveis por computador e que possa ser acessado por um computador de propósito geral ou de propósito especial.
[00102] Uma "rede" é definida como uma ou mais ligações de dados que permitem o transporte de dados eletrônicos entre os sistemas e/ou módulos de computador e/ou outros dispositivos eletrônicos. Quando informação é transferida ou proporcionada através de uma rede ou de outra conexão de comunicações (seja com uso de fios, sem uso de fios, ou uma combinação de com uso de fios e sem uso de fios) para um computador, o computador apropriadamente vê a conexão como um meio de transmissão. O meio de transmissão pode incluir uma rede e/ou ligações de dados que podem ser utilizadas para transportar o meio de código de programa desejado na forma de instruções ou de estruturas de dados executáveis por computador e que possam ser acessadas por um computador de propósito geral ou de propósito especial. Combinações do dito acima também estão incluídas dentro do escopo de meio legível por computador.
[00103] Ademais, ao alcançar vários componentes do sistema de computador, o meio de código de programa na forma de instruções ou de estruturas de dados executáveis por computador pode ser transferido automaticamente a partir de um meio de transmissão legível por computador para meio de armazenamento físico legível por computador (ou vice versa). Por exemplo, instruções ou estruturas executáveis por computador recebidas através de uma rede ou ligação de dados podem ser colocadas em memória temporária na RAM dentro de um módulo de interface de rede (por exemplo, um "NIC"), e então eventualmente transferidas para a RAM do sistema do computador e/ou para meio físico de armazenamento legível por computador menos volátil em um sistema de computador. Assim, o meio físico de armazenamento legível por computador pode estar incluído nos componentes do sistema de computador que também (ou mesmo principalmente) utilizam meio de transmissão.
[00104] As instruções executáveis por computador compreendem, por exemplo, instruções e dados que causam que um computador de propósito geral, computador de propósito especial, ou dispositivo de processamento de propósito especial execute alguma função ou grupo de funções. As instruções executáveis por computador podem ser, por exemplo, binários, instruções em formato intermediário tal como linguagem assembly, ou mesmo código fonte. Apesar de o assunto ter sido descrito em linguagem específica para aspectos estruturais e/ou atos metodológicos, é para ser entendido que o assunto definido nas reivindicações anexas não está necessariamente limitado aos aspectos ou atos descrito acima. Ao invés disso, os aspectos e atos descritos são revelados como formas ilustrativas para implementar as reivindicações.
[00105] Os versados na técnica irão apreciar que a invenção pode ser praticada em ambientes de computação em rede com vários tipos de configurações de sistema de computador, incluindo computadores pessoais, computadores de mesa, computadores laptop, processadores de mensagem, dispositivos portáteis, sistemas multiprocessador, eletroeletrônicos baseados em microprocessador ou programáveis, PCs de rede, minicomputadores, computadores de grande porte, telefones celulares, PDAs, pagers, roteadores, comutadores, dentre outros. A invenção também pode ser praticada em ambientes de sistema distribuído onde sistemas de computador, locais e remotos, os quais estão ligados (seja por ligações de dados com uso de fios, ligações de dados sem uso de fios, ou por uma combinação de ligações de dados com uso de fios e sem uso de fios) através de uma rede, ambos executam tarefas. Em um ambiente de sistema distribuído, os módulos de programa podem estar localizados tanto nos dispositivos de armazenamento em memória locais como remotos.
[00106] Alternativamente, ou em adição, a funcionalidade descrita neste documento pode ser executada, pelo menos em parte, por um ou mais componentes de lógica de hardware. Por exemplo, e sem limitação, tipos ilustrativos de componentes de lógica de hardware que podem ser utilizados incluem Arranjos de Portas Programáveis em Campo (FPGAs), Circuitos Integrados de Programa Específico ASICs), Produtos Padrão de Programa Específico (ASSPs), sistemas de Sistema em um chip (SOCs), Dispositivos de Lógica Complexa Programável (CPDLs), etc.
[00107] A presente invenção pode ser incorporada em outras formas específicas sem afastamento de seu espírito ou características. As concretizações descritas são para ser consideradas em todos os aspectos somente como ilustrativas e não restritivas. Portanto, o escopo da invenção é indicado pelas reivindicações anexas ao invés do que pela descrição precedente. Todas as alterações que surja, dentro do significado e da faixa de equivalência das reivindicações são para ser abrangidas dentro de seu escopo.
Claims (7)
1. Método implementado por computador (600) para gerenciar conjunto de dados criptografados (101) que compreende: obter (602) uma primeira chave de decriptografia, a primeira chave de decriptografia sendo configurada para ser utilizada para de- criptografar um conjunto de dados criptografado que foi criptografado utilizando um primeiro mecanismo de criptografia, o primeiro mecanismo de criptografia sendo associado à primeira chave de decriptografia, a qual pode ser utilizada para decriptografar o conjunto de dados; criptografar (604) a primeira chave de criptografia com o segundo mecanismo de criptografia, o segundo mecanismo de criptografia sendo associado a uma segunda chave de decriptografia utilizada por uma primeira entidade, de modo que a segunda chave de de- criptografia possa ser utilizada pela primeira entidade para decriptogra- far o conjunto de dados por primeiro decriptografar a primeira chave utilizando a segunda chave de decriptografia, e então utilizando a primeira chave decriptografada para decriptografar o conjunto de dados; criptografar (606) a primeira chave de decriptografia com um terceiro mecanismo de criptografia, o terceiro mecanismo de criptografia sendo associado a uma terceira chave de decriptografia utilizada por uma segunda entidade, de modo que a terceira chave de de- criptografia possa ser utilizada pela segunda entidade para decripto- grafar o conjunto de dados por primeiro decriptografar a primeira chave utilizando a terceira chave de decriptografia, e então utilizando a primeira chave decriptografada para decriptografar o conjunto de dados; criar (608) um pacote compreendendo pelo menos a primeira chave de decriptografia criptografada com o segundo método de criptografia e a primeira chave de decriptografia criptografada com o terceiro método de criptografia; assinar (610) o pacote com assinatura de um guardião; e assinar (612) o pacote com uma assinatura criada a partir da primeira chave de decriptografia; caracterizado pelo fato de que o conjunto de dados compreende partes de uma máquina virtual; onde a primeira entidade é um hospedeiro da máquina virtual, e a segunda entidade é um locatário do hospedeiro; onde uma chave hierárquica é construída, a raiz da hierarquia sendo a primeira chave de decriptografia e as partes da máquina virtual sendo criptografadas utilizando chaves nessa hierarquia.
2. Método de acordo com a reivindicação 1, caracterizado pelo fato de que a primeira chave é uma chave mestre para um vTPM para a máquina virtual.
3. Método de acordo com a reivindicação 1, caracterizado pelo fato de que o conjunto de dados (101) compreende provisionar informação para uma VM.
4. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que o conjunto de dados (101) compreende o estado vTPM.
5. Método de acordo com a reivindicação 1, caracterizado pelo fato de que o pacote compreende uma pluralidade de cópias da primeira chave de decriptografia criptografada por um mecanismo de criptografia diferente da pluaralidade de guardiões diferentes.
6. Sistema de computação para gerenciar conjuntos de dados criptografados que compreende: um ou mais processadores; e um ou mais meios legíveis por computador, caracterizado pelo fato de que o um ou mais meios legíveis por computador compreendem o método conforme definido na reivindicação 1.
7. Meio de armazenamento legível por computador físico, caracterizado pelo fato de que compreende o método conforme definido na reivindicação 1.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201461988786P | 2014-05-05 | 2014-05-05 | |
US61/988,786 | 2014-05-05 | ||
US14/481,399 | 2014-09-09 | ||
US14/481,399 US9652631B2 (en) | 2014-05-05 | 2014-09-09 | Secure transport of encrypted virtual machines with continuous owner access |
PCT/US2015/028991 WO2015171476A1 (en) | 2014-05-05 | 2015-05-04 | Secure transport of encrypted virtual machines with continuous owner access |
Publications (3)
Publication Number | Publication Date |
---|---|
BR112016024453A2 BR112016024453A2 (pt) | 2017-08-15 |
BR112016024453A8 BR112016024453A8 (pt) | 2021-07-13 |
BR112016024453B1 true BR112016024453B1 (pt) | 2022-09-27 |
Family
ID=54356002
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
BR112016024507-5A BR112016024507B1 (pt) | 2014-05-05 | 2015-05-04 | Método implementado por computador e meio legível por computador para estabelecer confiança para um hospedeiro |
BR112016024453-2A BR112016024453B1 (pt) | 2014-05-05 | 2015-05-04 | Método implementado por computador para gerenciar conjunto de dados, sistema de computação e meio de armazenamento legível por computador físico |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
BR112016024507-5A BR112016024507B1 (pt) | 2014-05-05 | 2015-05-04 | Método implementado por computador e meio legível por computador para estabelecer confiança para um hospedeiro |
Country Status (7)
Country | Link |
---|---|
US (4) | US9652631B2 (pt) |
EP (2) | EP3140950B1 (pt) |
JP (2) | JP6484255B2 (pt) |
CN (2) | CN106462439B (pt) |
BR (2) | BR112016024507B1 (pt) |
RU (2) | RU2679721C2 (pt) |
WO (2) | WO2015171476A1 (pt) |
Families Citing this family (285)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102183852B1 (ko) * | 2013-11-22 | 2020-11-30 | 삼성전자주식회사 | 전자 장치의 무결성 검증을 위한 방법, 저장 매체 및 전자 장치 |
US9519498B2 (en) | 2013-12-24 | 2016-12-13 | Microsoft Technology Licensing, Llc | Virtual machine assurances |
US9792448B2 (en) | 2014-02-28 | 2017-10-17 | Advanced Micro Devices, Inc. | Cryptographic protection of information in a processing system |
US9652631B2 (en) | 2014-05-05 | 2017-05-16 | Microsoft Technology Licensing, Llc | Secure transport of encrypted virtual machines with continuous owner access |
US9760712B2 (en) * | 2014-05-23 | 2017-09-12 | Vmware, Inc. | Application whitelisting using user identification |
CN104268477B (zh) * | 2014-09-26 | 2017-09-26 | 华为技术有限公司 | 一种安全控制方法及网络设备 |
US9600312B2 (en) | 2014-09-30 | 2017-03-21 | Amazon Technologies, Inc. | Threading as a service |
US9323556B2 (en) | 2014-09-30 | 2016-04-26 | Amazon Technologies, Inc. | Programmatic event detection and message generation for requests to execute program code |
US9678773B1 (en) | 2014-09-30 | 2017-06-13 | Amazon Technologies, Inc. | Low latency computational capacity provisioning |
US10048974B1 (en) | 2014-09-30 | 2018-08-14 | Amazon Technologies, Inc. | Message-based computation request scheduling |
US9715402B2 (en) | 2014-09-30 | 2017-07-25 | Amazon Technologies, Inc. | Dynamic code deployment and versioning |
US9830193B1 (en) | 2014-09-30 | 2017-11-28 | Amazon Technologies, Inc. | Automatic management of low latency computational capacity |
US9146764B1 (en) | 2014-09-30 | 2015-09-29 | Amazon Technologies, Inc. | Processing event messages for user requests to execute program code |
US10229272B2 (en) | 2014-10-13 | 2019-03-12 | Microsoft Technology Licensing, Llc | Identifying security boundaries on computing devices |
US9584317B2 (en) | 2014-10-13 | 2017-02-28 | Microsoft Technology Licensing, Llc | Identifying security boundaries on computing devices |
US10303879B1 (en) * | 2014-11-06 | 2019-05-28 | Amazon Technologies, Inc. | Multi-tenant trusted platform modules |
US9519787B2 (en) | 2014-11-14 | 2016-12-13 | Microsoft Technology Licensing, Llc | Secure creation of encrypted virtual machines from encrypted templates |
US9537788B2 (en) | 2014-12-05 | 2017-01-03 | Amazon Technologies, Inc. | Automatic determination of resource sizing |
WO2016112338A1 (en) * | 2015-01-08 | 2016-07-14 | Intertrust Technologies Corporation | Cryptographic systems and methods |
US10013567B2 (en) * | 2015-01-27 | 2018-07-03 | Apple Inc. | Private and public sharing of electronic assets |
US9621948B2 (en) | 2015-01-29 | 2017-04-11 | Universal Electronics Inc. | System and method for prioritizing and filtering CEC commands |
US9733967B2 (en) | 2015-02-04 | 2017-08-15 | Amazon Technologies, Inc. | Security protocols for low latency execution of program code |
US9588790B1 (en) | 2015-02-04 | 2017-03-07 | Amazon Technologies, Inc. | Stateful virtual compute system |
US9712503B1 (en) * | 2015-03-23 | 2017-07-18 | Amazon Technologies, Inc. | Computing instance migration |
US9756050B1 (en) * | 2015-03-26 | 2017-09-05 | Amazon Technologies, Inc. | Using transient processing containers for security authorization |
US20160292431A1 (en) * | 2015-04-02 | 2016-10-06 | defend7, Inc. | Management of encryption keys in an application container environment |
US9930103B2 (en) | 2015-04-08 | 2018-03-27 | Amazon Technologies, Inc. | Endpoint management system providing an application programming interface proxy service |
US9785476B2 (en) | 2015-04-08 | 2017-10-10 | Amazon Technologies, Inc. | Endpoint management system and virtual compute system |
US9652634B2 (en) * | 2015-05-19 | 2017-05-16 | Vmware, Inc. | Maintaing encryption keys to provide encryption on top of data deduplication |
US10078549B2 (en) | 2015-05-19 | 2018-09-18 | Vmware, Inc. | Maintaining hole boundary information for restoring snapshots from parity |
US9866574B1 (en) * | 2015-06-01 | 2018-01-09 | Amazon Technologies, Inc. | Protected data type handling awareness |
US10726127B1 (en) | 2015-06-30 | 2020-07-28 | Fireeye, Inc. | System and method for protecting a software component running in a virtual machine through virtual interrupts by the virtualization layer |
US10395029B1 (en) * | 2015-06-30 | 2019-08-27 | Fireeye, Inc. | Virtual system and method with threat protection |
US10642753B1 (en) | 2015-06-30 | 2020-05-05 | Fireeye, Inc. | System and method for protecting a software component running in virtual machine using a virtualization layer |
US11113086B1 (en) | 2015-06-30 | 2021-09-07 | Fireeye, Inc. | Virtual system and method for securing external network connectivity |
US10002014B2 (en) | 2015-07-10 | 2018-06-19 | International Business Machines Corporation | Management of a virtual machine in a virtualized computing environment based on a fabric limit |
US9973432B2 (en) | 2015-07-10 | 2018-05-15 | International Business Machines Corporation | Load balancing in a virtualized computing environment based on a fabric limit |
US10002015B2 (en) * | 2015-07-10 | 2018-06-19 | International Business Machines Corporation | Delayed boot of a virtual machine in a virtualized computing environment based on a fabric limit |
US10230529B2 (en) * | 2015-07-31 | 2019-03-12 | Microsft Technology Licensing, LLC | Techniques to secure computation data in a computing environment |
US9768966B2 (en) * | 2015-08-07 | 2017-09-19 | Google Inc. | Peer to peer attestation |
US11150927B1 (en) * | 2015-08-10 | 2021-10-19 | Amazon Technologies, Inc. | Policy-based virtual machine instance cotenancy |
US10929797B1 (en) * | 2015-09-23 | 2021-02-23 | Amazon Technologies, Inc. | Fault tolerance determinations for networked resources |
US9928108B1 (en) | 2015-09-29 | 2018-03-27 | Amazon Technologies, Inc. | Metaevent handling for on-demand code execution environments |
US10042660B2 (en) | 2015-09-30 | 2018-08-07 | Amazon Technologies, Inc. | Management of periodic requests for compute capacity |
US9917687B2 (en) * | 2015-10-12 | 2018-03-13 | Microsoft Technology Licensing, Llc | Migrating secrets using hardware roots of trust for devices |
CN106775917B (zh) * | 2015-11-19 | 2020-03-24 | 苏宁云计算有限公司 | 一种虚拟机启动的方法及系统 |
US10025947B1 (en) * | 2015-11-30 | 2018-07-17 | Ims Health Incorporated | System and method to produce a virtually trusted database record |
US9882901B2 (en) | 2015-12-14 | 2018-01-30 | International Business Machines Corporation | End-to-end protection for shrouded virtual servers |
US9894051B2 (en) | 2015-12-14 | 2018-02-13 | International Business Machines Corporation | Extending shrouding capability of hosting system |
JP2017111581A (ja) * | 2015-12-15 | 2017-06-22 | キヤノン株式会社 | 情報処理システム、制御方法 |
US9830449B1 (en) * | 2015-12-16 | 2017-11-28 | Amazon Technologies, Inc. | Execution locations for request-driven code |
US10013267B1 (en) | 2015-12-16 | 2018-07-03 | Amazon Technologies, Inc. | Pre-triggers for code execution environments |
US10754701B1 (en) | 2015-12-16 | 2020-08-25 | Amazon Technologies, Inc. | Executing user-defined code in response to determining that resources expected to be utilized comply with resource restrictions |
US9811434B1 (en) | 2015-12-16 | 2017-11-07 | Amazon Technologies, Inc. | Predictive management of on-demand code execution |
US10067801B1 (en) | 2015-12-21 | 2018-09-04 | Amazon Technologies, Inc. | Acquisition and maintenance of compute capacity |
US10002026B1 (en) | 2015-12-21 | 2018-06-19 | Amazon Technologies, Inc. | Acquisition and maintenance of dedicated, reserved, and variable compute capacity |
US9910713B2 (en) | 2015-12-21 | 2018-03-06 | Amazon Technologies, Inc. | Code execution request routing |
US10079693B2 (en) * | 2015-12-28 | 2018-09-18 | Netapp, Inc. | Storage cluster management proxy |
US10587422B2 (en) | 2016-01-28 | 2020-03-10 | Hewlett-Packard Development Company, L.P. | Thresholds on scripts executable by unified extensible firmware interface systems |
US10650154B2 (en) | 2016-02-12 | 2020-05-12 | Sophos Limited | Process-level control of encrypted content |
US10686827B2 (en) | 2016-04-14 | 2020-06-16 | Sophos Limited | Intermediate encryption for exposed content |
US10681078B2 (en) | 2016-06-10 | 2020-06-09 | Sophos Limited | Key throttling to mitigate unauthorized file access |
US10791097B2 (en) * | 2016-04-14 | 2020-09-29 | Sophos Limited | Portable encryption format |
US11429412B2 (en) | 2016-02-25 | 2022-08-30 | Red Hat Israel, Ltd. | Guest protection from application code execution in kernel mode |
CN105825131B (zh) * | 2016-03-16 | 2018-12-21 | 广东工业大学 | 一种基于uefi的计算机安全启动防护方法 |
US10326744B1 (en) * | 2016-03-21 | 2019-06-18 | EMC IP Holding Company LLC | Security layer for containers in multi-tenant environments |
US20170277898A1 (en) * | 2016-03-25 | 2017-09-28 | Advanced Micro Devices, Inc. | Key management for secure memory address spaces |
US10063372B1 (en) * | 2016-03-25 | 2018-08-28 | EMC IP Holding Company LLC | Generating pre-encrypted keys |
US10891145B2 (en) | 2016-03-30 | 2021-01-12 | Amazon Technologies, Inc. | Processing pre-existing data sets at an on demand code execution environment |
US11132213B1 (en) | 2016-03-30 | 2021-09-28 | Amazon Technologies, Inc. | Dependency-based process of pre-existing data sets at an on demand code execution environment |
US10162672B2 (en) | 2016-03-30 | 2018-12-25 | Amazon Technologies, Inc. | Generating data streams from pre-existing data sets |
US11379385B2 (en) * | 2016-04-16 | 2022-07-05 | Vmware, Inc. | Techniques for protecting memory pages of a virtual computing instance |
US10228924B2 (en) * | 2016-04-19 | 2019-03-12 | International Business Machines Corporation | Application deployment and monitoring in a cloud environment to satisfy integrity and geo-fencing constraints |
EP3244568B1 (en) * | 2016-05-13 | 2019-01-09 | Talenta s.r.o. | Electronic locking system |
US10135622B2 (en) * | 2016-06-03 | 2018-11-20 | Intel Corporation | Flexible provisioning of attestation keys in secure enclaves |
US10282229B2 (en) | 2016-06-28 | 2019-05-07 | Amazon Technologies, Inc. | Asynchronous task management in an on-demand network code execution environment |
US10102040B2 (en) | 2016-06-29 | 2018-10-16 | Amazon Technologies, Inc | Adjusting variable limit on concurrent code executions |
US10318311B2 (en) * | 2016-06-30 | 2019-06-11 | Amazon Technologies, Inc. | Memory allocation techniques at partially-offloaded virtualization managers |
GB2551983B (en) | 2016-06-30 | 2020-03-04 | Sophos Ltd | Perimeter encryption |
US10203990B2 (en) | 2016-06-30 | 2019-02-12 | Amazon Technologies, Inc. | On-demand network code execution with cross-account aliases |
US10277708B2 (en) | 2016-06-30 | 2019-04-30 | Amazon Technologies, Inc. | On-demand network code execution with cross-account aliases |
US10127068B2 (en) | 2016-06-30 | 2018-11-13 | Amazon Technologies, Inc. | Performance variability reduction using an opportunistic hypervisor |
US10460113B2 (en) * | 2016-08-16 | 2019-10-29 | International Business Machines Corporation | Security fix of a container in a virtual machine environment |
US20180060077A1 (en) * | 2016-08-26 | 2018-03-01 | Qualcomm Incorporated | Trusted platform module support on reduced instruction set computing architectures |
US10177908B2 (en) * | 2016-08-30 | 2019-01-08 | Workday, Inc. | Secure storage decryption system |
US10187203B2 (en) * | 2016-08-30 | 2019-01-22 | Workday, Inc. | Secure storage encryption system |
US10460118B2 (en) | 2016-08-30 | 2019-10-29 | Workday, Inc. | Secure storage audit verification system |
US10177910B2 (en) * | 2016-08-31 | 2019-01-08 | Microsoft Technology Licensing, Llc | Preserving protected secrets across a secure boot update |
WO2018054473A1 (en) * | 2016-09-22 | 2018-03-29 | Telefonaktiebolaget Lm Ericsson (Publ) | Version control for trusted computing |
US10320571B2 (en) * | 2016-09-23 | 2019-06-11 | Microsoft Technology Licensing, Llc | Techniques for authenticating devices using a trusted platform module device |
US10884787B1 (en) | 2016-09-23 | 2021-01-05 | Amazon Technologies, Inc. | Execution guarantees in an on-demand network code execution system |
US10061613B1 (en) | 2016-09-23 | 2018-08-28 | Amazon Technologies, Inc. | Idempotent task execution in on-demand network code execution systems |
US11119813B1 (en) | 2016-09-30 | 2021-09-14 | Amazon Technologies, Inc. | Mapreduce implementation using an on-demand network code execution system |
US10310885B2 (en) * | 2016-10-25 | 2019-06-04 | Microsoft Technology Licensing, Llc | Secure service hosted in a virtual security environment |
US10462212B2 (en) * | 2016-10-28 | 2019-10-29 | At&T Intellectual Property I, L.P. | Hybrid clouds |
KR102511451B1 (ko) | 2016-11-09 | 2023-03-17 | 삼성전자주식회사 | 리치 실행 환경에서 보안 어플리케이션을 안전하게 실행하는 컴퓨팅 시스템 |
US10447668B1 (en) * | 2016-11-14 | 2019-10-15 | Amazon Technologies, Inc. | Virtual cryptographic module with load balancer and cryptographic module fleet |
US10855464B2 (en) * | 2016-11-23 | 2020-12-01 | Vmware, Inc. | Methods and apparatus to manage credentials in hyper-converged infrastructures |
US10482034B2 (en) * | 2016-11-29 | 2019-11-19 | Microsoft Technology Licensing, Llc | Remote attestation model for secure memory applications |
CN108243163B (zh) * | 2016-12-26 | 2020-11-13 | 航天信息股份有限公司 | 一种物流运输的加密安全控制方法、装置及系统 |
WO2018120042A1 (zh) * | 2016-12-30 | 2018-07-05 | 华为技术有限公司 | 一种凭据分发的方法和设备 |
EP3550781B1 (en) * | 2016-12-30 | 2021-02-17 | Huawei Technologies Co., Ltd. | Private information distribution method and device |
US10530777B2 (en) * | 2017-01-24 | 2020-01-07 | Microsoft Technology Licensing, Llc | Data unsealing with a sealing enclave |
US10897360B2 (en) | 2017-01-26 | 2021-01-19 | Microsoft Technology Licensing, Llc | Addressing a trusted execution environment using clean room provisioning |
US10972265B2 (en) * | 2017-01-26 | 2021-04-06 | Microsoft Technology Licensing, Llc | Addressing a trusted execution environment |
US10419402B2 (en) * | 2017-01-26 | 2019-09-17 | Microsoft Technology Licensing, Llc | Addressing a trusted execution environment using signing key |
US10897459B2 (en) * | 2017-01-26 | 2021-01-19 | Microsoft Technology Licensing, Llc | Addressing a trusted execution environment using encryption key |
US11108698B2 (en) | 2017-02-03 | 2021-08-31 | Microsoft Technology Licensing, Llc | Systems and methods for client-side throttling after server handling in a trusted client component |
US10250517B2 (en) | 2017-02-03 | 2019-04-02 | Microsoft Technology Licensing, Llc | Completion-side client throttling |
US10496425B2 (en) * | 2017-02-21 | 2019-12-03 | Red Hat, Inc. | Systems and methods for providing processor state protections in a virtualized environment |
CN108469986B (zh) | 2017-02-23 | 2021-04-09 | 华为技术有限公司 | 一种数据迁移方法及装置 |
CN107797817B (zh) * | 2017-03-13 | 2021-02-19 | 平安科技(深圳)有限公司 | 应用更新方法和装置 |
JP6408627B2 (ja) * | 2017-03-14 | 2018-10-17 | Kddi株式会社 | 遠隔機器制御システム、及び、遠隔機器制御方法 |
US10509733B2 (en) | 2017-03-24 | 2019-12-17 | Red Hat, Inc. | Kernel same-page merging for encrypted memory |
US10169577B1 (en) * | 2017-03-28 | 2019-01-01 | Symantec Corporation | Systems and methods for detecting modification attacks on shared physical memory |
US20180288101A1 (en) * | 2017-03-29 | 2018-10-04 | Hewlett Packard Enterprise Development Lp | Verifying that usage of virtual network function (vnf) by a plurality of compute nodes comply with allowed usage rights |
US10956193B2 (en) * | 2017-03-31 | 2021-03-23 | Microsoft Technology Licensing, Llc | Hypervisor virtual processor execution with extra-hypervisor scheduling |
US9992029B1 (en) * | 2017-04-05 | 2018-06-05 | Stripe, Inc. | Systems and methods for providing authentication to a plurality of devices |
US10587411B2 (en) | 2017-04-11 | 2020-03-10 | International Business Machines Corporation | Zero-knowledge verifiably attestable transaction containers using secure processors |
US10209917B2 (en) | 2017-04-20 | 2019-02-19 | Red Hat, Inc. | Physical memory migration for secure encrypted virtual machines |
US10423791B2 (en) * | 2017-04-27 | 2019-09-24 | Microsoft Technology Licensing, Llc | Enabling offline restart of shielded virtual machines using key caching |
US10379764B2 (en) | 2017-05-11 | 2019-08-13 | Red Hat, Inc. | Virtual machine page movement for encrypted memory |
US10747585B2 (en) * | 2017-05-26 | 2020-08-18 | Vmware Inc. | Methods and apparatus to perform data migration in a distributed environment |
US10860724B2 (en) * | 2017-06-13 | 2020-12-08 | Microsoft Technology Licensing, Llc | Active key rolling for sensitive data protection |
US10771439B2 (en) * | 2017-06-28 | 2020-09-08 | Microsoft Technology Licensing, Llc | Shielded networks for virtual machines |
US10445009B2 (en) * | 2017-06-30 | 2019-10-15 | Intel Corporation | Systems and methods of controlling memory footprint |
CN109218260B (zh) | 2017-07-03 | 2020-11-06 | 深圳市中兴微电子技术有限公司 | 一种基于可信任环境的认证保护系统及方法 |
US10819696B2 (en) * | 2017-07-13 | 2020-10-27 | Microsoft Technology Licensing, Llc | Key attestation statement generation providing device anonymity |
US11354420B2 (en) | 2017-07-21 | 2022-06-07 | Red Hat, Inc. | Re-duplication of de-duplicated encrypted memory |
US11726813B2 (en) * | 2017-08-01 | 2023-08-15 | Cable Television Laboratories, Inc. | Systems and methods for establishing scalable credential creation and access |
US10848494B2 (en) * | 2017-08-14 | 2020-11-24 | Microsoft Technology Licensing, Llc | Compliance boundaries for multi-tenant cloud environment |
US10534921B2 (en) | 2017-08-23 | 2020-01-14 | Red Hat, Inc. | Copy and decrypt support for encrypted virtual machines |
US10693844B2 (en) * | 2017-08-24 | 2020-06-23 | Red Hat, Inc. | Efficient migration for encrypted virtual machines by active page copying |
US10841089B2 (en) * | 2017-08-25 | 2020-11-17 | Nutanix, Inc. | Key managers for distributed computing systems |
US10831935B2 (en) | 2017-08-31 | 2020-11-10 | Pure Storage, Inc. | Encryption management with host-side data reduction |
US11947489B2 (en) | 2017-09-05 | 2024-04-02 | Robin Systems, Inc. | Creating snapshots of a storage volume in a distributed storage system |
US20190087580A1 (en) * | 2017-09-19 | 2019-03-21 | Microsoft Technology Licensing, Llc | Secure launch for a hypervisor |
WO2019072039A1 (zh) * | 2017-10-09 | 2019-04-18 | 华为技术有限公司 | 一种业务证书管理方法、终端及服务器 |
US11943368B2 (en) * | 2017-11-03 | 2024-03-26 | Microsoft Technology Licensing, Llc | Provisioning trusted execution environment based on chain of trust including platform |
US10713144B2 (en) * | 2017-11-15 | 2020-07-14 | General Electric Company | Virtual processor enabling real-time in situ disassembly and debugging in SoC environment |
WO2019096423A1 (en) * | 2017-11-20 | 2019-05-23 | Telefonaktiebolaget Lm Ericsson (Publ) | Deployment of components of a distributed application to runtime environments |
US10922132B1 (en) * | 2017-12-11 | 2021-02-16 | Amazon Technologies, Inc. | Secure migration of servers from customer networks to service provider systems |
US10303492B1 (en) | 2017-12-13 | 2019-05-28 | Amazon Technologies, Inc. | Managing custom runtimes in an on-demand code execution system |
US10564946B1 (en) | 2017-12-13 | 2020-02-18 | Amazon Technologies, Inc. | Dependency handling in an on-demand network code execution system |
US11113400B1 (en) * | 2017-12-26 | 2021-09-07 | Virtuozzo International Gmbh | System and method for providing distributed compute platform on untrusted hardware |
US11392363B2 (en) | 2018-01-11 | 2022-07-19 | Robin Systems, Inc. | Implementing application entrypoints with containers of a bundled application |
US11748203B2 (en) | 2018-01-11 | 2023-09-05 | Robin Systems, Inc. | Multi-role application orchestration in a distributed storage system |
US11582168B2 (en) | 2018-01-11 | 2023-02-14 | Robin Systems, Inc. | Fenced clone applications |
US10733085B1 (en) | 2018-02-05 | 2020-08-04 | Amazon Technologies, Inc. | Detecting impedance mismatches due to cross-service calls |
US10831898B1 (en) | 2018-02-05 | 2020-11-10 | Amazon Technologies, Inc. | Detecting privilege escalations in code including cross-service calls |
US10572375B1 (en) | 2018-02-05 | 2020-02-25 | Amazon Technologies, Inc. | Detecting parameter validity in code including cross-service calls |
US10353678B1 (en) | 2018-02-05 | 2019-07-16 | Amazon Technologies, Inc. | Detecting code characteristic alterations due to cross-service calls |
US10725752B1 (en) | 2018-02-13 | 2020-07-28 | Amazon Technologies, Inc. | Dependency handling in an on-demand network code execution system |
US10776091B1 (en) | 2018-02-26 | 2020-09-15 | Amazon Technologies, Inc. | Logging endpoint in an on-demand code execution system |
US10855724B2 (en) * | 2018-03-22 | 2020-12-01 | EMC IP Holding Company, LLC | Securely establishing key-based SSH communications between virtual machines during cloud marketplace provisioning |
US10713110B2 (en) * | 2018-03-27 | 2020-07-14 | Accenture Global Solutions Limited | Automated issue detection and resolution framework for enterprise resource planning |
US11356315B2 (en) | 2018-03-28 | 2022-06-07 | Intel Corporation | Methods and apparatus to dynamically control devices based on distributed data |
JP7090800B2 (ja) * | 2018-04-20 | 2022-06-24 | ヴィシャール・グプタ | 分散型文書およびエンティティ検証エンジン |
CN110414245B (zh) * | 2018-04-28 | 2023-09-22 | 伊姆西Ip控股有限责任公司 | 用于在存储系统中管理加密密钥的方法、装置和计算机程序产品 |
US10922441B2 (en) * | 2018-05-04 | 2021-02-16 | Huawei Technologies Co., Ltd. | Device and method for data security with a trusted execution environment |
KR102095114B1 (ko) * | 2018-05-08 | 2020-03-30 | 한국과학기술원 | 기능확장을 위한 신뢰실행환경들의 결합 방법 및 비즈니스 프로세스 지원을 위한 fido u2f 활용 방법 |
US10891385B2 (en) * | 2018-05-16 | 2021-01-12 | Microsoft Technology Licensing, Llc | Encryption at rest for cloud-resourced virtual machines |
US11029986B2 (en) * | 2018-05-25 | 2021-06-08 | Microsoft Technology Licensing, Llc | Processor feature ID response for virtualization |
US10853115B2 (en) | 2018-06-25 | 2020-12-01 | Amazon Technologies, Inc. | Execution of auxiliary functions in an on-demand network code execution system |
US10649749B1 (en) | 2018-06-26 | 2020-05-12 | Amazon Technologies, Inc. | Cross-environment application of tracing information for improved code execution |
US11146569B1 (en) | 2018-06-28 | 2021-10-12 | Amazon Technologies, Inc. | Escalation-resistant secure network services using request-scoped authentication information |
US10949237B2 (en) | 2018-06-29 | 2021-03-16 | Amazon Technologies, Inc. | Operating system customization in an on-demand network code execution system |
US11099870B1 (en) | 2018-07-25 | 2021-08-24 | Amazon Technologies, Inc. | Reducing execution times in an on-demand network code execution system using saved machine states |
JP7135569B2 (ja) * | 2018-08-13 | 2022-09-13 | 日本電信電話株式会社 | 端末登録システムおよび端末登録方法 |
WO2020041473A1 (en) | 2018-08-21 | 2020-02-27 | The Regents Of The University Of Michigan | Computer system with moving target defenses against vulnerability attacks |
US11151254B2 (en) | 2018-09-11 | 2021-10-19 | Amari.Ai Incorporated | Secure communications gateway for trusted execution and secure communications |
US11188477B2 (en) | 2018-09-11 | 2021-11-30 | Apple Inc. | Page protection layer |
US11099917B2 (en) | 2018-09-27 | 2021-08-24 | Amazon Technologies, Inc. | Efficient state maintenance for execution environments in an on-demand code execution system |
US11243953B2 (en) | 2018-09-27 | 2022-02-08 | Amazon Technologies, Inc. | Mapreduce implementation in an on-demand network code execution system and stream data processing system |
US11017092B2 (en) * | 2018-09-27 | 2021-05-25 | Intel Corporation | Technologies for fast launch of trusted containers |
US11943093B1 (en) | 2018-11-20 | 2024-03-26 | Amazon Technologies, Inc. | Network connection recovery after virtual machine transition in an on-demand network code execution system |
US10901918B2 (en) * | 2018-11-29 | 2021-01-26 | International Business Machines Corporation | Constructing flexibly-secure systems in a disaggregated environment |
EP3661244A1 (en) * | 2018-11-30 | 2020-06-03 | Nagravision SA | Key negotiation and provisioning for devices in a network |
CN109684829B (zh) * | 2018-12-04 | 2020-12-04 | 中国科学院数据与通信保护研究教育中心 | 一种虚拟化环境中服务调用监控方法和系统 |
US10884812B2 (en) | 2018-12-13 | 2021-01-05 | Amazon Technologies, Inc. | Performance-based hardware emulation in an on-demand network code execution system |
US11271994B2 (en) * | 2018-12-28 | 2022-03-08 | Intel Corporation | Technologies for providing selective offload of execution to the edge |
US11010188B1 (en) | 2019-02-05 | 2021-05-18 | Amazon Technologies, Inc. | Simulated data object storage using on-demand computation of data objects |
US11475138B2 (en) * | 2019-02-06 | 2022-10-18 | International Business Machines Corporation | Creation and execution of secure containers |
US10795718B2 (en) | 2019-02-08 | 2020-10-06 | Microsoft Technology Licensing, Llc | Updating hardware with reduced virtual machine downtime |
US11469903B2 (en) * | 2019-02-28 | 2022-10-11 | Microsoft Technology Licensing, Llc | Autonomous signing management operations for a key distribution service |
US11126453B2 (en) * | 2019-03-07 | 2021-09-21 | Micron Technology, Inc. | Protected regions management of memory |
US11640361B2 (en) | 2019-03-08 | 2023-05-02 | International Business Machines Corporation | Sharing secure memory across multiple security domains |
US11487906B2 (en) * | 2019-03-08 | 2022-11-01 | International Business Machines Corporation | Storage sharing between a secure domain and a non-secure entity |
US11354421B2 (en) | 2019-03-08 | 2022-06-07 | International Business Machines Corporation | Secure execution guest owner controls for secure interface control |
US11531627B2 (en) | 2019-03-08 | 2022-12-20 | International Business Machines Corporation | Secure storage isolation |
US11861386B1 (en) | 2019-03-22 | 2024-01-02 | Amazon Technologies, Inc. | Application gateways in an on-demand network code execution system |
CN109921902B (zh) | 2019-03-22 | 2020-10-23 | 创新先进技术有限公司 | 一种密钥管理方法、安全芯片、业务服务器及信息系统 |
US11256434B2 (en) | 2019-04-17 | 2022-02-22 | Robin Systems, Inc. | Data de-duplication |
US20200364354A1 (en) * | 2019-05-17 | 2020-11-19 | Microsoft Technology Licensing, Llc | Mitigation of ransomware in integrated, isolated applications |
US11095661B2 (en) | 2019-05-29 | 2021-08-17 | Cisco Technology, Inc. | Enforcing data sovereignty policies in a cloud environment |
US11537421B1 (en) * | 2019-06-07 | 2022-12-27 | Amazon Technologies, Inc. | Virtual machine monitor providing secure cryptographic operations |
US11119809B1 (en) | 2019-06-20 | 2021-09-14 | Amazon Technologies, Inc. | Virtualization-based transaction handling in an on-demand network code execution system |
US11190609B2 (en) | 2019-06-28 | 2021-11-30 | Amazon Technologies, Inc. | Connection pooling for scalable network services |
US11159528B2 (en) | 2019-06-28 | 2021-10-26 | Amazon Technologies, Inc. | Authentication to network-services using hosted authentication information |
US11115404B2 (en) | 2019-06-28 | 2021-09-07 | Amazon Technologies, Inc. | Facilitating service connections in serverless code executions |
US11489675B1 (en) * | 2019-07-12 | 2022-11-01 | Allscripts Software, Llc | Computing system for electronic message tamper-roofing |
DE102019211314A1 (de) * | 2019-07-30 | 2021-02-04 | Infineon Technologies Ag | Vertrauenswürdige Datenverarbeitung |
US20220277072A1 (en) * | 2019-08-16 | 2022-09-01 | Regents Of The University Of Michigan | Thwarting control plane attacks with displaced and dilated address spaces |
US11159453B2 (en) | 2019-08-22 | 2021-10-26 | International Business Machines Corporation | Fabric-based storage-server connection |
US11507666B2 (en) | 2019-08-27 | 2022-11-22 | Red Hat, Inc. | Trusted execution environment verification of a software package |
US10790979B1 (en) | 2019-08-29 | 2020-09-29 | Alibaba Group Holding Limited | Providing high availability computing service by issuing a certificate |
CN110677240B (zh) * | 2019-08-29 | 2020-07-10 | 阿里巴巴集团控股有限公司 | 通过证书签发提供高可用计算服务的方法、装置及介质 |
US11249851B2 (en) | 2019-09-05 | 2022-02-15 | Robin Systems, Inc. | Creating snapshots of a storage volume in a distributed storage system |
US11520650B2 (en) | 2019-09-05 | 2022-12-06 | Robin Systems, Inc. | Performing root cause analysis in a multi-role application |
US11494493B1 (en) | 2019-09-23 | 2022-11-08 | Amazon Technologies, Inc. | Software verification for network-accessible applications |
US11386230B2 (en) | 2019-09-27 | 2022-07-12 | Amazon Technologies, Inc. | On-demand code obfuscation of data in input path of object storage service |
US11962624B2 (en) | 2019-09-27 | 2024-04-16 | International Business Machines Corporation | Metadata driven selection of entitlements in an identity governance system |
US10996961B2 (en) | 2019-09-27 | 2021-05-04 | Amazon Technologies, Inc. | On-demand indexing of data in input path of object storage service |
US11023311B2 (en) | 2019-09-27 | 2021-06-01 | Amazon Technologies, Inc. | On-demand code execution in input path of data uploaded to storage service in multiple data portions |
US11023416B2 (en) | 2019-09-27 | 2021-06-01 | Amazon Technologies, Inc. | Data access control system for object storage service based on owner-defined code |
US11416628B2 (en) | 2019-09-27 | 2022-08-16 | Amazon Technologies, Inc. | User-specific data manipulation system for object storage service based on user-submitted code |
US11106477B2 (en) | 2019-09-27 | 2021-08-31 | Amazon Technologies, Inc. | Execution of owner-specified code during input/output path to object storage service |
US11055112B2 (en) | 2019-09-27 | 2021-07-06 | Amazon Technologies, Inc. | Inserting executions of owner-specified code into input/output path of object storage service |
US10908927B1 (en) | 2019-09-27 | 2021-02-02 | Amazon Technologies, Inc. | On-demand execution of object filter code in output path of object storage service |
US11394761B1 (en) | 2019-09-27 | 2022-07-19 | Amazon Technologies, Inc. | Execution of user-submitted code on a stream of data |
US11656892B1 (en) | 2019-09-27 | 2023-05-23 | Amazon Technologies, Inc. | Sequential execution of user-submitted code and native functions |
US11250007B1 (en) | 2019-09-27 | 2022-02-15 | Amazon Technologies, Inc. | On-demand execution of object combination code in output path of object storage service |
US11263220B2 (en) | 2019-09-27 | 2022-03-01 | Amazon Technologies, Inc. | On-demand execution of object transformation code in output path of object storage service |
US11360948B2 (en) | 2019-09-27 | 2022-06-14 | Amazon Technologies, Inc. | Inserting owner-specified data processing pipelines into input/output path of object storage service |
US11550944B2 (en) | 2019-09-27 | 2023-01-10 | Amazon Technologies, Inc. | Code execution environment customization system for object storage service |
US11283635B2 (en) | 2019-09-28 | 2022-03-22 | Intel Corporation | Dynamic sharing in secure memory environments using edge service sidecars |
US11347684B2 (en) | 2019-10-04 | 2022-05-31 | Robin Systems, Inc. | Rolling back KUBERNETES applications including custom resources |
KR20210049603A (ko) * | 2019-10-25 | 2021-05-06 | 삼성전자주식회사 | 권한 정보에 기초한 인증서를 사용하여 액세스 컨트롤하는 방법 및 장치 |
US11354402B2 (en) * | 2019-11-01 | 2022-06-07 | Microsoft Technology Licensing, Llc | Virtual environment type validation for policy enforcement |
US11119826B2 (en) | 2019-11-27 | 2021-09-14 | Amazon Technologies, Inc. | Serverless call distribution to implement spillover while avoiding cold starts |
US10942795B1 (en) | 2019-11-27 | 2021-03-09 | Amazon Technologies, Inc. | Serverless call distribution to utilize reserved capacity without inhibiting scaling |
US11403188B2 (en) | 2019-12-04 | 2022-08-02 | Robin Systems, Inc. | Operation-level consistency points and rollback |
US11614956B2 (en) | 2019-12-06 | 2023-03-28 | Red Hat, Inc. | Multicast live migration for encrypted virtual machines |
CN111064569B (zh) * | 2019-12-09 | 2021-04-20 | 支付宝(杭州)信息技术有限公司 | 可信计算集群的集群密钥获取方法及装置 |
US11449601B2 (en) | 2020-01-08 | 2022-09-20 | Red Hat, Inc. | Proof of code compliance and protected integrity using a trusted execution environment |
US11711351B2 (en) * | 2020-01-14 | 2023-07-25 | Vmware, Inc. | Distributed management and installation of digital certificates on a cluster for authentication with an external key management service |
US11475131B2 (en) | 2020-01-27 | 2022-10-18 | Red Hat, Inc. | Hypervisor level signature checks for encrypted trusted execution environments |
US11533174B2 (en) | 2020-01-29 | 2022-12-20 | International Business Machines Corporation | Binding secure objects of a security module to a secure guest |
US11475167B2 (en) | 2020-01-29 | 2022-10-18 | International Business Machines Corporation | Reserving one or more security modules for a secure guest |
US11281607B2 (en) * | 2020-01-30 | 2022-03-22 | Red Hat, Inc. | Paravirtualized cluster mode for legacy APICs |
US11630683B2 (en) | 2020-02-26 | 2023-04-18 | Red Hat, Inc. | Low latency launch for trusted execution environments |
US11888972B2 (en) | 2020-02-26 | 2024-01-30 | Red Hat, Inc. | Split security for trusted execution environments |
US20210281548A1 (en) * | 2020-02-27 | 2021-09-09 | Virtru Corporation | Methods and systems for securing containerized applications |
US11714682B1 (en) | 2020-03-03 | 2023-08-01 | Amazon Technologies, Inc. | Reclaiming computing resources in an on-demand code execution system |
US11188391B1 (en) | 2020-03-11 | 2021-11-30 | Amazon Technologies, Inc. | Allocating resources to on-demand code executions under scarcity conditions |
US11620411B2 (en) | 2020-03-24 | 2023-04-04 | Red Hat, Inc. | Elastic launch for trusted execution environments |
US11775640B1 (en) | 2020-03-30 | 2023-10-03 | Amazon Technologies, Inc. | Resource utilization-based malicious task detection in an on-demand code execution system |
US11748133B2 (en) * | 2020-04-23 | 2023-09-05 | Netapp, Inc. | Methods and systems for booting virtual machines in the cloud |
US11397602B2 (en) * | 2020-04-24 | 2022-07-26 | Red Hat Inc. | Processor control register configuration support |
US11327783B2 (en) | 2020-04-29 | 2022-05-10 | Red Hat, Inc. | Asynchronous management of unencrypted memory page list of a virtual machine |
US11528186B2 (en) * | 2020-06-16 | 2022-12-13 | Robin Systems, Inc. | Automated initialization of bare metal servers |
US11880704B2 (en) * | 2020-06-24 | 2024-01-23 | Red Hat, Inc. | Nested virtual machine support for hypervisors of encrypted state virtual machines |
US11611431B2 (en) | 2020-07-01 | 2023-03-21 | Red Hat, Inc. | Network bound encryption for recovery of trusted execution environments |
US11671412B2 (en) | 2020-07-01 | 2023-06-06 | Red Hat, Inc. | Network bound encryption for orchestrating workloads with sensitive data |
US11645103B2 (en) * | 2020-07-23 | 2023-05-09 | EMC IP Holding Company LLC | Method and system for securing the movement of virtual machines between hosts |
US11741221B2 (en) | 2020-07-29 | 2023-08-29 | Red Hat, Inc. | Using a trusted execution environment to enable network booting |
US11558204B2 (en) | 2020-08-17 | 2023-01-17 | International Business Machines Corporation | Attesting control over network devices |
US11748140B2 (en) | 2020-08-31 | 2023-09-05 | Red Hat, Inc. | Virtual machine security policy implementation |
US11740980B2 (en) | 2020-09-22 | 2023-08-29 | Robin Systems, Inc. | Managing snapshot metadata following backup |
US11537761B2 (en) | 2020-09-25 | 2022-12-27 | Intel Corporation | Transparent network access control for spatial accelerator device multi-tenancy |
US11343082B2 (en) | 2020-09-28 | 2022-05-24 | Red Hat, Inc. | Resource sharing for trusted execution environments |
US11743188B2 (en) | 2020-10-01 | 2023-08-29 | Robin Systems, Inc. | Check-in monitoring for workflows |
US11456914B2 (en) | 2020-10-07 | 2022-09-27 | Robin Systems, Inc. | Implementing affinity and anti-affinity with KUBERNETES |
US11271895B1 (en) | 2020-10-07 | 2022-03-08 | Robin Systems, Inc. | Implementing advanced networking capabilities using helm charts |
US11900131B2 (en) * | 2020-10-15 | 2024-02-13 | EMC IP Holding Company LLC | Dynamic remediation actions in response to configuration checks in an information processing system |
US11750451B2 (en) | 2020-11-04 | 2023-09-05 | Robin Systems, Inc. | Batch manager for complex workflows |
US20210141658A1 (en) * | 2020-11-11 | 2021-05-13 | Ravi Sahita | Method and apparatus for trusted devices using trust domain extensions |
US11550713B1 (en) | 2020-11-25 | 2023-01-10 | Amazon Technologies, Inc. | Garbage collection in distributed systems using life cycled storage roots |
US11593270B1 (en) | 2020-11-25 | 2023-02-28 | Amazon Technologies, Inc. | Fast distributed caching using erasure coded object parts |
US11847253B2 (en) * | 2020-11-30 | 2023-12-19 | Red Hat, Inc. | Efficient launching of trusted execution environments |
US11556361B2 (en) | 2020-12-09 | 2023-01-17 | Robin Systems, Inc. | Monitoring and managing of complex multi-role applications |
US11799670B2 (en) * | 2020-12-11 | 2023-10-24 | Vmware, Inc. | Secure end-to-end deployment of workloads in a virtualized environment using hardware-based attestation |
US20220214902A1 (en) * | 2021-01-06 | 2022-07-07 | Baidu Usa Llc | Method for virtual machine migration with checkpoint authentication in virtualization environment |
US20220278963A1 (en) * | 2021-03-01 | 2022-09-01 | Samsung Electronics Co., Ltd. | Storage device, storage system, and method of secure data movement between storage devices |
CN112995206B (zh) * | 2021-04-13 | 2021-07-30 | 北京电信易通信息技术股份有限公司 | 一种基于可信技术实现多型工作单元安全联动的方法 |
US11829482B2 (en) * | 2021-06-08 | 2023-11-28 | Dell Products L.P. | Pre-boot authentication for virtual machines using credentials stored in virtual trusted platform modules |
US11388210B1 (en) | 2021-06-30 | 2022-07-12 | Amazon Technologies, Inc. | Streaming analytics using a serverless compute system |
US20230030816A1 (en) * | 2021-07-30 | 2023-02-02 | Red Hat, Inc. | Security broker for consumers of tee-protected services |
US11870647B1 (en) | 2021-09-01 | 2024-01-09 | Amazon Technologies, Inc. | Mapping on-premise network nodes to cloud network nodes |
US11799633B1 (en) * | 2021-09-27 | 2023-10-24 | Workday, Inc. | Enabling using external tenant master keys |
US11972007B2 (en) | 2021-12-09 | 2024-04-30 | Cisco Technology, Inc. | Enforcing location-based data privacy rules across networked workloads |
US11960607B2 (en) | 2021-12-09 | 2024-04-16 | Cisco Technology, Inc. | Achieving minimum trustworthiness in distributed workloads |
CN114637602A (zh) * | 2022-03-03 | 2022-06-17 | 鼎捷软件股份有限公司 | 数据分享系统以及数据分享方法 |
WO2023173102A2 (en) * | 2022-03-10 | 2023-09-14 | BedRock Systems, Inc. | Zero trust endpoint device |
EP4328772A1 (de) * | 2022-08-26 | 2024-02-28 | Siemens Aktiengesellschaft | Kaskadiert signierbares artefakt einer container-instanz |
Family Cites Families (113)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001063831A1 (en) | 2000-02-24 | 2001-08-30 | Valicert Corporation | Mechanism for efficient private bulk messaging |
GB2382419B (en) | 2001-11-22 | 2005-12-14 | Hewlett Packard Co | Apparatus and method for creating a trusted environment |
US8065713B1 (en) * | 2001-12-12 | 2011-11-22 | Klimenty Vainstein | System and method for providing multi-location access management to secured items |
US7631196B2 (en) * | 2002-02-25 | 2009-12-08 | Intel Corporation | Method and apparatus for loading a trustable operating system |
US20050166051A1 (en) | 2004-01-26 | 2005-07-28 | Mark Buer | System and method for certification of a secure platform |
US7552419B2 (en) * | 2004-03-18 | 2009-06-23 | Intel Corporation | Sharing trusted hardware across multiple operational environments |
US7380119B2 (en) | 2004-04-29 | 2008-05-27 | International Business Machines Corporation | Method and system for virtualization of trusted platform modules |
US7673139B1 (en) * | 2004-05-06 | 2010-03-02 | Symantec Corporation | Protecting administrative privileges |
US7590867B2 (en) | 2004-06-24 | 2009-09-15 | Intel Corporation | Method and apparatus for providing secure virtualization of a trusted platform module |
US7802250B2 (en) * | 2004-06-28 | 2010-09-21 | Intel Corporation | Support for transitioning to a virtual machine monitor based upon the privilege level of guest software |
US7757231B2 (en) * | 2004-12-10 | 2010-07-13 | Intel Corporation | System and method to deprivilege components of a virtual machine monitor |
US20060126836A1 (en) * | 2004-12-10 | 2006-06-15 | Hector Rivas | System and method for dynamic generation of encryption keys |
US7725703B2 (en) | 2005-01-07 | 2010-05-25 | Microsoft Corporation | Systems and methods for securely booting a computer with a trusted processing module |
US7860802B2 (en) * | 2005-02-01 | 2010-12-28 | Microsoft Corporation | Flexible licensing architecture in content rights management systems |
US7647589B1 (en) * | 2005-02-07 | 2010-01-12 | Parallels Software International, Inc. | Methods and systems for safe execution of guest code in virtual machine context |
US7836299B2 (en) | 2005-03-15 | 2010-11-16 | Microsoft Corporation | Virtualization of software configuration registers of the TPM cryptographic processor |
US7613921B2 (en) | 2005-05-13 | 2009-11-03 | Intel Corporation | Method and apparatus for remotely provisioning software-based security coprocessors |
US8074262B2 (en) * | 2005-05-13 | 2011-12-06 | Intel Corporation | Method and apparatus for migrating virtual trusted platform modules |
US7636442B2 (en) | 2005-05-13 | 2009-12-22 | Intel Corporation | Method and apparatus for migrating software-based security coprocessors |
RU2390959C2 (ru) * | 2005-06-17 | 2010-05-27 | Телефонактиеболагет Лм Эрикссон (Пабл) | Способ и устройство протокола идентификации хост-узла |
JP2007004661A (ja) * | 2005-06-27 | 2007-01-11 | Hitachi Ltd | 仮想計算機の制御方法及びプログラム |
US8090919B2 (en) * | 2007-12-31 | 2012-01-03 | Intel Corporation | System and method for high performance secure access to a trusted platform module on a hardware virtualization platform |
US8549592B2 (en) | 2005-07-12 | 2013-10-01 | International Business Machines Corporation | Establishing virtual endorsement credentials for dynamically generated endorsement keys in a trusted computing platform |
EP1911191B1 (en) | 2005-08-05 | 2017-12-06 | Hewlett-Packard Enterprise Development LP | System, method and apparatus for cryptography key management for mobile devices |
EP1977317A1 (en) | 2006-01-24 | 2008-10-08 | Citrix Systems, Inc. | Methods and systems for providing access to a computing environment |
US7444670B2 (en) | 2006-03-21 | 2008-10-28 | International Business Machines Corporation | Method and apparatus for migrating a virtual TPM instance and preserving uniqueness and completeness of the instance |
ES2664413T3 (es) * | 2006-04-21 | 2018-04-19 | Interdigital Technology Corporation | Aparato y métodos para realizar informes de mediciones de integridad informática de confianza |
US20070271560A1 (en) * | 2006-05-18 | 2007-11-22 | Microsoft Corporation | Deploying virtual machine to host based on workload characterizations |
US8108668B2 (en) | 2006-06-26 | 2012-01-31 | Intel Corporation | Associating a multi-context trusted platform module with distributed platforms |
WO2008001327A2 (en) * | 2006-06-30 | 2008-01-03 | Koninklijke Philips Electronics N.V. | Method and apparatus for encrypting/decrypting data |
US8522018B2 (en) | 2006-08-18 | 2013-08-27 | Fujitsu Limited | Method and system for implementing a mobile trusted platform module |
WO2008026086A2 (en) | 2006-08-31 | 2008-03-06 | International Business Machines Corporation | Attestation of computing platforms |
US9135444B2 (en) | 2006-10-19 | 2015-09-15 | Novell, Inc. | Trusted platform module (TPM) assisted data center management |
CN101636722B (zh) | 2007-03-20 | 2013-01-30 | 李尚奎 | 可移动的虚拟机映像 |
US8151262B2 (en) | 2007-03-30 | 2012-04-03 | Lenovo (Singapore) Pte. Ltd. | System and method for reporting the trusted state of a virtual machine |
US8875266B2 (en) * | 2007-05-16 | 2014-10-28 | Vmware, Inc. | System and methods for enforcing software license compliance with virtual machines |
US8060876B2 (en) | 2007-08-10 | 2011-11-15 | Intel Corporation | Methods and apparatus for creating an isolated partition for a virtual trusted platform module |
US7827371B2 (en) * | 2007-08-30 | 2010-11-02 | Intel Corporation | Method for isolating third party pre-boot firmware from trusted pre-boot firmware |
US9043896B2 (en) | 2007-08-31 | 2015-05-26 | International Business Machines Corporation | Device certificate based appliance configuration |
US8249257B2 (en) | 2007-09-28 | 2012-08-21 | Intel Corporation | Virtual TPM keys rooted in a hardware TPM |
US20090204964A1 (en) | 2007-10-12 | 2009-08-13 | Foley Peter F | Distributed trusted virtualization platform |
US8220029B2 (en) | 2007-11-13 | 2012-07-10 | Samsung Electronics Co., Ltd. | Method and system for enforcing trusted computing policies in a hypervisor security module architecture |
US8208637B2 (en) | 2007-12-17 | 2012-06-26 | Microsoft Corporation | Migration of computer secrets |
WO2009107349A1 (ja) | 2008-02-25 | 2009-09-03 | パナソニック株式会社 | 情報処理装置 |
WO2009123640A1 (en) | 2008-04-04 | 2009-10-08 | Hewlett-Packard Development Company, L.P. | Virtual machine manager system and methods |
US8543799B2 (en) | 2008-05-02 | 2013-09-24 | Microsoft Corporation | Client authentication during network boot |
US8578483B2 (en) * | 2008-07-31 | 2013-11-05 | Carnegie Mellon University | Systems and methods for preventing unauthorized modification of an operating system |
US8307353B2 (en) * | 2008-08-12 | 2012-11-06 | Oracle America, Inc. | Cross-domain inlining in a system virtual machine |
US20100082960A1 (en) | 2008-09-30 | 2010-04-01 | Steve Grobman | Protected network boot of operating system |
US8411863B2 (en) | 2008-10-03 | 2013-04-02 | Microsoft Corporation | Full volume encryption in a clustered environment |
US9300612B2 (en) * | 2009-01-15 | 2016-03-29 | International Business Machines Corporation | Managing interactions in a virtual world environment |
US8341427B2 (en) | 2009-02-16 | 2012-12-25 | Microsoft Corporation | Trusted cloud computing and services framework |
US8375195B2 (en) * | 2009-03-05 | 2013-02-12 | Oracle America, Inc. | Accessing memory locations for paged memory objects in an object-addressed memory system |
EP2278514B1 (en) * | 2009-07-16 | 2018-05-30 | Alcatel Lucent | System and method for providing secure virtual machines |
WO2011011016A1 (en) | 2009-07-24 | 2011-01-27 | Hewlett-Packard Development Company, L.P. | Virtual-machine-based application-service provision |
US8713182B2 (en) | 2009-08-03 | 2014-04-29 | Oracle International Corporation | Selection of a suitable node to host a virtual machine in an environment containing a large number of nodes |
JP2011048661A (ja) * | 2009-08-27 | 2011-03-10 | Nomura Research Institute Ltd | 仮想サーバ暗号化システム |
CA2675701A1 (en) * | 2009-08-27 | 2009-11-05 | Ibm Canada Limited - Ibm Canada Limitee | Trust assertion using hierarchical weights |
US8700893B2 (en) | 2009-10-28 | 2014-04-15 | Microsoft Corporation | Key certification in one round trip |
US8478996B2 (en) | 2009-12-21 | 2013-07-02 | International Business Machines Corporation | Secure Kerberized access of encrypted file system |
US9703586B2 (en) | 2010-02-17 | 2017-07-11 | Microsoft Technology Licensing, Llc | Distribution control and tracking mechanism of virtual machine appliances |
WO2011116459A1 (en) * | 2010-03-25 | 2011-09-29 | Enomaly Inc. | System and method for secure cloud computing |
US8375437B2 (en) | 2010-03-30 | 2013-02-12 | Microsoft Corporation | Hardware supported virtualized cryptographic service |
US20110246778A1 (en) | 2010-03-31 | 2011-10-06 | Emc Corporation | Providing security mechanisms for virtual machine images |
US8375220B2 (en) | 2010-04-02 | 2013-02-12 | Intel Corporation | Methods and systems for secure remote wake, boot, and login to a computer from a mobile device |
US9443078B2 (en) * | 2010-04-20 | 2016-09-13 | International Business Machines Corporation | Secure access to a virtual machine |
US8555377B2 (en) | 2010-04-29 | 2013-10-08 | High Cloud Security | Secure virtual machine |
WO2011152910A1 (en) | 2010-06-02 | 2011-12-08 | Vmware, Inc. | Securing customer virtual machines in a multi-tenant cloud |
US8856504B2 (en) * | 2010-06-07 | 2014-10-07 | Cisco Technology, Inc. | Secure virtual machine bootstrap in untrusted cloud infrastructures |
US8694777B2 (en) | 2010-08-13 | 2014-04-08 | International Business Machines Corporation | Securely identifying host systems |
AU2011291640B2 (en) | 2010-08-18 | 2015-11-12 | Security First Corp. | Systems and methods for securing virtual machine computing environments |
WO2012025793A1 (en) * | 2010-08-26 | 2012-03-01 | Freescale Semiconductor, Inc. | Memory management unit for a microprocessor system, microprocessor system and method for managing memory |
US8495750B2 (en) * | 2010-08-31 | 2013-07-23 | International Business Machines Corporation | Filesystem management and security system |
US9087181B2 (en) * | 2010-12-16 | 2015-07-21 | Hitachi, Ltd. | Method of managing virtual computer, computer system and computer |
US9202062B2 (en) | 2010-12-21 | 2015-12-01 | International Business Machines Corporation | Virtual machine validation |
TW201241662A (en) | 2010-12-21 | 2012-10-16 | Ibm | Virtual machine validation |
US8880667B2 (en) | 2011-02-09 | 2014-11-04 | Microsoft Corporation | Self regulation of the subject of attestation |
US8799997B2 (en) * | 2011-04-18 | 2014-08-05 | Bank Of America Corporation | Secure network cloud architecture |
US9172683B2 (en) * | 2011-06-29 | 2015-10-27 | Apple Inc. | Method and apparatus for key distribution with implicit offline authorization |
US8732462B2 (en) * | 2011-07-07 | 2014-05-20 | Ziptr, Inc. | Methods and apparatus for secure data sharing |
US8943564B2 (en) * | 2011-07-21 | 2015-01-27 | International Business Machines Corporation | Virtual computer and service |
US8874935B2 (en) | 2011-08-30 | 2014-10-28 | Microsoft Corporation | Sector map-based rapid data encryption policy compliance |
US20130061293A1 (en) * | 2011-09-02 | 2013-03-07 | Wenbo Mao | Method and apparatus for securing the full lifecycle of a virtual machine |
US9270459B2 (en) | 2011-09-20 | 2016-02-23 | Cloudbyte, Inc. | Techniques for achieving tenant data confidentiality from cloud service provider administrators |
US8694786B2 (en) | 2011-10-04 | 2014-04-08 | International Business Machines Corporation | Virtual machine images encryption using trusted computing group sealing |
US20130097296A1 (en) | 2011-10-18 | 2013-04-18 | Telefonaktiebolaget L M Ericsson (Publ) | Secure cloud-based virtual machine migration |
CN104067288B (zh) | 2012-01-23 | 2017-03-29 | 西里克斯系统公司 | 存储加密方法 |
US8909939B1 (en) | 2012-04-04 | 2014-12-09 | Google Inc. | Distribution of cryptographic host keys in a cloud computing environment |
IN2014DN09465A (pt) | 2012-05-24 | 2015-07-17 | Ericsson Telefon Ab L M | |
US9183031B2 (en) * | 2012-06-19 | 2015-11-10 | Bank Of America Corporation | Provisioning of a virtual machine by using a secured zone of a cloud environment |
US20140007087A1 (en) | 2012-06-29 | 2014-01-02 | Mark Scott-Nash | Virtual trusted platform module |
US20140019753A1 (en) | 2012-07-10 | 2014-01-16 | John Houston Lowry | Cloud key management |
US10248442B2 (en) | 2012-07-12 | 2019-04-02 | Unisys Corporation | Automated provisioning of virtual machines |
KR102013841B1 (ko) * | 2012-08-06 | 2019-08-23 | 삼성전자주식회사 | 데이터의 안전한 저장을 위한 키 관리 방법 및 그 장치 |
US20140052877A1 (en) | 2012-08-16 | 2014-02-20 | Wenbo Mao | Method and apparatus for tenant programmable logical network for multi-tenancy cloud datacenters |
US8656482B1 (en) * | 2012-08-20 | 2014-02-18 | Bitdefender IPR Management Ltd. | Secure communication using a trusted virtual machine |
US8997173B2 (en) | 2012-09-12 | 2015-03-31 | Ca, Inc. | Managing security clusters in cloud computing environments using autonomous security risk negotiation agents |
US8782401B2 (en) | 2012-09-26 | 2014-07-15 | Intel Corporation | Enhanced privacy ID based platform attestation |
US8924720B2 (en) | 2012-09-27 | 2014-12-30 | Intel Corporation | Method and system to securely migrate and provision virtual machine images and content |
RU2514140C1 (ru) * | 2012-09-28 | 2014-04-27 | Закрытое акционерное общество "Лаборатория Касперского" | Система и способ увеличения качества обнаружений вредоносных объектов с использованием правил и приоритетов |
US8700898B1 (en) | 2012-10-02 | 2014-04-15 | Ca, Inc. | System and method for multi-layered sensitive data protection in a virtual computing environment |
US9374228B2 (en) | 2012-10-12 | 2016-06-21 | International Business Machines Corporation | Verifying a geographic location of a virtual disk image executing at a data center server within a data center |
US20150355829A1 (en) * | 2013-01-11 | 2015-12-10 | Koninklijke Philips N.V. | Enabling a user to control coded light sources |
CN103139221B (zh) * | 2013-03-07 | 2016-07-06 | 中国科学院软件研究所 | 一种可信虚拟平台及其构建方法、平台之间数据迁移方法 |
US20140281497A1 (en) | 2013-03-13 | 2014-09-18 | General Instrument Corporation | Online personalization update system for externally acquired keys |
US9027087B2 (en) * | 2013-03-14 | 2015-05-05 | Rackspace Us, Inc. | Method and system for identity-based authentication of virtual machines |
US9390248B2 (en) | 2013-08-28 | 2016-07-12 | Intel Corporation | Systems and methods for authenticating access to an operating system by a user before the operating system is booted using a wireless communication token |
US9401954B2 (en) | 2013-11-06 | 2016-07-26 | International Business Machines Corporation | Scaling a trusted computing model in a globally distributed cloud environment |
US9519498B2 (en) | 2013-12-24 | 2016-12-13 | Microsoft Technology Licensing, Llc | Virtual machine assurances |
US9507935B2 (en) * | 2014-01-16 | 2016-11-29 | Fireeye, Inc. | Exploit detection system with threat-aware microvisor |
US9891918B2 (en) * | 2014-01-27 | 2018-02-13 | Via Alliance Semiconductor Co., Ltd. | Fractional use of prediction history storage for operating system routines |
US9652631B2 (en) | 2014-05-05 | 2017-05-16 | Microsoft Technology Licensing, Llc | Secure transport of encrypted virtual machines with continuous owner access |
US9519787B2 (en) | 2014-11-14 | 2016-12-13 | Microsoft Technology Licensing, Llc | Secure creation of encrypted virtual machines from encrypted templates |
-
2014
- 2014-09-09 US US14/481,399 patent/US9652631B2/en active Active
- 2014-10-01 US US14/504,096 patent/US9578017B2/en active Active
-
2015
- 2015-05-04 CN CN201580023933.5A patent/CN106462439B/zh active Active
- 2015-05-04 RU RU2016143089A patent/RU2679721C2/ru active
- 2015-05-04 JP JP2016566758A patent/JP6484255B2/ja active Active
- 2015-05-04 EP EP15722863.6A patent/EP3140950B1/en active Active
- 2015-05-04 BR BR112016024507-5A patent/BR112016024507B1/pt active IP Right Grant
- 2015-05-04 CN CN201580023853.XA patent/CN106462438B/zh active Active
- 2015-05-04 WO PCT/US2015/028991 patent/WO2015171476A1/en active Application Filing
- 2015-05-04 BR BR112016024453-2A patent/BR112016024453B1/pt active IP Right Grant
- 2015-05-04 EP EP15722864.4A patent/EP3140770B1/en active Active
- 2015-05-04 WO PCT/US2015/028995 patent/WO2015171478A1/en active Application Filing
- 2015-05-04 JP JP2016566806A patent/JP6665113B2/ja active Active
- 2015-05-04 RU RU2016143088A patent/RU2693313C2/ru active
-
2016
- 2016-08-22 US US15/243,647 patent/US10176095B2/en active Active
-
2019
- 2019-01-06 US US16/240,763 patent/US10956321B2/en active Active
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
BR112016024453B1 (pt) | Método implementado por computador para gerenciar conjunto de dados, sistema de computação e meio de armazenamento legível por computador físico | |
ES2872101T3 (es) | Gestión de claves distribuidas para entornos de ejecución confiables | |
JP7416775B2 (ja) | 周辺デバイス | |
KR102447251B1 (ko) | 실링 엔클레이브로써의 데이터 실링해제 | |
KR102467687B1 (ko) | 크로스-플랫폼 엔클레이브 신원 | |
KR102510273B1 (ko) | 실링 엔클레이브로써의 데이터 실링 | |
KR101687275B1 (ko) | 공개 클라우드에서의 신뢰 데이터 프로세싱 | |
US10511436B1 (en) | Protecting key material using white-box cryptography and split key techniques | |
US9026805B2 (en) | Key management using trusted platform modules | |
KR102466793B1 (ko) | 추상적 엔클레이브 신원 | |
US11438155B2 (en) | Key vault enclave | |
US20180212966A1 (en) | Cross-platform enclave data sealing | |
US10439803B2 (en) | Secure key management | |
Wan et al. | An improved vTPM migration protocol based trusted channel | |
US11405177B2 (en) | Nested enclave identity | |
JP2022177828A (ja) | 情報漏洩を低減した連合学習の方法、装置およびコンピュータプログラム(分割された動的シャッフルモデル更新を伴う連合学習) | |
Shin et al. | DFCloud: A TPM-based secure data access control method of cloud storage in mobile devices | |
JP2024519365A (ja) | 連合学習のための信頼できる分散型アグリゲーション |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
B15K | Others concerning applications: alteration of classification |
Free format text: AS CLASSIFICACOES ANTERIORES ERAM: H04L 9/08 , H04L 29/06 , G06F 21/62 Ipc: H04L 9/08 (2006.01), H04L 29/06 (2006.01), G06F 9/ |
|
B06U | Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette] | ||
B350 | Update of information on the portal [chapter 15.35 patent gazette] | ||
B09A | Decision: intention to grant [chapter 9.1 patent gazette] | ||
B16A | Patent or certificate of addition of invention granted [chapter 16.1 patent gazette] |
Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 04/05/2015, OBSERVADAS AS CONDICOES LEGAIS |