vSphere では、仮想マシンに Virtual Intel® Software Guard Extensions (vSGX) を設定できます。vSGX を使用すると、ワークロードのセキュリティを強化できます。

最近の Intel 製 CPU の一部には、Intel® Software Guard Extensions (Intel® SGX) と呼ばれるセキュリティ拡張機能が実装されています。Intel SGX は、特定のコードおよびデータを開示や変更から保護しようとするアプリケーション開発者が使用できる、プロセッサ固有のテクノロジーです。Intel SGX では、エンクレーブと呼ばれるメモリのプライベート領域をユーザーレベルのコードで定義できます。エンクレーブの内容は、エンクレーブの外部で実行されるコードからアクセスできないように保護されます。

ハードウェアで Intel SGX テクノロジーが使用可能な場合、vSGX により仮想マシンで SGX を使用できます。vSGX を使用するには、SGX 対応の CPU に ESXi ホストをインストールし、ESXi ホストの BIOS で SGX を有効にする必要があります。vSphere Client を使用して、仮想マシンで SGX を有効にすることができます。

vSphere 8.0 以降では、vSGX 対応の仮想マシンにリモート認証を使用できます。Intel SGX リモート認証は、信頼されたリモート エンティティと、認証された安全な通信チャネルを確立するためのセキュリティ メカニズムです。SGX エンクレーブを使用して仮想マシンのリモート認証を使用する場合、単一の CPU ソケットを備えたホストでは Intel の登録は必要ありません。複数の CPU ソケットを持つホストで実行されている仮想マシンでリモート認証を有効にするには、最初にホストを Intel Registration Server に登録する必要があります。複数の CPU ソケットを持つ SGX 対応ホストが Intel Registration Server に登録されていない場合、リモート認証を必要としない vSGX 対応の仮想マシンのみをパワーオンできます。

Intel Registration Server へのマルチソケット ESXi ホストの登録の詳細については、『vCenter Server およびホストの管理』ドキュメントを参照してください。

vSGX の開始

ハードウェアで Intel SGX テクノロジーが使用可能な場合、仮想マシンでも SGX を使用できます。

vSGX での vSphere の要件

vSGX を使用するには、vSphere 環境が以下の要件を満たす必要があります。

  • 仮想マシンの要件:
    • EFI ファームウェア
    • ハードウェア バージョン 17 以降
    • リモート認証を有効にする場合はハードウェア バージョン 20 以降
  • コンポーネントの要件:
    • vCenter Server 7.0 以降
    • ESXi 7.0 以降
    • SGX 対応の CPU に ESXi ホストをインストールし、ESXi ホストの BIOS で SGX を有効にする必要があります。
    • ホストのリモート認証を有効にするには、ホストを Intel Registration Server に登録します。これにより、ホストで実行されている仮想マシンはリモート認証を使用できます。マルチソケット ESXi を登録する方法の詳細については、『vCenter Server およびホストの管理』ドキュメントを参照してください。
  • ゲスト OS のサポート:
    • Linux
    • Windows Server 2016(64 ビット)以降
    • Windows 10(64 ビット)以降

vSGX でサポートされている Intel 製ハードウェア

vSGX でサポートされている Intel 製ハードウェアについては、https://www.vmware.com/resources/compatibility/search.phpの『vSphere 互換性ガイド』を参照してください。

特定の CPU では、ESXi ホストで SGX を有効にするためにハイパースレッディングをオフにする必要があります。詳細については、VMware ナレッジベースの記事 (https://kb.vmware.com/s/article/71367) を参照してください。

vSGX でサポートされない VMware の機能

vSGX を有効にした仮想マシンでは、次の機能はサポートされません。

  • vMotion/DRS 移行
  • 仮想マシンのサスペンドおよびレジューム
  • 仮想マシンのスナップショット(仮想マシンのメモリのスナップショットを作成しない場合はサポートされます)
  • フォールト トレランス
  • ゲストの整合性 (GI)(VMware AppDefense™ 1.0 のプラットフォーム基盤)
注:

Intel SGX アーキテクチャの機能上の理由により、これらの VMware 機能はサポートされません。VMware 側の欠陥によるものではありません。

仮想マシンでの vSGX の有効化

仮想マシンを作成するときに、その仮想マシンの vSGX を有効にすることができます。

前提条件

vSGX での vSphere の要件を参照してください。

手順

  1. vCenter ServervSphere Client を使用して接続します。
  2. インベントリ内のオブジェクトから、仮想マシンの有効な親オブジェクト、例えば ESXi ホストまたはクラスタを選択します。
  3. オブジェクトを右クリックして [新規仮想マシン] を選択し、表示される画面に沿って仮想マシンを作成します。
  4. [ハードウェアのカスタマイズ] 画面で、[仮想ハードウェア] タブをクリックし、[セキュリティ デバイス] を展開します。
  5. SGX を有効にするには、[有効化] チェック ボックスを選択します。
  6. [Enclave ページのキャッシュ サイズ (MB)] テキスト ボックスに、キャッシュ サイズを MB 単位で入力します。
    注: Enclave ページのキャッシュ サイズは 2 MB の倍数にする必要があります。
  7. 登録されていないマルチソケット SGX ホストなど、SGX リモート認証をサポートしていないホストで仮想マシンがパワーオンしないようにするには、[リモート認証] チェック ボックスをオンにします。
  8. [起動制御設定] ドロップダウン メニューから、適切なモードを選択します。
    オプション 操作
    ロック解除済み このオプションを使用すると、ゲスト OS の Launch Enclave 設定が有効になります。
    ロック済み このオプションでは Launch Enclave を設定できます。
    1. [Launch Enclave パブリック キー ハッシュ] オプションを選択します。
    2. ホストで設定されたいずれかのパブリック キーを使用するには、[ホストからの使用] を選択し、ドロップダウン メニューからパブリック キー ハッシュを選択します。
    3. パブリック キーを手動で入力するには、[手動入力] を選択し、有効な SHA256 ハッシュ(64 文字)キーを入力します。
  9. [OK] をクリックします。

既存の仮想マシンでの vSGX の有効化

既存の仮想マシンで vSGX を有効にできます。

前提条件

vSGX での vSphere の要件を参照してください。

手順

  1. vCenter ServervSphere Client を使用して接続します。
  2. インベントリで、変更する仮想マシンを右クリックして、[設定の編集] を選択します。
  3. [仮想ハードウェア] タブで、[セキュリティ デバイス] を展開します。
  4. SGX を有効にするには、[有効化] チェック ボックスを選択します。
  5. [Enclave ページのキャッシュ サイズ (MB)] テキスト ボックスに、キャッシュ サイズを MB 単位で入力します。
    注: Enclave ページのキャッシュ サイズは 2 MB の倍数にする必要があります。
  6. 登録されていないマルチソケット SGX ホストなど、SGX リモート認証をサポートしていないホストで仮想マシンがパワーオンしないようにするには、[リモート認証] チェック ボックスをオンにします。
  7. [起動制御設定] ドロップダウン メニューから、適切なモードを選択します。
    オプション 操作
    ロック解除済み このオプションを使用すると、ゲスト OS の Launch Enclave 設定が有効になります。
    ロック済み このオプションでは Launch Enclave を設定できます。
    1. [Launch Enclave パブリック キー ハッシュ] オプションを選択します。
    2. ホストで設定されたいずれかのパブリック キーを使用するには、[ホストからの使用] を選択し、ドロップダウン メニューからパブリック キー ハッシュを選択します。
    3. パブリック キーを手動で入力するには、[手動入力] を選択し、有効な SHA256 ハッシュ(64 文字)キーを入力します。
  8. [OK] をクリックします。

仮想マシンからの vSGX の削除

仮想マシンから vSGX を削除できます。

手順

  1. vCenter ServervSphere Client を使用して接続します。
  2. インベントリで、変更する仮想マシンを右クリックして、[設定の編集] を選択します。
  3. [設定の編集] ダイアログ ボックスの [セキュリティ デバイス] で、SGX の [有効化] チェックボックスを選択解除します。
  4. [OK] をクリックします。
    vSGX エントリが、 [仮想マシンのハードウェア] 表示枠にある仮想マシンの [サマリ] タブに表示されなくなったことを確認します。