セキュリティ
Pontia はエージェントの実行をデバイス上に保ち、リモートの認可と暗号化されたデバイスの通信を分離します。デバイス、認証情報、Pontia の状態ディレクトリ、ブラウザーの Session、セルフホストの Edge のホストを保護してください。
信頼境界
| コンポーネント | セキュリティ上の役割 | プロジェクトファイルへのアクセス |
|---|---|---|
デバイス上の pontiad | ローカルおよびリモートのリクエストを認証し、Agent Client を調整します | ローカルユーザーの権限と設定済みの Workspace を通じてアクセスします |
| Agent Client | 独自の認証情報、ツール、サンドボックス、承認を使ってエージェントの作業を実行します | その Client のローカルの権限に従います |
| Pontia Cloud | ユーザーを認証し、所有権を記録し、デバイスと Edge を登録し、接続を認可します | デバイスのファイルシステムにはアクセスしません |
| Edge | 認可されたデバイスのトンネルを受け入れ、ブラウザーとデバイス間の暗号文を中継します | プロジェクトに平文でアクセスしません |
| ブラウザー | 選択したデバイスから返されたデータを表示します | ファイルシステムに直接アクセスしません |
Cloud は新しいリモート接続を認可します。Dashboard の通信は Edge を経由し、デバイスはリクエストを受け入れる前にブラウザーの認可を検証します。
エンドツーエンドで暗号化されたリモートアクセス
ブラウザーは一時的な ID を作成し、そのブラウザーの鍵、対象のデバイス、デバイスの鍵のバージョンに紐付いた、署名付きの短期間有効なケイパビリティを取得します。デバイスは Session を受け入れる前に、Pontia Cloud の検証鍵でケイパビリティを検証します。
ブラウザーとデバイスは X25519 ベースの HPKE で Session 鍵を確立し、ChaCha20-Poly1305 でレコードを保護します。認証されたリクエスト ID と上限付きのリプレイ追跡により、傍受された暗号化リクエストが再実行されることを防ぎます。アイドル状態の E2E Session は期限切れになり、アクティブなストリームには別の上限が設けられています。
Edge から見えるのは、ルーティングのメタデータと、暗号化された通信のサイズとタイミングです。Dashboard API のリクエストとレスポンスは、ブラウザーとデバイスの間で暗号化されたままです。
ローカルアクセス
Local Dashboard と External API は、$PONTIA_HOME/config.toml の external_api_token を使用します。デフォルトのリスナーはループバックのみです。bind_addr をループバック以外のアドレスに変更すると、トークンで認証される API がそのネットワークに公開されます。信頼できるネットワークとトランスポートの保護は自分で用意してください。
リモートアクセスでは、デバイスが検証する別の暗号化されたブラウザーとデバイス間の Session を使い、現在の External API と同じケイパビリティを認可します。
保護すべきシークレット
次の値とファイルは非公開にしてください。
config.tomlのexternal_api_token$PONTIA_HOME/auth.json$PONTIA_HOME/e2e-identity.json- セルフホストの Edge のデプロイコマンドと、保留中の初期化状態
/etc/pontia/edge/credentialと TLS の秘密鍵- Agent Client とモデルプロバイダーの認証情報
Pontia は認証情報ファイルを制限的な権限で作成します。そのバックアップを保護し、診断情報を共有する前にシークレットを取り除いてください。認証情報を含むシェル履歴は機密情報として扱ってください。
認証情報が漏洩した場合の対応
- ローカル API トークン:
config.tomlで新しいトークンを生成し、pontia upを実行して、信頼できるローカルのブラウザーを更新します。 - デバイスのアクセス: デバイス設定からデバイスを削除して、新しいリモート接続を防ぎます。CLI のログインと他の登録済みデバイスは引き続き使用できます。
- デバイスの ID:
pontia remote rotate-keyを実行します。 - デバイスの紛失: デバイス設定からデバイスを削除し、見覚えのないブラウザーの Session を取り消します。
- Edge の認証情報またはホスト: Cloud で Edge の登録と関連するデバイスを削除し、信頼できる Edge に再デプロイしてデバイスを再登録します。
デバイスに保持されるデータ
Pontia は、永続的なコントロールプレーンのレコード、限られたメッセージと関連付けのデータ、Workflow ファイル、ネイティブのタイムラインのロケーターを PONTIA_HOME に保存します。完全な会話履歴は Agent Client が保存し管理します。ネイティブの会話を管理または削除するには、その Client のデータ管理ツールを使用してください。