如何創(chuàng)建高強度密碼并強化帳戶安全性
當我們在創(chuàng)建或更改密碼時,一般需要滿足復(fù)雜性要求。但是隨機密碼難以記憶,因此大多數(shù)人都使用類似的、可預(yù)測的方式創(chuàng)建密碼,這使得攻擊者更容易破解密碼。那么,如何創(chuàng)建高強度密碼,并強化賬戶安全性呢?本文作者對此進行了分析,一起來看一下吧。
通常當我們在創(chuàng)建或更改密碼時,密碼必須滿足密碼復(fù)雜性要求。例如密碼需要包含大小寫字母、數(shù)字和符號。
如下表所示,假定密碼長度8位,使用更大的字符集的確能夠產(chǎn)生出更多種組合,理論上攻擊者必須嘗試所有可能的組合才能破解密碼。
然而,人為創(chuàng)建的密碼并不是隨機的,因為隨機密碼難以記憶。米勒對短期記憶能力進行了定量研究,年輕人的記憶廣度大約為7個數(shù)字、6個字母、5個單詞。密碼復(fù)雜性要求使記憶變得更加困難,其迫使大多數(shù)人使用類似的、可預(yù)測的方式創(chuàng)建密碼,反而導(dǎo)致密碼有規(guī)可循。主要有以下幾種方式:
- 首位是大寫字母,末位是數(shù)字或符號。
- 常見的單詞使用數(shù)字或符號的僅外觀類似替換,例如使用“$”替換”s”,“@”替換“a”,數(shù)字“0”、“5”、“1”替換英文字母“o”、“s”、“i”等。
- 常見的單詞或短語末尾附加數(shù)字。
掌握這些規(guī)律攻擊者更容易破解密碼。攻擊者不一定會逐一嘗試所有可能的組合,而是選擇一種更合乎邏輯的方式,從更可能的組合開始嘗試。攻擊者通過最常見的替換來運行字典攻擊,例如,如果單詞“password”在字典列表中,攻擊者可以嘗試使用“P@ssw0rd”、“P@55word”或“P@55w0rd”等變體來破解密碼。除了這些常見的替換之外,攻擊者還可能嘗試使用常見的單詞或短語,在末尾附加數(shù)字。字典攻擊很大程度上縮小了密碼組合的范圍,縮短了破解的時間。
即使密碼是隨機生成的,以目前的技術(shù),運行在專用硬件(例如高端GPU集群)上的高度優(yōu)化的密碼破解軟件可以每秒測試數(shù)十億個密碼組合,攻擊者使用如此強大的密碼破解軟件,破解密碼可能也只需要幾分鐘到幾小時。另一方面,用戶難以記住隨機生成的密碼,可能會以不安全的方式存儲他們的密碼,例如寫在一張便條紙上,放在計算機附近。
總體而言,從安全和好記的角度來看,密碼復(fù)雜性要求弊大于利。
在密碼中使用混合字符類型的建議最初是Bill Burr于2003年在美國國家標準技術(shù)研究所(NIST)工作時撰寫的一份文件《NIST SP800-63》中提出的,2017年他在接受華爾街日報采訪時公開道歉,稱當時他并沒有得到可靠的數(shù)據(jù)作嚴謹研究,只依靠來自八十年代、不合時宜的舊文件作為參考,而他的建議也沒有考慮到一般人的生活習(xí)慣及思考模式。
2017年6月,NIST發(fā)布了新版《NIST SP800-63》,其中包含對其密碼建議的更新,不再強調(diào)在密碼中使用混合字符類型,而是鼓勵用戶在合理范圍內(nèi)使用更長的密碼或密碼短語作為增強安全性的更有效方法。
創(chuàng)建一個長且易于記憶的密碼可能具有挑戰(zhàn)性,以下一些方法可以提供幫助:
- 使用密碼短語:不要使用單個單詞,而是使用由幾個不相關(guān)單詞組合而成的密碼短語,這樣可以更容易記住密碼,同時也增加了密碼的長度和復(fù)雜性。例如,你可以使用“correct horse battery staple”之類的短語。(實例已經(jīng)公開,所以已經(jīng)不具備安全性,只作為說明例子)。
- 使用助記符:你可以使用句子或歌曲歌詞中每個單詞的首字母來創(chuàng)建密碼。
- 使用來自可信來源且受信任的密碼管理器創(chuàng)建并存儲密碼。
以下是創(chuàng)建密碼時需要避免的一些額外事項:
- 避免使用你的姓名、生日或地址等個人信息,因為這些信息可以在網(wǎng)上找到,身邊熟悉的人知道也個人信息也容易猜到密碼。
- 避免使用常見的單詞或短語,因為使用基于字典的攻擊很容易猜到這些單詞或短語。
- 避免使用連續(xù)或重復(fù)的字符,因為這些很容易被攻擊者猜到。
- 避免使用短密碼,因為它們很容易被暴力破解。
- 避免為多個帳戶使用相同的密碼,因為如果一個密碼被泄露,攻擊者更容易訪問你的所有帳戶。
- 避免使用常見的字母替換,例如使用“0”替換“o”或使用“@”替換“a”,因為這些都是眾所周知的并且很容易被攻擊者猜到。
如何記住密碼?
建議使用來自可信來源且受信任的密碼管理器存儲密碼,你只需記住一個主密碼即可訪問所有已保存的密碼。這降低了使用弱密碼、重復(fù)使用密碼或忘記復(fù)雜密碼的風(fēng)險。此外,許多密碼管理器可以自動填寫平臺上的登錄信息,這可以節(jié)省時間并降低手動輸入密碼時出現(xiàn)拼寫錯誤或其他錯誤的風(fēng)險。
作為身份驗證者,在處理密碼創(chuàng)建和更改請求時,以下一些方法可以提供幫助:
- 確保密碼滿足最小長度要求。建議密碼的最小長度為12個字符。
- 將用戶創(chuàng)建的密碼與包含已知常用或泄露的密碼列表進行比較,以確保用戶沒有使用容易猜到或泄露的密碼。
- 向用戶反饋密碼被拒絕的明確原因,并提供創(chuàng)建更強密碼的建議。
不要僅依賴密碼。
即使是最強的密碼也可能被泄露,減輕這種風(fēng)險的一種方法是使用雙因素身份驗證(2FA)。2FA通過要求用戶提供兩種類型的身份驗證因素來訪問其帳戶,從而為身份驗證過程增加了額外的安全層。一些常見的2FA類型包括短信驗證碼、身份驗證器應(yīng)用程序、硬件令牌和生物識別身份驗證。
感謝閱讀,以上就是本次分享的全部內(nèi)容,希望你能從這篇文章中有所收獲,記得點贊/收藏/分享/關(guān)注,后續(xù)將會持續(xù)更新。
本文由@張楚 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載。
題圖來自 Unsplash,基于 CC0 協(xié)議。
該文觀點僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺僅提供信息存儲空間服務(wù)。
- 目前還沒評論,等你發(fā)揮!