Skip to main content

Diceware

Dev
Table of Contents

Diceware 生成有意義又易記的密碼。

密碼管理器(例如 KeePass)通常都會生成下面一串隨機字母數字:

Zer4syns3fRngswVk3xz
WnITe9AmAM7c7cphfEa1
3iVELPTAlSip1f5TSOiw
zeWJoPKThVP2XIo6PKu9
sfUjYB8jwa7o0ZlyBnTA
cHdH0vFZp05HCA3hOdm9

毫無意義的亂碼 #

人腦當然記不起來。所以我們用密碼管理器來記各式各樣的超級複雜的密碼。

問題是用來打開密碼管理器的 Master Password 主人密碼總不能用這樣複雜的密碼吧!?你可以抄下來。每次打開密碼管理器都要輸入這麽長又難記才能解鎖。

Diceware #

Diceware 是通過掷骰子來決定隨機密碼。方法就是,掷六次,得出五個數字之後(例如 13621),這五位數字就是密碼的第一個單詞。

Diceware 的單詞表

這是 Diceword 單詞表其中的一段單詞:

13621	bony
13622	boogeyman
13623	boogieman
13624	book
13625	boondocks
13626	booted
13631	booth
13632	bootie

左邊的數字就是從掷骰子得出的數字,右邊的英文就是配對的單詞。

用法 #

我掷骰子,得到六串數字:

  1. 11512
  2. 55524
  3. 34313
  4. 42441
  5. 44554
  6. 41445

然後到 Diceware 的單詞表搜索配對的單詞,11512ambiguity。如此類推得出六個單詞:

ambiguity spoiling hydroxide ominous poison move

每個單詞之間加個空格字符,就是我的密碼了。(除了空格,用什麼字符也可以,不過要看看網站或者程序支持不。)

根據
EFF 説道,六個單詞就夠安全,可以應付暴力破解。六個單詞相當於 77 位二進制數字,翻譯成十進制數字也就是天文數字了~~

Diceware 官方 FAQ 說

  • 5 個單詞,可以被一千台配置頂端 GPU 的電腦同時進行破解。
  • 6 個單詞,有可能被有很多資源的團體破解。
  • 7 個單詞,以現在的科技,十年內應該不會被破解掉。

加鹽( Salt

隨機密碼之外,應該再加鹽。例如在密碼後面加你喜歡的人的名字或者電話號碼(不是每個人喜歡的人、電話號碼都是一樣的吧)。

ambiguity spoiling hydroxide ominous poison move 5552368

技術控的掷骰子方式 #

簡單的 Javascript 隨機生成六組六位數。

更新:

  1. 由於原有的網站無法訪問了,Diceware 的單詞表換成 EFF 的。