OpenSSL

From Wikipedia, the free encyclopedia

OpenSSL
Developed by The OpenSSL Project
Latest release 0.9.8h / May 28, 2008 (2008-05-28); 13 days ago
Written in C
OS Multi-platform
Genre Security library
License Apache-like unique
Website http://www.openssl.org/

OpenSSL is an open source implementation of the SSL and TLS protocols. The core library (written in the C programming language) implements the basic cryptographic functions and provides various utility functions. Wrappers allowing the use of the OpenSSL library in a variety of computer languages are available.

Versions are available for most Unix-like operating systems (including Solaris, Linux, Mac OS X and the four open source BSD operating systems), OpenVMS and Microsoft Windows. IBM provides a port for the System i (iSeries/AS400). OpenSSL is based on SSLeay by Eric A. Young and Tim Hudson, development of which unofficially ended around December 1998, when Tim and Eric both moved to work for RSA Security.

Contents

[edit] Major version releases

[edit] Algorithms

OpenSSL supports a number of different cryptographic algorithms:

Ciphers
Blowfish, Camellia, DES, RC2, RC4, RC5, IDEA, AES
Cryptographic hash functions
MD5, MD2, SHA, MDC-2
Public-key cryptography
RSA, DSA, Diffie-Hellman key exchange

[edit] FIPS 140-2 compliance

OpenSSL was the first open source program to be validated under the FIPS 140-2 computer security standard by the National Institute of Standards and Technology's Cryptographic Module Validation Program. A certificate was first awarded in January 2006 but revoked in July 2006 "when questions were raised about the validated module’s interaction with outside software." The certification has since been reinstated.[1]

[edit] Licensing

OpenSSL is "dual licensed" under the OpenSSL License and the SSLeay license.[2] The common usage of the term dual-license is that the user may pick which license they wish to use, however OpenSSL documentation uses the term dual-license to mean that both licenses apply.

The OpenSSL license requires the phrase This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit. (http://www.openssl.org/) to appear in advertising material and any redistributions (Sections 3 and 6 of the OpenSSL License). Due to this restriction it is incompatible with the GPL.[3] On many Linux and BSD distributions OpenSSL forms part of the operating system so GPL restrictions do not apply.[4]

Some GPL developers have added an OpenSSL exception to their licences specifically allowing OpenSSL to be used with their system. GNU Wget and climm both use such exceptions.[5][6]

[edit] Misconceptions

Because of the prefix Open- on its name, OpenSSL is often associated with OpenBSD; which distributes several programs using the naming style of Open*, like OpenSSH. This is however a mistake as OpenSSL is developed completely outside of the scope of OpenBSD by The OpenSSL Project, under a different license than is commonly used by OpenBSD. Like with FreeBSD's OpenBSM, the project simply shares the goal of having an open source implementation of a valuable asset for the common good.

[edit] Debian security breach

The OpenSSL library was the subject of a security breach discovered in Debian/GNU Linux in late May of 2008, by Luciano Bello an argentinian Debian developer.[7] OpenSSL software bundled with Debian, Ubuntu and other Debian-based spinoffs generates bogus, easily-crackable security tokens. In September 2006, coders on the Debian team ran security sweeps on major source code. These sweeps flagged some of the code in OpenSSL, which had been deliberately written to do abnormal things for the purpose of improving entropy for the PRNG. Not knowing how to "fix" the error presented by the scanner, the Debian team commented out some critical source code, resulting in the PRNG seed being taken directly from the process ID and nothing more.[8] The result is 32,768 maximum possible encryption keys, all of which have been cracked and for which tools are available to test and exploit them. All users of Debian variants of Linux should ensure they update to the latest fixes of OpenSSL.

[edit] See also

[edit] References

[edit] External links