Re https://bugzilla.mozilla.org/show_bug.cgi?id=419030

I appreciate that you have tried... but I must also appreciate that
you have failed.  I have a major concern, and I think that if you
verified this with the CSRC or your FIPS validation lab, they would
second it.

The FIPS validation is not applied to the source code, but rather to
the binary produced from the source code which is submitted.  If you
recompile the code, the version that you get from the code is not
validated -- only the actual binary PKCS#11 module which was submitted
to the validated laboratory is validated.  If you expect that CVS
saves you from that, I must point out that it is entirely possible for
a CVS repository to be edited by hand without being detectable by the
command-line tool.

OpenSSL has the only FIPS-validated source-procurable implementation
in existence.  The amount of work that went into it is amazing, and it
is only made possible by having a verifiably trusted path from an
SHA-1 hashed tarball that contains source files and a file which
contains keyed HMACs of all of the source files which are verified by
the make process, then HMACs of all of the generated object files are
generated and put into a single .o file, which is then HMAC-signed
overall.  On module load and the call to FIPS_mode_set(1), the
entirety of the chained-validated binary code in the process space is
key-HMACed, and the HMAC compared with what's stored in the module
itself.  If it fails, it detects that it is not validated, and goes
into the error-detected state, which prevents any cryptographic
operation from occurring with it.

I don't see anything -- anywhere -- suggesting that Mozilla's FIPS
validation effort for its PKCS#11 module has had anything near this
level of trust-chain validation associated with it.  Thus, if you're
recompiling from source, no matter what you may think the result isn't
validated.  (Since PKCS#11 is supposed to be a standard, providing
validated binaries in the CVS tree for checkout shouldn't preclude any
updates to the remainder of NSS -- and, as a matter of fact, should
actually help the process of including an updated NSS into Firefox.)

I need not tell you just how grave this matter is for anyone who
relies on Firefox 2.x being FIPS-validated.  It could quite easily
prevent people who interact with US Federal processing systems being
prevented from using Firefox ever again -- due to Firefox fraudulently
claiming FIPS validation.

Please fix this.  Dig out a copy of the binary module(s) which was
actually validated, and link it verbatim (import it into CVS in binary
mode) into the next version of Firefox.  Among other things, this
would prevent you from having to jump through all the hoops listed in
#419030 to work around the problem.  (This also means that only those
platforms that you submitted binaries for can be FIPS 140-2 validated,
and all the rest are not.)

-Kyle H

On Sat, Aug 23, 2008 at 10:26 PM, Wan-Teh Chang <[EMAIL PROTECTED]> wrote:
> Firefox 2.0.0.x, x >=1, use the FIPS validated NSS
> software cryptographic module.
>
> We really went out of our way to keep Firefox 2.0.0.x
> using a FIPS-valided NSS software cryptographic
> module.  See https://bugzilla.mozilla.org/show_bug.cgi?id=419030
> I hope someone appreciates that.
>
> Wan-Teh
> _______________________________________________
> dev-tech-crypto mailing list
> dev-tech-crypto@lists.mozilla.org
> https://lists.mozilla.org/listinfo/dev-tech-crypto
>
_______________________________________________
dev-tech-crypto mailing list
dev-tech-crypto@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-tech-crypto

Reply via email to