第 2 章 脅威モデルと信頼境界
この章では、脅威モデルと信頼境界に関する共通の用語を定めます。保護する資産は何か、攻撃者に何ができるか、 どのような前提が成り立っている必要があるか、そして認証やパラメータの不一致が起きた場合にシステムがどのようにフェールクローズしなければならない (MUST) かを説明します。
ドキュメント情報
- ホワイトペーパーのバージョン
- v1.0
- 最終更新日
- 2026-01-14
2.1 資産一覧
- コンテンツの機密性: 平文のファイルデータと復号鍵 (CEK) は保護されなければなりません (MUST)。
- コンテンツの完全性: 暗号文とメタデータは、改ざんを検知できなければなりません (MUST)(AEAD 認証)。
- アクセス制御: 有効期間の短いアクセストークン、送信者のログイントークン、失効状態。
- 可用性: 一般的なネットワーク環境で、転送のアップロード、ダウンロード、再開ができること。
2.2 攻撃者モデル
- ネットワーク攻撃者: 通信の盗聴、遅延、破棄、リプレイが可能です。最新の TLS/AEAD 暗号を破ることはできません。
- Web 攻撃者: 悪意のあるリンクを作成し、XSS/CSRF、UI インジェクション、プロンプトインジェクションを試みる可能性があります。
- 不正利用者: アップロードやダウンロードを自動化して、クォータを使い果たしたり、コンテンツを収集したり、トラフィックを増幅したりする可能性があります。
- サーバー側の攻撃者は CEK を持たないものと想定します。CEK が漏えいした場合(リンクを共有した場合など)、設計上、機密性は失われます。
2.3 セキュリティ上の前提
- クライアントは信頼できるコードを実行します(悪意のある拡張機能やマルウェアがないこと)。そうでない場合、ゼロナレッジ方式でもエンドポイントは保護できません。
- URL フラグメント (
#...) は、標準的なブラウザの動作では HTTP リクエストでサーバーに送信されません。 - 暗号プリミティブ (AES-GCM、SHA-256、TLS) は正しく使用されており、破られていません。
2.4 信頼境界
- クライアント境界: 暗号化・復号と CEK の管理は、クライアントでのみ行います。
- エッジ/API 境界: サーバーはトークンを検証し、暗号文とマニフェストを配信します。CEK を知り得てはなりません (MUST NOT)。
- オブジェクトストレージ境界: 暗号文チャンクとマニフェストを保存します。機密性の観点では信頼できないものとして扱います。
2.5 フェールクローズの原則
- トークンの検証失敗、パラメータの不一致、AEAD 認証の失敗が発生した場合、システムはフェールクローズしなければなりません (MUST)。
- 整合性チェックに失敗した場合、部分的な平文を出力してはなりません (MUST NOT)。
- エラーメッセージとログに含める機密データは最小限にすべきであり (SHOULD)、URL フラグメント、CEK、またはそこから導出できる情報を含めてはなりません (MUST NOT)。