Datagram Transport Layer Security
Datagram Transport Layer Security (DTLS) is a communications protocol providing security to datagram-based applications by allowing them to communicate in a way designed to prevent eavesdropping, tampering, or message forgery. The DTLS protocol is based on the stream-oriented Transport Layer Security (TLS) protocol and is intended to provide similar security guarantees. The DTLS protocol datagram preserves the semantics of the underlying transport—the application does not suffer from the delays associated with stream protocols, but because it uses UDP or SCTP, the application has to deal with packet reordering, loss of datagram and data larger than the size of a datagram network packet. Because DTLS uses UDP or SCTP rather than TCP, it avoids the "TCP meltdown problem", when being used to create a VPN tunnel.

Definition
The following documents define DTLS:
  for use with User Datagram Protocol (UDP),
  for use with Datagram Congestion Control Protocol (DCCP),
  for use with Control And Provisioning of Wireless Access Points (CAPWAP),
  for use with Stream Control Transmission Protocol (SCTP) encapsulation,
  for use with Secure Real-time Transport Protocol (SRTP) subsequently called DTLS-SRTP in a draft with Secure Real-Time Transport Control Protocol (SRTCP).

DTLS 1.0 is based on TLS 1.1, and DTLS 1.2 is based on TLS 1.2. There is no DTLS 1.1 because this version-number was skipped in order to harmonize version numbers with TLS. The DTLS 1.3 specification is being worked on and, like previous DTLS versions, is intended to provide "equivalent security guarantees [to TLS 1.3] with the exception of order protection/non-replayability".

Implementations

Libraries

Applications
 Cisco AnyConnect VPN Client uses TLS and invented DTLS based VPN. 
 OpenConnect is an open source AnyConnect-compatible client and ocserv server that supports (D)TLS. 
 Cisco InterCloud Fabric uses DTLS to form a tunnel between private and public/provider compute environments
 ZScaler 2.0 (a popular ZTN solution) uses DTLS for tunneling 
 F5 Networks Edge VPN Client uses TLS and DTLS
 Citrix Systems NetScaler uses DTLS to secure UDP
 Web browsers: Google Chrome, Opera and Firefox support DTLS-SRTP for WebRTC. Firefox 86 and onward does not support DTLS 1.0.

Vulnerabilities
In February 2013 two researchers from Royal Holloway, University of London discovered a timing attack which allowed them to recover (parts of the) plaintext from a DTLS connection using the OpenSSL or GnuTLS implementation of DTLS when Cipher Block Chaining mode encryption was used.

See also

 ZRTP
 Reliable User Datagram Protocol
 QUIC
 WireGuard

References

External links
 
 
 
  Skip to 1:07:14.
 Robin Seggelmann's Sample Code: echo, character generator, and discard client/servers.

Cryptographic protocols
Session layer protocols
Transport Layer Security