Grub2
pbkdf2 是如何工作的?
我試圖用 grub 密碼保護
grub2-mkpasswd-pbkdf2
它,它適用於 centos 7,但我無法理解它。每次我使用這個命令時,它都會為一個唯一的字元串(如 1234)提供不同的雜湊密碼。
結果就像
grub.pbkdf2.sha512.10000.5A9xxx grub.pbkdf2.sha512.10000.E18xxx
我的問題是:
當將它們複製到 10_unix 文件和更新 grub 之後,這兩個散列密碼如何工作以及登錄過程如何將我的純密碼與 10_unix 文件中的散列文本進行比較?
我的意思是它似乎不像 md5() 那樣,每次我們使用它時,一個唯一字元串的結果都是相同的。
PBKDF2是一個加鹽密碼散列,這意味著除了密碼之外,散列函式將另一個字元串作為輸入,鹽是在設置或修改密碼時隨機生成的。這裡的想法是攻擊者無法預先計算與常見密碼對應的雜湊,因為他們也需要鹽。此外,如果多個帳戶碰巧具有相同的密碼,這並不明顯,因為雜湊是隨機的。鹽作為密碼散列的一部分儲存,為了將明文密碼與散列密碼進行比較,從散列中讀取要使用的正確鹽。
與普通的加密雜湊函式(如 MD5 或 SHA-256)相比,PBKDF2 也是迭代的,這意味著它在一個循環中多次執行底層雜湊(至少數千次)。這只是為了讓雜湊計算更慢,增加了通過蠻力猜測與雜湊匹配的密碼的成本。
在 的情況下
grub
,雜湊的格式似乎是grub.pbkdf2.sha512。*[迭代]*。*[鹽]*。*[雜湊]*
系統使用的密碼散列(
/etc/shadow
參見crypt手冊頁)也像任何正確的密碼散列一樣被迭代和加鹽。有關密碼雜湊的更多資訊,請參閱 如何安全地雜湊密碼?關於安全.SE