淺談密碼強度規則的5個版本
最近因為在做WEB產品中接觸到密碼強度設置問題,找了不少解決方案,大多都是基于google提出的以密碼長度、英文大小寫以及符號組合來區分的方式進行。但是這樣組合出來的密碼形式還是有很大的問題。經過搜集整理后,總結出以下幾種方式來處理關于密碼強度設定的規則供大家參考。
密碼強度,指一個密碼對抗猜測或是暴力破解的有效程度。一般來說,指一個未授權的訪問者得到正確密碼的平均嘗試次數。密碼的強度和其長度、復雜度及不可預測度有關。強密碼可以降低安全漏洞的整體風險,但并不能降低采取其他安全措施的需要。
攻擊者可以提交猜測到的密碼的速率是衡量一個系統安全性的重要因素。有的系統在多次嘗試失敗后會暫停登入一段時間,在沒有其他安全缺陷時,這種系統可以用相對簡單的密碼保護。但是系統必須以某種形式存儲用戶密碼,而當這些數據被盜時,就有極大的危險。(via.百度百科)
一、簡易版密碼強度規則
- 密碼長度至少8位;密碼含有數字&字母;
- 密碼含有符號;
- 含有字母大小寫。
規則:
- 符合2項以上允許注冊。
- 不符合針對項目進行針對性提示。
二、常規版密碼強度規則
一、密碼長度:5 分: 小于等于 4 個字符
10 分: 5 到 7 字符– 25 分: 大于等于 8 個字符
二、字母:
- 0 分: 沒有字母
- 10 分: 全都是?。ù螅懽帜?0 分: 大小寫混合字母
三、數字:
- 0分: 沒有數字
- 10分: 1 個數字
- 20分: 大于等于 3個數字
四、符號:
- 0分: 沒有符號
- 10分: 1個符號
- 25分: 大于1個符號
五、獎勵:
- 2分: 字母和數字
- 3分: 字母、數字和符號
- 5分: 大小寫字母、數字和符號
規則:
- >= 90: 非常安全
- >= 80: 安全(Secure)
- >= 70: 非常強
- >= 60: 強(Strong)
- >= 50: 一般(Average)
- >= 25: 弱(Weak)
- >= 0: 非常弱
三、專業版密碼強度規則
符合密碼基本規則者為70分。
- +(總字元數-8) × 4
- +(字母字元數-大寫字母字元數) × (字母字元數-小寫字母字元數) × 2
- -(接連重復(Repeat)字元數) × 2
- -(接連(Consecutive)數字字元數-3) × 1
- -(接連(Consecutive)字母字元數-3) × 1
- -(3碼以上的連續(sequential)數字) × 3
- -(3碼以上的連續(sequential)字母) × 3
規則:
- 總分低於60者為弱(weak),高
- 于80者(含)為強(strong),介於兩者之間為中等(medium)。
四、骨灰版密碼強度規則
分數區間:
- 60>x>0:未達標準
- 70>x≥60:警告
- 80>x≥70:已達標準
- x≥80:優秀(100為上限)
符號說明:
- Flat:均一的 加/扣分 比例。
- Incr:出現次數越多,加/扣分 比例越大。
- Cond:根據增加的字元數調整 加/扣分 比例。
- n:出現次數。
- len:密碼字串長度。
積分說明:
- 增加字符的變化能提高分數。
- 最后的分數為加分項目和減分項目的總和。
- 分數的范圍為0~100分。
- 分數不需達到最低字元即可計算。
規則說明:
- 密碼最低要求8字元
- 最少符合下列4項中3項規則:- 大寫英文字元- 小寫英文字元- 數字字元- 符號字元
加分項目
- 密碼字數/Flat/+(n*4)
- 大寫英文字母/Cond或Incr/+((len-n)*2)
- 小寫英文字母/Cond或Incr/+((len-n)*2)
- 數字字元/Cond/+(n*4)
- 符號字元/Flat/+(n*6)
- 密碼中間穿插數字或符號字元/Flat/+(n*2)
- 已達到密碼最低要求項目/Flat/+(n*2)
扣分項目
- 只有英文字元/Flat/-n
- 只有數字字元/Flat/-n
- 重復字元(Case Insensitive)/Incr/-(n(n-1))
- 連續英文大寫字元/Flat/-(n*2)
- 連續英文小寫字元/Flat/-(n*2)
- 連續數字字元/Flat/-(n*2)
- 連續字母超過三個(如abc, def)/Flat/-(n*3)
- 連續數字超過三個(如123,234)/Flat/-(n*3)
示例:
- 密碼:Aa123 分數:43分 強度:未達標準
- 密碼:Aa12L3 分數:64分 強度:警告
五、HACK版密碼強度規則
說明:不在彩虹表中的密碼強度較高(彩虹表就是一個龐大的、針對各種可能的字母組合預先計算好的哈希值的集合,不一定是針對MD5算法的,各種算法的都有,有了它可以快速的破解各類密碼。)
作者:Tim00604
來源:公眾號:Srabt
版權:人人都是產品經理遵循行業規范,任何轉載的稿件都會明確標注作者和來源,若標注有誤,請聯系主編QQ:419297645
評論
請問 獎勵 指的是什么?
這里的符號區分中英文嗎
我想知道規則的總分怎么計算呢,比如6位數與1個字母組合。是多少分呢?
你說是哪個版本,作者文中提了5個版本的規則,不同版本有不同的計算方式(常規,專業,骨灰等)
不錯