• Nicolai Stange's avatar
    crypto: dh - disallow plain "dh" usage in FIPS mode · 32f07cc4
    Nicolai Stange authored
    SP800-56Arev3, sec. 5.5.2 ("Assurance of Domain-Parameter Validity")
    asserts that an implementation needs to verify domain paramtere validity,
    which boils down to either
    - the domain parameters corresponding to some known safe-prime group
      explicitly listed to be approved in the document or
    - for parameters conforming to a "FIPS 186-type parameter-size set",
      that the implementation needs to perform an explicit domain parameter
      verification, which would require access to the "seed" and "counter"
      values used in their generation.
    
    The latter is not easily feasible and moreover, SP800-56Arev3 states that
    safe-prime groups are preferred and that FIPS 186-type parameter sets
    should only be supported for backward compatibility, if it all.
    
    Mark "dh" as not fips_allowed in testmgr. Note that the safe-prime
    ffdheXYZ(dh) wrappers are not affected by this change: as these enforce
    some approved safe-prime group each, their usage is still allowed in FIPS
    mode.
    
    This change will effectively render the keyctl(KEYCTL_DH_COMPUTE) syscall
    unusable in FIPS mode, but it has been brought up that this might even be
    a good thing ([1]).
    
    [1] https://lore.kernel.org/r/20211217055227.GA20698@gondor.apana.org.auSigned-off-by: default avatarNicolai Stange <nstange@suse.de>
    Reviewed-by: default avatarHannes Reinecke <hare@suse.de>
    Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
    32f07cc4
testmgr.c 146 KB