Abo
  • Services:

Ressl: LibreSSL-Projekt erstellt nutzerfreundliches SSL-API

Das von OpenBSD-Entwicklern gestartete LibreSSL-Projekt erstellt ein komplett neues API, das von OpenSSL und dem Fork abstrahiert. Die Schnittstelle soll auf tatsächliche Anwendungsfälle beschränkt bleiben und könnte universellen Charakter für den TLS-Stack bekommen.

Artikel veröffentlicht am ,
LibreSSL erarbeitet ein neues API für TLS-Verbindungen.
LibreSSL erarbeitet ein neues API für TLS-Verbindungen. (Bild: Bob Beck)

Bereits kurz nach der Ankündigung des OpenSSL-Fork durch das OpenBSD-Team haben laut dem Entwickler Ted Unangst viele kritisiert, dass das "OpenSSL-API so schlecht ist, dass es sich nicht lohnt, es zu erhalten". Wie Unangst nun in einer Rückschau auf die bisherige Entwicklung von LibreSSL bekanntgibt, arbeiten er und Joel Sing deshalb an einer Umsetzung eines neuen API.

Stellenmarkt
  1. Forschungszentrum Jülich GmbH, Jülich
  2. BSH Hausgeräte GmbH, Traunreut

Die neue Schnittstelle werde vorerst unter dem Namen ReSSL entwickelt, der in etwa für "SSL neu gedacht" stehen könnte, schreibt Unangst in der Zusammenfassung seines Vortrags auf der EuroBSD-Konferenz. Bisher hat das LibreSSL-Projekt die API zu OpenSSL kompatibel gehalten, um schnell und erfolgreich von anderen Projekten eingesetzt werden zu können. Darauf baut die neue Schnittstelle nun auf.

Hauptziele von ReSSL sind "Konsistenz und Einfachheit". Die Bibliothek ist als Antwort auf die Frage "Was möchte ein Nutzer machen?" geschrieben und nicht etwa als Antwort auf "Was erlaubt das TLS-Protokoll einem Nutzer?". Mit der neuen Software ist es möglich, "sichere Verbindungen mit einem Server aufzunehmen, einen sicheren Server aufzusetzen und einige Daten über diese Verbindung zu lesen und zu schreiben".

Um das zu erreichen, werden keinerlei Interna aus OpenSSL oder ReSSL, wie Typen oder Funktionen, preisgegeben. Denn Nutzer oder auch Entwickler sollten sich eigentlich so gut wie nie Gedanken über X.509 oder ASN.1 machen müssen. Folglich ließe sich das API auch sehr einfach in andere Sprachen einbinden. Es sei sogar so einfach, dass damit fast genauso gut der Transport über einen SSH-Tunnel beschrieben werden könne, schreibt Unangst.

Darüber hinaus erlaube die aktuelle Implementierung die Verwendung mit OpenSSL, aber auch mit anderen Projekten, die einen TLS-Stack anbieten. Denn es wird nicht einfach versucht, das OpenSSL-API nachzubauen, sondern ein so abstraktes und so gutes API bereitzustellen, dass andere dieses allgemeine API ebenfalls nutzen können. Denn der Bruch mit der Monokultur helfe dem gesamten Ökosystem.

Hostname-Verifikation und erste Client-Anwendungen

Die wohl herausragendste neue Funktion in ReSSL ist die Verifikation des Hostname. Denn neben der Überprüfung des Zertifikats muss, um die Sicherheit zu gewährleisten, auch der Hostname in dem Zertifikat mit dem der aktuellen Verbindung verglichen werden. Doch Letzteres werde oft vergessen, da OpenSSL diese Funktion nicht anbiete und sie selbst implementiert werden muss.

Zwar gebe es viele Sprachanbindungen für die Funktion, etwa in Python oder Ruby, die Umsetzung werde trotzdem oft vergessen. Zudem unterscheide sich der Code der einzelnen Implementierungen sehr häufig im Detail, da jeder diesen neu schreiben muss. Das betreffe vor allem Situationen mit Wildcard-Zertifikaten oder eingebetteten Null-Bytes. Die Überprüfung des Hostname ist in ReSSL immer aktiviert, es gebe außerdem keine Möglichkeit, die Funktion ohne die Verifikation aufzurufen.

Damit sich das neue API durchsetzt, müssen die Anwendungen umgeschrieben werden, die SSL- beziehungsweise TLS-Verbindungen verwenden. Ebenso muss die Schnittstelle in ihrer Verwendung getestet werden. Dazu synchronisiert das Team die Entwicklung von ReSSL mit den OpenBSD-eigenen FTP-Client und HTTP-Daemon, damit sich ReSSL wie gewünscht weiterentwickeln kann.

Für die Verwendung in externen Programme ist die Bibliothek wohl derzeit aber noch nicht reif genug, wie Unangst einräumt. Das dauere voraussichtlich noch einige Monate. Der Code des neuen API findet sich unter dem Namen Libressl, der des OpenSSL-Forks wird in Libssl gepflegt. Die portable Version von Letzterem steht über die Server von OpenBSD bereit.



Anzeige
Spiele-Angebote
  1. (-44%) 11,11€
  2. 32,95€
  3. 49,86€
  4. (-50%) 4,99€

Folgen Sie uns
       


Geforce GTX 1660 Ti im Test

Die Geforce GTX 1660 Ti ist mit 300 Euro die bisher günstigste Turing-Karte von Nvidia, sie hat aber keine RT-Cores für Raytracing oder Tensor-Cores für DLSS-Kantenglättung.

Geforce GTX 1660 Ti im Test Video aufrufen
EEG: Windkraft in Gefahr
EEG
Windkraft in Gefahr

Besitzer älterer Windenergieanlagen könnten bald ein Problem bekommen: Sie erhalten keine Förderung mehr. Das könnte sogar die Energiewende ins Wanken bringen.
Ein Bericht von Daniel Hautmann

  1. Windenergie Mister Windkraft will die Welt vor dem Klimakollaps retten
  2. Offshore-Windparks Neue Windräder sollen mehr Strom liefern
  3. Fistuca Der Wasserhammer hämmert leise

Google: Stadia tritt gegen Gaming-PCs, Playstation und Xbox an
Google
Stadia tritt gegen Gaming-PCs, Playstation und Xbox an

GDC 2019 Google streamt nicht nur so ein bisschen - stattdessen tritt der Konzern mit Stadia in direkte Konkurrenz zur etablierten Spielebranche. Entwickler können für ihre Games mehr Teraflops verwenden als auf der PS4 Pro und der Xbox One X zusammen.
Von Peter Steinlechner


    FreeNAS und Windows 10: Der erste NAS-Selbstbau macht glücklich
    FreeNAS und Windows 10
    Der erste NAS-Selbstbau macht glücklich

    Es ist gar nicht so schwer, wie es aussieht: Mit dem Betriebssystem FreeNAS, den richtigen Hardwarekomponenten und Tutorials baue ich mir zum ersten Mal ein NAS-System auf und lerne auf diesem Weg viel darüber - auch warum es Spaß macht, selbst zu bauen, statt fertig zu kaufen.
    Ein Erfahrungsbericht von Oliver Nickel

    1. TS-332X Qnaps Budget-NAS mit drei M.2-Slots und 10-GBit-Ethernet

      •  /