PGNet wrote:
 With the addition of fips object to the 'mix' of available build
 options, is openssl configure with

 ./Configure ... enable-rc5 enable-mdc2 fips (iiuc, CHANGES' stmt that
 'idea' *is* enabled by default still holds?)

 sufficient to enable _all_ available algorithms, with the option to
 disable per-algorithm still as <no-xxx>?

Here you are presumably using a "FIPS compatible" standard OpenSSL distribution, i.e. 0.9.8j. The "fips" option means "find and reference the FIPS object module that has already been built and installed". The other options continue to mean what they always have. Note that if FIPS mode is *not* enabled at runtime (FIPS_mode_Set() function not called) then this "FIPS compatible" OpenSSL should continue to behave as it always has, so it still make sense to reference algorithms that are incompatible with FIPS 140-2.

Our philosophy has been to allow generation and use of one set of OpenSSL dependent binaries for both normal use as before, and (when FPS mode is enabled) to satisfy FIPS 140-2 validation requirements. We do this by providing one relatively small specialized piece of code -- the FIPS Object Module -- that provides functionality specific to FIPS 140-2, and modifying the standard OpenSSL to enable or disable use of that module at runtime. When that module is not enabled OpenSSL behaves as always (even though the module is present it is dormant), when FIPS mode is enabled then OpenSSL disables non-allowed algorithms and references the module for the allowed ones.

Note this means that a FIPS compatible OpenSSL subsumes two separate implementations of each FIPS allowed algorithm -- the standard implementation in OpenSSL and the FIPS validated one within the FIPS object module. Which one is used depends on the FIPS mode of operation.

 Reading SecuritPolicy-1.2.pdf @ "4.5  Cryptographic Algorithms", I
 note,

 "The Module supports the following FIPS approved or allowed
 algorithms: ..."

 but am unclear as to which (any? all? none?) algos are enabled by
 default, per specification.  Is that specifically stated somewhere?

The OpenSSL FIPS Object Module *itself* doesn't have the concept of "enabling" algorithms -- it supports only and exactly the algorithms mentioned in the Security Policy and validation. But, as noted above the FIPS Object Module typically isn't used by itself, usually it is used in conjunction with a "FIPS compatible" OpenSSL distribution which does have the concept of enabling or disabling algorithms. When FIPS mode is enabled at runtime that FIPS compatible distribution will automatically disable the use of non-allowed algorithms.

-Steve M.

--
Steve Marquess
Open Source Software institute
marqu...@oss-institute.org

______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           majord...@openssl.org

Reply via email to