Usługa Microsoft Azure Attestation

Zaświadczanie platformy Microsoft Azure to ujednolicone rozwiązanie do zdalnego weryfikowania wiarygodności platformy i integralności plików binarnych uruchomionych w nim. Usługa obsługuje zaświadczania platform wspieranych przez moduły TPM (Trusted Platform Modules) wraz z możliwością zaświadczania o stanie zaufanych środowisk wykonywania (TEE), takich jak® enklawy Intel Software Guard Extensions (SGX), enklawy zabezpieczeń opartych na wirtualizacji (VBS), zaufane uruchamianie maszyn wirtualnych platformy Azure i poufnych maszyn wirtualnych platformy Azure.

Zaświadczanie to proces demonstrowania, że pliki binarne oprogramowania zostały prawidłowo utworzone na zaufanej platformie. Zdalne jednostki uzależnione mogą następnie mieć pewność, że tylko takie zamierzone oprogramowanie działa na zaufanym sprzęcie. Zaświadczenie platformy Azure to ujednolicona usługa i struktura umożliwiająca zaświadczenie dla klientów.

Zaświadczenie platformy Azure umożliwia najnowocześniejsze paradygmaty zabezpieczeń, takie jak przetwarzanie poufne platformy Azure i ochrona inteligentnej krawędzi. Klienci żądają możliwości niezależnego weryfikowania lokalizacji maszyny, stanu maszyny wirtualnej na tej maszynie oraz środowiska, w którym enklawy są uruchomione na tej maszynie wirtualnej. Zaświadczenie platformy Azure umożliwia wykonanie tych i wielu dodatkowych żądań klientów.

Zaświadczanie platformy Azure odbiera dowody z jednostek obliczeniowych, przekształca je w zestaw oświadczeń, weryfikuje je przed konfigurowalnymi zasadami i tworzy weryfikacje kryptograficzne dla aplikacji opartych na oświadczeniach (na przykład jednostek uzależnionych i urzędów inspekcji).

Zaświadczenie platformy Azure obsługuje zaświadczenie zarówno platformy, jak i gościa na maszynach wirtualnych z poufnymi maszynami wirtualnymi (CVM, Confidential VMs) firmy AMD SEV-SNP. Zaświadczenie oparte na zaświadczaniach na platformie Azure odbywa się automatycznie podczas krytycznej ścieżki rozruchowej CVMs bez konieczności wykonywania akcji klienta. Aby uzyskać więcej informacji na temat zaświadczania gościa, zobacz Ogłoszenie ogólnej dostępności zaświadczania gościa dla poufnych maszyn wirtualnych.

Przypadki użycia

Zaświadczenie platformy Azure zapewnia kompleksowe usługi zaświadczania dla wielu środowisk i charakterystycznych przypadków użycia.

Zaświadczenie enklawy SGX

Rozszerzenia Intel® Software Guard (SGX) odnoszą się do izolacji klasy sprzętowej, która jest obsługiwana w niektórych modelach procesora Intel. SGX umożliwia uruchamianie kodu w oczyszczonych przedziałach nazywanych enklawami SGX. Uprawnienia dostępu i pamięci są następnie zarządzane przez sprzęt, aby zapewnić minimalną powierzchnię ataków z odpowiednią izolacją.

Aplikacje klienckie można zaprojektować tak, aby korzystały z enklaw SGX, delegując zadania wrażliwe na zabezpieczenia, które mają być wykonywane wewnątrz tych enklaw. Takie aplikacje mogą następnie korzystać z zaświadczania platformy Azure, aby rutynowo ustanowić zaufanie w enklawie i jej zdolność do uzyskiwania dostępu do poufnych danych.

Procesory Intel® Xeon® Scalable obsługują tylko rozwiązania zaświadczania oparte na ecDSA w celu zdalnego zaświadczania enklaw SGX. Korzystając z modelu zaświadczania opartego na ecDSA, zaświadczanie platformy Azure obsługuje walidację procesorów Intel® Xeon E3 i platform serwerów opartych na procesorach Intel® Xeon®® Skalowalne.

Uwaga

Aby przeprowadzić zaświadczenie platform serwerowych opartych na procesorach Intel® Xeon® Przy użyciu zaświadczania platformy Azure, użytkownicy powinni zainstalować program Azure DCAP w wersji 1.10.0 lub nowszej.

Otwieranie zaświadczania enklawy

Open Enclave (OE) to kolekcja bibliotek przeznaczonych do tworzenia pojedynczej ujednoliconej enklawy dla deweloperów w celu tworzenia aplikacji opartych na usłudze TEE. Oferuje uniwersalny bezpieczny model aplikacji, który minimalizuje specyfikę platformy. Firma Microsoft postrzega ją jako niezbędny krok w kierunku demokratyzacji technologii enklawy opartych na sprzęcie, takich jak SGX i zwiększania ich wychwytu na platformie Azure.

OE standandaryzuje określone wymagania dotyczące weryfikacji dowodów enklawy. Kwalifikuje to producenta OE jako wysoce dopasowanego konsumenta zaświadczania o zaświadczania platformy Azure.

Poświadczanie za pomocą modułu TPM

Zaświadczenie oparte na zaufanych modułach platformy (TPM) ma kluczowe znaczenie dla zapewnienia dowodu stanu platformy. Moduł TPM działa jako główny element zaufania i współprocesor zabezpieczeń, aby zapewnić ważność kryptograficzną pomiarów (dowodów). Urządzenia z modułem TPM mogą polegać na zaświadczeniu, aby udowodnić, że integralność rozruchu nie została naruszona i używać oświadczeń do wykrywania włączania stanu funkcji podczas rozruchu.

Aplikacje klienckie można zaprojektować tak, aby mogły korzystać z zaświadczania modułu TPM, delegując zadania wrażliwe na zabezpieczenia tylko po sprawdzeniu bezpieczeństwa platformy. Takie aplikacje mogą następnie korzystać z zaświadczania platformy Azure, aby rutynowo ustanowić zaufanie do platformy i jej zdolność do uzyskiwania dostępu do poufnych danych.

Zaświadczenie AMD SEV-SNP

Poufne maszyny wirtualne platformy Azure (CVM) są oparte na procesorach AMD z technologią SEV-SNP. CvM oferuje opcję szyfrowania dysków systemu operacyjnego maszyny wirtualnej z kluczami zarządzanymi przez platformę lub kluczami zarządzanymi przez klienta i wiąże klucze szyfrowania dysku z modułem TPM maszyny wirtualnej. Po uruchomieniu CVM raport SNP zawierający pomiary oprogramowania układowego maszyny wirtualnej gościa zostaną wysłane do zaświadczania platformy Azure. Usługa weryfikuje pomiary i wystawia token zaświadczania używany do wydawania kluczy z zarządzanego modułu HSM lub usługi Azure Key Vault. Te klucze są używane do odszyfrowania stanu vTPM maszyny wirtualnej gościa, odblokowania dysku systemu operacyjnego i uruchomienia CVM. Proces zaświadczania i wydawania klucza jest wykonywany automatycznie na każdym rozruchu CVM, a proces zapewnia rozruch CVM tylko po pomyślnym zaświadczeniu sprzętu.

Zaufane zaświadczenie uruchamiania

Klienci platformy Azure mogą zapobiegać infekcjom zestawu bootkit i zestawu rootkit, włączając zaufane uruchamianie maszyn wirtualnych. Gdy maszyna wirtualna jest włączona z włączonym bezpiecznym rozruchem i maszyną wirtualną z zainstalowanym rozszerzeniem zaświadczania gościa, pomiary vTPM są okresowo przesyłane do zaświadczania platformy Azure na potrzeby monitorowania integralności rozruchu. Niepowodzenie zaświadczania wskazuje potencjalne złośliwe oprogramowanie, które jest udostępniane klientom za pośrednictwem Microsoft Defender dla Chmury, alertów i Rekomendacje.

Zaświadczania platformy Azure są uruchamiane w środowisku TEE

Zaświadczanie platformy Azure ma kluczowe znaczenie dla scenariuszy poufnego przetwarzania, ponieważ wykonuje następujące akcje:

  • Sprawdza, czy dowody enklawy są prawidłowe.
  • Ocenia dowody enklawy względem zasad zdefiniowanych przez klienta.
  • Zarządza i przechowuje zasady specyficzne dla dzierżawy.
  • Generuje i podpisuje token używany przez jednostki uzależnione do interakcji z enklawą.

Aby firma Microsoft działała poza zaufaną bazą obliczeniową (TCB), krytyczne operacje zaświadczania platformy Azure, takie jak walidacja oferty, generowanie tokenów, ocena zasad i podpisywanie tokenów, są przenoszone do enklawy SGX.

Dlaczego warto używać zaświadczania platformy Azure

Zaświadczanie platformy Azure jest preferowanym wyborem do zaświadczania tees, ponieważ oferuje następujące korzyści:

  • Ujednolicona struktura do zaświadczania wielu środowisk, takich jak moduły TPM, enklawy SGX i enklawy VBS.
  • Umożliwia tworzenie niestandardowych dostawców zaświadczania i konfigurację zasad w celu ograniczenia generowania tokenów.
  • Chroni dane podczas korzystania z implementacji w enklawie SGX lub poufnej maszynie wirtualnej opartej na protokole AMD SEV-SNP.
  • Usługa o wysokiej dostępności

Jak ustanowić zaufanie za pomocą zaświadczania platformy Azure

  1. Sprawdź, czy token zaświadczania jest generowany przez zaświadczenie platformy Azure — token zaświadczania generowany przez zaświadczenie platformy Azure jest podpisany przy użyciu certyfikatu z podpisem własnym. Adres URL certyfikatów podpisywania jest udostępniany za pośrednictwem punktu końcowego metadanych OpenID. Jednostka uzależniona może pobrać certyfikat podpisywania i przeprowadzić weryfikację podpisu tokenu zaświadczania. Zobacz przykłady kodu, aby uzyskać więcej informacji
  2. Sprawdź, czy zaświadczenie platformy Azure działa wewnątrz enklawy SGX — certyfikaty podpisywania tokenu obejmują cudzysłów SGX teE, w których działa zaświadczenie platformy Azure. Jeśli jednostka uzależniona woli sprawdzić, czy zaświadczanie platformy Azure działa wewnątrz prawidłowej enklawy SGX, cudzysłów SGX można pobrać z certyfikatu podpisywania i lokalnie zweryfikowane. Zobacz przykłady kodu, aby uzyskać więcej informacji
  3. Zweryfikuj powiązanie cudzysłowu SGX zaświadczania platformy Azure z kluczem, który podpisał token zaświadczania — jednostka uzależniona może sprawdzić, czy skrót klucza publicznego podpisanego tokenu zaświadczania jest zgodny z polem danych raportu cudzysłowu SGX zaświadczania platformy Azure. Zobacz przykłady kodu, aby uzyskać więcej informacji
  4. Sprawdź, czy pomiary kodu zaświadczania platformy Azure są zgodne z opublikowanymi wartościami platformy Azure — cytat SGX osadzony w certyfikatach podpisywania tokenu zaświadczania zawiera pomiary kodu zaświadczania platformy Azure, takie jak MRSIGNER. Jeśli jednostka uzależniona jest zainteresowana sprawdzeniem, czy cudzysłów SGX należy do zaświadczania platformy Azure działającego na platformie Azure, wartość MRSIGNER można pobrać z cudzysłowu SGX w certyfikacie podpisywania tokenu zaświadczania i porównać z wartością dostarczoną przez zespół zaświadczania platformy Azure. Jeśli chcesz przeprowadzić tę walidację, prześlij żądanie na stronie pomoc techniczna platformy Azure. Zespół ds. zaświadczania platformy Azure skontaktuje się z Tobą, gdy planujemy obracać narzędzie MRSIGNER.

Oczekuje się, że narzędzie Mrsigner usługi Azure Attestation zmieni się po obróceniu certyfikatów podpisywania kodu. Zespół ds. zaświadczania platformy Azure jest zgodny z poniższym harmonogramem wdrażania dla każdej rotacji elementu mrsigner:

i. Zespół ds. zaświadczania platformy Azure powiadamia o nadchodzącej wartości MRSIGNER z dwumiesięcznym okresem prolongaty w celu wprowadzania odpowiednich zmian w kodzie

ii. Po dwumiesięcznym okresie prolongaty zaświadczenie platformy Azure rozpoczyna korzystanie z nowej wartości MRSIGNER

iii. Trzy miesiące po dacie powiadomienia zaświadczanie platformy Azure przestaje używać starej wartości MRSIGNER

Obsługa ciągłości działania i odzyskiwania po awarii (BCDR)

Ciągłość działalności biznesowej i odzyskiwanie po awarii (BCDR) na potrzeby zaświadczania platformy Azure umożliwia ograniczenie zakłóceń w działaniu usługi wynikających ze znaczących problemów z dostępnością lub zdarzeń awarii w regionie.

Klastry wdrożone w dwóch regionach działają niezależnie w normalnych okolicznościach. W przypadku błędu lub awarii jednego regionu następuje:

  • Usługa Azure Attestation BCDR zapewnia bezproblemowe przejście w tryb failover, w którym klienci nie muszą wykonać żadnego dodatkowego kroku w celu odzyskania.
  • Usługa Azure Traffic Manager dla regionu wykryje, że sonda kondycji jest obniżona i przełącza punkt końcowy do sparowanego regionu.
  • Istniejące połączenia nie będą działać i będą otrzymywać wewnętrzne problemy z błędem serwera lub przekroczeniem limitu czasu.
  • Wszystkie operacje płaszczyzny sterowania zostaną zablokowane. Klienci nie będą mogli tworzyć dostawców zaświadczania w regionie podstawowym.
  • Wszystkie operacje płaszczyzny danych, w tym wywołania testowe i konfiguracja zasad, będą obsługiwane przez region pomocniczy. Klienci mogą nadal pracować na operacjach płaszczyzny danych przy użyciu oryginalnego identyfikatora URI odpowiadającego regionowi podstawowemu.

Następne kroki