第 2 章 威脅模型與信任邊界
本章建立共通的威脅模型與信任邊界詞彙:我們保護哪些資產、攻擊者能做什麼、 哪些前提假設必須成立,以及系統在驗證失敗或參數不符時必須(MUST)如何採取失效關閉(fail closed)。
文件中繼資料
- 白皮書版本
- 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 邊界:伺服器驗證權杖並提供密文/清單;不得(MUST NOT)得知 CEK。
- 物件儲存邊界:儲存密文區塊與清單;就機密性而言視為不受信任。
2.5 失效關閉原則
- 發生權杖驗證失敗、參數不符或 AEAD 驗證失敗時,系統必須(MUST)採取失效關閉。
- 完整性檢查失敗時,不得(MUST NOT)輸出任何部分明文。
- 錯誤訊息與日誌應(SHOULD)盡量減少敏感資料,且不得(MUST NOT)包含 URL 片段、CEK 或可推導出它們的素材。