AKV と Azure Confidential Computing (ACC) を使用したセキュリティで保護されたキー リリース機能

セキュリティで保護されたキー リリース (SKR) は、Azure Key Vault (AKV) マネージド HSM および Premium オファリングの機能です。 セキュリティで保護されたキー リリースを使用すると、AKV から、セキュリティで保護されたエンクレーブや VM ベースの TEE などの構成証明済み高信頼実行環境 (TEE) に KSM 保護キーをリリースできるようになります。SKR では、データ暗号化解除/暗号化キーにアクセス保護の別の層を追加します。ここでは、既知の構成のアプリケーション + TEE ランタイム環境をターゲットにして、キー マテリアルにアクセスすることができます。 エクスポート可能なキーの作成時に定義された SKR ポリシーによって、これらのキーへのアクセスが制御されます。

AKV オファリングを使用した SKR サポート

TEE を使用した全体的なセキュリティで保護されたキー リリース フロー

SKR では、Microsoft Azure Attestation (MAA) によって生成された要求に基づいてのみキーをリリースできます。 SKR ポリシー定義と MAA 要求とは緊密に統合されています。

セキュリティで保護されたキー リリース フローの図。

AKV Premium の手順は次のとおりです。

手順 1: Premium HSM でバックアップされたキー コンテナーを作成する

Az CLI ベースの AKV の作成については、こちらの詳細に従ってください

必ず [--sku] の値を "premium" に設定してください。

手順 2: セキュリティで保護されたキー リリース ポリシーを作成する

セキュリティで保護されたキー リリース ポリシーは、こちらで定義されている JSON 形式のリリース ポリシーであり、キーをリリースするための認可に加えて必要とされる一連の要求が指定されています。 ここでの要求は、SGX についてはこちらで、AMD SEV-SNP CVM についてはこちらで参照されている MAA ベースの要求です。

詳細については、TEE 固有の例に関するページを参照してください。 SKR ポリシーの文法の詳細については、「Azure Key Vault セキュリティで保護されたキー リリース ポリシーの文法」を参照してください。

SKR ポリシーを設定する前に、必ずリモート構成証明フローに従って TEE アプリケーションを実行してください。 このチュートリアルでは、リモート構成証明については説明しません。

{
    "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"
                }
            ]
        }
    ]
}


手順 3: アタッチされた SKR ポリシーで、エクスポート可能なキーを AKV に作成する

キーの種類と関連するその他の属性の正確な詳細については、こちらを参照してください。

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"

手順 4: リモート構成証明を行う TEE 内で実行されているアプリケーション

この手順は、アプリケーションを実行している TEE の種類に特有の場合があります (Intel SGX エンクレーブや、AMD SEV-SNP を使用した CVM エンクレーブで実行されている AMD SEV-SNP ベースの機密仮想マシン (CVM) または機密コンテナーなど)。

Azure を使用したさまざまな種類の TEE オファリングについては、次の参照例に従ってください。

よくあるご質問 (FAQ)

コンフィデンシャル コンピューティング以外のオファリングで SKR を実行できますか?

不正解です。 SKR にアタッチされたポリシーは、ハードウェア ベースの TEE に関連付けられている MAA 要求のみを認識します。

独自の構成証明プロバイダーまたはサービスを持ち込んで、AKV での検証およびリリースを要求できますか?

不正解です。 AKV は現在、MAA のみに対して認識および統合します。

AKV SDK を使用してキー リリースを実行できますか?

はい。 7.3 AKV API と統合された最新の SDK はキー リリースをサポートしています。

キー リリース ポリシーの例はありますか?

はい。TEE の種類別の詳細な例については、こちらに記載されています。

SKR の種類のポリシーを証明書とシークレットにアタッチできますか?

不正解です。 現時点ではありません。

References

SKR ポリシーの例

コンテナー サイドカーを伴う機密コンテナーのセキュリティで保護されたキー リリースを使用した Azure Container Instance

セキュリティで保護されたキー リリースを使用した AMD SEV-SNP アプリケーションでの CVM の例

SKR を使用した AKV REST API の詳細

Azure Key Vault セキュリティで保護されたキー リリース ポリシーの文法

AKV SDK