長度、隨機性和唯一性是強密碼的三大支柱。了解密碼強度背後的科學,以及如何將其應用於您的所有帳戶。
密碼強度由熵決定——一種衡量不可預測性的數學指標。密碼的熵越高,攻擊者需要的猜測次數就越多。熵由兩個因素決定:密碼的長度和使用的字符集的大小。僅從小寫字母(26個字符)抽取的密碼,每個字符的熵少於從所有可打印ASCII字符(95個字符)抽取的密碼,但長度對熵的影響遠大於字符集大小。
現代密碼破解硬件每秒可以測試數十億個密碼。安全研究人員和攻擊者常用的圖形處理器(GPU)集群,對常見哈希算法每秒可以測試約1000億個密碼。在這種背景下,8字符密碼——即使使用大寫、小寫、數字和符號——可以在幾小時內被破解。使用同樣字符集的16字符隨機密碼使用同樣的硬件需要數百萬年。區別在於長度。
這就是為什麼安全指南已從複雜度要求(混合字符類型)轉向長度要求。美國國家標準與技術研究所(NIST ↗)更新了其密碼指南,不再強調複雜度規則,而是建議沒有強制輪換的更長密碼。重要的是密碼長、隨機且唯一——而不是勾選關於它包含哪些字符類型的任意選項框。
分析洩露密碼 ↗數據庫的安全研究人員一再發現在全球最常用密碼中佔主導地位的相同模式。最常用的100個密碼在所有帳戶中佔不成比例的份額——如果攻擊者只針對洩露的用戶名數據庫測試這100個密碼,他們通常會立即入侵數百萬個帳戶。這就是為什麼攻擊中使用的密碼字典不僅包含簡單詞語,還包含可預測的變體:「Password1!」、「Summer2024」和「Welcome@1」都遵循人類本能使用的相同可預測替換模式。
個人信息是另一個主要弱點。攻擊者習慣性地從社交媒體收集公開可用的數據——名字、生日、周年紀念日、寵物名字、就讀學校、體育球隊——並將其輸入稱為「基於規則」或「個人化」攻擊的針對性密碼猜測攻擊。如果您的密碼包含您的名字、您孩子的出生年份或您最喜歡的體育球隊,它的強度遠低於其表面複雜度所示,因為這些信息通常很容易被發現。
鍵盤模式代表第三個主要漏洞。「qwerty」、「123456」、「asdfgh」和「zxcvbn」等序列出現在每個嚴重的密碼破解字典中。帶有附加數字或符號的短詞也是如此:「dragon1」、「sunshine!」、「letmein#」。即使是「聰明」的替換,如用「@」替換「a」或用「3」替換「e」,也是如此普遍地為人所知,以至於它們提供的額外保護微乎其微——攻擊者的規則引擎自動應用這些轉換。
創建強密碼的黃金標準方法是使用密碼管理器的內置生成器。這會產生您指定長度的真正隨機字符串——20、24甚至32個字符。因為您永遠不需要打字或記住這些密碼(管理器自動填充它們),對每個帳戶使用非常長的複雜隨機字符串沒有實際的缺點。這是我們推薦用於所有帳戶密碼(除主密碼本身外)的方法。
對於您需要記憶的密碼——您的主密碼、設備解鎖PIN,或您可能需要在沒有手機的情況下訪問的關鍵帳戶的密碼——密碼短語是最實際的方法。密碼短語是四個或更多隨機詞的序列:「ocean-lamp-tiger-clock」或「purple-train-seven-mango」。這些足夠長(通常帶分隔符25-35個字符),在計算上無法破解,同時足夠容易記憶。關鍵是詞語必須是真正隨機的——不是歌曲或書中的短語,那會在攻擊者的短語字典中。
對於相對少見的情況,您必須創建系統強制滿足特定複雜度要求的密碼——必須包括大寫、符號、數字,在8到16個字符之間——最好的方法是從隨機密碼短語片段開始並應用所需的修改:「Mango7!Tiger」滿足典型的複雜度規則,同時遠強於所需的最低限度。永遠不要讓複雜度要求導致您走向可預測的模式;在任何存在的約束內始終優先考慮長度和隨機性。
大多數人面臨的挑戰不是知道如何創建強密碼——而是在數十個或數百個帳戶中從現有的弱密碼過渡到強密碼。關鍵是要優先考慮,而不是試圖一次完成所有事情。從您的最高風險帳戶開始:主要電郵地址(可用於重置所有其他密碼)、銀行和金融帳戶,以及主要社交媒體帳戶。首先更改這5到10個帳戶可以立即提供顯著的安全改進。
使用密碼管理器的安全審計或密碼健康儀表板識別具有重複使用、弱或被入侵密碼的帳戶。Bitwarden的保險庫健康報告、1Password的Watchtower和Dashlane的密碼健康都提供需要關注帳戶的優先列表。系統性地處理這些,首先關注金融帳戶、電郵和任何與支付方式關聯的帳戶。在您更新每個密碼時,直接將新的強密碼保存到您的管理器中。
展望未來,這個過程變得自動:每當您創建新帳戶時,使用密碼管理器的生成器創建強的唯一密碼並立即保存。在每個支持它的帳戶上啟用雙重認證,特別是金融服務、電郵和社交媒體。由密碼管理器處理生成和存儲,唯一持續的紀律是記住您的主密碼,以及將2FA備份代碼保存在安全位置。