МНОГОФУНКЦИОНАЛЬНАЯ ИДЕНТИФИКАЦИЯ ВИРТУАЛЬНОГО ВЫЧИСЛИТЕЛЬНОГО УЗЛА Российский патент 2019 года по МПК G06F21/44 H04L29/06 

Описание патента на изобретение RU2679188C2

УРОВЕНЬ ТЕХНИКИ

[0001] Многие компании и другие организации осуществляют свою деятельность с применением компьютерных сетей, которые взаимодействуют с многочисленными вычислительными системами, обеспечивающими их работоспособность, например, с совмещенными вычислительными системами (например, являющимися частью локальной сети). Вычислительные системы могут также находиться в многочисленных обособленных географически удаленных зонах (например, соединенных посредством одной или более частных, или общественных сетей). Например, получили распространение центры хранения и обработки данных, включающие множество взаимосвязанных вычислительных систем. Например, все чаще используются частные центры хранения и обработки информации, управляемые посредством и от имени отдельной организации, или общественные центры хранения и обработки информации, управляемые хозяйствующими субъектами, предоставляющими пользователям вычислительные ресурсы. Некоторые операторы общественных центров хранения и обработки информации предоставляют средства сетевого доступа, обеспечения электропитанием и безопасной установки аппаратного обеспечения, принадлежащего различным пользователям, тогда как другие операторы общественных центров хранения и обработки информации предоставляют «полный пакет услуг», который также предусматривает пользователям доступ к аппаратным ресурсам.

[0002] Появление технологий виртуализации для пользовательского аппаратного обеспечения предоставляет преимущества по сравнению с управлением крупномасштабными вычислительными ресурсами для многих пользователей с различными потребностями, позволяя эффективно и безопасно предоставлять общий доступ к вычислительным ресурсам множеству пользователей. Например, технологии виртуализации позволяют предоставить доступ множеству пользователей к одной физической вычислительной машине за счет предоставления каждому пользователю одной или более виртуальных машин на базе одной физической вычислительной машины. За счет программного моделирования, каждая такая виртуальная машина работает как отдельная логическая вычислительная система, которая создает у пользователей ощущение, что они единолично являются операторами и администраторами данного аппаратного вычислительного ресурса, при этом также обеспечивается изоляция приложений, выполняющихся на разных виртуальных машинах.

[0003] Виртуальные вычислительные сервисы, реализованные в общественных центрах хранения и обработки информации, могут содержать вычислительные средства, используемые пользователем, в форме «виртуальных вычислительных узлов», при этом некоторые из таких виртуальных вычислительных узлов размещаются на данном аппаратном сервере от имени одного или более клиентов сервиса. Клиенты могут запускать желаемый набор приложений на виртуальных вычислительных узлах, часто выполняя административные функции посредством веб-консоли виртуального вычислительного сервиса. Достаточно часто, клиентам может понадобится использование виртуальных вычислительных узлов для запуска приложений, требующих проверки достоверности удостоверения - другими словами, для получения разрешения виртуальному вычислительному узлу на выполнение различных задач приложения или для запроса рабочих операций от других сервисов. При этом следует проверить достоверность удостоверения виртуального вычислительного узла. Учитывая увеличение частоты и степени изощренности атак, направленных на различные сети и службы, клиенты виртуальных вычислительных сервисов с неохотой используют виртуальные вычислительные узлы или другие ресурсы, если они не в состоянии обеспечить поддержку безопасных механизмов, применяемых для проверки удостоверения, выданного ресурсу. Таким образом, технический результат заявленного изобретения заключается в обеспечении поддержки безопасных механизмов, применяемых для проверки удостоверения, выданного ресурсу, с учетом увеличения частоты и степени изощренности атак, направленных на различные сети и службы.

КРАТКОЕ ОПИСАНИЕ ГРАФИЧЕСКИХ МАТЕРИАЛОВ

[0004] На Фиг. 1 проиллюстрирован пример системной среды, в которой виртуальному вычислительному узлу, реализованному в виртуальном вычислительном сервисе, могут быть выданы различные удостоверения, проверяемые криптографическим методом (CVI), которые выбираются в соответствующем пространстве имен, в соответствии, по меньшей мере, с некоторыми вариантами реализации изобретения.

[0005] На Фиг. 2 проиллюстрированы примеры типов удостоверений, которые могут быть выданы виртуальному вычислительному узлу, в соответствии, по меньшей мере, с некоторыми вариантами реализации изобретения.

[0006] На Фиг. 3 проиллюстрированы примеры взаимодействия между компонентами проверки подлинности множественных приложений и виртуальных вычислительных узлов, в соответствии, по меньшей мере, в некоторых вариантах реализации изобретения.

[0007] На Фиг. 4 проиллюстрирован пример виртуального хоста, на котором программный интерфейс позволяет виртуальному вычислительному узлу использовать непередаваемый секретный ключ, управляемый реализованным хранилищем безопасного ключа, в соответствии, по меньшей мере, с некоторыми вариантами реализации изобретения.

[0008] На Фиг. 5 проиллюстрированы примеры взаимодействия на уровне управления, связанного с удостоверением, между клиентом и менеджером конфигурации виртуального узла, в соответствии, по меньшей мере, с некоторыми вариантами реализации изобретения.

[0009] На Фиг. 6 проиллюстрирован пример содержимого дескрипторов удостоверения, которые могут быть включены в запросы назначения удостоверения для менеджера конфигурации виртуального узла, в соответствии, по меньшей мере, с некоторыми вариантами реализации изобретения.

[0010] На Фиг. 7 показана блок-схема, иллюстрирующая аспекты осуществления операций, которые могут выполняться в ответ на административные запросы, относящиеся к выдаче удостоверения виртуального узла, в соответствии, по меньшей мере, с некоторыми вариантами реализации изобретения.

[0011] На Фиг. 8 показана блок-схема, иллюстрирующая аспекты реализации операций, выполняемых на виртуальном вычислительном узле, которому выдано одно или более удостоверений, выбранных в соответствующем пространстве имен, в соответствии, по меньшей мере, с некоторыми вариантами реализации изобретения.

[0012] На Фиг. 9 показана функциональная схема, иллюстрирующая пример вычислительного устройства, которое может использоваться, по меньшей мере, в некоторых вариантах реализации изобретения.

[0013] Несмотря на описанные в качестве примера в данном документе варианты реализации изобретения и иллюстративные графические материалы, специалисты в данной области техники признают, что варианты реализации изобретения не ограничиваются описанными вариантами реализации и графическими материалами. Следует понимать, что графические материалы и относящееся к ним подробное описание не ограничивают варианты реализации изложенными определенными формами, и наоборот, предназначены для раскрытия всех модификаций, эквивалентов и альтернативных вариантов, находящихся в пределах сущности и объема настоящего изобретения, определенного прилагаемой формулой изобретения. Используемые в данном документе заголовки приведены исключительно в организационных целях и не подразумевают их использования для ограничения объема описания или формулы изобретения. Используемое в данной заявке слово «может» применяется в разрешительном смысле (т.е., означает потенциальную возможность), в отличие от обязательного смысла (т.е., означающего «должен»). Аналогично, слова «содержание», «содержащий» и «содержит» означают, помимо прочего, содержание.

ПОДРОБНОЕ ОПИСАНИЕ СУЩНОСТИ ИЗОБРЕТЕНИЯ

[0014] Описаны различные варианты реализации способов и устройств для назначения, управления и использования удостоверений, проверяемых криптографическим методом (CVI), выбранных в соответствующем пространстве имен, для виртуального вычислительного узла в сетях провайдера. Выдача множественных удостоверений заданному виртуальному вычислительному узлу, каждое из которых может быть проверено независимо, и использоваться для соответствующих приложений или наборов приложений, в данном документе может называться выдачей многофункционального удостоверения. Сети, настраиваемые с применением удостоверений, например, сети компаний или организаций государственного сектора, для предоставления одного или более сервисов (например, различных типов многопользовательских или однопользовательских облачных сервисов вычислений или хранения данных), доступ к которым для распределенной группы клиентов или пользователей осуществляется посредством Интернета и/или других сетей, в данном документе могут называться сетями провайдера. Сети провайдера также могут называться «общедоступной облачной» средой. Термин «многопользовательский сервис» используется в данном документе для обозначения сервиса, разработанного для реализации приложения и/или виртуализации данных таким образом, что разным клиентским организациям предоставляются соответствующее настраиваемое, изолированное представление сервиса таким образом, что отдельный клиент, которому предоставляется часть функциональности сервиса с использованием заданного набора лежащих в его основе ресурсов, может не догадываться о том, что набор ресурсов используется другими клиентами. Например, многопользовательский виртуальный вычислительный сервис (VCS) может создавать экземпляры различных виртуальных вычислительных узлов (гостевых виртуальных машин) от имени соответствующих клиентов на заданном аппаратном сервере без необходимости информировать какого-либо из клиентов о том, что клиентам предоставлен совместный доступ к аппаратному серверу. В данном документе виртуальный вычислительный узел может называться просто «виртуальный узел», а аппаратные серверы, на которых запускаются один или более виртуальных вычислительных узлов, могут называться «виртуальные хосты» или «хосты виртуализации». В некоторых вариантах реализации изобретения, сеть провайдера может поддерживать однопользовательские сервисы, в дополнение или вместо многопользовательских сервисов, а ресурсы, например, виртуальный хост, могут использоваться в однопользовательском режиме или в многопользовательском режиме в течение заданного периода времени. Сеть провайдера, как правило, может включать несколько больших центров обработки и хранения данных, развернутых на основе использования разных пулов ресурсов, например, наборов физических и/или виртуальных компьютерных серверов, устройств хранения данных, сетевого оборудования, оборудования, связанного с обеспечением безопасности и тому подобных компонентов, настраивающих и распределяющих инфраструктуру и сервисы, предоставляемые провайдером.

[0015] В соответствии с принятыми подходами к виртуализации, подробная информация о виртуальных хостах (например, абсолютные рабочие характеристики процессоров или используемых ядер процессоров, или специфики центров обработки и хранения информации с физически размещенными на них хостами), а также сопоставление между виртуальными вычислительными узлами и виртуальными хостами (например, количество виртуальных вычислительных узлов, выполняемых на заданном хосте, или удостоверения клиентов, чьи экземпляры получают совместный доступ к хосту), могут быть, по меньшей мере, в некоторых случаях, недоступны клиентам, от лица которых запускаются виртуальные вычислительные узлы. На каждом виртуальном хосте VCS, как правило, может развернуть программный стек для управления виртуализацией с одним или более компонентами управления виртуализацией, например, гипервизором, доменом административной операционной системы и тому подобными компонентами, которые также недоступны этим клиентам в силу очевидных соображений безопасности. В некоторых вариантах реализации изобретения, различные типы или категории виртуальных вычислительных узлов (например, «малые», «средние» или «большие» виртуальные узлы, соответствующие одной или более операционных систем) могут быть определены вычислительным сервисом с некоторой отметкой о соотношении возможностей каждого типа виртуального узла и соответствующих механизмов ценообразования, доступных для потенциальных клиентов. С учетом определений типа виртуального узла, в одном варианте реализации изобретения клиенты могут иметь возможность выбора, сколько экземпляров каждого типа они желают заказать внутри некоторой многоуровневой субъединицы сети провайдера, например, произвольно заданной географически «области».

[0016] Некоторым клиентам сети провайдера может потребоваться более высокий уровень безопасности и/или проверки удостоверения, по меньшей мере, для некоторых приложений, в отличие от других. (Следует отметить, что используемый в данном документе термин «приложение» может означать любой тип исполняемого программного компонента или комбинации компонентов, которые могут выполняться в пользовательском режиме, в режиме ядра/системы, или комбинации пользовательского режима и режимов ядра/системы). В частности, принимая во внимание, что различные VCS-клиенты могут использовать заданный аппаратный сервер, у клиентов может возникнуть желание получить определенный уровень гарантий, что данный виртуальный вычислительный узел, с которым действительно взаимодействует внешний виртуальный узел (например, сервер, реализующий различные сервисы), является виртуальным вычислительным узлом, за который он себя выдает. В некоторых вариантах реализации изобретения, существует возможность предоставить пользователям VCS такие гарантии вручную (например, посредством взаимодействия с административной консолью, реализованной посредством VCS), однако общеизвестно, что такой способ ручного ввода является ненадежным и уязвим для атак со стороны злоумышленников.

[0017] По меньшей мере в некоторых вариантах реализации изобретения, механизм предоставления непередаваемых криптографически стойких ключей, используемых для выполнения различных типов операций, связанных с обеспечением безопасности, выполняемых на или посредством виртуального вычислительного узла, может быть реализован на виртуальном вычислительном сервисе. В соответствии с таким механизмом секретный ключ из пары согласованных криптографически стойких ключей, используемый для операций проверки удостоверения, связанного с данным виртуальным вычислительным узлом, может храниться и/или управляться в хранилище безопасных ключей, таким образом, что сам по себе секретный ключ не может быть скопирован или просмотрен виртуальным вычислительным узлом, для которого используется эта пара согласованных ключей (или любым другим виртуальным вычислительным узлом). Программные интерфейсы, позволяющие использовать секретный ключ (например, для генерации или получения криптографических объектов, связанных с удостоверением, например, электронно-цифровой подписи) виртуальным вычислительным узлом без предъявления подобного секретного ключа вызывающему абоненту или пользователю интерфейса, могут быть реализованы одним или более VCS-компонентами, по меньшей мере, в некоторых вариантах реализации изобретения. В одном варианте реализации изобретения, компонент управления виртуализацией, например, гипервизор или административная доменная операционная система на виртуальном хосте, могут реализовать один или более API (интерфейсов прикладного программирования) для выполнения таких операций на основе непередаваемых ключей, а виртуальный вычислительный узел, выполняемый на этом хосте, может вызывать такой API для получения объектов или метаданных, используемых для подтверждения одного или более удостоверений, проверяемых криптографическим методом, назначенных виртуальному узлу. В некоторых вариантах реализации изобретения хранилище безопасного ключа, расположенное на виртуальном хосте, например, модуле доверительной платформы (ТРМ) или аналогичном периферийном устройстве, подключенном посредством коммуникационной шины, например, шины с малым числом выводов или шиной виртуального хоста типа PCIe может сохранять секретный ключ. В других вариантах реализации изобретения, может использоваться внешнее хранилище секретного ключа, например, модуль аппаратной защиты (HSM), доступ к которому предоставляет компонент управления виртуализацией и/или виртуальный вычислительный узел посредством сети. По меньшей мере, в одном варианте реализации изобретения, для данного виртуального вычислительного узла могут применяться множественные пары согласованных криптографических ключей, при этом секретный ключ для каждой из таких пар согласованных ключей управляется хранилищем безопасного ключа, как описано выше. В других вариантах реализации изобретения, может использоваться только одна пара согласованных ключей для данного виртуального вычислительного узла. В некоторых вариантах реализации изобретения, множественные пары согласованных ключей назначаются данному виртуальному вычислительному узлу, секретные ключи некоторых из пар согласованных ключей могут управляться заданным хранилищем безопасного ключа (например, локальным ТРМ на виртуальном хосте, с запущенным виртуальным вычислительным узлом, или удаленным HSM, доступ к которому осуществляется по сети). В других вариантах реализации изобретения, каждый секретный ключ может управляться соответствующим хранилищем безопасного ключа.

[0018] В зависимости от набора приложений, для которых используется заданный виртуальный вычислительный узел, по меньшей мере, в некоторых вариантах реализации изобретения, виртуальному узлу назначаются несколько различных удостоверений, выбранных в соответствующем пространстве имен. Каждое из выбранных удостоверений может быть проверено криптографическим методом, например, с помощью протокола Х.509 или аналогичного цифрового сертификата, подписанного цифровой подписью, выданной соответствующим центром проверки достоверности удостоверений, организованных в цепочки сертификатов, или с применением любого подходящего криптографического алгоритма. В некоторых вариантах реализации изобретения, открытый ключ из пары согласованных ключей, назначенных виртуальному вычислительному узлу, может быть указан в таких сертификатах вместе с секретным ключом, управляемым и/или сохраненном в хранилище безопасного ключа, как было отмечено выше. Каждое такое удостоверение в данном документе может называться удостоверением, проверяемым криптографическим методом (CVI). По меньшей мере, в некоторых вариантах реализации изобретения, виртуальный вычислительный сервис может обеспечивать возможность использования одного или более криптографических ключей для заданного виртуального вычислительного узла (например, посредством предоставления соответствующих разрешений, позволяющих виртуальному узлу использовать API, необходимые для использования секретного ключа, за счет генерирования уникальных связей между ключами и виртуальными узлами, и настройке источников секретных ключей, и т.п.) для генерирования объектов, необходимых для утверждения одного или нескольких CVI, выданных этим объектам. По меньшей мере, в некоторых вариантах реализации изобретения, заданному виртуальному вычислительному узлу может быть определено или назначено множество различных типов CVI. Например, VCS может назначить виртуальному вычислительному узлу DNS (система доменных имен) имя на основе, по меньшей мере частично, виртуальных IP-адресов (протокол Интернета), в виде одного CVI, в одном варианте реализации изобретения.(Подобные IP-адреса в данном документе могут называться «виртуальными», т.к. они могут программно переназначаться от одного виртуального вычислительного узла другому посредством VCS, без необходимости, например, перенастройки физической сетевой интерфейсной карты). Например, VCS может назначить виртуальный IP-адрес 54.87.134.66 виртуальному узлу, и имя, например, <VC8-имя-сервиса>-54-87-134-66-<географический-контейнер>-<vcs-доменное-имя>, которое будет уникальным внутри пространства DNS-имен, назначенных CVI. Один и тот те же виртуальный вычислительный узел может быть назначен в качестве второго CVI, например, в пространстве имен, заданном пользователем. Например, пользователь может пожелать идентифицировать все виртуальные вычислительные узлы, настроенные в качестве соответствующих узлов определенного кластера приложения, с использованием таких имен, как App1-Node0, App1-Node1, App1-Node2 и т.д. В процессе взаимодействия с другими компонентами среды пользовательского приложения (некоторые из которых могут выполняться внутри сети провайдера, используемой для виртуального вычислительного узла, тогда как другие могут быть расположены во внешних сетях) второй CVI может использоваться вместо первого. Аналогично, третий CVI, который идентифицирует виртуальный вычислительный узел в качестве владельца лицензии для определенного сервиса программного обеспечения, предоставляемого сторонней организацией (или для локально установленного программного обеспечения) может быть назначен виртуальному вычислительному узлу для возможности использования со стороны виртуального узла сервиса программного обеспечения, поставляемого сторонней организацией. В некоторых вариантах реализации изобретения, также поддерживается назначение CVI внутри пространства имен, предоставляемого сторонней организацией, - например, пространства имен, управляемого бизнес-партнером оператора сети провайдера (или клиента). Таким образом, в общем случае, в различных вариантах реализации изобретения, многообразие различных CVI внутри соответствующего пространства имен может быть назначено заданному виртуальному вычислительному узлу. В данном документе, пространство имен может называться пространством имен удостоверения виртуального узла (IIN), и каждое из таких пространств имен может иметь связанное с ним пространство имен владельца/администратора, служащее для выбора определенных имен, назначаемых различным виртуальным узлам, и обеспечивающее любые требования по уникальности для их соответствующего пространства имен, идентификации уполномоченных источников, предназначенных для проверки удостоверений внутри выделенного им пространства имен, и т.п. Примеры различных типов CVI, подходящих в различных ситуациях, проиллюстрированы на Фиг. 2 и описаны ниже.

[0019] В соответствии, по меньшей мере, с некоторыми вариантами реализации изобретения, в ответ на запрос, связанный с удостоверением, например, запрос авторизации, от первого аутентификатора, связанного с первым приложением, виртуальный вычислительный узел, которому назначен множественный CVI, может предоставлять информацию о первом CVI внутри первого пространства имен удостоверения виртуального узла, связанного с приложением. В некоторых реализациях запрос, связанный с удостоверением, может непосредственно или косвенно указывать на пространство имен или же виртуальный вычислительный узел может быть способен выводить пространство имен на основании типа API, используемого для запроса, или источника, от которого был получен запрос, связанный с удостоверением. Первый CVI может быть связан с парой согласованных криптографических ключей, назначенных для первого виртуального вычислительного узла, при этом секретный ключ этой пары управляется хранилищем безопасного ключа, настроенным с целью обеспечения от копирования секретного ключа во внешние, по отношению к хранилищу безопасного ключа, расположения, как было описано выше. В данном документе предоставление информации (например, об одном или более сертификатов, цифровых подписях или других сгенерированных криптографическим методом объектах), указывающей на CVI, может также называться «утверждением» CVI. Как описывалось выше, использование секретного ключа виртуальным узлом возможно посредством виртуального вычислительного сервиса, по меньшей мере, в некоторых вариантах реализации изобретения. В результате, в таких вариантах реализации изобретения, может потребоваться участие и/или разрешение VCS для поддержки, по меньшей мере, некоторых типов CVI. В некоторых вариантах реализации изобретения, для идентификации информации, предоставляемой в ответ на запрос, связанный с удостоверением, виртуальный вычислительный узел может вызывать один или более программных интерфейсов, реализованных посредством компонента управления виртуализацией на виртуальном хосте, на котором был запущен виртуальный узел.

[0020] В ответ на получение информации о первом CVI первый аутентификатор может проверить (например, посредством проверки того, что сертификат, предоставленный виртуальным вычислительным узлом, назначен доверенной стороной, и/или посредством шифрования и проверки цифровой подписи, предоставленной виртуальным вычислительным узлом, с использованием секретного ключа виртуального узла), что предоставленная удостоверением информация является достоверной. В некоторых случаях, аутентификатор может обмениваться данными с другими виртуальными узлами (например, одной или более систем проверки достоверности удостоверения, назначенного для этого пространства имен) для проверки того, что утвержденное удостоверение является достоверным. Если проверка удостоверения прошла успешно, виртуальный вычислительный узел может предоставлять возможность выполнять одну или более операций первого приложения, а информация о такой предоставленной возможности может передаваться виртуальному вычислительному узлу. Аналогично, в ответ на второй запрос, связанный с удостоверением, от различных аутентификаторов, связанных с различными приложениями и различными IIN, виртуальный вычислительный узел может предоставлять информацию о втором утвержденном для него CVI. Затем, второй CVI проверяется вторым аутентификатором, например, с использованием аналогичных средств, как описано выше для первого CVI, однако в контексте второго IIN. Если будет установлено, что второй CVI является достоверным, виртуальный вычислительный узел может разрешить выполнение операций второго приложения. Подобное взаимодействие может потребоваться для каждого из CVI, назначенных виртуальному вычислительному узлу; другими словами, виртуальный вычислительный узел может утвердить соответствующие CVI для каждого из множества различных вариантов приложений. В некоторых вариантах реализации изобретения, заданный CVI может использоваться для различного контекста приложения - например, виртуальный вычислительный узел может утвердить один и тот же CVI в ответ на запросы, связанные с удостоверением, от двух или более аутентификаторов, связанных с соответствующими приложениями.

[0021] В различных вариантах реализации изобретения, виртуальному вычислительному узлу может быть назначен широкий спектр CVI. Как было описано выше, один CVI, который может использоваться в множестве различных вариантов контекста приложений, может быть DNS-именем, на основании, по меньшей мере частично, виртуального IP-адреса, назначенного виртуальному узлу. По меньшей мере, в некоторых вариантах реализации изобретения, виртуальному вычислительному узлу сети провайдера могут быть назначены один или более внешних IP-адресов или один, или более внутренних IP-адресов. Внешние IP-адреса могут быть выделены или сделаны доступными для внешних сетей, например, части публичной сети Интернет, тогда как внутренние IP-адреса могут быть доступны только внутри логически изолированной части сети провайдера. В некоторых вариантах реализации изобретения, виртуальному узлу может быть назначен CVI на основе внешнего IP-адреса, и/или другой CVI на основе внутреннего IP-адреса. Виртуальный вычислительный сервис, используемый для виртуального узла, может задавать другие пространства имен, например, для внешних административных целей или для взаимодействия с другими сервисами или внешними сущностями. Некоторые пространства имен могут соответствовать центрам обработки и хранения данных или другим географическим расположениям, где созданы экземпляры виртуальных узлов, доступные контейнерам (группам ресурсов, разработанных, чтобы иметь профили независимых отказов), частью которых являются виртуальные узлы, и т.п., при этом соответствующие уникальные имена могут быть назначены заданному виртуальному вычислительному узлу внутри одного или более пространства имен. В некоторых вариантах реализации изобретения, CVI также могут быть выбраны пользователями из пользовательского пространства имен или запрошены пользователем для пространства имен, заданного внутри сети провайдера. Пользователи также могут запросить назначение определенных имен из пространства DNS-имен для своих виртуальных вычислительных узлов, например, клиентом VCS может быть запрошено DNS-имя www.<customerCompanyName>.com в качестве CVI для одного или более своих виртуальных вычислительных узлов. В одном варианте реализации изобретения, сторонние организации, например, бизнес-партнеры оператора сети провайдера или бизнес-партнеры пользователя могут иметь возможность выбора и назначения CVI для различных виртуальных вычислительных узлов. По меньшей мере, в одном варианте реализации изобретения, заданный CVI может быть назначен множеству виртуальных вычислительных узлов, например, если некоторое количество виртуальных вычислительных узлов организовано в виде группы узлов сети или отказоустойчивых групп в контексте определенного сервиса или приложения таким образом, чтобы, по меньшей мере, некоторые из функциональных обязанностей участников одной из групп были унаследованы участником другой группы при определенных условиях, при этом некоторым участникам группы могут быть назначены один общий или общедоступный CVI.

[0022] В некоторых вариантах реализации изобретения, каждое пространство имен может иметь одну или более систему проверки достоверности удостоверений, назначенных владельцем соответствующего пространства имен. В некоторых вариантах реализации изобретения, такие системы проверки достоверности удостоверений могут содержать, к примеру, сторонние или открытые центры сертификации (СА), находящиеся за пределами сети провайдера. В некоторых вариантах реализации изобретения, внутренние системы проверки достоверности удостоверений могут быть выбраны владельцами пространства имен для одного или более пространства имен, например, некоторые системы проверки достоверности могут быть реализованы внутри сети провайдера (для пространства имен, заданного VCS или другими сервисами, реализованными в сети провайдера), а другие могут быть реализованы в сетях, владельцем которых является пользователь, для пользовательского пространства имен. По меньшей мере, в одном варианте реализации изобретения, владелец пространства имен может назначить себя в качестве системы проверки достоверности для собственного пространства имен, т.е., в данном случае, не требуется отдельная система проверки достоверности. Система проверки достоверности удостоверения, будь то открытая система, система, которой владеет провайдер сети или система, которой владеет пользователь, может, к примеру, заверяться протоколом Х.509 или другим цифровым сертификатом, соответствующим CVI, назначенным виртуальным вычислительным узлам внутри одного или более пространства имен. По меньшей мере, в одном варианте реализации изобретения, заданный цифровой сертификат может использоваться для утверждения более чем одного удостоверения, т.е., может использоваться сопоставление 1:N между цифровыми сертификатами и CVI. В других вариантах реализации изобретения, для каждого CVI могут использоваться соответствующие сертификаты.

[0023] По меньшей мере, некоторые из CVI, назначенных заданному виртуальному вычислительному узлу, могут иметь соответствующий период проверки достоверности, например, указывающий на начало и/или окончание периода времени, на протяжении которого CVI является достоверным для виртуального узла. По меньшей мере, в некоторых вариантах реализации изобретения, различные CVI, назначенные заданному виртуальному вычислительному узлу, могут иметь различные периоды проверки достоверности.

[0024] В одном варианте реализации изобретения, один или более административных интерфейсов уровня управления, реализованных посредством виртуального вычислительного сервиса, могут использоваться клиентами для запроса выдачи удостоверения внутри определенного пространства имен для их виртуальных вычислительных узлов. В некоторых вариантах реализации изобретения, выдача удостоверения может запрашиваться во время запуска виртуального узла (например, с использованием одного или более параметров запроса на запуск виртуального узла, представленного посредством API). В одном варианте реализации изобретения, выдача удостоверения может также, или вместо этого, запрашиваться для виртуального узла после его запуска. В некоторых вариантах реализации изобретения, клиентам может понадобиться отозвать или отменить назначение одного или более CVI для определенного виртуального узла.

Пример системной среды

[0025] На Фиг. 1 проиллюстрирован пример системной среды, в которой виртуальному вычислительному узлу, реализованному в виртуальном вычислительном сервисе, могут быть выданы различные удостоверения, проверяемые криптографическим методом (CVI) внутри соответствующего пространства имен, в соответствии, по меньшей мере, с некоторыми вариантами реализации изобретения. Как проиллюстрировано на Фиг 1, система 100 содержит сеть провайдера 105 в которой реализован виртуальный вычислительный сервис ПО (VCS). VCS может создавать множество виртуальных вычислительных узлов 150 на множестве виртуальных хостов 125 от имени различных клиентов. Например, виртуальные вычислительные узлы 150А и 150В могут быть установлены, к примеру, в качестве соответствующих гостевых виртуальных машин на виртуальном хосте 125А, тогда как виртуальные вычислительные узлы 150К и 150L могут быть созданы на виртуальном хосте 125В. По меньшей мере, некоторые виртуальные вычислительные узлы 150 могут быть настроены в ответ на запросы запуска виртуального узла, исходящие от внешних (по отношению к сети провайдера) устройств, например, клиентских устройств 133 внутри сети 115.

[0026] В проиллюстрированном варианте реализации изобретения, заданному виртуальному вычислительному узлу 150 могут быть не выданы либо выданы одно и более удостоверений, проверяемых криптографическим методом (CVI) 160 (например, удостоверений, которые могут быть проверены при помощи криптографически стойкой пары согласованных ключей (секретного-открытого), назначенной виртуальному узлу) в соответствующем пространстве имен. В некоторых вариантах реализации изобретения, могут поддерживаться несколько различных типов пространств имен удостоверения виртуального узла (IIN) 144 вместе с соответствующими владельцами или менеджерами пространств имен. Владелец пространства имен может иметь возможность настройки IIN (например, формата для набора назначаемых имен, или диапазона назначаемых имен), выбора определенного имени или удостоверения, назначаемого для заданного виртуального вычислительного узла 150, установки набора из одной или более систем проверки достоверности удостоверения для данного пространства имен, и т.п. В проиллюстрированном примере, IIN 144А управляется владельцем пространства имен сторонней организации 183, IIN 144В управляется владельцем пространства имен, заданного пользователем 185, IIN 144С управляется владельцем пространства имен 155 сервиса S1 (за исключением VCS), реализованного в сети провайдера, тогда как IIN 144D управляется владельцем пространства имен 154 VCS. Каждый IIN 144 может иметь свой собственный синтаксис и формат для CVI, и, по меньшей мере, в одном варианте реализации изобретения, механизм и политики проверки достоверности, используемые для удостоверений, могут отличаться от одного пространства имен к другому. В данном документе термин «пространство имен» может использоваться как синоним фразы «пространство имен удостоверения виртуального узла».

[0027] В проиллюстрированном варианте реализации изобретения, одна или более сущностей, соответствующих каждому пространству имен 144, могут быть назначены в качестве систем проверки достоверности удостоверения. Система проверки достоверности удостоверения сторонней организации 184 (например, открытые центры сертификации ключей или СА) может иметь возможность, к примеру, выполнять проверку аутентичности CVI для пространства имен 144А. Некоторые пользователи могут устанавливать собственную, управляемую пользователем систему проверки достоверности удостоверения 186. Один или более сервисов, реализованных на сети провайдера, могут создавать объекты систем проверки достоверности удостоверения, например, систем проверки достоверности 153 удостоверения VCS, и систем(ы) проверки достоверности 156 удостоверений сервиса S1. По меньшей мере, некоторые из систем проверки достоверности удостоверения имеют сертификаты с цифровой подписью (например, сертификаты Х.509, или другие аналогичные сертификаты, имеющие формат в соответствии со стандартами или спецификациями инфраструктуры открытых ключей), которые могут быть предоставлены виртуальным вычислительным узлом 150 в ответ на запросы, связанные с удостоверением. В некоторых вариантах реализации изобретения, один или более криптографических ключей могут быть связаны с некоторыми объектами, используемыми для подтверждения удостоверений виртуального узла.

[0028] В зависимости от специфических типов приложений, выполняемых на заданном виртуальном вычислительном узле, им может быть назначено необходимое количество CVI по запросу от клиента, от имени которого создан виртуальный узел. В некоторых случаях, клиент может предоставить информацию о наборе удостоверений, необходимых для заданного виртуального узла, перед его запуском; в других случаях, могут быть выданы новые удостоверения в указанном пространстве имен после запуска виртуального узла. По меньшей мере, в некоторых вариантах реализации изобретения, удостоверения виртуального узла могут быть аннулированы по запросу владельца виртуального узла. В различных вариантах реализации изобретения, могут быть предоставлены интерфейсы уровня управления VCS, например, один или более API, чтобы обеспечить пользователю возможность указывать запросы на назначение/аннулирование. В примере, проиллюстрированном на Фиг. 1, виртуальному узлу 150А назначены три CVI: CVI 160А в пространстве имен 144A, CVI 160L в пространстве имен 144В, и CVI 160Т в пространстве имен 144D. Виртуальному узлу 150В назначен CVI 160В в пространстве имен 144А. Виртуальному узлу 150L назначен CVI 160К в пространстве имен 144В, a CVI 160Р - в пространстве имен 144С. Виртуальному узлу 150К CVI не назначены.

[0029] Назначенные заданному виртуальному вычислительному узлу CVI могут использоваться различными способами, в зависимости от специфики приложения, для которого на виртуальный узел поступил запрос на его идентификацию. По меньшей мере, в некоторых вариантах реализации изобретения, заданный виртуальный узел, например, 150А, может получить запрос на аутентификацию или другой аналогичный запрос, связанный с удостоверением, от нескольких других виртуальных узлов, например, компонентов аутентификации приложения, выполняемого на некотором другом виртуальном узле 150, в узле различных сервисов, например, S1, реализованном в сети провайдера, или на устройстве, находящемся за пределами сети провайдера, например, клиентском устройстве 133. В некоторых вариантах реализации изобретения, запрос может непосредственно или косвенно (например, за счет подлинности формата или источника, из которого он получен) указывать на пространство имен, для которого был запрошено удостоверение. Затем, виртуальный вычислительный узел, который получил запрос удостоверения, может предоставить подтверждение своего удостоверения в соответствующем пространстве имен, например, с использованием одного или более криптографических объектов, например, сертификата, подписанного доверенной системой проверки достоверности удостоверения или цепочкой систем проверки достоверности удостоверения. По меньшей мере, в некоторых вариантах реализации изобретения, указания на одну или более систем проверки достоверности могут быть включены в подтверждение. По меньшей мере, в некоторых вариантах реализации изобретения, в зависимости от типа полученного запроса удостоверения, подтверждение, предоставленное виртуальным вычислительным узлом, может включать другие объекты помимо (или в дополнение) цифровых сертификатов, например, могут быть предоставлены токены политики (зашифрованные версии политик авторизации, полученные с использованием секретного ключа виртуального вычислительного узла), значение данных, включенных в запрос удостоверения, и подписанные с использованием секретного ключа, другие данные, которые могут быть расшифрованы с использованием открытого ключа виртуального узла. Если компонент аутентификации, который передает запрос удостоверения или запрашивает виртуальный вычислительный узел 150, способен подтвердить удостоверение виртуального узла (например, посредством определения того, что доверенная система проверки достоверности удостоверения сгенерировала сертификат или токен политики), виртуальному вычислительному узлу 150 может быть прямо или косвенно предоставлено подтверждение удостоверения. Затем, достоверный виртуальный вычислительный узел 150 может переходить к выполнению последующих операций приложения или взаимодействию, для которого был проверено это удостоверение посредством компонента аутентификации.

[0030] По меньшей мере, в одном варианте реализации изобретения, например, для проверки того, что заданный CVI, связанный с криптографическим ключом (например, секретным ключом из пары «секретный-открытый ключ»), назначенным для монопольного использования определенного виртуального вычислительного узла, не был передан или похищен, в качестве ключа может использоваться хранилище безопасного ключа 133 (например, 133А или 133В). Такое хранилище безопасного ключа может разрешать выполнение множества операций, подразумевающих использование непередаваемого ключа, например, посредством набора API, реализованного за счет компонентов управления виртуализацией на виртуальном хосте, на котором выполняется соответствующий виртуальный узел, однако может запретить копирование или передачу секретного ключа за пределы хранилища безопасного ключа. В некоторых вариантах реализации изобретения, может использоваться локальное хранилище безопасного ключа 133 В, например, модуль доверительной платформы (ТРМ), соединенный с периферийной коммуникационной шиной виртуального хоста. В других вариантах реализации изобретения, может использоваться хранилище безопасного ключа 133А, например, модуль аппаратной защиты (HSM) сервиса безопасности, реализованного в сети провайдера. В некоторых вариантах реализации изобретения, вместо HSM или ТРМ могут использоваться другие механизмы, обеспечивающие безопасность секретного ключа. По меньшей мере, в некоторых вариантах реализации изобретения, VCS может обеспечить возможность (например, за счет выдачи соответствующих разрешений для API, связанных с ключом, настройки используемых ТРМ или HSM, или за счет выполнения других действий по настройке) использования виртуальным вычислительным узлом криптографического ключа (или ключей), необходимых для утверждения различных CVI.

Примеры CVI

[0031] На Фиг. 2 проиллюстрированы примеры типов удостоверений, которые могут быть присвоены виртуальному вычислительному узлу, в соответствии, по меньшей мере, с некоторыми вариантами реализации изобретения. Как проиллюстрировано, виртуальному вычислительному узлу 150 может быть назначено DNS-имя 260А на основе виртуального IP-адреса, назначенного ему посредством VCS. В некоторых вариантах реализации изобретения, формат DNS-имени 260А может содержать соответствующую подстроку, идентифицирующую VCS сервис (например, <имя-сервиса-vcs>), элементы точечно-десятичной нотации IP-адреса (например, строка «54-187-31-66», соответствующая IPv4-адресу 54.187.31.66), некоторую информацию о географическом местоположении виртуального узла (например, <зона>) а также доменное имя, назначенное для VCS. В других вариантах реализации изобретения, одна или более подстрок, указанных в DNS-имени 260А, могут не использоваться.

[0032] По меньшей мере, в некоторых вариантах реализации изобретения, один или более внешних IP-адресов и один внутренний IP-адрес могут быть назначены заданному виртуальному вычислительному узлу в заданный момент времени, и такие IP-адреса могут использоваться для CVI виртуального вычислительного узла. Внешний IP-адрес может быть определен как отдельный адрес, доступ к которому может быть осуществлен из определенной части общедоступной сети Интернет, например, в результате размещения посредством протокола, к примеру, BGP (протокола пограничных шлюзов). Напротив, внутренний IP-адрес может быть доступен только внутри подмножества сети провайдера, например, изнутри одной или более изолированный виртуальных сетей (IVN) внутри сети провайдера. При определенных условиях, IVN также может называться «виртуальным частным облаком» или VPC. IVN может содержать набор вычислительных и/или других ресурсов в логически изолированной секции сети провайдера 105, которые могут быть установлены по запросу определенного пользователя VCS. Пользователь может быть наделен правами полного контроля в отношении сетевой конфигурации для устройств, содержащихся в IVN. В некоторых вариантах реализации изобретения, к примеру, пользователь может выбирать диапазон внутренних IP-адресов, которые будут использоваться для различных виртуальных вычислительных узлов 150 сети IVN, управлять созданием подсетей внутри IVN и настраивать маршрутизацию метаданных для IVN. В некоторых вариантах реализации изобретения, виртуальный вычислительный узел и другие ресурсы, которые будут использоваться для выполнения операций одного или более других сервисов (например, сервиса хранения файлов, или сервиса баз данных), реализованных в сети провайдера, могут быть также организованы в одну или более IVN, а соответствующие внутренние IP-адреса могут быть назначены таким ресурсам. Так как различные IVN изолированы друг от друга по отношению к внутренним IP-адресам, используемым изнутри этих структур, иногда могут возникнуть ситуации, когда заданный внутренний IP-адрес может быть назначен более чем одному виртуальному вычислительному узлу внутри соответствующей отдельной IVN. В проиллюстрированном варианте реализации изобретения, публично размещенный IP-адрес 54.87.131.66 260 В может служить в качестве CVI, тогда как внутренний IP-адрес, например, 260С, к примеру, 10.0.0.1 может служить в качестве другого CVI для виртуального узла 150.

[0033] В некоторых вариантах реализации изобретения, в дополнение к именам, основанным на IP-адресах, которые назначаются различным виртуальным вычислительным узлам, VCS может идентифицировать одно или более других пространств имен с именами виртуальных узлов, которые не зависят от IP-адресов. Например, заданный виртуальный вычислительный узел 150, по меньшей мере, в некоторые моменты времени, может быть отключен от IP-сети или может находится в процессе миграции от одного сетевого адреса к другому, a VCS может назначить имя (например, уникальную строку, начинающуюся с «inst»), которая может использоваться для ссылки на виртуальный узел независимо от его сетевого статуса. Такое назначенное VCS уникальное имя виртуального узла 260D может учитывать другой пример CVI, назначенного виртуальному узлу 150. Аналогично, в некоторых вариантах реализации изобретения, другие сервисы сети провайдера могут назначать их собственные имена виртуальным вычислительным узлам, используемым или взаимодействующим с сервисами. Такое имя, не назначенное сервисом VCS 260Н, например, DbSvcClient-01321 (указывающее на то, что виртуальный вычислительный узел является клиентом сервиса базы данных, называемом DbSvc) может представлять собой другой пример CVI.

[0034] В различных вариантах реализации изобретения, выбранные пользователем или запрошенные пользователем удостоверения также могут быть назначены виртуальному вычислительному узлу. Три различных типа удостоверений, на которые влияет пользователь, проиллюстрированы на Фиг. 2. Эти удостоверения относятся к соответствующим типам пространств имен. Пользователь может определять собственное пространство имен, например, преимущественно проверяемое или используемое внутри сети пользователя или при взаимодействии с другими виртуальными узлами, владельцем которых является тот же пользователь. В некоторых вариантах реализации изобретения, назначенное пользователем имя 260Е может быть выбрано и назначено в качестве CVI виртуального вычислительного узла 150 в таком пространстве имен, как например, «МуАрр-Clusterl-inst0». Пользователи также могут запросить специфичные имена, назначаемые виртуальному вычислительному узлу 150 внутри пространства имен, владельцем которого является VCS (как и в случае с именем 260F, запрашиваемом пользователем), и/или внутри пространства DNS-имен (как и в случае с назначенным пользователем DNS-именем 260G). В некоторых вариантах реализации изобретения, сторонние виртуальные узлы (т.е. узлы, отличные от узлов оператора сети провайдера и отличные от узлов пользователя), например, бизнес-партнера или участника интернет-магазина в сети провайдера, могут назначать CVI виртуальному узлу. Например, имя 260К, назначенное сторонним владельцем, может быть выбрано для виртуального узла внутри пространства имен, заданного и управляемого сторонним виртуальным узлом. В различных вариантах реализации изобретения подобный сторонний CVI может быть назначен владельцем стороннего пространства имен по запросу или с одобрения пользователя и/или VCS, например, для улучшения возможности виртуальных узлов использовать продукты или функциональные возможности, реализованные сторонними виртуальными узлами. По меньшей мере, в некоторых вариантах реализации изобретения, сторонний владелец пространства имен также может реализовать одну или более систему проверки достоверности удостоверения для своего пространства имен. В одном варианте реализации изобретения, как упоминалось выше, может быть назначено общедоступное удостоверение, связанное с определенной ролью, которую исполняет виртуальный узел внутри группы взаимодействующих виртуальных узлов, например, таким образом, что участник группы может иметь возможность брать на себя, по меньшей мере, некоторую часть нагрузки другого участника группы по мере необходимости. Имя общедоступной роли 260J («Failover-group-FG3-node», указывающее на то, что виртуальный узел является участником группы аварийного переключения) является примером такого общедоступного CVI, который может быть назначен множеству виртуальных узлов. В некоторых вариантах реализации изобретения, такие однородные группы взаимодействующих виртуальных узлов, выполненных с возможностью брать на себя нагрузку участника группы в случае, если возникает отказ в работе множества различных сервисов сети провайдера (включая VCS, различные сервисы, связанные с хранением, высокопроизводительные вычислительные сервисы и т.п.).

[0035] Следует отметить, что назначение выбранного удостоверения заданному виртуальному узлу, по меньшей мере, в некоторых вариантах реализации изобретения, может носить временный характер, а повторное использование ранее использованного удостоверения может быть разрешено, по меньшей мере, в одном варианте реализации изобретения. Например, виртуальному узлу может быть назначен определенный CVI «CVI1» в заданном пространстве имен NS1 в интервале времени от Т1 до Т2, ни одного CVI внутри NS1 в интервале времени от Т2 до Т3, различные CVI «CVI2» внутри NS1 в интервале времени от Т3 до Т4, и ранее назначенные CVI «CVI1» в интервале времени от Т4 до Т5.

Взаимодействие между аутентификаторами, специфичными для приложения

[0036] На Фиг. 3 проиллюстрированы примеры взаимодействия между компонентами проверки подлинности множественных приложений и виртуальных вычислительных узлов, в соответствии, по меньшей мере, с некоторыми вариантами реализации изобретения. Различные CVI 360A-360D (относящиеся к соответствующим пространствам имен 344А-344D) набора CVI 342, назначенные заданному виртуальному вычислительному узлу 150, позволяют виртуальному узлу реагировать на определенные задачи проверки подлинности, соответствующие каждому из множества различных приложений в проиллюстрированном варианте реализации изобретения, позволяя виртуальному узлу получать разрешения на продолжение работы с операциями других различных приложений. На Фиг. 3 проиллюстрированы аутентификаторы 302А и 302В двух разных приложений App1 и Арр2. Например, аутентификатор 302А может быть приложением клиента удаленного рабочего стола, тогда как аутентификатор 302В может быть менеджером лицензий приложения для проектирования чипов, реализованного с использованием программного обеспечения как услуги. Разработчик приложения клиента удаленного рабочего стола может пожелать, чтобы перед установкой сессии удаленного рабочего стола на виртуальном вычислительном узле было проверено удостоверение виртуального вычислительного узла. Аналогично, разработчик приложения для проектирования микросхем может пожелать, чтобы перед использованием или вызовом CAD-инструментов из виртуального вычислительного узла было проверено удостоверение виртуального вычислительного узла, чтобы убедиться, что использование CAD-инструментов для этого виртуального узла разрешено.

[0037] Виртуальный вычислительный узел 150 может получить запрос на подтверждение относящегося к нему удостоверения посредством каждого из аутентификаторов в отдельных запросах на идентификацию 312А и 312В в варианте реализации изобретения, проиллюстрированному на Фиг. 3. Запросы на идентификацию 312А и 312В могут быть получены на разных стадиях жизненного цикла виртуального вычислительного узла. В ответ на запрос идентификации 312А виртуальный вычислительный узел 150 может установить определенное пространство имен 344А, относящееся к запросу на идентификацию, и предоставить один или более криптографических объектов 314А, указывающих на CVI 360А, назначенный виртуальному узлу в пространстве имен 344А. Аналогично, один или более криптографических объектов 314В, указывающие на CVI 360В в пространстве имен 344В, могут быть предоставлены в ответ на запрос идентификации 312 В от аутентификатора 302В. В различных вариантах реализации изобретения, несколько различных типов объектов, сгенерированных, по меньшей мере частично, с использованием криптографических алгоритмов или криптографически стойких ключей, могут использоваться в качестве подтверждения удостоверения виртуального узла. Например, в некоторых вариантах реализации изобретения, криптографические объекты 316 могут содержать цифровые сертификаты, зашифрованную версию лицензионного соглашения, зашифрованные токены политик и т.п., по меньшей мере, некоторые из которых могут быть получены с использованием открытого ключа из пары согласованных ключей, назначенных виртуальному вычислительному узлу 150. В различных вариантах реализации изобретения, приложениями могут использоваться несколько различных типов протоколов аутентификации, требующих проверку удостоверения виртуального узла, включая, к примеру, многошаговые протоколы, предусматривающие более чем один обмен сообщениями, а виртуальный вычислительный узел 150 может соответствующим образом реагировать на различные этапы, необходимые для подтверждения его удостоверения. В некоторых вариантах реализации изобретения, по меньшей мере, часть информации об удостоверении, предоставляемой в ответ на запрос удостоверения 312, может включать использование секретного ключа виртуального вычислительного узла, который управляется на стороне хранилища безопасного ключа, препятствующего копированию такого ключа. Например, виртуальный вычислительный узел 150 может вызвать API, реализованный посредством прокси-сервера, например, компонентом управления виртуализацией, или посредством хранилища безопасного ключа, позволяющего шифровать элементы данных с использованием секретного ключа. В различных вариантах реализации изобретения, ответные действия на запросы идентификации могут создаваться на нескольких разных уровнях стека программного обеспечения виртуального вычислительного узла, например, такие ответные действия могут генерироваться приложением, запущенным в пользовательском режиме, в модуле операционной системы, модуле драйвера устройства и т.п.

[0038] После принятия аутентификатора 302 или проверки удостоверения виртуального вычислительного узла 150 в соответствии с актуальным пространством имен 344, по меньшей мере, в некоторых случаях, может быть направлено подтверждающее сообщение (например, сообщение Authn_ACK 322А или 322В) виртуальному вычислительному узлу. Такое подтверждение может служить сигналом для виртуального вычислительного узла о том, что получено разрешение на работу с дополнительными операциями, связанными с приложением (например, App1 или Арр2). По меньшей мере, в некоторых вариантах реализации изобретения, некоторыми приложениями может не использоваться явное подтверждающее сообщение об аутентификации. Следует отметить, что в некоторых вариантах реализации изобретения, по меньшей мере, для некоторых типов пространств имен удостоверений виртуального узла виртуальный вычислительный узел может утвердить CVI в качестве первого этапа взаимодействия с аутентификатором. Другими словами, удостоверения виртуального узла не требуют утверждения только при ответе на полученный запрос.

Примеры хранилищ безопасного ключа

[0039] Как было описано выше, в некоторых вариантах реализации изобретения, секретный ключ из пары согласованных ключей, назначенный виртуальному вычислительному узлу, может использоваться, по меньшей мере, для некоторых операций, выполняемых для установки удостоверения виртуального вычислительного узла внутри заданного пространства имен. На Фиг. 4 проиллюстрирован пример виртуального хоста, на котором программный интерфейс позволяет виртуальному вычислительному узлу использовать непередаваемый секретный ключ, управляемый реализованным хранилищем безопасного ключа, в соответствии, по меньшей мере, с некоторыми вариантами реализации изобретения. Как проиллюстрировано, виртуальный хост 125 может содержать множество аппаратных компонентов 410, содержащих, к примеру, некоторое количество обрабатывающих ядер процессора 470, по меньшей мере, одну оперативную память 472, которая может называться основная память, одно или более постоянных устройств хранения 490, например, дисков (содержащих обычные жесткие диски и/или твердотельные диски), и одну или более сетевых интерфейсных карт (NIC) 480. Также может быть доступна другая временная память на уровне 410 аппаратных компонентов, по меньшей мере, в некоторых вариантах реализации изобретения, например, на уровне процессорного кэша, регистров и т.п. В проиллюстрированном варианте реализации изобретения, локальное хранилище безопасного ключа, например, модуль доверительной платформы 470 также может быть интегрирован внутри или соединен с виртуальным хостом 125. Периферийные устройства, например, один или более мониторов, мышь, и т.п.(не проиллюстрированные на Фиг. 4) также могут быть присоединены к виртуальному хосту, в некоторых реализациях.

[0040] Различные ресурсы уровня аппаратного обеспечения 410 могут быть виртуализированы (например, предоставленные нескольким виртуальным узлам 150, загружаемых или запускаемых на виртуальном узле 125 так, как если бы каждый из виртуальных узлов имел исключительный доступ к ресурсам) с помощью стека программного обеспечения для управления виртуализацией, который содержит гипервизор 408 и/или административный виртуальный узел операционной системы 430, в проиллюстрированном варианте реализации изобретения. Гипервизор и/или виртуальный узел административной операционной системы могут рассматриваться как элементы VCS и могут называться компонентами управления виртуализацией (VMC) 425. В некоторых реализациях административный виртуальный узел операционной системы может назваться «привилегированным доменом», обозначаемым «domain 0» или «dom0», тогда как соответствующие операционные системы, установленные для каждого виртуального узла 150 могут называться «непривилегированные домены» (обозначаемые «domU»), «гостевые операционные системы» или «гостевые домены».

[0041] В проиллюстрированном варианте реализации изобретения, гипервизор 408, как правило, может выступать в качестве промежуточного звена между виртуальным вычислительным узлом и аппаратным компонентом виртуального хоста. В некоторых случаях, в зависимости, например, от определенного используемого программного интерфейса, и гипервизор, и виртуальный узел административной операционной системы 430 могут выступать промежуточным звеном между виртуальным узлом 150 и аппаратным обеспечением. Например, путь запроса для операции может проходить следующим образом: виртуальный узел → гипервизор → dom0 → гипервизор → аппаратное обеспечение, а ответ на запрос может быть предоставлен виртуальному вычислительному узлу с использованием обратного пути. В некоторых реализациях dom0 может получать прямой доступ к одному или более аппаратным компонентам; другое взаимодействие между dom0 и аппаратным обеспечением может проходить через гипервизор. Когда аппаратный компонент (например, хранилище безопасного ключа 470) используется со стороны виртуального вычислительного узла 150, например, в связи с запрашиваемыми операциями посредством уровня приложений 450, соответствующий запрос, направленный в VMC может быть сгенерирован ядром операционной системы или уровнем драйвера 452. В проиллюстрированном варианте реализации изобретения, к примеру, один или более API 425 секретных ключей, поддерживаемых VCS, могут быть затребованы от виртуального вычислительного узла 150 для использования секретного ключа, управляемого хранилищем безопасного ключа. В проиллюстрированном варианте реализации изобретения, API 425 может использовать секретный ключ, например, для генерирования криптографических объектов без предоставления разрешения (например, виртуальному вычислительному узлу) копировать или перемещать секретный ключ.

[0042] В проиллюстрированном варианте реализации изобретения, вместо или в дополнение к использованию локального хранилища безопасного ключа 470 может использоваться удаленное хранилище безопасного ключа 490 (например, модуль аппаратной защиты (HSM) сервиса безопасности, реализованного в сети провайдера). Удаленное хранилище безопасного ключа также может быть использовано, по меньшей мере, в некоторых вариантах реализации изобретения, посредством схожих типов API 425, препятствующих копированию секретных ключей, как описано выше. Взаимодействие с удаленным хранилищем безопасного ключа 490 может происходить через физическую сетевую карту 480. В одном варианте реализации изобретения, может использоваться только один тип хранилища безопасного ключа, например, либо локальное хранилище безопасного ключа 470, либо удаленное хранилище безопасного ключа 490. По меньшей мере, в одном варианте реализации изобретения, множественные пары ключей могут быть назначены для заданного виртуального вычислительного узла (например, для соответствующих CVI в различном пространстве имен), а для секретных ключей из множества пар ключей могут использоваться различные хранилища безопасного ключа. В других вариантах реализации изобретения, одни и те же пары ключей могут использоваться для нескольких разных CVI в соответствующем пространстве имен. В различных вариантах реализации изобретения, пары согласованных ключей могут быть совместимыми с любым из различных подходящих стандартов и/или алгоритмов шифрования, например, с версией улучшенного стандарта шифрования (AES), алгоритмом RS А (Ривеста-Шамира-Эдльмана), DES (стандартом шифрования данных), PGP (программой защиты сообщений) и тому подобными.

Административное взаимодействие для выдачи удостоверения

[0043] В некоторых вариантах реализации изобретения, поддерживается набор программных интерфейсов для операций настройки, связанных с удостоверением виртуального узла. На Фиг. 5 проиллюстрированы примеры взаимодействия на уровне управления, связанного с удостоверением, между клиентом и менеджером конфигурации виртуального узла, в соответствии, по меньшей мере, с некоторыми вариантами реализации изобретения. Некоторые клиенты могут определить типы удостоверений, назначенных виртуальному узлу, перед запуском виртуального узла, тогда как другие клиенты могут выдать удостоверения виртуальным узлам после их запуска. В проиллюстрированном варианте реализации изобретения, клиенты также могут отозвать удостоверения у виртуальных вычислительных узлов. В проиллюстрированном варианте реализации изобретения, для этих и других типов операций настройки, набор программных интерфейсов 590 может быт реализован уровнем управления VCS.

[0044] Как проиллюстрировано выше, клиент 502 может отправить запрос Launchlnstance 504 менеджеру настройки виртуального узла VCS, в проиллюстрированном варианте реализации изобретения, посредством программного интерфейса 590 с параметром дескриптора удостоверения (IDDescriptor), указывающим на один или более запрашиваемые типы удостоверений для запускаемого виртуального узла. Для каждого запрашиваемого удостоверения, дескриптор удостоверения может указывать на различные свойства, например, на идентификатор пространства имен, владельца пространства имен, информацию о периоде проверки достоверности удостоверения, и тому подобное, как проиллюстрировано ниже, в контексте Фиг. 6. Запрос Launchlnstance (и другие примеры запросов, проиллюстрированные на Фиг. 5) могут содержать ноль или более дополнительных параметров, не проиллюстрированных на Фиг. 5, обозначенных многоточием («…»). В некоторых вариантах реализации изобретения, клиенты 502, которые не желают выдавать удостоверения виртуальным вычислительным узлам во время или перед запуском, могут не включать дескриптор удостоверения в свои запросы запуска; другими словами, дескриптор удостоверения может быть необязательным параметром.

[0045] В проиллюстрированном варианте реализации изобретения, в ответ на получение запроса Launchlnstance, содержащего дескриптор удостоверения, менеджер конфигурации виртуального узла 510 может сначала проверить, что запрашивающему клиенту разрешено выдавать удостоверения. Не всем клиентам могут быть выданы разрешения на назначение удостоверений в пространствах имен различных типов, по меньшей мере, в некоторых вариантах реализации изобретения; например, только выбранному набору типов виртуальных узлов (например, «большим» виртуальным узлам, которые могут стоить больше, чем «маленькие» виртуальные узлы) может быть разрешено иметь множественные CVI, а клиенты, создающие запрос на выдачу множественных удостоверений для виртуального узла, имеющему разрешение только на один CVI (или вообще ни на один CVI), могут получить сообщение «отказано в разрешении» или аналогичное сообщение об ошибке. По меньшей мере, в одном варианте реализации изобретения, клиентам, желающим назначить виртуальному узлу больше чем один CVI, может потребоваться доступ к механизму ценообразования, который содержит информацию о стоимости для каждого удостоверения. В некоторых вариантах реализации изобретения, тип проверки достоверности удостоверения, требуемого для заданного CVI (например, может ли использоваться система проверки достоверности удостоверения собственной сети провайдера, или могут использоваться внешние системы проверки достоверности удостоверения, например, публичные центры сертификации ключей), может определять стоимость, связанную с выдачей удостоверения. Если запрос клиента Launchlnstance удовлетворяет критериям приема запроса менеджера настроек, менеджер настроек может инициировать выдачу запрашиваемых типов удостоверений от соответствующих групп владельцев пространства имен 520 в проиллюстрированном варианте реализации изобретения, например, от владельцев пространства имен 520А, 520В или 520С. В некоторых вариантах реализации изобретения запросы, направленные владельцам пространства имен, могут содержать открытый ключ(и) из пары согласованных ключей, назначаемых для запускаемого виртуального вычислительного узла. В некоторых вариантах реализации изобретения, менеджер конфигурации виртуального узла 510 может получать уведомления от владельцев пространства имен, указывающие на то, что запрашиваемые удостоверения успешно назначены. В проиллюстрированном варианте реализации изобретения, содержащаяся в сообщении LaunchSuccessful 506 информация о том, что удостоверение или удостоверения, успешно назначены виртуальному узлу (например, в составе параметра AssignedlDInfo) может быть предоставлена клиенту 502. По меньшей мере, в некоторых вариантах реализации изобретения, один или более CVI могут быть выданы виртуальному узлу по умолчанию, например, даже если клиент, от имени которого запущен виртуальный узел, не указал явно какие-либо свойства виртуального узла, относящиеся к удостоверению.

[0046] В проиллюстрированном варианте реализации изобретения, клиент 502 может запросить выдачу удостоверения после запуска для уже работающего виртуального узла посредством запроса AssignldentityToInstance 508. В ответ на запрос, менеджер конфигурации 510 может снова проверить, что клиенту разрешено выдавать удостоверения, а затем инициировать выдачу удостоверения запущенному виртуальному узлу аналогично способу, описанному выше в отношении запроса Launchlnstance 504.Клиенту 502 может быть предоставлено подтверждающее сообщение IDAssignACK 511, указывающее на успешную выдачу запрашиваемых удостоверений.

[0047] Для отзыва удостоверения клиент 502 может направить запрос RevokelDFromlnstance 512 менеджеру конфигураций 510 вместе с параметром IDDescriptor, указывающим на группу удостоверений, которые необходимо отозвать. Отзыв удостоверения может быть полезен, к примеру, когда набор разрешений нужен виртуальному вычислительному узлу только для некоторой части жизненного цикла виртуальных узлов, например, когда определенное приложение, для которого требуется проверка удостоверения, больше не выполняется на виртуальном узле, соответствующий CVI может быть отозван или признан недействительным. После проверки того, что клиенту разрешено отзывать удостоверение или удостоверения, менеджер конфигураций может инициировать отзыв посредством одного или более взаимодействий с соответствующим менеджером пространства имен 520. В проиллюстрированном варианте реализации изобретения, если отзыв был выполнен успешно, клиенту 502 передается подтверждающее сообщение IDRevocationACK 514. Владельцы пространства имен 520 могут отклонить запросы на назначение или отзыв удостоверений по разным причинам в различных вариантах реализации изобретения, например, если запрашиваемое имя уже назначено. Информация о таких отказах может быть предоставлена запрашивающему клиенту посредством менеджера конфигурации виртуального узла 510. Следует отметить, что в различных вариантах реализации изобретения может быть реализовано множество различных типов программных интерфейсов для различных вариантов взаимодействия, проиллюстрированных на Фиг. 3 (между системами проверки подлинности и виртуальными узлами) и на Фиг. 5 (между клиентами и компонентами уровня управления сети провайдера). Такие интерфейсы могут содержать API, веб-страницы или веб-консоли, графические интерфейсы пользователя (GUI), инструменты командной строки и тому подобное.

Элементы дескриптора удостоверения

[0048] На Фиг. 6 проиллюстрирован пример содержимого дескрипторов удостоверения, которые могут быть включены в запросы назначения удостоверения для менеджера конфигурации виртуального узла, в соответствии, по меньшей мере, с некоторыми вариантами реализации изобретения. Дескриптор удостоверения 610 содержит множество элементов удостоверения 612, например, 612А или 612В, предоставляемых в качестве параметра запроса Launchlnstance или AssignldentityToInstance, аналогичного запросам, проиллюстрированным, к примеру, на Фиг. 5.

[0049] В проиллюстрированном варианте реализации изобретения, элемент удостоверения 612А может содержать некоторую комбинацию следующих элементов нижнего уровня: идентификатор пространства имен 614А, владелец 616А пространства имен, запрашиваемое имя 618А для виртуального узла, начальный период проверки достоверности 620А для удостоверения, политика расширения проверки достоверности 622А (например, какие этапы необходимо выполнить для расширения назначенного удостоверения, и период времени, за который удостоверение с истекшим сроком действия может быть возобновлено), механизм проверки достоверности 624А (например, тип сертификата или алгоритма для криптографической проверки удостоверения) и/или утвержденный список систем проверки достоверности.626А. Элемент удостоверения 612В, для одних и тех же виртуальных узлов, может устанавливать различные комбинации свойств для второго запрашиваемого удостоверения: например, второе пространство имен 614В, владелец 616В пространства имен (отличающийся от 616А), различные запрашиваемые имена 618В в пространстве имен 614В, начальный период проверки достоверности 620 В (отличающийся от 620А), политика расширения проверки достоверности 622 В (отличающаяся от политики 622А), механизм проверки достоверности 624 В (отличающийся от 624А), утвержденный список систем проверки достоверности 626В (отличающийся от списка систем проверки достоверности 626А). По меньшей мере, в некоторых вариантах реализации изобретения, один или боле элементов нижнего уровня может быть пропущен. Например, для некоторых типов удостоверений, вместо того, чтобы предлагать варианты для запрашиваемых имен 618, клиент может прибегнуть к помощи VCS (или другого сервиса сети провайдера) для определения подходящего имени для виртуального узла. Аналогично, для параметров, связанных с проверкой подлинности, например, периода проверки подлинности 620, политики расширения проверки подлинности 622 или списка систем проверки достоверности, клиент может положиться на настройки по умолчанию, выбранные владельцем пространства имен или посредством VCS. По меньшей мере, в некоторых вариантах реализации изобретения, механизм проверки достоверности, по меньшей мере, для некоторых типов удостоверений, может быть задан предварительно, другими словами, клиент может не иметь возможности изменить способ, с помощью которого будут проверяться удостоверения виртуального узла, или модифицировать набор используемых систем проверки достоверности.

[0050] По меньшей мере, в одном варианте реализации изобретения, для заданного типа удостоверения виртуального узла возможна проверка несколькими различными типами систем проверки достоверности, например, сторонние или открытые центры сертификации ключей за пределами сети провайдера, а также внутренние центры сертификации самой сети провайдера могут иметь возможность подписывать цифровые сертификаты для удостоверений виртуального узла. В некоторых таких вариантах реализации изобретения, клиенту может быть предложена политика ценообразования, основанная, по меньшей мере, частично, на разных предпочтительных типах систем проверки достоверности удостоверений, используемых для соответствующих виртуальных узлов. Например, клиент может запросить более низкую биллинговую ставку для виртуального узла, достоверность которого проверяется центром сертификации внутри сети провайдера по сравнению с виртуальным узлом, достоверность которого проверяется сторонним или внешним центром сертификации. В некоторых вариантах реализации изобретения, некоторые или все компоненты нижнего уровня элементов удостоверения, проиллюстрированные на Фиг. 6, могут быть предоставлены в качестве отдельных параметров вызова API, и не обязательно встроены внутри отдельного объекта или структуры данных, например, дескриптора удостоверения.

Способы подцержки многофункциональной идентификации виртуального узла

[0051] На Фиг. 7 проиллюстрирована блок-схема, иллюстрирующая аспекты осуществления операций, которые могут выполняться в ответ на административные запросы, относящиеся к назначению удостоверения виртуального узла, в соответствии, по меньшей мере, с некоторыми вариантами реализации изобретения. Как проиллюстрировано в элементе 701, запрос на назначение одного или более CVI виртуальному вычислительному узлу CI1 может быть получен компонентом уровня управления виртуального вычислительного сервиса. Термин «компоненты уровня управления» используется в данном документе для обозначения сущностей (например, менеджера конфигураций, проиллюстрированного на Фиг. 510), отвечающих за конфигурацию и администрирование виртуальных вычислительных узлов и виртуальных хостов VCS, в противоположность «компонентам уровня данных», которые вовлечены в реализацию операций приложения, не связанных с администрированием. Запрос выдачи удостоверения может указывать на некоторые или все свойства удостоверения, описанные в контексте Фиг. 6, в соответствии с каждым запрашиваемым типом удостоверения, например, идентификатора пространства имен, владельца имен, запрашиваемого имени и т.п.Некоторые параметры могут быть одинаковыми для одного или более запрашиваемых удостоверением, например, одинаковые периоды проверки достоверности могут быть затребованы для одного или более различных удостоверений, или одни и те же виртуальные узлы могут принадлежать пространству имен для одного или более удостоверений. В некоторых вариантах реализации изобретения, настройки, заданные по умолчанию, могут использоваться для одного или более свойств, не описанных явным образом в запросе клиента. Запросы на выдачу удостоверения идентификатора могут быть получены перед запуском виртуального узла (например, в запросе Launchlnstance или аналогичном), а в других случаях, после запуска виртуального узла.

[0052] Компонент уровня управления может проверять достоверность содержимого полученного запроса на выдачу удостоверения (элемент 704). В различных вариантах реализации изобретения, могут выполняться несколько различных типов операций проверки достоверности, например, проверка того, выдано ли уже запрашиваемое удостоверение (или выданы ли различные удостоверения в одном и том же пространстве имен), разрешено ли запрашивающему назначать запрашиваемые типы удостоверений, достижимы ли из VCS указанные владельцы пространства, или удовлетворяет ли определенный виртуальный узел CI1 установленным требованиям для назначения CVI. По меньшей мере, в одном варианте реализации изобретения, например, несколько различных типов виртуальных вычислительных узлов (например, «малые», «средние» и «большие» виртуальные узлы) могут поддерживаться VCS с учетом соответствующего механизма ценообразования, и CVI внутри заданного типа пространства имен не обязательно может быть присвоено всем типам виртуальных узлов. По меньшей мере, в одном варианте реализации изобретения, различные типы CVI могут иметь разные, связанные с ними механизмы ценообразования, например, на основе пространства имен и систем проверки достоверности удостоверения для разных типов CVI. B таких вариантах реализации изобретения, компоненту уровня управления необходимо убедиться, что задействован соответствующий механизм ценообразования для CI1, или что запрашивающий клиент согласился с соответствующим механизмом ценообразования перед одобрением назначения одного или более CVI. В некоторых вариантах реализации изобретения, например, в варианте реализации, где не всем виртуальным узлам разрешено использование криптографических ключей, управляемых хранилищем безопасного ключа, компонент уровня управления VCS может проверять, что виртуальный узел, которому назначен CVI, способен использовать подходящий набор ключей для утверждения CVI.

[0053] После проверки запроса выдачи удостоверения компонент уровня управления может передавать соответствующие запросы владельцам пространства имен для каждого из запрашиваемых удостоверений (элемент 707). По меньшей мере, в одном варианте реализации изобретения, компонент уровня управления может быть способен определять открытый ключ из криптографической пары согласованных ключей, используемой для заданного удостоверения, при этом открытый ключ может содержаться в отправке запроса владельцу пространства имен. В одном варианте реализации изобретения, некоторые или все параметры, содержащиеся в запросе клиента на выдачу удостоверения, могут передаваться дальше, владельцу пространства имен. Владельцы пространства имен могут выполнять их собственные операции проверки достоверности в ответ на запрос от компонента уровня управления. Если были выполнены операции проверки достоверности, владельцы пространства имен и/или системы проверки достоверности удостоверения соответствующего пространства имен могут генерировать необходимые метаданные для запрашиваемого удостоверения (например, назначаемое имя, соответствующие цифровые сертификаты или объекты, связанные с удостоверением и т.п.).

[0054] Компонент уровня управления может получать подтверждение от владельца(ев) пространства имен (элемент 710), указывающее, что запрашиваемые типы удостоверений назначены виртуальному вычислительному узлу CI1. По меньшей мере, в некоторых вариантах реализации изобретения, имена, назначенные CI1 внутри одного или более пространства имен, могут быть предоставлены компонентам уровня управления. В некоторых вариантах реализации изобретения, система проверки достоверности удостоверения для пространства имен может также или вместо этого уведомлять компонент уровня управления о том, что удостоверение в пространстве имен успешно выдано CI1. В проиллюстрированном варианте реализации изобретения, компонент уровня управления может сообщать информацию клиенту в отношении состояния статуса удостоверения CI1, например, о том, что запрашиваемые удостоверения были назначены, или о том, что один или более запрашиваемых удостоверений не были назначены (элемент 713). В некоторых вариантах реализации изобретения, клиенту также могут предоставляться имена, назначенные виртуальному узлу в различных пространствах имен. По меньшей мере, в одном варианте реализации изобретения, VCS может реализовать программный интерфейс уровня управления (например, посредством API, таким как «DescribeInstance» или консоли), позволяющий клиенту получать список всех CVI, выданных заданному виртуальному вычислительному узлу одновременно со свойствами удостоверения, например, идентификаторами пространства имен, владельцами пространства имен, периодами проверки достоверности, списками систем проверки достоверности, а т.п.

[0055] На Фиг. 8 проиллюстрирована блок-схема, иллюстрирующая аспекты реализации операций, выполняемые на виртуальном вычислительном узле, которому выдано одно или более удостоверений внутри соответствующего пространства имен, в соответствии, по меньшей мере, с некоторыми вариантами реализации изобретения. Как проиллюстрировано в элементе 801, один или более CVI могут быть выданы заданному виртуальному вычислительному узлу CI1, относящегося к виртуальному вычислительному сервису (VCS), например, по умолчанию, на основе политик VCS, по сути, для категории виртуальных узлов, к которым относится CI1, или в ответ на запрос(ы) владельца виртуального узла.

[0056] Узел CI1 может получать запрос удостоверения, связанный с определенным приложением и/или пространством имен (например, запросом от клиента удаленного рабочего стола, соответствующим пространству имен DNS, или запросом от серверов лицензий, соответствующим пространству имен получателя лицензии) (элемент 804). Некоторые такие запросы удостоверений также могут называться задачами проверки подлинности. В ответ узел CI1 может предоставлять один или более объектов, сгенерированных криптографическим методом, в качестве указания CVI, назначенного ему в соответствующем пространстве имен (элемент 807). В некоторых случаях, CI1 может сначала определять пространство имен, применяемое к определенному приложению в том контексте, в котором был получено удостоверение; в других случаях, запрос удостоверения или задача могут явно указывать на пространство имен. В одном варианте реализации изобретения, указание на одну или более систему проверки достоверности удостоверения (например, доверительные центры сертификации, к которые могут обращаться за информацией для проверки утвержденных удостоверений CI1) может быть включено в ответ на запрос CI1. По меньшей мере, в некоторых вариантах реализации изобретения, каждый CVI может быть связан с соответствующей криптографической парой согласованных ключей, разработанных специально для CI1. Следует отметить, что, по меньшей мере, в некоторых вариантах реализации, с одной и той же парой согласованных ключей может быть связан более чем один CVI. По меньшей мере, в одном варианте реализации изобретения, объекты, указывающие на удостоверение могут содержать цифровой сертификат (подписанный системой проверки достоверности удостоверения для соответствующего пространства имен и содержащий открытый ключ из связанной пары согласованных ключей) и/или другой криптографический элемент (например, цифровую подпись), полученный с использованием программного интерфейса, реализованного посредством компонента управления виртуализацией на виртуальном хосте, а котором выполняется CI1. Программный интерфейс может позволить CI1 косвенно использовать секретный ключ для получения криптографического элемента, в некоторых вариантах реализации, без раскрытия самого секретного ключа узлу CI1. В различных вариантах реализации изобретения, секретный ключ может управляться/храниться в хранилище безопасного ключа, например, локальном периферийном устройстве, соединенном с коммуникационной шиной виртуального хоста, на котором выполняется CI1, или удаленном модуле аппаратной защиты, доступному для компонента управления виртуализацией через сеть. В проиллюстрированном варианте реализации изобретения, посредством VCS возможно использование узлом CI1 секретного ключа для подтверждения его CVI или нескольких CVI.

[0057] В проиллюстрированном варианте реализации изобретения, если CVI подтвержден виртуальным узлом, сгенерировавшем запрос удостоверения (как определено в элементе 810), CI1 может продолжить выполнение дополнительных операций приложения, для которого был получен запрос удостоверения (элемент 813). Если CVI был отклонен (что также определено в элементе 810), CI1 может дополнительно передавать сообщение об ошибке компоненту управления виртуализацией виртуального хоста и/или уровню управления VCS (элемент 816).

[0058] Следует отметить, что в различных вариантах реализации изобретения, операции, отличные от проиллюстрированных в блок-схеме на Фиг. 7 и Фиг. 8, могут использоваться для реализации, по меньшей мере, некоторых из технических приемов для поддержки многофункционального удостоверения виртуального узла, описанного в данном документе. Некоторые из проиллюстрированных операций, не реализованные в некоторых вариантах реализации изобретения, могут быть реализованы в различной последовательности, отличной от проиллюстрированной на Фиг. 7 или Фиг. 8, или одновременно, а не последовательно.

Примеры использования

[0059] Описанные выше технические приемы предоставления поддержки назначения виртуальным вычислительным узлам множественных удостоверений, проверяемых криптографическим методом, могут использоваться в различных вычислительных условиях. Многие современные приложения и протоколы, которые имеют дело с конфиденциальными бизнес-данными и, в связи с этим, требующие высокого уровня безопасности выполняются в данный момент в условиях сети провайдера. По меньшей мере, некоторые клиенты виртуальных вычислительных сервисов могут пожелать использовать их виртуальные вычислительные узлы в контексте множества приложений, при этом каждый контекст приложения вводит свои собственные требования по аутентификации и безопасности в одном или нескольких пространствах имен. За счет назначения криптографических пар согласованных ключей (чьи секретные ключи не могут изменяться или копироваться из аппаратного хранилища ключа) для каждого виртуального узла и использования ключей для возможности виртуальных узлов выдавать их собственные удостоверения внутри одного или более пространства имен, клиенты могут иметь возможность достигать желаемого уровня безопасности для многих типов приложений. Подобные технические приемы позволяют снизить административные усилия, связанные с управлением виртуальным вычислительным узлом, например, администратору больше не нужно вручную (например, посредством административной консоли виртуального вычислительного узла) проверять, что каждый виртуальный узел, принимающий участие в выполнении заданного приложения, является уполномоченным. Различные периоды проверки достоверности и другие свойства могут быть заданы для различных удостоверений, связанных с заданным виртуальным узлом, обеспечивая большую гибкость, чем это возможно при одиночном удостоверении, назначаемом виртуальному узлу. Клиенты могут иметь возможность выбора оптимального ценообразования в отношении удостоверения виртуального узла, выбирая тарифные планы, которые частично зависят от типов механизма проверки достоверности удостоверений, используемых в различных виртуальных узлах.

Иллюстративная компьютерная система

[0060] По меньшей мере, в некоторых вариантах реализации изобретения, сервер, реализующий один или более технических приемов, описанных выше, для назначения множественных удостоверений виртуальному вычислительному узлу в соответствующем пространстве имен, может содержать компьютерную систему общего назначения, содержащую или выполненную с возможностью иметь доступ к одному или более носителю, доступ к которому осуществляется посредством компьютера. На Фиг. 9 проиллюстрировано такое вычислительное устройство 9000. В проиллюстрированном варианте реализации изобретения, вычислительное устройство 9000 содержит один или более процессоров 9010, взаимодействующих с системной памятью 9020 (которая может содержать модули памяти, сохраняющие или не сохраняющие данные при отключении питания) посредством интерфейса ввода/вывода (I/O) 9030.Вычислительное устройство 9000 дополнительно содержит сетевой интерфейс 9040, соединенный с интерфейсом ввода/вывода 9030.

[0061] В различных вариантах реализации изобретения, вычислительное устройство 9000 может быть однопроцессорным устройством, содержащим один процессор 9010, или многопроцессорным устройством, содержащим несколько процессоров 9010 (например, два, четыре или любое подходящее количество). Процессоры 9010 могут быть любыми подходящими процессорами, способными выполнять инструкции. Например, в различных вариантах реализации изобретения, процессоры 9010 могут быть процессорами общего назначения или встраиваемыми процессорами, реализующими любое из множества структур системы команд (ISA), например, х86, PowerPC, SPARC, или MIPS ISA, или другие подходящие ISA. В многопроцессорных системах каждый из процессоров 9010 может, в большинстве случаев, но не обязательно, реализовать одну и ту же ISA. В некоторых вариантах реализации изобретения, вместо или в дополнение к обычным процессорам может использоваться графический процессор (GPU).

[0062] Системная память 9020 может быть выполнена с возможностью хранить инструкции и данные, доступные процессору 9010. По меньшей мере, в некоторых вариантах реализации изобретения, системная память 9020 может одержать области, сохраняющие и не сохраняющие данные после отключения питания; в других вариантах реализации изобретения, может использоваться только память, не сохраняющая данные при отключении питания. В различных вариантах реализации изобретения, область системной памяти 9020, не сохраняющая данные при отключении питания, может быть реализована с использованием любой подходящей технологии изготовления памяти, например, статической памяти с произвольным доступом (SRAM), синхронного динамического ОЗУ или любого другого типа памяти. В некоторых вариантах реализации изобретения, для области системной памяти, сохраняющей данные при отключении питания (которая может содержать, к примеру, один или более NVDIMM) могут использоваться устройства памяти на основе флэш-памяти, включая флэш-память NAND. По меньшей мере, в некоторых вариантах реализации изобретения, область системной памяти, сохраняющая данные при отключении питания, может содержать источник питания, например, суперконденсатор или другой источник энергии для устройства хранения данных (например, батарею). В различных вариантах реализации изобретения, по меньшей мере, для области памяти, сохраняющей данные при отключении питания, может использоваться резистивная память с произвольным доступом на основе мемристора (ReRAM), трехмерная NAND-память, ферроэлектрическая ОЗУ, магниторезистивная ОЗУ (MRAM) или любой из множества различных типов памяти (РСМ) с фазовым изменением. В проиллюстрированном варианте реализации изобретения, программные инструкции и данные, реализующие одну или более требуемых функций, таких, как методы, технологии и данные, описанные выше, показаны сохраненными внутри системной памяти 9020 в виде кода 9025 и данных 9026.

[0063] В одном варианте реализации изобретения, интерфейс ввода/вывода 9030 может быть выполнен с возможностью координации входящего/исходящего трафика между процессором 9010, системной памятью 9020 и любыми периферийными устройствами, включая локальное хранилище безопасного ключа, например, модуль доверительной платформы (ТРМ) 966, сетевой интерфейс 9040 или другие периферийные интерфейсы, например, различные типы постоянных и/или непостоянных устройств хранения данных. В некоторых вариантах реализации изобретения, интерфейс ввода/вывода 9030 может выполнять любые необходимые протоколы, синхронизацию по времени или любые другие преобразования данных, для конвертации сигналов данных от одного компонента (например, системной памяти 9020) в формат, подходящий для использования другим компонентом (например, процессором 9010). В некоторых вариантах реализации изобретения, интерфейс ввода/вывода 9030 может обеспечивать поддержку для устройств, присоединенных посредством различных типов периферийных шин, например, шины с малым числом выводов (LPC), различных вариантов шины соединения периферийных устройств (PCI), или универсальной последовательной шины (USB). В некоторых вариантах реализации изобретения, функции интерфейса ввода/вывода 9030 могут быть разделены, к примеру, на два или более отдельных компонента, например, северный мост и южный мост. Кроме того, в некоторых вариантах реализации изобретения, некоторая или вся функциональность интерфейса ввода/вывода 9030, например, интерфейс с системной памятью 9020, может быть интегрирован непосредственно в процессор 9010.

[0064] Сетевой интерфейс 9040 может быть выполнен с возможностью разрешить обмен данными между вычислительным устройством 9000 и другими устройствами 9060, присоединенными к сети или сетям 9050, например, другими вычислительными системами или устройствами, как проиллюстрировано, например на Фиг. 1 - Фиг. 8. В различных вариантах реализации изобретения сетевой интерфейс 9040 может поддерживать обмен данными посредством любых подходящих проводных или беспроводных сетей передачи данных, например, различных типов сети Ethernet. Дополнительно, сетевой интерфейс 9040 может поддерживать обмен данными посредством телекоммуникационных/телефонных сетей, например, аналоговых сетей телефонной связи или цифровых оптических коммуникационных сетей, посредством сетей хранения данных, например, оптоволоконного канала SAN, или любого другого подходящего типа сети и/или протокола.

[0065] В некоторых вариантах реализации изобретения, системная память 9020 может представлять собой один вариант реализации носителя информации, доступ к которому осуществляется посредством компьютера, выполненный с возможностью хранения программных инструкций и данных, как описано выше для Фиг. 1 - Фиг. 8, для реализованных вариантов изобретения соответствующих способов и устройств. Тем не менее, в других вариантах реализации изобретения, программные инструкции и/или данные могут быть получены, отправлены или сохранены на различных типах носителей информации, доступ к которым осуществляется посредством компьютера. В общем случае, носитель информации, доступ к которому осуществляется посредством компьютера, может включать в себя энергонезависимые носители информации или запоминающие устройства, такие, как магнитные или оптические носители, например, диски или DVD/CD, подключенные к компьютерной системе 9000 через интерфейс ввода/вывода 9030. Энергонезависимые носители информации, доступ к которым осуществляется посредством компьютера, также могут содержать носители информации, сохраняющие или не сохраняющие данные при отключении питания, например ОЗУ (SDRAM, DDR SDRAM, RDRAM, SRAM и т.д.), ПЗУ, и т.д., которые, в некоторых вариантах реализации изобретения, могут содержаться в вычислительных устройствах 9000 в качестве системной памяти 9020 или другого типа памяти. Кроме того, носитель информации, доступ к которому осуществляется посредством компьютера, может содержать среду передачи данных или сигналов, например, электрические, электромагнитные или цифровые сигналы, передаваемые посредством коммуникационной среды, например, сети и/или беспроводного канала связи, например, реализованного посредством сетевого интерфейса 9040. Часть или все имеющиеся вычислительные устройства, например, проиллюстрированные на Фиг. 9, могут использоваться для реализации описанной функциональности в различных вариантах реализации изобретения; например, программные компоненты, выполняемые на множестве различных устройств и серверов, могут взаимодействовать для обеспечения подобной функциональности. В некоторых вариантах реализации изобретения описанная функциональность может быть частично реализовано с использованием устройств хранения, сетевых устройств или компьютерных систем специального назначения, в дополнение или вместо реализации с использованием компьютерных систем общего назначения. В контексте данного документа, термин «вычислительное устройство» означает, по меньшей мере, все эти типы устройств, и не ограничивается этими типами устройств.

Заключение

[0066] Различные варианты реализации изобретения дополнительно могут включать получение, отправку или хранение инструкций и/или данных, реализованные в соответствии с приведенным выше описанием носителя информации, доступ к которому осуществляется посредством компьютера. В общем случае, носитель информации, доступ к которому осуществляется посредством компьютера, может содержать носитель информации или запоминающее устройство, например, магнитный или оптический носитель, например, диск DVD/CD-ROM, носитель, сохраняющий или не сохраняющий данные при отключении питания, например, ОЗУ (например, SDRAM, DDR, RDRAM, SRAM и т.д.), ПЗУ, и т.д., а также среду передачи данных или сигналов, например, электрических, электромагнитных или цифровых сигналов, передаваемых посредством коммуникационной среды, например, сети и/или беспроводного канала связи.

[0067] Различные способы, как проиллюстрировано на Фигурах и описано в данном документе, отображают иллюстративные варианты реализации этих способов. Методы могут быть реализованы в программном обеспечении, аппаратном обеспечении или в их комбинации. Последовательность методов может быть изменена, а различные элементы могут быть добавлены, перераспределены, скомбинированы, исключены, изменены и так далее.

[0068] Как будет очевидно специалистам в данной области техники, могут быть выполнены различные модификации и изменения, имеющие преимущества данного описания. Предполагается, что объяснение всех таких модификаций и изменений, и, соответственно, приведенного выше описания следует рассматривать больше в иллюстративном смысле, чем в ограничивающем.

[0069] Варианты реализации изобретения могут быть описаны в разрезе следующих пунктов:

1. Система, включающая:

множество виртуальных хостов виртуальных вычислительных сервисов сети провайдера, включающее, по меньшей мере, первый виртуальный хост, содержащий один или более виртуальных вычислительных узлов;

при этом определенный виртуальный вычислительный узел из одного или более виртуальных вычислительных узлов выполнен с возможностью:

предоставлять информацию о первом удостоверении, проверяемом криптографическим методом (CVI), назначенном определенному виртуальному вычислительному узлу внутри первого пространства имен удостоверения виртуального узла (IIN), в ответ на первый запрос удостоверения от первого аутентификатора, связанного с первым приложением, при этом первый CVI связан с парой согласованных криптографических ключей, назначенных первому виртуальному вычислительному узлу, причем секретный ключ из пары согласованных криптографических ключей управляется хранилищем безопасного ключа, выполненного с возможностью защиты от копирования секретного ключа во внешнюю, по отношению к хранилищу секретного ключа, область, и при этом виртуальный вычислительный сервис позволяет определенному виртуальному вычислительному узлу использовать секретный ключ предоставления информации о первом CVI;

выполнять одну или более операций первого приложения в ответ на определение того, что первый CVI был принят первым аутентификатором;

предоставлять информацию о различных CVI, назначенных первому виртуальному вычислительному узлу внутри различных IIN, в ответ на второй запрос удостоверения от второго аутентификатора, связанного со вторым приложением; и

выполнять одну или более операций второго приложения в ответ на определение того, что второй CVI был принят вторым аутентификатором.

2. Система по п. 1, отличающаяся тем, что информация о первом CVI содержит первый сертификат, отформатированный в соответствии со стандартом инфраструктуры открытого ключа (PKI).

3. Система по п. 1, отличающаяся тем, что определенный виртуальный вычислительный узел дополнительно выполнен с возможностью:

вызывать программный интерфейс, реализованный компонентом управления виртуализацией первого виртуального хоста, для получения, по меньшей мере, одного объекта, содержащегося в информации о первом CVI.

4. Система по п. 1, отличающаяся тем, что хранилище безопасного ключа содержит один из следующих элементов:(а) модуль аппаратной защиты службы безопасности сети провайдера, или (b) периферийное устройство, присоединенное к коммуникационной шине первого виртуального хоста.

5. Система по п. 1, отличающаяся тем, что первый CVI содержит один или более следующих элементов:(а) имя DNS (система доменных имен) определенного виртуального вычислительного узла на основе, по меньшей мере, частично, виртуального IP-адреса (протокол сети Интернет), назначенного определенному виртуальному вычислительному узлу, (b) внешний IP-адрес, назначенный определенному виртуальному вычислительному узлу, (с) внутренний IP-адрес, назначенный определенному виртуальному вычислительному узлу, (d) уникальное имя, назначенное определенному виртуальному вычислительному узлу посредством виртуального вычислительного сервиса (VCS) сети провайдера от пространства имен, задаваемого VCS, (е) уникальное имя, выбранное пользователем сети провайдера из пространства имен, задаваемого пользователем, (f) имя, выбираемое пользователем сети провайдера из пространства имен, задаваемого VCS, (g) DNS-имя, выбираемое пользователем сети провайдера, или (h) имя, назначенное определенному виртуальному вычислительному узлу внутри пространства имен, задаваемого сторонней организацией.

6. Способ, включающий:

запуск одного или более виртуальных вычислительных узлов на виртуальном хосте виртуального вычислительного сервиса в сети провайдера;

получение первого запроса удостоверения на первом виртуальном вычислительном узле из одного или более виртуальных вычислительных узлов;

предоставление информации от первого виртуального вычислительного узла о первом удостоверении, проверяемом криптографическим методом (CVI), назначенном первому виртуальному вычислительному узлу внутри первого пространства имен удостоверения виртуального узла (IIN), в ответ на первый запрос удостоверения, при этом CVI связан с парой согласованных криптографических ключей и секретный ключ пары согласованных криптографических ключей управляется хранилищем безопасного ключа, выполненным с возможностью защиты от копирования секретного ключа,

причем виртуальный вычислительный сервис позволяет первому виртуальному вычислительному узлу использовать секретный ключ предоставления информации о первом CVI;

получение второго запроса удостоверения на первом виртуальном вычислительном узле; и

предоставление информации от первого виртуального вычислительного узла о различных CVI, назначенных первому виртуальному вычислительному узлу внутри различных IIN, в ответ на второй запрос удостоверения.

7. Способ по п. 6, отличающийся тем, что информация о первом CVI содержит первый сертификат, отформатированный в соответствии со стандартом инфраструктуры открытого ключа (PKI).

8. Способ по п. 6, дополнительно включающий:

вызов первым виртуальным вычислительным узлом программного интерфейса, реализованного компонентом управления виртуализацией виртуального хоста, для получения, по меньшей мере, части объекта, содержащегося в информации о первом CVI.

9. Способ по п. 6, отличающийся тем, что второй CVI связан с разными парами согласованных криптографических ключей.

10. Способ по п. 6, отличающийся тем, что хранилище безопасного ключа содержит один из следующих элементов:(а) модуль аппаратной защиты службы безопасности сети провайдера, или (b) периферийное устройство, подключенное к коммуникационной шине виртуального хоста.

11. Способ по п. 6, отличающийся тем, что первый CVI содержит один или более следующих элементов:(а) DNS (система доменных имен) имя первого виртуального вычислительного узла на основе, по меньшей мере, частично, виртуального IP-адреса (протокол сети Интернет), назначенного первому виртуальному вычислительному узлу, (b) внешний IP-адрес, назначенный первому виртуальному вычислительному узлу, (с) внутренний IP-адрес, назначенный первому виртуальному вычислительному узлу, (d) уникальное имя, назначенное первому виртуальному вычислительному узлу посредством виртуального вычислительного сервиса (VCS) сети провайдера от пространства имен, задаваемого VCS, (е) уникальное имя, выбранное пользователем сети провайдера из пространства имен, задаваемого пользователем, (f) имя, выбираемое пользователем сети провайдера из пространства имен, задаваемого VCS, (g) DNS-имя, выбираемое пользователем сети провайдера, или (h) имя, назначенное определенному виртуальному вычислительному узлу внутри пространства имен, задаваемого сторонней организацией.

12. Способ по п. 6, отличающийся тем, что информация о первом CVI содержит систему проверки достоверности удостоверения, включающую один или более следующих элементов:(а) открытый центр сертификации (СА), (b) центр проверки достоверности, реализованный внутри сети провайдера, (с) центр проверки достоверности, реализованный внутри сети пользователя, которой владеет пользователь сети провайдера, которому назначен первый виртуальный вычислительный узел, или (d) сторонний центр проверки достоверности.

13. Способ по п. 6, дополнительно включающий:

предоставление информации о первом периоде проверки достоверности первого CVI от первого виртуального вычислительного узла в ответ на первый запрос удостоверения; и

предоставление информации о втором периоде проверки достоверности второго CVI от первого виртуального вычислительного узла в ответ на второй запрос идентификации, при этом второй период проверки достоверности отличается от первого периода проверки достоверности.

14. Способ по п. 6, дополнительно включающий:

получение компонентом уровня управления сети провайдера запроса конфигурации виртуального вычислительного узла, указывающего, что первому виртуальному вычислительному узлу назначено удостоверение внутри первого IIN; и

инициализацию компонентом уровня управления назначения удостоверения первому виртуальному вычислительному узлу внутри первого IIN в ответ на запрос конфигурации виртуального вычислительного узла.

15. Способ по п. 6, отличающийся тем, что первый запрос удостоверения получен на первом виртуальном вычислительном узле от менеджера лицензий, связанного с первым приложением, и при этом первый CVI используется менеджером лицензий для проверки того, что первый виртуальный вычислительный узел имеет лицензию на использование первого приложения.

16. Способ по п. 6, дополнительно включающий:

создание группы устранения отказов виртуального узла менеджером определенного сервиса, реализованного в сети провайдера, содержащей второй виртуальный вычислительный узел и третий виртуальный вычислительный узел, при этом,

в случае отказа на втором виртуальном вычислительном узле, приложение, выполняемое на втором виртуальном вычислительном узле, переключается на выполнение на третьем виртуальном вычислительном узле; и

инициализацию менеджером сервиса (а) назначения общедоступного CVI второму виртуальному вычислительному узлу и (b) назначение общедоступного CVI третьему виртуальному вычислительному узлу, при этом общедоступный CVI используется для проверки того, что приложение может выполняться на втором виртуальном вычислительном узле и третьем виртуальном вычислительном узле.

17. Энергонезависимый носитель информации, доступ к которому осуществляется посредством компьютера, хранящий программные инструкции, которые затем выполняются на одном или более процессорах:

принимает первый запрос удостоверения на первом виртуальном вычислительном узле виртуального компьютерного сервиса;

предоставляет информацию от первого виртуального вычислительного узла о первом удостоверении, проверяемом криптографическим методом (CVI), назначенном первому виртуальному вычислительному узлу в первом пространстве имен удостоверения виртуального узла (IIN), в ответ на первый запрос удостоверения, при этом CVI связан с парой согласованных криптографических ключей и секретный ключ пары согласованных криптографических ключей управляется хранилищем безопасного ключа, выполненным с возможностью зашиты от копирования секретного ключа, причем виртуальный вычислительный сервис позволяет первому виртуальному вычислительному узлу использовать секретный ключ предоставления информации о первом CVI;

получает второй запрос удостоверения на первом виртуальном вычислительном узле; и

предоставляет информацию от первого виртуального вычислительного узла о различных CVI, назначенных первому виртуальному вычислительному узлу внутри различных IIN, в ответ на второй запрос удостоверения.

18. Энергонезависимый носитель информации, доступ к которому осуществляется посредством компьютера, по п. 17, отличающийся тем, что информация о первом CVI содержит первый сертификат, отформатированный в соответствии со стандартом инфраструктуры открытого ключа (PKI).

19. Энергонезависимый носитель информации, доступ к которому осуществляется посредством компьютера, по п. 17, отличающийся тем, что затем инструкции выполняются на одном или более процессорах и:

вызывают из первого виртуального вычислительного узла программный интерфейс, реализованный компонентом управления виртуализацией виртуального хоста, для получения, по меньшей мере, части объекта, содержащегося в информации о первом CVI.

20. Энергонезависимый носитель информации, доступ к которому осуществляется посредством компьютера, по п. 17, отличающийся тем, что первый CVI содержит один или более следующих элементов: (a) DNS (система доменных имен) имя первого виртуального вычислительного узла на основе, по меньшей мере, частично, виртуального IP-адреса (протокол сети Интернет), назначенного виртуальному вычислительному узлу, (b) внешний IP-адрес, назначенный первому виртуальному вычислительному узлу, (с) внутренний IP-адрес, назначенный первому виртуальному вычислительному узлу, (d) уникальное имя, назначенное первому виртуальному вычислительному узлу посредством виртуального вычислительного сервиса (VCS) сети провайдера от пространства имен, задаваемого VCS, (е) уникальное имя, выбранное пользователем сети провайдера из пространства имен, задаваемого пользователем, (f) имя, выбираемое пользователем сети провайдера из пространства имен, задаваемого VCS, (g) DNS-имя, выбираемое пользователем сети провайдера, или (h) имя, назначенное первому виртуальному вычислительному узлу внутри пространства имен, задаваемого сторонней организацией.

Похожие патенты RU2679188C2

название год авторы номер документа
ФОРМИРОВАНИЕ КЛЮЧА В ЗАВИСИМОСТИ ОТ ПАРАМЕТРА 2018
  • Рот, Грегори, Б.
  • Бехм, Брэдли, Джеффри
  • Крахен, Эрик, Д.
  • Илак, Кристиан, М.
  • Фитч, Натан, Р.
  • Брандуайн, Эрик, Джейсон
  • О`Нейлл, Кевин, Росс
RU2709162C1
ФОРМИРОВАНИЕ КЛЮЧА В ЗАВИСИМОСТИ ОТ ПАРАМЕТРА 2012
  • Рот Грегори Б.
  • Бехм Брэдли Джеффри
  • Крахен Эрик Д.
  • Илак Кристиан М.
  • Фитч Натан Р.
  • Брандуайн Эрик Джейсон
  • О`Нейлл Кевин Росс
RU2636105C1
ФОРМИРОВАНИЕ КЛЮЧА В ЗАВИСИМОСТИ ОТ ПАРАМЕТРА 2017
  • Рот Грегори Б.
  • Бехм Брэдли Джеффри
  • Крахен Эрик Д.
  • Илак Кристиан М.
  • Фитч Натан Р.
  • Брандуайн Эрик Джейсон
  • О'Нейлл Кевин Росс
RU2671052C1
ФОРМИРОВАНИЕ КЛЮЧА В ЗАВИСИМОСТИ ОТ ПАРАМЕТРА 2012
  • Рот Грегори Б.
  • Бехм Брэдли Джеффри
  • Крахен Эрик Д.
  • Илак Кристиан М.
  • Фитч Натан Р.
  • Брандуайн Эрик Джейсон
  • О'Нейлл Кевин Росс
RU2582540C2
ФОРМИРОВАНИЕ КЛЮЧА В ЗАВИСИМОСТИ ОТ ПАРАМЕТРА 2017
  • Рот Грегори Б.
  • Бехм Брэдли Джеффри
  • Крахен Эрик Д.
  • Илак Кристиан М.
  • Фитч Натан Р.
  • Брандуайн Эрик Джейсон
  • О'Нейлл Кевин Росс
RU2670778C9
ПРЕДОСТАВЛЕНИЕ УСТРОЙСТВ В КАЧЕСТВЕ СЕРВИСА 2014
  • Фитцжеральд, Роберт Эрик
  • Доуэн, Эндрю Дж.
  • Скуф, Александер Эдвард
  • Хельма, Кристофер Стивен
  • Мин, Руи
  • Эстес, Мэттью А.
  • Мишра, Ананд
RU2763314C2
ПРЕДОСТАВЛЕНИЕ УСТРОЙСТВ В КАЧЕСТВЕ СЕРВИСА 2014
  • Фитцжеральд Роберт Эрик
  • Доуэн Эндрю Дж.
  • Скуф Александер Эдвард
  • Хельма Кристофер Стивен
  • Мин Руи
  • Эстес Мэттью А.
  • Мишра Ананд
RU2648956C2
БЕЗОПАСНЫЙ ТРАНСПОРТ ЗАШИФРОВАННЫХ ВИРТУАЛЬНЫХ МАШИН С НЕПРЕРЫВНЫМ ДОСТУПОМ ВЛАДЕЛЬЦА 2015
  • Новак Марк Фишел
  • Бен-Зви Нир
  • Фергюсон Нильс Т.
RU2693313C2
ЗАЩИЩЕННОЕ И КОНФИДЕНЦИАЛЬНОЕ ХРАНЕНИЕ И ОБРАБОТКА РЕЗЕРВНЫХ КОПИЙ ДЛЯ ДОВЕРЕННЫХ СЕРВИСОВ ВЫЧИСЛЕНИЯ И ДАННЫХ 2010
  • Аурадкар Рахул В.
  • Д`Суза Рой Питер
RU2531569C2
СИСТЕМА УПРАВЛЕНИЯ И ДИСПЕТЧЕРИЗАЦИИ КОНТЕЙНЕРОВ 2019
  • Синх, Дипак
  • Суарес, Энтони Джозеф
  • Серстон, Уильям Эндрю
  • Айтал, Анирудх Балачандра
  • Гердесмайер, Дэниэл Роберт
  • Кемп, Эуан Скайлер
  • Медури, Киран Кумар
  • Азад, Мухаммад Умер
RU2751576C2

Иллюстрации к изобретению RU 2 679 188 C2

Реферат патента 2019 года МНОГОФУНКЦИОНАЛЬНАЯ ИДЕНТИФИКАЦИЯ ВИРТУАЛЬНОГО ВЫЧИСЛИТЕЛЬНОГО УЗЛА

Изобретение относится к удостоверениям, проверяемым криптографическим методом, выбранным в соответствующем пространстве имен, для виртуального вычислительного узла в сетях провайдера. Технический результат – обеспечение поддержки безопасных механизмов, применяемых для проверки удостоверения, выданного ресурсу. Система назначения, управления и использования удостоверений, проверяемых криптографическим методом, содержит множество виртуальных хостов виртуальных вычислительных сервисов сети провайдера, которые содержат первый виртуальный хост, содержащий один или более виртуальных вычислительных узлов, при этом виртуальный вычислительный узел предоставляет информацию о первом удостоверении, проверяемом криптографическим методом (CVI), назначенном определенному виртуальному вычислительному узлу внутри первого пространства имен удостоверения виртуального узла (IIN), в ответ на первый запрос удостоверения от первого аутентификатора, связанного с первым приложением, выполняет одну или более операций первого приложения в ответ на определение того, что первый CVI был принят первым аутентификатором, предоставляет информацию о различных CVI, назначенных первому виртуальному вычислительному узлу внутри различных IIN, в ответ на второй запрос удостоверения от второго аутентификатора, связанного со вторым приложением, и выполняет одну или более операций второго приложения в ответ на определение того, что второй CVI был принят вторым аутентификатором. 2 н. и 13 з.п. ф-лы, 9 ил.

Формула изобретения RU 2 679 188 C2

1. Система назначения, управления и использования удостоверений, проверяемых криптографическим методом (CVI), содержащая:

множество виртуальных хостов виртуальных вычислительных сервисов сети провайдера, содержащих по меньшей мере первый виртуальный хост, содержащий один или более виртуальных вычислительных узлов;

при этом определенный виртуальный вычислительный узел из одного или более виртуальных вычислительных узлов выполнен с возможностью:

предоставлять информацию о первом удостоверении, проверяемом криптографическим методом (CVI), назначенном определенному виртуальному вычислительному узлу внутри первого пространства имен удостоверения виртуального узла (IIN), в ответ на первый запрос удостоверения от первого аутентификатора, связанного с первым приложением, при этом первый CVI связан с парой согласованных криптографических ключей, назначенных первому виртуальному вычислительному узлу, причем секретный ключ из пары согласованных криптографических ключей управляется хранилищем безопасного ключа, выполненным с возможностью защиты от копирования секретного ключа во внешнюю, по отношению к хранилищу секретного ключа, область, и при этом виртуальный вычислительный сервис позволяет определенному виртуальному вычислительному узлу использовать секретный ключ предоставления информации о первом CVI;

выполнять одну или более операций первого приложения в ответ на определение того, что первый CVI был принят первым аутентификатором;

предоставлять информацию о различных CVI, назначенных первому виртуальному вычислительному узлу внутри различных IIN, в ответ на второй запрос удостоверения от второго аутентификатора, связанного со вторым приложением; и

выполнять одну или более операций второго приложения в ответ на определение того, что второй CVI был принят вторым аутентификатором.

2. Система по п. 1, в которой определенный виртуальный вычислительный узел дополнительно выполнен с возможностью

вызывать программный интерфейс, реализованный компонентом управления виртуализацией первого виртуального хоста, для получения по меньшей мере одного объекта, содержащегося в информации о первом CVI.

3. Система по п. 1, отличающаяся тем, что хранилище безопасного ключа содержит один из следующих элементов: (а) модуль аппаратной защиты службы безопасности сети провайдера, или (b) периферийное устройство, присоединенное к коммуникационной шине первого виртуального хоста.

4. Система по п. 1, отличающаяся тем, что первый CVI содержит один или более следующих элементов: (a) DNS (система доменных имен) имя определенного виртуального вычислительного узла на основе, по меньшей мере, частично, виртуального IP-адреса (протокол сети Интернет), назначенного определенному виртуальному вычислительному узлу, (b) внешний IP-адрес, назначенный определенному виртуальному вычислительному узлу, (с) внутренний IP-адрес, назначенный определенному виртуальному вычислительному узлу, (d) уникальное имя, назначенное определенному виртуальному вычислительному узлу посредством виртуального вычислительного сервиса (VCS) сети провайдера от пространства имен, задаваемого VCS, (е) уникальное имя, выбранное пользователем сети провайдера из пространства имен, задаваемого пользователем, (f) имя, выбираемое пользователем сети провайдера из пространства имен, задаваемого VCS, (g) DNS-имя, выбираемое пользователем сети провайдера, или (h) имя, назначенное определенному виртуальному вычислительному узлу внутри пространства имен, задаваемого сторонней организацией.

5. Способ назначения, управления и использования удостоверений, проверяемых криптографическим методом (CVI), включающий:

запуск одного или более виртуальных вычислительных узлов на виртуальном хосте виртуального вычислительного сервиса в сети провайдера;

получение первого запроса удостоверения на первом виртуальном вычислительном узле из одного или более виртуальных вычислительных узлов;

предоставление информации от первого виртуального вычислительного узла о первом удостоверении, проверяемом криптографическим методом (CVI), назначенном первому виртуальному вычислительному узлу внутри первого пространства имен удостоверения виртуального узла (IIN), в ответ на первый запрос удостоверения, при этом CVI связан с парой согласованных криптографических ключей, и секретный ключ пары согласованных криптографических ключей управляется хранилищем безопасного ключа, выполненным с возможностью защиты от копирования секретного ключа, причем виртуальный вычислительный сервис позволяет первому виртуальному вычислительному узлу использовать секретный ключ предоставления информации о первом CVI;

получение второго запроса удостоверения на первом виртуальном вычислительном узле; и

предоставление информации от первого виртуального вычислительного узла о различных CVI, назначенных первому виртуальному вычислительному узлу внутри различных IIN, в ответ на второй запрос удостоверения.

6. Способ по п. 5, отличающийся тем, что информация о первом CVI содержит первый сертификат, отформатированный в соответствии со стандартом инфраструктуры открытого ключа (PKI).

7. Способ по п. 5, дополнительно включающий

вызов первым виртуальным вычислительным узлом программного интерфейса, реализованного компонентом управления виртуализацией виртуального хоста, для получения, по меньшей мере, части объекта, содержащегося в информации о первом CVI.

8. Способ по п. 5, отличающийся тем, что второй CVI связан с разными парами согласованных криптографических ключей.

9. Способ по п. 5, отличающийся тем, что хранилище безопасного ключа содержит один из следующих элементов: (а) модуль аппаратной защиты службы безопасности сети провайдера, или (b) периферийное устройство, подключенное к коммуникационной шине виртуального хоста.

10. Способ по п. 5, отличающийся тем, что первый CVI содержит один или более следующих элементов: (a) DNS (система доменных имен) имя первого виртуального вычислительного узла на основе, по меньшей мере, частично, виртуального IP-адреса (протокол сети Интернет), назначенного первому виртуальному вычислительному узлу, (b) внешний IP-адрес, назначенный первому виртуальному вычислительному узлу, (с) внутренний IP-адрес, назначенный первому виртуальному вычислительному узлу, (d) уникальное имя, назначенное первому виртуальному вычислительному узлу посредством виртуального вычислительного сервиса (VCS) сети провайдера от пространства имен, задаваемого VCS, (е) уникальное имя, выбранное пользователем сети провайдера из пространства имен, задаваемого пользователем, (f) имя, выбираемое пользователем сети провайдера из пространства имен, задаваемого VCS, (g) DNS-имя, выбираемое пользователем сети провайдера, или (h) имя, назначенное определенному виртуальному вычислительному узлу в пространстве имен, задаваемом сторонней организацией.

11. Способ по п. 5, отличающийся тем, что информация о первом CVI содержит систему проверки достоверности удостоверения, содержащую один или более следующих элементов: (а) открытый центр сертификации (СА), (b) центр проверки достоверности, реализованный внутри сети провайдера, (с) центр проверки достоверности, реализованный внутри сети пользователя, которым владеет пользователь сети провайдера и которому назначен первый виртуальный вычислительный узел, или (d) сторонний центр проверки достоверности.

12. Способ по п. 5, дополнительно включающий:

предоставление информации о первом периоде проверки достоверности первого CVI от первого виртуального вычислительного узла в ответ на первый запрос удостоверения; и

предоставление информации о втором периоде проверки достоверности второго CVI от первого виртуального вычислительного узла в ответ на второй запрос идентификации, при этом второй период проверки достоверности отличается от первого периода проверки достоверности.

13. Способ по п. 5, дополнительно включающий:

получение компонентом уровня управления сети провайдера запроса конфигурации виртуального вычислительного узла, указывающего, что первому виртуальному вычислительному узлу назначено удостоверение внутри первого IIN; и

инициализацию компонентом уровня управления назначения удостоверения первому виртуальному вычислительному узлу внутри первого IIN в ответ на запрос конфигурации виртуального вычислительного узла.

14. Способ по п. 5, отличающийся тем, что первый запрос удостоверения получен на первом виртуальном вычислительном узле от менеджера лицензий, связанного с первым приложением, и при этом первый CVI используется менеджером лицензий для проверки того, что первый виртуальный вычислительный узел имеет лицензию на использование первого приложения.

15. Способ по п. 5, дополнительно включающий:

создание группы устранения отказов виртуального узла менеджером определенного сервиса, реализованного в сети провайдера, содержащей второй виртуальный вычислительный узел и третий виртуальный вычислительный узел, при этом, в случае отказа на втором виртуальном вычислительном узле, приложение, выполняемое на втором виртуальном вычислительном узле, переключается на выполнение на третьем виртуальном вычислительном узле; и

инициализацию менеджером сервиса (а) назначения общедоступного CVI второму виртуальному вычислительному узлу и (b) назначение общедоступного CVI третьему виртуальному вычислительному узлу, при этом общедоступный CVI используется для проверки того, что приложение может выполняться на втором виртуальном вычислительном узле и третьем виртуальном вычислительном узле.

Документы, цитированные в отчете о поиске Патент 2019 года RU2679188C2

Изложница с суживающимся книзу сечением и с вертикально перемещающимся днищем 1924
  • Волынский С.В.
SU2012A1
Способ защиты переносных электрических установок от опасностей, связанных с заземлением одной из фаз 1924
  • Подольский Л.П.
SU2014A1
Многоступенчатая активно-реактивная турбина 1924
  • Ф. Лезель
SU2013A1
БЕСПРОВОДНОЕ УСТРОЙСТВО, СПОСОБ ЗАПРОСА ПОЛЬЗОВАТЕЛЬСКОГО КЛИЕНТА УПРАВЛЕНИЯ ДОСТУПОМ И СПОСОБ ВЫПОЛНЕНИЯ КЛИЕНТА УПРАВЛЕНИЯ ДОСТУПОМ 2011
  • Шелл Стефан В.
  • Фон Хаук Джеррольд
RU2518924C2

RU 2 679 188 C2

Авторы

Сигнетти, Тодд Лоуренс

Боуэн, Питер Закари

Доан, Эндрю Джеффри

Шуф, Александер Эдвард

Даты

2019-02-06Публикация

2015-12-18Подача