bk99.de entertain the web since 1997

Linux 4.13: Kernel erledigt TLS-Verschlüsselung selbst

Zusammenfassung

Linux 4.13 konnte 2017 erstmals selbst die Ver- und Entschlüsselung einer TLS-Verbindung übernehmen. Das sollte die Leistung verbessern und neue Einsatzmöglichkeiten eröffnen. Den komplexen Verbindungsaufbau erledigen aber weiterhin Bibliotheken wie OpenSSL im Userspace.

Ideen

  • Der Kernel übernimmt nur die symmetrische Verschlüsselung nach dem Handshake.
  • Der fehleranfällige Handshake bleibt in bewährten Bibliotheken.
  • Verschlüsselung im Kernel ermöglicht effiziente Datenübertragung ohne Umweg über den Userspace.

Einsichten

  • Arbeitsteilung zwischen Kernel und Bibliothek verbindet Leistung mit Wartbarkeit.
  • Verschlüsselung wandert dorthin, wo die Daten ohnehin fließen.

Fakten

  • Kernel-TLS kam mit Linux 4.13 im September 2017.
  • Für den Verbindungsaufbau bleiben Bibliotheken wie OpenSSL zuständig.

Referenzen

Kritik

  • Die Meldung nennt keine Messwerte zum versprochenen Leistungsgewinn.

Bemerkungen

  • Kernel-TLS (kTLS) wird heute von OpenSSL 3 und nginx genutzt und erlaubt TLS-Offload auf geeignete Netzwerkkarten.

Empfehlungen

  • Prüfe bei Webservern mit hohem Durchsatz, ob kTLS zusammen mit sendfile nutzbar ist.
  • Setze kTLS nur ein, wenn Kernel, Bibliothek und Server es gemeinsam unterstützen.

Originalartikel lesen →

Im Webarchiv suchen