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