[Swan-commit] Changes to ref refs/heads/master

Paul Wouters paul at vault.libreswan.fi
Fri Apr 24 17:35:01 UTC 2020

New commits:
commit dc6172dc5a06b966d5675371e375af2ebd775c9e
Author: Paul Wouters <pwouters at redhat.com>
Date:   Fri Apr 24 13:18:23 2020 -0400

    FIPS: split fips mode checks from pluto binary check
    Compiling with USE_FIPSCHECK used to compile support for two things:
    - pluto self test using fipscheck library
    - activate fips when detecting system is in fips mode
    USE_FIPSCHECK now only refers to the first item. Being able to run
    in fips mode is now always possible, even without USE_FIPSCHECK
    Note that as of version 3.30, the KDF's implemented in libreswan
    have been moved to NSS. Since all crypto was already outsourced
    to NSS, this means that libreswan itself provides no algorithms
    that require FIPS testing, and therefor cannot be FIPS certified.
    Only NSS and the kernel requires FIPS certification for libreswan
    to run in fips mode. As a result, there is no more need to support
    the FIPS requirement for binary selftest.
    Additionally, the concept of a "FIPS Product" that is independent of the
    kernel fips mode was abandoned. This is now only needed for compiling for
    older distributions such as RHEL6 to RHEL-8.1.  It is not required for
    RHEL-8.2 and onwards. Compiling without USE_FIPSCHECK now still allows
    (and causes) libreswan to run in fips mode, if it detects the kernel
    was booted in fips mode.
    The option USE_FIPSCHECK=true therefor means to use both the old
    FIPS Product test, as well as performing the pluto binary check
    using the fipscheck library. This is irrespective of whether USE_NSS_PRF
    is enabled or disabled. If USE_NSS_PRF is disabled, then libreswan
    in theory must use USE_FIPSCHECK to selftest for FIPS compliance.
    (although since the KDF in libreswan only uses RFC methods with
    NSS provided secure hash functions, your FIPS testlab might be able
    to argue that this is not needed)
    There are some tests in libreswan that were only run when compiled
    with the old style USE_FIPSCHECK which was the only way to run in
    FIPS mode until now. Some of these checks, such as minimum RSA key
    size, are sensisble to run even when not running in FIPS mode. These
    checks have been moved outside of checking for fips mode.
    This commit also disables USE_FIPSCHECK for fedora. It is still
    enabled for RHEL8 (and older releases) per default to allow compiling
    with FIPS support using older NSS versions that do not have IKE KDF
    support yet.

More information about the Swan-commit mailing list