2012-11-07 95 views
-2

我檢查了幾個密碼策略,確定密碼中不允許有2個或更多重複字符,例如:「xxxxx5」。但是這種策略對我來說沒有意義,因爲密碼空間減少了(xxxxx5是我知道的一個極端不安全的密碼,但是真的有很好的密碼使用重複的字符並增加密碼熵),我認爲這種類型的密碼更容易使用強力攻擊破解(需要檢查的密碼較少)。爲什麼允許密碼中的重複字符不安全?

我錯過了什麼嗎?

我不是一個安全專家等等......

可能有人給我解釋一下,如果這政策是對還是錯?

謝謝

+1

強制鏈接:[正確的馬電池主食](h​​ttp://xkcd.com/936/) - 密碼應該是免費的這種歷史過時的廢話 – 2012-11-07 01:34:42

+0

感謝分享此鏈接,你可以看到雖然correct.horse。 battery.staple是一個很好的密碼,所描述的政策不允許它作爲有效的一個! (因爲tt和rr) –

+0

re:user166390,我不認爲某些「correcthorsebatterystaple」會使密碼很好,容易出現字典攻擊? – KoKo

回答

1

不允許碰巧有重複字符的密碼,如jjjbtieooygn,稍微減少了安全性,因爲它稍微減少了搜索空間(假設攻擊者知道規則)。

但是這種限制的關鍵是不允許真的很差的密碼,如jjjkkklllmmm

理想的解決方案是拒絕容易破解的密碼 - 但判斷密碼是否容易被破壞是一個非常困難的問題。它不會是一個問題,如果用戶可以信任使用有效的密碼,但根據this article三種最流行的密碼是password12345612345678

拒絕xxxxx5更容易抓住人試圖用一個非常糟糕的密碼,而不是別人帶來不便誰發生從一個高品質的隨機數發生器獲得xxxxx5

+0

好吧,基本上這種政策試圖防止用戶選擇一個字表,密碼的代價是減少密碼空間,雖然它不是最好的解決方案,但它是一個「實用」的解決方案,因爲它是一個難以確定的問題密碼可以使用單詞列表(不使用單詞列表)破解,不是嗎?感謝您的回覆。 –

1

爲便於計算,我們假設我們只允許使用字母數字密碼。所以我們有26 + 26 + 10個字符可供選擇。

如果我們還假設密碼具有我們有5個重複字符只有一個字符串可以每口令被使用的62^8

另外一個密碼空間的8個字符的最大長度,這意味着我們減少62的密碼空間留給我們(62^8) - 62個密碼的可能性。與增加的安全性相比,減少的空間量是完全不重要的,從而防止有人輸入極其微弱的密碼。

+1

危害更大的策略可能是8個字符的最大長度。長時間使用密碼應該有助於防範暴力攻擊。做一個簡單的方法是用簡單的模式填充8個字符的密碼,例如重複。一個適當的30個字母的隨機密碼會更好,但由於這些密碼很難管理,所以用一些簡單的模式將一個好的8個字母的密碼燒成30個字母是一個很大的改進。 – Thilo

+0

@Thilo - 同意。我只是選擇數字作爲示範。 –

+1

我沒有選擇你。我很高興你提高了最大長度,因爲這在許多系統中都得到了執行,而且非常不利於您的工作,可能會取消任何其他密碼策略提供的良好功能。無法理解推理,因爲如果存儲哈希值,則服務器端存儲的長度根本無關緊要。可悲但真實的故事:我的銀行最近更新了他們的網上銀行系統,並迫使我將密碼更改爲*更短*。 – Thilo

1

我同意這個政策沒有太多的意義,作爲「避免字典單詞和其他瑣碎密碼」(但這是一個有效的政策)的一部分。

雖然剔除那些確實降低了密碼空間的大小,黑客確實與單詞列表工作,並在名單上的話得到第一次嘗試,所以傳統上,你要禁止那些。但是,我不確定這仍然是多麼重要。在我看來,更重要的是使你的密碼儘可能長的時間,並在額外重複字符拋應該是最好相同,但與此填充較短的密碼刪除。

無論您如何看待它,「簡單」且同時短的密碼顯然都很糟糕。所以排除「xxxxx5」是一個好策略,但「hys99h23sblahblahblahblahblahblahblah」可能是一個很好的密碼。

+0

「投入額外重複字符「看起來像一個好主意,如果在拋出數字之後,如果結果字符串的最小長度爲 –

+0

,那麼您應該達到最小長度而沒有填充字符。 「xxxxx5」不好。 – Thilo

相關問題