跳至主要內容

無法重設密碼,是刻意的設計

閱讀時間 8 分鐘 作者 NT²

「聯絡客服重設密碼」聽起來令人安心。對加密保管箱而言,它也透露了最終由誰控制存取權。NT² 選擇一項更難實現的承諾:還原材料由你保管,而不是放在我們的客服中心。

主張:我們無法重設你的主密碼

NT² Vault 沒有隱藏的主密碼重設程序。我們不替客服保存第二把金鑰,不保留可還原的密碼副本,也不在伺服器存放能換取保管箱存取權的祕密。

這不是我們希望日後補上的限制,而是架構直接導出的結果。

你的裝置會使用主密碼派生密碼學金鑰材料。保管箱的敏感內容在本機加密。主密碼不會傳給 NT²,伺服器也不會取得重現相同解鎖結果所需的本機材料。既然雲端從未持有這些要素,客服人員就不可能在你通過 email 驗證、身份查核,或把案件升級給管理員之後重新建構它們。

在零知識產品裡,「無法」就應該有這麼明確。它不該只是「公司政策禁止員工這麼做」,而應該是系統從一開始就沒有取得這項能力。

這項差異很重要。公司可以修改政策、設錯權限、遺失管理員憑證,或被要求動用本來就擁有的能力。但公司無法交出從未收到的主密碼,也無法按下一個從未打造的解密按鈕。

常見的 SaaS 還原路徑,也是攻擊路徑

在一般線上服務中,重設密碼是大家熟悉的便利功能。你點選「忘記密碼」、收到 email 或簡訊、證明自己控制該帳號,然後設定新密碼。服務更新驗證資料庫,讓你重新登入。

如果密碼只負責登入伺服器帳號,而伺服器本來就能讀取底層資料,這套模型很合理。服務提供者是最終權威,可以自行判定:通過還原流程,就等同持有舊憑證。

加密保管箱面對的問題不同。更換帳號登入密碼,不等於找回能開啟既有密文的金鑰。假如服務提供者能把一封 email 的驗證結果轉換成解密舊有保管箱內容的新金鑰,就代表某條由服務提供者控制的路徑,連接了帳號還原與資料解密。

這條路能協助被鎖在門外的真正擁有者,也同樣吸引所有想冒充擁有者的人。

客服中心的工作,是在人事物不明確時協助釐清;攻擊者則刻意製造不明確。他們會帶著貌似合理的故事出現:手機遺失、緊急出國、改過姓氏、無法登入 email,或主管急著處理、不能等。他們從資料外洩與社群媒體蒐集細節,利用匆忙的流程,並在一位客服不接受說法時改找下一位。密碼重設流程,因而變成一套由人操作的社交工程 API。

Email 還原也有自己的依賴鏈。只要信箱遭入侵、設定了轉寄、被棄用,或能透過另一套薄弱流程取回,所有把該信箱當成根憑證的帳號都會繼承問題。簡訊則把門號移轉與電信客服納入依賴鏈。客服後台又會增加高權限帳號、稽核系統、內部程序,以及另一個高價值攻擊目標。

這不表示還原本身不好,而是由服務提供者控制的還原流程,等同一項帶有入侵面的安全能力。把它稱為「客戶服務」,並不會改變信任邊界。

對一個可能存有身份文件、登入憑證、財務紀錄或助記詞的保管箱而言,我們不認為一個 email 帳號加上一段具有說服力的對話,就該成為萬用解密金鑰。

設計:驗證與還原都留在本機

當你解鎖 NT² Vault 時,最重要的判斷發生在你的裝置上。

保管箱會保存本機密碼驗證碼,也就是與該保管箱綁定的一小段加密檢查值。裝置會使用你輸入的主密碼派生金鑰,並嘗試驗證這段檢查值。如果密碼錯誤或驗證碼損壞,驗證就會以安全方式失敗,保管箱維持鎖定。

這段驗證碼不是密碼提示,不是客服可以查詢的副本,也不會上傳伺服器,讓操作人員代替你比對猜測。它的用途很單純:讓本機保管箱辨別派生出的金鑰是否正確,而不必先解密你的紀錄,再期待其中某些內容看起來可讀。

這套安排帶來一個重要結果:NT² 無法修改雲端資料庫的某一列,就讓新密碼變成「正確答案」。舊有加密資料受到你在本機持有的根本金鑰材料保護。只改掉網路帳號憑證的重設動作,並不會轉換既有密文。

因此,還原必須以使用者持有的材料為中心,而不是依靠服務提供者的權威。NT² 提供數種工具,因為「還原」其實涵蓋不只一種故障:

  • 可攜式 .nt2backup 是保管箱內容的加密快照,可協助移轉、因應裝置遺失與災難復原。你可以把副本放在自己選擇的位置,不必把 NT² 雲端當作唯一真相來源。備份能保存資料,但不會自動取代已忘記的主密碼。
  • 還原包 是由你另行保存的加密存取材料。在全新或重設過的裝置上,它能配合必要知識或因素,協助重新建立由使用者控制的保管箱存取路徑。NT² 不會暗中保留另一份。
  • 使用者持有的還原分片 可以把還原所需的能力拆分到你控制的不同事物上。用白話來說,任何單一檔案、裝置或公司資料庫,都不會被當成備用主金鑰。只有使用者集齊必要部分時,還原才會成功。

該用哪項工具,取決於保管箱類型,以及你準備因應哪種故障。操作原則比密碼學容易理解:保留最新的加密備份、妥善保存你的設定所提供的還原材料、讓它與日常使用的裝置分開,並避免把所有因素放進同一個袋子。

這些工具改變了誰有能力還原保管箱,卻無法保證永遠不會遺失。

如果有人遺失唯一的裝置、所有備份、還原包、必要的使用者持有部分,以及主密碼,NT² 無法憑空造出已消失的祕密。反過來說,只要使用者妥善保存必要的還原材料,就擁有一條不必說服客服、也不必維持訂閱的還原路徑。

這就是使用者控制的還原:系統協助你準備、驗證、匯出與復原,同時拒絕讓服務提供者成為最終金鑰持有者。

取捨:客服不能「直接幫你解鎖」

這項設計確實有代價。

客服人員可以說明你需要哪一種還原檔案,協助確認手上的是備份還是還原包,提供檔案操作步驟、解釋錯誤訊息,並協助區分檔案損壞與密碼錯誤。當說明不夠清楚時,他們也能推動產品改善。

但他們無法解鎖保管箱。

當一個人面對多年累積的重要紀錄,而記得的密碼只差一點點時,這個答案必然令人挫折。它也帶來事前教育成本:使用者必須理解,帳號客服與密碼學還原是兩項不同工作。產品需要提醒使用者匯出還原材料,在材料過期時警告,並用清楚語言說明後果,而不是把一切藏在討喜的鎖頭插圖後面。

產品還得抵抗一項常見誘惑:在安全性頁面宣稱「零知識」,卻為棘手客服案件暗中保留例外還原路徑。只要某項例外有能力解密一位合法顧客的保管箱,它仍然是一項解密能力。攻擊者不在乎這項能力原本是否只供緊急狀況使用。

我們寧可提早說明限制,並圍繞它打造實用、由使用者持有的還原路徑。這確實把責任移向使用者,但同時也把權力交還使用者。

這項取捨不是抽象的便利與安全之爭,而是在選擇:誰擁有還原加密資料的最終能力。NT² 選擇持有保管箱與還原材料的人,而不是營運服務的公司。

我們拒絕打造的功能

有兩條捷徑可以讓客服腳本變得更簡單,但我們都拒絕。

不用 email OTP 解鎖保管箱內容

Email 可用於寄送收據、通知與一般通訊,卻不是 NT² 保管箱的密碼學根基。

我們不會寄出一組一次性代碼,讓控制信箱的人取得加密保管箱內容。這麼做會讓保管箱安全性取決於 email 供應商及其還原流程、使用者尚未登出的 session、轉寄規則,以及每一台開著該信箱的裝置。它也會建立我們刻意移除的橋梁:讓服務提供者控制的身份還原流程直接連向解密能力。

Email 可以告訴你發生了什麼事,但絕不能成為讓密文變得可讀的祕密。

不打造能解密使用者資料的客服後台

我們不會提供按鈕,讓客服人員顯示保管箱項目、附件或還原祕密。

打造這類後台,代表 NT² 必須持有或取得解密能力。即使把按鈕限制給資深員工、記錄每次使用,或要求兩人核准,都只能改善這項能力的治理方式,無法消除能力本身。後台依然會成為攻擊者、內部人員、人為錯誤與法律要求的目標。

客服工具應該顯示服務健康狀態與非敏感的營運事實,而不是保管箱的明文內容。當診斷涉及加密資料時,有用的證據必須由使用者裝置提供,且不能上傳使用者的祕密。

拒絕這兩項功能,並不是聲稱 email 與客服團隊天生不安全,而是在劃定邊界。通訊管道就該維持通訊管道的角色,客服中心也該維持客服中心的角色;兩者都不該暗中變成主金鑰。

不靠服務提供者後門的還原方式

無密碼重設設計很容易概括,真正實行卻比較困難:NT² 無法重設你的主密碼,因為它從未持有足以完成重設的材料。

這項限制縮小了信箱遭入侵、客服人員受騙,或管理系統被攻破時的影響範圍。它也表示,還原準備不能拖到所有使用者持有的路徑都消失之後才開始。

我們的目標不是丟下一段警告,讓使用者獨自承擔,而是提供容易理解、能把還原權保留在使用者手中的工具:用加密備份保存內容,用還原包與使用者持有的部分保留存取路徑,再清楚說明如何分開保存。

這條邊界正是 Null Trust² 的含義之一。可攜式備份才是你自己握著的退出路徑——不是服務提供者提供的重設。而解鎖所需的本機要素,正說明了為什麼 KDF salt 只留在裝置上

如果這項取捨符合你對私人保管箱的期待,歡迎閱讀以上設計文章、規劃一套自己能長期維持的還原方法,並在準備好時開啟 NT² Vault

最後更新 2026-08-08

相關故事