Основные понятия
В этой статье описываются некоторые основные понятия, связанные с Microsoft Аттестация Azure.
Веб-токен JSON (JWTs)
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" — значение свойства "Quote" — это строка, содержащая закодированное в кодировке Base64URL представление кавычки аттестации.
- "EnclaveHeldData" — значение свойства EnclaveHeldData является строкой, содержащей в кодировке Base64URL представление удерживаемых данных анклава.
Аттестация Azure проверяет предоставленный "Кавычка", чтобы убедиться, что хэш SHA256 предоставленного анклава удерживаемых данных выражается в первых 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.