Salt 託管(Plan B)— NT² Vault 教學指南
最後更新: 28 Jun 2026
Premium Plan B—本機保管箱不必需。
適用對象
啟用雲端同步的 Premium 使用者,希望新裝置從 NT² 取得 KDF salt 與公開 Key DID 材料,而無需手動搬運 salt—每次解鎖仍在本機輸入主密碼。
你需要什麼
| 方案 | 正式環境對既有雲端列重新註冊時需 NT² Premium |
| 保管箱狀態 | 首次啟用同步時需解鎖以上傳 salt |
| 網路 | 註冊/bootstrap 取得需連線 |
| 功能開關 | 雲端同步註冊(啟用同步時自動) |
步驟
Plan A 與 Plan B
| Plan A(預設本機) | Plan B(salt 託管) | |
|---|---|---|
| Salt 存放 | 本機 SQLite 的 vault_meta.saltHex | 雲端註冊時複製同一 salt 至 D1 |
| 新裝置解鎖 | .nt2backup 或手動搬 salt | GET /api/vault/bootstrap?keyDid= + 主密碼 |
| 主密碼在伺服器 | 從不 | 從不 |
多數使用者從 Plan A 開始;首次啟用同步遷移至 Plan B,不會產生新 salt。
上傳 salt(首次啟用同步)
- 開啟 設定 → 保管箱 → 雲端同步 並選 啟用雲端同步。
- Key DID 驗證後,
registerUser送出既有vault_meta.saltHex、密碼驗證器(若有)與公開 Key DID 欄位。 - 同一 Key DID 若 salt 衝突 NT² 回 409—每保管箱僅一組 canonical salt。
在新裝置取得 salt
- 冷裝置上開始保管箱設定或副本交接(設定 QR/還原包流程)。
- 用戶端呼叫
GET /api/vault/bootstrap?keyDid=(公開、無工作階段)取得 salt、驗證器與公開簽章金鑰。 - 輸入 主密碼;PBKDF2(100k 次、SHA-256)在瀏覽器執行以衍生保管箱金鑰。
- 錯誤密碼經驗證器失敗—與純本機解鎖相同。
工作階段 salt 取得
- 已驗證裝置可用與 Key DID 相符的同步工作階段權杖呼叫
GET /api/salt?keyDid=。 - 回應含 salt 與選用驗證器密文—仍不傳輸主密碼。
提示與常見錯誤
- Salt 不是秘密—用於減緩離線猜測;安全來自主密碼強度。
- Plan B 不託管私密簽章金鑰(現行用戶端)—bootstrap 後閾值解鎖仍用本機 Shamir 材料。
- 純本機保管箱不必需 Plan B;還原包與備份仍足夠。
- 停用同步不刪 D1 列;除非透過支援移除帳戶資料,salt 可能保留供日後重新啟用。