Funkcja bezpiecznego wydania klucza przy użyciu usług AKV i Azure Confidential Computing (ACC)
Secure Key Release (SKR) to funkcja zarządzanego modułu HSM i premium usługi Azure Key Vault (AKV). Bezpieczne wydanie klucza umożliwia wydanie klucza chronionego przez moduł HSM z usługi AKV do attestowanego zaufanego środowiska wykonawczego (TEE), takiego jak bezpieczna enklawa, tee oparte na maszynie wirtualnej itp. SKR dodaje kolejną warstwę ochrony dostępu do kluczy odszyfrowywania/szyfrowania danych, gdzie można kierować do aplikacji i środowiska uruchomieniowego TEE ze znaną konfiguracją uzyskać dostęp do materiału klucza. Zasady SKR zdefiniowane w momencie tworzenia klucza możliwego do wyeksportowania zarządzają dostępem do tych kluczy.
Obsługa skr z ofertami AKV
Ogólny przepływ bezpiecznego wydania klucza za pomocą rozwiązania TEE
Skr może zwalniać klucze tylko na podstawie oświadczeń wygenerowanych przez usługę Microsoft Azure Attestation (MAA). Istnieje ścisła integracja definicji zasad SKR z oświadczeniami MAA.
Poniższe kroki dotyczą usługi AKV Premium.
Krok 1. Tworzenie kopii zapasowej modułu HSM usługi Key Vault w warstwie Premium
Pamiętaj, aby ustawić wartość [--sku] na "premium".
Krok 2. Tworzenie zasad bezpiecznego wydania klucza
Zasady bezpiecznego wydania klucza to zasady wydania formatu json zdefiniowane w tym miejscu , które określają zestaw oświadczeń wymaganych oprócz autoryzacji do wydania klucza. Roszczenia tutaj są roszczenia oparte MAA, jak owołuje się tutaj dla SGX i tutaj dla AMD SEV-SNP CVM.
Aby uzyskać więcej informacji, odwiedź stronę przykładów specyficznych dla usługi TEE. Aby uzyskać więcej informacji na temat gramatyki zasad SKR, zobacz Gramatyka zasad bezpiecznego wydania kluczy usługi Azure Key Vault.
Przed ustawieniem zasad SKR upewnij się, że aplikacja TEE jest uruchamiana za pośrednictwem zdalnego przepływu zaświadczania. Zdalne zaświadczanie nie jest omówione w ramach tego samouczka.
Przykład
{
"version": "1.0.0",
"anyOf": [ // Always starts with "anyOf", meaning you can multiple, even varying rules, per authority.
{
"authority": "https://sharedweu.weu.attest.azure.net",
"allOf": [ // can be replaced by "anyOf", though you cannot nest or combine "anyOf" and "allOf" yet.
{
"claim": "x-ms-isolation-tee.x-ms-attestation-type", // These are the MAA claims.
"equals": "sevsnpvm"
},
{
"claim": "x-ms-isolation-tee.x-ms-compliance-status",
"equals": "azure-compliant-cvm"
}
]
}
]
}
Krok 3. Tworzenie klucza możliwego do wyeksportowania w usłudze AKV z dołączonymi zasadami SKR
Szczegółowe informacje o typie klucza i innych skojarzonych atrybutach można znaleźć tutaj.
az keyvault key create --exportable true --vault-name "vault name from step 1" --kty RSA-HSM --name "keyname" --policy "jsonpolicyfromstep3 -can be a path to JSON"
Krok 4. Aplikacja działająca w środowisku TEE wykonująca zdalne zaświadczanie
Ten krok może być specyficzny dla typu TEE, którego używasz w aplikacji Enklawy Intel SGX lub poufnych maszyn wirtualnych opartych na technologii AMD SEV-SNP (CVM) lub poufnych kontenerów działających w enklawie CVM z procesorem AMD SEV-SNP itp.
Postępuj zgodnie z poniższymi przykładami dotyczącymi różnych typów TEE oferowanych za pomocą platformy Azure:
- Aplikacja w ramach rozwiązania AMD EV-SNP opartego na oprogramowaniu CVM wykonującego bezpieczne wydanie klucza
- Poufne kontenery z usługą Azure Container Instances (ACI) z kontenerami samochodowymi SKR
- Aplikacje oparte na technologii Intel SGX wykonujące bezpieczne wydanie klucza — implementacja rozwiązania open source Mystikos
Często zadawane pytania
Czy mogę wykonać skr z ofertami przetwarzania niepoufnego?
L.p. Zasady dołączone do skr rozumieją tylko oświadczenia MAA skojarzone ze sprzętowymi teesami.
Czy mogę przenieść własnego dostawcę lub usługę zaświadczania i użyć tych oświadczeń dla usługi AKV do weryfikacji i wydania?
L.p. Usługa AKV już dziś rozumie i integruje się z usługą MAA.
Czy mogę użyć zestawów SDK usługi AKV do wykonania klucza RELEASE?
Tak. Najnowsza wersja zestawu SDK zintegrowana z kluczem obsługi interfejsu API usługi AKV w wersji 7.3.
Czy możesz udostępnić kilka przykładów zasad wydania kluczy?
Tak, szczegółowe przykłady według typu TEE są wymienione tutaj.
Czy mogę dołączyć typ zasad SKR z certyfikatami i wpisami tajnymi?
L.p. Obecnie nie jest to możliwe.
Informacje
CvM w aplikacjach AMD SEV-SNP z przykładem bezpiecznego wydania klucza
Interfejs API REST usługi AKV ze szczegółami skr
Gramatyka zasad bezpiecznego wydania kluczy w usłudze Azure Key Vault