RU2693313C2 - Безопасный транспорт зашифрованных виртуальных машин с непрерывным доступом владельца - Google Patents

Безопасный транспорт зашифрованных виртуальных машин с непрерывным доступом владельца Download PDF

Info

Publication number
RU2693313C2
RU2693313C2 RU2016143088A RU2016143088A RU2693313C2 RU 2693313 C2 RU2693313 C2 RU 2693313C2 RU 2016143088 A RU2016143088 A RU 2016143088A RU 2016143088 A RU2016143088 A RU 2016143088A RU 2693313 C2 RU2693313 C2 RU 2693313C2
Authority
RU
Russia
Prior art keywords
key
transport key
owner
encrypted
copy
Prior art date
Application number
RU2016143088A
Other languages
English (en)
Other versions
RU2016143088A3 (ru
RU2016143088A (ru
Inventor
Марк Фишел НОВАК
Нир БЕН-ЗВИ
Нильс Т. ФЕРГЮСОН
Original Assignee
МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи
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 МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи filed Critical МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи
Publication of RU2016143088A publication Critical patent/RU2016143088A/ru
Publication of RU2016143088A3 publication Critical patent/RU2016143088A3/ru
Application granted granted Critical
Publication of RU2693313C2 publication Critical patent/RU2693313C2/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/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
    • 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/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
    • 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/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
    • 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/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
    • 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
    • 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
    • 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

Abstract

Изобретение относится к вычислительной технике. Технический результат заключается в обеспечении конфиденциальности и целостности содержимого виртуальной машины. Способ управления зашифрованными наборами данных содержит этапы, на которых зашифровывают набор данных транспортным ключом, зашифрованным посредством первого механизма шифрования; зашифровывают множественные копии транспортного ключа посредством выполнения следующего: зашифровывание первой копии транспортного ключа посредством второго механизма шифрования, так чтобы данный владелец набора данных мог дешифровать первую копию транспортного ключа с использованием второго механизма шифрования, и зашифровывание, для по меньшей мере одного субъекта, отличающегося от упомянутого владельца, второй копии транспортного ключа посредством третьего механизма шифрования, так чтобы этот по меньшей мере один субъект мог дешифровать вторую копию транспортного ключа с использованием третьего механизма шифрования; создают пакет, содержащий первую и вторую зашифрованные копии транспортного ключа; генерируют защитную подпись и генерируют подпись транспортного ключа. 3 н. и 20 з.п. ф-лы, 6 ил.

Description

Предпосылки и соответствующий уровень техники
[0001] Взаимная связь вычислительных систем содействовала появлению распределенных вычислительных систем, например так называемых «облачных» компьютерных систем. В данном описании «облачные вычисления» могут быть системами или ресурсами для обеспечения повсеместного удобного сетевого доступа по требованию к общему пулу конфигурируемых вычислительных ресурсов (например, сетей, серверов, хранилищ, приложений, служб и т.д.), которые могут быть обеспечены и выделены при сокращенных трудозатратах на управление или на взаимодействие с провайдером услуг. Облачная модель может состоять из различных характеристик (например, самообслуживание по требованию, широкий доступ к сети, объединение ресурсов, быстрая адаптация, измеряемые услуги и т.д.), моделей обслуживания (например, программное обеспечение как услуга («SaaS»), платформа как услуга («PaaS»), инфраструктура как услуга («IaaS») и моделей развертывания (например, частное облако, общественное облако, общее облако, гибридное облако и т.д.).
[0002] Облачные и удаленные сервисные приложения являются преобладающими. Такие приложения размещаются на общих или частных удаленных системах, таких как облака, и обычно предлагают набор сетевых служб для обратной и прямой связи с клиентами.
[0003] В облачных вычислительных средах арендатор может включать в себя пользователя, компанию, отдел компании или другой субъект, имеющего права доступа к одной или более виртуальных машин, развернутых в центре хранения и обработки данных (датацентре) и запущенных провайдером облачных услуг. Арендатор может пожелать иметь виртуальные машины, развернутые от его имени. Однако арендатор может пожелать предотвратить возможность доступа других субъектов (таких как другие арендаторы, подслушиватели и даже администраторы датацентров) к своим виртуальным машинам, пока эти машины находятся в хранилище перед развертыванием на хосте датацентра или когда эти машины развернуты на хосте датацентра. Для осуществления этого виртуальная машина может быть зашифрована, например, шифрованием виртуального жесткого диска и/или метаданных для этой виртуальной машины. Таким образом, зашифрованная виртуальная машина может перемещаться в и из автономного хранилища и между хостами способом, который обеспечивает конфиденциальность и целостность ее содержимого. Дополнительно, ключ, используемый для шифрования содержимого виртуальной машины, может переворачиваться (т.е. изменяться) с определенной регулярностью. Это может ставить трудную задачу перед владельцем виртуальной машины по сохранению доступа к своим виртуальным машинам.
[0004] Однако, может быть некоторое желание иметь виртуальную машину (VM), способную к развертыванию на хосте, так и к возвращению и исполнению владельцем (например, арендатором) VM. Это может быть трудным с учетом защитной природы различных схем шифрования. В частности, целью шифрования является предотвратить возможность дешифрирования зашифрованной машины большим числом субъектов путем защиты секретов, используемых для дешифрирования. Таким образом существуют сложности иметь два различных субъекта, способных дешифрировать зашифрованную VM.
[0005] Заявленное здесь изобретение не ограничивается способами осуществления, которые затрагивают любые недостатки или которые могут работать только в окружениях, таких как описанные выше. Более того, эти предпосылки только обеспечивают иллюстрацию одной технологической области в качестве примера, в которой могут применяться некоторые описанные здесь варианты осуществления.
Краткое описание
[0006] Проиллюстрированный здесь вариант осуществления содержит способ, который может быть реализован на практике в вычислительной среде. Этот способ содержит действия по управлению шифрованными наборами данных. Способ содержит получение первого ключа дешифрирования. Первый ключ дешифрирования сконфигурирован для дешифрирования шифрованного набора данных, который был зашифрован с использованием первого механизма шифрования. Первый механизм шифрования связан с первым ключом дешифрирования, который может использоваться для дешифрирования набора данных. Данный способ дополнительно содержит шифрование первого ключа дешифрирования с помощью второго механизма шифрования. Второй механизм шифрования связан со вторым ключом дешифрирования, используемым первым субъектом, так что второй ключ дешифрирования может быть использован первым субъектом для дешифрирования набора данных путем дешифрирования сначала ключа, зашифрованного первым ключом, с использованием второго ключа дешифрирования, и затем путем использования первого дешифрированного ключа для дешифрирования набора данных. Данный способ дополнительно содержит шифрование первого ключа дешифрирования третьим механизмом шифрования. Третий механизм дешифрирования связан с третьим ключом дешифрирования, используемым вторым субъектом, так что третий ключ дешифрирования может быть использован вторым субъектом для дешифрирования набора данных путем дешифрирования сначала ключа, зашифрованного первым ключом, с использованием третьего ключа дешифрирования, и затем с использованием дешифрированного первого ключа для дешифрирования набора данных. Способ дополнительно содержит создание пакета, содержащего, по меньшей мере, первый ключ дешифрирования, зашифрованный вторым способом шифрования, и первый ключ дешифрирования, зашифрованный третьим способом шифрования. Способ дополнительно содержит подписывание пакета защитной подписью и подписывание пакета подписью, созданной из первого ключа дешифрирования.
[0007] Данное краткое изложение сущности изобретения дано для введения в упрощенной форме подборки концепций, которые дополнительно описаны ниже в подробном описании. Данное краткое изложение сущности изобретения не предназначено ни для идентификации ключевых особенностей или существенных особенностей заявленного изобретения, ни для использования в целях определения объема заявленного изобретения.
[0008] Дополнительные признаки и преимущества будут изложены в последующем описании и частично будут очевидны из описания или могут быть изучены при реализации содержащихся здесь идей. Признаки и преимущества настоящего изобретения могут быть реализованы и получены при помощи инструментов и комбинаций, в частности, указанных в прилагаемой формуле изобретения. Признаки настоящего изобретения будут более очевидны из последующего описания и прилагаемой формулы изобретения, либо могут быть изучены при реализации настоящего изобретения, как описано далее.
Краткое описание чертежей
[0009] Для описания способа, которым могут быть получены вышеуказанные и другие признаки и преимущества, более подробное описание изобретения, кратко описанного выше, будет воспроизводиться в связи с конкретными вариантами осуществления, которые проиллюстрированы на прилагаемых чертежах. Понимая, что эти чертежи описывают только типичные варианты осуществления и, поэтому, не могут рассматриваться ограничивающими объем, варианты осуществления будут описаны и разъяснены с дополнительной спецификой и детализацией путем использования сопроводительных чертежей, на которых:
[0010] Фиг. 1 показывает зашифрованный набор данных и пакет с зашифрованными ключами для дешифрирования зашифрованного набора данных;
[0011] Фиг. 2 показывает развертывание зашифрованных виртуальных машин;
[0012] Фиг. 3 показывает аттестационные операции для хостов и целевых объектов;
[0013] Фиг. 4 показывает процесс развертывания виртуальной машины на хосте;
[0014] Фиг. 5 показывает процесс миграции виртуальной машины; и
[0015] Фиг. 6 показывает способ управления зашифрованными наборами данных.
Подробное описание
[0016] Простая иллюстрация варианта осуществления настоящего изобретения показана со ссылкой на Фиг. 1. Фиг. 1 показывает зашифрованный набор 101 данных. Этот зашифрованный набор 101 данных может быть может быть дешифрирован с использованием транспортного ключа 102. В показанном примере множественные копии транспортного ключа 102 зашифрованы с использованием схем шифрования, специфичных для конкретного пользователя. Так, например, первая копия 102-0 зашифрована для владельца таким образом, что владелец набора 101 данных может дешифрировать копию, а другие субъекты не могут. Фиг. 1 далее показывает дополнительные копии, где каждая из n дополнительных копий со 102-1 до 102-n зашифрованы для хранителей (например, субъектов, которые могут принимать или хранить набор данных для владельца), так что каждый хранитель может дешифрировать свою копию, а другие субъекты не могут. В некоторых вариантах осуществления это может быть достигнуто путем использования асимметричных технологий шифрования. Так, например, первая копия 102-0 зашифрована с использованием общего ключа для владельца, так что владелец может использовать свой закрытый ключ для дешифрирования первой копии 102-0. Похожим образом копия 102-1 может быть дешифрирована с использованием общего ключа для первого хранителя, так что первый хранитель может дешифрировать копию 102-1 с использованием закрытого ключа хранителя. Похожее шифрование и дешифрирование может быть выполнено для остальных копий хранителей.
[0017] Эти копии упаковываются вместе и подписываются защитной подписью 103 с использованием криптографического ключевого хеширования или цифровой подписью, чтобы гарантировать, что пакет не был подделан. Охранник - субъект, который подписывает копии - может быть, например, владельцем или хранителем, и может меняться при передаче или перешифровании зашифрованного набора 101 данных. Защитная подпись может криптографически связывать пакет вместе, чтобы гарантировать, что набор 101 данных не может быть предоставлен неавторизованным субъектам. Пакет также включает в себя подпись 104 транспортного ключа, которая является формой аутентификации, создаваемой путем выполнения криптографического хеширования или другой функцией (такой как функция кода аутентификации сообщения (КАС)) транспортного ключа, который может быть использован как доказательство знания транспортного ключа хранителем.
[0018] Иллюстрируя теперь более подробный пример, некоторые показанные здесь варианты осуществления направлены на безопасное развертывание зашифрованных виртуальных машин (VM) на хосте в датацентре таким способом, который позволяет и хосту дешифрировать зашифрованную VM, и арендующему владельцу VM дешифрировать зашифрованную VM. Это может быть выполнено путем шифрования VM системой и создания двух (или более, если необходимо) копий ключа дешифрирования VM для данной VM. Одна копия ключа дешифрирования VM зашифрована с использованием общего ключа арендатора (позволяя арендатору дешифрировать ключ дешифрирования VM с использованием закрытого ключа арендатора, а затем дешифрировать VM с использованием ключа дешифрирования VM), в то время как вторая копия ключа дешифрирования VM зашифрована с использованием общего ключа службы распределения ключей (KDS) (которая позволяет хосту получить ключ дешифрирования VM с помощью от KDS). Дополнительно, два зашифрованных ключа могут быть надлежащим образом упакованы, например, с использованием защитной подписи и подписи ключа дешифрирования, как описано выше, для гарантии того, что не произошло взлома.
[0019] Хотя приведенное выше краткое описание сделано в контексте развертывания виртуальных машин в среде датацентра, должно быть понятно, что варианты осуществления могут также применяться в других сценариях.
[0020] Пример виртуальной машины, показанный на Фиг. 2, показывает арендатора 200, облачную службу 201, диспетчера 202 виртуальной машины, хранилище 203 виртуальной машины, агента 205 миграции, KDS 206 и хост 207. В показанном примере виртуальная машина 204 зашифрована, как показано поперечной штриховкой виртуальной машины в хранилище 203 виртуальной машины. Хранилище 203 виртуальной машины является системой хранения, обслуживаемой провайдером 201 облачных услуг. Арендатор 200 предоставляет виртуальные машины провайдеру 201 облачных услуг, который может хранить их в хранилище 203 машин. Арендатор 200 может шифровать виртуальные машины, либо виртуальные машины могут быть зашифрованы другими субъектами.
[0021] Агент 205 миграции (или другой подходящий субъект, например, арендатор 200) предоставляет две копии ключа, необходимые для дешифрирования зашифрованной виртуальной машины 204. Ключи могут предоставляться агенту миграции арендатором 200 или KDS 206, либо другими доверенными субъектами. Одна копия 209 ключа 208 шифруется с использованием общего ключа арендатора 200, в то время как другая копия 210 ключа 208 шифруется с использованием общего ключа KDS 206. Могут быть реализованы различные альтернативные варианты.
[0022] Ключ 208 может быть использован для дешифрирования VM 204 самостоятельно. Как альтернатива, ключ 208 может быть использован для дешифрирования модуля виртуальной доверенной платформы (vTPM) (как будет подробнее разъяснено ниже), который может быть использован для дешифрирования VM 204. Однако, это все еще попадает в объем того, что было описано, когда шифруется VM. В некоторых вариантах осуществления VM 204 может быть зашифрована путем шифрования виртуального жесткого диска (VHD) и/или метаданных виртуальной машины 204.
[0023] Если арендатор 200 желает извлечь и прочитать зашифрованную VM 204, арендатор 200 может просто запросить зашифрованную VM 204 обратно из хранилища 203 виртуальной машины и использовать ее закрытый ключ для дешифрирования первой копии 209 ключа 208, а затем использовать ключ 208 для доступа к VM 204.
[0024] Для развертывания VM 204 на хосте 207, VM 204 посылается на хост 207. Дополнительно, пакет 212, содержащий зашифрованные копии 209 и 210 ключа 208, посылается на хост 207.
[0025] Пакет 212 подписан и защитной подписью, и подписью для ключа 208.
[0026] Хост 207 посылает запрос 211 и пакет 212 на KDS 206. В качестве альтернативы, одновременно с посылкой запроса 211 на KDS 206 хост 207 может также послать вторую копию 210 ключа 208 на KDS. В качестве альтернативы, KDS 206 может принять вторую копию 210 из другой службы и может хранить вторую копию 210 в ожидании запроса 211.
[0027] В некоторых вариантах осуществления может быть сделано определение, что хост 207 соответствует определенным характеристикам, и если хост 207 соответствует определенным характеристикам, тогда KDS 206 может получить доступ к ключу 208, и он может быть отправлен обратно на хост 207. Например, варианты осуществления могут потребовать, чтобы хост 207 соответствовал определенным медицинским требованиям, например, что на хосте может потребоваться работа определенного программного обеспечения (или определенной версии программного обеспечения), что он должен иметь определенные настройки конфигурации, иметь соответствующую загрузочную запись. Хост затем может использовать свой ключ 208 для отпирания VM 204, позволяя VM 204 быть развернутой на хосте 207 (как показано при помощи незаштрихованной версии VM 207).
[0028] Следующее иллюстрирует еще одну дополнительную деталь. В процессах, требующих использования Службы распределения ключей, используется структура данных, называемая «дескриптор защиты», или PD. Главной функцией дескрипторов защиты является криптографическая упаковка ключа шифрования (например, ключа 208), называемого транспортным ключом. Эта упаковка гарантирует, что доступ к этому ключу предоставляется только авторизованным субъектам. KDS не знает или не заботится, какие данные защищает транспортный ключ.
[0029] В качестве иллюстрации владелец виртуальной машины (VM) может желать развернуть VM на хосте. Эта VM содержит два набора данных - секцию метаданных и набор виртуальных жестких дисков (VHD). Виртуальные жесткие диски зашифрованы с использованием соответствующей технологии шифрования, такой как BitLocker от компании Microsoft Corporation из Редмонда, Вашингтон. Полный ключ шифрования (FVEK), используемый для дешифрирования первичного VHD, защищен модулем виртуальной доверенной платформы (vTPM), состояние которого зашифровано и хранится как часть метаданных вместе с PD. Состояние vTPM непосредственно зашифровано с использованием ключа, упакованного PD. Это позволяет владельцу защитить VM от несанкционированного доступа к VM.
[0030] Когда хосту у провайдера услуг размещения (хостера) требуется развернуть VM, он извлекает PD для vTPM из метаданных и посылает его в KDS. Если хост авторизован для ключа vTPM, KDS возвратит в окружение службы доверенного выполнения (TEE), например, в подсистему безопасности хоста, ключ, с которым может быть дешифрирован vTPM. Множество различных подсистем безопасности могут использоваться совместно или альтернативно. В одном варианте осуществления эта подсистема может быть реализована как функции, выполняемые в ядре VM хоста. В другой реализации она может выполняться в гипервизоре. В других вариантах осуществления она может быть реализована как отдельное адресное пространство, выделяемое гипервизором с использованием возможностей адресации памяти процессора (иногда упоминаемая здесь как режим виртуальной безопасности (VSM)). В других вариантах осуществления она может быть реализована как отдельная область исполнения, обеспечиваемая процессором (такая как TrustZone в ARM-архитектуре, возникающая SGX-способность, описанная корпорацией Интел из Санта Клара, Калифорния, или технология модуля доверенной платформы (TPM). Эти различные реализации могут предложить схожую функциональность, такую как способность выполнять криптографические операции, хранить учетные данные, проверять целостность кода или данных и защищать секреты. Однако они могут различаться по свойствам безопасности, которую они предлагают.
[0031] Как альтернатива, в некоторых вариантах осуществления, если к виртуальной машине произведен доступ из окружения VM владельца, KDS не задействуется в выпуске ключа, поскольку PD содержит упаковку транспортного ключа, который позволяет выполнять прямой доступ владельцем VM. Примечательно, что KDS может в некоторых вариантах осуществления поддерживаться облачной службой 201, но в других вариантах осуществления может поддерживаться третьей стороной.
[0032] Субъекты, авторизованные для получения ключа, являются либо «владельцем», либо нулем, либо множеством «хранителей». Главное различие между двумя в том, что в некоторых вариантах осуществления владельцам дано создавать оригинальный PD; также в некоторых вариантах осуществления только владельцы могут быть отражены в PD при помощи самоподписанных сертификатов. Конструкция PD уделяет внимание обнаружению мошенников: уделяется внимание, чтобы гарантировать, что неавторизованный субъект не может представиться как владелец или как хранитель PD. Наконец, приняты резервные меры для восстановления после компрометации ключа. Например, это может быть достигнуто путем использования ключей с различным временем жизни, где владелец представлен долговременным ключом с высокой степенью защиты, и этот ключ используется для подписи более кратковременных ключей пользователя, которые не должны предлагать такой же уровень защиты. Эти кратковременные ключи становятся фактически охранными (т.е. владелец как хранитель).
[0033] Варианты осуществления могут также включать автоматический оборот ключей. Каждый раз, когда KDS 206 запрашивается вскрыть PD, это происходит потому, что некоторый субъект (например, хост Fabric) пытается читать зашифрованную часть данных. Такая операция ассоциируется с процессом «входа», таким как миграция в VM или создание новой VM из некоторых зашифрованных «данных настройки». KDS 206 отвечает на такие запросы с требуемым ключом, также как и с другим PD - тем, который используется в последовательном процессе «выхода», обычно означая миграцию VM к другому хосту 213 или к автономному хранилищу (например, к хранилищу 203 машин). Такая настройка гарантирует, что с KDS 206 необходимо будет контактировать только однажды - при входе, и это происходит тогда, когда оценивается здоровье хоста. Дополнительная оценка хоста при выходе не производится, если с KDS не было контактирования более одного раза. Однако варианты осуществления могут разрешать множество круговых путей к KDS 206, когда при этом не случается никакого вреда. Оценка хоста может выполняться каждый раз, когда варианты осуществления контактируют с KDS. Так, если с KDS не было контакта при выходе, также не было и оценки хоста при выходе.
[0034] В некоторых вариантах осуществления в любой момент времени только один субъект, владелец или хранитель, обозначается «хранителем» PD - субъектом, который создал и подписал PD (например, как показано на 103). Когда PD перемещается от владельца к хранителю и от одного хранителя к другому, изменяется опека. Однако опека будет оставаться той же самой, пока та же KDS 206 обрабатывает данный PD. Любой хранитель или владелец может «захватить» существующий PD (стать его опекуном) без привлечения текущего хранителя.
[0035] Следующее показывает математически строгую иллюстрацию одного примера. Данный раздел будет использовать следующую систему обозначений:
K 0 , K i , ST, TT
Figure 00000001
- субъекты, задействованные в процессах (арендатор K 0 , хранитель K i , источник ST TEE, объект TT TEE)
N EPub , N EPri - общие и закрытые ключи шифрования некоторого субъекта N; N E является сокращением N EPub )
N SPub , N SPri - общие и закрытые ключи шифрования некоторого субъекта N; N S является сокращением N SPub )
Figure 00000002
- сертификат субъекта N (владельца или хранителя), определяющий имя субъекта SN и его общий ключ (подписи или шифрования) N K , выпущенный субъектом M путем подписывания своим закрытым ключом N SPri (ключ подписи может подписывать соответствующий общий ключ для самоподписанного сертификата)
T Ki , T Ke - симметричные транспортные ключи (например, T Ki может быть входным ключом и T Ke - выходным ключом); в некоторых вариантах осуществления транспортные ключи не предназначены для использования непосредственно, но скорее как входы в функцию источника ключей для получения ключей шифрования и аутентификации для различных частей общей защищенной полезной нагрузки VM, однако могут использоваться различные схемы получения ключей
ε(K)[M] - сообщение M, зашифрованное с помощью ключа K; K может быть симметричным или асимметричным в зависимости от контекста
α(K)[M] - сообщение M, аутентифицированное с помощью симметричного ключа K
σ(K)[M] - сообщение M, подписанное с помощью асимметричного ключа K
Figure 00000003
- каскадное соединение сообщений M1 и M2.
[0036] Далее краткие обозначения в описании процессов будут использовать переменные для обозначения более сложных инструкций; в частности, при входе в хост некто скорее всего будет иметь дело с инструкциями, описанными ниже:
TK-e:= KDF(TK, «e») -полученный код шифрования (KDF означает функцию получения ключа (KDF, Key Derivation Function). «е» является входом в KDF, используемой для, например, различения получения ключа шифрования от получения, например, ключа подписи. Однако необходимо заметить, что это только один пример, и также может быть использован любой другой подходящий вход).
Это симметричный ключ, полученный от TK для шифрования полезной нагрузки
Отметим, что из одного транспортного ключа может быть необходимо получить несколько таких ключей шифрования, соответствующих разным частям защищаемой VM (например, зашифрованное состояние vTPM является только одной такой частью)
TK-a:= KDF(TK, «a») - полученный код аутентификации
Это симметричный ключ, полученный от TK для целей аутентификации полезной нагрузки
Отметим, что может быть необходимо получить несколько таких ключей аутентификации из одного транспортного ключа для целей аутентифицированного шифрования.
Figure 00000004
- зашифрованная и аутентифицированная полезная нагрузка P
Зашифрованная и аутентифицированная полезная нагрузка P (такая как состояние vTPM), созданная с использованием ключа шифрования и его компаньона - ключа аутентификации - в соответствии с транспортным ключом TK
[0037] Хотя в показанном здесь примере показаны раздельные ключ аутентификации и ключ шифрования, должно быть понятно, что в других вариантах осуществления некоторые криптографические алгоритмы позволяют использовать один и тот же ключ и для шифрования, и для аутентификации. Таки образом, показанные здесь структуры данных в других вариантах осуществления могут быть упрощены.
[0038] PD будет включать множество упаковок транспортного ключа - один владельцем (ниже это будет названо посланием типа «B») и нулем или более упаковываний хранителями, которые делегированы владельцем (это сообщения, называемые как тип «С»).
Figure 00000005
Figure 00000006
- ключ, упакованный владельцем
Это транспортный ключ, зашифрованный для пользователя VM; он позволяет пользователю в любой момент времени извлечь VM
Только запись владельца может содержать неделегированный (самоподписанный) сертификат поверх ключа подписи
К этому сообщению есть три части - сертификат поверх ключа подписи владельца, выпущенный владельцем сертификат поверх общего ключа шифрования пользователя и шифрование транспортного ключа с использованием общего ключа шифрования (сертификат поверх ключа подписи владельца может быть самоподписанным, но он не обязательно должен быть самоподписанным, а может быть выпущен органом сертификации, которому взаимно доверяют все стороны).
Figure 00000007
(
Figure 00000008
)
Figure 00000009
- ключ, упакованный хранителем
Это тот же транспортный ключ, зашифрованный для хранителя VM
K j - это «текущий» хранитель, для которого зашифрован транспортный ключ
K i - это «предыдущий» хранитель в цепочке (i=0 для владельца), который делегирует K j права хранителя
Для VM может быть ноль или более хранителей, и таким образом ноль и более сообщений типа C внутри PD.
[0039] Различные упаковки транспортного ключа комбинируются в комплект, показанный ниже как матрица, где каждая строка содержит число связанных информационных записей, соответствующих владельцу или хранителю. Владельцы идентифицируются как таковые (с использованием буквы «о»). Текущий хранитель как таковой помечен звездочкой. В показанном ниже примере PD стоит в форме, в которой он существует при создании владельцем для использования KDS 206. Комбинация различных упаковок этого ключа является сообщением типа D. Сообщение, сгенерированное владельцем для одного хранителя, будет выглядеть как:
Figure 00000010
KDS 206 может использовать это сообщение и добавить дополнительного хранителя(ей), в результате в PD будет выглядеть как:
Figure 00000011
[0040] Целостность и аутентичность сообщения типа D обеспечивается сообщением типа E. Это сообщение служит доказательством того, что хранитель действительно знает ключ, защищающий сообщение типа D, и действительно является автором этого сообщения.
Figure 00000012
,
где G SPri является закрытым ключом подписи информационной записи в сообщении D, которая помечена как «хранитель».
[0041] Наконец, сообщение типа F является собственно «PD» - объединение сообщений D и E:
Figure 00000013
[0042] В некоторых вариантах осуществления формат PD также включает в себя заголовок (для обмена информацией, такой как номер версии большого двоичного объекта (blob)), а также в качестве обеспечения криптографической гибкости (выбор шифра, режима и размера ключа для каждого ключа).
[0043] Типичный процесс включения PD поверх некоторой полезной нагрузки включает посылку хостом PD F i входного ключа TK i на KDS и ответа KDS двумя порциями информации:
1) упаковка двух транспортных ключей (входа и выхода - TK i и TK e ) для использования TEE хоста. Эта упаковка включает аутентифицированное шифрование объединения ключей входа и выхода:
TW - ключ упаковки, сгенерированный KDS
TW-e, TW-a - ключи аутентификации и шифрования, полученные из TW
Figure 00000014
2) Ключ выхода PD F e , построенный вокруг TK e для включения с входной полезной нагрузкой. Это не предназначено в TEE хоста и может быть вскрыто только владельцем или одним из хранителей.
[0044] В некоторых случаях хост предоставит множество дескрипторов входной защиты. В этом случае KDS гарантирует, что все дескрипторы защиты имеют одного и того же владельца (что очевидно из самоподписанного сертификата в корне цепочки делегирования). Результирующий дескриптор выходной защиты будет супермножеством всех хранителей из всех дескрипторов входной защиты, и сообщение H будет выглядеть как:
Figure 00000015
[0045] Как уже упоминалось, KDS 206 не знает тип полезной нагрузки, которую защищает большой двоичный объект типа F. Эта полезная нагрузка может быть состоянием vTPM, обеспечивая информацию для VM, или чем-то совершенно иным. В некоторых вариантах осуществления полезная нагрузка зашифрована с использованием ключа шифрования, полученного из транспортного мастер-ключа, и аутентифицирована с использованием соответствующего ключа аутентификации (как показано сообщениями типа A). Однако могут быть сконструированы другие механизмы получения ключа для получения того же или сходного общего эффекта.
[0046] В некоторых вариантах осуществления каждый хост (например, хосты 207 и 213) завершают аттестацию до того, как они смогут либо разместить VM, либо участвовать в процессе миграции. После успешного завершения аттестации службой 214 аттестации хоста (HAS) для этого хоста выпускается сертификат здоровья. В некоторых вариантах осуществления ключ в этом сертификате является общим ключом шифрования TEE для доверенной подсистемы хоста. Хост впоследствии предоставляет сертификат здоровья в KDS 206, которая отвечает путем шифрования чувствительных данных (например, ключ шифрования vTPM) на TEE хоста. Заметим, что в этом случае нет аутентификации с сертификатом здоровья и KDS 206 не требуется никакого доказательства владения для аутентификации хоста. Проще говоря, хост свободен представить любой сертификат, который он желает, но если он не имеет соответствующего закрытого ключа, он не сможет распознать ответ, который он принимает от СРВ.
[0047] Ссылка теперь сделана на Фиг. 3, который иллюстрирует процесс 300 для одного очень специфичного примера. Применительно к Фиг. 3:
1. Хост инициирует аттестацию путем обращения к службе аттестации
2. Служба аттестации выдает запрос. В вариантах осуществления, использующих технологию TPM, это может быть запрос чтения регистра конфигурации платформы (PCR). На Фиг. 3 это показано как единичный обмен запрос/ответ, но на практике он скорее всего будет иметь два этапа: один для установления сессии и другой - для удовлетворения запроса.
В вариантах осуществления, использующих устройства TPM 2.0, возможны два различных режима аттестации - один является традиционной ссылкой доверенной группы компьютеров (TCG) через одноразовый номер, и другой - «прямое чтение PCR» через сессию с добавленной аутентификацией. Заметим, что это просто один пример. В других вариантах осуществления, например, может быть использован TPM 1.2, хотя функция прямого чтения PCR может быть не доступна.
3. Устройство удовлетворяет запрос чтения PCR путем предоставления значений требуемых PCR вместе с журналом TCG.
4. Устройство соединяет «запрос аттестации», который содержит ответ на запрос чтения PCR.
5. Служба проверяет предоставленный журнал TCG, значения PCR и дополнительно консультирует политики для определения того, является ли здоровым содержимое журнала TCG, предоставленного хостом (в дополнение к простому соответствию значений PCR).
6. Служба выпускает сертификат здоровья, который внутренне кодирует общий ключ TEE и набор измерений здоровья хоста, как определено службой 214 аттестации здоровья.
7. Этот аттестат здоровья хранится хостом для последующего использования при достижении VM и процессах миграции.
[0048] Хостинг и миграция виртуальной машины
[0049] Миграция виртуальной машины является комплексным процессом, содержащим несколько движущихся частей. Он включает сервер хоста источника, сервер хоста получателя и службу управления, которая организовывает перемещение. Данный раздел фокусируется преимущественно на управлении ключами, относящимися к миграции VM. Миграция VM может происходить, например, в одном из следующих случаев:
От одного хоста к другому в области одного и того же хранителя
От владельца к хранителю
От одного хранителя к другому
От хранителя обратно к владельцу.
[0050] В каждом случае предполагается, что виртуальная машина проходит враждебную территорию (сеть, хранилище, адресное пространство). Способ защиты полезной нагрузки и самого PD, описанный выше, реализует безопасный сквозной транспорт VM и ее ключевого материала.
[0051] В каждом сценарии миграции VM путешествует в своей сущности от одного хоста к другому или к/от хранилища. В одном варианте осуществления VM содержит следующие последовательные блоки:
ключи шифрования vTPM
состояние vTPM
метаданные VM
один или более VHD
состояние памяти VM
состояние устройства VM.
[0052] Ключи шифрования vTPM (например, транспортные ключи или ключи, полученные из транспортных ключей) зашифрованы таким образом, что доступ к ним может получить только владелец или хранитель виртуальной машины. Затем транспортные ключи передаются наследованием на TEE хоста, авторизованную просматривать их.
[0053] В одном примере для иллюстрации состояние vTPM зашифровано с использованием транспортного ключа или ключа шифрования, полученного из транспортного ключа; шифрование дополнительно аутентифицировано с использованием ключа аутентификации, также полученного из транспортного ключа. Состояние vTPM и транспортные ключи, защищающие его, не оставляют незащищенной TEE хоста. Одно должно быть понятно, что это просто один пример и что фактически существует неограниченное число способов, которыми эти ключи могут быть использованы для защиты конфиденциальности и целостности, которые попадают в область вариантов осуществления настоящего изобретения.
[0054] Чувствительные части метаданных также могут быть аутентифицированы с использование отличающегося ключа аутентификации, также полученного из транспортного ключа (в некоторых вариантах осуществления, как хорошая криптографическая практика, ключ аутентификации, использованный для подтверждения зашифрованного состояния vTPM не должны оставлять TEE, поэтому используется отдельный ключ). В целом, в показанном примере вся криптография, включая эти секретные ключи, сделана с использованием или TEE, или расширений TEE (например, расширением может быть ядро операционной системы хоста, защищенное с использованием кода целостности, реализуемого гипервизором). Иерархия ключей может быть выстроена с транспортным ключом в вершине и с различными частями виртуальной машины, зашифрованными с использованием ключей в этой иерархии.
[0055] Предполагается, что VHD должен быть зашифрован с использованием FVEK, защищенным vTPM, поэтому архитектура миграции не делает дополнительной попытки для их защиты. В дополнение, для арендатора 200 возможно загрузить с провайдера 201 услуг VM, которая принадлежит этому арендатору и выполняет это непосредственно, т.е. без включения KDS 206.
[0056] Наконец, память VM и состояние устройства зашифрованы с использованием ключей, полученных из транспортного мастер-ключа. Они могут быть похожим образом аутентифицированы с использованием соответствующих ключей аутентификации.
[0057] До того, как сможет начаться процесс, включающий защищенные гостевые VM, удовлетворяются несколько предварительных условий.
1. (ОПЦИОНАЛЬНО - только для случаев, где память 202 VM (VMM) организует процесс миграции). Служба управления VMM, такая как SCVMM, доступная от Корпорации Майкрософт из Редмонда, Вашингтон, готова и выполняется, доступная серверам источника и приемника.
2. Служба 206 распределения ключей и служба 214 аттестации хоста готовы.
3. Сервер хоста-источника (например, хост 207) имеет готовую и работающую гостевую виртуальную машину 204.
4. В случае миграции сервер хоста-получателя (например, хост 213) является способным для TEE, готов и работает.
[0058] Серии этапов выполняются до того, как произойдет реальная миграция. Из-за экстремальных ограничений по времени, которые могут существовать в некоторых вариантах осуществления, горячая миграция, в частности, требует, чтобы они были предприняты (иногда, хорошо) до реальной попытки миграции. Заметим, что список, приведенный ниже, умышленно перечисляет только новые условия и опускает хорошо известные шаги, такие как запрос хостом-источником получателя о доступности ресурсов для принятия новой гостевой VM и т.д.
1. И хост источника (например, хост 207), и хост получателя (например, хост 213) закончили аттестацию (например, как описано выше).
2. Хост получателя (например, хост 213) удовлетворяет входной миграционной политике, в противном случае он не подходит для принятия состояния VM - лучше установить это заранее, хотя строгое следование хостом миграционной политике будет проверено KDS 206 во время реальной миграции.
3. Успешная аттестация позволяет создавать безопасное соединение между корневой TEE источника и хостами-получателями (в частности, трастлет (доверенную сеть) агента миграции, работающую внутри корневой TEE) и KDS 206 на основании шифрования данных между субъектами.
[0059] Конвертирование существующей VM в защищенную VM.
[0060] Виртуальная машина в окружении арендатора может быть конвертирована в состояние «защищенная VM» путем связывания ее с vTPM. Затем обычно ожидается миграция VM в структуру провайдера услуг. В некоторых вариантах осуществления для создания защищенной VM из обычной VM имеет место следующее:
1. Создается PD для VM и заселяется корректным пользователем и хранителем(ями)
2. Создается vTPM и дополнительно сертифицируется путем выпуска подтверждающего сертификата, подписанного соответствующим органом, таким, как, например, собственный орган сертификации арендатора.
3. Технология шифрования, такая как BitLocker, включается на VM и ее VHD полностью шифруются.
[0061] Как только VHD VM полностью зашифрованы, VM становится «достаточно безопасной» для миграции в структуру провайдера услуг.
[0062] Создание знака нового PD (в отличие от перешифрования существующего PD) отличается от других процессов, поскольку в других случаях включения дескрипторов защиты хост аутентифицирует KDS 206 по успешному вскрытию существующего PD. В случае создания знака нового PD его исходный PD уже не существует.
[0063] Некоторые варианты осуществления могут загружать процесс вокруг создания нового PD путем старта с «нулевым» PD - известный входной ключ упаковывается пользователем и любым разрешенным арендатором. Хранителем этого нулевого PD является сам владелец. Этот PD доступен любым хостам арендатора, включенным в создание VM. Для создания PD для новой VM хост предоставляет нулевой PD в KDS, которая возвращает два ключа (известный входной ключ плюс новый выходной ключ), а также PD вокруг выходного ключа. Этот выходной ключ используется хостом для миграции VM за пределы хранилища 203 машин (или другого хранилища) или к провайдеру услуг.
[0064] Вслед за созданием выходного ключа хост может создать и сертифицировать vTPM. Как только vTPM создан и сертифицирован, он может быть присоединен к метаданным VM. Затем перезапускается ОС VM и виртуальное устройство нового vTPM становится открытым для нее при следующей загрузке. В этот момент ОС свободна зашифровать свой VHD, например, путем использования BitLocker.
[0065] Запуск VM на хосте.
[0066] До того, как хост сможет отпустить VM для миграции, он сначала должен ее загрузить и выполнить. Это достигается путем скачивания VM из автономного хранилища. VHD VM предполагается зашифрованным (например, при помощи BitLocker) и ключ запечатанным внутри vTPM VM. Состояние этой vTPM упаковано с использованием транспортного ключа TK i (сообщение A i ) и ассоциированных данных, чтобы помочь KDS распаковать ключ TK i для хоста (PD F i ). И A i , и F i являются частью метаданных VM. Со ссылкой на Фиг. 4 шаг за шагом процесс 400 запуска VM выглядит так:
1. Служба управления инициирует запуск VM на хосте путем контактирования с ним и обеспечения ему ссылки на VM, которая должна быть запущена
2. Хост принимает запрос
3. Хост обращается к автономному хранилищу для скачивания VM
4. После скачивания VM хост выполняет поиск в метаданных VM и переходит к конструированию запроса к KDS:
Извлекает большие двоичные объекты A i (упакованное состояние vTPM) и F i (PD для ключей шифрования vTPM, упакованных посредством KDS)
Посылает в KDS PD F i , сопровождаемый сертификатом здоровья, который содержит свой общий ключ TEE ST EPub
5. KDS принимает запрос и аутентифицирует сертификат здоровья
Сертификат не устарел
Подпись сертификата достоверна (если сертификат является самоподписанным, подпись соответствует службе аттестации), иначе сертификат происходит от органа сертификации, признаваемым KDS)
(ОПЦИОНАЛЬНО) Политика выпуска, закодированная в сертификате, соответствует здоровому хосту согласно текущей политике здоровья хоста
ПРИМЕЧАНИЕ: KDS не подтверждает, что запрос пришел с хоста, в собственности которого находится закрытый ключ, соответствующий сертификату здоровья; его ответ будет зашифрован с использованием общего ключа TEE инициатора запроса и таким образом будет бесполезным для атакующей стороны
6. KDS вскрывает большой двоичный объект F i и вычисляет ответ:
Обрабатывает входной PD для извлечения входного транспортного ключа:
Из F i извлекает E i и D i
Из D i извлекает B i , а также ноль или более сообщений типа C i
Среди сообщений B i и C i обнаруживает строку, соответствующую KDS
Выстраивает цепочку сертификации начиная с сертификата подписи хранителя, чтобы быть уверенным, что все сертификаты ключей подписи в цепочке сворачиваются к сертификату подписи владельца (единственным, который может быть самоподписанным, и если он не самоподписан, проверяет, что он подписан доверенным органом, таким как, например, Verisign в Рестоне, Вирджиния)
Может быть полезным проверить все сообщения B i и C i
Из сообщений B i и C i , соответствующих KDS, дешифрирует TK i
Из TK i извлекает TK i -a
Используя TK i -a, проверяет HMAC внутри E i , а также подпись хранителя поверх PD
Генерирует выходной транспортный ключ TK e
Генерирует PD для TK e :
Из T EPub (полученного из B i ) и TK e генерирует B e
Из K EPub и TK e генерирует C e (это выполняется для всех C-сообщений, которых может быть ноль или более)
Из B e и C e генерирует D e ; помечает себя при этом как хранитель
Аутентифицирует D e при помощи TK e -a, получая в результате сообщение E e
Подписывает D e при помощи своего ключа подписи
Объединяет D e и E e во входной PD F e
Готовится послать TK i и TK e обратно хосту
Генерирует TW и из него TW-e и TW-a
Из TW, TW-a, TW-e, TK i , TK e и ST EPub генерирует H
Ответ хосту содержит объединенные сообщения: H||F e
7. Хост принимает ответ от KDS и передает сообщение H в TEE наряду с A i
8. TEE обрабатывает ответ от KDS:
Из H с использованием ST EPri дешифрирует TW
Из TW получает TW-e и TW-a
Используя TW-e, дешифрирует TK i и TK e
Аутентифицирует шифрование TK i и TK e с использованием TW-a, таким образом аутентифицируя способность KDS вскрывать PD (и таким образом аутентичность KDS)
Из TK i получает ключи шифрования и аутентификации - TK i - e и TK i - a
С использованием TK i - e дешифрирует состояние vTPM из A i
С использованием Из TK i - a шифрование состояние vTPM
9. Как только состояние vTPM дешифрировано, TEE развертывает vTPM
TEE удерживает значение TK e до тех пор, пока не истечет время, за которое должна мигрировать vTPM, т.е. составляет сообщение Ae и посылает A e ||F e получателю
10. Теперь хост может завершить последовательность запуска VM.
[0067] Реальная миграция.
[0068] В некоторых вариантах осуществления для секретности пересылки каждый случай миграции требует уникального ключа, подходящий только для этой миграции. Важное соображение безопасности, которое учитывается данной конструкцией, состоит в том, что в службе VMM 202 доверие мало или отсутствует.
[0069] Один возможный механизм для миграции, включающий состояние TEE, показан на Фиг. 5. Поток 500, показанный на Фиг. 5, использует несколько служб: «служба управления» (такая как SCVMM), «служба аттестации» и «служба распределения ключей». Служба аттестации и Служба распределения ключей могут быть размещены совместно, поскольку они в равной степени доверенные (и более доверенные, чем SCVMM).
[0070] Реальная миграция начинается с «ключевого соглашения», за которым следует реальная передача данных.
1. Служба управления инициирует миграцию путем связи с хостом источника и обеспечения ему ID виртуальной машины, которая должна мигрировать и идентификатора хоста получателя.
2. Хост источника пересылает запрос миграции хосту получателя вместе с выходным транспортным ключом PD F e ; с точки зрения получателя, это входной PD.
3. Хост получателя принимает запрос миграции
4. Хост получателя запрашивает KDS распаковать транспортный ключ для него путем посылки сообщения F e , которое он получил из хоста-источника, к KDS вместе с его сертификатом здоровья хоста.
5. KDS проверяет сертификат здоровья хоста, представленный хостом-получателем, в той же манере, как было описано выше для хоста-источника.
6. KDS делает похожие вычисления ключей шифрования состояния, как было сделано для описанного выше запуска VM, только в это время он возвращает ключи TK e и TK e ʹ вместо TK i и TK e .
7. Хост получателя принимает этот ответ и передает его своей TEE для распаковки.
8. TEE хоста-получателя дешифрирует ключ TK e с использованием своего закрытого TEE-ключа TT EPri .
9. Хост получателя сигнализирует хосту источника о своей готовности выполнить реальную миграцию.
[0071] Это завершает фазу ключевого соглашения и устанавливает этап на последний шаг - реальную безопасную передачу данных.
10. Наконец, после того как завершены все описанные выше шаги, два сервера могут начать передачу состояния - она зашифрована на источнике посредством трастлета миграции TEE и передана через него к TEE получателя.
11. TEE источника и получателя обрабатывают шифрование состояния vTPM и шифрование с использованием полученных ключей для передачи состояния от одного к другому.
[0072] Резервное копирование и восстановление VM.
[0073] Процесс резервного копирования и восстановления с точки зрения управления ключами и потока данных очень похож на миграцию от сервера-источника к некоторому объекту хранения данных в состоянии покоя, сопровождаемый миграцией тех же данных на сервер-получатель. Копирование данных в состоянии покоя не требует дополнительной защиты, поскольку этот процесс уже разработан для пересечения небезопасной территории. Единственное требование состоит в том, что ID VM и зашифрованный (при помощи KDS) ключ миграции должны храниться в том же состоянии VM, поскольку они используются службой распределения ключей, чтобы распечатать ключ дешифрирования, необходимый для восстановления.
[0074] Требования прямой секретности лучше всего соблюдаются, если хост, выполняющий резервное копирование VM, получает новый ключ шифрования и использует его для перешифрования состояния VM перед резервным копированием.
[0075] Отказоустойчивость виртуальной машины внутри кластера.
[0076] Отказоустойчивость VM внутри кластера также может рассматриваться как специальный случай миграции; в этом случае все узлы делят одни и те же метаданные VM для каждого ID VM, размещенной в этом кластере, и таким образом могут получить ключи миграции из KDS перед отработкой отказа. Узлы в кластере делят хранилище, где размещены данные VM; так как все узлы в кластере согласны, какой упакованный ключ VM использовать, ключевое соглашение также легко установить, чтобы гарантировать быструю и легкую отработку отказа. В частности, сценарии отработки отказов не требуют прямой секретности, поэтому ключ, при помощи которого зашифрована vTPM, не изменяется, пока VM находится внутри этого кластера.
[0077] Миграция виртуальной машины между датацентрами
[0078] Пока PD для VM содержит оба датацентра в качестве хранителей, миграция ничем не отличается от случая «арендатор к провайдеру услуг» - принимающий хранитель вскрывает PD, генерирует новый PD и устанавливает себя хранителем PD. Транспортный ключ в новом PD зашифрован для владельца и каждого хранителя, как и прежде.
[0079] Следующее обсуждение теперь относится к ряду способов и методологических действий, которые могут быть выполнены. Хотя эти методологические действия могут обсуждаться в определенном порядке или могут быть показаны на технологической схеме совершающимися в определенном порядке, никакого определенного порядка не требуется, если это специально не установлено или требуется потому, что некоторое действие зависит от другого действия, завершающегося перед его выполнением.
[0080] Со ссылкой на Фиг. 6 показан способ 600. Способ 600 может быть реализован на практике в компьютерном окружении. Этот способ включает действия по управлению зашифрованными наборами данных. Этот способ включает получение первого ключа дешифрирования (действие 602). Первый ключ дешифрирования сконфигурирован для дешифрирования зашифрованного набора данных, который был зашифрован с использованием первого механизма шифрования. Первый механизм шифрования ассоциирован с первым ключом дешифрирования, который может использоваться для дешифрирования этого набора данных.
[0081] Способ 600 далее включает в себя шифрование первого ключа дешифрирования вторым механизмом шифрования (действие 604). Второй механизм шифрования ассоциирован со вторым ключом дешифрирования, используемым первым субъектом, так что второй ключ дешифрирования может быть использован первым субъектом для дешифрирования этого набора данных путем дешифрирования сначала ключа, зашифрованного первым ключом, с использованием второго ключа дешифрирования, и затем используя дешифрированный первый ключ для дешифрирования этого набора данных.
[0082] Способ 600 дополнительно содержит шифрование первого ключа дешифрирования третьим механизмом шифрования (действие 606). Третий механизм шифрования ассоциирован с третьим ключом дешифрирования, используемым вторым субъектом, так что третий ключ дешифрирования может быть использован вторым субъектом для дешифрирования этого набора данных путем дешифрирования сначала ключа, зашифрованного первым ключом, с использованием третьего ключа дешифрирования, а затем используя дешифрированный первый ключ для дешифрирования этого набора данных.
[0083] Способ 600 дополнительно включает создание пакета, содержащего по меньшей мере первый ключ дешифрирования, зашифрованный с использованием второго способа шифрования, и первый ключ дешифрирования, зашифрованный третьим способом шифрования (действие 608).
[0084] Данный способ дополнительно включает подписывание этого пакета защитной подписью (действие 610) и подписывание этого пакета подписью, созданной из первого ключа дешифрирования (действие 612).
[0085] Далее, эти способы могут быть реализованы на практике компьютерной системой, содержащей один или более процессоров и машиночитаемую среду, такую как компьютерная память. В частности, компьютерная память может хранить выполняемые компьютером инструкции, которые при выполнении одним или более процессорами вызывают выполнение различных функций, таких как действия, перечисленные в вариантах осуществления.
[0086] Варианты осуществления настоящего изобретения могут содержать или использовать компьютеры специального назначения или общего назначения, включая компьютерную аппаратную часть, как обсуждается ниже более подробно. Варианты осуществления в области настоящего изобретения также включают физическую и другую машиночитаемую среду для переноса или хранения выполняемых компьютером инструкций и/или структур данных. Такая машиночитаемая среда может быть любой доступной средой, к которой можно получить доступ при помощи компьютерной системы общего назначения или специального назначения. Машиночитаемая среда, которая хранит выполняемые компьютером инструкции, является физической средой хранения. Машиночитаемая среда, которая переносит выполняемые компьютером инструкции, является средой передачи. Таким образом, путем примера, но не ограничения, варианты осуществления настоящего изобретения могут содержать по меньшей мере два отчетливо разных вида машиночитаемых сред: физическую машиночитаемую среду хранения и машиночитаемую среду передачи.
[0087] Физическая машиночитаемая среда хранения включает оперативную память (RAM), постоянную память (ROM), электрически перепрограммируемую постоянную память (EEPROM), постоянную память на оптическом диске (CD-ROM) или другое хранилище на оптическом диске (например, CD-диски, DVD-диски и т.п.), хранилище на магнитном диске или другие магнитные устройства хранения, или любую другую среду, которая может быть использована для хранения требуемых средств программного кода в форме выполняемых компьютером инструкций или структур данных, к которым можно получить доступ при помощи компьютерной системы общего назначения или специального назначения.
[0088] «Сеть» определяется как одно или более соединений данных, позволяющих передавать электронные данные между компьютерными системами и/или другими электронными устройствами. Когда информация передается или предоставляется компьютеру по сети или по другому соединению связи (или проводному, или беспроводному, или комбинации проводного и беспроводного), этот компьютер соответственно видит соединение как среду передачи. Среда передачи может содержать сеть и/или соединения данных, которые могут быть использованы для переноса требуемых средств программного кода в форме выполняемых компьютером инструкций или структур данных и к которым можно получить доступ при помощи компьютерной системы общего назначения или специального назначения. Комбинации вышеперечисленного также включены в область машиночитаемой среды.
[0089] Далее, по достижении различных компонентов компьютерной системы средства программного кода в форме выполняемых компьютером инструкций или структур данных могут быть автоматически переданы из машиночитаемой среды передачи на машиночитаемую физическую среду хранения (и наоборот). Например, выполняемые компьютером инструкции или структуры данных, принятые по сети или соединению данных, могут быть буферизованы в RAM внутри модуля сетевого интерфейса (например, «NIC») и затем со временем переданы в RAM компьютерной системы и/или на более постоянную машиночитаемую физическую среду хранения на компьютерной системе. Таким образом, машиночитаемая физическая среда хранения может быть включена в компоненты компьютерной системы, которые также (и даже в первую очередь) используют среду передачи.
[0090] Выполняемые компьютером инструкции содержат, например, инструкции и данные, которые заставляют компьютер общего назначения, компьютер специального назначения или специализированное вычислительное устройство выполнять некоторую функцию или группу функций. Эти выполняемые компьютером инструкции могут быть, например, двоичным кодом, инструкциями во вспомогательном формате, таком как язык ассемблера, или даже в исходном коде. Хотя изобретение описано на языке, специфичном для структурных свойств и/или методологических действий, необходимо понимать, что объем изобретения, определяемый формулой изобретения, не обязательно ограничен описанными свойствами или действиями, описанными выше. Более того, описанные свойства и действия раскрыты в форме примеров реализации формулы изобретения.
[0091] Специалисты в данной области поймут, что данное изобретение может применяться в сетевом компьютерном окружении с многими типами конфигурации компьютерных систем, включая персональные компьютеры, настольные компьютеры, ноутбуки, обработчики сообщений, портативные устройства, многопроцессорные системы, микропроцессорная или программируемая потребительская электроника, сетевые персональные компьютеры, миникомпьютеры, универсальные компьютеры, мобильные телефоны, КПК, пейджеры, роутеры, коммутаторы и т.п. Данное изобретение может также реализовываться в средах распределенных систем, где локальные или удаленные компьютерные системы, соединенные (или по проводному соединению данных, или по беспроводному соединению данных, или комбинацией проводного и беспроводного соединения данных) через сеть одновременно выполняют задачи. В окружении распределенной системы программные модули могут быть размещены одновременно на локальных и удаленных устройствах хранения памяти.
[0092] Как альтернатива, или в дополнение, описанная здесь функциональность может быть реализована, по меньшей мере частично, одним или более компонентами аппаратной логики. Например, но без ограничения, иллюстративные типы компонентов аппаратной логики, которые могут быть использованы, включают программируемые пользователем вентильные матрицы (ППВМ), специализированные интегральные микросхемы (ASIC), системы на кристалле (SoC), программируемые логические интегральные схемы (ПЛИС) и т.д.
[0092] Настоящее изобретение может быть осуществлено в других специфичных формах без отхода от его сути и характеристик. Рассмотренные варианты осуществления следует рассматривать во всех отношениях только как иллюстративные, но не ограничивающие. Объем настоящего изобретения, таким образом, определяется скорее формулой изобретения нежели предшествующим описанием. Все изменения, которые происходят внутри значения и диапазона эквивалентности формулы изобретения, подразумеваются охватываемыми ее объемом.

Claims (43)

1. Компьютерно-реализуемый способ управления зашифрованными наборами данных, содержащий этапы, на которых:
зашифровывают набор данных транспортным ключом, зашифрованным посредством первого механизма шифрования;
зашифровывают множественные копии транспортного ключа посредством выполнения следующего:
зашифровывание, для владельца упомянутого набора данных, первой копии транспортного ключа посредством второго механизма шифрования, так чтобы данный владелец набора данных мог дешифровать первую копию транспортного ключа с использованием второго механизма шифрования, но субъекты, отличающиеся от этого владельца, не могли дешифровать первую копию транспортного ключа, и
зашифровывание, для по меньшей мере одного субъекта, отличающегося от упомянутого владельца, второй копии транспортного ключа посредством третьего механизма шифрования, так чтобы этот по меньшей мере один субъект мог дешифровать вторую копию транспортного ключа с использованием третьего механизма шифрования, но субъекты, отличающиеся от этого по меньшей мере одного субъекта, не могли дешифровать вторую копию транспортного ключа;
создают пакет, содержащий первую и вторую зашифрованные копии транспортного ключа;
генерируют защитную подпись, которая соответствует либо упомянутому владельцу, либо упомянутому по меньшей мере одному субъекту, отличающемуся от данного владельца, при этом защитная подпись криптографически связывает упомянутый пакет, чтобы гарантировать, что упомянутый набор данных не предоставляется неавторизованным субъектам; и
генерируют подпись транспортного ключа, создаваемую из транспортного ключа, при этом подпись транспортного ключа дополнительно криптографически связывает упомянутый пакет и служит в качестве доказательства того, что любой субъект, пытающийся осуществить доступ к упомянутому набору данных, осведомлен о транспортном ключе.
2. Способ по п.1, в котором упомянутый набор данных содержит части виртуальной машины.
3. Способ по п.2, в котором упомянутый по меньшей мере один субъект является провайдером услуг размещения виртуальной машины и упомянутый владелец набора данных является арендатором провайдера услуг размещения.
4. Способ по п.3, в котором транспортный ключ является мастер-ключом для виртуальной машины или модуля виртуальной доверенной платформы (vTPM) для виртуальной машины.
5. Способ по п. 4, в котором упомянутый набор данных содержит информацию подготовки для виртуальной машины.
6. Способ по п. 4, в котором упомянутый набор данных содержит состояние vTPM.
7. Способ по п. 3, в котором зашифрованный набор данных и упомянутый пакет перенаправляются агентом миграции провайдеру услуг размещения.
8. Способ по п. 7, в котором, прежде чем к зашифрованному набору данных будет разрешен доступ, провайдер услуг размещения посылает запрос в службу распределения ключей (KDS), при этом перед выполнением действий по данному запросу KDS определяет, удовлетворяет ли провайдер услуг размещения определенным характеристикам.
9. Способ по п. 8, в котором в дополнение к упомянутому запросу провайдер услуг размещения также отправляет либо упомянутый пакет, либо вторую зашифрованную копию транспортного ключа.
10. Способ по п. 8, в котором KDS принимает вторую зашифрованную копию транспортного ключа от другой службы перед выполнением действий по упомянутому запросу.
11. Способ по п. 1, в котором вторым механизмом шифрования является общедоступный ключ упомянутого владельца, а третьим механизмом шифрования является общедоступный ключ упомянутого по меньшей мере одного субъекта, отличающегося от данного владельца.
12. Вычислительная система для управления зашифрованными наборами данных, содержащая машиночитаемые носители, содержащие машиноисполняемые инструкции, и один или более процессоров, которые при исполнении машиноисполняемых инструкций предписывают вычислительной системе управлять набором данных, зашифрованным посредством первого механизма шифрования, путем
зашифровывания множественных копий транспортного ключа посредством выполнения следующего:
зашифровывание, для владельца упомянутого набора данных, первой копии транспортного ключа посредством второго механизма шифрования, так чтобы данный владелец набора данных мог дешифровать первую копию транспортного ключа с использованием второго механизма шифрования, но субъекты, отличающиеся от этого владельца, не могли дешифровать первую копию транспортного ключа, и
зашифровывание, для по меньшей мере одного субъекта, отличающегося от упомянутого владельца, второй копии транспортного ключа посредством третьего механизма шифрования, так чтобы этот по меньшей мере один субъект мог дешифровать вторую копию транспортного ключа с использованием третьего механизма шифрования, но субъекты, отличающиеся от этого по меньшей мере одного субъекта, не могли дешифровать вторую копию транспортного ключа;
создания пакета, содержащего первую и вторую зашифрованные копии транспортного ключа;
генерирования защитной подписи, которая соответствует либо упомянутому владельцу, либо упомянутому по меньшей мере одному субъекту, отличающемуся от данного владельца, при этом защитная подпись криптографически связывает упомянутый пакет, чтобы гарантировать, что упомянутый набор данных не предоставляется неавторизованным субъектам; и
генерирования подписи транспортного ключа, создаваемой из транспортного ключа, при этом подпись транспортного ключа дополнительно криптографически связывает упомянутый пакет и служит в качестве доказательства того, что любой субъект, пытающийся осуществить доступ к упомянутому набору данных, осведомлен о транспортном ключе.
13. Система по п.12, при этом упомянутый набор данных содержит части виртуальной машины.
14. Система по п.13, при этом упомянутый по меньшей мере один субъект является провайдером услуг размещения виртуальной машины и упомянутый владелец набора данных является арендатором провайдера услуг размещения.
15. Система по п.14, при этом транспортный ключ является мастер-ключом для виртуальной машины или модуля виртуальной доверенной платформы (vTPM) для виртуальной машины.
16. Система по п. 15, при этом упомянутый набор данных содержит информацию подготовки для виртуальной машины.
17. Система по п. 15, при этом упомянутый набор данных содержит состояние vTPM.
18. Система по п. 13, при этом зашифрованный набор данных и упомянутый пакет перенаправляются агентом миграции провайдеру услуг размещения.
19. Система по п. 18, при этом, прежде чем к зашифрованному набору данных будет разрешен доступ, провайдер услуг размещения посылает запрос в службу распределения ключей (KDS), причем перед выполнением действий по данному запросу KDS определяет, удовлетворяет ли провайдер услуг размещения определенным характеристикам.
20. Система по п. 19, при этом в дополнение к упомянутому запросу провайдер услуг размещения также отправляет либо упомянутый пакет, либо вторую зашифрованную копию транспортного ключа.
21. Система по п. 19, при этом KDS принимает вторую зашифрованную копию транспортного ключа от другой службы перед выполнением действий по упомянутому запросу.
22. Система по п. 12, при этом вторым механизмом шифрования является общедоступный ключ упомянутого владельца, а третьим механизмом шифрования является общедоступный ключ упомянутого по меньшей мере одного субъекта, отличающегося от данного владельца.
23. Машиночитаемый носитель информации, содержащий мащиноисполняемые инструкции, которые при их исполнении одним или более процессорами вычислительной системы предписывают вычислительной системе:
зашифровывать набор данных транспортным ключом, зашифрованным посредством первого механизма шифрования;
зашифровывать множественные копии транспортного ключа посредством выполнения следующего:
зашифровывание, для владельца упомянутого набора данных, первой копии транспортного ключа посредством второго механизма шифрования, так чтобы данный владелец набора данных мог дешифровать первую копию транспортного ключа с использованием второго механизма шифрования, но субъекты, отличающиеся от этого владельца, не могли дешифровать первую копию транспортного ключа, и
зашифровывание, для по меньшей мере одного субъекта, отличающегося от упомянутого владельца, второй копии транспортного ключа посредством третьего механизма шифрования, так чтобы этот по меньшей мере один субъект мог дешифровать вторую копию транспортного ключа с использованием третьего механизма шифрования, но субъекты, отличающиеся от этого по меньшей мере одного субъекта, не могли дешифровать вторую копию транспортного ключа;
создавать пакет, содержащий первую и вторую зашифрованные копии транспортного ключа;
генерировать защитную подпись, которая соответствует либо упомянутому владельцу, либо упомянутому по меньшей мере одному субъекту, отличающемуся от данного владельца, при этом защитная подпись криптографически связывает упомянутый пакет, чтобы гарантировать, что упомянутый набор данных не предоставляется неавторизованным субъектам; и
генерировать подпись транспортного ключа, создаваемую из транспортного ключа, при этом подпись транспортного ключа дополнительно криптографически связывает упомянутый пакет и служит в качестве доказательства того, что любой субъект, пытающийся осуществить доступ к упомянутому набору данных, осведомлен о транспортном ключе.
RU2016143088A 2014-05-05 2015-05-04 Безопасный транспорт зашифрованных виртуальных машин с непрерывным доступом владельца RU2693313C2 (ru)

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
RU2016143088A RU2016143088A (ru) 2018-05-03
RU2016143088A3 RU2016143088A3 (ru) 2018-11-26
RU2693313C2 true RU2693313C2 (ru) 2019-07-02

Family

ID=54356002

Family Applications (2)

Application Number Title Priority Date Filing Date
RU2016143089A RU2679721C2 (ru) 2014-05-05 2015-05-04 Аттестация хоста, содержащего доверительную среду исполнения
RU2016143088A RU2693313C2 (ru) 2014-05-05 2015-05-04 Безопасный транспорт зашифрованных виртуальных машин с непрерывным доступом владельца

Family Applications Before (1)

Application Number Title Priority Date Filing Date
RU2016143089A RU2679721C2 (ru) 2014-05-05 2015-05-04 Аттестация хоста, содержащего доверительную среду исполнения

Country Status (7)

Country Link
US (4) US9652631B2 (ru)
EP (2) EP3140950B1 (ru)
JP (2) JP6665113B2 (ru)
CN (2) CN106462439B (ru)
BR (2) BR112016024453B1 (ru)
RU (2) RU2679721C2 (ru)
WO (2) WO2015171476A1 (ru)

Families Citing this family (284)

* 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 华为技术有限公司 一种安全控制方法及网络设备
US9678773B1 (en) 2014-09-30 2017-06-13 Amazon Technologies, Inc. Low latency computational capacity provisioning
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
US10048974B1 (en) 2014-09-30 2018-08-14 Amazon Technologies, Inc. Message-based computation request scheduling
US9600312B2 (en) 2014-09-30 2017-03-21 Amazon Technologies, Inc. Threading as a service
US9146764B1 (en) 2014-09-30 2015-09-29 Amazon Technologies, Inc. Processing event messages for user requests to execute program code
US9323556B2 (en) 2014-09-30 2016-04-26 Amazon Technologies, Inc. Programmatic event detection and message generation for 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
US10078549B2 (en) 2015-05-19 2018-09-18 Vmware, Inc. Maintaining hole boundary information for restoring snapshots from parity
US9652634B2 (en) * 2015-05-19 2017-05-16 Vmware, Inc. Maintaing encryption keys to provide encryption on top of data deduplication
US9866574B1 (en) * 2015-06-01 2018-01-09 Amazon Technologies, Inc. Protected data type handling awareness
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
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
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
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
US9973432B2 (en) 2015-07-10 2018-05-15 International Business Machines Corporation Load balancing 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 キヤノン株式会社 情報処理システム、制御方法
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
US10013267B1 (en) 2015-12-16 2018-07-03 Amazon Technologies, Inc. Pre-triggers for code execution environments
US9830449B1 (en) * 2015-12-16 2017-11-28 Amazon Technologies, Inc. Execution locations for request-driven code
US9811434B1 (en) 2015-12-16 2017-11-07 Amazon Technologies, Inc. Predictive management of on-demand code execution
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
US10067801B1 (en) 2015-12-21 2018-09-04 Amazon Technologies, Inc. Acquisition and maintenance of compute capacity
US10079693B2 (en) * 2015-12-28 2018-09-18 Netapp, Inc. Storage cluster management proxy
WO2017131712A1 (en) * 2016-01-28 2017-08-03 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
US10791097B2 (en) 2016-04-14 2020-09-29 Sophos Limited Portable encryption format
US10681078B2 (en) 2016-06-10 2020-06-09 Sophos Limited Key throttling to mitigate unauthorized file access
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
US10063372B1 (en) * 2016-03-25 2018-08-28 EMC IP Holding Company LLC Generating pre-encrypted keys
US20170277898A1 (en) * 2016-03-25 2017-09-28 Advanced Micro Devices, Inc. Key management for secure memory address spaces
US10162672B2 (en) 2016-03-30 2018-12-25 Amazon Technologies, Inc. Generating data streams from pre-existing data sets
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
US10891145B2 (en) 2016-03-30 2021-01-12 Amazon Technologies, Inc. Processing pre-existing data sets at an on demand code execution environment
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
US10127068B2 (en) 2016-06-30 2018-11-13 Amazon Technologies, Inc. Performance variability reduction using an opportunistic hypervisor
US10277708B2 (en) 2016-06-30 2019-04-30 Amazon Technologies, Inc. On-demand network code execution with cross-account aliases
GB2551983B (en) 2016-06-30 2020-03-04 Sophos Ltd Perimeter encryption
US10318311B2 (en) * 2016-06-30 2019-06-11 Amazon Technologies, Inc. Memory allocation techniques at partially-offloaded virtualization managers
US10203990B2 (en) 2016-06-30 2019-02-12 Amazon Technologies, Inc. On-demand network code execution with cross-account aliases
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
US10187203B2 (en) * 2016-08-30 2019-01-22 Workday, Inc. Secure storage encryption system
US10177908B2 (en) * 2016-08-30 2019-01-08 Workday, Inc. Secure storage decryption 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
EP3516573A1 (en) * 2016-09-22 2019-07-31 Telefonaktiebolaget LM Ericsson (PUBL) Version control for trusted computing
US10061613B1 (en) 2016-09-23 2018-08-28 Amazon Technologies, Inc. Idempotent task execution in on-demand network code execution systems
US10884787B1 (en) 2016-09-23 2021-01-05 Amazon Technologies, Inc. Execution guarantees in an on-demand network code execution system
US10320571B2 (en) * 2016-09-23 2019-06-11 Microsoft Technology Licensing, Llc Techniques for authenticating devices using a trusted platform module device
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 航天信息股份有限公司 一种物流运输的加密安全控制方法、装置及系统
EP3550781B1 (en) * 2016-12-30 2021-02-17 Huawei Technologies Co., Ltd. Private information distribution method and device
CN110121857B (zh) * 2016-12-30 2021-02-09 华为技术有限公司 一种凭据分发的方法和设备
US10530777B2 (en) * 2017-01-24 2020-01-07 Microsoft Technology Licensing, Llc Data unsealing with a sealing enclave
US10419402B2 (en) * 2017-01-26 2019-09-17 Microsoft Technology Licensing, Llc Addressing a trusted execution environment using signing key
US10972265B2 (en) * 2017-01-26 2021-04-06 Microsoft Technology Licensing, Llc Addressing a trusted execution environment
US10897459B2 (en) * 2017-01-26 2021-01-19 Microsoft Technology Licensing, Llc Addressing a trusted execution environment using encryption key
US10897360B2 (en) 2017-01-26 2021-01-19 Microsoft Technology Licensing, Llc Addressing a trusted execution environment using clean room provisioning
US10250517B2 (en) 2017-02-03 2019-04-02 Microsoft Technology Licensing, Llc Completion-side client throttling
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
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
CN111066284B (zh) * 2017-10-09 2021-06-29 华为技术有限公司 一种业务证书管理方法、终端及服务器
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
EP3714389B1 (en) * 2017-11-20 2023-08-02 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
US10564946B1 (en) 2017-12-13 2020-02-18 Amazon Technologies, Inc. Dependency handling in an on-demand network code execution system
US10303492B1 (en) 2017-12-13 2019-05-28 Amazon Technologies, Inc. Managing custom runtimes in an on-demand 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
US11582168B2 (en) 2018-01-11 2023-02-14 Robin Systems, Inc. Fenced clone applications
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
US10572375B1 (en) 2018-02-05 2020-02-25 Amazon Technologies, Inc. Detecting parameter validity in code including cross-service calls
US10733085B1 (en) 2018-02-05 2020-08-04 Amazon Technologies, Inc. Detecting impedance mismatches due to cross-service calls
US10353678B1 (en) 2018-02-05 2019-07-16 Amazon Technologies, Inc. Detecting code characteristic alterations 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
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
WO2019202563A1 (en) * 2018-04-20 2019-10-24 Vishal Gupta Decentralized document and entity verification engine
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
US11042641B2 (en) 2018-09-11 2021-06-22 Amari.Ai Incorporated Deployment and communications gateway for deployment, trusted execution, and secure communications
US11188477B2 (en) 2018-09-11 2021-11-30 Apple Inc. Page protection layer
US11017092B2 (en) * 2018-09-27 2021-05-25 Intel Corporation Technologies for fast launch of trusted containers
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
US11099917B2 (en) 2018-09-27 2021-08-24 Amazon Technologies, Inc. Efficient state maintenance for execution environments in an on-demand code execution system
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
US11531627B2 (en) 2019-03-08 2022-12-20 International Business Machines Corporation Secure storage isolation
US11640361B2 (en) 2019-03-08 2023-05-02 International Business Machines Corporation Sharing secure memory across multiple security domains
US11354421B2 (en) * 2019-03-08 2022-06-07 International Business Machines Corporation Secure execution guest owner controls for secure interface control
US11487906B2 (en) * 2019-03-08 2022-11-01 International Business Machines Corporation Storage sharing between a secure domain and a non-secure entity
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
US11115404B2 (en) 2019-06-28 2021-09-07 Amazon Technologies, Inc. Facilitating service connections in serverless code executions
US11159528B2 (en) 2019-06-28 2021-10-26 Amazon Technologies, Inc. Authentication to network-services using hosted authentication information
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
CN110677240B (zh) * 2019-08-29 2020-07-10 阿里巴巴集团控股有限公司 通过证书签发提供高可用计算服务的方法、装置及介质
US10790979B1 (en) 2019-08-29 2020-09-29 Alibaba Group Holding Limited Providing high availability computing service by issuing a certificate
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
US11962624B2 (en) 2019-09-27 2024-04-16 International Business Machines Corporation Metadata driven selection of entitlements in an identity governance system
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
US11023416B2 (en) 2019-09-27 2021-06-01 Amazon Technologies, Inc. Data access control system for object storage service based on owner-defined 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
US10996961B2 (en) 2019-09-27 2021-05-04 Amazon Technologies, Inc. On-demand indexing of data in input 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
US11550944B2 (en) 2019-09-27 2023-01-10 Amazon Technologies, Inc. Code execution environment customization system for 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
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
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
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
US11656892B1 (en) 2019-09-27 2023-05-23 Amazon Technologies, Inc. Sequential execution of user-submitted code and native functions
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
US11386230B2 (en) 2019-09-27 2022-07-12 Amazon Technologies, Inc. On-demand code obfuscation of data in input 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
US11139991B2 (en) 2019-09-28 2021-10-05 Intel Corporation Decentralized edge computing transactions with fine-grained time coordination
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
US11671412B2 (en) 2020-07-01 2023-06-06 Red Hat, Inc. Network bound encryption for orchestrating workloads with sensitive data
US11611431B2 (en) 2020-07-01 2023-03-21 Red Hat, Inc. Network bound encryption for recovery of trusted execution environments
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
US11763043B2 (en) 2020-09-25 2023-09-19 Intel Corporation Enabling late-binding of security features via configuration security controller for accelerator devices
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
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

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010055396A1 (en) * 2000-02-24 2001-12-27 David Jevans Mechanism for efficient private bulk messaging
US20070094719A1 (en) * 2005-05-13 2007-04-26 Scarlata Vincent R Method and apparatus for migrating virtual trusted platform modules
US20110258441A1 (en) * 2010-04-20 2011-10-20 International Business Machines Corporation Secure Access to a Virtual Machine
RU2433459C2 (ru) * 2006-05-18 2011-11-10 Майкрософт Корпорейшн Развертывание виртуальной машины на хосте на основе описания характеристик рабочей нагрузки
US20120137117A1 (en) * 2009-07-16 2012-05-31 Peter Bosch System and method for providing secure virtual machines

Family Cites Families (108)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US20060126836A1 (en) * 2004-12-10 2006-06-15 Hector Rivas System and method for dynamic generation of encryption keys
US7757231B2 (en) * 2004-12-10 2010-07-13 Intel Corporation System and method to deprivilege components of a virtual machine monitor
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
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
CA2637980A1 (en) 2006-01-24 2007-08-02 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
KR101041543B1 (ko) 2006-04-21 2011-06-17 인터디지탈 테크날러지 코포레이션 신뢰된 컴퓨팅 무결성 측정 보고를 수행하는 장치 및 방법
US8108668B2 (en) 2006-06-26 2012-01-31 Intel Corporation Associating a multi-context trusted platform module with distributed platforms
US9276739B2 (en) * 2006-06-30 2016-03-01 Koninklijke Philips 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
EP2080142B1 (en) 2006-08-31 2014-09-24 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
US20100107163A1 (en) 2007-03-20 2010-04-29 Sanggyu Lee Movable virtual machine image
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
CN101960464B (zh) 2008-02-25 2013-01-16 松下电器产业株式会社 信息处理装置
US8516481B2 (en) 2008-04-04 2013-08-20 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
US8763005B2 (en) 2009-07-24 2014-06-24 Hewlett-Packard Development Company, L.P. Virtual-machine-based application-service provision of front-end versions of back-end applications
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
US9081989B2 (en) * 2010-03-25 2015-07-14 Virtustream Canada Holdings, 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
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
EP3029592B1 (en) 2010-08-18 2018-07-25 Security First Corp. Systems and methods for securing virtual machine computing environments
EP2609511B1 (en) * 2010-08-26 2016-10-19 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
JP5524355B2 (ja) * 2010-12-16 2014-06-18 株式会社日立製作所 仮想計算機管理方法、計算機システム及び計算機
TW201241662A (en) 2010-12-21 2012-10-16 Ibm Virtual machine validation
US9202062B2 (en) 2010-12-21 2015-12-01 International Business Machines Corporation Virtual machine validation
US8880667B2 (en) 2011-02-09 2014-11-04 Microsoft Corporation Self regulation of the subject of attestation
US8875240B2 (en) 2011-04-18 2014-10-28 Bank Of America Corporation Tenant data center for establishing a virtual machine in a cloud environment
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
WO2013112538A1 (en) 2012-01-23 2013-08-01 Citrix Systems, Inc. Storage encryption
US8909939B1 (en) 2012-04-04 2014-12-09 Google Inc. Distribution of cryptographic host keys in a cloud computing environment
IN2014DN09465A (ru) 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
US9740857B2 (en) * 2014-01-16 2017-08-22 Fireeye, Inc. 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

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010055396A1 (en) * 2000-02-24 2001-12-27 David Jevans Mechanism for efficient private bulk messaging
US20070094719A1 (en) * 2005-05-13 2007-04-26 Scarlata Vincent R Method and apparatus for migrating virtual trusted platform modules
RU2433459C2 (ru) * 2006-05-18 2011-11-10 Майкрософт Корпорейшн Развертывание виртуальной машины на хосте на основе описания характеристик рабочей нагрузки
US20120137117A1 (en) * 2009-07-16 2012-05-31 Peter Bosch System and method for providing secure virtual machines
US20110258441A1 (en) * 2010-04-20 2011-10-20 International Business Machines Corporation Secure Access to a Virtual Machine

Also Published As

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

Similar Documents

Publication Publication Date Title
RU2693313C2 (ru) Безопасный транспорт зашифрованных виртуальных машин с непрерывным доступом владельца
ES2872101T3 (es) Gestión de claves distribuidas para entornos de ejecución confiables
EP3642753B1 (en) Securely executing smart contract operations in a trusted execution environment
CN110999255B (zh) 检索区块链网络的访问数据的方法及装置
JP7416775B2 (ja) 周辺デバイス
KR101687275B1 (ko) 공개 클라우드에서의 신뢰 데이터 프로세싱
US10439803B2 (en) Secure key management
CN110612699B (zh) 用于保护计算系统存储器的方法和系统以及存储介质
US9529733B1 (en) Systems and methods for securely accessing encrypted data stores
JP2022177828A (ja) 情報漏洩を低減した連合学習の方法、装置およびコンピュータプログラム(分割された動的シャッフルモデル更新を伴う連合学習)
Shin et al. DFCloud: A TPM-based secure data access control method of cloud storage in mobile devices
US10673827B1 (en) Secure access to user data
Shepherd et al. Remote credential management with mutual attestation for trusted execution environments
Manferdelli et al. The cloudproxy tao for trusted computing