Trusted Execution Environment(TEE)で実行中データを保護
組織がマルチクラウド、ハイブリッドクラウド、エッジコンピューティングをますます採用するにつれ、アプリケーションは幅広い環境で機密ユーザーデータを追跡、保存、分析するようになりました。コンプライアンスとアプリケーション利用者のプライバシーを確保するには、データをライフサイクル全体で保護する必要があります。
ファイルシステムとストレージドライブを暗号化し、SSHプロトコルを使用して、データアットレストとデータイントランザイトを盗まれても暗号鍵なしでは無意味にすることで保護します。しかし、実行中のデータ(データインユース)は通常暗号化されておらず、攻撃とエクスプロイトに対して脆弱です。
ランタイムでアプリケーションとデータを保護するため、開発者はますますTrusted Execution Environments(TEE)、いわゆる「セキュアエンクレーブ」に注目しています。
Trusted Execution Environments(TEE)とは?
Trusted Execution Environments(TEE)は、メモリ内のCPU暗号化された分離されたプライベートエンクレーブで、ハードウェアレベルで実行中データを保護するために使用されます。
機密データがエンクレーブ内にある間、許可されていないエンティティはそれを削除、変更、追加することはできません。エンクレーブの内容は外部からは見えずアクセスできず、外部と内部の脅威から保護されます。
その結果、TEEは以下を保証します:
- データの完全性
- コードの完全性
- データの機密性
ベンダーと基盤テクノロジーによっては、TEEは以下の追加機能を有効化できます:
- コードの機密性 – 知的財産と見なされるアルゴリズムの保護
- 認証済み起動 – 検証済みプロセスのみの起動を強制する認可/認証の施行
- プログラマビリティ – メーカーや他の安全なソースからのTEEプログラミングコードへのアクセス
- アテステーション – エンクレーブの起源と現在の状態の測定による改ざん防止
- リカバラビリティ – TEEが侵害された場合、以前の安全な状態にロールバック
これらの機能により、開発者はアプリケーションセキュリティを完全に制御し、OS、BIOS、アプリケーション自体が侵害されても、機密データとコードを保護できます。
セキュアエンクレーブの仕組み
TEEの仕組みを理解するために、Intel® Software Guard Extensions(SGX)を見てみましょう。
Intel® SGXでは、アプリケーションデータが信頼できる部分と信頼できない部分に分割されます。コードの信頼できる部分は、保護されたエンクレーブ内でアプリケーションを実行するために使用されます。CPUは、リクエストするエンティティの特権に関係なく、エンクレーブへの他のすべてのアクセスを拒否します。処理後、信頼できるデータはTEE内に保持され、エンクレーブ外のアプリケーションに提供される情報は再度暗号化されます。
エンクレーブは、メモリページの作成と追加、エンクレーブの初期化、削除、測定を可能にするハードウェアコマンドで作成・プロビジョニングされます。

プラットフォームのファームウェアは設定を使用してTEEの領域を設定します。拡張機能が有効になると、CPUはDRAMの一部分をProcessor Reserved Memory(PRM)として予約します。PRMサイズはファームウェアツールで指定可能です。
次に、CPUはモデル固有レジスタ(MSR)のペアを設定してPRMを割り当て・設定します。次に、Enclave Page Caches(EPC)がPRM内に作成され、ベースアドレス、エンクレーブサイズ、データセキュリティ情報を含むメタデータを保持します。

最後に、CPUはエンクレーブの初期状態の暗号ハッシュを作成し、その後の状態も記録します。このハッシュは、暗号鍵とハードウェアルートオブトラストを通じたアテステーションで後で使用されます。
初期化されると、エンクレーブはユーザーアプリケーションをホストできます。
Trusted Execution Environmentsの安全性は?
TEEがどの程度安全かを説明するには、まずCPU特権のリングについて説明する必要があります。

暗号鍵は伝統的にアプリケーション内のリング3レベルに保存されていました。このモデルでは、アプリケーションが侵害されると、その中で保護されている秘密が危険にさらされます。
モダンなアーキテクチャでは、特権リングはカーネルとハイパーバイザーを超えて、System Management Mode(SMM)とManagement Engine(ME)まで拡張されます。これにより、CPUがTEEで使用されるメモリを保護し、攻撃対象領域をハードウェアの最下層まで減らし、最高特権レベル以外へのアクセスを拒否します。
TEEの機能とセキュリティのもう一つの鍵はアテステーションです。アテステーションにより、データが共有される前にプラットフォーム全体とエンクレーブが測定・検証されます。
例えば、エンクレーブは同じプラットフォーム上の自分自身または別のエンクレーブからローカルレポートを要求し、データチェックと検証に使用できます。同様に、リモート検証者は機密データをエンクレーブに要求する前にアテステーションレポートを要求できます。信頼が確立されると、セッションキーとデータを外部から見えない安全なチャネルで共有できます。

暗号化されていない秘密がTEEから決して出ないため、セキュアエンクレーブは以下からデータを保護します:
- ホスト上の他のアプリケーション
- ホストOSまたはハイパーバイザー
- システム管理者
- サービスプロバイダー
インフラストラクチャオーナーや、ハードウェアへの物理アクセスを持つ他のエンティティでさえ、データに到達できません。
機密コンピューティングにおけるセキュアエンクレーブ
異なるクラウド環境でプライベートワークロードの安全で標準化された処理を可能にするため、Linux Foundationは2019年にConfidential Computing Consortium(CCC)というコミュニティを形成しました。設立以来、CCCメンバーはクラウドコンピューティングの採用加速とオープンなコラボレーションの実現に取り組んできました。
提供する高レベルのデータ保護により、ハードウェアベースのセキュアエンクレーブはこのイニシアチブの核心にあります。
TEEによる機密コンピューティングを通じて、組織は単一の暗号鍵からワークロード全体まで、アプリケーション使用中のあらゆるものを保護できます。
なぜ機密コンピューティングを採用すべきか?
今日、秘密はパスワードをはるかに超え、医療記録や生体認証データなど、極めて機密性が高く代替不可能な情報を含みます。
機密コンピューティングは、このデータを保護し、財務的損失や評判の毀損を防ぐことで、ビジネスに競争優位性を提供します。しかし、この進化するテクノロジーには他のユースケースもあります。
マルチパーティ計算
機密コンピューティングにより、組織は複数のソースからのデータを、基盤コード、知的財産、プライベートなクライアント情報を提携先に公開せずに処理できます。競合関係にあっても、政府機関、医療、研究機関はこの機能を活用して、連合学習のために協力し洞察を共有できます。

金融と保険
機密コンピューティングを活用して、金融機関はマネーロンダリングなどの不正行為を防止します。銀行はネットワーク内外の別の銀行と疑わしいアカウントを共有し、監査して誤検知の可能性を最小化できます。
保険会社も同様のアプローチで不正を防止できます。疑わしい請求を相互に共有してパターン認識を行えます。機密データがエンクレーブに保存され、データレコードが異なるソース間で共有されるため、プロセス中に機密情報が明らかになることなく結果を得られます。
結論
機密コンピューティングの進化に伴い、セキュリティ強化のためのエンタープライズツールが継続的に開発されています。これはクラウドコンピューティングの採用、成長、セキュリティを刺激し、その潜在能力を最大限に引き出します。
実行中の機密データとコードに前例のない保護を提供することで、Trusted Execution Environmentsは組織がセキュリティ態勢を強化し、未来対応のテクノロジーを今日活用できるようにします。
クラウドコンピューティング
- 適切な保護が長期的な機械耐久性を保証する理由
- 製造業がビッグデータを活用すべき5つの重要な理由
- インテリジェント自動化で英国製造業生産性を向上させるには
- コロナ禍でのフリートドライバー保護:必須の安全・コンプライアンス戦略
- GDPR完全ガイド:EUデータプライバシー法の要点とHippo CMMSの対応
- Kontron、過酷環境向けラギッド40GbEスイッチ「CP6940」発表
- ビッグデータとクラウドコンピューティングを活用したビジネス成長の促進
- エッジコンピューティング解説:輸送、ユーティリティ、製造における実用ユースケース
- IoT導入を守る:企業向け実証済みサイバーセキュリティとプライバシー戦略
- リアルタイム分析でキャンパス安全を強化:学生・教職員を守る
- 継続的インテリジェンスの解放:全社横断ユースケースとリアルタイム洞察