Основные понятия

Ниже перечислены некоторые основные понятия, связанные с Аттестацией Microsoft Azure.

JSON Web Token (JWT)

JSON Web Token (JWT) — это открытый метод, соответствующий стандарту RFC7519, для безопасной передачи информации между сторонами в формате JSON (нотация объектов JavaScript). Эти сведения можно проверить и считать доверенными благодаря наличию цифровой подписи. Токены JWT можно подписывать с помощью секрета или пары открытого и закрытого ключей.

Веб-ключ JSON (JWK)

JSON Web Key (JWK) — это структура данных в формате JSON для представления криптографических ключей. Также эта спецификация определяет структуру данных JSON для представления набора ключей JWK.

Поставщик аттестации

Поставщик аттестации относится к поставщику ресурсов Azure с именем Microsoft.Attestation. Поставщик ресурсов — это конечная точка службы, которая предоставляет контракт Аттестации Azure с поддержкой REST и развертывается с помощью Azure Resource Manager. Каждый поставщик аттестации обеспечивает соблюдение определенной политики с поддержкой обнаружения. Поставщики аттестации с политикой по умолчанию создаются для каждого типа аттестации (обратите внимание, что для анклав VBS не имеет политики по умолчанию). Дополнительные сведения о политике по умолчанию для SGX см. в разделе с примерами политик аттестации.

Запрос на аттестацию

Запрос на аттестацию — это сериализованный объект JSON, который отправляется от клиентского приложения поставщику аттестации. Объект запроса для анклава SGX содержит два свойства:

  • свойство Quote, значение которого — это строковое представление предложения на аттестацию в кодировке Base64URL;
  • свойство EnclaveHeldData, значение которого — это строковое представление Enclave Held Data в кодировке Base64URL.

Аттестация Azure проверяет значение Quote, полученное, а затем проверяет наличие хэш-кода SHA256 для Enclave Held Data в первых 32 байтах поля reportData в предложении на аттестацию.

Политика аттестации

Политика аттестации применяется для обработки свидетельства аттестации и доступна для изменения клиентами. В основе Аттестации Azure лежит обработчик политик, который обрабатывает все утверждения, входящие в свидетельство. Политики определяют, должна ли Аттестация Azure выдать токен аттестации на основе свидетельства, подтверждая доверие к аттестуемому. Соответственно, если не все политики соблюдаются, токен JWT не выдается.

Если политика по умолчанию в поставщике аттестации не соответствует требованиям, клиенты смогут создавать пользовательские политики в любом из регионов, поддерживаемых Аттестацией Azure. Управление политиками — это ключевая возможность для клиентов, предоставляемая Аттестацией Azure. Политики зависят от конкретного типа аттестации и могут применяться для идентификации анклавов, добавления утверждений в исходящие токены или изменения уже включенных в них утверждений.

Примеры политики аттестации

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

Политика аттестации в конечном итоге определяет, будет ли выдан токен аттестации Аттестацией Azure. Эта же политика определяет, какие утверждения будут включены в токен аттестации. Таким образом, крайне важно, чтобы политика, оцениваемая службой, фактически являлась политикой, написанной администратором, и не была подделана или изменена внешними сущностями.

Модель доверия определяет модель авторизации поставщика аттестации для определения и обновления политики. Поддерживаются две модели: одна на основе авторизации Microsoft Entra и на основе владения управляемыми клиентом криптографическими ключами (называемой изолированной моделью). Изолированная модель позволяет Аттестации Azure гарантировать оригинальность политики, предоставленной клиентом.

При использовании изолированной модели администратор создает поставщик аттестации путем определения и размещения в файле набора доверенных сертификатов X.509. Затем в созданный поставщик аттестации администратор добавляет подписанную политику. При обработке запроса на аттестацию Аттестация Azure проверяет подпись этой политики, используя открытый ключ, который определен в параметре заголовка jwk или x5c. Также Аттестация Azure проверяет, включен ли этот открытый ключ в список доверенных сертификатов для подписи, связанных с поставщиком аттестации. Этот механизм позволяет Аттестации Azure как проверяющей стороне доверять политике, подписанной с использованием известного ей сертификата X.509.

Примеры использования сертификата для подписи политик см. здесь.

Маркер аттестации

Ответ, создаваемый Аттестацией Azure, — это строка в формате JSON с токеном JWT. Аттестация Azure упаковывает в токен JWT все необходимые утверждения и подписывает его. Операция подписывания выполняется с использованием самозаверяющего сертификата, имя субъекта в котором совпадает с элементом AttestUri поставщика аттестации.

API получения метаданных OpenID возвращает ответ в формате конфигурации OpenID в соответствии с протоколом обнаружения OpenID Connect. Этот API получает метаданные сертификатов для подписи, которые используются Аттестацией Azure.

См . примеры маркера аттестации.

Шифрование неактивных данных

Для защиты данных клиента служба "Аттестация Azure" хранит свои данные в службе хранилища Azure. Служба хранилища Azure обеспечивает шифрование неактивных данных при их записи в центры обработки данных и расшифровывает их, чтобы клиенты могли получить к ним доступ. Это шифрование выполняется с помощью ключа шифрования, которым управляет корпорация Майкрософт.

Кроме защиты данных в службе хранилища Azure, Аттестация Azure также использует Шифрование дисков Azure (ADE) для шифрования виртуальных машин служб. Для службы "Аттестация Azure", выполняемой в анклаве в конфиденциальных вычислительных средах Azure, расширение ADE в настоящее время не поддерживается. В таких случаях, чтобы предотвратить хранение данных в памяти, отключается файл подкачки.

Данные клиента не сохраняются на локальных жестких дисках экземпляра Аттестации Azure.

Следующие шаги