Home_greyopenFATE - openSUSE feature tracking > #312321
Dashboard | Search | Sign up | Login

Please login or register to be able to edit or vote this feature.

Replace blowfish with sha512 as password hash

Feature state

openSUSE Distribution


Since upstream has meanwhile a good replacement for DES crypt (sha256 and sha512), we should follow the other distributions and switch to sha512 as default password hash for local accounts.

For openSUSE this means:

  • Make sha512 the new password hash in pwdutils
  • add support for sha512 to YaST (core, security, users)
  • Remove blowfish as option from YaST2 or at least change the default
  • Drop libxcrypt

User benefit:

More secure password hashing, which are harder to crack with passwd cracking software.


icons/user_comment.png B. F. wrote: (6 years ago)

Want to add me as interested but get an error
Errorcode: 0
Message: undefined method `next=' for nil:NilClass

icons/user_comment.png T. S. wrote: (6 years ago)

Please try again, that was caused because the product openSUSE 11.5 was not created completely.

icons/user_comment.png T. K. wrote: (6 years ago)

pwdutils is adjusted. Lukas, can you please remove blowfish from YaST2 as option to choose and link yast2-core against libcrypt and not libxcrypt?

icons/user_comment.png L. N. wrote: (6 years ago)

I've filed a separate feature for dropping libxcrypt as a clean solution requires a glibc with gensalt functions to avoid copies of them everywhere -> 312617.

icons/user_comment.png L. N. wrote: (6 years ago)

unfortunately the yast interface to the crypt functions is not as flexible as it should be. yast has separate built-in functions for each hash so adding support for sha512 requires adding a new built-in rather than just passing down some different salt string.

icons/user_comment.png L. O. wrote: (6 years ago)

Jiri, we already do support SHA-512 in YaST Users, don't we?

Additionally, would you remove the blowfish option from YaST Users, please?

icons/user_comment.png J. S. wrote: (6 years ago)

Yes, we do have sha512, as a result of Feature #309705,

icons/user_comment.png J. S. wrote: (6 years ago)

I've removed offering of blowfish from yast2-users and yast2-security.

The function call of cryptblowfish is still there, I'll remove it once it is dropped from yast2-core

icons/user_comment.png L. O. wrote: (6 years ago)

These YCP built-ins are Arvin's speciality. Arvin, could you, please, do that change requested by Thorsten in comment #3?

icons/user_comment.png A. S. wrote: (6 years ago)

I will look at it when Fate #312617 is finished (glibc provides salt functions).

icons/user_comment.png R. D. wrote: (6 years ago)

Background for those who haven't seen it.

Migration of current from "blowfish" hashed passwords, ought to be mandatory, because of the sign extension bug that's been found (in "John the Ripper". As, current user passwords would have to be changed anyway, it makes sense to force migrate to sha512 anyway as part of update.

See "A hole in crypt_blowfish"
http://lwn.net/Articles/448699/ for explanation of the problem & discussion. Executive summary "crypt_blowfish developer Alexander Peslyak (aka Solar Designer) analyzed the effects of the bug and found that some password pairs would hash to the same value with only minimal differences (e.g. "ab£" hashed to the same value as "£"), which would make password cracking easier. A further analysis shows that some characters appearing just before one with the high bit set may be effectively ignored when calculating the hash."

icons/user_comment.png J. E. wrote: (6 years ago)

The hole in crypt_blowfish has nothing to do with a desire to move off Blowfish. It's much more that Glibc has never offered Blowfish and openSUSE carried a patch for it, whereas SHA-512 is available upstream.

Last change: 5 years ago
Score: 13
  • Negative: 0
  • Neutral: 1
  • Positive: 13
Feature Export
Application-xmlXML   Text-x-logPlaintext   PrinterPrint