運作原理
最後更新: 30 May 2026
以淺白方式說明建立、解鎖與儲存資產時裝置上發生的事——給想理解機制、而非只看行銷文案的讀者。
主密碼會離開瀏覽器嗎?
不會。主密碼僅在瀏覽器 Web Crypto API 內用於衍生加密金鑰,絕不傳送至 NT² 伺服器、不寫入磁碟、也不記錄於日誌。
NT² 使用哪些加密方式?
PBKDF2(100,000 次迭代、SHA-256)以主密碼與每個保管庫的 salt 衍生保管庫金鑰。資產內容與附件以 AES-GCM(256 位元金鑰、每次加密使用唯一 12 位元組 IV)加密。金鑰標記為不可匯出(non-extractable),JavaScript 無法匯出金鑰材料。
保管庫資料存在哪裡?
在您的裝置上:密文列存在 SQLite(wa-sqlite → IndexedDB)、附件密文存在每個保管庫的 BlobStore,另有小型的裝置索引供選擇保管庫。可選的進階雲端同步(啟用後)僅儲存密文——絕不含主密碼或明文項目。
忘記密碼時 NT² 能幫我復原嗎?
不能——這是刻意設計。沒有主密碼(或無法解鎖的有效 .nt2vault 備份),密文無法解密。NT² 沒有後門。詳見備份與復原。
整體概念
NT² Vault 採 本機優先 與 零知識:
- 本機優先 — 保管庫在瀏覽器中運作。無需帳號或網路即可建立、搜尋與編輯資產。
- 零知識 — 敏感欄位在寫入磁碟之前即已加密。即使 NT² 營運方也無法讀取您的保管庫內容。
此設計不需要您把秘密交給 NT² 保管。您信任的是自己的裝置、主密碼,以及標準密碼學。
建立或解鎖保管庫
當您建立或解鎖保管庫時:
- Salt — 從該保管庫的中繼資料讀取(或寫入)隨機 16 位元組 salt。Salt 不是秘密;它確保相同密碼在不同保管庫產生不同金鑰。
- 金鑰衍生 — 主密碼與 salt 經 PBKDF2(100,000 次迭代、SHA-256)衍生 保管庫 AES 金鑰。其他金鑰(例如 保管庫金鑰 DID 簽章材料)以 HKDF 從同一根金鑰、不同標籤衍生。
- 密碼驗證 — 解鎖時 NT² 解密一小段已知的密碼驗證密文。密碼錯誤 → 立即失敗,不會暴露項目資料。
- 僅記憶體金鑰 — 保管庫 AES 金鑰以
extractable: false存在瀏覽器記憶體。鎖定、關閉分頁或閒置逾時後即清除。
主密碼絕不離開瀏覽器沙箱,也不寫入 SQLite、IndexedDB 或任何伺服器。
每筆資產如何受保護
每個保管庫項目都有結構化欄位(標題、類別、加密 payload):
| 步驟 | 發生的事 |
|---|---|
| 在 UI 編輯 | 您填入類別專用欄位(銀行帳號、助記詞等)。 |
| 打包與加密 | 敏感欄位打包為 JSON,以 AES-GCM 搭配保管庫金鑰與每項目新的隨機 IV 加密。 |
| 儲存 | 僅 Base64 密文 + IV(及供搜尋用的非敏感標題)寫入本機 SQLite。 |
| 檢視 | 僅在保管庫解鎖時於記憶體中解密。 |
附件(PDF、圖片)同理:在瀏覽器加密,密文存入每保管庫 blob 儲存;中繼資料(檔名、大小、IV)留在 SQLite。
複製按鈕與剪貼簿自動清除可降低貼上後意外外洩的風險——不能取代在共用裝置上鎖定保管庫。
裝置上的密文存放位置
您的瀏覽器
├── 裝置保管庫索引(IndexedDB) → 選擇器用的顯示名稱 + 保管庫 ID
├── 每保管庫 SQLite(/nt2-vault-{id})→ 加密項目、中繼資料、salt、驗證碼
└── 每保管庫 BlobStore → 加密附件位元組
每個保管庫彼此隔離:獨立 SQLite、獨立附件儲存、獨立 salt。同一時間只能解鎖一個保管庫。
匯出 .nt2vault 可在離線或另一裝置移轉保管庫。匯出檔已加密;匯入仍須主密碼。詳見備份與復原。
自動鎖定與威脅模型
解鎖期間,解密金鑰在記憶體中。NT² 緩解常見風險:
| 風險 | 緩解 |
|---|---|
| 離開未關的筆電 | 閒置 5 分鐘自動鎖定清除金鑰 |
| 共用電腦分頁未關 | 關分頁 / 重新整理時鎖定 |
| 惡意腳本竊取金鑰 | 金鑰不可匯出;鎖定即清除 |
| 裝置遺失(已鎖定) | 攻擊者僅見靜態密文 |
自動鎖定是安全網——不能取代強主密碼與安全備份。見安全守則。
可選雲端(進階,啟用後)
跨裝置同步設計為維持零知識:
- 伺服器儲存密文 blob 與公開保管庫身分(保管庫金鑰 DID)——不含主密碼。
- 驗證以保管庫金鑰材料的挑戰–回應簽章進行,非電郵登入。
- PBKDF2 與解密仍在各裝置的瀏覽器中執行。
雲端功能為可選。免費方案是完整本機保管庫,無需伺服器。
NT² 刻意不能做的事
這些限制來自零知識設計:
- 重設或復原忘記的主密碼
- 代您解密項目(含法律要求下)
- 阻止您對自己解鎖畫面截圖