Skip to content
Snippets Groups Projects
  • Daniel P. Berrangé's avatar
    16631029
    os: deprecate the -enable-fips option and QEMU's FIPS enforcement · 16631029
    Daniel P. Berrangé authored
    
    The -enable-fips option was added a long time ago to prevent the use of
    single DES when VNC when FIPS mode is enabled. It should never have been
    added, because apps are supposed to unconditionally honour FIPS mode
    based on the '/proc/sys/crypto/fips_enabled' file contents.
    
    In addition there is more to achieving FIPS compliance than merely
    blocking use of certain algorithms. Those algorithms which are used
    need to perform self-tests at runtime.
    
    QEMU's built-in cryptography provider has no support for self-tests,
    and neither does the nettle library.
    
    If QEMU is required to be used in a FIPS enabled host, then it must be
    built with the libgcrypt library enabled, which will unconditionally
    enforce FIPS compliance in any algorithm usage.
    
    Thus there is no need to keep either the -enable-fips option in QEMU, or
    QEMU's internal FIPS checking methods.
    
    Reviewed-by: default avatarJohn Snow <jsnow@redhat.com>
    Reviewed-by: default avatarThomas Huth <thuth@redhat.com>
    Signed-off-by: default avatarDaniel P. Berrangé <berrange@redhat.com>
    16631029
    History
    os: deprecate the -enable-fips option and QEMU's FIPS enforcement
    Daniel P. Berrangé authored
    
    The -enable-fips option was added a long time ago to prevent the use of
    single DES when VNC when FIPS mode is enabled. It should never have been
    added, because apps are supposed to unconditionally honour FIPS mode
    based on the '/proc/sys/crypto/fips_enabled' file contents.
    
    In addition there is more to achieving FIPS compliance than merely
    blocking use of certain algorithms. Those algorithms which are used
    need to perform self-tests at runtime.
    
    QEMU's built-in cryptography provider has no support for self-tests,
    and neither does the nettle library.
    
    If QEMU is required to be used in a FIPS enabled host, then it must be
    built with the libgcrypt library enabled, which will unconditionally
    enforce FIPS compliance in any algorithm usage.
    
    Thus there is no need to keep either the -enable-fips option in QEMU, or
    QEMU's internal FIPS checking methods.
    
    Reviewed-by: default avatarJohn Snow <jsnow@redhat.com>
    Reviewed-by: default avatarThomas Huth <thuth@redhat.com>
    Signed-off-by: default avatarDaniel P. Berrangé <berrange@redhat.com>