GnuTLS (GNU Transport Layer Security Library) ist eine freie Implementierung von SSL-, TLS- und DTLS-Protokollen zum Aufbau von verschlüsselten Netzwerkverbindungen.
GnuTLS bietet einen ähnlichen Funktionsumfang wie OpenSSL, ist aber unter GPL bzw. LGPLv2 lizenziert und kann damit im Gegensatz zu OpenSSL auch auf Systemen, bei denen OpenSSL nicht zum normalen Distributionsumfang gehört, ohne weiteres in GPL-lizenzierte Software wie Gnome, Exim, Lynx u. ä. eingebunden werden.
Zusätzlich zu den meisten in OpenSSL implementierten Funktionen unterstützt GnuTLS TLSv1.1, TLSv1.2, zlib-Kompression, Authentifizierung über Secure Remote Protocol (SRP), X.509- und OpenPGP-Schlüssel. Mit GnuTLS wird die Konsolenanwendung gnutls-cli, das Dienstprogramm gnutls-serv und zur Fehlerbeseitigung der TLS/SSL-Verbindungen das Anwendungsprogramm gnutls-cli-debug eingerichtet.
Kontroverse Obwohl ursprünglich als GNU-Projekt begonnen, löste im Dezember 2012 der Hauptentwickler Nikos Mavrogiannopoulos GNU TLS vom GNU-Projekt los. Grund waren Kontroversen mit der Free Software Foundation über Policies.GnuTLS, copyright assignment, and GNU project governance auf lwn.net von Michael Kerrisk (20. Dezember 2012, englisch). Ein Widerspruch von Richard Stallman, welcher Forking empfahl, blieb wirkungslos.GNUTLS is not going anywhere on lists.gnu.org "you cannot take GNUTLS out of the GNU Project." (11. Dezember 2012). Im selben Monat folgte der GNU-Sed-Maintainer Paolo Bonzini und legte seine Funktionen nieder. auf gmane.comp.lang.smalltalk.gnu.general von Paolo Bonzini (vom 22. Dezember 2012, englisch).
Massive Sicherheitslücke zwischen 2018 und 2020 Bei GnuTLS 3.6.4,gnutls 3.6.4 Versionshinweise, lists.gnupg.org welches am 24. September 2018 veröffentlicht wurde, hatte eine Regression die Implementierung des TLS-Protokolls beschädigt (CVE-2020-13777CVE-2020-13777, cve.mitre.org). Aufgrund dieses Fehlers erstellte der TLS-Server keinen sicheren Schlüssel für das Sitzungsticket und nutzte für Ver- und Entschlüsselung bis zur ersten Schlüsselrotation ausschließlich Nullen.CVE-2020-13777: TLS 1.3 session resumption works without master key, allowing MITM, gitlab.com In der Protokollversion TLS 1.3 können Angreifer die Authentifizierung umgehen und fremde Sitzungen übernehmen. Bei TLS 1.2 ist es sogar möglich, gespeicherte Aufzeichnungen früherer Sitzungen nachträglich zu entschlüsseln.Schlüssel genullt: GnuTLS sofort aktualisieren, forum.au-ja.de Behoben wurde der Fehler am 3. Juni 2020 in GnuTLS 3.6.14.gnutls 3.6.14 Versionshinweise, lists.gnupg.org
Siehe auch LibreSSL OpenSSL mbed TLS, vormals PolarSSL
Einzelnachweise 2013-03-14 Nikos Mavrogiannopoulos ... * COPYING.LESSER, README: gnutls 3.1.10 is LGPLv2.1
Kategorie:Freie Kryptosoftware Kategorie:Transport Layer Security Kategorie:GNU-Paket Kategorie:C-Bibliothek