この記事では、Azure Attestation に関してよく寄せられる質問への回答を提供します。
この記事で Azure の問題に対処できない場合は、Azure サポート ページで Azure サポート リクエストを送信することもできます。
エンクレーブ構成証明での Trusted Hardware Identity Management (THIM) とはどのようなもので、その役割は何ですか?
Trusted Hardware Identity Management (THIM) は、Intel の Azure Confidential Computing (ACC) ノードの Azure セキュリティ ベースラインを取り込み、データをキャッシュします。 Azure Attestation では、高信頼実行環境 (TE) の検証にキャッシュされた情報も使われます。
THIM は次の理由で推奨されます。
- 高可用性を提供します
- 外部でホストされるサービスとインターネット接続への依存を軽減します。
- 新しいバージョンの Intel 証明書、CRL、トラステッド コンピューティング ベース (TCB) の情報、Intel からの ACC ノードの Quoting Enclave ID を定期的にフェッチします。 このサービスは、TEE の検証中に Azure のセキュリティ ベースラインが Azure Attestation によって参照可能であることを確認し、無効または失効した Intel 証明書による構成証明の失敗を大幅に減らします。
Software Guard Extensions (SGX) 構成証明は、Azure 以外の環境の Azure Attestation でサポートされていますか?
いいえ。 Azure Attestation では、TEE を評価するとき、Trusted Hardware Identity Management (THIM) によって示されるセキュリティ ベースラインに依存します。 THIM は現在、Azure Confidential Computing ノードのみをサポートするように設計されています。
Azure Attestation では、SGX エンクレーブの構成証明に関してどのような検証が実行されますか?
SGX 構成証明プロセス中に、Azure Attestation では次の検証が実行されます。
- 署名されたエンクレーブ クォートの信頼されたルートが Intel に属しているかどうかを検証します。
- Trusted Hardware Identity Management (THIM) によって定義される Azure セキュリティ ベースラインを TEE クォートが満たすか検証します。
- 顧客が構成認証プロバイダーを作成し、カスタム ポリシーを設定した場合、上記の検証に加えて、Azure Attestation では構成認証ポリシーに対して TEE の見積もりの評価も行われます。 お客様は、構成証明ポリシーを使って、TEE の認可規則を定義でき、構成認証トークンを生成するための発行規則も指定できます。
検証者は、Azure Attestation でサポートされている SGX 構成証明の関連資料をどのようにして取得できますか?
一般に、Intel を信頼のルートとする構成証明モデルでは、エンクレーブの証拠を取得するため、構成証明クライアントと Enclave API 間で通信が行われます。 Enclave API は、内部的に Intel PCK キャッシュ サービスを呼び出して、証明するノードの Intel の証明書を取得します。 証明書は、エンクレーブ証拠に署名し、リモートで構成証明可能な関連資料を生成するために使われます。
Azure Attestation に対しても同じプロセスを実装できます。 ただし、Trusted Hardware Identity Management (THIM) によって提供されるベネフィットを得るため、ACC 仮想マシンをインストールした後で、Azure DCAP ライブラリをインストールすることをお勧めします。 Azure DCAP ライブラリをインストールすると、Intel との契約に基づいて、エンクレーブの証拠生成の要求が Intel PCK キャッシュ サービスから THIM にリダイレクトされます。 Azure DCAP ライブラリは、Windows および Linux ベースの環境でサポートされています。
他の SGX 構成証明モデルから Azure Attestation に移行するにはどうすればよいですか?
- Azure 機密コンピューティング仮想マシンをインストールした後、Trusted Hardware Identity Management (THIM) で提供されるベネフィットを得るために、Azure DCAP ライブラリ (Windows/Linux) をインストールします。
- エンクレーブの証拠を取得し、Azure Attestation に要求を送信できるリモート構成証明クライアントを作成する必要があります。 リファレンスについては、コード サンプルを参照してください。
- 構成証明要求は、既定のプロバイダーまたはカスタム構成証明プロバイダーの REST API エンドポイントに送信できます。
- 2018-09-01-preview API バージョンでは、クライアントは Microsoft Entra アクセス トークンと証拠を SGX 構成証明 API エンドポイントに送信する必要があります。 Microsoft Entra アクセス トークンは、2020-10-01 API バージョンで SGX 構成証明を実行するために必要なパラメーターではありません。
証明書利用者が構成証明トークンの整合性を検証し、Azure Attestation がエンクレーブ内で実行されていることを確認するにはどうすればよいですか?
Azure Attestation によって生成された構成証明トークンは、自己署名証明書を使用して署名されます。 署名証明書は、OpenID メタデータ エンドポイント経由で公開されます。 証明書利用者は、このエンドポイントから署名証明書を取得し、構成証明トークンの署名の検証を実行できます。 署名証明書には、Azure Attestation が実行される TEE の SGX クォートも含まれています。 Azure Attestation が有効な SGX エンクレーブ内で実行されているかどうかを証明書利用者も確認したいと考えている場合は、署名証明書から SGX クォートを取得し、ローカルで検証することができます。 詳しくは、コード サンプルを参照してください。
構成証明トークンの有効期間はどのくらいですか?
構成証明トークンの有効期間は 8 時間です。 現在、値をカスタマイズするプロビジョニングはありません。
OpenID メタデータ エンドポイントから、署名の検証に使用する証明書を識別する方法
OpenID メタデータ エンドポイントで公開されている複数の証明書は、Azure Attestation でサポートされるさまざまなユース ケース (たとえば、SGX 構成証明) に対応します。 RFC 7515 によって規定される標準に従って、構成証明トークン ヘッダーの kid パラメーターに一致するキー ID (kid) を持つ証明書が署名の検証に使用されます。 一致する kid が見つからない場合は、OpenID メタデータ エンドポイントによって公開されているすべての証明書を試すことが想定されます。
証明書利用者は、検証済みの高信頼実行環境 (TEE) とシークレットを共有できますか?
TEE のエビデンス作成時に、TEE 内で実行されるコードの証拠には、任意の情報を含めることができます。 たとえば、TEE で 1 つ以上の非対称キー ペアを作成し、これらのキー ペアの公開キー コンポーネントを JWKS JSON 文字列としてシリアル化し、TEE の証拠に JWKS JSON 文字列を RunTimeData { クォート、JWKS JSON 文字列 } として含めることができます。 Azure Attestation は、RuntimeData の SHA256 ハッシュが、クォートの "report data" 属性の下位 32 バイトと一致するかどうかをチェックします。 TEE の証拠の評価後、Azure Attestation は "x-ms-runtime" 要求の下に "keys" という名前の要求として利用できる JWKS を持つ JWT を生成します。 RunTimeData は、さらに証明書利用者がセキュリティで保護されたチャネルを確立し、TEE にデータを安全に送信するために使用することができます。
Azure Attestation では、顧客データはどこに格納されますか?
Azure Attestation では、顧客がサービス インスタンスをデプロイする地域内に、BCDR のための処理およびレプリケーション中に顧客の保存データを格納します。