# 生物耦合能力權杖的安全模型、驗證協議與研究計畫

## 摘要

本文針對個人生物模糊權杖域與多指耦合權杖域，建立初步威脅模型、安全性目標、協議流程、形式驗證方向與實驗計畫。研究重點包括：避免生物特徵成為不可撤銷永久密鑰、避免外部權杖暴露個人區間、避免提示注入繞過人類同意、避免模糊模板被逐步污染，以及避免多指設計被錯誤理解為完全獨立多因素認證。

本文同時提出一個可實作的 MVP：本地 Action Firewall、模擬生物特徵資料、可撤銷模板版本、多指門檻解鎖、短效能力權杖與簽章執行收據。第一階段不依賴真實原始指紋資料，而先驗證數學結構、政策語義、權杖不可區分性與故障恢復能力。

**關鍵詞：** 威脅模型、形式安全、提示注入、模板污染、權杖不可區分性、MVP、實驗計畫

---

## 一、系統參與者

定義參與者：

- $U$ ：人類使用者；
- $A$ ：AI Agent；
- $B$ ：本地能力代理 Broker；
- $V$ ：秘密保管庫 Vault；
- $R$ ：遠端資源服務；
- $D$ ：可信裝置；
- $S_i$ ：第 $i$ 個生物根值；
- $T$ ：短效能力權杖。

基本流程：

$$
A
\rightarrow
B
\rightarrow
U
\rightarrow
\operatorname{BiometricVerify}
\rightarrow
\operatorname{Mint}(T)
\rightarrow
\operatorname{Execute}(R)
$$

AI 不直接接觸：

- 原始生物資料；
- 模板；
- 模糊提取器輔助秘密；
- 根種子；
- 外部長期 API Key；
- Broker 的簽發根；
- 最好也不接觸短效能力權杖。

---

## 二、資產

需保護的資產包括：

1. 原始生物樣本 $b$ ；
2. 生物特徵向量 $z$ ；
3. 可撤銷轉換參數 $\rho$ ；
4. 模糊重建輔助資料 $P$ ；
5. 個人根種子 $S$ ；
6. 多指分享值 $\sigma_i$ ；
7. Broker 根密鑰 $K_B$ ；
8. 第三方 API Key；
9. 權杖政策；
10. 執行收據與稽核鏈；
11. 使用者—服務關聯資訊；
12. 手指組合與能力語義映射。

---

## 三、威脅模型

### 3.1 惡意或被注入的 Agent

攻擊者透過網頁、文件、程式碼註解或工具輸出誘導 Agent：

- 要求讀取秘密；
- 要求生成過大權限；
- 偷換資源或收件人；
- 將權杖傳送至外部；
- 重播已授權操作；
- 誘導使用者在不知情下掃描指紋。

安全原則：

$$
I_{\mathrm{model}}
\neq
A_{\mathrm{system}}
$$

模型意圖不是系統授權。

### 3.2 本地惡意程序

其他本地程序可能：

- 竊取短效權杖；
- 呼叫本地 Broker；
- 模擬 Agent 身份；
- 監聽 IPC；
- 讀取環境變數；
- 篡改核准畫面。

因此權杖應綁定：

$$
\text{Agent Identity}
+
\text{Device Key}
+
\text{Audience}
+
\text{Operation Digest}
$$

### 3.3 生物偽造

攻擊包括：

- 假指紋；
- 重播感測器資料；
- 模板注入；
- 特徵替換；
- 感測器驅動遭入侵。

需要：

- 活體檢測；
- 感測器到可信執行環境的完整性；
- 裝置證明；
- 高風險操作的第二因素。

### 3.4 模板污染

攻擊者反覆提交接近閾值的錯誤樣本，使模板中心緩慢偏移。

若更新公式為：

$$
\mu^{(t+1)}
=
(1-\eta)\mu^{(t)}
+\eta z_t
$$

則必須限制：

$$
\left\|
\mu^{(t+1)}
-
\mu^{(t)}
\right\|
\leq\varepsilon
$$

且只允許在：

$$
\mathrm{CoreMatch}
\land
\mathrm{Liveness}
\land
\mathrm{SecondFactor}
\land
\mathrm{TrustedDevice}
$$

時更新。

### 3.5 權杖關聯與區間推測

外部觀察者可能收集大量 Token，嘗試判斷：

- 是否屬於同一人；
- 是否屬於同一手指組合；
- 是否為高權限；
- 是否處於同一時間窗；
- 內部區間寬度。

因此外部權杖必須與均勻亂數計算上不可區分。

### 3.6 裝置遺失

若裝置遺失，攻擊者可能取得：

- 加密模板；
- 輔助資料；
- Broker 設定；
- 本地資料庫；
- 已登入工作階段。

需要：

- 裝置根金鑰不可匯出；
- 遠端撤銷；
- 工作階段短效化；
- 生物域版本輪替；
- 離線恢復碼或硬體金鑰。

---

## 四、核心安全目標

### 4.1 生物隱私

$$
\operatorname{Adv}^{\mathrm{bio-recover}}_{\mathcal A}
\leq
\operatorname{negl}(\lambda)
$$

攻擊者不應從公開輔助資料、權杖與日誌重建可用生物模板。

### 4.2 權杖不可區分性

$$
\left|
\Pr[
\mathcal A(T)=1
]
-
\Pr[
\mathcal A(U_n)=1
]
\right|
\leq
\operatorname{negl}(\lambda)
$$

### 4.3 跨服務不可連結性

對服務 $s_1\neq s_2$ ：

$$
\operatorname{Adv}^{\mathrm{link}}_{\mathcal A}
(
T_{s_1},
T_{s_2}
)
\leq
\operatorname{negl}(\lambda)
$$

### 4.4 可撤銷性

版本更新後：

$$
\operatorname{Verify}_{v+1}(T_v)=0
$$

### 4.5 防重播

每個權杖包含唯一：

$$
jti\overset{\$}{\leftarrow}\{0,1\}^{128}
$$

且：

$$
\operatorname{Used}(jti)=1
\Rightarrow
\operatorname{Reject}(jti)
$$

### 4.6 行動綁定

權杖必須綁定操作摘要：

$$
d_{\mathrm{op}}
=
H(
operation
\parallel resource
\parallel params
\parallel artifact
)
$$

若任何參數改變：

$$
d'_{\mathrm{op}}\neq d_{\mathrm{op}}
\Rightarrow
\operatorname{Verify}(T,d'_{\mathrm{op}})=0
$$

### 4.7 持有者綁定

純 Bearer Token 應避免。可使用臨時金鑰：

$$
(sk_E,pk_E)\leftarrow\operatorname{KeyGen}()
$$

權杖包含：

$$
cnf=H(pk_E)
$$

請求必須附上：

$$
\sigma_E=
\operatorname{Sign}_{sk_E}
(
method
\parallel uri
\parallel nonce
\parallel timestamp
)
$$

---

## 五、協議草案

### 5.1 註冊

1. 收集多次生物樣本；
2. 建立核心區、模糊區與拒絕區；
3. 產生可撤銷轉換參數；
4. 建立模糊重建輔助資料；
5. 產生個人根或多指分享值；
6. 使用裝置硬體根加密保存；
7. 建立版本、服務域與能力政策；
8. 產生離線恢復方案。

### 5.2 Agent 提出意圖

Agent 提交：

```json
{
  "actor": "local-coding-agent",
  "operation": "cloudflare.worker.deploy",
  "resource": "evemisslab/ai-board",
  "environment": "production",
  "artifact_hash": "sha256:...",
  "requested_ttl": 60
}
```

### 5.3 Broker 驗證

Broker 驗證：

$$
\operatorname{Authn}(A)
\land
\operatorname{Policy}(A,O,R)
\land
\operatorname{Validate}(params)
$$

### 5.4 本地核准

本地可信介面顯示：

- Agent；
- 操作；
- 資源；
- 風險；
- 影響；
- 參數摘要；
- 權杖時效；
- 所需生物組合。

### 5.5 生物耦合

依政策選擇：

$$
1\text{-of-}m
$$

$$
2\text{-of-}m
$$

$$
k\text{-of-}m
$$

或指定組合：

$$
G=
\{\mathrm{LI},\mathrm{RT}\}
$$

### 5.6 權杖簽發

$$
T=
\operatorname{Mint}
(
u,
A,
G,
operation,
resource,
params,
exp,
jti,
cnf
)
$$

### 5.7 本地執行

Broker 使用第三方秘密完成操作，Agent 只收到去敏結果。

### 5.8 簽章收據

$$
Receipt_i=
\operatorname{Sign}_{sk_B}
\left(
H(
Receipt_{i-1}
\parallel
intent_i
\parallel
approval_i
\parallel
result_i
\parallel
t_i
)
\right)
$$

---

## 六、形式驗證方向

可將系統抽象為狀態機：

$$
S=
(
U,
A,
D,
Bio,
Policy,
Token,
Resource,
Audit
)
$$

主要不變量：

### 不變量一：無授權不得執行

$$
\neg Authorized
\Rightarrow
\neg Executed
$$

### 不變量二：Agent 不得讀取根秘密

$$
\forall A,\quad
Read(A,K_B)=0
$$

$$
Read(A,S_i)=0
$$

$$
Read(A,APIKey)=0
$$

### 不變量三：過期權杖無效

$$
t>exp(T)
\Rightarrow
Verify(T)=0
$$

### 不變量四：使用次數受限

$$
uses(T)\geq max\_uses(T)
\Rightarrow
Verify(T)=0
$$

### 不變量五：操作不可替換

$$
digest(O')\neq digest(O)
\Rightarrow
Verify(T,O')=0
$$

後續可使用：

- TLA+ 驗證狀態機與重播條件；
- ProVerif 或 Tamarin 分析協議機密性與認證性；
- Lean 建立部分核心定理；
- Python 建立模擬與統計測試。

---

## 七、實驗計畫

### 實驗一：模糊區穩定性

建立模擬個人特徵分布：

$$
z_{u,t}\sim\mathcal N(\mu_u,\Sigma_u)
$$

測試不同：

- 核心半徑 $\alpha$ ；
- 模糊半徑 $\beta$ ；
- 維度 $d$ ；
- 噪聲；
- 漂移速率；
- 樣本數。

指標：

$$
FAR,\quad FRR,\quad EER
$$

以及：

$$
P_{\mathrm{stable}}
=
\Pr[
\operatorname{Rep}(z',P)=S
]
$$

### 實驗二：區間不可見性

生成大量 Token，測試分類器能否預測：

- 使用者；
- 類型；
- 時間窗；
- 手指組合；
- 核心或模糊區。

理想結果接近隨機基線。

### 實驗三：多指門檻容錯

測試：

$$
k\text{-of-}m
$$

在不同手指失效、受傷與品質下降下的成功率與安全性。

### 實驗四：模板污染

模擬攻擊者以接近閾值樣本逐步偏移模板，測試：

- 無限制更新；
- 單次漂移限制；
- 核心區更新；
- 第二因素更新；
- 凍結窗口。

比較中心偏移：

$$
\|\mu_t-\mu_0\|
$$

### 實驗五：權杖重播與參數替換

驗證：

- $jti$ 重播；
- 時間窗過期；
- 資源替換；
- 參數替換；
- Agent 身份替換；
- 裝置金鑰替換。

### 實驗六：人類可理解性

比較兩種核准介面：

1. 「允許使用 API Token」；
2. 「允許指定 Agent 執行具體操作」。

測量：

- 錯誤核准率；
- 判斷時間；
- 對風險理解；
- 對提示注入抵抗程度。

---

## 八、MVP 路線

### 第一階段：純模擬

不使用真實指紋資料，使用合成特徵向量，完成：

- 核心區與模糊區；
- 單指域；
- 多指耦合；
- $k$-of-$m$ 分享值；
- 類型與時間子域；
- 權杖簽發與驗證；
- 簽章收據；
- 攻擊模擬。

### 第二階段：作業系統生物驗證

使用 Windows Hello、WebAuthn 或平台生物 API，只取得：

$$
verified\in\{0,1\}
$$

此階段不取得原始指紋特徵，先驗證：

- 生物核准流程；
- 裝置綁定；
- Action Firewall；
- 短效能力權杖；
- 高風險多步核准。

### 第三階段：研究級生物資料

在合法、知情同意與隔離研究環境中，使用研究資料集或專用感測器驗證：

- 真實模糊區間；
- 多指耦合；
- 模板漂移；
- 模糊提取器；
- 可撤銷轉換；
- 跨感測器穩定性。

### 第四階段：服務整合

先整合：

- GitHub；
- Cloudflare；
- SSH；
- 任意 Bearer Token HTTP API。

Agent 不持有原始秘密，Broker 代為執行。

---

## 九、最低安全紅線

1. 不直接使用指紋雜湊作永久密鑰。
2. 不將個人區間表現在權杖字串。
3. 不將模糊區映射為較短或較弱權杖。
4. 不提供 `get_secret()` 或 `export_secret()`。
5. 不讓聊天框成為可信核准介面。
6. 不把多指宣稱為完全獨立多因素。
7. 不允許無限制模板自我更新。
8. 不以真實生物資料作為第一版 MVP 的必要條件。
9. 不讓權杖脫離操作、資源、時間與持有者綁定。
10. 不忽略裝置遺失、撤銷與恢復程序。

---

## 十、後續研究方向

1. 指紋＋臉部＋聲紋的跨模態耦合域；
2. 多人共同生物授權；
3. 組織角色與生物能力格；
4. AI Agent 之間的能力衰減委託；
5. 零知識證明式生物域成員證明；
6. 同態或安全多方計算下的生物匹配；
7. 可信執行環境內的模板與權杖生成；
8. 形式化能力語言；
9. 可攜式權杖域政策標準；
10. 對 AI 提示注入的行動層防火牆。

---

## 結論

本研究的安全目標不是證明某人「擁有一根特定手指」，而是建立以下可驗證鏈：

$$
\boxed{
\text{可信生物匹配}
\rightarrow
\text{受控個人域}
\rightarrow
\text{具體行動授權}
\rightarrow
\text{短效能力權杖}
\rightarrow
\text{本地受控執行}
}
$$

其中任何一層都不應讓 AI 取得原始秘密，也不應讓外部服務藉由權杖反推出生物身份、手指組合或個人區間。
