我們都必須警惕如何建立在數學上堅不可摧的密碼。如果您是成千上萬在密碼中使用姓名和出生日期(新視窗)的人之一,那麼絕對是時候加強您的登入安全了。

在本文中,我們將說明如何評估與提高您的密碼熵,這對您的線上安全大有幫助。但這需要權衡:最大化密碼的熵本質上意味著讓您無法記住它。一如既往,有一則 XKCD 漫畫(新視窗)總結了這個問題。

考量到我們註冊了如此多的線上服務(至少有數十個),一般人幾乎不可能記住每個服務的高強度密碼。

這就是為什麼我們建議使用像 Proton Pass 這樣的密碼管理程式,它能產生具有極高熵的密碼。它會為您記住這些密碼並自動填入。

在下方,我們將說明密碼熵的含意、計算方式,以及它如何影響密碼強度。這可以協助您在密碼管理程式中選取最安全的設定(或避免登入需要極低熵密碼的服務)。

「密碼熵」是什麼意思?

密碼熵是指您的密碼或詞組多麼難以預測,以位元為單位測量。通常,熵的位元數越多,密碼就越複雜,也越難透過暴力破解攻擊來突破

暴力破解攻擊者使用試錯法來猜測登入憑證、密碼和加密資料中的字元組合。

例如,許多駭客使用複雜的指令碼和機器,在幾分鐘內自動進行數千次密碼猜測。在其中一個最令人大開眼界的案例中,研究人員每秒可處理高達 3500 億次密碼猜測(新視窗)

攻擊者使用暴力破解攻擊來迅速揭露弱密碼。透過測量並優先考量密碼的熵,您可以協助防止此資料落入不法之徒手中。

密碼熵如何影響密碼強度?

有幾個因素會影響密碼的熵以及其強度。您需要考慮密碼的:

  • 長度(以字元計)
  • 大寫與小寫字母的使用
  • 數字字元的使用
  • 特殊符號的使用

在此列出的所有元素中,密碼長度是最重要的。足夠長的助記詞幾乎可以擊敗任何暴力破解攻擊。此外,您還可以透過使用隨機大寫字母、特殊符號和數字來進一步增加熵。

然而,熵不僅僅取決於密碼看起來有多長或多複雜,也取決於它是如何建立的。即使兩者長度相同,真正隨機的字串其熵也比常見的單字或詞組高得多

如果您在密碼中使用可識別的單字或常見詞組,駭客可能會利用字典攻擊來猜測您的憑證。

字典攻擊者會自動化對字典中可能用於密碼的每個單字進行暴力破解猜測。

因此,不論您的密碼熵有多高,如果您在登入詳細資料中使用寵物名字、運動隊伍名稱或其他常見密碼(例如,絕不使用「password」),您仍面臨被駭客入侵的風險。

如何計算密碼熵

我們將說明如何計算密碼熵,但請特別注意,這僅僅是示範。您無法單憑外觀來安全地評估密碼的熵。人類自行建立的密碼(即使很長)通常高度可預測。除非它是使用隨機產生器建立的,否則您應該假設其熵比您想像的要低。

假設您使用的是隨機字元字串,密碼熵是以位元為單位進行測量,並取決於兩個主要因素:

  1. 為密碼選取的字元範圍中可用的字元數量
  2. 密碼中的字元數量

因此,您的密碼越長、可能的字元範圍越廣,密碼熵就越高。一個使用大寫字母、小寫字母、符號和數字的長密碼(例如 kmXz2=zs[m%7?y4A)將具有極高的熵。

僅使用小寫字母或數字的密碼(例如 dzormybs119022833)其熵將非常低。

助記詞較容易記住,但您必須小心。它們必須更長才能建立類似程度的熵。例如,像 HelpFidoSaveChocolate33! 這樣的助記詞看起來很複雜,但因為它使用了四個常見的英文單字,並在末尾搭配了可預測的數字與符號組合,其真正的熵可能接近 50 位元。這遠低於 kmXz2=zs[m%7?y4A 的熵,儘管後者短了八個字元。

什麼是熵位元?

熵位元可用於衡量破解密碼的困難程度。例如,您已知曉的密碼其熵位元為零。

透過公式,我們可以計算密碼中含有多少個熵位元,並藉此算出攻擊者的指令碼或機器需要進行多少次猜測才能獲得存取權限。

然而,在計算密碼熵之前,我們需要先測量所有不同可能發生的字元範圍。

測量字元範圍

下表說明當您以英文書寫並在密碼中加入不同的字元時,您的字元選項會如何增加。字母與符號的數量可能會因您使用的語言而異。

字元類型範例範圍大小
數字0, 1, 2, 310
拉丁字母(小寫)a, b, c, d26
拉丁字母(大寫)A, B, C, D26
特殊符號!, @, %, $32

您為潛在駭客提供的潛在字元選擇越多,您的密碼熵就越高。因此,請優先選擇 盡可能寬廣的字元範圍,並混合使用所有四種類型。

以下是幾個密碼範例及其總字元範圍:

範例總字元範圍
11223310
abcde26
a1b2c3d436
a1B2c3D462
a1!B2%c3^D494

請記住,上述數據向您顯示的是字元範圍的潛在大小,而非 熵的位元數。我們需要使用特定的公式來計算密碼以位元為單位的精確熵。

密碼熵公式

您可以使用以下公式,以位元為單位來測量密碼的熵:

E = L × log2(R)

在此公式中:

  • E 是您的密碼熵
  • R 是您密碼中可能出現的字元類型範圍(如上方表格所示)
  • L 是您密碼中的字元數(即密碼長度)
  • Log2 回答了「2 必須乘方至幾次方才能等於該數字」的問題

使用此公式,以下是幾個密碼範例的位元測量結果:

範例字元範圍密碼長度計算方式熵位元數
fygwcbjnhsbh2612 個字元E = 12 x 4.756.4
HzgNhHkY1WQ8AM6214 個字元E = 14 x 5.9583.3
kmXz2=zs[m%7?y4A9416 個字元E = 16 x 6.55104.8

數學計算顯示,密碼越長越複雜,其擁有的熵位元數就越多。

請記住,這些計算僅套用於隨機產生的密碼。使用常用字詞的助記詞必須更長,且需使用不常用、無關聯的字詞(理想情況下還包含數字和符號),才能產生同等水準的安全保護。

請記住,這些計算主要用於演示,而非實際用途。您應該依賴密碼產生器,而不是嘗試自己計算密碼的強度有多高。

您可以使用我們免費的 密碼產生器 來進行測試,看看不同密碼的強度如何。

再次強調,熵只是衡量強度的其中一種指標。為避免字典攻擊,請避免使用常用的密碼或片語。您也應該避免在密碼中使用個人資訊,例如您的出生日期、寵物名字或街道名稱,因為攻擊者可以輕易獲取這些資訊。

什麼樣的密碼才算強度高?

一般而言,強度高或高熵的密碼得分至少為 75 位元。低於 72 位元的任何密碼對於機器來說都相當容易破解。

我們使用 2 ^ (位元數) 來計算最大潛在嘗試次數。這代表數字 2 需要翻倍多少次才能達到總位元數。

例如,一個具有 10 位元熵的密碼,使用 2 ^ 10 計算,最多需要嘗試 1,024 次才能破解。這通常是三個字元的數字密碼,例如 456。

目標是使熵達到 100 位元以上,以建立強密碼,並儘可能提高其數值。熵越高,機器暴力破解出正確密碼所需的時間就越長。

建立高熵密碼的規則因您諮詢的安全專家而有很大差異,但有幾個我們都能同意的通用規則:

  1. 您的密碼應該至少有 14 個字元長,且混合使用多種字元(而不僅僅是基本拉丁字母中的小寫字母)
  2. 您應該避免使用任何對您有重要意義的短語或字詞(因為這些很容易被猜到)
  3. 強密碼不與其使用者名稱產生連線(請務必將兩者視為獨立的個體)
  4. 混合了至少一個小寫字母一個大寫字母一個數字一個特殊字元(例如:%、^、*、&、@、~ 等)

我們也建議使用密碼黑名單,以避免使用網頁上常見的熱門字詞或短語。例如,NIST 的 Bad Passwords 專案(新視窗)就是一個用於建立高熵短語的熱門開源工具。

如果您想為您的密碼管理程式建立安全的管理員密碼,請參考以下指南

簡而言之,一個真正安全的密碼通常包含以下要素:

  • 至少一個大寫字母
  • 至少一個小寫字母
  • 至少一個特殊符號
  • 至少一個數字
  • 至少 14 個字元 (若為助記詞,則至少 30 個字元,且假設字詞罕見且互不相關)

上述範例 kmXz2=zs[m%7?y4A 符合所有這些要求,並建立了具有約 105 位元資訊熵的密碼,這需要花費極長的時間才能透過暴力破解來攻破。

使用 Proton Pass 產生強密碼

為您所有的線上帳號產生並記住足夠的強密碼,唯一的方法就是使用密碼管理程式。Proton Pass 只需點擊一下,即可為您產生安全短語。您可以使用它建立包含 10 個單字的助記詞或 64 個字元的隨機密碼,並可讓您控制每個密碼是否使用數字、大寫字母和特殊字元,以便將您密碼的資訊熵最大化。

有了 Proton Pass,您的密碼不僅難以破解,更透過全球最安全的免費 密碼管理程式進行端對端加密儲存,並以安全的雙重身分驗證進行備份。請閱讀 Proton Pass 的安全模型以進一步瞭解。

如果密碼資訊熵讓您摸不著頭緒,請註冊並加入 Proton Pass。我們將協助您產生、儲存和保護密碼,以抵禦惡意攻擊。

更新 2025 年 11 月 18 日:本文章已更新,以更清楚地說明嘗試計算一般助記詞和密碼資訊熵的問題。除非密碼是真正隨機產生的,否則其複雜性很容易被高估。

常見問題

密碼複雜度與密碼資訊熵有何不同?

密碼複雜度通常是指其潛在的字元範圍,而密碼資訊熵則是指其難以被猜測背後的數學原理。資訊熵以位元為單位進行測量,這進而能告訴您需要進行多少次暴力破解猜測才能破譯密碼。

包含四個單字的密碼,其資訊熵是多少?

這取決於單字是如何選取的。如果是隨機選取(例如使用 Diceware 清單),每個單字會增加約 12–13 位元的資訊熵。因此,一個包含四個單字的隨機助記詞將具有約 50–52 位元的資訊熵。但如果這些單字是由人工選取,資訊熵可能會低得多。

128 位元的資訊熵代表什麼意思?

128 位元的資訊熵意味著您的密碼需要進行 2¹²⁸ 次猜測才能透過暴力破解攻破,這比宇宙中的原子數量還要多。出於實際目的,任何超過 100 位元的密碼都是安全的。如今,即使是具有 75–80 位元的密碼,也被認為能夠抵禦所有已知的暴力破解攻擊。