Формирование ключа в зависимости от параметра

Иллюстрации

Показать все

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

Реферат

ПЕРЕКРЕСТНЫЕ ССЫЛКИ НА РОДСТВЕННЫЕ ЗАЯВКИ

[0001] Данная заявка заявляет приоритет на основании заявок на патент США: № 13/248962, поданной 29 сентября 2011, озаглавленной “ФОРМИРОВАНИЕ КЛЮЧА НА ОСНОВАНИИ ПАРАМЕТРА ОБЪЕКТА” (Attorney Docket № 90204-813889 (029400PC)); № 13/248953, поданной 29 сентября 2011, озаглавленной “АЛГОРИТМЫ ДЛЯ СЕАНСОВ, СОЗДАННЫХ КЛИЕНТОМ” (Attorney Docket №. 90204-818478 (032300US)); и № 13/248973, поданной 29 сентября 2011, озаглавленной “АЛГОРИТМЫ ФОРМИРОВАНИЯ КЛЮЧА” (Attorney Docket № 90204-813890 (029500US)), полное раскрытие которых включается в данную заявку посредством ссылки.

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

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

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

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

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

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

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

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

[0008] Фиг. 5 иллюстрирует схему, поясняющую типичный способ, в котором различные элементы, задействованные в вычислительной среде, могут быть наделены разным объемом полномочий, по меньшей мере, в соответствии с одним вариантом реализации изобретения;

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

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

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

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

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

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

[0015] Фиг. 12 иллюстрирует схему формирования множественно-ограниченного ключа, по меньшей мере, в соответствии с одним вариантом реализации изобретения;

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

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

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

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

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

[0021] Фиг. 18 иллюстрирует структурную схему, поясняющую процесс инициализации сеанса, по меньшей мере, в соответствии с одним вариантом реализации изобретения;

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

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

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

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

[0026] Фиг. 23 иллюстрирует схему, поясняющую процесс множественного делегирования полномочий, по меньшей мере, в соответствии с одним вариантом реализации изобретения; и

[0027] Фиг. 24 иллюстрирует схему, поясняющую способ, посредством которого могут быть получены ключи при помощи ключей с множественными полномочиями.

ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ

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

[0029] Алгоритмы, описанные и предложенные в данной заявке, включают системы и способы для генерации ключа, соответственно различным реализациям изобретения. Ключи могут быть использованы для различных целей, таких как аутентификация и участие в схемах подписывания сообщений. В реализации изобретения вычислительные ресурсы провайдера предоставляют пользователям вычислительные сервисы, основанные, по меньшей мере, частично на электронных запросах, принятых от пользовательских устройств, использующих сервисы. Сервисом может быть любая подходящая служба, включая, но не ограничиваясь, доступ к данным, доступ к выполняющим операции вычислительным ресурсам, доступ к сервисам хранения данных и тому подобное.

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

[0031] Согласно реализации изобретения оба стороны процесса аутентификации (например, пользователи служб или сторона, действующая в интересах пользователя) и аутентификатор (например, провайдер услуг или сторона, действующая в интересах провайдера) совместно используют секретный сертификат, который может именоваться как ключ. Аутентификатор может хранить совместно используемые секретные сертификаты для множества пользователей. Как часть транзакции, проводящая аутентификацию сторона может подписывать запросы, используя совместно используемый секретный сертификат, тем самым создавая подпись. Подпись аутентификатору может быть предоставлена с запросами. Аутентификатор может использовать собственную копию совместно используемого секретного сертификата, чтобы генерировать подпись для принятых запросов и принимать решение, были ли запросы подписаны при помощи совместно используемого секретного сертификата, сравнивая, соответствует ли генерируемая подпись принятой (например, будут ли подписи идентичны). Если принято решение, что запросы подписаны при помощи совместно используемого секретного сертификата, запросы могут считаться подлинными и, следовательно, принимается решение, что запросы должны быть удовлетворены.

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

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

[0034] Например, в реализации изобретения стороны процесса аутентификации могут ставить подпись, согласно:

HMAC(M, HMAC(X, сертификат)),

где M - это сообщение, а HMAC(X, сертификат) - это артефакт, полученный из общедоступного секретного сертификата. Величина X может иметь некоторое значение, известное двум сторонам процесса аутентификации и аутентификатору, и может быть совместно используемой. Например, X может быть текущей датой, кодированной заранее определенным образом, чтобы убедиться, что HMAC(X, сертификат) вычисляется соответственно стороной процесса аутентификации и аутентификатором. В качестве другого примера, X может быть идентификатором службы, с которой может использоваться артефакт. В качестве еще одного примера, X может кодироваться множеством семантических значений и представляться таким образом, что обе стороны процесса аутентификации и аутентификатор соответственно вычисляют артефакт. Семантическое значение может быть ограничением на использование ключа, включая значение, показывающее, что не нужно использовать полученную форму представления ключа. В случае комбинации предыдущих примеров настоящего абзаца X может кодироваться как «20110825/DDS», где последовательность слева от косой черты представляет дату, а последовательность справа от косой черты представляет название службы, с которой используется артефакт, вычисленный с Х. В большинстве случаев X может быть любой величиной или набором величин, кодированных соответственно для двух сторон процесса аутентификации и аутентификатора. Следует заметить, что могут быть также использованы другие подходящие функции, отличные от функций HMAC, как описано ниже.

[0035] Вернемся к примеру использования функции HMAC в реализации изобретения, величины для Х выбираются так, чтобы обеспечить дополнительные преимущества. Как отмечалось, X может (но не обязательно) соответствовать одному или более семантическим значениям. В реализации изобретения используются семантические значения, такие как временные метки, названия служб, идентификаторы округов, и тому подобное, чтобы предоставить систему, в которой получены артефакты, в соответствии с алгоритмами настоящей реализации изобретения, соответствующими ограничениям на использование полученных из Х ключей. Таким образом, даже несмотря на взлом генерированных ключей, который может сделать доступной аутентификацию для нежелательных сторон, ограничение с использованием кодированных ключей создает возможность минимизации отрицательных последствий, в случае когда ключи взломаны. Например, временные ограничения используются для получения ключей, чтобы обеспечить системе возможность эффективной проверки, была ли предложенная подпись сделана с ключом, который был действительным во время добавления подписи. В качестве конкретного примера, если для получения ключа используется текущая дата, и система аутентификации принимает только подписи, представленные текущей датой, система аутентификации примет решение, что подписи, генерированные при помощи ключей, полученных из дат, отличающихся от текущей, являются недействительными. Подобным образом ключ, полученный из идентификатора некоторой службы, может быть недействительным для использования с другой службой. Ниже приводятся другие примеры.

[0036] Как было отмечено, различные алгоритмы настоящего раскрытия сущности изобретения для получения ключей позволяют использовать набор параметров. В реализации изобретения ключи получаются из набора параметров посредством многократного использования функции HMAC. Например, ключ может быть вычислен следующим образом:

KS=НМАС(...HMAC(HMAC(HMAC(K, P1), P2), P3)..., PN),

где K является совместно используемым секретным сертификатом, а Pi являются параметрами. Ключ, KS, может быть использован для генерации подписи, например:

S=HMAC(KS,M),

где M - это сообщение, которое может быть канонизированным. Таким образом, принимая во внимание частные производные ключа для доступа к различным компонентам распределенной вычислительной системы, ключ получается многоуровневым. Например, KP1=HMAC(K, P1) может быть вычислен и получен доступ к одному или более компонентам распределенной вычислительной системы. Компоненты, принимающие KP1, могут вычислить KP2=HMAC(KP1, P2), где P2 может быть одинаковым для каждого компонента или различным для некоторых или для всех компонентов. Величины KP2, вычисленные различными компонентами, могут передавать вычисления другим компонентам распределенной вычислительной системы, которые могут вычислить KP3=HMAC(KP2, P3). Каждый компонент может помещать в кэш-память результаты вычислений, а также возможные результаты, вычисленные другими компонентами. Таким образом, может быть обеспечена более высокая степень защиты на протяжении всего процесса хранения данных, хранящего совместно используемые секретные ключи, поскольку вычисление производных ключей может быть выполнено другими компонентами распределенной вычислительной системы.

[0037] Алгоритмы настоящего раскрытия сущности изобретения также предусматривают инициацию сеансов. Например, как уже было сказано, для получения ключа могут быть использованы совместно используемый секретный сертификат и один или более параметров. Соответственно, параметры для сеанса могут использоваться для генерации сертификата, который может использоваться во время этого сеанса. Сертификат может использоваться пользователем, запрашивающим сертификат, или, в некоторых реализациях изобретения, пользователем, которому был передан сертификат и право доступа к одному или более вычислительным ресурсам. В таких случаях, из-за того что объект делегирования такого доступа использует ключ, полученный из совместно используемого секретного сертификата, но не сам совместно используемый секретный сертификат, поддерживается высокая степень защиты и нет необходимости менять совместно используемый секретный сертификат для предотвращения будущего его использования объектом делегирования. Как более детально описано ниже, объекты делегирования могут также становиться делегаторами, используя алгоритмы настоящего раскрытия изобретения, многие из которых более детально описаны ниже.

[0038] Фиг. 1 иллюстрирует аспекты типовой вычислительной среды 100 для реализации аспектов настоящего раскрытия сущности изобретения согласно различным вариантам реализации. Следует иметь в виду, что, хотя в целях пояснения используется вычислительная среда на основе веб-технологии, для различных вариантов реализации изобретения соответствующим образом могут использоваться другие вычислительные среды. Вычислительная среда включает электронное клиентское устройство 102, содержащее любое подходящее устройство, пригодное для отправки и получения запросов, сообщений или информации, посредством подходящей сети 104 и для отправки информации пользователю устройства. Примерами таких клиентских устройств могут быть персональные компьютеры, мобильные телефоны, портативные устройства для обмена сообщениями, переносные компьютеры, декодеры каналов кабельного телевидения, КПК, электронные книги и тому подобное. Сетью может быть любая подходящая сеть, включая интранет, интернет, сеть сотовой связи, локальная вычислительная сеть, или любая другая подобная сеть или их комбинации. Выбор используемых компонентов для таких систем может зависеть, по меньшей мере, в некоторой степени от типа сети и/или выбранной вычислительной среды. Протоколы и компоненты для передачи данных посредством такой сети являются общеизвестными и в этой заявке подробно рассматриваться не будут. Передача данных по сети может осуществляться при помощи проводных или беспроводных подключений или их комбинации. В данном примере в качестве сети используется интернет, веб-сервер 106 используется в качестве вычислительной среды для получения запросов и обслуживания ответной информации, хотя очевидно, что альтернативное устройство, служащее аналогичной цели для других сетей, может использоваться обычным для специалиста в данной области образом.

[0039] Типичная вычислительная среда содержит, по меньшей мере, один сервер приложений 108 и хранилище данных 110. Следует понимать, что может быть несколько серверов приложений, уровней или других элементов, процессов или компонентов, которые могут быть включены последовательно или скомпонованы иным образом и могут взаимодействовать друг с другом для выполнения задач, таких как получение данных из соответствующего хранилища данных. Используемый в данной заявке термин "хранилище данных" относится к любому устройству или комбинации устройств, способных хранить, организовывать доступ и извлекать данные, которые могут содержать любую комбинацию и количество серверов данных, баз данных, устройств хранения данных и носителей информации в любой стандартной, распределенной или кластерной вычислительной среде. Сервер приложений может содержать любое соответствующее аппаратное и программное обеспечение для интеграции с хранилищем данных, насколько это необходимо для выполнения аспектов одного или более приложений клиентского устройства, обработки множества доступов к данным и бизнес-логики приложений. Сервер приложений обеспечивает доступ управляющих служб при взаимодействии с хранилищем данных и может генерировать информацию, такую как текст, графика, звук и/или видео, передаваемую пользователю при помощи веб-сервера в виде HTML, XML или другого языка, имеющего структуру, подходящую для данного примера. Обработка всех запросов и ответов, а также доставка информации между клиентским устройством 102 и сервером приложений 108, может обрабатываться веб-сервером. Следует понимать, использование веб-серверов и серверов приложений не обязательно, и они являются только типовыми компонентами, поскольку описанный в настоящей заявке структурированный код может выполняться на любом подходящем устройстве или хост-машине, как описано в данной заявке.

[0040] Хранилище данных 110 может содержать несколько отдельных таблиц данных, базы данных или другие механизмы хранения данных, также носитель информации для хранения данных, применительно к тем или иным аспектам изобретения. Например, описанное хранилище данных содержит механизмы для хранения производственных данных 112 и пользовательской информации 116, которая может использоваться для обработки информации о производственной деятельности. Также показано, что хранилище данных содержит механизм для хранения данных журнала событий 114, который может использоваться для отчета, анализа или для других подобных целей. Нужно понимать, что могут иметь место многие другие аспекты, которые, возможно, понадобится хранить в хранилище данных, например, страницу графической информации, и предоставлять информацию о правах доступа, которая может храниться при необходимости в любом из описанных выше механизмов или в дополнительных механизмах в хранилище данных 110. Хранилище данных 110 может использоваться при помощи логической связи с ним для получения команд из сервера приложений 108, а также получения, обновления или обработки других данных в ответ на его запрос. В одном примере пользователь может принять поисковый запрос для элемента определенного вида. В этом случае хранилище данных может предоставлять доступ к пользовательской информации, проверяя подлинность пользователя, и может предоставить доступ к каталогу детальной информации для получения информации об элементах данного типа. Затем информация может быть возвращена пользователю, например, результаты листинга на веб-странице, которые пользователь может просматривать при помощи браузера на пользовательском устройстве 102. Интересующая пользователя информация может быть просмотрена на отдельной странице или в окне браузера.

[0041] Обычно каждый сервер содержит операционную систему, обеспечивающую выполнение программных команд для общего администрирования и работы такого сервера, и, как правило, содержит машиночитаемый носитель информации (например, накопитель на жестком диске, оперативное запоминающее устройство, постоянное запоминающее устройство и т.д.), в котором хранятся команды, которые при выполнении процессором сервера позволяют серверу выполнять его функции. Соответствующие реализации операционной системы и общей функциональности серверов известны или доступны для приобретения и быстро реализуются специалистами в данной области, особенно в свете раскрытия настоящей заявки.

[0042] Вычислительная среда в одном из вариантов реализации изобретения является распределенной вычислительной средой, использующей несколько компьютерных систем и компонентов, которые взаимосвязаны через линии связи, используя одну или более компьютерную сеть или прямые подключения. Однако специалистам в данной области ясно, что такая система могла бы работать с тем же успехом в системе, имеющей меньшее или большее количество компонентов, изображенных на Фиг. 1. Следовательно, изображение системы 100 на Фиг. 1 следует принимать, как являющееся по своему характеру иллюстративным и не ограничивающимся рамками раскрытия сущности изобретения.

[0043] Фиг. 2 иллюстрирует наглядный пример вычислительной среды 200, включающей вычислительный ресурс провайдера 202, который управляет множеством зон отказа 204, в соответствии, по меньшей мере, с одним вариантом реализации изобретения. В реализации изобретения вычислительный ресурс провайдера является организацией, которая управляет компьютерными аппаратными средствами в интересах одного или более пользователей 206. Вычислительный ресурс провайдера может предоставлять вычислительные ресурсы различным образом. Например, в реализации изобретения вычислительный ресурс провайдера 202 управляет аппаратным средством, которое конфигурировано для использования пользователями 206. Вычислительный ресурс провайдера 202 предоставляет интерфейс, позволяющий пользователям 206 программным путем конфигурировать вычислительные ресурсы используемых аппаратных средств. Например, вычислительный ресурс провайдера может администрировать аппаратные средства серверов, которые управляют виртуальными компьютерными системами, программно управляемыми пользователем. В другом примере вычислительный ресурс провайдера 202 может управлять различными хранилищами данных, чтобы обеспечить удаленные решения для хранения данных, такие как высоконадежное хранилище данных и хранилище данных на уровне блоков.

[0044] В варианте реализации изобретения зона отказа - это совокупность вычислительных ресурсов, которые отделены одной или более границами отказа, так что каждая зона отказа является устойчивой к отказу другой зоны отказа. Как пример, каждая зона отказа 204 может быть отдельным дата-центром. Следовательно, если один дата-центр перестает работать, предположительно из-за отключения электропитания или другого деструктивного явления, то другой дата-центр может продолжать работу. Зоны отказа могут быть расположены в различных географических местоположениях, и некоторые или все из зон отказа могут быть отделены государственными границами. Например, две или более зон отказа могут располагаться в разных странах. Следует отметить, что в целях пояснения настоящее раскрытие изобретения снабжено многочисленными примерами, где зоны отказа являются дата-центрами. Однако зоны отказа могут быть определены множеством других способов. Например, отдельные комнаты в одном и том же дата-центре могут рассматриваться как отдельные зоны отказа, в согласии с различными вариантами реализации изобретения. В качестве другого примера, вычислительные ресурсы находятся в одном и том же месте, но получают электропитание от разных генераторов резервного электропитания и/или поддерживаются разными сетевыми ресурсами, таким образом они могут рассматриваться как разные зоны отказа. В качестве еще одного примера, дата-центры могут быть кластерными, так что каждый кластер дата-центра может рассматриваться как зона отказа. К тому же может быть много причин, по которым зона отказа может выйти из строя, включая причины, связанные с работой электросети, работой сети общего пользования, политическими событиями и другими причинами.

[0045] В данном варианте реализации изобретения пользователи 206 связываются с вычислительными ресурсами провайдера 202 посредством сети 208, такой как интернет. Пользователи 206 могут иметь ресурсы, скомпонованные в одной или более зонах отказа 204, и могут связываться с ресурсами путем отправки электронных сообщений, таких как сообщения активации веб-сервиса интерфейса программирования приложений (API) вычислительного ресурса провайдера для того, чтобы конфигурировать ресурсы и управлять ими. Пользователи могут использовать ресурсы во многих зонах отказа для того, чтобы уменьшить влияние потенциальных неполадок, которые оказывают влияние на ресурсы пользователя. Пользователь, который использует вычислительные ресурсы провайдера 202 для работы с веб-сайтом с открытым доступом, например, может администрировать веб-сервер и другие серверы в отдельных зонах отказа, в таком случае если серверы в одной зоне отказа выходят из строя, пользователи будут получать доступ к веб-сайту благодаря доступу к серверам в другой зоне отказа.

[0046] Фиг. 3 иллюстрирует в качестве наглядного примера среду 300 внутри зоны отказа 302, которая может быть зоной отказа вычислительного ресурса провайдера, как показано на Фиг. 2. В данном варианте реализации изобретения зона отказа 302 содержит вычислительные ресурсы, используемые для предоставления различных сервисов в интересах пользователей. Например, как показано на Фиг. 3, зона отказа 302 содержит вычислительные ресурсы, используемые для предоставления службе долговременного хранения данных, которая может хранить довольно большие массивы данных с низкими эксплуатационными расходами и возможностью резервирования. Такой сервис может находить применение, когда необходимо хранение больших массивов данных и/или высокая безопасность хранения данных. Зона отказа 306 может также содержать службу хранения данных на уровне блоков 306, предоставляющую пользователям возможность пользоваться устройствами хранения данных на уровне блоков, физических устройств и/или виртуальных устройств. Например, пользователи могут подключать устройства хранения данных на уровне блоков к используемым ими компьютерным системам. Также показана служба виртуальной компьютерной системы 308, которая может предоставлять пользователям вычислительные сервисы. В данном варианте реализации изобретения служба виртуальной компьютерной системы 308 предоставляет пользователям сервисы путем реализации виртуальных компьютерных систем на физических серверах, администрируемых вычислительными ресурсами провайдера, хотя и возможны варианты, такие как местоположение физической компьютерной системы, выделенной для использования пользователям. В варианте реализации изобретения связанном с виртуальными компьютерными системами, пользователи, в зависимости от их потребностей, могут программно управлять виртуальными компьютерными системами. Например, как показано на Фиг. 3, пользователи могут конфигурировать виртуальные компьютерные системы службы виртуальной компьютерной системы 308 для обслуживания пользователей службы виртуальных вычислений провайдера. Виртуальные компьютерные системы, к примеру, могут быть сконфигурированы для работы с общедоступным веб-сайтом. Как пользователи виртуального вычислительного ресурса провайдера, так и пользователи этих пользователей в различных вариантах реализации изобретения могут иметь доступ к различным службам, выполняемым в зоне отказа 302 путем установления связи со службами, посредством сети 310, в качестве которой может быть сеть 208, описанная выше в связи с Фиг. 2.

[0047] Следует отметить, что различные варианты реализации изобретения, иллюстрированные на Фиг. 3, как и в случае всех вариантов, изображенных на фигурах и описанных в настоящей заявке, по своему характеру являются схематическими и рассматриваются в рамках данного раскрытия сущности изобретения. Например, другие службы, отличные от показанных, могут быть представлены в зоне отказа 302 как дополнение или вместо показанных служб. Например, как показано многоточием на Фиг. 3, в зоне отказа 302 могут выполняться дополнительные службы. К тому же, некоторые службы могут использовать также и другие службы. Например, многие службы (такие как служба хранения данных на уровне блоков 306 и служба виртуальной компьютерной системы 308) могут использоваться совместно для обеспечения работы других служб, таких как служба реляционной базы данных, служба электронной почты и, как правило, вычислительной службы любого типа, которая обеспечивается за счет средств вычислительного ресурса провайдера.

[0048] Как показано на Фиг. 3, вычислительный ресурс провайдера может содержать отдельный верификатор 312 для каждой из служб. Верификатором может быть вычислительное устройство, совокупность вычислительных устройств, модуль приложения или другой ресурс, который проверяет различные удостоверения, сделанные пользователями и, возможно, другими компьютерными системами. В варианте реализации изобретения каждый верификатор 312 проверяет подписи сообщений, которые создаются согласно различным вариантам реализации настоящей заявки и затем предоставляются пользователями вместе с запросами на доступ к вычислительным ресурсам, как более подробно описано ниже. Ключи и другая важная информация может поступать к верификаторам из главного источника ключей, что позволяет верификаторам проверять информацию. Следует отметить, что каждая служба, имеющая верификатор, является наглядным примером конкретной реализации изобретения, так что другие конфигурации находятся в рамках настоящего раскрытия изобретения. Например, один верификатор может поддерживать множество служб или все службы и даже множество зон отказа.

[0049] Фиг. 4 иллюстрирует наглядный пример конфигурации вычислительного ресурса, которая может использоваться для обеспечения вычислительной среды, такой как вычислительная среда, показанная на Фиг. 3, по меньшей мере, в соответствии с одним вариантом реализации изобретения. Фиг. 4 иллюстрирует конкретный пример, в котором зоной отказа на Фиг. 3 является дата-центр. Таким образом, возвращаясь к Фиг. 4, дата-центр 402 может содержать множество серверных стоек 404-406. Дата-центр 402 является примером одного или более дата-центров, которые могут использоваться в различных реализациях настоящего раскрытия изобретения, как например, дата-центры, показанные на Фиг. 4. Многоточие между серверными стойками 404 и 406 показывает, что дата-центр 402 может включать любое необходимое количество серверных стоек, несмотря на то что для наглядности на Фиг. 4 показано только две. Каждая серверная стойка 404-406 может принимать участие в администрировании служб, таких как служба электропитания и служба передачи данных, для множества серверных компьютеров 408-414 и 416-422. Кроме того, многоточие показывает, что серверные стойки 404-406 могут содержать любое необходимое количество серверных компьютеров. Например, серверные компьютеры 408-422 могут включать один или более серверов виртуальных компьютерных систем (VCS) и/или один или более серверов хранения данных. Каждый из серверов 408-422 может соответствовать блоку выделенных ресурсов.

[0050] На Фиг. 4, каждая серверная стойка 404-406 изображена содержащей полку коммутаторов 424-426. Полка коммутаторов 424 и 426 может отвечать за коммутацию пакетов цифровых данных, поступающих и передаваемых в соответствующие комплексы серверных компьютеров 408-414 и 416-422. Полка коммутаторов 424-426 может быть подключена к коммутационной матрице дата-центра 428 и затем к выбранным граничным маршрутизаторам 430, которые соединяют дата-центр 402 с одной или более компьютерными сетями, включая интернет. Коммутационная матрица может содержать любой необходимый комплект сетевых компонентов, включая взаимосвязанные коммутаторы 432-438 (для наглядности на Фиг. 4 показано только четыре) одного или более типов коммутации, упорядоченных в один или более уровней коммутации, наряду с маршрутизаторами, шлюзами, мостами, концентр