關於密碼安全的持續討論重新聚焦於 XKCD 風格密碼生成器的實施,突顯了密碼安全需求的演變和現代密碼學環境所面臨的挑戰。
XKCD 密碼理念
XKCD 風格的密碼方法建議使用多個隨機單詞作為密碼(例如 correct horse battery staple),最初被提出作為複雜字元組合的一種更容易記憶的替代方案。這種方法旨在透過利用大量可能的詞彙組合而不是依賴特殊字元和數字來平衡安全性和可用性。
現代安全挑戰
社群討論表明,雖然 XKCD 方法仍然有價值,但現代計算能力已經顯著改變了安全格局。正如一位安全專家指出:
「XKCD 漫畫假設攻擊者每秒可以進行1000次猜測,但一臺配備GPU的裝置在獲取密碼雜湊後每秒可以輕鬆進行數十億次猜測。因此,與一些完全合理且常見的威脅模型相比,該漫畫的安全模型過於樂觀。」
常見密碼攻擊速度:
- 遠端伺服器(基礎):每秒約1,000次嘗試
- bcrypt 雜湊加密:每秒約70,000次嘗試
- md5crypt 加密:每秒約7,500萬次嘗試
- 現代 GPU(被盜雜湊值):每秒約3,500億次嘗試
實施與適應
社群已經開發了各種實現這種密碼生成概念的方案,從簡單的shell命令到複雜的應用程式。許多密碼管理器,包括 1Password 和 Bitwarden ,都已將這種方法整合到其功能中。然而,開發人員越來越多地新增更高熵值選項和額外的安全措施來應對現代威脅。
密碼生成器的主要功能特點:
- 詞典選擇功能
- 可配置詞語數量
- 自定義分隔符
- 詞語長度限制
- 熵值計算
- 多密碼批次生成
實際考慮因素
使用者強調的一個重要挑戰是理論安全性與現實需求之間的衝突。許多網站強制執行特定的密碼規則,這些規則可能與純粹的 XKCD 方法不符,比如要求特殊字元或限制長度。這導致了各種適應性方案的出現,例如在原本安全的片語組合中新增標準特殊字元。
密碼安全的演進
這場討論展示了密碼安全如何持續演進。雖然 XKCD 方法的基本原則在某些使用場景中仍然有效,特別是在遠端攻擊是主要關注點的情況下,但在可能發生離線攻擊的場景中,如保護加密驅動器或防禦被盜的密碼雜湊時,可能需要更高熵值的解決方案。
參考連結:簡介