このトピックでは、Trusted Computing Capabilities(Trusted Instance)をサポートするインスタンスの仕組みと、Trusted Computing テクノロジーの基本概念について説明します。
Trusted Computing Capabilities の概要
Trusted Computing は、クラウドテナントの基盤となるコンピューティング環境の高レベルのセキュリティを確保するために使用される主要な機能の 1 つです。仮想 Trusted Platform Module(vTPM)は、仮想の Trust Root として使用され、リモート構成証明メカニズムを提供し、システムの起動とユーザー指定のアプリケーションを網羅する信頼チェーンを構築します。これにより、起動フェーズと実行時フェーズのあらゆる側面で、ユーザーにとって信頼できる環境が保証されます。システムとアプリケーションの信頼検証により、不明なシステムやソフトウェア、または改ざんされたシステムやソフトウェアによって引き起こされる攻撃に対する脆弱性が軽減されます。
Trusted Computing Capabilities をサポートするインスタンスファミリー
g7t、c7t、および r7t インスタンスファミリーは、Software Guard Extensions(SGX)Confidential Computing をサポートしています。Elastic Compute Service(ECS)コンソールで上記のインスタンスファミリーのインスタンスを作成すると、Alibaba Cloud SGX ランタイムが自動的にインストールされます。SGX Confidential Computing の詳細については、「SGX Confidential Computing 環境を構築する」をご参照ください。
Trusted Instance の仕組み
Trusted Instance は、Trusted Computing テクノロジーを使用して整合性検証を実行します。これにより、Trusted Instance が起動レベルまたはカーネルレベルのマルウェアやルートキットによって侵害されないことが保証されます。Trusted Instance は、Unified Extensible Firmware Interface(UEFI)ファームウェア、vTPM または仮想 Trusted Cryptography Module(vTCM)、およびリモート構成証明サービスを使用して、メジャーブートと整合性検証を提供し、セキュリティと信頼性を確保します。
ファームウェアセキュリティ
Alibaba Cloud は、セキュアなファームウェアアップデートをサポートしています。ファームウェアがアップデートされる前に、ファームウェアの署名が検証され、承認されたファームウェアのみがアップデートされることが保証されます。これにより、悪意のあるファームウェアがクラウドインフラストラクチャを攻撃することを防ぎます。
vTPM と vTCM
vTPM および vTCM は、Trusted サーバーハードウェアから Trusted Instance に信頼を伝達するために使用できる、仮想化された Trusted Platform Module です。vTPM は TPM 2.0 と完全に互換性があります。vTCM は TCM 2.0 と完全に互換性があります。Trusted Instance は、vTPM または vTCM を使用して仮想の Trust Root を構築し、ホスト層の Trusted ブートチェーンおよびリモート構成証明メカニズムと同様の Trusted ブートチェーンとリモート構成証明メカニズムを実装します。インスタンスを作成すると、ベンチマーク測定値が生成されます。後続のインスタンス起動時に収集された測定値は、ベンチマーク測定値と比較され、インスタンスが変更されたかどうかが判断されます。比較結果は、インスタンスの信頼ステータスを示し、[Security Center] コンソールに表示されます。
UEFI ファームウェア
Trusted Instance は、システム起動に UEFI 仕様を満たす Trusted ブートファームウェアを使用します。UEFI ファームウェアは、OS の起動プロセス中にシステムファームウェア、システムブートローダー、およびシステムカーネルモジュールの整合性を測定し、システム起動の信頼チェーンを構築します。
メジャーブート
コンポーネントは段階的に測定されます。最初に起動されたコンポーネントは、次の段階で起動されるコンポーネントを測定します。測定が成功すると、信頼チェーンは次の段階に拡張されます。
基盤となるハードウェアからゲストオペレーティングシステムまで、ブートチェーンの各モジュールは、インスタンスの起動プロセス中に測定されます。モジュールがロードされると、Trusted コンポーネントは各モジュールのハッシュ値を計算し、計算されたハッシュ値を Trust Root に安全に格納して、信頼チェーンを構築します。ブートチェーンのすべてのモジュールの段階的な測定と検証により、システムが前回の起動から変更されていないことが保証されます。
整合性検証
整合性検証は、インスタンスの信頼ステータスを理解し、意思決定を行うのに役立ちます。
インスタンスを初めて起動すると、Trusted コンポーネントは最初のハッシュ値のセットをベンチマーク測定値として作成し、データを安全に格納します。その後、インスタンスが起動するたびに測定と格納の操作が実行されます。Trusted コンポーネントは、リモート構成証明を使用して測定値を Trusted サービスに送信します。最新の測定データをベンチマーク測定値と比較して、インスタンスの整合性を測定および検証し、インスタンスが予期される信頼ステータスで実行されているかどうかを判断できます。
整合性検証では、起動測定情報がインスタンスのベンチマーク測定値と比較されます。起動測定情報がベンチマーク測定値と一致する場合、成功の結果が返され、インスタンスが信頼されていることを示します。それ以外の場合、失敗の結果が返され、インスタンスが信頼されていないことを示します。
インスタンスのシステムアップデート時など、特定のシナリオで予期される整合性検証の失敗が発生した場合、Trusted イベントをホワイトリストに追加して、インスタンスのベンチマーク測定値を更新できます。後続の整合性測定は、最新のベンチマーク測定値に対して実行されます。詳細については、「Trusted Instance を使用する」トピックの「信頼の例外を処理する」セクションをご参照ください。
予期しない整合性検証の失敗が発生した場合は、Trusted イベントの詳細に基づいて失敗の原因を特定し、インスタンスが信頼されていない環境で実行されないようにします。