題:
使用Haveibeenpwned驗證密碼強度是否合理?
Nacht
2019-06-03 12:39:04 UTC
view on stackexchange narkive permalink

我越來越多地聽說,擁有已擁有的密碼列表是檢查密碼是否足以使用的好方法。

我被困惑這個。我的理解是,已被盜用的列表來自遭到入侵的帳戶,無論是因為它們是以純文本形式存儲,使用弱密碼還是出於其他原因。這似乎與我的密碼強度無關。可能會有非常強壯的密碼以純文本形式存儲,因此遭到破壞,並且只要不與原始電子郵件/用戶名結合使用,就可以使用。知道它們的哈希值的事實(嗯,任何特定密碼的哈希值都是已知的!),不管存儲它們的位置是否醃製都無關緊要。儘管排除這些密碼確實沒有什麼壞處,但也許黑客會在強行使用時從此列表開始,並且很容易選擇另一個。

但是我擔心的是相反的情況。 -總是很容易破解不在列表中的密碼。目前,“ longishpassword”還沒有使用該密碼的帳戶,該帳戶遭到洩漏。但是,這並不意味著會發生哈希洩漏,因此此密碼是安全的。破解起來很容易。

根據haveibeenpwned列表檢查密碼(不帶電子郵件/用戶名)以查看是否值得使用這背後的原理是什麼?這是列表的好用法還是被誤導了?

編輯:

現在更改問題的範圍為時已晚,但我只是想清楚一點,此問題來自檢查其他人的密碼(例如,當用戶在您的網站上註冊時,或為您組織中的人提供了AD帳戶),而不是為了驗證個人密碼的強度。因此,任何說“只使用密碼管理器”的評論對我都沒有幫助。

您能否引用消息來源說HIBP“是檢查密碼是否足以使用的好方法”?
簡而言之,HIBP擁有大量的*真實*密碼,包括強密碼和弱密碼。可能會過濾掉強密碼而不將其用於蠻力攻擊,但是也有可能不值得過濾列表(畢竟,看似強密碼實際上可能是弱密碼,並且被多個用戶使用)。因此,攻擊者可能只使用整個列表進行暴力破解,因此該列表上的“每個”密碼都會受到威脅。
我想說的是,如果可以使用任何哈希值來破解您的密碼,那不是一個好密碼。我還要說的是,您的密碼以明文形式顯示,現在在破解詞典中,因此密碼錯誤。但是我當然不會說不在haveIBeenPwned.com中意味著這是一個很好的密碼。該網站的存在主要是為了顯示常見帳戶破解的情況以及密碼的錯誤程度。除非密碼可以通過生成密碼的方法證明其具有足夠的熵,否則幾乎不可能顯示出密碼的質量。
@SteveSether我認為[zxcvbn](https://blogs.dropbox.com/tech/2012/04/zxcvbn-realistic-password-strength-estimation/)密碼強度計做得很好。HIBP似乎給全世界帶來的最好的收穫是,當您的帳戶遭到盜用時,您便會了解知識,而實際上與您的密碼的好壞無關。
HIBP和幾乎所有的密碼強度計(包括zxcvbn)都可以告訴您密碼輸入錯誤的時間;他們無法告訴您密碼很安全。
@Nacht密碼強度計僅是猜測,通常不是特別好。他們可以並且經常確實看到不存在的模式,或者錯過了確實存在的模式。正如其他人指出的那樣,知道您是否擁有好的密碼的唯一方法是了解密碼生成方法會產生多少熵。其他任何事情都只是對熵的猜測。
根據是否在洩漏列表中使用密碼,使用或不使用密碼似乎就像《公主新娘》中Vizzini的悖論。如果攻擊者希望每個人都不要使用列表中的密碼,則也許他們只會攻擊不在列表中的密碼,這意味著實際上只使用列表中的ARE可能更好。但是,如果您認為他們認為您會那樣認為,那麼您可能只想使用列表中沒有的密碼。但是,如果您認為他們會認為您會認為他們會認為您那樣,那麼您可能只想使用清單上的ARE密碼。但是,如果您認為他們會考慮...
-1
我同意這是事實。我的評論主要是在開玩笑,以指出“密碼強度”作為一般概念的弱點,因為任何試圖擊敗蠻力的嘗試基本上都是基於對人類行為的“假設”。
無需信任外部方的生產密碼,只需使用隨機生成的密碼即可完成。當然,您可以使用外部工具來驗證示例和生成規則(儘管實際上並不需要它或進行任何證明)。還請記住,如果您使用唯一的隨機密碼,那麼密碼破解就不會有問題,因為只會影響已經被入侵的服務。
您不是在使用HIBP來驗證一個好的密碼,而是在使用它來排除錯誤的密碼。您必須使用其他方法來評估密碼強度。
@SteveSether雖然我同意密碼強度計通常是垃圾,但如果它們看到的模式與您用於生成密碼的方法不同,則不一定意味著該模式不存在。這可能意味著存在一些低熵生成方法,該方法*還*能夠生成與您使用的高熵方法相同的密碼。例如隨機選擇12個可打印的ASCII字符,其熵約為〜79,但是“密碼”仍然很糟糕。密碼計量器不應該*被信任*,但是用戶應該*為什麼*認為密碼錯誤。
@Ray雖然絕對正確地隨機選擇12個可打印的ascii字符可能會生成“ password1234”之類的東西或其他常見模式,但這種情況極不可能發生。此外,事實發現後找到模式的問題是採摘櫻桃。即74nbtiMM1984Q5IB確實有1984年。它仍然是一個很好的密碼,但是一個啞模式匹配器會說它裡面有一個“模式”。如果您使用“在其中找到日期”這一事實,並減少適合該模式的熵,那就是作弊。有關更多信息,請參見“德克薩斯州神槍手”。
@SteveSether我完全同意。我只說用戶應該理解為什麼密碼表不喜歡候選密碼的原因。如果是愚蠢的原因(例如在“ 74nbtiMM1984Q5IB”示例中),則用戶可以完全忽略該建議。我想正式地說,我的意思是要考慮的熵不僅僅是$-\ sum_i P(password_i \ mid generator)log(P(password_i \ mid generator))$,而是類似$-\sum_j \ sum_i P(password_i \ mid generator_j)P(generator_j)log(P(password_i \ mid generator_j)P(generator_j))$。
-1
@Ray那麼我同意你的看法。我只補充說,我所見過的強度計往往具有這種確定的質量。人們傾向於想要這些二進制的好/壞答案,因此強度計提供了過於簡單的世界觀。我會更喜歡使用您所描述的系統,在該系統中,該工具使用不太明確的措辭,例如“檢測到可能的模式”或“熵猜測”。它把真理的責任放在提問者而不是工具上。Google並沒有真正給您答案,只是問您更多問題。
你們中的許多人都從為自己驗證密碼的角度思考。但這不是唯一需要驗證密碼的時間-您可能必須驗證其他用戶的密碼,例如您的站點或組織的用戶。回想起來,我應該從我的問題中更清楚地表明那是我的情況。哦,現在太晚了。
十 答案:
schroeder
2019-06-03 14:17:22 UTC
view on stackexchange narkive permalink

“強”一詞的意圖始終是“不可猜測”。長度和復雜度有助於使密碼更“不可猜測”,但長而復雜但常用的密碼與 Pa $$ w0rd 一樣弱。

密碼在HIBP列表中,因此攻擊者知道密碼被人們選擇的可能性更高,因此可能會再次使用該密碼。因此,將首先打那些列表。

因此,如果您的密碼在列表中,那麼它是“可猜測的”。

如果您的密碼不在列表中,則從一種字典攻擊方法,它不太容易猜測,而不是其他人選擇的方法,並且通過暗示(就其價值而言)是“難以猜測的”。當然,即使沒有在HIBP列表中,許多其他因素也會使您的密碼“更容易被猜中”。隨機生成的密碼很難破解。如果您是隨機生成它,那為什麼不使用最大長度呢?

我認為,“密碼強度”通常用“熵”來描述,並且錯誤地使用了Kerckhoffs的原理:密碼的強度不是選擇密碼的方式,而是攻擊者如何攻擊密碼的屬性,使這種混淆更加複雜。正如攻擊者試圖猜測如何選擇密碼一樣,用戶可以嘗試猜測攻擊者如何對其進行暴力破解。
您提到了它,但它可能會幫助OP實現:即使您為www.example.com創建了世界上最強大,最難猜/最容易破解的密碼,並且*該網站被黑,並且密碼已發布供人們購買/ download,那麼強密碼實際上毫無價值。黑客要做的(可能要做的)是下載“已知的破解網站密碼”並循環瀏覽。它會找到該超級強密碼並進行嘗試-這樣,他們甚至不必“猜測”密碼。在清單上。因此,一文不值。
@BruceWayne我認為您的評論對我有所幫助。我一直在將此HIBP方法與zxcvbn進行比較,並認為由於zxcvbn包含密碼中常用單詞的列表,因此可以解決此問題。但是我現在看到這還不夠。這些驗證似乎都是必需的。
我想我在想,如果HIBP本身不夠好,那到底有什麼好處?但是我看到這是不可能的。
從統計學上說,“一如既往,隨機生成的密碼是最“無法使用的””。除非您碰巧隨機生成詞典或此類列表中的單詞。仍然需要一些常識。
總是不會使最大長度比擁有隨機長度(但仍然有些任意足夠高的最小長度)時使其熵更低嗎?
@Drew-數量非常少。即使將字母限制為小寫字母,也只能在27種可能的密碼中丟失大約1個部分。
@Mast隨機選擇一個20個字符的密碼,並以單詞序列結尾的機會不是零,但我認為可以忽略不計。
隨機字符是不好的密碼,因為它們也難以記住
@StianYttervik如果您使用密碼管理器,則不會;在這種情況下,您只需要記住一個主密碼,並且您使用的所有服務只能看到唯一的,長的,隨機的字符串。權衡是密碼管理器是一個單點故障,但它不如直接將相同的存儲密碼直接用於多種服務那樣容易受到攻擊,因為如果其中一項遭到破壞,則會損害您在所有其他帳戶上的帳戶。
-1
@DavidMulder僅當您將密碼管理器以未加密的形式存儲在手機上且無需身份驗證才能解鎖時,才需要。否則,它是“您擁有的東西”(您的電話),再加上“您知道的重要信息”(您的主密碼)或“您有的東西”(您的指紋)來解鎖密碼管理器。
@IMSoP通常會假設“您擁有的東西”受到損害。因此,無論是“安裝的惡意軟件”還是“設備被盜”(很熱,因此都被檢查並已使用,因此被盜並立即使用)。另外,指紋無處不在,因此無論如何,這並不是真正的“東西”。如果您可以為惡意軟件動態地對其進行解密,則無需以未加密的形式保存它。
@DavidMulder我不同意,但這應該在一個單獨的問題上進行討論。
Josiah
2019-06-04 00:41:39 UTC
view on stackexchange narkive permalink

要正確回答此問題,您需要像想輸入密碼的黑客那樣思考。

但是,為了避免直接進入數學思維方式,讓我們首先考慮一下樂高電影遊戲節目“我的褲子在哪裡?”中的競爭對手。

很明顯,當競爭對手想要找到衣服時,他們要做的第一件事就是去衣櫃。如果仍然不能奏效,他們可能會檢查自己的抽屜,然後檢查房間角落裡的椅子,然後再檢查洗衣籃,如果狗是頑皮的褲子偷竊者,則可能是狗的籃子。這一切都會在他們開始看冰箱之前發生。

這裡發生的事情當然是競爭對手將首先在最可能的地方出現。他們本可以在網格中房屋的每個平方英尺上系統地進行工作,在這種情況下,他們平均不得不檢查房屋的一半。另一方面,採用這種策略,他們很有可能一口氣拿下它,當然不會期望覆蓋一半的房子。

黑客理想地希望做同樣的事情。假設他們知道密碼是8個小寫字母。他們可以一次嘗試解決它們,但是有208,827,064,576個可能的選擇,因此,給定的完全隨機的猜測大約有2,080億的可能性是正確的。另一方面,眾所周知,“密碼”是最常見的密碼。 (除非被禁止),實際上,從haveibeenpwned獲得的數據來看,正確答案是“密碼”的可能性約為151,而不是1,510億,而僅僅是151。因此,這比隨機猜測的可能性高出十億倍以上,但如果不從此開始,他們會很愚蠢。 (顯然,由於您希望找不到密碼,因此您希望避免選擇密碼的開頭)

現在,問題是這是否可以推廣到“密碼”之外。他們在處理洩漏的密碼列表時是否值得?有關更多信息,請考慮來自原始發行記錄的引號。

我進入了“反公開”列表,其中包含562,077,488行和457,962,538個唯一的電子郵件地址。這給了我另外96,684,629個唯一密碼,但Exploit.in數據中還沒有。從另一種角度來看,該密碼集中已有83%的密碼曾經被查過。

告訴我們的是,大致來說,隨機選擇的密碼要好於有80%的機會出現在列表中。該列表有幾億個條目,而隨機的8個字母的密碼則有幾千億個選項。因此,粗略地說,我們的黑客嘗試使用8個字母的密碼時,如果沒有該列表,則有0.1%的機會,而他們可能會獲得80%的機會。顯然,他們想使用它。再說一次,您最好避免這種情況。畢竟,您仍然可以選擇數千億個選項,只需輸入九個字母就可以得到數千億!

這就是檢查列表的理由。

現在,您首先要擔心的是:“總是很容易破解列表中沒有的密碼。”可能是這樣。例如,“ kvym”不在列表中。只有四個字母。只有半百萬個密碼是4個小寫字母或更短的字母,因此,如果人們可能更喜歡短密碼,那麼黑客將花費很短的時間來完成洩漏列表,從而使黑客大發雷霆。

答案很明顯。使用兩個規則。不要使用違規出現的密碼,也不要使用很短的密碼。如果您擁有任意長度的隨機密碼,那麼您擁有的選擇就太多了,黑客無法找到快捷方式。

Kristopher Noronha
2019-06-05 00:30:54 UTC
view on stackexchange narkive permalink

這絕對是您的驗證步驟之一,但不能完全依靠。

鑑於大多數用戶都在重複使用密碼,並使用相對較小的單詞基礎來構建密碼,這是字典攻擊是猜測密碼的一種特別有效的方法。由於HIBP會定期更新,因此它將有許多經常使用的密碼,因此,字典攻擊者可能會嘗試使用這些密碼。因此,這是檢查的一個很好的起點。但是,僅因為您的密碼不在列表中,並不意味著您不會輕易猜到您的密碼。只是已知的密碼會在它們的密碼列表中排在首位,以嘗試與從Internet挖掘的文本,帶有數字/符號的單詞組合,換位等一起使用。隨著更多的密碼洩漏發生,HIBP和其他此類工具變得越來越有用,和黑客嘗試的密碼列表也變得更加有效。

我很驚訝地發現我知道的一些密碼很容易被猜中,並且肯定在多個站點上使用,而不是在HIBP上使用列表,因此我可以保證它不是密碼強度的決定因素(就像問題中的示例一樣)。但是,如果我想出了一個我認為是強密碼的密碼,並且該密碼在列表中,我絕對不會使用它。

這個答案似乎最好地總結了我從這個問題的答案和評論中學到的東西。謝謝克里斯托弗
Ghedipunk
2019-06-04 03:26:01 UTC
view on stackexchange narkive permalink

其他人探討了為什麼這是一個好主意。我會採取不同的方向。

從合規性的角度來看,相關的NIST標準 NIST特殊出版物800-63,數字身份準則特別要求用戶設置密碼時,則必須對照先前洩露的密碼列表進行檢查。相關部分是 SP 800-63B,身份驗證和生命週期管理,第5.1.1.2節,其中說:

在處理建立和更改存儲秘密的請求時,驗證程序應將預期秘密與包含已知通常使用,預期或折中的值的列表進行比較。例如,列表可以包括但不限於:

  • 從先前的違規語料庫中獲得的密碼。
  • 詞典詞。
  • 重複或連續字符(例如'aaaaaa','1234abcd')。
  • 上下文相關的字詞,例如服務名稱,用戶名及其派生詞。

如果在列表中找到選定的機密,則CSP或驗證程序應通知訂戶他們需要選擇其他機密,應提供拒絕的原因,並應要求訂戶選擇其他值。

根據定義,通過Pwned Passwords API找到的任何東西都是“已知被洩露的值。”

如果您的組織必須擔心遵從性,請注意密碼的兩個主要標準不兼容。支付卡行業數字安全標準(PCI-DSS)規定,密碼必須每30天更改一次,並且必須是大寫,小寫,數字和符號等的組合,而NIST標準規定,密碼不應根據日期任意到期,並且不應具有關於允許的字符類別的複雜規則,但應具有足夠的靈活性以允許用戶使用字符類別的任何組合。

當然,取決於您的組織來確定要遵守的標準。

如果您要為美國商務部下屬的代理機構發展,則必須遵循NIST標準,即句號。這是法律。 (關於法律的所有事情,請與您組織的法律部門聯繫,不要盲目相信我。)

如果您正在使用任何處理付款信息的系統,則強烈建議您遵循PCI-DSS。如果您只有一家網上商店,並且正在使用第三方付款處理器,那麼這不適用於您。它沒有法律的效力,但是您應該諮詢您的律師,因為如果不遵守PCI-DSS,可能會在出現問題時發現您疏忽大意。

如果這些都不適用,那麼對我來說,NIST標準最有意義。與您的安全團隊進行幾次深入的討論,進行研究,找出最適合您的方法。

作為確定最適合您的方法的示例,在我的組織中,我們會不拒絕在Pwned Passwords API中點擊次數少於10的密碼。我們仍然顯示警告消息,讓用戶知道,即使密碼被洩露,我們仍然接受它。並且,他們應該考慮切換到使用密碼管理器來生成真正的隨機密碼。我很幸運能夠加入一個可以與用戶交談的組織,並且可以就密碼管理進行坦誠的討論。其他人將不得不調整其方法以滿足組織的需求。

儘管NIST是“從事商業活動”,但根據FISMA,其標準(有些滯後)適用於所有聯邦政府和承包商系統,但“國家安全”系統除外,而NSA屬於“國家安全”系統,而NSA大多將其標準與NIST保持一致。其他人(國家/地方/地方,外國或私人)應在多大程度上遵循他們,這是判斷的問題。
感謝@dave_thompson_085,的澄清。我將查找FISMA,看看是否可以將其用於答案。是的,遵循NIST標準只會使美國聯邦機構更容易-我們其他人仍然必須做我們自己的想法。
kutschkem
2019-06-06 12:25:05 UTC
view on stackexchange narkive permalink

讓我們做一下數學:

比方說,到目前為止,地球上每個人都使用了約1000個密碼。這大約可以創建10萬億個密碼,如果我沒記錯的話,大約是2 43 sup>。因此,隨機選擇 any 現有密碼大約和真正的隨機8-9字符區分大小寫的密碼一樣好。不太好。請參閱此答案

從根本上說,從理論上講,不僅不應該重用密碼,而且不應該重用任何人使用過的密碼。 以前使用的密碼基本上是一種等待發生的大詞典攻擊。

我介意針對您的答案提出一個新的問題,您介意嗎?我認為這很有趣且被低估了,我希望看到其他用戶的分析。
@Michael當然,繼續。
花了足夠長的時間,但最終還是[我做了](https://security.stackexchange.com/q/221302/56961)!
LVDV
2019-06-03 14:01:48 UTC
view on stackexchange narkive permalink

我必須承認,我對如今的強勢手段有些迷失。我喜歡認為“強”表示複雜而又長的密碼。但這並不是一個好的密碼,因為它仍然很容易猜到。

您已經註意到:“黑客在強行強迫時會以該列表開頭”。因此,如果您的密碼出現在此列表中,則會快速猜出您的密碼,這意味著它不是一個好的密碼。

當您輸入不在列表中的字符串時,網站上會有解釋:

在“我已被擁有”中加載的所有已擁有密碼中均未找到該密碼。這不一定意味著它是一個好的密碼,只是它沒有在該站點上被索引。不能說明其實力。為此,您需要使用密碼強度檢查器,該檢查器通常不會檢查洩漏的密碼列表。 HIBP密碼列表和密碼強度檢查器互為補充。

密碼強度檢查器的用途非常有限,因為它們假定某些標準用於強行使用,並且可能根本不檢查任何詞典。它們僅用於說明目的,而不用於選擇強密碼。
@schroeder我看不到您的評論如何增加了我已經說過的內容。你可以解釋嗎?
“您需要使用密碼強度檢查器作為[強度指示]”-密碼強度檢查器不應該用於此目的,也不擅長確定強度。它們充其量是說明性的,對於學習對密碼進行某些更改所產生的影響的基礎知識很有幫助。我剛剛用Google搜索了“密碼強度檢查器”,並且在輸入“ Pa $$ w0rd”的情況下,命中率最高的返回“非常強,82%”。
檢查強度不是要做的事情。要做的是生成具有強度的密碼。
在回答的開頭,我解釋了我對“強”的理解,即長度和復雜性。密碼強度檢查器可以幫助您定義。根據我的定義,Pa $$ w0rd是一個很強的密碼(雖然有點短),但是可以預見,這會使它成為一個無效且無效的密碼。根據您對長度,複雜性和可預測性的定義,我可以設置一個強密碼,但是如果我已經使用10年並且在50個不同的站點上使用它,它仍然不是一個好的密碼。這就是為什麼我在談論密碼的最終有效性時更喜歡簡單的術語“好”。
即使沒有字典,甚至不知道人們經常用看起來相似的ch4r4cter $替換字符來滿足某些密碼要求或認為很難破解,仍然存在一個固有的問題:結果完全取決於對空間的假設可能的密碼,甚至可能是針對該密碼的蠻力攻擊-密碼以這種順序遍歷該空間。最重要的是,它以某種序數標度對我來說幾乎毫無意義,甚至更糟(如所引用的那樣),它假裝精確地映射到數字標度(“ 82%”)。
Firzen
2019-06-05 18:41:25 UTC
view on stackexchange narkive permalink

將密碼發送到某個隨機密碼檢查站點後,它不再安全

使用這樣的網站絕對不是您要使用的密碼的好主意。

沒有什麼可以阻止這樣的網站將您測試的密碼直接添加到單詞表中,然後再出售給黑客的。 。

再次:恕我直言,使用帶有真實密碼的此類網站非常不好的想法

HIBP並不是什麼問題。您當然可以轉到[網站](https://haveibeenpwned.com/Passwords)並輸入密碼。在這種情況下,我同意你的看法。 但是,如果您使用HIBP API,則可以確定您的密碼仍然安全。該API使用[k-anonymity](https://en.wikipedia.org/wiki/K-anonymity)系統,您只需要共享密碼散列的開頭即可。該API返回的所有哈希值也與該哈希值匹配的所有哈希值,使您可以驗證密碼是否已被洩露。HIBP永遠不會知道您的密碼。
@Michael Hancock是的,如果您沒有發送實際密碼,那當然更安全。:-)但這不是網站的情況。我只會將實際的測試密碼放入受信任的開源程序,最好是桌面應用程序。
如果它討論了API(及其保護措施)與直接使用網站之間的區別,那將是一個很好的答案。但是,問題僅涉及*使用列表*(而非網站)和*特定服務*(而非“某些隨機密碼檢查站點”),因此IMO這個答案跳到一個錯誤的結論。
Geir Emblemsvag
2019-06-06 10:08:21 UTC
view on stackexchange narkive permalink

此頁面上有很多很好的答案,但是我看不到有人在考慮憑據填充的概念。

這取決於許多用戶擁有在多個站點上使用相同的用戶名(實際上是電子郵件地址)和密碼。因此,您可以獲取用戶名/密碼的列表(類似於HIBP的用法),然後針對您想要進入的網站簡單地觸發列表中的所有密碼對。

請確保沒有您的用戶在HIBP已知的任何列表中都有密碼,您可以非常有效地阻止這種攻擊。

Luis Casillas
2019-06-11 05:43:29 UTC
view on stackexchange narkive permalink

但是我擔心的是相反的-總是很容易破解列表中沒有的密碼。目前,“ longishpassword”還沒有使用該密碼的帳戶,該帳戶遭到洩漏。但是,這並不意味著會發生哈希洩漏,因此此密碼是安全的。容易破解。

您100%是正確的,因為HIBP的Pwned Passwords數據庫缺席並不能保證密碼強度高。但是,我認為您低估了針對HIBP數據庫檢查密碼的巨大價值。關鍵是您要擔心的情況(HIBP數據庫中沒有的弱密碼)比列表中 的弱密碼的使用率要低得多。

Troy Hunt(HIBP的創建者)廣泛地介紹了他的項目,他在2018年的博客文章“ 86%的密碼很糟糕(和其他統計數據)”給出了我認為是一個非常令人大開眼界的例子(為簡便起見進行了編輯):

但是我一直想知道-[Pwned Passwords]實際上會阻止哪種百分比的密碼?我的意思是,如果您的系統中有100萬人,是否有四分之一的人使用以前破解的密碼?一半?更多?我需要測試的理論是一個數據洩露,其中包含純文本密碼,其中包含大量密碼,並且它必須是我以前從未見過的密碼,並且不構成我用來創建Pwned的來源的一部分密碼列表排在第一位。

然後出現CashCrate [一個大漏洞和洩漏]。

在這680萬條記錄中,有2,232,284條密碼為純文本格式。因此,對於之前提出的一個大問題,“已擁有的密碼”中已經有多少個?或者換句話說,有多少CashCrate訂戶使用已知已經被破壞的可怕密碼?

在“已擁有的密碼”集中已經有2,232,284個密碼中共有1,910,144個密碼。換句話說,有86%的訂戶正在使用在其他數據洩露中已經洩漏的密碼,並且攻擊者可以使用純文本格式的密碼。

因此,儘管您認為Pwned Passwords是正確的,不能解決整個問題,它要解決的懸而未決的水果數量巨大。將其與科學基礎紮實的密碼強度檢查器(如 zxcvbn)結合在一起,您可以咬下另一個很大的塊:

  password:longishpasswordguesses_log10:8.00952評分:3/4函數運行時間(毫秒) ):2次猜測時間:100 /小時:幾個世紀(節流的在線攻擊)10 /秒:5個月(不節流的在線攻擊)10k /秒:3小時(離線攻擊,慢速哈希,許多內核)10B /秒:不到一秒(脫機攻擊,快速哈希,許多核心) 

當您摘下低谷的果實後,您的收益可能會迅速下降。

bfloriang
2019-06-03 15:30:12 UTC
view on stackexchange narkive permalink

我認為,僅從先前的違規中排除此列表中的數十億個強密碼並不一定有用,因為在您的環境中,當已經排除了數十億個密碼時,可能很難選擇一個密碼,尤其是如果人們由於某種原因或另一種原因不得不記住它(例如,不能使用密碼管理器)。

我認為,這也應考慮到您是否還使用MFA,在這種情況下,到目前為止,僅知道密碼就可以幫助您。此外,通過對錯誤的密碼輸入採用帳戶鎖定規則,可以有效地抵抗暴力攻擊。

任何違反密碼的行為都不再是強密碼。您始終必須假設,攻擊者首先嘗試從突破口嘗試密碼。首先,攻擊者不會判斷每個密碼是否違反,因為它是一個通用密碼,或者是更強的密碼之一;其次,您可能是擁有密碼的用戶,第三,擴展密碼很便宜帶有一百萬個密碼的單詞表,對於攻擊者來說是巨大的利益。因此,您必須假定將嘗試使用任何違反密碼的密碼。
我在這裡同意@allo的觀點,甚至會強調這一點:如果密碼在違規列表中出現,我認為它已被洩露。如果攻擊者可以訪問哈希密碼文件(或可以無限制訪問帳戶),則他們肯定會首先嘗試使用密碼列表。
將主密碼列表視為字典。一個非常好的字典,包含密碼的可能性很高。如果您要防止字典攻擊,那麼您*絕對會*希望避免使用密碼列表作為該攻擊的來源。如果您想保護用戶不要使用“ password123”作為他們的密碼,那麼您(最肯定地)也想防止密碼列表攻擊,這種攻擊比這更常見。
所有這些事情都沒有考慮(希望)設置“鎖定/延遲之前失敗嘗試的次數”,這完全可以說是超級密碼123!曾經被“破壞”出現在列表中,但是您可能不會嘗試將其作為嘗試使用的第100個以上的密碼,不使用它是因為它曾經出現過一次有點瘋狂(假設您以前從未在其他地方使用過它,這意味著如果別人真的有沒有什麼)[superpassword123!僅作為示例,而不是作為適當的智能密碼使用]


該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 4.0許可。
Loading...