OpenSSL Receives FIPS 140-2 Validation
Argon writes "Close on heals of NewsForge reporting about Government Agency dragging its heels on OpenSSL validation comes the news that OpenSSL receives FIPS Certification. More details are available at the Open Source Institute site which has been driving the effort to get OpenSSL certified.
FIPS 140-2 certification allows software using the certified version of OpenSSL to get into various Government departments previously not possible, thus increasing penetration of Free Software in Government."
Congrats and thanks to the team - I can only imagine what a struggle this has been.
o licy_FINAL.pdf
p s-nist-update_oss-institute.org
From http://www.oss-institute.org/
Two points to remember please: a) the validation is still considered
"pending" until it is posted on the NIST site...in no more than 2
weeks from the announcement date -- NIST official protocol, and b)
the validation does not immediately solve all FIPS 140-2 compliance
issues.
The big thing available now is "OpenSSL Security Policy Version 1.0"
http://oss-institute.org/images/OpenSSL_SecurityP
This document is required as a part of the FIPS 140-2 validation
process. It describes the OpenSSL FIPS cryptographic module in
relation to FIPS 140-2 requirements. The companion document
OpenSSL FIPS 140-2 User Guide (Reference 14)is a technical
reference for developers using, and system administrators
installing, the OpenSSL FIPS software, for use in risk assessment
reviews by security auditors, and as a summary and overview for
program managers.
The "validated OpenSSL USER GUIDE" will be available within two weeks
of the announcement date.
No sign yet of OpenSSL 0.9.7j on the openssl site.
There is an email list available for updates:
http://mail.oss-institute.org/mailman/listinfo/fi
--Neal
Go IETF!
OpenSSL is one of those cool projects that would be so much cooler if it weren't for the stupid license that makes it a PITA to actually employ in a product.
OpenSSL essentially uses the BSD license w/attribution, which makes it difficult to use with GPLd projects, unless you use the version provided by your distro -- which isn't always desireable.
Conformity is the jailer of freedom and enemy of growth. -JFK
I mean... I do think it to be good that the market offers multiple solutions to certain issues, freedom of choice is a good thing. However I sometimes don't understand why sometimes people are very desperate to re-invent the wheel "just because". It usually starts with "its not free / open sourced" (as they say about Java), "its too complicated", and I guess there are numerous of other reasons. Don't get me wrong; I'm not claiming that those reasons are nonsense perse.
But what I do find frustrating is when the original software is very usable, has earned its spurs multiple times and as such deserves some credit. Instead people desperatly try to mimick it sometimes, even resulting in an environment which doesn't even come close to working as the original. Resulting in "yet another environment". On Linux for example you can basicly say that it has 2 TLS solutions: openssl and gnutls.
Personally I think this is silly, and basicly no different from what the big companies do. Many people whine about how many different standards there are and how this should be made easier and more free, only to end up doing exactly the same.
Kudo's to openssl! Very impressive and still my personal favorite when it comes to providing SSL based solutions.
OpenSSL has long been the choice crypto library for many commercial applications. When such products need to be sold into government they invariably face the issue of FIPS 140-2 certification. Does an OpenSSL FIPS 140-2 module signal the end of RSA Security. Other than their SecureID tokens RSA do not seem to have a lot more to offer.
YAY. Woohoo! Go OSS!
What is FIPS Validation?
"Give orange me give eat orange me eat orange give me eat orange give me you." -Nim Chimpsky
....that there is some way in which you can run OpenSSL in FIPS compliant mode then? Or is it a special FIPS distribution of OpenSSL?
Because under FIPS, the only allowable algorithms are 3DES-CBC for encryption and SHA1 for HMAC.
If you allow anything else to be used, it is not "FIPS compliant".
The article notes that OpenSSL has achieved level 1, "the lowest of four possible validation levels". It should be noted, however, that level 1 is also the only level achievable by a software implementation. Level 2 requires physical "tamper evidence", which isn't achievable without something physical on which the tampering would be evident. Just for completeness, level 3 and level 4 require different degrees of "tamper resistance".
Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
It is true that SHA-1 is required for hashing but AES in various incarnations is a permissible encryption algorithm.
HBI's Law: Frequency of calling others Nazis is directly correlated with the likelihood of the accuser being Communist.
As a side note, it never seemed as if Microsoft's failure to get CC validations promptly ever slowed down IIS or XP deployments, but it's been a major roadblock for any other systems to get through DITSCAP if there was any possible reason to deny the request.
FIPS accreditation removes the final roadblock for open source in the federal government. Now there is not a single valid policy or security requirement that can block deployments of open source systems.
Also of note is that since anyone can use OpenSSL, small development shops are no longer held hostage to Certicom's expensive licensing schemes if they want to deploy FIPS compliant solutions. It used to be financially daunting to sell software to the government that included crypto, and this created a nice, safe sandbox for the small set of approved vendors to charge outrageous prices for FIPS compliant solutions. Now they have to compete with open source, which will likely bring costs down considerably for anyone required to deploy only FIPS compliant solitions.
Another poster mentioned that this restricted the choice of encryption algorithms to 3DES. That is incorrect. FIPS 140-2 is an AES implementation, specifically because of concerns over 3DES' long-term viability. There are no approved 3DES implementations under FIPS 140-2.
It's "heels" not "heals", sheesh.
OpenSSL is one of those cool projects that would be so much cooler if it weren't for the stupid license that makes it a PITA to actually employ in a product. OpenSSL essentially uses the BSD license w/attribution, which makes it difficult to use with GPLd projects, unless you use the version provided by your distro -- which isn't always desireable.
Okay, maybe this is a question of semantics, but since when did a non-viral open source license qualify as "annoying"?
BSD License is strictly less demanding, and you CAN use any BSD library or project inside a GPL project without ANY problems with licenses. This is because BSD License doesn't prevent distribution of source code with a product, and GPL requires it. BSD License doesn't care about the software-is-free dogma thingy in the GPL, and if you want to apply it, so be it - it won't violate the BSDL. Think of it this way: GPL is kind of a superset of the BSDL - it adds things about which the BSDL just doesn't care.
If it were the other way around - using GPL code inside a BSD-licensed project would create major problems because either the BSD code would be automatically (virally) upgraded to the GPL or the GPL code would be stripped of some of its clauses (for example "you MUST distribute source code" semantics would be downgraded to "you MAY distribute source code if you wish so").
-- Sig down
The original BSD license included an "Advertising Clause". That advertising clause is incompatabile with the GPL (because it adds additional restrictions to your use and distribution of the software) and is a rather annoying and useless artifact.
The University of California removed the advertising clause in 1999. OpenSSL and its predessessor, SSLeay, require attribution on all marketing material.
Here is the original BSD license... clause 3 is the advertising clause:
* Copyright (c) 1982, 1986, 1990, 1991, 1993* The Regents of the University of California. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
Conformity is the jailer of freedom and enemy of growth. -JFK
It's about time we finally penetrated the government. They've been fucking us for years.
(n/t)
So if I compile it with all the ASM and patented algos for speed then I'm not FIPS compliant or did they change things? I thought the holdup was that OSSL was trying to get source code validated rather than just binaries but with all the f-n options it would take forever??? I guess I'll have to wait 2 weeks for the announcement. If the source was validated then WOOHOO! like everyone else. This is a major step for compatibility! and provides OSS with a superior advantage to commercial software. Otherwise this is another like what took them so long article. I think Crypto++ had FIPS for awhile now... see: Crypto++ Fips 140-2 level 1 Conformance
http://www.gnu.org/philosophy/bsd.html
Though it's inconvenient, I don't see how the clause makes it strictly incompatible with GPL. Anyone know why it says so in http://www.gnu.org/philosophy/license-list.html ?
-- Sig down
OpenSSL is one of the most widely used pieces of software out their. Why is it still at version 0.9.x? I don't understand why this well proven pieces of software STILL hasn't decided that it's good enough for a 1.0 release. Can somone explain the version number strangeness?
AccountKiller
The thing that should jump out at you is this passage from your first link:
"NetBSD comes with a long list of different sentences, required by the various licenses for parts of the system. In a 1997 version of NetBSD, I counted 75 of these sentences. I would not be surprised if the list has grown by now."
Say Apache required those 75 attribution sentences, and say someone at IBM working on the IBM HTTP server (based on Apache) erroneously mangled or deleted a few of those attributions. Now IBM can be sued for violating the license, because they sell products that are bundled with their Apache-derived webserver.
If you want recognition for your Open Source work, release it via the GPL or some other license -- that way your contributions are actually visible to other programmers when it gets embedded in other products. BSD w/attribution simply ensures that your name will appear in small print in the preface of a computer manual that nobody reads.
Conformity is the jailer of freedom and enemy of growth. -JFK
Besides, which is more restrictive, the "obnoxious BSD advertising clause" or the GPL "conspicuously" clause?
Intron: the portion of DNA which expresses nothing useful.
Newsforge is healing people? Hallelujah!
https://www.eff.org/https-everywhere
I'm still waiting for a quote from the GPL where it says it's incompatible with the advertising clause...
-- Sig down
It's BSD, so if you want to make it GPL just Fork It.
Free as in Free To Pursue Happiness - whatever that happens to be.
You are REQUIRING the user to post their copyright notice. By itself, that is a restriction. You are imposing a new rule that doesn't exist in the GPL, which the GPL specifically prohibits.
-- Sig down