Microsoft Azure Attestation に関してよく寄せられる質問

この記事では、Azure Attestation に関してよく寄せられる質問への回答を提供します。

この記事で Azure の問題に対処できない場合は、Azure サポート ページで Azure サポート リクエストを送信することもできます。

エンクレーブ構成証明における Trusted Hardware Identity Management (THIM) とそのロールとは何か

Trusted Hardware Identity Management (THIM) は、Intel の Azure Confidential Computing (ACC) ノードの Azure セキュリティ ベースラインを取り込み、データをキャッシュします。 キャッシュされた情報は、信頼できる実行環境 (TEE) の検証時に Azure Attestation によってさらに使用されます。

THIM は次の理由で推奨されます。

  • 高可用性を提供します
  • 外部でホストされるサービスとインターネット接続への依存を軽減します。
  • 新しいバージョンの Intel 証明書、CRL、信頼済みのコンピューティング ベース (TCB) 情報、Intel からの ACC ノードの Quoting Enclave ID を定期的に取り込みます。 したがってこのサービスでは、TEE の検証中に Azure のセキュリティ ベースラインが Azure Attestation によって参照可能であることを確認し、無効または失効した Intel 証明書による構成証明の失敗を大幅に削減します。

SGX 構成証明は、Azure 以外の環境の Azure Attestation でサポートされていますか

不正解です。 Azure Attestation では、TEE を評価するとき、Trusted Hardware Identity Management (THIM) によって示されるセキュリティ ベースラインに依存します。 THIM は現在、Azure Confidential Computing ノードのみをサポートするように設計されています。

SGX エンクレーブを証明するために Azure Attestation によってどのような検証が実行されますか

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 Confidential Computing 仮想マシンをインストールした後、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 のための処理およびレプリケーション中に顧客の保存データを格納します。