Episode

Kernel level TLS

Podcast
The Backend Engineering Show with Hussein Nasser
Published
Jun 13, 2025
Duration seconds
1375
Processing state
not_requested
Canonical source
https://podcasters.spotify.com/pod/show/hnasr/episodes/Kernel-level-TLS-e344bsk
Audio
https://anchor.fm/s/1eb6d14/podcast/play/104000852/https%3A%2F%2Fd3ctxlq1ktw2nl.cloudfront.net%2Fstaging%2F2025-5-11%2Faaa17850-8f87-0df2-a47d-fa47becfb5e7.m4a
JSON
/v1/public/podcasts/the-backend-engineering-show-with-hussein-nasser-847440/episodes/kernel-level-tls
Markdown
/podcast/the-backend-engineering-show-with-hussein-nasser-847440/kernel-level-tls.md

Actions

  • POST https://stenobird.com/v1/public/podcasts/the-backend-engineering-show-with-hussein-nasser-847440/episodes/kernel-level-tls/transcription-requests
    Idempotently request low-priority transcript generation for this episode.
  • GET https://stenobird.com/podcast/the-backend-engineering-show-with-hussein-nasser-847440/kernel-level-tls.md
    Read the agent-friendly Markdown representation of this episode resource.

Summary

Fundamentals of Operating Systems Course https://oscourse.winktls is brilliant.TLS encryption/decryption often happens in userland. While TCP lives in the kernel. With ktls, userland can hand the keys to the kernel and the kernel does crypto. When calling write, the kernel encrypts the packet and send it to the NIC.When calling read, the kernel decrypts the packet and handed it to the userspace. This mode still taxes the host’s CPU of course, so there is another mode where the kernel offloads the crypto to the NIC device! Host CPU becomes free. Incoming packets to the NIC are decrypted in device before they are DMAed to the kernel. outgoing packets are encrypted before they leave the NIC to the network.ktls still need handshake to happen in userspace. There is also enabling zerocopy in some cases (now that kernel has context) Deserves a video. So much good stuff.0:00 Intro2:00 Userspace SSL Libraries 3:00 ktls 6:00 Kernel Encrypts/Decrypts (TLS_SW)8:20 NIC offload mode (TLS_HW)10:15 NIC does it all (TLS_HW_RECORD)12:00 Write TX Example13:50 Read RX Example17:00 Zero copy (sendfile)https://docs.kernel.org/networking/tls-offload.html