DTLS
Datagram Transport Layer SecurityDTLS is TLS with TCP’s assumptions removed. TLS needs an ordered, reliable stream; datagram traffic has neither. DTLS adds sequence numbers and its own retransmission to the handshake, makes each record independently decryptable, and lets a lost packet stay lost.
DTLS gives UDP TLS-grade encryption without demanding reliability — each record stands on its own.
How it works
That last change is the whole point: TLS over UDP without it would break permanently on the first lost packet. With it, DTLS can carry real-time media that would rather drop a frame than wait.
What DTLS does, step by step
The client’s ClientHello is answered with a cookie it must echo — proving its source address is real.
The rest proceeds as TLS, with DTLS numbering and retransmitting messages that go missing.
Every record gets an explicit sequence number so it can be decrypted independently of the others.
Missing records are simply absent; a replay window catches duplicates and old packets.
In cybersecurity
DTLS inherits TLS’s cryptography and its configuration mistakes alike — plus the amplification risk that comes with answering UDP at all.
Skipping HelloVerifyRequest turns the server into a DDoS amplifier for spoofed sources.
The sliding receive window must be enabled, or an old captured record can be replayed.
DTLS 1.3, modern AEAD suites, and no version older than 1.2.
As with TLS, a chain not checked against a trusted root proves nothing at all.
Handshake messages larger than the MTU are fragmented by DTLS itself — a known source of bugs.
IoT stacks often ship weak defaults; pre-shared keys must still be long and unique.