DTLS 1.3 vs DTLS 1.2: Why It’s Time to Upgrade

DTLS 1.3, standardized as RFC 9147, is a major leap over DTLS 1.2 for any application securing UDP traffic. It inherits every improvement of TLS 1.3, first among them the only path to post-quantum cryptography, one DTLS 1.2 will never have, and adds datagram-specific advances of its own that make communication safer, faster, more reliable, and suited to long-lived connections on constrained devices.

wolfSSL had a production-ready DTLS 1.3 implementation just weeks after RFC 9147 was published, and we have been improving, hardening, and extending it ever since, including features few (if any) other libraries offer, like full DTLS 1.3 Connection ID support for embedded devices and 0-RTT early data for the fastest possible reconnects. If your application still runs on a protocol version that is more than a decade old, here is why it’s time to move, and what wolfSSL gives you when you do.

Post-quantum cryptography in DTLS 1.3

The single strongest reason to upgrade may well be this: DTLS 1.2 has no path to post-quantum security. DTLS 1.3 does.

The post-quantum migration is happening in (D)TLS 1.3 only, and wolfSSL supports all three NIST-standardized PQC algorithm families on a DTLS 1.3 connection today: ML-KEM (FIPS 203) for key exchange, both standalone and in hybrid groups such as X25519MLKEM768, and ML-DSA (FIPS 204) and SLH-DSA (FIPS 205) signatures for authentication. Whether you are shipping embedded and IoT devices with decade-long lifetimes or protecting traffic that must stay confidential for years to come, the quantum-safe transition starts with moving to DTLS 1.3, and you can start it today.

DTLS 1.3 vs DTLS 1.2: performance benchmarks

Here is how the DTLS 1.3 improvements show up in numbers.

The DTLS 1.3 handshake completes in one round trip instead of two: at 200 ms RTT, DTLS 1.2 needs roughly 400 ms while DTLS 1.3 needs about 200 ms:

When a datagram is lost, DTLS 1.3’s ACK mechanism detects and repairs the loss immediately: with one lost server datagram at 50 ms RTT, the handshake completes in 53 ms versus 1,107 ms for DTLS 1.2, 20× faster:

Recent DTLS 1.3 improvements in wolfSSL

Beyond the post-quantum and Connection ID work covered above, our DTLS 1.3 support keeps growing. A non-exhaustive list of recent improvements:

  1. Interoperability testing: we regularly verify DTLS 1.3 interoperability against NSS, and we are ready to run the same tests the moment OpenSSL DTLS 1.3 support arrives.
  2. Minimal client-only build: a configuration that enables DTLS 1.3 on tiny constrained devices.
  3. Kernel-space operation: DTLS 1.3 can run entirely in kernel space.
  4. And, as always, a full sweep of bug fixes and small improvements.

What’s next for DTLS 1.3 in wolfSSL

We are actively working on session export for DTLS 1.3: the ability to serialize a live session so peers avoid re-handshaking across server upgrades, or so sessions can move transparently between servers, a building block for zero-downtime deployments and load balancing.

Get started with DTLS 1.3

wolfSSL’s DTLSv1.3 implementation is production-ready, post-quantum capable, and small enough for the most constrained devices. Questions about migrating from DTLS 1.2, benchmarks on your target hardware, or help hitting your performance targets? Contact us at facts@wolfssl.com or call +1 425 245 8247.

Download wolfSSL with DTLS 1.3 support or clone the repo