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 PDF

Info

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
Application number
BR112016024453-2A
Other languages
English (en)
Other versions
BR112016024453A2 (pt
BR112016024453A8 (pt
Inventor
Mark Fishel Novak
Nir Ben-Zvi
Niels T. Ferguson
Original Assignee
Microsoft Technology Licensing, Llc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing, Llc filed Critical Microsoft Technology Licensing, Llc
Publication of BR112016024453A2 publication Critical patent/BR112016024453A2/pt
Publication of BR112016024453A8 publication Critical patent/BR112016024453A8/pt
Publication of BR112016024453B1 publication Critical patent/BR112016024453B1/pt

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6281Protecting 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/10Integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45583Memory management, e.g. access or allocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45587Isolation or security of virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • G06F2212/652Page size control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/127Trusted platform modules [TPM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/24Key scheduling, i.e. generating round keys or sub-keys for block encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/72Signcrypting, i.e. digital signing and encrypting simultaneously
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/062Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying encryption of the keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key 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/0822Key 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage

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

ANTECEDENTES Antecedentes e Técnica Relevante
[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.
BREVE SUMÁRIO
[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.
BREVE DESCRIÇÃO DOS DESENHOS
[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.
DESCRIÇÃO DETALHADA
[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
Figure img0001
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)
Figure img0002
chaves de transporte simétricas (por exemplo,
Figure img0003
l pode ser uma chave de ingresso e
Figure img0004
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
Figure img0005
mensagem M criptografada utilizando a chave K; K pode ser simétrica ou assimétrica, dependendo do contexto
Figure img0006
Mensagem M autenticada utilizando a chave simétrica K
Figure img0007
Mensagem M assinada utilizando a chave assimétrica K
Figure img0008
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:
Figure img0009
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)
Figure img0010
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
Figure img0011
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").
Figure img0012
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).
Figure img0013
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:
Figure img0014
[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:
Figure img0015
[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.
Figure img0016
[0054] onde
Figure img0017
é a chave de assinatura privada da entrada na mensagem D que é marcada como o "guardião".
[0055] Finalmente, uma mensagem do tipo F é o "PD" real - a concatenação de mensagens D e E:
Figure img0018
[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
Figure img0019
chaves de criptografia e de autenticação derivadas a partir de TW
Figure img0020
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:
Figure img0021
[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:
Figure img0022
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
Figure img0023
para o alvo) 10. Agora, o hospedeiro pode completar a sequência de ativação da VM
Migração Real
[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.
BR112016024453-2A 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 BR112016024453B1 (pt)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Also Published As

Publication number Publication date
JP6665113B2 (ja) 2020-03-13
JP2017520959A (ja) 2017-07-27
CN106462439A (zh) 2017-02-22
JP2017515413A (ja) 2017-06-08
US20190155728A1 (en) 2019-05-23
US10176095B2 (en) 2019-01-08
RU2679721C2 (ru) 2019-02-12
RU2016143088A (ru) 2018-05-03
CN106462438B (zh) 2019-12-03
EP3140770B1 (en) 2020-02-12
BR112016024507A8 (pt) 2021-06-01
US9578017B2 (en) 2017-02-21
RU2016143088A3 (pt) 2018-11-26
RU2016143089A3 (pt) 2018-12-05
BR112016024453A2 (pt) 2017-08-15
JP6484255B2 (ja) 2019-03-13
BR112016024507B1 (pt) 2022-09-27
CN106462439B (zh) 2020-02-07
RU2016143089A (ru) 2018-05-04
CN106462438A (zh) 2017-02-22
WO2015171476A1 (en) 2015-11-12
RU2693313C2 (ru) 2019-07-02
US20160357988A1 (en) 2016-12-08
EP3140950A1 (en) 2017-03-15
EP3140950B1 (en) 2019-06-26
US20150319160A1 (en) 2015-11-05
BR112016024453A8 (pt) 2021-07-13
US10956321B2 (en) 2021-03-23
US9652631B2 (en) 2017-05-16
BR112016024507A2 (pt) 2017-08-15
EP3140770A1 (en) 2017-03-15
US20150318986A1 (en) 2015-11-05
WO2015171478A1 (en) 2015-11-12

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