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.

Diagram of Secure Key Release Flow.

Poniższe kroki dotyczą usługi AKV Premium.

Krok 1. Tworzenie kopii zapasowej modułu HSM usługi Key Vault w warstwie Premium

Postępuj zgodnie z instrukcjami podanymi tutaj, aby uzyskać informacje na temat tworzenia usługi AKV opartej na interfejsie wiersza polecenia az

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:

Często zadawane pytania

Czy mogę wykonać skr z ofertami przetwarzania niepoufnego?

Nie 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?

Nie 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?

Nie Obecnie nie jest to możliwe.

Odwołania

Przykłady zasad SKR

Usługa Azure Container Instance z poufnymi kontenerami Secure Key Release with container side-cars (Usługa Azure Container Instance z poufnymi kontenerami Secure Key Release with container side-cars)

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

Zestawy SDK usługi AKV