第 10 章:安全考量

本章描述 CAP 協議的威脅模型、已知風險和緩解措施。本章為非規範性內容(不使用 MUST/SHOULD/MAY 等關鍵字),但本章描述的風險和緩解措施 SHOULD 被實作者認真對待。

10.1 威脅模型

CAP 協議的威脅模型基於以下假設和考量。

10.1.1 信任假設

CAP 協議假定以下實體可信:

  1. Registration_Authority:信任錨,其金鑰分發能力是協議安全性的基礎
  2. 預置的信任錨金鑰:終端製造或部署時預置的 RA 公鑰
  3. 終端的安全儲存:用於儲存 Verification_Key 和本地簽章金鑰的硬體/軟體安全模組

CAP 協議假定以下實體可信:

  1. Fay 實例:Fay 可能被惡意編寫或被攻擊者控制
  2. iFay_Runtime:可能存在 bug 或被替換
  3. 網路通道:可能被監聽、篡改、阻斷
  4. 未授權的應用程序:終端上的其他程序可能嘗試繞過 CAP 控制

10.1.2 攻擊者能力

考慮以下能力的攻擊者:

攻擊者類型能力
網路攻擊者監聽、篡改、阻斷、重放網路訊息
流氓 Fay持有合法憑證但行為異常
憑證竊取者透過其他管道取得他人憑證副本
內部威脅Descriptor_Issuer 自身被攻陷
實體攻擊者實體接觸終端裝置

CAP 協議針對前 4 種攻擊者提供保護機制,對實體攻擊者的防護依賴於終端的硬體安全機制(不在協議層面解決)。

10.2 已知風險與緩解

10.2.1 憑證外洩風險

風險:Authorization_Descriptor 檔案被攻擊者竊取後,可在持有憑證的 Fay 之外的實體上提交給終端。

緩解措施

  • Authorization_Descriptor 的 subject_fay_id 繫結到具體 Fay,終端在 §3.3.2 第 4 步驗證主體比對
  • 攻擊者必須同時控制目標 Fay 的執行時(即攻擊 Fay 自身),憑證外洩本身不足以構成攻擊
  • 憑證儲存 MUST 加密(§3.2.3),防止離線提取
  • Trusted_Ticket 透過短有效期(最長 7 天)和即時撤銷查詢限制損害視窗

殘餘風險:若攻擊者完全控制 Fay 程序(包括其金鑰),憑證仍可被濫用。本協議不能解決「已被完全攻陷的 Fay」的問題——這是更上層的 Fay 完整性保護問題。

10.2.2 撤銷延遲風險

風險:憑證被撤銷後到撤銷聲明送達終端之間存在延遲視窗,期間被撤銷的憑證仍能通過校驗。

緩解措施

  • 終端持續聯網時,撤銷聲明預設在 1 小時內同步(§3.4.5)
  • 使用 Trusted_Ticket 時,終端 MAY 透過即時撤銷查詢消除延遲(§4.3.2 第 5 步)
  • 憑證有效期上限(90 天離線 / 7 天線上)限制最長延遲
  • 簽發方在高敏感場景 SHOULD 使用更短的有效期(如 1 天)

殘餘風險:長期離線的終端可能在數天甚至更長時間內接受已被撤銷的憑證。這是離線授權機制的固有取捨——在可用性與撤銷時效性之間選擇了可用性優先。

10.2.3 重放攻擊風險

風險:攻擊者擷取合法的協議訊息後重放給終端。

緩解措施

  • AuthRequest 包含 message_id(UUID v7,時間相關),終端 MAY 維護短期已見 ID 快取以拒絕重放
  • Heartbeat 的 sequence_number 單調遞增,重放被偵測(§5.4.2)
  • TLS 通道提供基礎的重放保護(每個 TLS 會話獨立)
  • 撤銷聲明的 revocation_id 唯一,重放無效

殘餘風險:在 TLS 會話內部,攻擊者若已突破 TLS 加密則可重放訊息。這是 TLS 層面的威脅,不是 CAP 協議的範圍。

10.2.4 時鐘攻擊風險

風險:攻擊者透過修改終端時鐘繞過有效期檢查或暴露時鐘相關漏洞。

緩解措施

  • 終端時鐘來源應可信(系統時鐘、NTP 同步)
  • §3.6 定義時鐘漂移偵測:顯著時鐘跳變時拒絕校驗
  • 離線時長過久的終端 SHOULD 提示使用者重新同步時鐘

殘餘風險:實體控制終端的攻擊者可能能夠操縱時鐘。實體安全是終端硬體的責任。

10.2.5 Descriptor_Issuer 攻陷風險

風險:Descriptor_Issuer 被攻擊者完全控制,可簽發任意憑證。

緩解措施

  • §8.6.2 定義緊急金鑰撤銷機制
  • Registration_Authority 可透過撤銷 Descriptor_Issuer 的 Verification_Key 使其所有簽發憑證失效
  • 終端在收到 Verification_Key 撤銷後立即終止相關 Session(§5.5)
  • 信任根(Registration_Authority)的安全性是關鍵——其攻陷將導致整個信任鏈崩潰

殘餘風險:在 Verification_Key 撤銷前已經簽發的憑證可能被濫用。撤銷視窗期不可避免。

10.2.6 資源耗盡攻擊風險

風險:惡意 Fay 透過大量請求耗盡終端資源(連線數、Session 數、儲存)。

緩解措施

  • §5.8 定義 Session 數量限制
  • §3.2.3 定義憑證儲存上限
  • 心跳逾時回收失效 Session 釋放資源
  • 終端 SHOULD 實施基於 fay_id 的速率限制(在 §7.4.2 頻率約束之外)

殘餘風險:合法簽發的多個憑證可能合謀耗盡資源。終端策略應限制單一 Fay 的總配額。

10.2.7 交接競態風險

風險:攻擊者利用交接流程的中間狀態(如 §6.5.1 [T2] 的「無活躍 Session」狀態)搶佔資源。

緩解措施

  • 交接過程中資源處於預佔狀態(handover_pending),不接受其他 Session 請求(§6.5.3)
  • 即使 [T2] 與 [T3] 之間出現失敗,資源也明確進入「空閒」狀態,由後續請求公平競爭(§6.5.2)
  • 交接逾時使資源不會長期處於 pending 狀態

殘餘風險:在 [T3]–[T4] 失敗的極端情況下,原 Fay 的會話已不可恢復——需要重新發起 AuthRequest。這是必要的代價,避免引入「自動恢復」帶來的更複雜的安全分析。

10.2.8 降級攻擊風險

風險:攻擊者透過阻斷終端與 Ticket_Issuer 的連線,迫使終端進入降級模式(§4.5),從而繞過即時撤銷檢查。

緩解措施

  • 終端在降級模式下預設拒絕接受新的 Trusted_Ticket
  • 已轉換為本地 Authorization_Descriptor 的票據的有效期短(最長 7 天)
  • 終端 SHOULD 提示 iFay_Runtime 目前處於降級模式,使敏感操作可主動拒絕

殘餘風險:降級期間已轉換的本地憑證仍可被使用。這是離線優先設計的固有取捨。

10.2.9 側通道攻擊風險

風險:透過觀察 CAP 協議回應時間或錯誤碼細節推斷敏感資訊(如有效憑證存在性)。

緩解措施

  • 錯誤碼不暴露內部細節(§9.9)
  • 實作 SHOULD 在校驗失敗的不同分支保持相近的回應時間
  • 不在錯誤回應中洩露金鑰指紋、內部 ID 等

殘餘風險:完全消除側通道攻擊是極困難的。本協議層面提供基礎措施,深度防禦依賴實作品質。

10.3 部署安全建議

實作 CAP 協議的部署者應考慮以下安全實務:

10.3.1 金鑰管理

  • 私鑰儲存使用硬體安全模組(HSM、TPM、Secure Enclave)
  • 金鑰輪替週期不長於 90 天(終端本地金鑰)/ 365 天(Issuer 金鑰)
  • 建立金鑰外洩應急回應流程
  • 關鍵簽章操作要求多人審批或硬體 PIN

10.3.2 監控與稽核

  • 記錄所有授權校驗失敗事件並警示
  • 監控異常的撤銷請求頻率(可能指示 Descriptor_Issuer 被攻陷)
  • 稽核日誌使用單獨的持久化儲存,防篡改
  • 對高敏感資源(configure 模式、require_human_confirmation 約束)的所有操作完整稽核

10.3.3 終端強化

  • 啟用 OS 強制存取控制(SELinux、AppArmor)
  • 使用沙箱隔離 iFay_Runtime 與其他程序
  • 關閉不必要的系統服務,減少攻擊面
  • 定期更新系統修補程式

10.3.4 網路分段

  • Registration_Authority 的部署網路與公網隔離
  • Descriptor_Issuer 部署在受控環境
  • 終端到 Issuer 的通訊限制在必要的連接埠/協議
  • 實施 mTLS(雙向認證)保護關鍵通訊

10.4 協議局限性

本規範明確不解決以下安全問題:

  1. Fay 完整性:CAP 協議假定 Fay 實例自身的程式碼和行為完整性由其他機制保證(如程式碼簽章、執行時完整性度量)
  2. 實體安全:終端被實體攻擊者完全控制時,軟體層面無法提供保護
  3. 稽核日誌格式:v1 不規範化稽核日誌格式(藍圖 §3.2 排除項)
  4. 跨終端身分聯邦:v1 不支援跨終端的統一身分管理,每個終端獨立信任 Registration_Authority

10.5 後續版本的安全演進

未來版本(v2+)計畫引入的安全增強:

  1. 分散式撤銷共識(藍圖 §3.2 排除項)
  2. 稽核日誌標準化格式(藍圖 §3.2 排除項)
  3. 抗量子密碼學演算法(追蹤 NIST PQC 標準)
  4. 零信任原則的更深整合
  5. 形式化的協議安全性證明