付録: 用語集
この用語集は、ホワイトペーパーで使用する主要な用語と略語を定義します。ある用語について特定の章により詳細な実装上の規定がある場合は、 その章の仕様が優先されます。
用語と略語
- FileBolt
- アップロード、共有、ダウンロードを提供するファイル転送プラットフォームです。本書では、そのセキュリティとプライバシーの設計上の境界を説明します。
- セキュリティとプライバシーのホワイトペーパー
- セキュリティ目標、脅威モデル、アーキテクチャ、アクセス制御、暗号化仕様を説明する文書群です。検証可能なクレーム ID と証拠 (Evidence) へのリンクを提供します。
- しなければならない / すべき / かもしれない
- 規範を示す用語: MUST (必須)、SHOULD (推奨)、MAY (任意)。実装上の要件と推奨事項を表すために使用します。
- E2EE (エンドツーエンド暗号化)
- 暗号化と復号はクライアント側で行われます。サーバーは暗号文と必要最小限のメタデータのみを扱い、復号する能力を持ちません。
- ゼロナレッジ (Zero-Knowledge)
- 通常の運用や定期的な保守の範囲では、サーバーは復号鍵の素材を取得できないため、ユーザーのファイルの平文を復号できません。
- CEK (コンテンツ暗号鍵)
- 本書では 16 バイト (128 ビット) の鍵で、ファイルごとに 1 つ使用し、AES-128-GCM によるチャンクの暗号化・復号に使います。
- AES-128-GCM
- AEAD (関連データ付き認証付き暗号) アルゴリズムの 1 つです。機密性と完全性を提供し、認証に失敗するとフェールクローズとなり、平文の出力を拒否します。
- AEAD (関連データ付き認証付き暗号)
- AAD (追加認証データ) も併せて認証することで、整合性の紐付けを行う暗号方式です。
- IV / ナンス
- 初期化ベクトル / 一度だけ使う数値。AES-GCM では、安全性を保つため、同じ鍵のもとで IV を繰り返してはなりません。
- noncePrefix
- ファイルごとに 1 回生成されるランダムなプレフィックス (例: 8 バイト) です。chunkIndex と組み合わせてチャンクごとの IV を作り、同じ CEK のもとでも IV が一意になるようにします。
- チャンク (chunk) / chunkIndex
- ファイルのチャンクとそのインデックスです。ファイルは固定サイズ (例: 16MB) のチャンクに分割され、chunkIndex は 0 から順に増え、位置の特定と IV/AAD の紐付けに使われます。
- chunkSize
- チャンクのサイズです。本書では例として 16MB (16777216 バイト) を使用し、大容量ファイルのアップロード/ダウンロードやストリーミング暗号化に使います。
- 暗号文 (ciphertext)
- クライアントが平文のチャンクを暗号化した結果です。
- タグ (GCM タグ)
- AES-GCM が出力する認証タグです。暗号文と AAD の完全性と一貫性を検証するために使います。
- AAD (追加認証データ)
- コンテキスト (transferId、fileId、chunkIndex) を暗号文に紐付け、ファイル間・チャンク間のすり替えやリプレイを防ぎます。
- 転送 (transfer) / transferId
- 1 回の転送 (共有) のレコードとその一意の識別子です。その転送のメタデータ、アクセス制御、ファイルの集合を特定します。
- ファイル (file) / fileId
- 転送内のファイルの実体と一意の ID です。同じ転送内のファイルと、その暗号化パラメーターを区別します。
- manifest
- 公開パラメーターとマッピング (cryptoVersion、noncePrefix、chunkSize、チャンクマップなど) の集合です。CEK は含みません。
- cryptoVersion
- 暗号/プロトコルのバージョン識別子 (例: v1) です。アルゴリズム、エンコーディング、導出ルールを規定し、将来の進化と互換性を支えます。
- URL フラグメント (#...)
- URL の「#」以降の部分です。ブラウザの標準仕様によりサーバーには送信されないため、復号に使う素材をクライアント側で運ぶために使います。
- token
- アクセス制御のための認証情報です。本書では、短期のセッショントークン (スコープ付き、有効期限あり) と、長期のログイントークン (送信者の管理用) を区別します。
- 短期セッショントークン
- サーバーが発行し、テーブルと照合され、有効期限があり、スコープ (read_manifest / read_chunk / upload_chunk) が限定されたアクセストークンです。
- 長期ログイントークン
- 有料ユーザーがワンタイムログイン (マジックリンク) で取得する、管理側のログイン状態です。送信者ダッシュボード (取り消し、削除、監査) に使います。
- scope
- トークンに許可される権限の範囲です。最小権限と分離のために使います (例: 暗号文のダウンロードとマニフェストの読み取りを分ける)。
- マジックリンク
- ワンタイムのログインリンクです。ユーザーがクリックして認証し、管理用のログイン状態を取得します。
- 監査 (audit)
- 転送に関連する観測可能なデータ (ダウンロード数、進捗) です。送信者が納品を確認するために使い、ダウンロードする側からは見えないよう分離されています。
- CSP (コンテンツセキュリティポリシー)
- リソースの取得元と実行を制限するブラウザ向けのセキュリティヘッダーで、XSS やインジェクションのリスクを低減します。
- セキュリティヘッダー (Security Headers)
- ブラウザのセキュリティを強化する HTTP レスポンスヘッダーの総称です。例: HSTS、Referrer-Policy、X-Content-Type-Options、Permissions-Policy。
- HSTS (Strict-Transport-Security)
- HTTPS のみでのアクセスを強制するヘッダーです。
- Referrer-Policy
- ページ遷移やリソース読み込み時に送信される Referer 情報を制御し、URL が漏えいするリスクを低減します。
- クリックジャッキング (Clickjacking)
- 対象のサイトを iframe に埋め込み、ユーザーを誘導してクリックさせる攻撃です。CSP の frame-ancestors と X-Frame-Options で防御します。
- COOP / COEP / CORP
- クロスオリジン分離のための Cross-Origin Opener / Embedder / Resource Policy ヘッダーです (互換性の評価が必要です)。
- WAF (Web アプリケーションファイアウォール)
- 一般的な攻撃や不正なトラフィック (スキャン、インジェクション、ブルートフォース) を検知してブロックします。
- レート制限 (Rate limiting)
- リクエストの頻度、同時実行数、リソース消費量にしきい値を設け、不正利用、列挙、DoS のリスクを低減します。
- IR (インシデントレスポンス)
- トリアージ、封じ込め、フォレンジック、是正、レビュー、コミュニケーションを含むプロセスです。
- VDP (脆弱性開示プログラム)
- 脆弱性を開示するための仕組み (受領、検証、修正、公表) で、責任ある報告を促します。
- 証拠 (Evidence)
- クレームを検証するための再現可能な入口です。章のアンカー (規範となる仕様) や、第三者のレポート (TLS、ヘッダーのスキャン) などが該当します。
- クレーム (Claim) / クレーム ID
- 検証可能な主張とその一意の ID です。「コミットメント/ポリシー/仕様」を「証拠」に対応付け、監査と変更の追跡を支えます。
注記
- 今後のバージョンで用語の定義が変わった場合は、この用語集を更新し、変更履歴に記録します。
- 用語が実装仕様 (例: v1 の IV/AAD エンコーディング) に関して使われる場合は、該当する章の仕様が優先されます。