生物耦合能力權杖的安全模型、驗證協議與研究計畫
摘要
本文針對個人生物模糊權杖域與多指耦合權杖域,建立初步威脅模型、安全性目標、協議流程、形式驗證方向與實驗計畫。研究重點包括:避免生物特徵成為不可撤銷永久密鑰、避免外部權杖暴露個人區間、避免提示注入繞過人類同意、避免模糊模板被逐步污染,以及避免多指設計被錯誤理解為完全獨立多因素認證。
本文同時提出一個可實作的 MVP:本地 Action Firewall、模擬生物特徵資料、可撤銷模板版本、多指門檻解鎖、短效能力權杖與簽章執行收據。第一階段不依賴真實原始指紋資料,而先驗證數學結構、政策語義、權杖不可區分性與故障恢復能力。
關鍵詞: 威脅模型、形式安全、提示注入、模板污染、權杖不可區分性、MVP、實驗計畫
一、系統參與者
定義參與者:
- U :人類使用者;
- A :AI Agent;
- B :本地能力代理 Broker;
- V :秘密保管庫 Vault;
- R :遠端資源服務;
- D :可信裝置;
- Si :第 i 個生物根值;
- T :短效能力權杖。
基本流程:
A→B→U→BiometricVerify→Mint(T)→Execute(R)
AI 不直接接觸:
- 原始生物資料;
- 模板;
- 模糊提取器輔助秘密;
- 根種子;
- 外部長期 API Key;
- Broker 的簽發根;
- 最好也不接觸短效能力權杖。
二、資產
需保護的資產包括:
- 原始生物樣本 b ;
- 生物特徵向量 z ;
- 可撤銷轉換參數 ρ ;
- 模糊重建輔助資料 P ;
- 個人根種子 S ;
- 多指分享值 σi ;
- Broker 根密鑰 KB ;
- 第三方 API Key;
- 權杖政策;
- 執行收據與稽核鏈;
- 使用者—服務關聯資訊;
- 手指組合與能力語義映射。
三、威脅模型
3.1 惡意或被注入的 Agent
攻擊者透過網頁、文件、程式碼註解或工具輸出誘導 Agent:
- 要求讀取秘密;
- 要求生成過大權限;
- 偷換資源或收件人;
- 將權杖傳送至外部;
- 重播已授權操作;
- 誘導使用者在不知情下掃描指紋。
安全原則:
Imodel=Asystem
模型意圖不是系統授權。
3.2 本地惡意程序
其他本地程序可能:
- 竊取短效權杖;
- 呼叫本地 Broker;
- 模擬 Agent 身份;
- 監聽 IPC;
- 讀取環境變數;
- 篡改核准畫面。
因此權杖應綁定:
Agent Identity+Device Key+Audience+Operation Digest
3.3 生物偽造
攻擊包括:
- 假指紋;
- 重播感測器資料;
- 模板注入;
- 特徵替換;
- 感測器驅動遭入侵。
需要:
- 活體檢測;
- 感測器到可信執行環境的完整性;
- 裝置證明;
- 高風險操作的第二因素。
3.4 模板污染
攻擊者反覆提交接近閾值的錯誤樣本,使模板中心緩慢偏移。
若更新公式為:
μ(t+1)=(1−η)μ(t)+ηzt
則必須限制:
μ(t+1)−μ(t)≤ε
且只允許在:
CoreMatch∧Liveness∧SecondFactor∧TrustedDevice
時更新。
3.5 權杖關聯與區間推測
外部觀察者可能收集大量 Token,嘗試判斷:
- 是否屬於同一人;
- 是否屬於同一手指組合;
- 是否為高權限;
- 是否處於同一時間窗;
- 內部區間寬度。
因此外部權杖必須與均勻亂數計算上不可區分。
3.6 裝置遺失
若裝置遺失,攻擊者可能取得:
- 加密模板;
- 輔助資料;
- Broker 設定;
- 本地資料庫;
- 已登入工作階段。
需要:
- 裝置根金鑰不可匯出;
- 遠端撤銷;
- 工作階段短效化;
- 生物域版本輪替;
- 離線恢復碼或硬體金鑰。
四、核心安全目標
4.1 生物隱私
AdvAbio−recover≤negl(λ)
攻擊者不應從公開輔助資料、權杖與日誌重建可用生物模板。
4.2 權杖不可區分性
∣Pr[A(T)=1]−Pr[A(Un)=1]∣≤negl(λ)
4.3 跨服務不可連結性
對服務 s1=s2 :
AdvAlink(Ts1,Ts2)≤negl(λ)
4.4 可撤銷性
版本更新後:
Verifyv+1(Tv)=0
4.5 防重播
每個權杖包含唯一:
jti←${0,1}128
且:
Used(jti)=1⇒Reject(jti)
4.6 行動綁定
權杖必須綁定操作摘要:
dop=H(operation∥resource∥params∥artifact)
若任何參數改變:
dop′=dop⇒Verify(T,dop′)=0
4.7 持有者綁定
純 Bearer Token 應避免。可使用臨時金鑰:
(skE,pkE)←KeyGen()
權杖包含:
cnf=H(pkE)
請求必須附上:
σE=SignskE(method∥uri∥nonce∥timestamp)
五、協議草案
5.1 註冊
- 收集多次生物樣本;
- 建立核心區、模糊區與拒絕區;
- 產生可撤銷轉換參數;
- 建立模糊重建輔助資料;
- 產生個人根或多指分享值;
- 使用裝置硬體根加密保存;
- 建立版本、服務域與能力政策;
- 產生離線恢復方案。
5.2 Agent 提出意圖
Agent 提交:
{
"actor": "local-coding-agent",
"operation": "cloudflare.worker.deploy",
"resource": "evemisslab/ai-board",
"environment": "production",
"artifact_hash": "sha256:...",
"requested_ttl": 60
}
5.3 Broker 驗證
Broker 驗證:
Authn(A)∧Policy(A,O,R)∧Validate(params)
5.4 本地核准
本地可信介面顯示:
- Agent;
- 操作;
- 資源;
- 風險;
- 影響;
- 參數摘要;
- 權杖時效;
- 所需生物組合。
5.5 生物耦合
依政策選擇:
1-of-m
2-of-m
k-of-m
或指定組合:
G={LI,RT}
5.6 權杖簽發
T=Mint(u,A,G,operation,resource,params,exp,jti,cnf)
5.7 本地執行
Broker 使用第三方秘密完成操作,Agent 只收到去敏結果。
5.8 簽章收據
Receipti=SignskB(H(Receipti−1∥intenti∥approvali∥resulti∥ti))
六、形式驗證方向
可將系統抽象為狀態機:
S=(U,A,D,Bio,Policy,Token,Resource,Audit)
主要不變量:
不變量一:無授權不得執行
¬Authorized⇒¬Executed
不變量二:Agent 不得讀取根秘密
∀A,Read(A,KB)=0
Read(A,Si)=0
Read(A,APIKey)=0
不變量三:過期權杖無效
t>exp(T)⇒Verify(T)=0
不變量四:使用次數受限
uses(T)≥max_uses(T)⇒Verify(T)=0
不變量五:操作不可替換
digest(O′)=digest(O)⇒Verify(T,O′)=0
後續可使用:
- TLA+ 驗證狀態機與重播條件;
- ProVerif 或 Tamarin 分析協議機密性與認證性;
- Lean 建立部分核心定理;
- Python 建立模擬與統計測試。
七、實驗計畫
實驗一:模糊區穩定性
建立模擬個人特徵分布:
zu,t∼N(μu,Σu)
測試不同:
- 核心半徑 α ;
- 模糊半徑 β ;
- 維度 d ;
- 噪聲;
- 漂移速率;
- 樣本數。
指標:
FAR,FRR,EER
以及:
Pstable=Pr[Rep(z′,P)=S]
實驗二:區間不可見性
生成大量 Token,測試分類器能否預測:
- 使用者;
- 類型;
- 時間窗;
- 手指組合;
- 核心或模糊區。
理想結果接近隨機基線。
實驗三:多指門檻容錯
測試:
k-of-m
在不同手指失效、受傷與品質下降下的成功率與安全性。
實驗四:模板污染
模擬攻擊者以接近閾值樣本逐步偏移模板,測試:
- 無限制更新;
- 單次漂移限制;
- 核心區更新;
- 第二因素更新;
- 凍結窗口。
比較中心偏移:
∥μt−μ0∥
實驗五:權杖重播與參數替換
驗證:
- jti 重播;
- 時間窗過期;
- 資源替換;
- 參數替換;
- Agent 身份替換;
- 裝置金鑰替換。
實驗六:人類可理解性
比較兩種核准介面:
- 「允許使用 API Token」;
- 「允許指定 Agent 執行具體操作」。
測量:
- 錯誤核准率;
- 判斷時間;
- 對風險理解;
- 對提示注入抵抗程度。
八、MVP 路線
第一階段:純模擬
不使用真實指紋資料,使用合成特徵向量,完成:
- 核心區與模糊區;
- 單指域;
- 多指耦合;
- k$-of-$m 分享值;
- 類型與時間子域;
- 權杖簽發與驗證;
- 簽章收據;
- 攻擊模擬。
第二階段:作業系統生物驗證
使用 Windows Hello、WebAuthn 或平台生物 API,只取得:
verified∈{0,1}
此階段不取得原始指紋特徵,先驗證:
- 生物核准流程;
- 裝置綁定;
- Action Firewall;
- 短效能力權杖;
- 高風險多步核准。
第三階段:研究級生物資料
在合法、知情同意與隔離研究環境中,使用研究資料集或專用感測器驗證:
- 真實模糊區間;
- 多指耦合;
- 模板漂移;
- 模糊提取器;
- 可撤銷轉換;
- 跨感測器穩定性。
第四階段:服務整合
先整合:
- GitHub;
- Cloudflare;
- SSH;
- 任意 Bearer Token HTTP API。
Agent 不持有原始秘密,Broker 代為執行。
九、最低安全紅線
- 不直接使用指紋雜湊作永久密鑰。
- 不將個人區間表現在權杖字串。
- 不將模糊區映射為較短或較弱權杖。
- 不提供
get_secret() 或 export_secret()。
- 不讓聊天框成為可信核准介面。
- 不把多指宣稱為完全獨立多因素。
- 不允許無限制模板自我更新。
- 不以真實生物資料作為第一版 MVP 的必要條件。
- 不讓權杖脫離操作、資源、時間與持有者綁定。
- 不忽略裝置遺失、撤銷與恢復程序。
十、後續研究方向
- 指紋+臉部+聲紋的跨模態耦合域;
- 多人共同生物授權;
- 組織角色與生物能力格;
- AI Agent 之間的能力衰減委託;
- 零知識證明式生物域成員證明;
- 同態或安全多方計算下的生物匹配;
- 可信執行環境內的模板與權杖生成;
- 形式化能力語言;
- 可攜式權杖域政策標準;
- 對 AI 提示注入的行動層防火牆。
結論
本研究的安全目標不是證明某人「擁有一根特定手指」,而是建立以下可驗證鏈:
可信生物匹配→受控個人域→具體行動授權→短效能力權杖→本地受控執行
其中任何一層都不應讓 AI 取得原始秘密,也不應讓外部服務藉由權杖反推出生物身份、手指組合或個人區間。