Re: Fix hibernation in FIPS mode?
flat view
From: Simo Sorce <hidden>
Date: 2021-03-30 19:56:55
Also in:
linux-pm, lkml
On Tue, 2021-03-30 at 21:45 +0200, Ard Biesheuvel wrote:
On Tue, 30 Mar 2021 at 20:05, Simo Sorce [off-list ref] wrote:quoted
On Tue, 2021-03-30 at 16:46 +0200, Rafael J. Wysocki wrote:quoted
On Tue, Mar 30, 2021 at 12:14 AM Dexuan Cui [off-list ref] wrote:quoted
Hi, 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?I would say yes, it should.quoted
PS, currently it looks like FIPS mode is broken in the mainline: https://www.mail-archive.com/linux-crypto@vger.kernel.org/msg49414.htmlFYI, SHA-1 is not a good choice, it is only permitted in HMAC constructions and only for specified uses. If you need to change algorithm you should go straight to SHA-2 or SHA-3 based hashes.What is the reason for using a [broken] cryptographic hash here? if this is just an integrity check, better use CRC32
If the integrity check is used exclusively to verify there were no accidental changes and is not used as a security measure, by all means I agree that using crc32 is a better idea. Simo. -- Simo Sorce RHEL Crypto Team Red Hat, Inc