Dstack-TEE/dstack
Open framework for confidential AI
dstack – 機密AIのためのオープンフレームワーク
概要 – dstackは、Intel TDX、AMD SEV-SNP、NVIDIA Confidential Computing GPUなどのハードウェアベースのTrusted Execution Environments(TEE)内でAIワークロード(LLM推論、エージェント、トレーニングなど)を実行できるオープンソースプラットフォームです。標準的なDocker-Composeワークフローの上に暗号学的アテステーション、アプリケーションごとの鍵管理、ゼロトラストネットワーキングを追加するため、既存のコンテナ定義を維持しながら、データやモデルの重みがenclaveの暗号化メモリから決して流出しないことを保証できます。
コアコンセプト
| コンセプト | 意味 |
|---|---|
| 摩擦のないオンボーディング | docker-compose.yamlをそのまま使用可能。SDKやコードの書き換えは不要です。 |
| ハードウェアベースのプライバシー | データはRAMおよびディスク上で暗号化され、ホストOSは読み取ることができません。 |
| 暗号学的検証 | 各コンテナは証明されたIDを取得します。ユーザーは署名付きクォート(Intel TDX、SEV-SNP、またはNVIDIA)を検証し、正確なOSイメージとコードが実行されていることを確認できます。 |
| 機密GPU | NVIDIA H100/Blackwell Confidential Computingをサポートしており、GPU上でもモデルの重みが暗号化されたまま保持されます。 |
| トラストレスな運用 | 鍵はenclave内で導出され、オペレーターに公開されることはありません。更新はオンチェーンのマルチパーティ承認ルールに従います。 |
サポートされているプラットフォーム
- ベアメタル Intel TDX (フルプロダクションパス)
- ベアメタル AMD SEV-SNP (実験的、SNP対応のゲストイメージが必要)
- Phala Cloud (マネージドTDXサービス)
- GCP Confidential VMs (TDX + TPM)
- AWS Nitro Enclaves (NSMアテステーション)
主要コンポーネント
| コンポーネント | 役割 |
|---|---|
| VMM | ホスト上で実行され、Docker-Composeファイルを解析し、再現可能な機密VMイメージを起動し、CPU/メモリ/GPUリソースを割り当てます。 |
| Guest Agent | 各機密VM内で動作し、アテステーションクォートを生成し、KMSからアプリごとの鍵を導出し、ローカルストレージを暗号化し、UnixソケットHTTP API (/var/run/dstack.sock) を公開します。 |
| KMS | VMのアテステーションを検証した後にのみ鍵を解放する独立したTEEサービス。ポリシーはオンチェーンのスマートコントラクトで定義されます。 |
| Gateway | エッジTLSターミネーター。ACME証明書を自動的にプロビジョニングし、VMへのトラフィックをルーティングし、内部呼び出しに相互RA-TLSを使用します。 |
| SDKs | Guest Agent APIと通信する軽量クライアントライブラリ(Python、TypeScript、Rust、Go)。プレーンなcurl APIも提供されます。 |
はじめに(クイック例)
# docker-compose.yaml
services:
vllm:
image: vllm/vllm-openai:latest
runtime: nvidia
command: --model Qwen/Qwen2.5-7B-Instruct
ports:
- "8000:8000"
- CLIのインストール:
curl -sSf https://dstack.io/install | sh(またはdstackupスクリプトを使用)。 dstackup installを実行してホストVMMをセットアップ。dstack deployでデプロイ。- ユーザーはSDKまたは
dstack-verifierツールを使用してアテステーションクォートを取得し、デプロイを検証できます。
フルマネージドオプションとして Phala Cloud があり、TEEハードウェアを所有していなくても同じワークフローが利用可能です。
セキュリティモデル(概要)
- メモリとストレージの暗号化 – AES-256鍵はenclave内で生成され、CPU/GPUから決して流出しません。
- 決定論的なOSビルド – OSイメージは再現可能であり、ハッシュ値はアテステーションクォートの一部となります。
- アテステーションに紐付いた鍵 – 鍵は測定されたOSとアプリのIDに紐付いており、異なるワークロード間での鍵の再利用を防ぎます。
- 第三者監査 – zkSecurityによる公開監査を実施済み (
docs/security/dstack-audit.pdfを参照)。 - オープンソースの透明性 – すべてのコアコード(ランタイム、SDK、ゲストOS)はApache-2.0ライセンスです。サードパーティコンポーネントは独自のライセンスを保持します。
代表的なユースケース
- 機密LLM推論 – クラウドプロバイダーに重みやユーザープロンプトを公開することなく、独自のモデル(Qwen、Llamaなど)を提供します。
- セキュアなAIエージェント – 機密データ(金融、医療)を処理する自律型エージェントをTEE内で実行し、検証可能な実行を保証します。
- 規制されたトレーニングパイプライン – 機密データセット上でファインチューニングを行い、データはメモリとディスク上で暗号化されたまま保持します。
- マルチテナントAI SaaS – 顧客ごとに分離されたコンテナを提供。各テナントはデータを送信する前にenclaveのクォートを検証できます。
ドキュメントとコミュニティ
- ドキュメント – 完全な使用ガイド、ハードウェア対応状況、OSビルド手順、検証ステップは
docs/フォルダおよび https://docs.phala.com/dstack にあります。 - 例 – すぐに実行可能なサンプルプロジェクトは
dstack-examplesリポジトリにあります。 - サポート – Telegramコミュニティ、GitHub Discussions、およびPhala Networkによるエンタープライズサポート。
- ガバナンス – オンチェーンのスマートコントラクトポリシーにより、誰がコードを更新したり鍵を解放したりできるかを制御し、トラストレスなアップグレードパスを提供します。
ライセンス
dstackのソースコード、SDK、ドキュメント、ツールは Apache-2.0 ライセンスの下でリリースされています。組み込まれたサードパーティコンポーネントは元のライセンスを保持し、すべてREUSE SPDXヘッダーを通じて宣言されています。
要約
dstack を使用すると、Docker-ComposeのAIスタックを変更することなく、コンテナを機密VM(Intel TDX、AMD SEV-SNP、またはAWS Nitro)や必要に応じて機密GPUに移行できます。アテステーション、鍵管理、TLSルーティング、オンチェーンガバナンスを標準で処理し、出荷したコードがそのまま実行されていることを証明する暗号学的証拠を提供します。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト