Поделиться через


Аттестация Microsoft Azure

Программа Microsoft Azure Attestation — это унифицированное решение для удалённой проверки надёжности платформы и целостности исполняемых файлов, работающих в её рамках. Сервис поддерживает аттестацию платформ, основанных на модулях доверенной платформы (TPM), а также возможность подтверждения состояния сред доверенного исполнения (TEE), таких как анклавы Intel® Software Guard Extensions (SGX), анклавы Virtualization-based Security (VBS), модули Trusted Platform Modules (TPM), доверенный запуск для виртуальных машин Azure и конфиденциальные виртуальные машины Azure.

Аттестация — это процесс демонстрации того, что программные двоичные файлы были правильно установлены на доверенной платформе. Удалённые доверенные стороны могут затем быть уверены, что только такое предназначенное программное обеспечение работает на проверенном оборудовании. Azure Attestation is a unified customer-facing service and framework for attestation.

Azure Attestation позволяет использовать передовые парадигмы безопасности, такие как Azure Confidential Computing и защита интеллектуальных периферийных систем. Сервис получает доказательства от вычислительных сущностей, преобразует их в набор утверждений, проверяет их в соответствии с настраиваемыми политиками и создаёт криптографические доказательства для приложений на основе утверждений (например, для полагающихся сторон и аудиторских органов).

Azure Attestation supports both platform- and guest-attestation of AMD SEV-SNP based Confidential VMs (CVMs). Azure Attestation-based platform attestation happens automatically during critical boot path of CVMs, with no customer action needed. For more information on guest attestation, see Announcing general availability of guest attestation for confidential VMs.

Use cases

Azure Attestation provides comprehensive attestation services for multiple environments and distinctive use cases.

Аттестация AMD SEV-SNP для конфиденциальных виртуальных машин

Azure Конфиденциальная ВМ (CVM) базируется на процессорах AMD с технологией SEV-SNP. CVM предлагает возможность шифрования дисков операционной системы виртуальной машины с использованием ключей, управляемых платформой, или ключей, управляемых клиентом, и связывает ключи шифрования дисков с TPM виртуальной машины. Когда CVM запускается, отчет SNP, содержащий измерения прошивки гостевой виртуальной машины, отправляется в Azure Attestation. Служба проверяет измерения и выдает аттестационный токен, который используется для выдачи ключей из Managed-HSM или Azure Key Vault. Эти ключи используются для расшифровки состояния vTPM гостевой виртуальной машины, разблокировки диска ОС и запуска CVM. Процесс аттестации и выпуска ключей выполняется автоматически при каждой загрузке CVM, и этот процесс обеспечивает запуск CVM только после успешной аттестации оборудования.

Удостоверение AMD SEV-SNP в конфиденциальных контейнерах

Azure Конфиденциальные контейнеры основаны на процессорах AMD с технологией SEV-SNP. Конфиденциальные контейнеры, размещенные на Azure Container Instances и на Azure Kubernetes Service (в предварительной версии), предоставляют возможность запускать группы контейнеров в защищенной среде доверенного выполнения SEV-SNP, которая изолирует эту группу контейнеров от плоскости управления контейнерами и других работающих контейнеров. Аттестация в конфиденциальных контейнерах включает получение отчета об аттестации оборудования AMD непосредственно от процессора. Это можно осуществить с помощью нашего контейнера SKR sidecar или встроив непосредственно в логику вашего приложения. Аппаратный отчет можно затем обменять с Azure Attestation и managed-HSM или Премиум Azure Key Vault (AKV) для получения секретов. Вы также можете предоставить отчет о оборудовании вашей собственной системе управления ключами по своему желанию.

Удостоверение доверенного запуска

Клиенты Azure могут предотвратить заражение буткитами и руткитами, включив надежный запуск для своих виртуальных машин (VM). Когда для виртуальной машины включены Secure Boot и vTPM, и установлено расширение гостевой аттестации, измерения vTPM периодически отправляются в Azure Attestation для мониторинга целостности загрузки. Сбой аттестации указывает на потенциальное наличие вредоносного ПО, которое становится доступным клиентам через Microsoft Defender for Cloud с помощью предупреждений и рекомендаций.

Аттестация TPM

Аттестация на основе Модулей Доверенной Платформы (TPM) имеет критическое значение для предоставления доказательства состояния платформы. TPM выступает в качестве корня доверия и сопроцессора безопасности, обеспечивая криптографическую достоверность измерений (доказательств). Устройства с TPM могут полагаться на аттестацию для подтверждения того, что целостность загрузки не нарушена, и использовать утверждения для обнаружения включения состояния функций во время загрузки.

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

Аттестация анклава SGX

Intel® Software Guard Extensions (SGX) относится к изоляции на уровне оборудования, которая поддерживается на некоторых моделях процессоров Intel. SGX позволяет коду выполняться в защищенных ячейках, известных как анклавы SGX. Доступ и разрешения на память затем управляются аппаратным обеспечением, чтобы обеспечить минимальную поверхность атаки с надлежащей изоляцией.

Клиентские приложения могут быть разработаны для использования анклавов SGX, делегируя выполнение задач, связанных с безопасностью, внутри этих анклавов. Такие приложения могут затем использовать Azure Attestation для регулярного установления доверия к анкла̀ву и его способности получать доступ к конфиденциальным данным.

Процессоры Intel® Xeon® Scalable поддерживают только решения аттестации на основе ECDSA для удаленной аттестации анклавов SGX. Используя модель аттестации на основе ECDSA, Azure Attestation поддерживает проверку процессоров Intel® Xeon® E3 и серверных платформ на базе процессоров Intel® Xeon® Scalable.

Примечание

Для выполнения аттестации серверных платформ на базе процессоров Intel® Xeon® Scalable с помощью Azure Attestation пользователям необходимо установить Azure DCAP версии 1.10.0 или выше.

Аттестация Open Enclave

Open Enclave (OE) is a collection of libraries targeted at creating a single unified enclaving abstraction for developers to build TEE-based applications. It offers a universal secure app model that minimizes platform specificities. Microsoft считает это важным шагом к упрощению доступа к аппаратным энклавным технологиям, таким как SGX, и к увеличению их использования в Azure.

OE standardizes specific requirements for verification of an enclave evidence. Это квалифицирует OE как очень подходящего пользователя подтверждений Azure Attestation.

Azure Attestation runs in a TEE

Azure Attestation is critical to Confidential Computing scenarios, as it performs the following actions:

  • Verifies if the enclave evidence is valid.
  • Оценивает доказательства анклава в соответствии с политикой, определяемой клиентом.
  • Manages and stores tenant-specific policies.
  • Генерирует и подписывает токен, который используется доверяющими сторонами для взаимодействия с анклавом.

Чтобы операционная деятельность Microsoft оставалась вне доверенной вычислительной базы (TCB), важные операции Azure Attestation, такие как проверка цитат, генерация токенов, оценка политики и подписание токенов, перенесены в закрытую область SGX.

Почему использовать Azure Attestation

Azure Attestation is the preferred choice for attesting TEEs as it offers the following benefits:

  • Единая платформа для аттестации множества сред, таких как TPM, анклавы SGX и анклавы VBS.
  • Allows creation of custom attestation providers and configuration of policies to restrict token generation.
  • Protects its data while-in use with implementation in an SGX enclave or Confidential Virtual Machine based on AMD SEV-SNP.
  • Высокодоступная услуга

How to establish trust with Azure Attestation

  1. Verify if attestation token is generated by Azure Attestation - An attestation token generated by Azure Attestation is signed using a self-signed certificate. URL сертификатов подписи доступен через конечную точку метаданных OpenID. Сторона, полагающаяся на этот сервис, может получить сертификат подписи и выполнить проверку подписи аттестационного токена. See code samples for more information.
  2. Проверьте, выполняется ли аттестация Azure в анклаве SGX или контейнере SEV-SNP . Сертификаты подписи маркеров включают сведения о TEE, в котором выполняется аттестация Azure. This TEE collateral might be an SGX quote or an SEV-SNP report. Сторона, полагающаяся на доверие, может проверить, выполняется ли служба Azure Attestation внутри действительной TEE, проводя локальную проверку цитаты или отчета. См. примеры кода для получения дополнительной информации — SGX, SEV-SNP
  3. Проверьте привязку отчета TEE аттестации Azure с ключом, которым был подписан маркер аттестации – Проверяющая сторона может убедиться, что хэш открытого ключа, который подписал маркер аттестации, совпадает с полем данных в отчете TEE аттестации Azure. Смотрите здесь для получения дополнительной информации.
  4. Проверить, соответствуют ли измерения кода Azure Attestation опубликованным значениям Azure - Гарантии TEE, встроенные в сертификаты подписи токенов аттестации, включают измерения кода TEE для Azure Attestation. Сторона, полагающаяся на Azure Attestation, может подтвердить, что цитата или отчет принадлежат этой службе, сравнив определенные значения, извлеченные из TEE-коллатерала в сертификате подписи токена аттестации, со значениями, предоставленными командой Azure Attestation. Для SGX необходимо проверить MRSIGNER. Для SEV-SNP данные HOST_DATA должны быть проверены. Обратитесь здесь для получения дополнительной информации. Если вы заинтересованы в проведении этой проверки, отправьте запрос на странице поддержки Azure. Команда Azure Attestation свяжется с вами, когда наступит время ротации этих специфических значений.

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

i. Команда Azure Attestation уведомляет потребителей о новых значениях с двухмесячным льготным периодом для внедрения соответствующих изменений в код.

ii. После двухмесячного льготного периода Azure Attestation начинает использовать новые значения.

iii. Через три месяца после даты уведомления Azure Attestation прекращает использование старых значений.

Для непредвиденных ротаций, включая те, которые требуются для обновлений безопасности, команда Azure Attestation сообщает новые значения с месячным льготным периодом.

Поддержка непрерывности бизнеса и восстановления после катастроф (BCDR)

Business Continuity and Disaster Recovery (BCDR) for Azure Attestation enables you to mitigate service disruptions resulting from significant availability issues or disaster events in a region.

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

  • Azure Attestation BCDR обеспечивает беспрепятственное переключение на резерв, при котором клиентам не требуется предпринимать лишних действий для восстановления.
  • Менеджер трафика Azure для этого региона обнаружит, что проверка работоспособности ухудшилась, и переключит конечную точку на сопряженный регион.
  • Существующие соединения не будут работать и будут получать внутренние ошибки сервера или таймауты.
  • Все операции управляющего уровня будут заблокированы. Клиенты не смогут создать поставщиков аттестации в основной регионе.
  • Все операции на уровне данных, включая вызовы аттестации и настройку политики, будут обслуживаться вторичным регионом. Клиенты могут продолжать работать с операциями плоскости данных, используя оригинальный URI, соответствующий основному региону.

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