Zaufane zarządzanie tożsamościami sprzętowymi
Usługa Trusted Hardware Identity Management obsługuje zarządzanie pamięcią podręczną certyfikatów dla wszystkich zaufanych środowisk wykonywania (TEE), które znajdują się na platformie Azure. Udostępnia również informacje o zaufanej bazie obliczeniowej (TCB) w celu wymuszenia minimalnej linii bazowej dla rozwiązań zaświadczania.
Zaufane interakcje związane z zarządzaniem tożsamościami sprzętowymi i zaświadczania
Usługa Trusted Hardware Identity Management definiuje punkt odniesienia zabezpieczeń platformy Azure dla węzłów poufnego przetwarzania (ACC) platformy Azure i buforuje zabezpieczenia od dostawców TEE. Usługi zaświadczania i węzły ACC mogą używać buforowanych informacji do weryfikowania tees. Na poniższym diagramie przedstawiono interakcje między usługą zaświadczania lub węzłem, zaufanym zarządzaniem tożsamościami sprzętowymi i hostem enklawy.
Często zadawane pytania
Jak mogę używać zaufanego zarządzania tożsamościami sprzętowymi z procesorami Intel?
Aby wygenerować oferty Intel SGX i Intel TDX, biblioteka Intel Quote Generation Library (QGL) wymaga dostępu do zabezpieczenia generowania/walidacji oferty. Wszystkie lub części tego zabezpieczenia muszą zostać pobrane z usługi Trusted Hardware Identity Management. Można go pobrać przy użyciu biblioteki dostawcy ofert firmy Intel (QPL) lub biblioteki klienta zaświadczania centrum danych Platformy Azure (DCAP).
Data następnej aktualizacji wewnętrznego interfejsu API usługi buforowania platformy Azure używana przez zaświadczanie na platformie Azure wydaje się być nieaktualna. Czy nadal działa i czy mogę go używać?
Pole tcbinfo
zawiera informacje O TCB. Usługa Trusted Hardware Identity Management domyślnie udostępnia starsze tcbinfo
informacje. Aktualizacja do najnowszych tcbinfo
informacji firmy Intel spowodowałaby błędy zaświadczania dla klientów, którzy nie przeprowadzili migracji do najnowszego zestawu Intel SDK, i mogą spowodować awarie.
Zestaw OPEN Enlave SDK i zaświadczenie platformy Azure nie są jednak uwzględniane w nextUpdate
tej dacie i będą przekazywane zaświadczania.
Co to jest biblioteka azure DCAP?
Biblioteka Azure Data Center Attestation Primitives (DCAP), zastępująca bibliotekę intel quote provider library (QPL), pobiera zabezpieczenia generowania cudzysłowów i zabezpieczenia weryfikacji cudzysłowu bezpośrednio z usługi Trusted Hardware Identity Management. Pobieranie zabezpieczeń bezpośrednio z usługi Trusted Hardware Identity Management gwarantuje, że wszystkie hosty platformy Azure mają łatwo dostępne zabezpieczenia w chmurze platformy Azure w celu zmniejszenia zależności zewnętrznych. Bieżąca zalecana wersja biblioteki DCAP to 1.11.2.
Gdzie mogę pobrać najnowszą bibliotekę azure DCAP?
Użyj następujących linków, aby pobrać pakiety:
W przypadku nowszych wersji systemu Ubuntu (na przykład Ubuntu 22.04) należy użyć technologii Intel QPL.
Dlaczego zaufane zarządzanie tożsamościami sprzętowymi i intel mają różne punkty odniesienia?
Zaufane zarządzanie tożsamościami sprzętowymi i intel zapewniają różne poziomy odniesienia zaufanej bazy obliczeniowej. Gdy klienci zakładają, że firma Intel ma najnowsze punkty odniesienia, musi upewnić się, że wszystkie wymagania są spełnione. Takie podejście może prowadzić do awarii, jeśli klienci nie zaktualizowali określonych wymagań.
Usługa Trusted Hardware Identity Management ma wolniejsze podejście do aktualizowania punktu odniesienia TCB, dzięki czemu klienci mogą wprowadzać niezbędne zmiany we własnym tempie. Mimo że takie podejście zapewnia starszą linię bazową TCB, klienci nie napotkają awarii, jeśli nie spełnią wymagań nowego punktu odniesienia TCB. Dlatego punkt odniesienia TCB z zaufanego zarządzania tożsamościami sprzętowymi jest inną wersją niż punkt odniesienia firmy Intel. Chcemy umożliwić klientom spełnienie wymagań nowego planu bazowego TCB w ich tempie, zamiast zmuszać ich do aktualizacji i powodować zakłócenia, które wymagają ponownego zapisania strumieni roboczych.
Dzięki procesorom Intel Xeon E mogę uzyskać moje certyfikaty bezpośrednio z komputera Intel PCS. Dlaczego w przypadku procesorów Intel Xeon Scalable, począwszy od 4 generacji, czy muszę uzyskać certyfikaty z usługi Trusted Hardware Identity Management? Jak mogę pobrać te certyfikaty?
Począwszy od 4. generacji skalowalnych procesorów Intel® Xeon®, platforma Azure wykonuje rejestrację pośrednią w usłudze rejestracji firmy Intel przy użyciu manifestu platformy i przechowuje wynikowy certyfikat PCK w usłudze Trusted Hardware Identity Management (THIM) platformy Azure używa rejestracji pośredniej, ponieważ usługa rejestracji firmy Intel nie będzie przechowywać kluczy głównych dla platformy w tym przypadku i jest to odzwierciedlane przez CachedKeys
false
flagę w certyfikatach PCK.
W miarę użycia rejestracji pośredniej wszystkie następujące połączenia z usługą Intel PCS wymagają manifestu platformy, który platforma Azure nie zapewnia maszynom wirtualnym.
Zamiast tego maszyny wirtualne muszą skontaktować się z THIM, aby otrzymywać certyfikaty PCK.
Aby pobrać certyfikat PCK, możesz użyć biblioteki Intel QPL lub Azure DCAP.
Jak mogę używać technologii Intel QPL z zaufanym zarządzaniem tożsamościami sprzętowymi?
Klienci mogą chcieć korzystać z technologii Intel QPL do interakcji z zaufanym zarządzaniem tożsamościami sprzętowymi bez konieczności pobierania innej zależności od firmy Microsoft (czyli biblioteki klienta usługi Azure DCAP). Klienci, którzy chcą korzystać z technologii Intel QPL z usługą Trusted Hardware Identity Management, muszą dostosować plik konfiguracji Intel QPL, sgx_default_qcnl.conf.
Zabezpieczenie generowania/weryfikacji cudzysłowu używanego do generowania cudzysłowów Intel SGX lub Intel TDX można podzielić na:
- Certyfikat PCK. Aby go pobrać, klienci muszą używać punktu końcowego zaufanego zarządzania tożsamościami sprzętowymi.
- Wszystkie inne zabezpieczenia generowania/weryfikacji cudzysłowu. Aby go pobrać, klienci mogą używać punktu końcowego zaufanego zarządzania tożsamościami sprzętowymi lub punktu końcowego usługi certyfikacji Intel Provisioning Service (PCS).
Plik konfiguracji Intel QPL (sgx_default_qcnl.conf) zawiera trzy klucze służące do definiowania punktów końcowych zabezpieczeń. Klucz pccs_url
definiuje punkt końcowy używany do pobierania certyfikatów PCK. Klucz collateral_service
może zdefiniować punkt końcowy używany do pobierania wszystkich innych zabezpieczeń generowania/weryfikacji cudzysłowu. collateral_service
Jeśli klucz nie jest zdefiniowany, wszystkie zabezpieczenia weryfikacji cudzysłowu są pobierane z punktu końcowego zdefiniowanego za pomocą pccs_url
klucza.
W poniższej tabeli przedstawiono sposób ustawiania tych kluczy.
Nazwisko | Możliwe punkty końcowe |
---|---|
pccs_url |
Zaufany punkt końcowy zarządzania tożsamościami sprzętowymi: https://global.acccache.azure.net/sgx/certification/v3 . |
collateral_service |
Punkt końcowy zaufanego zarządzania tożsamościami sprzętowymi (https://global.acccache.azure.net/sgx/certification/v3 ) lub punkt końcowy intel PCS. Plik sgx_default_qcnl.conf zawsze zawiera najbardziej aktualny punkt końcowy w kluczu collateral_service . |
Poniższy fragment kodu pochodzi z przykładu pliku konfiguracji Intel QPL:
{
"pccs_url": "https://global.acccache.azure.net/sgx/certification/v3/",
"use_secure_cert": true,
"collateral_service": "https://global.acccache.azure.net/sgx/certification/v3/",
"pccs_api_version": "3.1",
"retry_times": 6,
"retry_delay": 5,
"local_pck_url": "http://169.254.169.254/metadata/THIM/sgx/certification/v3/",
"pck_cache_expire_hours": 24,
"verify_collateral_cache_expire_hours": 24,
"custom_request_options": {
"get_cert": {
"headers": {
"metadata": "true"
},
"params": {
"api-version": "2021-07-22-preview"
}
}
}
}
Poniższe procedury wyjaśniają, jak zmienić plik konfiguracji intel QPL i aktywować zmiany.
W systemie Windows
Wprowadź zmiany w pliku konfiguracji.
Upewnij się, że istnieją uprawnienia do odczytu do pliku z następującej lokalizacji rejestru i klucza/wartości:
[HKEY_LOCAL_MACHINE\SOFTWARE\Intel\SGX\QCNL] "CONFIG_FILE"="<Full File Path>"
Uruchom ponownie usługę AESMD. Na przykład otwórz program PowerShell jako administrator i użyj następujących poleceń:
Restart-Service -Name "AESMService" -ErrorAction Stop Get-Service -Name "AESMService"
W systemie Linux
Wprowadź zmiany w pliku konfiguracji. Na przykład możesz użyć narzędzia Vim dla zmian za pomocą następującego polecenia:
sudo vim /etc/sgx_default_qcnl.conf
Uruchom ponownie usługę AESMD. Otwórz dowolny terminal i uruchom następujące polecenia:
sudo systemctl restart aesmd systemctl status aesmd
Jak mogę zażądać zabezpieczenia na poufnej maszynie wirtualnej?
Użyj poniższego przykładu w gościu poufnej maszyny wirtualnej (CVM) do żądania zabezpieczeń AMD, który obejmuje certyfikat VCEK i łańcuch certyfikatów. Aby uzyskać szczegółowe informacje na temat tego zabezpieczenia i skąd pochodzą, zobacz Versioned Chip Endorsement Key (VCEK) Certificate (VcEK) Certificate and KDS Interface Specification (Specyfikacja interfejsu KDS w wersji).
Parametry identyfikatora URI
GET "http://169.254.169.254/metadata/THIM/amd/certification"
Treść żądania
Nazwisko | Pisz | Opis |
---|---|---|
Metadata |
Logiczny | Ustawienie zezwala na True zwracanie zabezpieczeń. |
Przykładowe żądanie
curl GET "http://169.254.169.254/metadata/THIM/amd/certification" -H "Metadata: true"
Odpowiedzi
Nazwa/nazwisko | opis |
---|---|
200 OK |
Wyświetla listę dostępnych zabezpieczeń w treści HTTP w formacie JSON |
Other Status Codes |
Opisuje, dlaczego operacja nie powiodła się |
Definicje
Key | opis |
---|---|
VcekCert |
Certyfikat X.509v3 zdefiniowany w dokumencie RFC 5280 |
tcbm |
Zaufana baza obliczeniowa |
certificateChain |
Certyfikaty klucza AMD SEV (ASK) i klucza głównego AMD (ARK) |
Jak mogę zażądać zabezpieczeń AMD w kontenerze usługi Azure Kubernetes Service w węźle CVM?
Wykonaj następujące kroki, aby zażądać zabezpieczeń FIRMY AMD w poufnym kontenerze:
Zacznij od utworzenia klastra usługi Azure Kubernetes Service (AKS) w węźle CVM lub przez dodanie puli węzłów CVM do istniejącego klastra:
Utwórz klaster usługi AKS w węźle CVM:
Utwórz grupę zasobów w jednym z obsługiwanych regionów CVM:
az group create --resource-group <RG_NAME> --location <LOCATION>
Utwórz klaster usługi AKS z jednym węzłem CVM w grupie zasobów:
az aks create --name <CLUSTER_NAME> --resource-group <RG_NAME> -l <LOCATION> --node-vm-size Standard_DC4as_v5 --nodepool-name <POOL_NAME> --node-count 1
Skonfiguruj narzędzie kubectl, aby nawiązać połączenie z klastrem:
az aks get-credentials --resource-group <RG_NAME> --name <CLUSTER_NAME>
Dodaj pulę węzłów CVM do istniejącego klastra usługi AKS:
az aks nodepool add --cluster-name <CLUSTER_NAME> --resource-group <RG_NAME> --name <POOL_NAME > --node-vm-size Standard_DC4as_v5 --node-count 1
Sprawdź połączenie z klastrem
kubectl get
przy użyciu polecenia . To polecenie zwraca listę węzłów klastra.kubectl get nodes
Poniższy przykład danych wyjściowych przedstawia pojedynczy węzeł utworzony w poprzednich krokach. Upewnij się, że stan węzła to
Ready
.NAZWA STAN RÓL AGE WERSJA aks-nodepool1-31718369-0 Gotowy agent 6m44s wersja 1.12.8 Utwórz plik curl.yaml z następującą zawartością. Definiuje zadanie, które uruchamia kontener curl w celu pobrania zabezpieczeń AMD z punktu końcowego zaufanego zarządzania tożsamościami sprzętowymi. Aby uzyskać więcej informacji na temat zadań Kubernetes, zobacz dokumentację rozwiązania Kubernetes.
apiVersion: batch/v1 kind: Job metadata: name: curl spec: template: metadata: labels: app: curl spec: nodeSelector: kubernetes.azure.com/security-type: ConfidentialVM containers: - name: curlcontainer image: alpine/curl:3.14 imagePullPolicy: IfNotPresent args: ["-H", "Metadata:true", "http://169.254.169.254/metadata/THIM/amd/certification"] restartPolicy: "Never"
Plik curl.yaml zawiera następujące argumenty.
Nazwisko Pisz Opis Metadata
Logiczny Ustawienie zezwala na True
zwracanie zabezpieczeń.Uruchom zadanie, stosując plik curl.yaml :
kubectl apply -f curl.yaml
Sprawdź i poczekaj na ukończenie zadania zasobnika:
kubectl get pods
Oto przykładowa odpowiedź:
Nazwisko Gotowy Stan Ponownym uruchomieniu Wiek Curl-w7nt8 0/1 Ukończone 0 72 s Uruchom następujące polecenie, aby pobrać dzienniki zadań i sprawdzić, czy działa. Pomyślne dane wyjściowe powinny zawierać
vcekCert
wartości ,tcbm
icertificateChain
.kubectl logs job/curl
Następne kroki
- Dowiedz się więcej o dokumentacji zaświadczania platformy Azure.
- Dowiedz się więcej na temat poufnego przetwarzania na platformie Azure.