Udostępnij za pośrednictwem


Microsoft Azure Attestation (Usługa Poświadczenia)

Microsoft Azure Attestation to zintegrowane rozwiązanie do zdalnego weryfikowania wiarygodności platformy oraz integralności wykonywanych na niej binariów. Usługa obsługuje poświadczenia platform wspieranych przez Moduły Zaufanej Platformy (TPM) oraz możliwość poświadczania stanu Zaufanych Środowisk Wykonawczych (TEE), takich jak enklawy Intel® Software Guard Extensions (SGX), enklawy Bezpieczeństwa opartego na wirtualizacji (VBS), Moduły Zaufanej Platformy (TPM), Zaufane uruchamianie dla maszyn wirtualnych Azure oraz Azure poufne maszyny wirtualne.

Atestacja to proces demonstrowania, że binaria oprogramowania zostały poprawnie uruchomione na zaufanej platformie. Zdalne strony ufające mogą wtedy nabrać pewności, że tylko zamierzone oprogramowanie działa na zaufanym sprzęcie. Azure Attestation to zintegrowana usługa skierowana do klienta i ramy działania do poświadczania.

Azure Attestation umożliwia nowoczesne modele bezpieczeństwa takie jak Azure Confidential computing i ochrona Intelligent Edge. Usługa otrzymuje dowody od jednostek obliczeniowych, przekształca je w zestaw roszczeń, weryfikuje je według konfigurowalnych polityk i generuje kryptograficzne dowody na potrzeby zastosowań opartych na roszczeniach (na przykład stron ufających i organów audytowych).

Azure Attestation obsługuje zarówno atestację platformową, jak i gościa w przypadku Poufnych Maszyn Wirtualnych (CVM) opartych na AMD SEV-SNP. Platforma atestacji oparta na Azure działa automatycznie podczas krytycznej ścieżki rozruchowej maszyn wirtualnych CVM, bez potrzeby działania ze strony klienta. Aby uzyskać więcej informacji na temat atestacji gości, zobacz Announcing general availability of guest attestation for confidential VMs.

Use cases

Azure Attestation oferuje kompleksowe usługi atestacyjne dla wielu środowisk i różnorodnych przypadków użycia.

Poświadczenie AMD SEV-SNP dla poufnych maszyn wirtualnych

Azure Konfidentialne Maszyny Wirtualne (VM) (CVM) są oparte na procesorach AMD z technologią SEV-SNP. CVM oferuje opcję szyfrowania dysku systemu operacyjnego maszyny wirtualnej za pomocą kluczy zarządzanych przez platformę lub kluczy zarządzanych przez klienta i wiąże klucze szyfrowania dysku z TPM maszyny wirtualnej. Gdy CVM się uruchamia, raport SNP zawierający pomiary oprogramowania układowego gościa VM jest wysyłany do Azure Attestation. Usługa sprawdza pomiary i wydaje token poświadczenia, który jest używany do zwolnienia kluczy z Managed-HSM lub Azure Key Vault. Te klucze są używane do odszyfrowania stanu vTPM gościa VM, odblokowania dysku systemu operacyjnego i uruchomienia CVM. Proces atestacji i wydania kluczy odbywa się automatycznie przy każdym uruchomieniu CVM i proces ten zapewnia, że CVM uruchamia się tylko po pomyślnej atestacji sprzętu.

Atestacja AMD SEV-SNP na Poufnych Kontenerach

Azure Confidential Containers opiera się na procesorach AMD z technologią SEV-SNP. Poufne kontenery, hostowane na Azure Container Instances i w Azure Kubernetes Service (w wersji zapoznawczej), oferują możliwość uruchamiania grup kontenerów w chronionym środowisku wykonawczym SEV-SNP, które izoluje tę grupę kontenerów od płaszczyzny zarządzania kontenerami i innych uruchomionych kontenerów. Attestacja w poufnych kontenerach polega na pobieraniu raportu dotyczącym atestacji sprzętu AMD bezpośrednio z procesora. Można to osiągnąć za pomocą naszego kontenera pomocniczego SKR lub skompilować bezpośrednio w logikę Twojej aplikacji. Raport sprzętowy może być następnie wymieniony z Azure Attestation oraz managed-HSM lub Premium Azure Key Vault (AKV) w celu pobrania tajemnic. Możesz również dostarczyć raport sprzętowy do własnego systemu kluczy, jeśli chcesz.

Zaświadczanie zaufanego uruchamiania

Klienci Azure mogą zapobiegać infekcjom bootkit i rootkit, włączając zaufane uruchomienie dla swoich maszyn wirtualnych (VM). Gdy maszyna wirtualna jest uruchomiona z włączonym Secure Boot i vTPM oraz z zainstalowanym rozszerzeniem atestacji gościa, pomiary vTPM są okresowo przesyłane do Azure Attestation w celu monitorowania integralności procesu rozruchu. Niepowodzenie w uwierzytelnieniu wskazuje na potencjalne złośliwe oprogramowanie, które jest prezentowane klientom za pośrednictwem Microsoft Defender dla Chmury, w formie Alertów i Rekomendacji.

Poświadczenie TPM

Attestacja oparta na Trusted Platform Modules (TPM) jest kluczowa dla dostarczenia dowodu na stan platformy. TPM działa jako źródło zaufania i koprocesor bezpieczeństwa, aby zapewnić kryptograficzną wiarygodność pomiarom (dowodom). Urządzenia z TPM mogą polegać na potwierdzeniu, aby udowodnić, że integralność rozruchu nie została naruszona, i używać twierdzeń do wykrywania włączenia stanu funkcji podczas rozruchu.

Aplikacje klienckie mogą być zaprojektowane, aby wykorzystać poświadczanie TPM, przez delegowanie zadań wymagających wysokiego poziomu bezpieczeństwa, aby odbywały się dopiero po zweryfikowaniu zabezpieczeń platformy. Takie aplikacje mogą następnie korzystać z Azure Attestation, aby rutynowo ustanawiać zaufanie do platformy i jej zdolności do dostępu do danych wrażliwych.

SGX enclave attestation

Intel® Software Guard Extensions (SGX) oznacza izolację na poziomie sprzętowym, która jest wspierana przez niektóre modele procesorów Intel. SGX enables code to run in sanitized compartments known as SGX enclaves. Dostęp i uprawnienia pamięci są następnie zarządzane przez sprzęt, aby zapewnić minimalną powierzchnię ataku z właściwą izolacją.

Client applications can be designed to take advantage of SGX enclaves by delegating security-sensitive tasks to take place inside those enclaves. Takie aplikacje mogą następnie korzystać z usługi Azure Attestation do rutynowego ustanawiania zaufania do enklawy i jej zdolności do dostępu do wrażliwych danych.

Procesory Intel® Xeon® Scalable obsługują tylko rozwiązania do atestacji oparte na ECDSA dla zdalnej atestacji enklaw SGX. Wykorzystując model atestacji oparty na ECDSA, usługa Azure Attestation wspiera walidację procesorów Intel® Xeon® E3 oraz platform serwerowych opartych na procesorach Intel® Xeon® Scalable.

Note

Aby przeprowadzić atestację platform serwerowych opartych na procesorach Intel® Xeon® Scalable za pomocą Azure Attestation, użytkownicy powinni zainstalować Azure DCAP w wersji 1.10.0 lub nowszą.

Open Enclave zaświadczenie

Open Enclave (OE) to zbiór bibliotek przeznaczonych do tworzenia jednolitej abstrakcji enklawowej, umożliwiających deweloperom tworzenie aplikacji opartych na TEE. It offers a universal secure app model that minimizes platform specificities. Microsoft views it as an essential stepping-stone toward democratizing hardware-based enclave technologies such as SGX and increasing their uptake on Azure.

OE standardizes specific requirements for verification of an enclave evidence. This qualifies OE as a highly fitting attestation consumer of Azure Attestation.

Attestacja Azure działa w TEE

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

  • Verifies if the enclave evidence is valid.
  • Evaluates the enclave evidence against a customer-defined policy.
  • Manages and stores tenant-specific policies.
  • Generates and signs a token that is used by relying parties to interact with the enclave.

Aby operacyjnie utrzymać Microsoft poza bazą zaufanego przetwarzania (TCB), kluczowe operacje Azure Attestation, takie jak walidacja cytowania, generowanie tokenów, ewaluacja polityki i podpisywanie tokenów, zostały przeniesione do enklawy SGX.

Why use Azure Attestation

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

  • Zunifikowane ramy do uwierzytelniania wielu środowisk, takich jak TPM, enklawy SGX i enklawy 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.
  • Highly available service

How to establish trust with Azure Attestation

  1. Zweryfikuj, czy token poświadczenia jest generowany przez Azure Attestation - Token poświadczenia generowany przez Azure Attestation jest podpisywany przy użyciu certyfikatu samopodpisanego. URL certyfikatów podpisu jest udostępniany przez punkt końcowy metadanych OpenID. Zaufana strona może pobrać certyfikat podpisu i przeprowadzić weryfikację podpisu tokenu atestacji. Zobacz przykłady kodu, aby uzyskać więcej informacji.
  2. Sprawdź, czy zaświadczenie platformy Azure działa wewnątrz enklawy SGX lub kontenera SEV-SNP — certyfikaty podpisywania tokenu zawierają informacje o tee, w których działa zaświadczenie platformy Azure. To zabezpieczenie TEE może być cytatem SGX lub raportem SEV-SNP. Podmiot polegający może sprawdzić, czy Azure Attestation działa wewnątrz prawidłowego TEE, lokalnie weryfikując kwotę lub raport. See code samples for more information – SGX, SEV-SNP
  3. Zweryfikuj powiązanie raportu TEE usługi zaświadczania platformy Azure przy użyciu klucza, który podpisał token zaświadczania — podmiot polegający na usłudze może sprawdzić, czy skrót klucza publicznego, który podpisał token zaświadczania, pasuje do pola danych raportu TEE usługi zaświadczania platformy Azure. Zobacz tutaj po więcej szczegółów.
  4. Zweryfikuj, czy pomiary kodu Azure Attestation są zgodne z opublikowanymi wartościami Azure - Kolateral TEE osadzony w certyfikatach podpisywania tokenów poświadczeń zawiera pomiary kodu TEE dla Azure Attestation. Podmiot polegający może zweryfikować, że oferta lub raport należy do Azure Attestation, porównując określone wartości pobrane z zasobów TEE w certyfikacie podpisania tokena atestacyjnego z wartościami dostarczonymi przez zespół Azure Attestation. For SGX, MRSIGNER should be validated. For SEV-SNP, HOST_DATA should be validated. Zobacz tutaj po więcej szczegółów. Jeśli jesteś zainteresowany przeprowadzeniem tej walidacji, złóż wniosek na stronie wsparcia Azure. The Azure Attestation team reaches out to you when these specific values are scheduled for rotation.

The values identifying valid Azure Attestation instances are expected to change when code-signing certificates are rotated or when security updates require new policy versions. Zespół Azure Attestation stosuje się do poniższego harmonogramu wdrażania dla każdej planowanej rotacji.

i. Zespół Azure Attestation informuje użytkowników o nowych wartościach, dając im dwumiesięczny okres na wprowadzenie odpowiednich zmian w kodzie.

ii. After the two-month grace period, Azure Attestation starts using the new values.

iii. Three months after the notification date, Azure Attestation stops using the old values.

Dla nieplanowanych rotacji, w tym tych wymaganych przez aktualizacje zabezpieczeń, zespół Azure Attestation przekazuje nowe wartości z jednomiesięcznym okresem łaski.

Wsparcie dla ciągłości biznesowej i odzyskiwania po awarii (BCDR)

Ciągłość działania biznesu i odzyskiwanie po awarii (BCDR) dla Azure Attestation umożliwia ograniczenie przerw w świadczeniu usług wynikających z poważnych problemów z dostępnością lub zdarzeń katastroficznych w regionie.

Klastery wdrażane w dwóch regionach działają niezależnie w normalnych warunkach. W przypadku awarii lub wyłączenia jednej części regionu, następuje co następuje:

  • Azure Attestation BCDR zapewnia płynne przełączanie awaryjne, w którym klienci nie muszą podejmować żadnych dodatkowych kroków, aby odzyskać.
  • Azure Traffic Manager dla regionu wykryje, że próba zdrowotna jest osłabiona i przełączy punkt końcowy do sparowanego regionu.
  • Istniejące połączenia nie będą działać i napotkają wewnętrzny błąd serwera lub problemy z czasem oczekiwania.
  • Wszystkie operacje na płaszczyźnie kontrolnej będą zablokowane. Klienci nie będą mogli tworzyć dostawców atestacji w regionie głównym.
  • Wszystkie operacje na płaszczyźnie danych, w tym wywołania uwierzytelniające i konfiguracje polityk, będą obsługiwane przez rejon zapasowy. Klienci mogą kontynuować pracę nad operacjami na płaszczyźnie danych, używając oryginalnego URI odpowiadającego głównemu regionowi.

Kolejne kroki