OpenSSL - LinkFang.de





OpenSSL


OpenSSL
Entwickler OpenSSL Development Team
Aktuelle Version Lua-Fehler in Modul:Wikidata, Zeile 533: attempt to index field 'wikibase' (a nil value)
(Lua-Fehler in Modul:Wikidata, Zeile 533: attempt to index field 'wikibase' (a nil value))
Betriebssystem Unix-ähnlich, Windows
Programmier­sprache C
Kategorie Kryptografie
Lizenz ähnlich BSD (mit Werbeklausel)
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 Basisbibliothek, welche in C geschrieben ist, 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.[1] Den Namen der Software bildeten die Initialen des Netzwerkprotokolls und des Programmierers. Eric A. Young hatte zuvor an Implementierungen von Kerberos und DES gearbeitet.[2] Zu diesem neuen Projekt regte ihn 1995 sein Freund Tim J. Hudson an.[3] Hudson trug auch maßgeblich zum Projekt bei, indem er zugehörige Patches für andere freie Software und für Windows programmierte.[1][4]

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.[5] 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.[6]

Abspaltungen

Aufgrund der Komplexität des über viele Jahre gewachsenen Projektes und damit einher gehender Schwierigkeiten bei der Auditierung auf Sicherheitslücken entschlossen sich im Jahre 2014 Entwickler des Betriebssystems OpenBSD um Theo de Raadt zur Veröffentlichung einer OpenSSL-Version mit halbiertem Code-Umfang unter dem Namen LibreSSL.[7]

Auch Google benutzt einen eigenen Fork von OpenSSL unter dem Namen BoringSSL.[8]

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

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

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

Heartbleed-Bug

Hauptartikel: Heartbleed

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.[13] Beide sind der ursprünglichen BSD-Lizenz ähnlich.[4] Die wesentliche Einschränkung ist demzufolge, dass Werbung für Fremdprodukte, die OpenSSL enthalten, OpenSSL und die beiden Urheber von SSLeay erwähnen muss.

Versionsgeschichte

Legende:
Ältere Version; nicht mehr unterstützt
Ältere Version; noch unterstützt
Aktuelle Version
Aktuelle Vorabversion
Zukünftige Version

Diese Übersicht beinhaltet Auszüge aus dem „ChangeLog“ sowie dem „Project State“.[5]

0.9.x–Versionen

OpenSSL-Version Erscheinungsdatum Anmerkung Referenz
Ältere Version; nicht mehr unterstützt: 0.9.1b [nicht veröffentlicht]
Ältere Version; nicht mehr unterstützt: 0.9.1c 23. Dezember 1998
Ältere Version; nicht mehr unterstützt: 0.9.2c 22. März 1999 Nachfolger von 0.9.1c
Ältere Version; nicht mehr unterstützt: 0.9.3 23. Mai 1999 Nachfolger von 0.9.2b
Ältere Version; nicht mehr unterstützt: 0.9.3a 29. Mai 1999
Ältere Version; nicht mehr unterstützt: 0.9.4 9. August 1999 Nachfolger von 0.9.3a
Ältere Version; nicht mehr unterstützt: 0.9.5 28. Februar 2000 Nachfolger von 0.9.4
Ältere Version; nicht mehr unterstützt: 0.9.5a 1. April 2000
Ältere Version; nicht mehr unterstützt: 0.9.6 24. September 2000 Nachfolger von 0.9.5a
Ältere Version; nicht mehr unterstützt: 0.9.6m 17. März 2004
Ältere Version; nicht mehr unterstützt: 0.9.7 31. Dezember 2002 Nachfolger von 0.9.6h
Ältere Version; nicht mehr unterstützt: 0.9.7a 19. Februar 2003
Ältere Version; nicht mehr unterstützt: 0.9.7b 10. April 2003
Ältere Version; nicht mehr unterstützt: 0.9.7c 30. September 2003
Ältere Version; nicht mehr unterstützt: 0.9.7d 17. März 2004
Ältere Version; nicht mehr unterstützt: 0.9.7e 25. Oktober 2004
Ältere Version; nicht mehr unterstützt: 0.9.7f 22. März 2005
Ältere Version; nicht mehr unterstützt: 0.9.7g 11. April 2005
Ältere Version; nicht mehr unterstützt: 0.9.7h 11. Oktober 2005
Ältere Version; nicht mehr unterstützt: 0.9.7i 14. Oktober 2005
Ältere Version; nicht mehr unterstützt: 0.9.7j 4. Mai 2006
Ältere Version; nicht mehr unterstützt: 0.9.7k 5. September 2006
Ältere Version; nicht mehr unterstützt: 0.9.7l 28. September 2006
Ältere Version; nicht mehr unterstützt: 0.9.7m 23. Februar 2007
Ältere Version; nicht mehr unterstützt: 0.9.8 5. Juli 2005 Nachfolger von 0.9.7h
Ältere Version; nicht mehr unterstützt: 0.9.8a 11. Oktober 2005
Ältere Version; nicht mehr unterstützt: 0.9.8b 4. Mai 2006
Ältere Version; nicht mehr unterstützt: 0.9.8c 5. September 2006
Ältere Version; nicht mehr unterstützt: 0.9.8d 28. September 2006
Ältere Version; nicht mehr unterstützt: 0.9.8e 23. Februar 2007
Ältere Version; nicht mehr unterstützt: 0.9.8f 11. Oktober 2007
Ältere Version; nicht mehr unterstützt: 0.9.8g 19. Oktober 2007
Ältere Version; nicht mehr unterstützt: 0.9.8h 28. Mai 2008
Ältere Version; nicht mehr unterstützt: 0.9.8i 15. September 2008
Ältere Version; nicht mehr unterstützt: 0.9.8j 7. Januar 2009
Ältere Version; nicht mehr unterstützt: 0.9.8k 25. März 2009
Ältere Version; nicht mehr unterstützt: 0.9.8l 5. November 2009
Ältere Version; nicht mehr unterstützt: 0.9.8m 25. Februar 2010
Ältere Version; nicht mehr unterstützt: 0.9.8n 24. März 2010
Ältere Version; nicht mehr unterstützt: 0.9.8o 1. Juni 2010
Ältere Version; nicht mehr unterstützt: 0.9.8p 16. November 2010
Ältere Version; nicht mehr unterstützt: 0.9.8q 2. Dezember 2010
Ältere Version; nicht mehr unterstützt: 0.9.8r 8. Februar 2011
Ältere Version; nicht mehr unterstützt: 0.9.8s 4. Januar 2012
Ältere Version; nicht mehr unterstützt: 0.9.8t 18. Januar 2012
Ältere Version; nicht mehr unterstützt: 0.9.8u 12. März 2012
Ältere Version; nicht mehr unterstützt: 0.9.8v 19. April 2012
Ältere Version; nicht mehr unterstützt: 0.9.8w 24. April 2012
Ältere Version; nicht mehr unterstützt: 0.9.8x 10. Mai 2012
Ältere Version; nicht mehr unterstützt: 0.9.8y 5. Februar 2013
Ältere Version; nicht mehr unterstützt: 0.9.8za 5. Juni 2014 Behebt sieben Sicherheitslücken
Ältere Version; nicht mehr unterstützt: 0.9.8zb 6. August 2014 Behebt neun Sicherheitslücken
Ältere Version; nicht mehr unterstützt: 0.9.8zc 15. Oktober 2014 Behebt vier Sicherheitslücken
Ältere Version; nicht mehr unterstützt: 0.9.8zd 8. Januar 2015 Behebt acht Sicherheitslücken
Ältere Version; nicht mehr unterstützt: 0.9.8ze 15. Januar 2015
Ältere Version; nicht mehr unterstützt: 0.9.8zf 19. März 2015
Ältere Version; nicht mehr unterstützt: 0.9.8zg 11. Juni 2015
Ältere Version; nicht mehr unterstützt: 0.9.8zh 3. Dezember 2015

1.0.0 – Versionen

OpenSSL-Version Erscheinungsdatum Anmerkung Referenz
Ältere Version; nicht mehr unterstützt: 1.0.0 29. März 2010
Ältere Version; nicht mehr unterstützt: 1.0.0d 8. Februar 2011
Ältere Version; nicht mehr unterstützt: 1.0.0e 6. September 2011 Add protection against ECDSA timing attacks as mentioned in the paper by Billy Bob Brumley and Nicola Tuveri[14]
Ältere Version; nicht mehr unterstützt: 1.0.0f 4. Januar 2012
Ältere Version; nicht mehr unterstützt: 1.0.0g 18. Januar 2012
Ältere Version; nicht mehr unterstützt: 1.0.0h 12. März 2012
Ältere Version; nicht mehr unterstützt: 1.0.0i 19. April 2012
Ältere Version; nicht mehr unterstützt: 1.0.0j 10. Mai 2012
Ältere Version; nicht mehr unterstützt: 1.0.0k 5. Februar 2013
Ältere Version; nicht mehr unterstützt: 1.0.0l 6. Januar 2014
Ältere Version; nicht mehr unterstützt: 1.0.0m 5. Juni 2014
Ältere Version; nicht mehr unterstützt: 1.0.0n 6. August 2014
Ältere Version; nicht mehr unterstützt: 1.0.0o 15. Oktober 2014
Ältere Version; nicht mehr unterstützt: 1.0.0p 8. Januar 2015
Ältere Version; nicht mehr unterstützt: 1.0.0q 15. Januar 2015
Ältere Version; nicht mehr unterstützt: 1.0.0r 19. März 2015
Ältere Version; nicht mehr unterstützt: 1.0.0s 11. Juni 2015
Ältere Version; nicht mehr unterstützt: 1.0.0t 3. Dezember 2015

1.0.1 – Versionen

OpenSSL-Version Erscheinungsdatum Anmerkung Referenz
Ältere Version; nicht mehr unterstützt: 1.0.1 14. März 2012 Nachfolger von 1.0.0h
  • Erstunterstützung von TLS v1.2
  • hinzugefügte SRP-Unterstützung
Ältere Version; nicht mehr unterstützt: 1.0.1a 19. April 2012
Ältere Version; nicht mehr unterstützt: 1.0.1b 26. April 2012
Ältere Version; nicht mehr unterstützt: 1.0.1c 10. Mai 2012
Ältere Version; nicht mehr unterstützt: 1.0.1d 5. Februar 2013
Ältere Version; nicht mehr unterstützt: 1.0.1e 11. Februar 2013
Ältere Version; nicht mehr unterstützt: 1.0.1f 6. Januar 2014
Ältere Version; nicht mehr unterstützt: 1.0.1g 7. April 2014 behebt den Heartbleed-Fehler der Versionen 1.0.1 bis 1.0.1f
Ältere Version; nicht mehr unterstützt: 1.0.1h 5. Juni 2014 behebt sieben Sicherheitslücken[15]
Ältere Version; nicht mehr unterstützt: 1.0.1i 6. August 2014 behebt neun Sicherheitslücken[16]
Ältere Version; nicht mehr unterstützt: 1.0.1j 15. Oktober 2014 behebt vier Sicherheitslücken[17]
Ältere Version; nicht mehr unterstützt: 1.0.1k 8. Januar 2015 behebt acht Sicherheitslücken[18]
Ältere Version; nicht mehr unterstützt: 1.0.1l 15. Januar 2015
Ältere Version; nicht mehr unterstützt: 1.0.1m 19. März 2015
Ältere Version; nicht mehr unterstützt: 1.0.1n 11. Juni 2015
Ältere Version; nicht mehr unterstützt: 1.0.1o 12. Juni 2015
Ältere Version; nicht mehr unterstützt: 1.0.1p 9. Juli 2015
Ältere Version; nicht mehr unterstützt: 1.0.1q 3. Dezember 2015
Ältere Version; nicht mehr unterstützt: 1.0.1r 28. Januar 2016
Ältere Version; nicht mehr unterstützt: 1.0.1s 1. März 2016
Ältere Version; noch unterstützt: 1.0.1t 3. Mai 2016 [19]

1.0.2 – Versionen

OpenSSL-Version Erscheinungsdatum Anmerkung Referenz
Ältere Version; nicht mehr unterstützt: 1.0.2 22. Januar 2015 Nachfolger von 1.0.1l
  • Suite B support for TLS 1.2 and DTLS 1.2
  • Support for DTLS 1.2
  • TLS automatic EC curve selection.
  • API to set TLS supported signature algorithms and curves.
  • SSL_CONF configuration API.
  • TLS Brainpool support.
  • ALPN support.
  • CMS support for RSA-PSS, RSA-OAEP, ECDH and X9.42 DH.
Ältere Version; nicht mehr unterstützt: 1.0.2a 19. März 2015
  • Behebt die Möglichkeit eines DoS durch ein fehlerhaftes Zertifikat
  • weitere elf Sicherheitslücken behoben
[20]
Ältere Version; nicht mehr unterstützt: 1.0.2b 11. Juni 2015
  • Behebt die Möglichkeit der Logjam-Attacke
  • weitere sechs Sicherheitslücken behoben
[21]
Ältere Version; nicht mehr unterstützt: 1.0.2c 12. Juni 2015
Ältere Version; nicht mehr unterstützt: 1.0.2d 9. Juli 2015 [22]
Ältere Version; nicht mehr unterstützt: 1.0.2e 3. Dezember 2015 [23]
Ältere Version; nicht mehr unterstützt: 1.0.2f 28. Januar 2016 [24]
Ältere Version; nicht mehr unterstützt: 1.0.2g 1. März 2016
Aktuelle Version: 1.0.2h 3. Mai 2016 [25]

1.1.0 – Versionen

OpenSSL-Version Erscheinungsdatum Anmerkung Referenz
Ältere Version; nicht mehr unterstützt: 1.1.0 Alpha 1 10. Dezember 2015
Ältere Version; nicht mehr unterstützt: 1.1.0 Alpha 2 14. Januar 2016
Ältere Version; nicht mehr unterstützt: 1.1.0 Alpha 3 15. Februar 2016
Ältere Version; nicht mehr unterstützt: 1.1.0 Beta 1 16. März 2016
Vorabversion: 1.1.0 Beta 2 19. April 2016 [26]

Siehe auch

Weblinks

Einzelnachweise

  1. 1,0 1,1 Secure Socket Layer: Encode and certify with SSLeay . Verlag Heinz Heise. 1996. Abgerufen am 5. Dezember 2011.
  2. Eric Young . EMC Corporation. Archiviert vom Original am 11. November 2011. Abgerufen am 5. Dezember 2011.
  3. SSLeay 0.6.6.docs . University of Michigan. Abgerufen am 5. Dezember 2011.
  4. 4,0 4,1 License . OpenSSL Project. Abgerufen am 28. November 2011.
  5. 5,0 5,1 ChangeLog. OpenSSL, Dezember 2010, abgerufen am 10. August 2011.
  6. Im Interview: Ralf S. Engelschall – der deutsche Open-Source-Guru. Netzwelt.de, 9. August 2010, abgerufen am 11. Januar 2011.
  7. Theo de Raadt: OpenSSL ist nicht reparierbar. golem.de, 24. April 2014, abgerufen am 24. April 2014.
  8. Google entwickelt eigene SSL-Bibliothek | heise online
  9. Jana Cranmer: NIST recertifies open source encryption module 16. Februar 2007
  10. Debian-Sicherheitsankündigung – DSA-1571-1 openssl -- Voraussagbarer Zufallszahlengenerator
  11. //blog.fefe.de/?ts=b6c9ec7e
  12. Downloadlink auf http://game.amd.com/us-en/drivers_catalyst.aspx?p=xp64/theater550-xp64
  13. Various Licenses and Comments about Them . Free Software Foundation. Abgerufen am 28. November 2011.
  14. Remote Timing Attacks are Still Practical
  15. https://www.openssl.org/news/secadv_20140605.txt
  16. https://www.openssl.org/news/secadv_20140806.txt
  17. https://www.openssl.org/news/secadv_20141015.txt
  18. https://www.openssl.org/news/secadv_20150108.txt
  19. OpenSSL version 1.0.1t published (en) 3. Mai 2016. Abgerufen am 3. Mai 2016.
  20. OpenSSL Security Advisory . 19. März 2015. Abgerufen am 19. März 2015.
  21. OpenSSL Security Advisory . 11. Juni 2015. Abgerufen am 12. Juni 2015.
  22. OpenSSL Security Advisory . 9. Juli 2015. Abgerufen am 9. Juli 2015.
  23. OpenSSL Security Advisory . 4. Dezember 2015. Abgerufen am 4. Dezember 2015.
  24. OpenSSL Security Advisory . 28. Januar 2016. Abgerufen am 28. Januar 2016.
  25. OpenSSL version 1.0.2h published (en) 3. Mai 2016. Abgerufen am 3. Mai 2016.
  26. https://openssl.org/news/changelog.html#x0

Kategorien: Freie Kryptosoftware | Netzwerkprotokoll (Transportschicht) | TCP/IP

Quelle: Wikipedia - http://de.wikipedia.org/wiki/OpenSSL (Vollständige Liste der Autoren des Textes [Versionsgeschichte])    Lizenz: CC-by-sa-3.0

Änderungen: Alle Bilder mit den meisten Bildunterschriften wurden entfernt. Ebenso alle zu nicht-existierenden Artikeln/Kategorien gehenden internen Wikipedia-Links (Bsp. Portal-Links, Redlinks, Bearbeiten-Links). Entfernung von Navigationsframes, Geo & Normdaten, Mediadateien, gesprochene Versionen, z.T. ID&Class-Namen, Style von Div-Containern, Metadaten, Vorlagen, wie lesenwerte Artikel. Ansonsten sind keine Inhaltsänderungen vorgenommen worden. Weiterhin kann es durch die maschinelle Bearbeitung des Inhalts zu Fehlern gerade in der Darstellung kommen. Darum würden wir jeden Besucher unserer Seite darum bitten uns diese Fehler über den Support mittels einer Nachricht mit Link zu melden. Vielen Dank!

Stand der Informationen: August 201& - Wichtiger Hinweis: Da die Inhalte maschinell von Wikipedia übernommen wurden, ist eine manuelle Überprüfung nicht möglich. Somit garantiert LinkFang.de nicht die Richtigkeit und Aktualität der übernommenen Inhalte. Sollten die Informationen mittlerweile fehlerhaft sein, bitten wir Sie darum uns per Support oder E-Mail zu kontaktieren. Wir werden uns dann innerhalb von spätestens 10 Tagen um Ihr Anliegen kümmern. Auch ohne Anliegen erfolgt mindestens alle drei Monate ein Update der gesamten Inhalte.