談?wù)劸W(wǎng)頁(yè)產(chǎn)品該如何評(píng)估密碼強(qiáng)度
編輯導(dǎo)語(yǔ):在互聯(lián)網(wǎng)時(shí)代下,各種網(wǎng)頁(yè)和軟件都需要設(shè)置密碼,那么網(wǎng)頁(yè)產(chǎn)品如何評(píng)估密碼強(qiáng)度呢?本篇文章介紹了5種進(jìn)行密碼強(qiáng)度的評(píng)估方法,感興趣的一起來(lái)看一下。
最近因?yàn)樵谧鼍W(wǎng)頁(yè)端產(chǎn)品中接觸到密碼強(qiáng)度設(shè)置問(wèn)題,找了不少解決方案。發(fā)現(xiàn)大多基于google提出的以密碼長(zhǎng)度,英文大小寫以及符號(hào)組合計(jì)分來(lái)進(jìn)行密碼強(qiáng)度評(píng)估。
什么是密碼強(qiáng)度?
指一個(gè)密碼對(duì)抗猜測(cè)或是暴力破解的有效程度。
一般來(lái)說(shuō),指一個(gè)未授權(quán)的訪問(wèn)者得到正確密碼的平均嘗試次數(shù)。
密碼的強(qiáng)度和其長(zhǎng)度、復(fù)雜度及不可預(yù)測(cè)度有關(guān)。
強(qiáng)密碼可以降低安全漏洞的整體風(fēng)險(xiǎn),但并不能降低采取其他安全措施的需要。
攻擊者可以提交猜測(cè)到的密碼的速率是衡量一個(gè)系統(tǒng)安全性的重要因素。
有的系統(tǒng)在多次嘗試失敗后會(huì)暫停登入一段時(shí)間,在沒(méi)有其他安全缺陷時(shí),這種系統(tǒng)可以用相對(duì)簡(jiǎn)單的密碼保護(hù)。
但是系統(tǒng)必須以某種形式存儲(chǔ)用戶密碼,而當(dāng)這些數(shù)據(jù)被盜時(shí),就有極大的危險(xiǎn)(via.百度百科)。
根據(jù)NordPass 2020年的研究,五個(gè)最常見(jiàn)的密碼是123456、123456789、picture1、密碼和12345678。
我們先來(lái)看看破解這些密碼需要多少時(shí)間。
經(jīng)過(guò)搜集整理了以下5種進(jìn)行密碼強(qiáng)度評(píng)估方法,你可以根據(jù)產(chǎn)品的數(shù)據(jù)風(fēng)控程度選擇匹配版本投產(chǎn)使用。
一、簡(jiǎn)易版
1. 規(guī)則
- 密碼長(zhǎng)度至少8位;
- 密碼含有數(shù)字&字母;
- 密碼含有符號(hào);
- 密碼同時(shí)含有大小寫字母。
2. 驗(yàn)證
- 符合2項(xiàng)(含)以上允許賬號(hào)注冊(cè);
- 密碼不符合規(guī)則進(jìn)行針對(duì)性提示。
3. 示例
- 1種組合→guofu→ 拒絕,提示原因;
- 2種組合 → guofu1024→通過(guò);
- 3種組合→ guofu1024?→通過(guò);
- 4種組合→ Guofu1024?→ 通過(guò)。
二、常規(guī)版
1. 規(guī)則
–
2. 分?jǐn)?shù)區(qū)間
- x ≥90: 非常安全;
- 90 > x≥80: 安全(Secure);
- 80 > x≥70: 強(qiáng)(Strong);
- 70 > x≥ 60: 一般(Average);
- 60 > x≥25: 弱(Weak);
- 25 > x≥0: 非常弱。
3. 驗(yàn)證
- 允許得分為70分以上的密碼進(jìn)行賬號(hào)注冊(cè);
- 密碼不符合規(guī)則進(jìn)行針對(duì)性提示。
4. 示例
Guofu1024?→ 25+20+20+10+5=80分→安全。
三、專業(yè)版
1. 符號(hào)
- Flat:均一的加/扣分比例;
- Incr:出現(xiàn)次數(shù)越多,加/扣分比例越大;
- Cond:根據(jù)增加的字元數(shù)調(diào)整加/扣分比例;
- n:出現(xiàn)次數(shù);
- len:密碼字串長(zhǎng)度。
2. 規(guī)則
3. 計(jì)算方式
- 最后的分?jǐn)?shù)為加分條件和減分項(xiàng)目的條件;
- 分?jǐn)?shù)的范圍為0~100分;
- 分?jǐn)?shù)不需達(dá)到最低字元即可計(jì)算。
4. 分?jǐn)?shù)區(qū)間
- 60 > x > 0:未達(dá)標(biāo)準(zhǔn);
- 70 > x ≥ 60:警告;
- 80 > x ≥ 70:已達(dá)標(biāo)準(zhǔn);
- x ≥ 80:優(yōu)秀(100為上限)。
5. 驗(yàn)證
允許得分為60分以上的密碼進(jìn)行賬號(hào)注冊(cè)。
6. 示例
- Aa123 → 43分→未達(dá)標(biāo)準(zhǔn);
- Aa12L3→64分→警告。
四、HACK版
在彩虹表之前,已經(jīng)出現(xiàn)了對(duì)哈希函數(shù)的破解算法,被稱為“預(yù)計(jì)算的哈希鏈集”(Precomputed hash chains)。
密碼彩虹表——示例有關(guān)防御彩虹表攻擊,開(kāi)發(fā)者在編碼時(shí)請(qǐng)勿在密碼散列函數(shù)中使用MD5或SHA1,在密碼散列例程中使用密碼鹽來(lái)幫助應(yīng)用程序“防虹”的編碼。
另外,不在彩虹表中的密碼強(qiáng)度較高。它是一個(gè)龐大的、針對(duì)各種可能的字母組合預(yù)先計(jì)算好的哈希值的集合。
不一定是針對(duì)MD5算法的,各種算法的都有,可以快速破解各類密碼。在彩虹表中的密碼給予提示。
比如,A12345 →此密碼安全性低,請(qǐng)修改。
五、Fuzzy版
汪定教授團(tuán)隊(duì)對(duì)中國(guó)網(wǎng)民進(jìn)行了密碼習(xí)慣調(diào)查和比對(duì)先行密碼強(qiáng)度模式后,提出了一種更為準(zhǔn)確的評(píng)估模式。
Google 密碼強(qiáng)度反饋選取了10個(gè)領(lǐng)域共50個(gè)流量排名靠前的網(wǎng)站,借助網(wǎng)站曾經(jīng)泄露的密碼數(shù)據(jù)庫(kù),先利用離線漫步攻擊分析得到密碼最常用的結(jié)構(gòu)和使用頻次的字典表。
測(cè)量核心公式:Nmin*log2Cmin,具體解釋可參照論文解釋。
作者提出從6個(gè)維度評(píng)估密碼的強(qiáng)度,分別是:
- 長(zhǎng)度要求密碼不小于8位;
- 強(qiáng)制執(zhí)行強(qiáng)制最小字符類型要求;
- 允許使用符號(hào),帶符號(hào)的密碼通常比不帶符號(hào)的密碼安全得多;
- 使用常用弱密碼的黑名單表(彩虹表),禁止使用;
- 禁用賬戶名或個(gè)人名;
- 向用戶提供明確的密碼建議和指導(dǎo)。
另外,中國(guó)用戶喜歡把名字放在密碼中,作者在破解過(guò)程中充分利用名字信息,對(duì)算法進(jìn)行改進(jìn),用于度量密碼強(qiáng)度測(cè)試。
彩虹表需要集成“中式密碼”,比如,“woaini”、“5201314”、“zhangsan2022”和“l(fā)ongguofu123”之類的密碼。
六、總結(jié)
在真實(shí)的世界,對(duì)于普通用戶來(lái)說(shuō)有沒(méi)有辦法可以設(shè)置真正意義上高強(qiáng)度的密碼呢?
參照專家們給出的建議,你可以試試這樣做。
1) 不要在密碼中包含用戶名、真實(shí)姓名、生日或公司名稱,也不要包含任何與登錄信息相關(guān)的信息。
例如,地址或電話號(hào)碼。最好也不要包含任何可以在社交媒體上訪問(wèn)的信息,例如孩子或?qū)櫸锏拿帧?/p>
還有,比如在銀行網(wǎng)站讓你設(shè)置3個(gè)安全登錄問(wèn)題的時(shí)候,不要如實(shí)回答。
2) 研究發(fā)現(xiàn)45%的人使用8個(gè)字符或更少字符的密碼。如果可能的話,密碼的長(zhǎng)度至少應(yīng)為16個(gè)字符。
相較于在密碼中加入非字母字符而言,增加長(zhǎng)度可以更簡(jiǎn)單地使密碼變強(qiáng)。
例如,12個(gè)字母的密碼比12個(gè)數(shù)字的密碼的破解難度僅大8倍。
但由16個(gè)僅字母字符組成的密碼比由12個(gè)各類字符組成的密碼的破解難度大800萬(wàn)倍。
3) 密碼應(yīng)包括字母、數(shù)字和字符的組合,不應(yīng)包含任何連續(xù)的字母或數(shù)字,不應(yīng)是“密碼”一詞或重復(fù)的相同字母或數(shù)字。
例如,guofu8888、mima777、password111。
4) 密碼不應(yīng)是在鍵盤上經(jīng)常連續(xù)敲擊的字符串。例如,asdfghjkl。
5) 密碼不應(yīng)與任何其他帳戶共享。可以使用專業(yè)的密碼管理器和定期修改密碼(雖然很難),可以用密碼強(qiáng)度工具幫忙生成密碼。
密碼的存在筆者一直認(rèn)為是反人性的設(shè)計(jì),但是它的存在對(duì)鑒權(quán)、保護(hù)隱私又有其必要性。
選擇哪種密碼強(qiáng)度取決于設(shè)計(jì)者對(duì)于“便捷”與“安全”的平衡,對(duì)于金融級(jí)別的產(chǎn)品,毫無(wú)疑問(wèn)需要高強(qiáng)度或多重驗(yàn)證。
而對(duì)于輕應(yīng)用,更多可把方便為主要考慮。
此外,筆者一直有種感覺(jué),或者沒(méi)有密碼,使用生物生命特征才是更人性化的設(shè)計(jì)。
次之,用社交賬號(hào)授權(quán)、手機(jī)動(dòng)態(tài)驗(yàn)證碼進(jìn)行驗(yàn)證,對(duì)于安全性較低的產(chǎn)品也是不錯(cuò)的解決方案。
最后,沒(méi)有一個(gè)密碼是“最安全的”,如果有的話,把它寫出來(lái)就會(huì)變得不安全,因?yàn)橛谐汕先f(wàn)的人會(huì)在他們的賬戶上使用它。
作者:龍國(guó)富,公眾號(hào):龍國(guó)富,分享用戶研究、客戶體驗(yàn)、服務(wù)科學(xué)等領(lǐng)域資訊,觀點(diǎn)和個(gè)人見(jiàn)解。
本文由@龍國(guó)富 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)授權(quán),禁止轉(zhuǎn)載。
題圖來(lái)Unsplash,基于CC0協(xié)議。
關(guān)注公眾號(hào)“龍國(guó)富”, ???♂?進(jìn)入客戶體驗(yàn)交流群~ 來(lái)一起嘮嘮客戶體驗(yàn)。
太復(fù)雜了我自己記不住,比如說(shuō)有的軟件必須需要區(qū)分大小寫,每次上去的時(shí)候都得重設(shè)一下
+1,軟件網(wǎng)站太多,密碼多到記不住
原來(lái)是這樣!終于明白了那些密碼為啥非要這樣那樣設(shè)置!
補(bǔ)充一個(gè)經(jīng)驗(yàn):一個(gè)使用了互聯(lián)網(wǎng)很多年也有很多賬戶的人表示自己的使用習(xí)慣如下
1密碼基本上是分級(jí)存在的 我一開(kāi)始分了3級(jí),后來(lái)發(fā)現(xiàn)自己只有兩級(jí),一個(gè)是重要賬戶密碼(數(shù)字字母大小寫特殊符號(hào)),另一種是普通的賬戶密碼(數(shù)字字母),前者一般只放在“含有資金和支付方式的賬戶里面”,后者一般就是普通賬戶,并且經(jīng)常復(fù)用(當(dāng)然注意,提高密碼的安全性行為是一個(gè)歷史遺留問(wèn)題,我們需要折中的假設(shè),一般用戶的密碼就是數(shù)字+字母)
2 有一些網(wǎng)站,為了平衡安全性和盜號(hào)等等問(wèn)題,要求我使用特殊符號(hào),而作為一個(gè)用戶,我對(duì)這個(gè)網(wǎng)站的賬戶安全性評(píng)估并沒(méi)有那么的高,那么我可能會(huì)隨機(jī)的去使用特殊符號(hào)去后綴這個(gè)網(wǎng)站的密碼,其結(jié)果就是,我需要每隔一段時(shí)間就通過(guò)手機(jī)驗(yàn)證碼的方式去找回這個(gè)密碼。(勞民傷財(cái))
3那么網(wǎng)站對(duì)用戶的密碼設(shè)計(jì)的時(shí)候,是否應(yīng)該去要求用戶,或者去教育用戶使用一個(gè)比較復(fù)雜的密碼?我覺(jué)的其實(shí)非財(cái)務(wù)類其實(shí)是多此一舉,一些內(nèi)容生產(chǎn)類的app,可以考慮當(dāng)賬戶資產(chǎn)或者價(jià)值較高的時(shí)候提醒用戶去更改密碼或者提升用戶安全等級(jí)。但其實(shí)這樣做也會(huì)提高用戶更改找回密碼的次數(shù)(因?yàn)樾旅艽a往往在用戶的常用密碼體系之外)
4 鑰匙串和密碼管理器這類軟件其實(shí)普及度不高,而且有待商榷
5 綜上其實(shí)對(duì)用戶體驗(yàn)來(lái)說(shuō),加快密碼找回的力度和被盜號(hào)之后的善后工作似乎更加合理