M365Con 2027 – 無料オンラインカンファレンス · 11–22 Jan 2027 · 120 sessions→ m365con.net

ブログ · Mirko Peters

Azure Confidential Computingでハードウェア構成証明を検証する方法

By ·

Azureのハードウェア構成証明の仕組みを解説し、AMD SEV-SNPとIntel SGXを比較するとともに、暗号検証をCI/CDパイプラインに組み込む方法を紹介します。

Automatically translated with AI from the original post. Read the English original

Cover: Azure Confidential Computing - Simply Explained

Azureのハードウェア構成証明は、機密ワークロードを読み込む前に、信頼された実行環境が正規のものであり改ざんされていないことを証明する、重要な暗号検証プロセスです。セキュアブートの測定値とハードウェアキーを、Microsoftおよびベンダーのベースラインと照合して評価することで、構成証明はクラウド事業者とテナントのデータプライバシーの間にある信頼のギャップを埋めます。

重要なポイント

  • ハードウェア構成証明は、信頼された実行環境(TEE)が正規のものであり、侵害されていないことを暗号的に検証します。
  • リモート構成証明サービスは、復号キーを提供する前に、プラットフォームの測定値をセキュリティベースラインと照合して評価します。
  • AMD SEV-SNPとIntel SGXのどちらのアーキテクチャも、リモート検証に依存しており、クラウド管理者が使用中のメモリを参照できないようにします。
  • 構成証明をCI/CDデプロイパイプラインに組み込むと、信頼性の検証が自動化され、改ざんされたコンテナーの起動を防止できます。
  • 現代のハイブリッドクラウド環境でゼロトラストの姿勢を維持するには、構成証明のハンドシェイクを理解することが不可欠です。

パブリッククラウドにおける信頼のギャップ

機密性の高いワークロードをパブリッククラウドへ移行する際、従来のセキュリティモデルでは、転送中のデータはTLSで、保存中のデータはAES-256暗号化で保護されます。しかし、依然として重大な脆弱性が残ります。それが「使用中のデータ」です。従来、プロセッサがコードを実行する際には、そのデータを復号してシステムメモリ上に平文で配置する必要がありました。マルチテナントのクラウド環境では、これはハイパーバイザー、クラウドインフラのプロバイダー、そして基盤となる物理ハードウェアへの管理者権限を持つすべての人を信頼することを意味していました。

Azure Confidential Computingは、ハードウェアベースの信頼された実行環境(TEE)を導入することで、このパラダイムを変えます。これらのセキュアなエンクレーブと分離された仮想マシンは、CPUのシリコンで直接管理される専用のハードウェアキーを使ってメモリの内容を暗号化します。しかし、鍵のかかった部屋を用意するだけでは半分にすぎません。暗号キーを渡す前に、錠前がこじ開けられていないこと、ドアが適切に作られていること、そして安全な境界内で不正なソフトウェアが動いていないことを検証する手段も必要です。

リモート構成証明の仕組み

リモート構成証明は、「デプロイ先のクラウド環境が本当に安全で、改ざんされていないと、どうすればわかるのか」という根本的な問いに答える検証の仕組みです。構成証明がなければ、ハイパーバイザーレベルのアクセス権を持つ攻撃者は、理論上は悪意のあるBIOSに差し替えたり、ブートローダーを改変したりでき、暗号キーがメモリに読み込まれた瞬間に傍受できてしまいます。

構成証明のワークフローは、厳密な多段階の暗号ハンドシェイクとして動作します。

ステップ1:セキュアブートとプラットフォームの測定

Azure Confidential VM やコンテナー インスタンスが起動するとき、ハードウェアとファームウェアは、ブート プロセスに関わるすべてのコンポーネントの暗号化測定値を記録します。対象には、ブートローダー、カーネル イメージ、初期 RAM ディスクが含まれます。これらの測定値は、CPU 内部のハードウェア レジスタに安全に保存され、ホスト オペレーティング システムやハイパーバイザーから変更することはできません。

手順 2: 暗号化レポートの生成

ワークロードが TEE 内で初期化されると、CPU にハードウェア署名付きのレポートを要求します。プロセッサーは、製造工場でシリコンに組み込まれた、変更不可能な秘密キーを使ってこの測定レポートに署名します。このレポートは、分離された環境内で実行されているソフトウェア スタックの正確な状態を表す、改ざんできないデジタル パスポートの役割を果たします。

手順 3: Azure Attestation Service による評価

署名済みのハードウェア レポートは、Microsoft Azure Attestation (MAA) サービス、または互換性のあるサードパーティの検証ツールに送信されます。Attestation サービスは、受け取った測定値を、テナントが定義した既知の正常なベースライン ポリシーと照合します。エンクレーブ内で実行されているコードが承認されたポリシーに一致すれば、サービスは Attestation トークンを発行します。

手順 4: シークレットの解放

有効な Attestation トークンがあれば、アプリケーションは安全に、データベースの資格情報、TLS 証明書、データ暗号化キーを Key Vault Managed HSM に要求できます。Key Vault はトークンを検証し、検証済みの TEE に対してのみシークレットを解放します。これにより、許可されていない環境が平文のデータにアクセスすることは決してありません。

アーキテクチャの違い: AMD SEV-SNP と Intel SGX

Attestation を実装するには、Azure Confidential Computing ノードを支える基盤のハードウェア アーキテクチャを理解する必要があります。Microsoft Azure は 2 つの主要なハードウェア テクノロジーをサポートしており、それぞれ分離と Attestation の方法がわずかに異なります。

Intel Software Guard Extensions (SGX) はプロセス レベルの分離に重点を置いています。SGX では仮想マシン全体を保護するのではなく、開発者が特定のコードやデータ構造を細粒度のエンクレーブに分離できます。SGX の Attestation は、ハードウェアの状態を検証可能なクオートにまとめる Quoting Enclave に大きく依存しており、そのクオートは Intel の Enhanced Privacy ID (EPID) または最新の Data Center Attestation Primitives (DCAP) 基盤によって検証されます。

一方、AMD Secure Encrypted Virtualization-Secure Nested Paging (SEV-SNP) は仮想マシン全体を保護します。SEV-SNP はハードウェアベースのメモリ暗号化を活用してメモリの整合性を確保し、悪意のあるハイパーバイザーによるゲスト物理アドレスの再マッピングを防ぎます。AMD SEV-SNP の VM が生成する Attestation レポートには、ゲストのポリシー構成と起動時の測定値が含まれるため、エンクレーブ固有の API 向けにコードを書き直すことなく、既存のコンテナー化されたアプリケーションを容易に移行 (リフト アンド シフト) できます。

CI/CD パイプラインへの Attestation の実装

クラウド アーキテクトや DevOps エンジニアにとって、Attestation レポートを手作業で検証するのは、拡張性にも実用性にも欠けます。回復力のあるクラウド インフラストラクチャを構築するには、Attestation を自動デプロイ パイプラインに深く組み込む必要があります。

Confidential ノードを備えた Azure Kubernetes Service (AKS) 上で動作する最新のコンテナー デプロイでは、サイドカー コンテナーやデバイス プラグインを使用して、Attestation のハンドシェイクを自動的に管理できます。機密 Pod が起動すると、Attestation クライアントがハードウェア レポートを取得し、Azure Attestation サービスに送信して、得られたトークンをキャッシュします。トークンが検証されて初めて、アプリケーション コンテナーがセキュアなボリュームをマウントし、リクエストの処理を開始します。

Attestation チェックをリリース ゲートに組み込むことで、意図的か偶発的かを問わず、許可されていないコードの変更がハードウェア測定値を即座に無効化することを保証できます。これにより、キーの解放プロセスが停止し、侵害されたワークロードが本番環境で起動することを防げます。

まとめ: 今日からデータ使用中の保護を

Azure Confidential Computingは、現代のインフラに対する脅威から機密性の高いクラウドワークロードを保護するための技術的な基盤を提供します。しかし、ハードウェアによる分離だけでは、厳密な検証がなければ不十分です。リモート構成証明を習得することで、クラウドアーキテクトはテナントのコードとベアメタルのハードウェアとの間に検証可能な信頼関係を確立でき、使用中のデータも保存時や転送時と同等に安全に保たれます。これらのクラウドセキュリティの概念を包括的に解説した内容を聴き、Microsoft 365 と Azure の全体像を把握するには、M365 FM Podcast のエピソード全編を聴いてください。

よくある質問

Azure Attestation の主な目的は何ですか?

Azure Attestation は、Trusted Execution Environment(信頼された実行環境)の信頼性を暗号学的に検証し、シークレットや暗号化キーが解放される前に、その内部で実行されているソフトウェアの整合性を検証する統合クラウドサービスです。

クラウド管理者はハードウェア構成証明を回避できますか?

いいえ。ハードウェア構成証明は、ハードウェアメーカーが CPU のシリコンに直接組み込んだ暗号化キーに依存しています。これらのキーはハイパーバイザーやクラウド運用者からアクセスできないため、管理者が侵害された環境に対して有効な構成証明レポートを偽造することはできません。

VM レベルとプロセスレベルの構成証明の違いは何ですか?

VM レベルの構成証明(AMD SEV-SNP など)は、仮想マシンのオペレーティングシステム全体とそのワークロードを測定して検証します。プロセスレベルの構成証明(Intel SGX など)は、標準のオペレーティングシステム環境内の特定のコードルーチンやエンクレーブを分離し、その構成証明を行います。

構成証明トークンは Azure Key Vault とどのように連携しますか?

機密ワークロードが構成証明のハンドシェイクを正常に完了すると、署名付きトークンを受け取ります。このトークンを Azure Key Vault Managed HSM に提示して環境の整合性を証明すると、暗号化キーやデータベースの資格情報が自動的に解放されます。

Entities in this article

Confidential computing Azure Key Vault Container Security baselines Virtual machine Microsoft Azure Hybrid cloud

Related articles

RSS