このコンテンツの最終更新日は 2025 年 1 月で、作成時点の状況を表しています。お客様の保護の継続的な改善のために、Google のセキュリティ ポリシーとシステムは変更される場合があります。
Titan チップは、 Google Cloud データセンター内のプラットフォームのハードウェアのルート オブ トラストを確立する、目的別のチップです。Titan チップは、サーバー、ネットワーク インフラストラクチャ、その他のデータセンター ペリフェラルなどのプラットフォームにデプロイされる低電力のマイクロコントローラです。
Titan チップは、Titanium ハードウェア セキュリティ アーキテクチャの重要なコンポーネントです。このアーキテクチャは、物理的な攻撃やユーザーデータに対する脅威から保護する基本的なセキュリティ レイヤを提供します。Titan チップにより、Google はプラットフォームのファームウェアと構成を安全に識別して測定できます。これは、マシンの起動プロセスから、特権ソフトウェア攻撃とルートキットから保護するように設計されています。
このドキュメントでは、Titan チップのチップ アーキテクチャとセキュリティ上のメリットについて説明します。Titan チップは最小限のトラステッド コンピューティング ベース(TCB)をサポートしており、チップには次のメリットがあります。
- マシンの強力な ID を作成するハードウェアのルート オブ トラスト
- 起動時と更新時の両方でのプラットフォーム ファームウェアの完全性検証
- Google のマシン認証情報管理システムの基盤となるリモート認証情報シーリング フロー
Titan チップ ファミリー
最初の Titan チップは 2014 年に設計されました。後世代では、反復的な製造、統合、デプロイ プロセスで得られた経験が組み込まれています。Google が Titan チップに関する知識をオープンソースのハードウェア セキュリティ コミュニティにどのように貢献しているかについては、opentitan.org をご覧ください。
Titan チップには、次のコンポーネントが含まれています。
- セキュア プロセッサ
- AES と SHA の暗号コプロセッサ
- ハードウェア乱数ジェネレータ
- 高度な鍵階層
- 埋め込み静的 RAM(SRAM)、フラッシュ、ROM
Titan 製造 ID
Titan チップの製造プロセスでは、各 Titan チップが一意の鍵マテリアルを生成します。この鍵マテリアルは認定されており、エンドーメント レコードの生成に使用されます。これらのエンドーメント レコードは 1 つ以上のレジストリ データベースに保存され、エアギャップとマルチパーティ制御を使用して暗号で保護されます。
Titan 対応プラットフォームが Google 本番環境ネットワークに統合されると、バックエンド システムは、これらのプラットフォームに正規の Titan チップが搭載されていることを確認できます。本物の Titan チップには、Titan の製造プロセス中に登録および認定された鍵がプロビジョニングされています。サービスが Titan ID システムを使用する方法の詳細については、認証情報シーリング プロセスをご覧ください。
後世代の Titan チップ ID は、Device Identifier Composition Engine(DICE)などの業界標準に従って生成および認定されます。元の Titan チップは、関連する業界標準が導入される前に製造されたため、Google のカスタム設計を使用して認定されました。Google は、安全なハードウェアの製造とデプロイに関する経験を活かして、標準プロセスへの参加を強化しています。DICE、Trusted Platform Module(TPM)、Security Protocol and Data Mode(SPDM)などの新しい標準には、Google の経験を反映した変更が含まれています。
Titan との統合
Titan チップがプラットフォームに統合されると、アプリケーション プロセッサ(AP)にセキュリティ保護が提供されます。たとえば、Titan は、ワークロードを実行する CPU、ベースボード管理コントローラ(BMC)、または機械学習などのワークロード用アクセラレータとペア設定できます。
Titan は、シリアル ペリフェラル インターフェース(SPI)バスを使用して AP と通信します。Titan は AP と AP のブート ファームウェア フラッシュ チップの間に挿入され、ブート時にファームウェアが実行される前に、Titan がそのファームウェアのすべてのバイトを読み取って測定できるようにします。
Titan 対応プラットフォームの電源を入れると、次の手順が実行されます。
- Titan は CPU をリセットモードに保ち、Titan の内部アプリケーション プロセッサは、埋め込まれた読み取り専用メモリから不変のコード(ブート ROM)を実行します。
- Titan は組み込みのセルフテストを実行し、すべてのメモリ(ROM を含む)が改ざんされていないことを確認します。
- Titan のブート ROM は、公開鍵暗号を使用して Titan のファームウェアを検証し、検証されたファームウェアの ID を Titan の鍵階層に混ぜ合わせます。
- Titan のブート ROM は、Titan の検証済みファームウェアを読み込みます。
- Titan ファームウェアは、公開鍵暗号を使用して AP のブート ファームウェア フラッシュの内容を検証します。Titan は、検証プロセスが正常に完了するまで、AP のブート ファームウェア フラッシュへのアクセスをブロックします。
- 確認後、Titan チップは AP をリセットから解放し、AP を起動できるようにします。
- AP ファームウェアは、追加の構成(他のブートイメージの起動など)を実行します。AP は、これらのブートイメージの測定値をキャプチャし、測定値を Titan に送信して安全なモニタリングを行うことができます。
これらの手順により、起動サイクル中に実行される最初の命令から、マシンで起動されたブート ファームウェアと OS を特定できるため、最初の命令の完全性が達成されます。マイクロコードの更新を受け入れることができる CPU を搭載した AP の場合、ブートプロセスにより、ブート ファームウェアの最初の命令の前にフェッチされたマイクロコード パッチも Google に通知されます。詳細については、測定された起動プロセスをご覧ください。
このフローは、TPM を搭載したプラットフォームで実行される起動プロセスに似ています。ただし、Titan チップには、標準の TPM では一般に利用できない機能(Titan の内部ファームウェアの自己構成証明や AP ファームウェアのアップグレード セキュリティなど)が含まれています。これらの機能については、次のセクションで説明します。
標準の TPM 統合は、物理的なインターポーズ攻撃に対して脆弱になる可能性があります。Google の新しい Titan 統合では、統合されたルート オブ トラストを使用して、このような攻撃を軽減します。詳細については、TPM トランスポート セキュリティ: DICE によるアクティブ インターポーザの不正使用防止(YouTube)をご覧ください。
安全な Titan ファームウェアのアップグレード
Titan チップのファームウェアは、オフライン HSM に保持されている鍵で署名されています。この鍵は、クォーラムベースの制御によって保護されています。Titan のブート ROM は、チップが起動するたびに Titan ファームウェアの署名を検証します。
Titan ファームウェアは、イメージのセキュリティ状態を伝えるセキュリティ バージョン番号(SVN)で署名されています。ファームウェア イメージに脆弱性の修正が含まれている場合、イメージの SVN はインクリメントされます。Titan ハードウェアにより、古いファームウェアに脆弱性があっても、製品版ネットワークは Titan のファームウェアの SVN を強力に証明できます。アップグレード プロセスでは、Titan 独自のファームウェアに影響する場合でも、これらの脆弱性から大規模に復旧できます。詳細については、ルート オブ トラスト ファームウェアの脆弱性からの復旧をご覧ください。
Google は、TPM ライブラリ仕様の最新バージョンに貢献しました。この仕様には、他の TPM が同様の自己構成証明保証を提供できるようにする機能が追加されています。詳細については、TPM アーキテクチャ仕様のバージョン 1.83 の TPM ファームウェア制限付きオブジェクトと SVN 制限付きオブジェクトのセクション(PDF)をご覧ください。これらの TPM 機能は、最新の Titan チップに実装され、デプロイされています。
AP ファームウェアの安全なアップグレード
Google では、Titan のファームウェアに加えて、AP で実行されるファームウェアにも暗号署名を行っています。Titan は、プラットフォームの起動プロセスの一環としてこの署名を検証します。また、AP ファームウェアが更新されるたびにこの署名を検証し、正規の AP ファームウェア イメージのみが AP のブート ファームウェア フラッシュ チップに書き込まれるようにします。この検証プロセスにより、永続的なバックドアのインストールやプラットフォームの起動不能化を試みる攻撃を軽減できます。署名検証は、CPU に独自のマイクロコード認証メカニズムに脆弱性がある場合に、Google のプラットフォームに多層防御も提供します。
次のステップ
詳しくは、ブート整合性プロセスをご覧ください。