構成証明

コンピューティングは私たちの毎日の生活で重要な部分であり、スマートフォンから重要インフラまであらゆるものの動力源となります。 しかし、規制環境の増加、サイバー攻撃の普及、攻撃者の高度化により、私たちが依存しているコンピューティング テクノロジの信頼性と整合性を信頼することが困難になっています。 構成証明、つまりシステムのソフトウェアおよびハードウェア コンポーネントを検証する手法は、私たちが頼りにするコンピューティング テクノロジを信頼できるものにするための重要プロセスです。

このドキュメントでは、構成証明とはどのようなものか、Microsoft が今日提供する構成証明の種類、そしてお客様がこれらの種類の構成証明シナリオを Microsoft ソリューションでどのように利用できるかについて考察していきます。

構成証明とは

リモート構成証明では、"1 つのピア ("証人") が、それ自体に関する信用可能な情報 ("証拠") を生成して、リモート ピア ("証明書利用者") が、その証人を信頼できるピアと見なすかどうかを判断できるようにします。 リモート構成証明の手順は、追加の重要なパーティ ("検証者") によって円滑になります。 簡単に言うと、構成証明は、コンピューター システムが信頼できるものであることを証明する方法です。 構成証明とは何か、実際にどのように機能するかを理解するために、コンピューティングにおける構成証明のプロセスを、パスポートとバックグラウンド チェックを使用して実際の例と比較します。 この文書で使用する定義とモデルは、Internet Engineering Task Force (IETF) の Remote Attestation procedureS (RATs) Architecture ドキュメントで説明されています。 詳細については、「Internet Engineering Task Force: Remote ATtestation procedureS (RATs) Architecture」を参照してください。

パスポート モデル

パスポート モデル - Immigration Desk

  1. 国民がパスポートを必要とするのは、外国/地域へ旅行するためです。 国民は必要証明を、ホスト国/地域に提出します。
  2. ホスト国/地域は、個人からポリシーコンプライアンスの証拠を受け取り、提供された証拠は、その個人がパスポートを発行するためのポリシーに準拠していることを証明しているかどうかを検証します。
    • 出生証明書が正当で、改ざんされていないこと。
    • 出生証明書の発行者が信頼できる
    • 個人が制限リストの中にないこと
  3. ホスト国/地域が証拠書類がポリシーを満たしていると判断すると、ホスト国/地域はパスポートを国民に発行します。
  4. 国民は外国へ旅行しますが、最初に自分のパスポートを外国/地域の国境監視員へ提示して審査してもらわなければなりません。
  5. ホスト国/地域の国境監視員はパスポートに記載された一連の規則を調べた後で、初めてそれを信用します
    • パスポートが複製されたものでなく、改ざんされていないこと。
    • パスポートが信頼できる国/地域によって作成されていること。
    • パスポートが期限を過ぎておらず、失効していないこと。
    • パスポートが査証政策や年齢制限に従っていること。
  6. 外国/地域の国境監視員はパスポートを承認し、国民は外国/地域に入国することができます。

Diagram of remote attestation with the passport model for an immigration desk.

パスポート モデル - コンピューティング

  1. Trusted Execution Environment (TEE) は、立会い証人とも呼ばれ、 シークレット マネージャー (証明書利用者とも呼ばれます) からシークレットを得られるよう求めます。 シークレット マネージャーからシークレットを得るため、TEE はそれが信頼でき本物であることをシークレット マネージャーに対して証明しなければなりません。 TEE はその証拠を検証側に提出してそれが信頼でき本物であること、その実行済みコード、そのビルド環境のハッシュ、その製造者によって生成された証明書を含んでいることを証明します。
  2. 検証側 (構成証明サービス) は、TEE から渡された証拠が信頼を得るために次の要件を満たしているかどうかを審査します。
    • 証明書が正当で、改ざんされていないこと。
    • 証明書の発行者が信頼できる
    • TEE 証拠が制限リストの中にないこと
  3. 検証側は証拠が定義されたポリシーを満たしていると判断すると、構成証明結果を作成してそれを TEE に与えます。
  4. TEE はシークレットをシークレット マネージャーと交換したいのですが、先に構成証明結果をシークレット マネージャーに提示して審査してもらわなければなりません。
  5. シークレット マネージャーは構成証明結果上の一連の規則を調べたのちに、それを信頼します
    • 構成証明結果が複製されたものでなく、改ざんされていないこと。
    • 構成証明結果が信頼できる機関によって作成されていること。
    • 構成証明結果が期限を過ぎておらず、失効していないこと。
    • 構成証明結果が構成された管理者ポリシーに従っていること。
  6. シークレット マネージャーは構成証明結果を承認して、TEE とシークレットを交換します。

Diagram of remote attestation with the passport model for computing.

身元調査モデル

身元調査モデル – 学校確認

  1. 個人が職を得るため、将来の雇用主による身元調査を行っています。 人は履修した学校の学歴書を将来の雇用主に提出します。
  2. 雇用主は学歴書を個人から取り出して、検証すべきそれぞれの学校へ転送します。
  3. 学校は、個人から受け取った学歴書が学校の記録と合っているか調べます。
  4. 学校は、個人の学歴がその記録と合っていることを検証する構成証明結果を発行して、それを雇用主へ送ります
  5. 雇用主 (証明書利用者とも呼ばれる) は、構成証明結果に記載された一連の規則を調べてから初めてそれを信用します。
    • 構成証明結果が複製されたものでなく、改ざんされておらず、まちがいなく学校から受け取ったものであること。
    • 構成証明結果が信頼できる学校によって作成されていること。
  6. 雇用主は構成証明結果を承認して、個人を雇用します。

Diagram of remote attestation with the background check model for education background.

身元調査 – コンピューティング

  1. Trusted Execution Environment (TEE) は、立会い証人とも呼ばれ、 シークレット マネージャー (証明書利用者とも呼ばれます) からシークレットを得られるよう求めます。 シークレット マネージャーからシークレットを得るため、TEE はそれが信頼でき本物であることを証明しなければなりません。 TEE はその証拠をシークレット マネージャーに送ってそれが信頼でき本物であること、その実行済みコード、そのビルド環境のハッシュ、その製造者によって生成された証明書を含んでいることを証明します。
  2. シークレット マネージャーは TEE から証拠を取り出して、検証側へ検証するために転送します。
  3. 検証側サービスは、TEE から渡された証拠が信頼を得るために定義されたポリシー要件を満たしているかどうかを審査します。
    • 証明書が正当で、改ざんされていないこと。
    • 証明書の発行者が信頼できる。
    • TEE 証拠が制限リストの中にないこと。
  4. 検証側は TEE の構成証明結果を作成して、シークレット マネージャーへ送ります。
  5. シークレット マネージャーは構成証明結果上の一連の規則を調べてから、初めてそれを信用します。
    • 構成証明結果が複製されたものでなく、改ざんされていないこと。
    • 構成証明結果が信頼できる機関によって作成されていること。
    • 構成証明結果が期限を過ぎておらず、失効していないこと。
    • 構成証明結果が構成された管理者ポリシーに従っていること。
  6. シークレット マネージャーは構成証明結果を承認して、TEE とシークレットを交換します。

Diagram of remote attestation with the background check model for computing.

構成証明の種類

構成証明サービスを利用する方法は 2 つあり、それぞれに利点があります。

クラウド プロバイダー

Microsoft では、顧客向けサービスである Microsoft Azure Attestation (MAA) と、Trusted Execution Environments (TEE) を証明するための Intel Software Guard Extensions (SGX) エンクレーブ、仮想化ベース セキュリティ (VBS) エンクレーブ、Trusted Platform Modules (TPM)、Trusted Launch and Confidential Virtual Machines のようなフレームワークを提供しています。 クラウド プロバイダーの構成証明サービス (Azure Attestation など) を使用することの利点として、次のようなものがあります。

  • 自由に利用できる
  • ソース コードを政府機関顧客が Microsoft Code Center Premium Tool を介して利用できる
  • 使用中のデータを Intel SGX エンクレーブ内で操作することにより保護できる。
  • 複数の TEE をひとつのソリューションで証明できる。
  • 強力なサービス レベル アグリーメント (SLA) がある

独自にビルドする

お客様は独自の構成証明メカニズムを作成して、そのコンピューティング インフラストラクチャを、クラウドおよびハードウェア プロバイダーから提供されるツールから信頼することができます。 独自の Microsoft ソリューション用構成証明プロセスを構築するには Trusted Hardware Identity Management (THIM) の使用が必要になる場合があります。これは、Azure に存在するすべての高信頼実行環境 (TEE) の証明書のキャッシュ管理を処理し、構成証明ソリューションの最小ベースラインを実施するためのトラステッド コンピューティング ベース (TCB) 情報を提供するソリューションです。 独自の構成証明サービスを構築して使用することの利点として、次のようなものがあります。

  • 構成証明プロセスを 100% 管理することで規制とコンプライアンスの要件を満たす
  • 他のコンピューティング テクノロジとの統合のカスタマイズ

Microsoft の構成証明シナリオ

数多くある Microsoft の構成証明シナリオでは、お客様は Cloud Provider シナリオと Build Your Own 構成証明サービス シナリオの 2 つから選ぶことができます。 それぞれのセクションで、Azure 商品と利用できる構成証明シナリオについて考えましょう。

アプリケーション エンクレーブ付き VM

アプリケーション エンクレーブ付き VM はIntel SGX により有効になります。これを使用すると、組織はデータを保護するエンクレーブを作成し、CPU でデータが処理されている間もデータの暗号化を維持できます。 お客様は Intel SGX エンクレーブを、MAA を使用した Azure で自分で証明できます。

機密仮想マシン

機密仮想マシンは AMD SEV-SNP により有効になります。これを使用すると組織は、仮想マシン間のハードウェア ベースの分離、基本的ホスト管理コード (ハイパーバイザーを含む) を実現できます。 お客様は自分のマネージド機密仮想マシンを、MAA を使用した Azure で自分で証明できます。

Azure Container Instances 上の機密コンテナー

Azure Container Instances 上の機密コンテナーには、より高度なデータ セキュリティ、データ プライバシー、実行時のコードの整合性目標を実現するために、標準コンテナー ワークロードをさらにセキュリティで保護するための一連の機能が用意されています。 機密コンテナーは、データの整合性、データの機密性、コードの整合性などの組み込み機能を提供する、ハードウェアに基づく高信頼実行環境 (TEE) で実行されます。