On Thu, Apr 1, 2021 at 10:47 AM Ard Biesheuvel <ardb@xxxxxxxxxx> wrote:
On Tue, 30 Mar 2021 at 21:56, Simo Sorce <simo@xxxxxxxxxx> wrote:Not really.
On Tue, 2021-03-30 at 21:45 +0200, Ard Biesheuvel wrote:
On Tue, 30 Mar 2021 at 20:05, Simo Sorce <simo@xxxxxxxxxx> wrote:
On Tue, 2021-03-30 at 16:46 +0200, Rafael J. Wysocki wrote:What is the reason for using a [broken] cryptographic hash here? if
On Tue, Mar 30, 2021 at 12:14 AM Dexuan Cui <decui@xxxxxxxxxxxxx> wrote:FYI, SHA-1 is not a good choice, it is only permitted in HMAC
Hi,I would say yes, it should.
MD5 was marked incompliant with FIPS in 2009:
a3bef3a31a19 ("crypto: testmgr - Skip algs not flagged fips_allowed in fips mode")
a1915d51e8e7 ("crypto: testmgr - Mark algs allowed in fips mode")
But hibernation_e820_save() is still using MD5, and fails in FIPS mode
due to the 2018 patch:
749fa17093ff ("PM / hibernate: Check the success of generating md5 digest before hibernation")
As a result, hibernation doesn't work when FIPS is on.
Do you think if hibernation_e820_save() should be changed to use a
FIPS-compliant algorithm like SHA-1?
PS, currently it looks like FIPS mode is broken in the mainline:
https://www.mail-archive.com/linux-crypto@xxxxxxxxxxxxxxx/msg49414.html
constructions and only for specified uses. If you need to change
algorithm you should go straight to SHA-2 or SHA-3 based hashes.
this is just an integrity check, better use CRC32
CRC32 is not really sufficient for integrity checking here AFAICS. It
might be made a fallback option if MD5 is not available, but making it
the default would be somewhat over the top IMO.
Yes, it is about integrity checking only. No, CRC32 is not equivalentIf the integrity check is used exclusively to verify there were noLooking at 62a03defeabd58f74e07ca030d6c21e069d4d88e which introduced
accidental changes and is not used as a security measure, by all means
I agree that using crc32 is a better idea.
this, it is only a best effort check which is simply omitted if md5
happens to be unavailable, so there is definitely no need for crypto
here.
to MD5 in that respect AFAICS.
Thanks!