預設的密碼雜湊演算法與 umask 設定的更動

發表於

原文:Changes to default password hashing algorithm and umask settings

從 shadow >= 4.14.0 起,Arch Linux 的預設密碼雜湊演算法將從 SHA512 改成 yescrypt

此外,umask 的設定現在也位於 /etc/login.defs 而不是 /etc/profile

這應該不需要任何手動調整。

使用 Yescrypt 的原因

因基於密碼的金鑰衍生函數(KDF)和密碼雜湊方式 yescrypt 已存在於 pam 所使用的 libxcrypt 之中,並且與 SHA512 相比其面對於密碼破解時更牢靠,因此我們採用此演算法。

儘管 Password Hashing Competition 的勝利者是 argon2,但這個更堅固的演算法目前還未存在於 libxcrypt 之中(第一次嘗試第二次嘗試)。

設定 yescrypt

/etc/login.defs 內的 YESCRYPT_COST_FACTOR 設定目前沒有效果,除非 pam 未來的實作讀取其值。如果需要讓 YESCRYPT_COST_FACTOR 的值高過(或低於)其預設值(5),可以透過修改 pam_unix 模組內(於 /etc/pam.d/system-auth)的 rounds 設定來達到。

改動列表

  • yescrpyt 現在取代了 SHA512 成為預設的密碼雜湊演算法
  • pam 現在採用 /etc/login.defs 內的 ENCRYPT_METHOD 而不再複寫其值
  • 修改了 filesystem (>= 2023.09.18) 和 pambase (>= 20230918) 來確保 umask 是設定於 /etc/login.defs 而非 /etc/profile