Grub2

pbkdf2 是如何工作的?

  • June 23, 2017

我試圖用 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

引用自:https://unix.stackexchange.com/questions/372793