OpenSSL
| OpenSSL
| |
|---|---|
| [[Datei:Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)|150px]] | |
| Basisdaten
| |
| Maintainer | Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value) |
| Entwickler | OpenSSL Development Team |
| Erscheinungsjahr | Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value) |
| Aktuelle Version | Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value) (Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)) |
| Aktuelle Vorabversion | Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value) (Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)) |
| Betriebssystem | Unix-ähnlich, Windows |
| Programmiersprache | C |
| Kategorie | Kryptographie |
| Lizenz | 3.0 und später: Apache-2.0-Lizenz 1.1.1 und früher: OpenSSL<ref>OpenSSL.org: License. Abgerufen am 1. Mai 2023.</ref> |
| deutschsprachig | ja |
| www.openssl.org | |
OpenSSL, ursprünglich SSLeay, ist eine freie Software für Transport Layer Security, ursprünglich Secure Sockets Layer (SSL).
OpenSSL umfasst Implementierungen der Netzwerkprotokolle und verschiedener Verschlüsselungen sowie das Programm openssl für die Kommandozeile zum Beantragen, Erzeugen und Verwalten von Zertifikaten. Die in C geschriebene Basisbibliothek stellt allgemeine kryptographische Funktionen zum Ver- und Entschlüsseln sowie diverse weitere Werkzeuge bereit.
Geschichte
SSLeay ermöglichte Mitte der 1990er Jahre, SSL auch außerhalb der USA mit starker Verschlüsselung einzusetzen, weil diese Implementierung in Australien entstand und somit keinen Exportbeschränkungen unterlag.<ref name="ix">Holger Reif: Secure Socket Layer: Encode and certify with SSLeay. In: Verlag Heinz Heise. 1996, abgerufen am 10. Dezember 2020.</ref> Den Namen der Software bildeten die Initialen des Netzwerkprotokolls und des Programmierers. Eric A. Young hatte zuvor an Implementierungen von Kerberos und DES gearbeitet.<ref>Vorlage:Cite book/Name: [Internetquelle: archiv-url ungültig Eric Young.] EMC Corporation, , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 5. Dezember 2011 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref> Zu diesem neuen Projekt regte ihn 1995 sein Freund Tim J. Hudson an.<ref>Vorlage:Cite book/Name: [Internetquelle: archiv-url ungültig SSLeay 0.6.6.docs.] University of Michigan, , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 5. Dezember 2011 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref> Hudson trug auch maßgeblich zum Projekt bei, indem er zugehörige Patches für andere freie Software und für Windows programmierte.<ref name="ix" /><ref name="license">License. OpenSSL Software Foundation, abgerufen am 10. Dezember 2020 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref>
Die Version SSLeay 0.9.1b vom Sommer 1998 wurde nicht mehr veröffentlicht, sondern von einem neuen Team bis Dezember 1998 weiterentwickelt und als OpenSSL 0.9.1c veröffentlicht.<ref name="openssl-changelog">Changelog. OpenSSL, 2. Dezember 2010, abgerufen am 10. August 2011.</ref> Ralf S. Engelschall, Mitbegründer dieser Gruppe, beschreibt die Entwicklung von OpenSSL als Voraussetzung für die Schaffung von mod_ssl, dem meistgenutzten Verschlüsselungsmodul für Apache-Webserver. Im Gegensatz zu diesem praktisch fertigen Modul, das nur noch gewartet zu werden brauche, sei die Entwicklung bei OpenSSL noch nicht abgeschlossen. Stattdessen würden engagierte, freie Programmierer weiterhin Applikationen entwerfen und dabei auf den bereits etablierten Basisfunktionen von OpenSSL aufbauen.<ref>Im Interview: Ralf S. Engelschall – der deutsche Open-Source-Guru. In: netzwelt.de. 9. August 2010, abgerufen am 11. Januar 2011.</ref>
Abspaltungen
2014 kam es in der Folge des Heartbleed-Bugs zu mehreren Abspaltungen. Aufgrund der Komplexität des über viele Jahre gewachsenen Projektes und damit einher gehender Schwierigkeiten bei der Auditierung auf Sicherheitslücken entschlossen sich die Entwickler des Betriebssystems OpenBSD um Theo de Raadt zur Veröffentlichung einer OpenSSL-Version mit halbiertem Code-Umfang unter dem Namen LibreSSL.<ref>Theo de Raadt: OpenSSL ist nicht reparierbar. golem.de, 24. April 2014, abgerufen am 24. April 2014.</ref>
Auch Google benutzt und veröffentlicht seitdem einen eigenen Fork von OpenSSL unter dem Namen BoringSSL.<ref name="heise-236224">Peter Siering: Google entwickelt eigene SSL-Bibliothek. In: heise.de. 21. Juni 2014, abgerufen am 10. Dezember 2020.</ref> Dieser kommt u. a. in Chrome und Android zum Einsatz.<ref name="github-google">Google: BoringSSL. In: github.com. Abgerufen am 10. Dezember 2020 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref>
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: {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value)), 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 erhofften.<ref name="gcn-070216">Jana Cranmer: NIST recertifies open source encryption module. In: gcn.com. 16. Februar 2007, abgerufen am 10. Dezember 2020 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref>
Bemerkenswerte Sicherheitslücken
Schwache Schlüssel unter Debian
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.<ref name="debian-081571">Debian-Sicherheitsankündigung: DSA-1571-1 openssl -- Voraussagbarer Zufallszahlengenerator. In: debian.org. 13. Mai 2008, abgerufen am 10. Dezember 2020.</ref>
Die Sicherheitslücke entstand beim Versuch, eine Warnmeldung des Codeanalysewerkzeugs Valgrind zu beseitigen. Dabei sollte eine wenig relevante Codezeile, welche die Warnung verursachte, entfernt werden, allerdings wurde auch ein zweites Vorkommen dieser Zeile entfernt, welches 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 durch Man-in-the-Middle-Angriffe verwundbar. Verbindungen zu Servern, die jemals ein Zertifikat mit einem schwachen Schlüssel aufwiesen, sind so lange 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,<ref name="fefe-697">Fefes Blog. In: blog.fefe.de. 23. Mai 2008, abgerufen am 10. Dezember 2020.</ref> welcher unter anderem für die Bereitstellung der ELSTER-Software der deutschen Finanzämter sowie von Treiber-Updates von AMD<ref>Downloadlink auf http://game.amd.com/us-en/drivers_catalyst.aspx?p=xp64/theater550-xp64</ref> verantwortlich ist.
Heartbleed-Bug
Durch den Heartbleed-Bug können in betroffenen OpenSSL-Versionen über TLS- und DTLS-Verbindungen Teile des Arbeitsspeichers der Gegenseite ausgelesen werden. Dadurch können Daten von betroffenen Systemen unberechtigt kopiert werden, wie etwa private Schlüssel von X.509-Zertifikaten, Benutzernamen und Passwörter. Betroffen ist die Heartbeat-Implementierung in den OpenSSL-Versionen 1.0.1 vom 14. März 2012 bis einschließlich 1.0.1f, sowie mehrere Beta-Versionen von 1.0.1 und 1.0.2. Die Sicherheitslücke wurde mit Version 1.0.1g am 7. April 2014 behoben.
Lizenz
OpenSSL steht unter der Lizenz von SSLeay und seiner eigenen Lizenz, die zusammengefasst gelten.<ref>Vorlage:Cite book/Name: [Internetquelle: archiv-url ungültig Various Licenses and Comments about Them.] Free Software Foundation, , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 28. November 2011 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref> Beide sind der ursprünglichen BSD-Lizenz ähnlich.<ref name="license" /> Die wesentliche Einschränkung ist demzufolge, dass Werbung für Fremdprodukte, die OpenSSL enthalten, OpenSSL und die beiden Urheber von SSLeay erwähnen muss.
Ab Version 3.0.0 steht OpenSSL unter der Apache-2.0-Lizenz, um die Verwendung in anderen Open-Source-Projekten zu vereinfachen.<ref>Tilman Wittenhorst: OpenSSL wechselt die Lizenz und verärgert Beteiligte. In: heise online. Heise Medien, 25. März 2017, abgerufen am 6. Januar 2020.</ref><ref>OpenSSL Re-licensing to Apache License v. 2.0 To Encourage Broader Use with Other FOSS Projects and Products. In: Core Infrastructure Initiative. Linux Foundation, 23. März 2017, abgerufen am 6. Januar 2020 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref><ref>Richard Levitte: Change license to the Apache License v2.0 · openssl/openssl@1513331. 6. Dezember 2018, abgerufen am 6. Januar 2020 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref>
Versionsgeschichte
Derzeit gibt es zwei Entwicklungszweige, die aktiv weiterentwickelt werden: OpenSSL 1.x.x und OpenSSL 3.x.x. Die Versionsnummer 2.x.x wurde vom OpenSSL Management Committee übersprungen, weil es ein OpenSSL FIPS-Modul gab, was bereits die Versionsnummer 2.0.0 belegt hatte.<ref>The Holy Hand Grenade of Antioch. In: openssl.org. 28. November 2018, abgerufen am 15. Februar 2023 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref>
Die folgende Tabelle stellt eine Übersicht der Hauptversionen von OpenSSL dar.
| Zweig | Erscheinungsdatum (Zweig) | Letzte Version | Supportende | Anmerkungen und Änderungen |
|---|---|---|---|---|
| 0.9.1 – 1.0.0 | 23. Dezember 1998 (0.9.1) | 1.0.0t (3. Dezember 2015) | 31. Dezember 2015 (0.9.8 und 1.0.0) | |
| 1.0.1 | 14. März 2012 | 1.0.1u (22. September 2016) | 31. Dezember 2016 | |
| 1.0.2 | 22. Januar 2015 | 1.0.2u (20. Dezember 2019)<ref>OpenSSL version 1.0.2u published. In: OpenSSL. 20. Dezember 2019, abgerufen am 20. April 2026 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref> | 31. Dezember 2019 | |
| 1.0.2 [ES] | 22. Januar 2015 | 1.0.2zp (7. April 2026)<ref name="ReleaseAnnouncement20260407">OpenSSL Release Announcement for 3.6.2, 3.5.6, 3.4.5, 3.3.7, 3.0.20, 1.1.1zg and 1.0.2zp. In: OpenSSL Library. 7. April 2026, abgerufen am 20. April 2026 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref> | Kein Ende des erweiterten Supportzeitraums festgelegt<ref name="Release-Strategy">Release Strategy. In: OpenSSL Library. 17. Dezember 2025, abgerufen am 20. April 2026 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref> | Aktualisierungen nur für Kunden mit premium support verfügbar |
| 1.1.0 | 25. August 2016<ref>OpenSSL 1.1.0 Series Release Notes. In: OpenSSL. 25. August 2016, archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am 17. März 2018; abgerufen am 25. August 2016 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref> | 1.1.0l (10. September 2019) | 11. September 2019 | |
| 1.1.1 [LTS] | 11. September 2018 | 1.1.1w (11. September 2023)<ref>OpenSSL version 1.1.1w published. In: openssl.org. 11. September 2023, abgerufen am 11. September 2023 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref> | 11. September 2023 | |
| 1.1.1 [ES] | 11. September 2018 | 1.1.1zg (7. April 2026)<ref name="ReleaseAnnouncement20260407" /> | Kein Ende des erweiterten Supportzeitraums festgelegt<ref name="Release-Strategy" /> | Aktualisierungen nur für Kunden mit premium support verfügbar |
| 3.0 [LTS] | 7. September 2021<ref>OpenSSL 3.0 Has Been Released! In: openssl.org. 7. September 2021, abgerufen am 9. September 2021 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref> | 3.0.20 (7. April 2026)<ref name="ReleaseAnnouncement20260407" /><ref name="Downloads">Downloads. In: OpenSSL Library. Abgerufen am 20. April 2026 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref> | 7. September 2026<ref name="Downloads" /><ref name="Release-Strategy" /> | |
| 3.1 | 14. März 2023 | 3.1.8 (11. Februar 2025) | 14. März 2025 | |
| 3.2 | 23. November 2023 | 3.2.6 (30. September 2025) | 23. November 2025<ref name="Release-Strategy" /> | |
| 3.3 | 9. April 2024<ref>OpenSSL 3.3 Final Release Live. In: OpenSSL Library. 10. April 2024, abgerufen am 20. April 2026 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref> | 3.3.7 (7. April 2026)<ref name="ReleaseAnnouncement20260407" /> | 9. April 2026<ref name="Release-Strategy" /> | |
| 3.4 | 22. Oktober 2024<ref>OpenSSL 3.4 Final Release Live. In: OpenSSL Library. 22. Oktober 2024, abgerufen am 20. April 2026 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref> | 3.4.5 (7. April 2026)<ref name="ReleaseAnnouncement20260407" /><ref name="Downloads" /> | 22. Oktober 2026<ref name="Downloads" /><ref name="Release-Strategy" /> | |
| 3.5 [LTS] | 8. April 2025<ref>OpenSSL 3.5 Final Release - Live. In: OpenSSL Library. 8. April 2025, abgerufen am 20. April 2026 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref> | 3.5.6 (7. April 2026)<ref name="ReleaseAnnouncement20260407" /><ref name="Downloads" /> | 8. April 2030<ref name="Downloads" /><ref name="Release-Strategy" /> | |
| 3.6 | 1. Oktober 2025<ref>Release Announcement for OpenSSL 3.6.0. In: OpenSSL Library. 1. Oktober 2025, abgerufen am 20. April 2026 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref> | 3.6.2 (7. April 2026)<ref name="ReleaseAnnouncement20260407" /><ref name="Downloads" /> | 1. November 2026<ref name="Downloads" /><ref name="Release-Strategy" /> | |
| 4.0 | 14. April 2026<ref>OpenSSL 4.0 Final Release - Live. In: OpenSSL Library. 14. April 2025, abgerufen am 20. April 2026 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref> | 4.0.0 (14. April 2026)<ref name="Downloads" /> | 14. Mai 2027<ref name="Downloads" /><ref name="Release-Strategy" /> | hybrider Schlüsselaustausch (curveSM2MLKEM768), Post-Quantum-Kryptografie, Encrypted Client Hello (ECH gemäß RFC 9849) verschlüsselt nun Teile des TLS-Handshake – auch die Server Name Indication. Bislang erkennen Netzbetreiber daran, welche Domain man ansteuert. SSLv2 und SSLv3 entfallen.<ref>https://heise.de/-11259152 Moritz Förster: OpenSSL 4.0 verschlüsselt, was TLS bisher verraten hat</ref> |
| 4.1 | Oktober 2026<ref>OpenSSL 4.0 Final Release - Live. In: OpenSSL Library. 14. April 2025, abgerufen am 20. April 2026 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref> | November 2027<ref name="Release-Strategy" /> | ||
Legende: Ältere Version; nicht mehr unterstützt Ältere Version; noch unterstützt Aktuelle Version Aktuelle Vorabversion Zukünftige Version | ||||
Siehe auch
Weblinks
- Offizielle Website
- OpenSSL-Installer (Windows)
- OpenSSL für OpenVMS auf IA-64, VAX und Alpha-Prozessor
- Ein Linux-OpenSSL-Tutorial
- Anleitung zum Erstellen eigener X.509-Zertifikate mittels OpenSSL
- Graphische Benutzeroberfläche für OpenSSL im Browser
Einzelnachweise
<references responsive/>