介紹如何在 Linux 系統上使用 pwscore
計算使用者的密碼品質分數,判斷密碼的安全性。
pwscore
密碼品質檢測工具若在 Ubuntu 或 Debian Linux 中,pwscore
這個工具存在於 libpwquality-tools
套件之內,可以透過 apt
安裝:
# 安裝 libpwquality-tools 套件
sudo apt install libpwquality-tools
pwscore
是一個可以用來檢測密碼品質的工具,可從標準輸入(stdin)讀取密碼,根據密碼長度、字典檔等檢查密碼是否合格,並計算出代表密碼品質的分數(最低 0
分,最高 100
分)。
若密碼長度不足,就無法通過檢測:
# 計算 123456 這個密碼的品質分數 echo "123456" | pwscore
Password quality check failed: The password is shorter than 8 characters
若密碼規則過於簡單,也無法通過檢測:
# 計算 12345678 這個密碼的品質分數 echo "12345678" | pwscore
Password quality check failed: The password fails the dictionary check - it is too simplistic/systematic
若密碼屬於字典單字,也無法通過檢測:
# 計算 Sunday139 這個密碼的品質分數 echo "Sunday139" | pwscore
Password quality check failed: The password fails the dictionary check - it is based on a dictionary word
通過基本的密碼檢測之後,就會算出密碼的品質分數:
# 計算 Sun123day 這個密碼的品質分數 echo "Sun123day" | pwscore
46
密碼複雜度越高,算出來的密碼品質分數就越高:
# 計算 Sun@123#day 這個密碼的品質分數 echo "Sun@123#day" | pwscore
84
超高強度的密碼:
# 計算 A3p^-/]aI9bX3 這個密碼的品質分數 echo "A3p^-/]aI9bX3" | pwscore
100
密碼的品質分數是相對於設定檔中所指定的最低密碼長度所計算出來的,但一般來說 50
分代表中等品質,而只要是通過檢測的密碼,都足以抵禦字典檔攻擊(dictionary attacks),50
分以上的密碼甚至可以對抗快速的暴力攻擊法(fast brute force attacks)。