Zum Inhalt springen

„OpenSSL“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
[gesichtete Version][gesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
Neue Version 1.1.1i seit 8. Dezember 2020.
Linkvorschlag-Funktion: 1 Link hinzugefügt.
 
(30 dazwischenliegende Versionen von 15 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{Infobox Software
{{Infobox Software
| Name =
|Name =
| Logo =
|Logo =
| Screenshot =
|Screenshot =
| Beschreibung =
|Beschreibung =
| Maintainer =
|Maintainer =
| Hersteller = OpenSSL Development Team
|Hersteller = OpenSSL Development Team
| Erscheinungsjahr =
|Erscheinungsjahr =
| AktuelleVersion = <!-- Versionen bitte absatzweise eintragen -->
|AktuelleVersion = <!-- https://www.wikidata.org/wiki/Q1052790#P348 -->
|AktuelleVorabVersion =
1.1.1i <small>(8. Dezember 2020)</small>
|AktuelleVorabVersionFreigabeDatum =
| AktuelleVersionFreigabeDatum =
|Betriebssystem = [[Unixoides System|Unix-ähnlich]], [[Microsoft Windows|Windows]]
| AktuelleVorabVersion =
|Programmiersprache = [[C (Programmiersprache)|C]]
| AktuelleVorabVersionFreigabeDatum =
|Kategorie = [[Kryptographie]]
| Betriebssystem = [[Unixoides System|Unix-ähnlich]], [[Microsoft Windows|Windows]]
|Lizenz = 3.0 und später: [[Apache-Lizenz|Apache-2.0-Lizenz]]<br>1.1.1 und früher: OpenSSL<ref>{{Internetquelle |autor=OpenSSL.org |url=https://www.openssl.org/source/license.html |titel=License|abruf=2023-05-01}}</ref>
| Programmiersprache = [[C (Programmiersprache)|C]]
| Kategorie = [[Kryptographie]]
|Deutsch = nein
| Lizenz = ähnlich [[BSD-Lizenz|BSD]] (mit Werbeklausel)
|Website = [https://www.openssl.org/ www.openssl.org]
| Deutsch = nein
|Dateien =
| Website = [https://www.openssl.org/ www.openssl.org]
| Dateien =
}}
}}


Zeile 26: Zeile 24:


== Geschichte ==
== 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änkung]]en unterlag.<ref name="ix">{{cite web |url=https://www.heise.de/ix/artikel/Ready-encrypted-505218.html |title=Secure Socket Layer: Encode and certify with SSLeay |publisher=[[Verlag Heinz Heise]] |date=1996 |accessdate=2011-12-05}}</ref> Den Namen der Software bildeten die [[Initiale]]n des [[Netzwerkprotokoll]]s und des [[Programmierer]]s. Eric A. Young hatte zuvor an Implementierungen von [[Kerberos (Protokoll)|Kerberos]] und [[Data Encryption Standard|DES]] gearbeitet.<ref>{{cite web |url=http://blogs.rsa.com/author/young |title=Eric Young |publisher=[[EMC Corporation]] |accessdate=2011-12-05 |archiveurl=https://web.archive.org/web/20111111033427/http://blogs.rsa.com/author/young |archivedate=2011-11-11}}</ref> Zu diesem neuen Projekt regte ihn 1995 sein Freund Tim J. Hudson an.<ref>{{cite web |url=http://www.umich.edu/~x509/ssleay/ssleay.html |title=SSLeay 0.6.6.docs |publisher=[[University of Michigan]] |accessdate=2011-12-05}}</ref> Hudson trug auch maßgeblich zum Projekt bei, indem er zugehörige [[Patch (Software)|Patches]] für andere freie Software und für [[Microsoft Windows|Windows]] programmierte.<ref name="ix" /><ref name="license">{{cite web|url=https://www.openssl.org/source/license.html |title=License |publisher=OpenSSL Project |accessdate=2011-11-28}}</ref>
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änkung]]en unterlag.<ref name="ix">{{Internetquelle |autor=Holger Reif |url=https://www.heise.de/ix/artikel/Ready-encrypted-505218.html |titel=Secure Socket Layer: Encode and certify with SSLeay |werk=[[Verlag Heinz Heise]] |datum=1996 |abruf=2020-12-10}}</ref> Den Namen der Software bildeten die [[Initiale]]n des [[Netzwerkprotokoll]]s und des [[Programmierer]]s. Eric A. Young hatte zuvor an Implementierungen von [[Kerberos (Protokoll)|Kerberos]] und [[Data Encryption Standard|DES]] gearbeitet.<ref>{{cite web |url=http://blogs.rsa.com/author/young |title=Eric Young |publisher=[[EMC Corporation]] |accessdate=2011-12-05 |archiveurl=https://web.archive.org/web/20111111033427/http://blogs.rsa.com/author/young |archivedate=2011-11-11}}</ref> Zu diesem neuen Projekt regte ihn 1995 sein Freund Tim J. Hudson an.<ref>{{cite web |url=http://www.umich.edu/~x509/ssleay/ssleay.html |title=SSLeay 0.6.6.docs |publisher=[[University of Michigan]] |accessdate=2011-12-05}}</ref> Hudson trug auch maßgeblich zum Projekt bei, indem er zugehörige [[Patch (Software)|Patches]] für andere freie Software und für [[Microsoft Windows|Windows]] programmierte.<ref name="ix" /><ref name="license">{{Internetquelle |autor= |url=https://www.openssl.org/source/license.html |titel=License |hrsg=OpenSSL Software Foundation |sprache=en |datum= |abruf=2020-12-10}}</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">{{Internetquelle |titel=ChangeLog |hrsg=OpenSSL |url=https://www.openssl.org/news/changelog.html |datum=2010-12-02 20:00:46 |zugriff=2011-08-10}}</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 HTTP Server|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>{{Internetquelle |hrsg=Netzwelt.de |datum=2010-08-09 |url=https://www.netzwelt.de/news/83581-interview-ralf-s-engelschall-deutsche-open-source-guru.html |titel=Im Interview: Ralf S. Engelschall – der deutsche Open-Source-Guru |abruf=2011-01-11}}</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">{{Internetquelle |titel=Changelog |hrsg=OpenSSL |url=https://www.openssl.org/news/changelog.html#openssl-09x |datum=2010-12-02 |zugriff=2011-08-10}}</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 HTTP Server|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>{{Internetquelle |werk=netzwelt.de |datum=2010-08-09 |url=https://www.netzwelt.de/news/83581-interview-ralf-s-engelschall-deutsche-open-source-guru.html |titel=Im Interview: Ralf S. Engelschall – der deutsche Open-Source-Guru |abruf=2011-01-11}}</ref>


== Abspaltungen ==
== Abspaltungen ==
2014 kam es in der Folge des Heartbleed-Bug 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>{{Internetquelle|hrsg=golem.de |datum=2014-04-24 |url=https://www.golem.de/news/theo-de-raadt-openssl-ist-nicht-reparierbar-1404-106028.html |titel=Theo de Raadt: OpenSSL ist nicht reparierbar |zugriff=2014-04-24}}</ref>
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>{{Internetquelle |hrsg=golem.de |datum=2014-04-24 |url=https://www.golem.de/news/theo-de-raadt-openssl-ist-nicht-reparierbar-1404-106028.html |titel=Theo de Raadt: OpenSSL ist nicht reparierbar |zugriff=2014-04-24}}</ref>


Auch Google benutzt und veröffentlicht seitdem einen eigenen [[Abspaltung (Softwareentwicklung)|Fork]] von OpenSSL unter dem Namen ''BoringSSL''.<ref>[https://www.heise.de/newsticker/meldung/Google-entwickelt-eigene-SSL-Bibliothek-2236224.html Google entwickelt eigene SSL-Bibliothek | heise online]</ref> Dieser kommt u.&nbsp;a. in Chrome und Android zum Einsatz.<ref>[https://github.com/google/boringssl/blob/master/README.md Google: BoringSSL Beschreibung auf Github]</ref>
Auch Google benutzt und veröffentlicht seitdem einen eigenen [[Abspaltung (Softwareentwicklung)|Fork]] von OpenSSL unter dem Namen ''BoringSSL''.<ref name="heise-236224">{{Internetquelle |autor=Peter Siering |url=https://www.heise.de/newsticker/meldung/Google-entwickelt-eigene-SSL-Bibliothek-2236224.html |titel=Google entwickelt eigene SSL-Bibliothek |werk=heise.de |datum=2014-06-21 |abruf=2020-12-10}}</ref> Dieser kommt u.&nbsp;a. in Chrome und [[Android (Betriebssystem)|Android]] zum Einsatz.<ref name="github-google">{{Internetquelle|autor= |url=https://github.com/google/boringssl/blob/master/README.md |titel=Google: BoringSSL |werk=github.com |sprache=en |datum= |abruf=2020-12-10}}</ref>


== FIPS-140-2-Zertifizierung ==
== FIPS-140-2-Zertifizierung ==
OpenSSL ist das erste nach [[Federal Information Processing Standard|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.
OpenSSL ist das erste nach [[Federal Information Processing Standard|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: ''{{lang|en|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 erhofften.<ref>Jana Cranmer: [https://gcn.com/articles/2007/02/16/nist-recertifies-open-source-encryption-module.aspx ''NIST recertifies open source encryption module''], 16. Februar 2007.</ref>
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: ''{{lang |en |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 erhofften.<ref name="gcn-070216">{{Internetquelle |autor=Jana Cranmer |url=https://gcn.com/articles/2007/02/16/nist-recertifies-open-source-encryption-module.aspx |titel=NIST recertifies open source encryption module |werk=gcn.com |sprache=en |datum=2007-02-16 |abruf=2020-12-10}}</ref>


== Bemerkenswerte Sicherheitslücken ==
== Bemerkenswerte Sicherheitslücken ==
=== Schwache Schlüssel unter Debian ===
=== 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 [[Secure Shell|SSH]]-, [[OpenVPN]]-, [[Domain Name System Security Extensions|DNSSEC]]-Schlüssel, Schlüssel in [[X.509]]-Zertifikaten sowie Sitzungsschlüssel, die in SSL/TLS-Verbindungen ([[Hypertext Transfer Protocol Secure|HTTPS]]) genutzt werden. Schlüssel, die mit [[GNU Privacy Guard|GnuPG]] oder [[GnuTLS]] erzeugt wurden, seien nicht betroffen.<ref>[https://www.debian.org/security/2008/dsa-1571 Debian-Sicherheitsankündigung DSA-1571-1 openssl -- Voraussagbarer Zufallszahlengenerator], 13. Mai 2008, abgerufen am 31. August 2017.</ref>
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 [[Secure Shell|SSH]]-, [[OpenVPN]]-, [[Domain Name System Security Extensions|DNSSEC]]-Schlüssel, Schlüssel in [[X.509]]-Zertifikaten sowie Sitzungsschlüssel, die in SSL/TLS-Verbindungen ([[Hypertext Transfer Protocol Secure|HTTPS]]) genutzt werden. Schlüssel, die mit [[GNU Privacy Guard|GnuPG]] oder [[GnuTLS]] erzeugt wurden, seien nicht betroffen.<ref name="debian-081571">{{Internetquelle |autor= |url=https://www.debian.org/security/2008/dsa-1571 |titel=Debian-Sicherheitsankündigung: DSA-1571-1 openssl -- Voraussagbarer Zufallszahlengenerator |werk=debian.org |sprache=de |datum=2008-05-13 |abruf=2020-12-10}}</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 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-Angriff]]e 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>[https://blog.fefe.de/?ts=b6c9ec7e blog.fefe.de/?ts=b6c9ec7e]</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.
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-Angriff]]e 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">{{Internetquelle |autor= |url=https://blog.fefe.de/?ts=b6c9ec7e |titel=Fefes Blog |werk=blog.fefe.de |datum=2008-05-23 |abruf=2020-12-10}}</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 ===
=== Heartbleed-Bug ===
Zeile 53: Zeile 51:


== Lizenz ==
== Lizenz ==
OpenSSL steht unter der Lizenz von SSLeay und seiner eigenen Lizenz, die zusammengefasst gelten.<ref>{{cite web |url=https://www.gnu.org/licenses/license-list.html |title=Various Licenses and Comments about Them |publisher=Free Software Foundation|accessdate=2011-11-28}}</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.
OpenSSL steht unter der Lizenz von SSLeay und seiner eigenen Lizenz, die zusammengefasst gelten.<ref>{{cite web |url=https://www.gnu.org/licenses/license-list.html |title=Various Licenses and Comments about Them |publisher=Free Software Foundation |accessdate=2011-11-28}}</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-Lizenz|Apache-2.0-Lizenz]], um die Verwendung in anderen Open-Source-Projekten zu vereinfachen.<ref>{{Internetquelle |autor=Tilman Wittenhorst |url=https://www.heise.de/newsticker/meldung/OpenSSL-wechselt-die-Lizenz-und-veraergert-Beteiligte-3664538.html |titel=OpenSSL wechselt die Lizenz und verärgert Beteiligte |werk=[[heise online]] |hrsg=[[Heise Medien]] |datum=2017-03-25 |abruf=2020-01-06}}</ref><ref>{{Internetquelle |url=https://www.coreinfrastructure.org/announcements/openssl-re-licensing-to-apache-license-v-2-0-to-encourage-broader-use-with-other-foss-projects-and-products/ |titel=OpenSSL Re-licensing to Apache License v. 2.0 To Encourage Broader Use with Other FOSS Projects and Products |werk=[[Core Infrastructure Initiative]] |hrsg=[[Linux Foundation]] |datum=2017-03-23 |abruf=2020-01-06 |sprache=en-US}}</ref><ref>{{Internetquelle |autor=Richard Levitte |url=https://github.com/openssl/openssl/commit/151333164ece49fdba3fe5c4bbdc3333cd9ae66d |titel=Change license to the Apache License v2.0 · openssl/openssl@1513331 |datum=2018-12-06 |abruf=2020-01-06 |sprache=en}}</ref>
Ab Version 3.0.0 steht OpenSSL unter der [[Apache-Lizenz|Apache-2.0-Lizenz]], um die Verwendung in anderen Open-Source-Projekten zu vereinfachen.<ref>{{Internetquelle |autor=Tilman Wittenhorst |url=https://www.heise.de/newsticker/meldung/OpenSSL-wechselt-die-Lizenz-und-veraergert-Beteiligte-3664538.html |titel=OpenSSL wechselt die Lizenz und verärgert Beteiligte |werk=[[heise online]] |hrsg=[[Heise Medien]] |datum=2017-03-25 |abruf=2020-01-06}}</ref><ref>{{Internetquelle |url=https://www.coreinfrastructure.org/announcements/openssl-re-licensing-to-apache-license-v-2-0-to-encourage-broader-use-with-other-foss-projects-and-products/ |titel=OpenSSL Re-licensing to Apache License v. 2.0 To Encourage Broader Use with Other FOSS Projects and Products |werk=[[Core Infrastructure Initiative]] |hrsg=[[Linux Foundation]] |datum=2017-03-23 |abruf=2020-01-06 |sprache=en-US}}</ref><ref>{{Internetquelle |autor=Richard Levitte |url=https://github.com/openssl/openssl/commit/151333164ece49fdba3fe5c4bbdc3333cd9ae66d |titel=Change license to the Apache License v2.0 · openssl/openssl@1513331 |datum=2018-12-06 |abruf=2020-01-06 |sprache=en}}</ref>


== Versionsgeschichte ==
== 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>{{Internetquelle |url=https://www.openssl.org/blog/blog/2018/11/28/version// |titel=The Holy Hand Grenade of Antioch |werk=openssl.org |datum=2018-11-28 |sprache=en |abruf=2023-02-15}}</ref>
Diese Übersicht enthält nur die wichtigsten Versionen.

Die folgende Tabelle stellt eine Übersicht der Hauptversionen von OpenSSL dar.


{| class="wikitable"
{| class="wikitable"
Zeile 66: Zeile 66:
! Letzte Version
! Letzte Version
! Supportende
! Supportende
! Anmerkungen und Änderungen
! Anmerkung
|-
|-
| {{Version |o |0.9.1 – 1.0.0}}
| {{Version |o |0.9.1 – 1.0.0}}
Zeile 83: Zeile 83:
| 22. Januar 2015
| 22. Januar 2015
| 1.0.2'''u''' (20. Dezember 2019)
| 1.0.2'''u''' (20. Dezember 2019)
| 31. Dezember 2019 (LTS)
| 31. Dezember 2019 (LTS) Ende des öffentlichen Supports.
| <ref>{{cite web|url=https://mta.openssl.org/pipermail/openssl-announce/2019-December/000165.html|title=OpenSSL version 1.0.2u published|date=2019-12-20|language=en|accessdate=2019-12-22}}</ref>
| <ref>{{Internetquelle |url=https://mta.openssl.org/pipermail/openssl-announce/2019-December/000165.html |titel=OpenSSL version 1.0.2u published |werk=openssl.org |datum=2019-12-20 |sprache=en |abruf=2019-12-22}}</ref>
|-
|-
| {{Version |o|1.1.0}}
| {{Version |co |1.0.2}}
| 22. Januar 2015
| 1.0.2'''ze''' (3. Mai 2022)
| Kein Ende des erweiterten Supportzeitraums festgelegt.<ref>{{Internetquelle |url=https://www.openssl.org/support/contracts.html |titel=/support/contracts.html |abruf=2022-05-25}}</ref>
| Aktualisierungen nur noch für Kunden mit ''premium support'' verfügbar,
behebt die vier Schwachstellen CVE-2022-1292, CVE-2022-1343, CVE-2022-1434 und CVE-2022-1473.<ref>{{Internetquelle |url=https://www.bsi.bund.de/SharedDocs/Warnmeldungen/DE/CB/2022/05/warnmeldung_cb-k22-0536_update_5.html |titel= BSI - CERT-Bund - Warnmeldung CB-K22/0536 Update 5 |werk=bsi.bund.de |sprache=de |abruf=2022-05-25}}</ref><ref>{{Internetquelle |url=https://mta.openssl.org/pipermail/openssl-announce/2022-May/000224.html |titel=OpenSSL Security Advisory |werk=openssl.org |datum=2022-05-03 |sprache=en |abruf=2022-05-25}}</ref><!-- Auf der offiziellen OpenSSL-Seite im Textformat nachzulesen unter https://www.openssl.org/news/secadv/20220503.txt -->
|-
| {{Version |o |1.1.0}}
| 25. August 2016
| 25. August 2016
| 1.1.0'''l''' (10. September 2019)
| 1.1.0'''l''' (10. September 2019)
| 11. September 2019
| 11. September 2019
| <ref>{{cite web|url=https://www.openssl.org/news/openssl-1.1.0-notes.html|title=OpenSSL 1.1.0 Series Release Notes|date=2016-08-25|language=en|accessdate=2016-08-25}}</ref>
| <ref>{{Internetquelle |url=https://www.openssl.org/news/openssl-1.1.0-notes.html |titel=OpenSSL 1.1.0 Series Release Notes |werk=openssl.org |datum=2016-08-25 |sprache=en |abruf=2016-08-25 |archiv-url=https://web.archive.org/web/20180317162208/https://www.openssl.org/news/openssl-1.1.0-notes.html |archiv-datum=2018-03-17 |offline=ja |archiv-bot=2022-12-23 23:49:50 InternetArchiveBot }}</ref>

|-
|-
| {{Version |c|1.1.1}}
| {{Version |co |1.1.1}}
| 11. September 2018
| 11. September 2018
| 1.1.1'''i''' (8. Dezember 2020)
| 1.1.1'''w''' (11. September 2023)
| 11. September 2023 (LTS)
| 11. September 2023 (LTS) Ende des öffentlichen Supports.
| <ref>{{cite web|url=https://mta.openssl.org/pipermail/openssl-announce/2020-December/000187.html|title=OpenSSL version 1.1.1i published|date=2020-12-08|language=en|accessdate=2020-12-10}}</ref>
Kein Ende des erweiterten Supportzeitraums festgelegt.<ref>{{Internetquelle |url=https://www.openssl.org/support/contracts.html |titel=/support/contracts.html |abruf=2022-05-25}}</ref>
| <ref>{{Internetquelle |url=https://mta.openssl.org/pipermail/openssl-announce/2023-September/000274.html |titel=OpenSSL version 1.1.1w published |werk=openssl.org |sprache=en |datum=2023-09-11 |abruf=2023-09-11}}</ref>
|-
|-
| {{Version |p|3.0.0}}
| {{Version |c |3.0.0}}
| ~ Q4 2020
| 7. September 2021
| 3.0.'''12''' (24. Oktober 2023)
|
|7. September 2026<ref>{{Internetquelle |url=https://www.openssl.org/source/ |titel=OpenSSL - Downloads - /source/index.html |werk=openssl.org |sprache=en |abruf=2022-11-01}}</ref>
|
| <ref>{{Internetquelle |url=https://www.openssl.org/blog/blog/2021/09/07/OpenSSL3.Final/ |titel=OpenSSL 3.0 Has Been Released! |werk=openssl.org |datum=2021-09-07 |sprache=en |abruf=2021-09-09}}</ref><ref>{{Internetquelle |url=https://mta.openssl.org/pipermail/openssl-announce/2023-October/000280.html|titel=OpenSSL version 3.0.12 published |werk=openssl.org |sprache=en |datum=2023-10-24 |abruf=2023-10-24}}</ref><ref>{{Internetquelle |url=https://www.openssl.org/news/secadv/20230207.txt |titel=OpenSSL Security Advisory |werk=openssl.org |sprache=en |datum=2023-02-07 |abruf=2023-02-07}}</ref> Die Schwachstellen CVE-2022-3602 und CVE-2022-3786 wurden geschlossen.
| <ref>{{cite web|url=https://www.openssl.org/blog/blog/2019/11/07/3.0-update/|title=Update on 3.0 Development|date=2019-11-07|language=en|accessdate=2019-12-03}}</ref>
|-
|-
| colspan="5" | <small>{{Version |l |show=111111}}</small>
| colspan="5" | <small>{{Version |l |show=111111}}</small>
Zeile 123: Zeile 132:


[[Kategorie:Transport Layer Security]]
[[Kategorie:Transport Layer Security]]
[[Kategorie:TCP/IP]]
[[Kategorie:Freie Kryptosoftware]]
[[Kategorie:Freie Kryptosoftware]]
[[Kategorie:C-Bibliothek]]
[[Kategorie:C-Bibliothek]]

Aktuelle Version vom 23. Oktober 2024, 04:40 Uhr

OpenSSL

Basisdaten

Entwickler OpenSSL Development Team
Erscheinungsjahr 1998
Aktuelle Version 3.5.0[1]
(8. April 2025)
Betriebssystem Unix-ähnlich, Windows
Programmier­sprache C
Kategorie Kryptographie
Lizenz 3.0 und später: Apache-2.0-Lizenz
1.1.1 und früher: OpenSSL[2]
deutschsprachig nein
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.

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.[3] Den Namen der Software bildeten die Initialen des Netzwerkprotokolls und des Programmierers. Eric A. Young hatte zuvor an Implementierungen von Kerberos und DES gearbeitet.[4] Zu diesem neuen Projekt regte ihn 1995 sein Freund Tim J. Hudson an.[5] Hudson trug auch maßgeblich zum Projekt bei, indem er zugehörige Patches für andere freie Software und für Windows programmierte.[3][6]

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.[7] 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.[8]

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.[9]

Auch Google benutzt und veröffentlicht seitdem einen eigenen Fork von OpenSSL unter dem Namen BoringSSL.[10] Dieser kommt u. a. in Chrome und Android zum Einsatz.[11]

FIPS-140-2-Zertifizierung

[Bearbeiten | Quelltext bearbeiten]

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 erhofften.[12]

Bemerkenswerte Sicherheitslücken

[Bearbeiten | Quelltext bearbeiten]

Schwache Schlüssel unter Debian

[Bearbeiten | Quelltext bearbeiten]

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.[13]

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,[14] welcher unter anderem für die Bereitstellung der ELSTER-Software der deutschen Finanzämter sowie von Treiber-Updates von AMD[15] verantwortlich ist.

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.

OpenSSL steht unter der Lizenz von SSLeay und seiner eigenen Lizenz, die zusammengefasst gelten.[16] Beide sind der ursprünglichen BSD-Lizenz ähnlich.[6] 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.[17][18][19]

Versionsgeschichte

[Bearbeiten | Quelltext bearbeiten]

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.[20]

Die folgende Tabelle stellt eine Übersicht der Hauptversionen von OpenSSL dar.

Zweig Erscheinungsdatum (Zweig) Letzte Version Supportende Anmerkungen und Änderungen
Ältere Version; nicht mehr unterstützt: 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)
Ältere Version; nicht mehr unterstützt: 1.0.1 14. März 2012 1.0.1u (22. September 2016) 31. Dezember 2016
Ältere Version; nicht mehr unterstützt: 1.0.2 22. Januar 2015 1.0.2u (20. Dezember 2019) 31. Dezember 2019 (LTS) Ende des öffentlichen Supports. [21]
Ältere Version; noch unterstützt: 1.0.2 22. Januar 2015 1.0.2ze (3. Mai 2022) Kein Ende des erweiterten Supportzeitraums festgelegt.[22] Aktualisierungen nur noch für Kunden mit premium support verfügbar,

behebt die vier Schwachstellen CVE-2022-1292, CVE-2022-1343, CVE-2022-1434 und CVE-2022-1473.[23][24]

Ältere Version; nicht mehr unterstützt: 1.1.0 25. August 2016 1.1.0l (10. September 2019) 11. September 2019 [25]
Ältere Version; noch unterstützt: 1.1.1 11. September 2018 1.1.1w (11. September 2023) 11. September 2023 (LTS) Ende des öffentlichen Supports.

Kein Ende des erweiterten Supportzeitraums festgelegt.[26]

[27]
Aktuelle Version: 3.0.0 7. September 2021 3.0.12 (24. Oktober 2023) 7. September 2026[28] [29][30][31] Die Schwachstellen CVE-2022-3602 und CVE-2022-3786 wurden geschlossen.
Legende:
Ältere Version; nicht mehr unterstützt
Ältere Version; noch unterstützt
Aktuelle Version
Aktuelle Vorabversion
Zukünftige Version

Einzelnachweise

[Bearbeiten | Quelltext bearbeiten]
  1. OpenSSL 3.5.0. 8. April 2025 (abgerufen am 8. April 2025).
  2. OpenSSL.org: License. Abgerufen am 1. Mai 2023.
  3. a b Holger Reif: Secure Socket Layer: Encode and certify with SSLeay. In: Verlag Heinz Heise. 1996, abgerufen am 10. Dezember 2020.
  4. Eric Young. EMC Corporation, archiviert vom Original am 11. November 2011; abgerufen am 5. Dezember 2011.
  5. SSLeay 0.6.6.docs. University of Michigan, abgerufen am 5. Dezember 2011.
  6. a b License. OpenSSL Software Foundation, abgerufen am 10. Dezember 2020 (englisch).
  7. Changelog. OpenSSL, 2. Dezember 2010, abgerufen am 10. August 2011.
  8. Im Interview: Ralf S. Engelschall – der deutsche Open-Source-Guru. In: netzwelt.de. 9. August 2010, abgerufen am 11. Januar 2011.
  9. Theo de Raadt: OpenSSL ist nicht reparierbar. golem.de, 24. April 2014, abgerufen am 24. April 2014.
  10. Peter Siering: Google entwickelt eigene SSL-Bibliothek. In: heise.de. 21. Juni 2014, abgerufen am 10. Dezember 2020.
  11. Google: BoringSSL. In: github.com. Abgerufen am 10. Dezember 2020 (englisch).
  12. Jana Cranmer: NIST recertifies open source encryption module. In: gcn.com. 16. Februar 2007, abgerufen am 10. Dezember 2020 (englisch).
  13. Debian-Sicherheitsankündigung: DSA-1571-1 openssl -- Voraussagbarer Zufallszahlengenerator. In: debian.org. 13. Mai 2008, abgerufen am 10. Dezember 2020.
  14. Fefes Blog. In: blog.fefe.de. 23. Mai 2008, abgerufen am 10. Dezember 2020.
  15. Downloadlink auf http://game.amd.com/us-en/drivers_catalyst.aspx?p=xp64/theater550-xp64
  16. Various Licenses and Comments about Them. Free Software Foundation, abgerufen am 28. November 2011.
  17. Tilman Wittenhorst: OpenSSL wechselt die Lizenz und verärgert Beteiligte. In: heise online. Heise Medien, 25. März 2017, abgerufen am 6. Januar 2020.
  18. 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 (amerikanisches Englisch).
  19. Richard Levitte: Change license to the Apache License v2.0 · openssl/openssl@1513331. 6. Dezember 2018, abgerufen am 6. Januar 2020 (englisch).
  20. The Holy Hand Grenade of Antioch. In: openssl.org. 28. November 2018, abgerufen am 15. Februar 2023 (englisch).
  21. OpenSSL version 1.0.2u published. In: openssl.org. 20. Dezember 2019, abgerufen am 22. Dezember 2019 (englisch).
  22. /support/contracts.html. Abgerufen am 25. Mai 2022.
  23. BSI - CERT-Bund - Warnmeldung CB-K22/0536 Update 5. In: bsi.bund.de. Abgerufen am 25. Mai 2022.
  24. OpenSSL Security Advisory. In: openssl.org. 3. Mai 2022, abgerufen am 25. Mai 2022 (englisch).
  25. OpenSSL 1.1.0 Series Release Notes. In: openssl.org. 25. August 2016, archiviert vom Original (nicht mehr online verfügbar) am 17. März 2018; abgerufen am 25. August 2016 (englisch).  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/www.openssl.org
  26. /support/contracts.html. Abgerufen am 25. Mai 2022.
  27. OpenSSL version 1.1.1w published. In: openssl.org. 11. September 2023, abgerufen am 11. September 2023 (englisch).
  28. OpenSSL - Downloads - /source/index.html. In: openssl.org. Abgerufen am 1. November 2022 (englisch).
  29. OpenSSL 3.0 Has Been Released! In: openssl.org. 7. September 2021, abgerufen am 9. September 2021 (englisch).
  30. OpenSSL version 3.0.12 published. In: openssl.org. 24. Oktober 2023, abgerufen am 24. Oktober 2023 (englisch).
  31. OpenSSL Security Advisory. In: openssl.org. 7. Februar 2023, abgerufen am 7. Februar 2023 (englisch).