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.
Links zur Originalquelle und zum Webarchiv öffnen einen neuen Tab.