RU2693313C2 - Безопасный транспорт зашифрованных виртуальных машин с непрерывным доступом владельца - Google Patents
Безопасный транспорт зашифрованных виртуальных машин с непрерывным доступом владельца Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6209—Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6281—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database at program execution time, where the protection is within the operating system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/062—Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0822—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/10—Integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45583—Memory management, e.g. access or allocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45587—Isolation or security of virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/65—Details of virtual memory and virtual address translation
- G06F2212/652—Page size control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
- H04L2209/127—Trusted platform modules [TPM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/24—Key scheduling, i.e. generating round keys or sub-keys for block encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/72—Signcrypting, i.e. digital signing and encrypting simultaneously
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2463/00—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
- H04L2463/062—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying encryption of the keys
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
- субъекты, задействованные в процессах (арендатор 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
)
- сертификат субъекта 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
[0036] Далее краткие обозначения в описании процессов будут использовать переменные для обозначения более сложных инструкций; в частности, при входе в хост некто скорее всего будет иметь дело с инструкциями, описанными ниже:
TK-e:= KDF(TK, «e») -полученный код шифрования (KDF означает функцию получения ключа (KDF, Key Derivation Function). «е» является входом в KDF, используемой для, например, различения получения ключа шифрования от получения, например, ключа подписи. Однако необходимо заметить, что это только один пример, и также может быть использован любой другой подходящий вход).
Это симметричный ключ, полученный от TK для шифрования полезной нагрузки
Отметим, что из одного транспортного ключа может быть необходимо получить несколько таких ключей шифрования, соответствующих разным частям защищаемой VM (например, зашифрованное состояние vTPM является только одной такой частью)
TK-a:= KDF(TK, «a») - полученный код аутентификации
Это симметричный ключ, полученный от TK для целей аутентификации полезной нагрузки
Отметим, что может быть необходимо получить несколько таких ключей аутентификации из одного транспортного ключа для целей аутентифицированного шифрования.
Зашифрованная и аутентифицированная полезная нагрузка P (такая как состояние vTPM), созданная с использованием ключа шифрования и его компаньона - ключа аутентификации - в соответствии с транспортным ключом TK
[0037] Хотя в показанном здесь примере показаны раздельные ключ аутентификации и ключ шифрования, должно быть понятно, что в других вариантах осуществления некоторые криптографические алгоритмы позволяют использовать один и тот же ключ и для шифрования, и для аутентификации. Таки образом, показанные здесь структуры данных в других вариантах осуществления могут быть упрощены.
[0038] PD будет включать множество упаковок транспортного ключа - один владельцем (ниже это будет названо посланием типа «B») и нулем или более упаковываний хранителями, которые делегированы владельцем (это сообщения, называемые как тип «С»).
Это транспортный ключ, зашифрованный для пользователя VM; он позволяет пользователю в любой момент времени извлечь VM
Только запись владельца может содержать неделегированный (самоподписанный) сертификат поверх ключа подписи
К этому сообщению есть три части - сертификат поверх ключа подписи владельца, выпущенный владельцем сертификат поверх общего ключа шифрования пользователя и шифрование транспортного ключа с использованием общего ключа шифрования (сертификат поверх ключа подписи владельца может быть самоподписанным, но он не обязательно должен быть самоподписанным, а может быть выпущен органом сертификации, которому взаимно доверяют все стороны).
Это тот же транспортный ключ, зашифрованный для хранителя VM
K j - это «текущий» хранитель, для которого зашифрован транспортный ключ
K i - это «предыдущий» хранитель в цепочке (i=0 для владельца), который делегирует K j права хранителя
Для VM может быть ноль или более хранителей, и таким образом ноль и более сообщений типа C внутри PD.
[0039] Различные упаковки транспортного ключа комбинируются в комплект, показанный ниже как матрица, где каждая строка содержит число связанных информационных записей, соответствующих владельцу или хранителю. Владельцы идентифицируются как таковые (с использованием буквы «о»). Текущий хранитель как таковой помечен звездочкой. В показанном ниже примере PD стоит в форме, в которой он существует при создании владельцем для использования KDS 206. Комбинация различных упаковок этого ключа является сообщением типа D. Сообщение, сгенерированное владельцем для одного хранителя, будет выглядеть как:
KDS 206 может использовать это сообщение и добавить дополнительного хранителя(ей), в результате в PD будет выглядеть как:
[0040] Целостность и аутентичность сообщения типа D обеспечивается сообщением типа E. Это сообщение служит доказательством того, что хранитель действительно знает ключ, защищающий сообщение типа D, и действительно является автором этого сообщения.
где G SPri является закрытым ключом подписи информационной записи в сообщении D, которая помечена как «хранитель».
[0041] Наконец, сообщение типа F является собственно «PD» - объединение сообщений D и E:
[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
2) Ключ выхода PD F e , построенный вокруг TK e для включения с входной полезной нагрузкой. Это не предназначено в TEE хоста и может быть вскрыто только владельцем или одним из хранителей.
[0044] В некоторых случаях хост предоставит множество дескрипторов входной защиты. В этом случае KDS гарантирует, что все дескрипторы защиты имеют одного и того же владельца (что очевидно из самоподписанного сертификата в корне цепочки делегирования). Результирующий дескриптор выходной защиты будет супермножеством всех хранителей из всех дескрипторов входной защиты, и сообщение H будет выглядеть как:
[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. Машиночитаемый носитель информации, содержащий мащиноисполняемые инструкции, которые при их исполнении одним или более процессорами вычислительной системы предписывают вычислительной системе:
зашифровывать набор данных транспортным ключом, зашифрованным посредством первого механизма шифрования;
зашифровывать множественные копии транспортного ключа посредством выполнения следующего:
зашифровывание, для владельца упомянутого набора данных, первой копии транспортного ключа посредством второго механизма шифрования, так чтобы данный владелец набора данных мог дешифровать первую копию транспортного ключа с использованием второго механизма шифрования, но субъекты, отличающиеся от этого владельца, не могли дешифровать первую копию транспортного ключа, и
зашифровывание, для по меньшей мере одного субъекта, отличающегося от упомянутого владельца, второй копии транспортного ключа посредством третьего механизма шифрования, так чтобы этот по меньшей мере один субъект мог дешифровать вторую копию транспортного ключа с использованием третьего механизма шифрования, но субъекты, отличающиеся от этого по меньшей мере одного субъекта, не могли дешифровать вторую копию транспортного ключа;
создавать пакет, содержащий первую и вторую зашифрованные копии транспортного ключа;
генерировать защитную подпись, которая соответствует либо упомянутому владельцу, либо упомянутому по меньшей мере одному субъекту, отличающемуся от данного владельца, при этом защитная подпись криптографически связывает упомянутый пакет, чтобы гарантировать, что упомянутый набор данных не предоставляется неавторизованным субъектам; и
генерировать подпись транспортного ключа, создаваемую из транспортного ключа, при этом подпись транспортного ключа дополнительно криптографически связывает упомянутый пакет и служит в качестве доказательства того, что любой субъект, пытающийся осуществить доступ к упомянутому набору данных, осведомлен о транспортном ключе.
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)
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)
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)
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 |
-
2014
- 2014-09-09 US US14/481,399 patent/US9652631B2/en active Active
- 2014-10-01 US US14/504,096 patent/US9578017B2/en active Active
-
2015
- 2015-05-04 RU RU2016143089A patent/RU2679721C2/ru active
- 2015-05-04 WO PCT/US2015/028991 patent/WO2015171476A1/en active Application Filing
- 2015-05-04 BR BR112016024453-2A patent/BR112016024453B1/pt active IP Right Grant
- 2015-05-04 CN CN201580023933.5A patent/CN106462439B/zh active Active
- 2015-05-04 JP JP2016566806A patent/JP6665113B2/ja active Active
- 2015-05-04 EP EP15722863.6A patent/EP3140950B1/en active Active
- 2015-05-04 JP JP2016566758A patent/JP6484255B2/ja active Active
- 2015-05-04 WO PCT/US2015/028995 patent/WO2015171478A1/en active Application Filing
- 2015-05-04 RU RU2016143088A patent/RU2693313C2/ru active
- 2015-05-04 EP EP15722864.4A patent/EP3140770B1/en active Active
- 2015-05-04 BR BR112016024507-5A patent/BR112016024507B1/pt active IP Right Grant
- 2015-05-04 CN CN201580023853.XA patent/CN106462438B/zh active Active
-
2016
- 2016-08-22 US US15/243,647 patent/US10176095B2/en active Active
-
2019
- 2019-01-06 US US16/240,763 patent/US10956321B2/en active Active
Patent Citations (5)
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
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 |