コンピューティングは、私たちの日常生活の不可欠な部分です。 私たちのスマートフォンから重要なインフラストラクチャまで、あらゆるものを動かします。 規制環境の厳格化、サイバー攻撃の普及、攻撃者の高度化により、当社が依存するコンピューティング テクノロジの信頼性と整合性を信頼することは困難になっています。 認証は、システムのソフトウェアとハードウェアコンポーネントを検証する手法です。 これは、信頼できるコンピューティング テクノロジを確立して確保するための重要なプロセスです。
この記事では、構成証明とは何か、Microsoft が現在提供している構成証明の種類、および Microsoft ソリューションでこれらの種類の構成証明シナリオを使用する方法について説明します。
証明とは
リモート構成証明では、1 つのピア (構成証明者) が自身に関する信頼できる情報 (証拠) を生成して、リモート ピア (証明書利用者) がその構成証明者を信頼できるピアと見なすかどうかを判断できるようにします。 別の重要なパーティ (検証者) がリモート構成証明手順を実行します。 簡単に言うと、構成証明は、コンピューター システムが信頼できるかどうかを証明する方法です。
構成証明とは何か、実際にどのように機能するかを理解するために、この記事では、コンピューティングにおける構成証明のプロセスと、パスポートとバックグラウンド チェックを使用した実際の例を比較します。
この記事で使用される定義とモデルについては、インターネット エンジニアリング タスク フォース (IETF) のリモート構成証明手順 (RAT) アーキテクチャ ドキュメントで説明されています。 詳細については、「 インターネット エンジニアリング タスク フォース: リモート構成証明手順 (RAT) アーキテクチャ」を参照してください。
パスポートモデル
このセクションでは、2 つのパスポート シナリオについて説明します。
パスポートモデル:入国管理デスク
市民は外国に旅行するためにパスポートを必要としています。 市民は、ホスト国/地域に証拠要件を提出します。
ホストの国/地域は、個人からポリシーコンプライアンスの証拠を受け取り、提供された証拠が、個人がパスポートを発行するためのポリシーに準拠していることを証明しているかどうかを検証します。
- 出生証明書は有効であり、変更されませんでした。
- 出生証明書の発行者は信頼されています。
- 個人は制限付きリストに含まれません。
ホスト国/地域が証拠がポリシーを満たしていると判断した場合、ホスト国/地域は市民のパスポートを発行します。
市民は外国に旅行しますが、最初に評価のために外国/地域の国境警備員にパスポートを提示する必要があります。
外国/地域の国境警備員は、それを信頼する前にパスポートに関する一連の規則をチェックします。
- パスポートは本物で、変更されませんでした。
- 信頼できる国/地域がパスポートを作成しました。
- パスポートの有効期限が切れていないか、失効していません。
- パスポートはビザまたは年齢要件のポリシーに準拠しています。
外国/地域の国境警備員がパスポートを承認し、市民は外国/地域に入ることができます。
パスポート モデル: コンピューティング
高信頼実行環境 (TEE) は、構成証明者とも呼ばれ、シークレット マネージャー (証明書利用者) からのシークレットの取得を必要とします。 シークレット マネージャーからシークレットを取得するには、TEE が信頼できる本物であることをシークレット マネージャーに証明する必要があります。 TEE は検証ツールにその証拠を提出して、それが信頼でき、本物であることを証明します。 証拠には、実行されたコードのハッシュ、ビルド環境のハッシュ、製造元によって生成された証明書が含まれます。
検証ツール (構成証明サービス) は、TEE によって提供される証拠が信頼できる次の要件を満たしているかどうかを評価します。
- 証明書は有効であり、変更されませんでした。
- 証明書の発行者は信頼されています。
- TEE の証拠は制限付きリストの一部ではありません。
検証者が、定義されたポリシーを満たす証拠であると判断した場合、検証者は構成証明の結果を作成して TEE に渡します。
TEE はシークレットをシークレット マネージャーと交換したいと考えています。 まず、評価のためにシークレットマネージャーに証明結果を提示する必要があります。
シークレット マネージャーは、構成証明結果を信用する前に、それに関する一連の規則を確認します。
- 認証結果は本物であり、変更されませんでした。
- 信頼された権威が証明結果を生成しました。
- 証明の結果は有効期限が切れておらず、もしくは取り消されていません。
- 構成証明の結果は、構成済みの管理者ポリシーに準拠します。
シークレット マネージャーは認証結果を承認し、TEE とシークレットを共有します。
バックグラウンド チェック モデル
このセクションでは、2 つのバックグラウンド チェック シナリオについて説明します。
バックグラウンド チェック: 学校の確認
ある人が、仕事を得るために雇用主候補とバックグラウンド チェックを行っています。 その人は、彼らが参加した学校から潜在的な雇用主に教育の背景を提出します。
雇用主は、個人から教育の背景を取得し、検証対象の各学校にこの情報を転送します。
学校は、その人が与える教育の背景が学校の記録を満たしているかどうかを評価します。
学校は、その人の教育の背景が自分の記録と一致することを確認し、雇用主にそれを送信する構成証明の結果を発行します。
雇用主 (証明書利用者とも呼ばれる) は、構成証明結果を信用する前に、それに関する一連の規則を確認します。
- 証明書の結果は本物であり、改ざんされておらず、学校から発行されたものです。
- 信頼できる学校が証明書の結果を生成しました。
雇用主は認証結果を承認し、その人を雇います。
バックグラウンド チェック: コンピューティング
TEE は、構成証明者とも呼ばれ、シークレット マネージャー (証明書利用者) からのシークレットの取得を必要とします。 シークレット マネージャーからシークレットを取得するには、TEE が信頼できる本物であることを証明する必要があります。 TEE はその証拠をシークレット マネージャーに送信して、信頼できる本物であることを証明します。 証拠には、実行されたコードのハッシュ、ビルド環境のハッシュ、製造元によって生成された証明書が含まれます。
シークレット マネージャーは TEE から証拠を取得し、検証対象の検証ツールに転送します。
検証ツール サービスは、TEE によって提供される証拠が、信頼されるポリシーの定義された要件を満たしているかどうかを評価します。
- 証明書は有効であり、変更されませんでした。
- 証明書の発行者は信頼されています。
- TEE の証拠は制限付きリストの一部ではありません。
検証ツールは TEE の構成証明結果を作成し、シークレット マネージャーに送信します。
シークレット マネージャーは、構成証明結果を信用する前に、それに関する一連の規則を確認します。
- 認証結果は本物であり、変更されませんでした。
- 信頼された権威が証明結果を生成しました。
- 証明の結果は有効期限が切れておらず、もしくは取り消されていません。
- 構成証明の結果は、構成済みの管理者ポリシーに準拠します。
シークレット マネージャーは認証結果を承認し、TEE とシークレットを共有します。
認証の種類
証明サービスは、2つの異なる方法で利用されます。 各メソッドには独自の利点があります。
クラウド プロバイダー
Azure Attestation は、Intel Software Guard Extensions (SGX) エンクレーブ、仮想化ベースのセキュリティ (VBS) エンクレーブ、トラステッド プラットフォーム モジュール、トラステッド起動、機密仮想マシン (VM) などの TEEs を証明するための、顧客向けのサービスおよびフレームワークです。 Azure Attestation などのクラウド プロバイダーの構成証明サービスを使用する利点は次のとおりです。
- それは自由に利用できます。
- ソース コードは、Microsoft Code Center Premium ツールを使用して政府機関のお客様が利用できます。
- Intel SGX エンクレーブ内で動作することで、使用中のデータを保護します。
- 1 つのソリューションで複数の TE を証明します。
- これには、強力なサービス レベル アグリーメント (SLA) が用意されています。
自分で作る
クラウドおよびハードウェア プロバイダーによって提供されるツールからコンピューティング インフラストラクチャを信頼する独自の構成証明メカニズムを作成できます。 Microsoft ソリューション用に独自の構成証明プロセスを構築するには、 トラステッド ハードウェア ID 管理 (THIM) の使用が必要になる場合があります。 このソリューションは、Azure に存在するすべての TE の証明書のキャッシュ管理を処理します。 構成証明ソリューションの最低限の基準を実施するための信頼できるコンピューティングベース情報が提供されます。 独自のアテステーションサービスを構築して利用する利点は次のようなものです。
- 100% 認証プロセスを規制とコンプライアンスの要件を満たすために制御します。
- 他のコンピューティング テクノロジとの統合のカスタマイズ。
Microsoft での構成証明シナリオ
多くの Microsoft 構成証明シナリオでは、クラウド プロバイダーと独自の構成証明サービスのどちらかを選択できます。 次のセクションでは、Azure オファリングと、使用可能な構成証明シナリオについて説明します。
アプリケーション エンクレーブを使用する VM
アプリケーション エンクレーブを持つ VM は、Intel SGX によって有効になります。 組織は、CPU がデータを処理している間、データを保護し、データを暗号化し続けるエンクレーブを作成できます。 Azure の Intel SGX エンクレーブは、Azure Attestation を使用して独自に証明できます。 詳細については、以下を参照してください。
機密仮想マシン
機密 VM は 、AMD SEV-SNP によって有効になります。 組織は、VM と基になるホスト管理コード (ハイパーバイザーを含む) の間でハードウェアベースの分離を行うことができます。 Azure Attestation を使用して、自分で Azure のマネージド機密 VM を証明できます。 詳細については、以下を参照してください。
Azure Container Instances 上の機密コンテナー
Azure Container Instances の機密コンテナー には、標準的なコンテナー ワークロードをさらにセキュリティで保護する一連の機能が用意されており、より高いデータ セキュリティ、データ プライバシー、ランタイム コード整合性の目標を達成できます。 機密コンテナーは、データの整合性、データの機密性、コードの整合性などの組み込み機能を提供するハードウェアベースの TEE で実行されます。 詳細については、以下を参照してください。