如何使用隨機密碼生成器
已發表: 2022-01-29幾乎您訪問的每個網站都希望您創建一個帳戶,無論是用於高安全性金融交易還是用於愚蠢的動物遊戲。 您不能只為所有這些都使用相同的密碼,因為這樣任何一個站點的違規都會給他們帶來風險。 而且您不能輕鬆地為每個站點記住不同的密碼。 唯一明智的解決方案是安裝密碼管理器並使用它來存儲和改進您的密碼。 每次你用一個長而強的隨機密碼替換一個過於簡單的密碼,你都會提高你的整體安全性。 但是你從哪裡得到那些長而強的隨機密碼呢?
幾乎每個密碼管理器都包含一個密碼生成器組件,因此您不必自己想出那些隨機密碼。 (但如果您想要一個自己動手的解決方案,我們將向您展示如何構建您自己的隨機密碼生成器)。 但是,並非所有密碼生成器都是一樣的。 當您了解它們的工作原理時,您可以選擇最適合您的一種,並明智地使用您擁有的一種。
密碼生成器——隨機還是非隨機?
當你擲一對骰子時,你會得到一個真正隨機的結果。 沒有人能預測你會得到蛇眼、棚車還是幸運七。 但在計算機領域,像骰子這樣的物理隨機發生器是不可用的。 是的,有一些基於放射性衰變的隨機數源,但您不會在普通的消費者端密碼管理器中找到這些。
密碼管理器和其他計算機程序使用所謂的偽隨機算法。 該算法從一個稱為種子的數字開始。 該算法處理種子並獲得一個與舊號碼沒有可追踪聯繫的新號碼,新號碼成為下一個種子。 直到所有其他數字都出現之前,原始種子永遠不會再次出現。 如果種子是一個 32 位整數,這意味著該算法將在重複之前運行 4,294,967,295 個其他數字。
這適用於日常使用,也適用於大多數人的密碼生成需求。 但是,理論上熟練的黑客可以確定使用的偽隨機算法。 鑑於這些信息和種子,黑客可以想像複製隨機數序列(儘管這很困難)。
除了專門的民族國家攻擊或企業間諜活動外,這種定向黑客攻擊極不可能發生。 如果您是此類攻擊的對象,您的安全套件可能無法保護您。 幸運的是,您幾乎可以肯定不是這種網絡間諜活動的目標。

即便如此,一些密碼管理器仍在積極努力消除這種集中攻擊的遠程可能性。 通過將您自己的鼠標移動或隨機字符合併到隨機算法中,它們可以獲得真正隨機的結果。 提供這種真實世界隨機化的公司包括 AceBIT Password Depot、KeePass 和 Steganos Password Manager。 上面的截圖顯示了 Password Depot 的矩陣式隨機化器; 是的,當您移動鼠標時,字符會下降。
你真的需要添加真實世界的隨機化嗎? 可能不是。 但如果它讓你快樂,那就去吧!
密碼管理器減少隨機性
當然,密碼生成器不會真正返回隨機數。 相反,它們返回一串字符,使用隨機數從可用字符集中進行選擇。 您應該始終啟用所有可用的字符集,除非您正在為一個不允許特殊字符的網站生成密碼。
可用字符池包括 26 個大寫字母、26 個小寫字母和 10 個數字。 它還包括一組特殊字符,這些字符可能因產品而異。 為簡單起見,假設有 18 個特殊字符可用。 這使得總共有 80 個字符可供選擇。 在完全隨機的密碼中,每個字符有 80 種可能性。 如果您選擇 8 個字符的密碼,則可能性的數量是 80 的 8 次方,即 1,677,721,600,000,000 — 超過千萬億。 對於蠻力破解攻擊來說,這是一個艱難的過程,而蠻力猜測確實是破解真正隨機密碼的唯一方法。
我們的頂級密碼管理器精選
查看全部(4 項)當然,完全隨機的生成器最終會產生“aaaaaaaa”和“Covfefe!” 和“12345678”,因為它們與任何其他八個字符的序列一樣可能。 一些密碼生成器會主動過濾其輸出以避免此類密碼。 這很好,但是如果黑客知道這些過濾器,它實際上會減少可能性的數量並使暴力破解更容易。

這是一個極端的例子。 有 40,960,000 個可能的四字符密碼,來自 80 個字符的集合。 但是一些密碼生成器會強制從每種類型的字符中選擇至少一個,這大大降低了可能性。 第一個字符仍有 80 種可能性。 假設它是一個大寫字母; 第二個字符的池是 54(80 減去 26 個大寫字符)。 進一步假設第二個字符是小寫字母。 對於第三個字符,僅保留數字和特殊字符,共有 28 個選項。 而如果第三個字符是標點符號,最後一個必須是數字,10個選項。 我們的 4000 萬種可能性減少到 1,209,600 種。
使用所有字符集是許多網站的必要條件。 為避免該要求縮小您的密碼池,請將密碼長度設置得較高。 當密碼足夠長時,強制所有字符類型的效果變得可以忽略不計。

密碼管理器應用的其他限制不必要地減少了可能的密碼池。 例如,RememBear Premium 指定了四個字符集中每個字符的精確字符數,這大大減少了池。 默認情況下,它需要兩個大寫字母,兩個數字,14 個小寫字母,並且沒有符號,總共 18 個字符。 這導緻密碼池比僅需要每種字符類型中的一個或多個時小數億倍。 同樣,您可以通過設置更高的密碼長度來解決此問題。

LastPass 和其他幾個默認避免使用不明確的字符對,如數字 0 和字母 O。當您不必記住密碼時,這不是必需的; 關閉此選項。 同樣,不要選擇生成像“bogafewazepa”這樣的可發音密碼的選項。 只有當它是您必須記住的密碼時,該選項才重要。 應用此選項不僅將您限制為小寫字符,它還拒絕了密碼生成器認為無法發音的大量可能性。
我們的編輯推薦

生成長密碼
正如我們所見,密碼生成器不一定要從與您選擇的長度和字符集匹配的所有可能密碼池中進行選擇。 在使用所有字符集的四字符密碼的極端示例中,大約 97% 的可能的四字符密碼從未出現。 解決方法很簡單; 走多遠! 您不必記住這些密碼,因此它們可能很大。 至少,與相關網站所接受的一樣大; 有些確實施加了限制。
搜索空間越大(我一直稱之為可用密碼池),對您的密碼進行暴力攻擊所需的時間就越長。 您可以在 Gibson Research 網站上使用 Password Haystack Calculator(如大海撈針)來感受長度的價值。
只需輸入密碼即可查看破解需要多長時間。 (該網站承諾“您在這裡所做的任何事情都不會離開您的瀏覽器。這裡發生的事情,請留在這裡。”但謹慎建議您避免使用您的實際密碼)。 如果黑客必須在線發送猜測,那麼像 9kM$ 這樣的四字符密碼將花費不到一天的時間來破解。 但在離線場景中,黑客可以嘗試高速猜測,破解時間只有幾分之一秒。

在我關於創建令人難忘的強密碼(例如密碼管理器的主密碼)的文章中,我提出了一種助記技術,可以將詩行或遊戲中的一行轉換成一個看起來隨機的密碼。 例如,《羅密歐與朱麗葉》第 2 幕第 2 場中的一句台詞變成了“bS,wLtYdWdB?A2S2”。 這不是一個隨機密碼,但破解者不知道這一點。 將其放入 Gibson 的計算器中,我們了解到即使使用巨大的破解陣列,也需要 1.41 億個世紀才能強行破解這個陣列。
做出明智的密碼管理器選擇
所以現在你知道了——生成強隨機密碼的最重要因素是讓它們變長。 一些密碼生成器拒絕不包含所有字符集的密碼,一些拒絕包含嵌入字典單詞的密碼,一些丟棄包含諸如小 l 和數字 1 之類的模棱兩可字符的密碼。所有這些限制都限制了可能的密碼池,但是當長度足夠高,這個限制無關緊要。
當然,理論上(如果不是實際上的話)有可能某些不法分子可能會破解您最喜歡的密碼管理器的密碼生成方案,從而獲得預測它將為您提供的偽隨機密碼的能力。 一個陰暗的密碼管理程序可以將您的隨機密碼發送回公司總部。 這確實是錫箔帽偏執狂的關注程度。 但是,如果您真的不想依賴其他人來獲取您的隨機密碼,您可以在 Excel 中創建自己的隨機密碼生成器。