On Fri, 22 Jan 2016, jonetsu wrote:

Paul Wouters wrote:

How is a library in FIPS mode when it hasn't yet initialised because
the application has not kicked of yet? Do you actually initialise
them using a test program?

Yes.  This is the case for OpenSSL and GnuTLS.  For NSS, as we have seen,
the FIPS initialisation is done externally, by using modutils. And as we
have recently seen, libreswan assumes NSS is in FIPS mode :)

Yes. Of course, if the system is running in FIPS mode, meaning libreswan
is running in FIPS mode, means unless there is a bug in NSS, it is also
in FIPS mode. So while I just added a check, it should be completely
redundant.

- Are we a FIPS product (does /etc/system-fips exist?)

- Is the kernel in FIPS mode (does /proc/sys/crypto/fips_enabled
  contain the value 1)

These are also part of the verification, as well as integrity of the
binaries on the system, for instance.

Those are done within the libraries and applications. Libreswan has its
own file list check, but does not check the NSS files. That's the job
of NSS itself on its initialisation phase.

I personally wished NSS would lock out non-FIPS algorithms, so the
applications don't need any of that logic. Now I have to read the
FIPS documents too :P

It seems so far that FIPS mode for NSS consists of enabling the self-tests.
No restrictions on algorithms, etc, are applied.

It also refuses some export operations, which actually affected
libreswan's RFC test vector self-test on bootup :)

Hmmm... Do you mean that the current libreswan does not fully support FIPS ?
:)

It has passed FIPS certification in a very recent past, and is in the
process of another couple of certifications right now. I think we're
good :)

Paul
--
dev-tech-crypto mailing list
dev-tech-crypto@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-tech-crypto

Reply via email to