第1章 概要とセキュリティの範囲
この章では、ホワイトペーパーの目的、規範的な表現、用語を定義し、FileBolt のセキュリティ目標と境界条件を示します。 対象範囲内のリスクと対象外のリスクを明確に区別することで、システムが何を保証できるかについての誤解を防ぎます。
ドキュメント情報
- ホワイトペーパーのバージョン
- v1.0
- 最終更新日
- 2026-01-14
1.0 目的
- ユーザーと監査担当者に向けて、FileBolt のセキュリティ設計と信頼境界を説明します。
- アップロード、保存、ダウンロードの各段階で、機密性と完全性がどのように守られるかを説明します。
- レビューと再現のために、検証可能な証拠へのリンクとクレーム ID を提供します。
1.1 規範的な表現と用語
- 規範的なキーワード: MUST / SHOULD / MAY (RFC 2119 に準じた使い方)。
- CEK: コンテンツ暗号化鍵 (Content Encryption Key)。16 バイト (128 ビット)。ファイルごとに 1 つ。
- E2EE / ゼロ知識: 暗号化と復号はクライアントで行われます。サーバーが扱うのは暗号文と公開パラメータのみであり、CEK を取得してはなりません (MUST NOT)。
- transferId / fileId / chunkIndex: 転送、ファイル、チャンクのインデックスを表す識別子。
- manifest: ダウンロード/組み立て/復号に必要な公開パラメータ (例: cryptoVersion、chunkSize、マッピング)。CEK を含んではなりません (MUST NOT)。
- 短期間有効なアクセストークン: 暗号文/マニフェストへのアクセスを認可するために使用される、サーバー側のセッショントークン (ルックアップ方式)。設計上、有効期限が切れます。
1.2 セキュリティ目標
- 機密性: ゼロ知識モデルでは、サーバーがユーザーのコンテンツを復号できてはなりません (MUST NOT)。
- 完全性: 改ざんは検出されなければならず (MUST)、AEAD の認証に失敗した場合はフェイルクローズしなければなりません (MUST)。
- アクセス制御: 暗号文へのアクセスは、範囲が限定された有効期限付きのトークンで保護されなければならず (MUST)、送信者は取り消せなければなりません (MUST)。
- 監査可能性: 機密データの露出を最小限に抑えつつ、送信者に見える最小限の配信証跡を提供します。
1.3 対象範囲内
- ゼロ知識/E2EE の境界と鍵の扱い (URL フラグメント方式)。
- チャンク単位の暗号化と認証のパラメータ (cryptoVersion=v1)。
- アップロード/ダウンロードおよびマニフェスト取得のトークンベースの認可、取り消しの仕様。
- ダウンロード/復号ページの Web セキュリティのベースライン (CSP、サードパーティスクリプトなし)。
1.4 対象範囲外
- 侵害されたエンドポイント: マルウェア、悪意のあるブラウザ拡張機能、root 化されたデバイス。
- ユーザーによる意図的なリンクの漏洩、ソーシャルエンジニアリング、設定ミス。
- サーバー側でのコンテンツスキャン (厳格なゼロ知識によるコンテンツ保護とは両立しません)。