- OpenSSL
-
OpenSSL Entwickler OpenSSL Core and Development Team Aktuelle Version 1.0.0e
(6. September 2011)Betriebssystem Linux, Unix, Mac OS X, Windows Kategorie Kryptografie Lizenz ähnlich der ASL Deutschsprachig nein www.openssl.org OpenSSL ist eine freie Implementierung des SSL/TLS-Protokolls und bietet darüber hinaus weitergehende Funktionen zur Zertifikatsverwaltung und zu unterschiedlichen kryptographischen Funktionen. Es basiert auf dem SSLeay-Paket und wird zurzeit von einer unabhängigen Gruppe weiterentwickelt.
OpenSSL umfasst verschiedene Applikationen, beispielsweise zur Erzeugung von Zertifikaten, von Zertifizierungsanträgen und zur Verschlüsselung. Die verschiedenen Applikationen sind zusammengefasst im Kommandozeilen-Programm openssl.
Inhaltsverzeichnis
Geschichte
Das unveröffentlichte SSLeay-0.9.1b, welches von Eric A. Young und Tim J. Hudson bei C2Net entwickelt wurde, ist am 23. Dezember 1998 als OpenSSL 0.9.1c veröffentlicht worden. [1] Die Gruppe um das OpenSSL-Projekt entstand im Jahr 1998. Ralf S. Engelschall Mitbegründer der Gruppe beschreibt die Entwicklung von OpenSSL als Voraussetzung für die Schaffung von mod_ssl, das genutzte Verschlüsselungsprotokoll für Apache-Webserver. Im Gegensatz zur praktisch finalen mod_ssl, die nur noch der Wartung bedürfe, sei die Entwicklung bei OpenSSL jedoch noch nicht abgeschlossen. Stattdessen würden engagierte, freie Programmierer weiterhin Applikationen entwerfen und dabei auf den bereits etablierten Basisfunktionen von OpenSSL aufbauen.[2]
FIPS-140-2-Zertifizierung
OpenSSL ist das erste nach FIPS 140-2 zertifizierte Open-Source-Programm. Hierbei handelt es sich um einen Sicherheitsstandard, den das National Institute of Standards and Technology (NIST) für das Cryptographic Module Validation Program festgelegt hat.
Die Freigabe wurde im Januar 2006 erteilt. Im Juni wurde sie vorläufig wieder zurückgezogen, jedoch am 16. Februar 2007 wieder erteilt. Nach Aussage von John Weathersby vom Open Source Software Institute (OSSI) war das Problem „politischer Natur“ (im original: a political challenge), da eine vergleichbare Zertifizierung kommerzielle Anbieter erhebliches Geld kostet. Bezahlt wurde der Prozess vom amerikanischen Verteidigungsministerium und interessierten Firmen, die sich von einer freien Lösung finanzielle Einsparungen sowie Standardisierung erhoffen.[3]
Sicherheitslücke in Debian-Paketen
Am 13. Mai 2008 gab das Debian-Projekt bekannt, dass das OpenSSL-Paket der Distributionen seit 17. September 2006 (Version 0.9.8c-1 bis 0.9.8g-9) eine Sicherheitslücke enthielt. Durch einen Fehler in einem Debian-spezifischen Patch sind die mit dem in diesen Paketen enthaltenen Zufallszahlengenerator erzeugten Schlüssel vorhersagbar. Davon betroffen seien SSH-, OpenVPN-, DNSSEC-Schlüssel, Schlüssel in X.509-Zertifikaten sowie Sitzungsschlüssel, die in SSL/TLS-Verbindungen (HTTPS) genutzt werden. Schlüssel die mit GnuPG oder GnuTLS erzeugt wurden seien nicht betroffen.[4]
Die Sicherheitslücke entstand beim Versuch, eine Warnmeldung einer Codeprüfungs-Software zu beseitigen. Dabei sollte eine wenig relevante Codezeile, welche die Warnung verursachte, entfernt werden, allerdings wurde auch ein zweites Vorkommen dieser Zeile entfernt, welche in einem anderen Kontext stand und eine völlig andere Bedeutung hatte.
Die entsprechenden Schlüsselpaare sind leicht angreifbar, da es möglich ist, sämtliche in Frage kommenden privaten Schlüssel innerhalb weniger Tage zu berechnen. Für die betroffenen SSH-Schlüssel existiert ein frei herunterladbares Paket im Internet. Durch diesen Fehler waren und sind SSL-Verbindungen zu vielen Servern gegenüber Man-in-the-middle-Angriffen verwundbar. Verbindungen zu Servern, die jemals ein Zertifikat mit einem schwachen Schlüssel aufwiesen, sind solange angreifbar, bis die Zertifikate ablaufen oder wirksam widerrufen werden. Dabei ist zu beachten, dass viele Browser nicht auf widerrufene Zertifikate prüfen. Besonders prominent in diesem Zusammenhang war ein verwundbarer Server des Dienstleisters Akamai[5], welcher unter anderem für die Bereitstellung der ELSTER-Software der deutschen Finanzämter[6] sowie von Treiber-Updates von ATI[7] verantwortlich ist.
Lizenz
OpenSSL ist doppellizenziert unter der OpenSSL License und der SSLeay License[8]. Die OpenSSL-Lizenz entspricht der Apache-Lizenz 1.0 und die SSLeay-Lizenz ist gleichwertig zur 4-clause-BSD-license. Der allgemeine Nutzen der Doppellizenzierung ist, dass der Nutzer wählen darf, welche Lizenz der beiden er nutzen möchte. Die OpenSSL-Dokumentation nutzt den Ausdruck Doppellizenzierung, um auszudrücken, dass beide Lizenzen auf OpenSSL angewendet werden (können).
Da die OpenSSL-Lizenz der Apache-Lizenz 1.0 entspricht, jedoch nicht der Version 2.0, benötigt sie den Satz "This product includes software developed by the OpenSSL project for use in the OpenSSL Toolkit (http://www.openssl.org)" ("Dieses Produkt enthält Software, die durch das OpenSSL-Projekt für das OpenSSL-Toolkit entwickelt wurde. (http://www.openssl.org)"), sodass die Tatsache, dass ein Produkt von OpenSSL abgeleitet ist, in Werbungen und allen Ableitungen und Redistributionen erscheinen muss (Abschnitte 3 und 6). Bedingt durch diese Einschränkung, "Werbeklausel" genannt, sind die OpenSSL-Lizenz und die Apache-Lizenz 1.0 inkompatibel zur wichtigen GPL.[9] Einige GPL-Entwickler fügten eine OpenSSL-Ausnahme zu ihren Lizenzen hinzu, die es speziell erlauben, OpenSSL in deren System zu nutzen. GNU Wget und climm nutzen beide solche Ausnahmen[10][11]. Andere Pakete nutzen die unter der LGPL stehende Implementierung GnuTLS, die dieselbe Aufgabe wie OpenSSL erfüllt.
Versionsgeschichte
Diese Übersicht beinhaltet Auszüge aus dem "ChangeLog" sowie dem "Project State"[1]
0.9.1 – Versionen
Legende:
Ältere Version; nicht mehr unterstützt
Ältere Version; noch unterstützt
Aktuelle Version
Aktuelle Vorabversion
Zukünftige VersionOpenSSL-Version Erscheinungsdatum Anmerkung Referenz 0.9.1b – [not released] 0.9.1c 23. Dezember 1998 0.9.2 – Versionen
Legende:
Ältere Version; nicht mehr unterstützt
Ältere Version; noch unterstützt
Aktuelle Version
Aktuelle Vorabversion
Zukünftige VersionOpenSSL-Version Erscheinungsdatum Anmerkung Referenz 0.9.2c 22. März 1999 Nachfolger von 0.9.1c 0.9.3 – Versionen
Legende:
Ältere Version; nicht mehr unterstützt
Ältere Version; noch unterstützt
Aktuelle Version
Aktuelle Vorabversion
Zukünftige VersionOpenSSL-Version Erscheinungsdatum Anmerkung Referenz 0.9.3 23. Mai 1999 Nachfolger von 0.9.2b 0.9.3a 29. Mai 1999 0.9.4 – Versionen
Legende:
Ältere Version; nicht mehr unterstützt
Ältere Version; noch unterstützt
Aktuelle Version
Aktuelle Vorabversion
Zukünftige VersionOpenSSL-Version Erscheinungsdatum Anmerkung Referenz 0.9.4 9. August 1999 Nachfolger von 0.9.3a 0.9.5 – Versionen
Legende:
Ältere Version; nicht mehr unterstützt
Ältere Version; noch unterstützt
Aktuelle Version
Aktuelle Vorabversion
Zukünftige VersionOpenSSL-Version Erscheinungsdatum Anmerkung Referenz 0.9.5 28. Februar 2000 Nachfolger von 0.9.4 0.9.5a 1. April 2000 0.9.6 – Versionen
Legende:
Ältere Version; nicht mehr unterstützt
Ältere Version; noch unterstützt
Aktuelle Version
Aktuelle Vorabversion
Zukünftige VersionOpenSSL-Version Erscheinungsdatum Anmerkung Referenz 0.9.6 24. September 2000 Nachfolger von 0.9.5a 0.9.6m 17. März 2007 0.9.7 – Versionen
Legende:
Ältere Version; nicht mehr unterstützt
Ältere Version; noch unterstützt
Aktuelle Version
Aktuelle Vorabversion
Zukünftige VersionOpenSSL-Version Erscheinungsdatum Anmerkung Referenz 0.9.7 31. Dezember 2002 Nachfolger von 0.9.6h 0.9.7a 19. Februar 2003 0.9.7b 10. April 2003 0.9.7c 30. September 2003 0.9.7d 17. März 2004 0.9.7e 25. Oktober 2004 0.9.7f 22. März 2005 0.9.7g 11. April 2005 0.9.7h 11. Oktober 2005 0.9.7i 14. Oktober 2005 0.9.7j 4. Mai 2006 0.9.7k 5. September 2006 0.9.7l 28. September 2006 0.9.7m 23. Februar 2007 0.9.8 – Versionen
Legende:
Ältere Version; nicht mehr unterstützt
Ältere Version; noch unterstützt
Aktuelle Version
Aktuelle Vorabversion
Zukünftige VersionOpenSSL-Version Erscheinungsdatum Anmerkung Referenz 0.9.8 5. Juli 2005 Nachfolger von 0.9.7h 0.9.8a 11. Oktober 2005 0.9.8b 4. Mai 2006 0.9.8c 5. September 2006 0.9.8d 28. September 2006 0.9.8e 23. Februar 2007 0.9.8f 11. Oktober 2007 0.9.8g 19. Oktober 2007 0.9.8h 28. Mai 2008 0.9.8i 15. September 2008 0.9.8j 7. Jänner 2009 0.9.8k 25. März 2009 0.9.8l 5. November 2009 0.9.8m 25. Februar 2010 0.9.8n 24. März 2010 0.9.8o 1. Juni 2010 0.9.8p 16. November 2010 0.9.8q 2. Dezember 2010 0.9.8r 8. Februar 2011 1.x – Versionen
Legende:
Ältere Version; nicht mehr unterstützt
Ältere Version; noch unterstützt
Aktuelle Version
Aktuelle Vorabversion
Zukünftige VersionOpenSSL-Version Erscheinungsdatum Anmerkung Referenz 1.0.0 29. März 2010 1.0.0d 8. Februar 2011 1.0.0e 6. September 2011 Add protection against ECDSA timing attacks as mentioned in the paper by Billy Bob Brumley and Nicola Tuveri, see: http://eprint.iacr.org/2011/232.pdf 1.0.1 geplanter Nachfolger von 1.0.0e - Initial TLS v1.2 support
- Add SRP support
Weblinks
- Offizielle Homepage
- OpenSSL-Installer (Windows)
- Ein Linux-OpenSSL-Tutorial
- Apache mit mod_ssl und OpenSSL
- Anleitung zum Erstellen eigener X.509-Zertifikate mittels OpenSSL
Einzelnachweise
- ↑ a b ChangeLog. OpenSSL, 2010-12-02 20:00:46, abgerufen am 10. August 2011.
- ↑ Im Interview: Ralf S. Engelschall – der deutsche Open-Source-Guru. Netzwelt.de, 9. August 2010, abgerufen am 11. Januar 2011.
- ↑ http://www.gcn.com/online/vol1_no1/43142-1.html
- ↑ http://www.debian.org/security/2008/dsa-1571
- ↑ http://blog.fefe.de/?ts=b6c9ec7e
- ↑ Downloadlink auf https://www.elster.de/elfo_down4.php
- ↑ Downloadlink auf http://game.amd.com/us-en/drivers_catalyst.aspx?p=xp64/theater550-xp64
- ↑ OpenSSL: Source, License. openssl.org. Abgerufen am 9. März 2011.
- ↑ Licenses - Free Software Foundation. fsf.org. Abgerufen am 9. März 2011.
- ↑ WGET 1.10.2 for Windows (win32). users.ugent.be. Abgerufen am 9. März 2011.
- ↑ Releases of source and binaries. climm.org. Abgerufen am 30. November 2010.
Kategorien:- Netzwerkprotokoll
- Freie Kryptosoftware
Wikimedia Foundation.