安全指南
什麼是密碼破解時間?
了解密碼破解時間估算的意義、攻擊速率假設為何重要,以及為何估算結果並非保證。
摘要
密碼破解時間是在特定模型下,猜測攻擊可能耗時多久的估算值。模型很重要。針對線上服務的線上猜測,與針對外洩密碼雜湊的離線破解截然不同。沒有假設前提的通用「破解時間」數字具有誤導性。
線上猜測
線上猜測受到服務的限制。速率限制、鎖定、監控、多因素驗證和異常偵測可以減緩或阻止攻擊。短 PIN 碼之所以可接受,僅是因為系統限制了嘗試次數。
離線破解
當攻擊者取得密碼雜湊或加密資料時,便可能進行離線破解。速度取決於雜湊演算法、成本因子、鹽值、硬體和攻擊策略。慢速密碼雜湊(如 Argon2id、bcrypt 或 PBKDF2)旨在降低每秒猜測次數。
隨機性與模式
破解時間的數學計算只有在密碼真正隨機時才有意義。Password123! 可能看起來複雜,但在基於模式的猜測中會較早出現。隨機的 20 字元密碼則不同,因為它缺乏人類結構。
詳細指引
本指南重點在於如何負責任地解讀密碼破解時間估算。對象是看到以年為單位的估算值、想了解其真正含義的使用者。因此,實務目標並非提出戲劇性的安全主張,而是選擇一種能應付日常使用的密碼習慣:登入表單、密碼管理器、行動鍵盤、帳戶復原、共用裝置,以及偶爾遇到有奇怪驗證規則的服務。只有當真人能夠持續遵循時,安全的建議才有用。
最安全的起點是隨機性加上唯一性。隨機性代表該值是由密碼學上合適的隨機來源從大空間中選出,而非來自生日、寵物名、鍵盤模式或喜愛的名言。唯一性代表該密碼未在其他地方使用。長但重複使用的密碼可能在一次不相關的資料外洩後迅速失效,而唯一的隨機密碼則將損害限制在使用的單一帳戶。
針對此主題,實用的預設是基於情境的估算:線上限制、慢速雜湊和快速離線猜測。您可以使用密碼破解時間計算器套用此預設,然後將最終值儲存在受信任的密碼管理器中。PwdGen 使用 Web Crypto 在瀏覽器中本地端產生數值;產生的密碼不會傳送至 PwdGen 伺服器。這種本地設計減少了伺服器端的暴露,但無法防範所有威脅。惡意的瀏覽器擴充功能、受感染的裝置、釣魚頁面或不安全的剪貼簿處理,仍可能在密碼產生後將其暴露。
最常見的問題包括:通用的破解時間宣稱、僅考慮硬體的假設、外洩的雜湊、弱儲存以及可預測的使用者模式。這些問題之所以重要,是因為當人類習慣提供捷徑時,攻擊者很少需要暴力破解所有可能的密碼。憑證填充、釣魚、外洩密碼清單和帳戶復原濫用,通常比純數學搜尋更實際。因此,最佳建議是將密碼品質與帳戶層級控制(如多因素驗證、通行金鑰、復原碼儲存,以及定期檢查復原電子郵件或電話設定)相結合。
套用建議時,請使用此檢查清單:
- 比較多種攻擊情境。
- 不要將大數字視為保證。
- 無論估算結果如何,避免重複使用密碼。
- 對支援的帳戶啟用多因素驗證。
如果網站拒絕理想設定,請勿手動將密碼強制改為較弱的模式。一次調整一個變數。如果拒絕符號,請保留大寫、小寫和數字並增加長度。如果最大長度很短,請使用允許的最大長度,並確保該值唯一。如果密碼必須朗讀、列印或在電視或路由器螢幕上輸入,請考慮排除易混淆字元並增加長度以補償較小的字母表。
最後,請記住密碼建議的界限。強密碼只是防禦的一層,而非保證。它無法讓釣魚頁面安全、修復惡意軟體,或補償儲存憑證不當的服務。有用的習慣雖然無聊但持久:產生唯一值、安全儲存、保護復原路徑,並在懷疑暴露時迅速更換。
安全的下一步
閱讀本指南後,進行一次小型帳戶審計,而非試圖一次修復所有問題。挑選一個被接管後會造成最大麻煩的帳戶,確認其密碼唯一,並檢查復原電子郵件、復原電話、多因素驗證方法和備份碼儲存。如果該鏈中的任何部分薄弱,請先改善該部分,再處理風險較低的帳戶。此順序可保持工作可控,並保護攻擊者最可能用作跳板的帳戶。關於「什麼是密碼破解時間?」,最佳結果是養成可重複的習慣:本地端產生、小心儲存、避免重複使用。
常見問題
為什麼破解時間計算器的結果不一致?
它們對隨機性、雜湊類型、硬體、線上限制以及密碼是否已從外洩中得知,採用了不同的假設。
離線破解比線上猜測快嗎?
通常是的。離線攻擊者可以在沒有速率限制的情況下嘗試猜測,而線上系統可以限速、鎖定和監控嘗試。
我應該相信單一的「一百萬年」結果嗎?
將其視為在特定假設下的估算值,而非安全保證。