Datagram Transport Layer Security
Learn about Datagram Transport Layer Security topic at defaultLogic. defaultLogic provides comprehensive technology and business learning resources.

Datagram Transport Layer Security (DTLS) is a communications protocol that provides security for datagram-based applications by allowing them to communicate in a way that is designed[1][2] 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, 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 rather than TCP, it avoids the "TCP meltdown problem".[3][4] when being used to create a VPN tunnel.


The following documents define DTLS:

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; that version number was skipped in order to harmonize version numbers with TLS.[2]



Library support for DTLS
Implementation DTLS 1.0[1] DTLS 1.2[2]
Botan Yes Yes
cryptlib No No
GnuTLS Yes Yes
Java Secure Socket Extension Yes Yes
LibreSSL Yes No
libsystools[6] Yes No
MatrixSSL Yes Yes
mbed TLS (previously PolarSSL) Yes[7] Yes[7]
Network Security Services Yes[8] Yes[9]
OpenSSL Yes Yes[10]
PyDTLS[11][12] Yes Yes
Python3-dtls[13][14] Yes Yes
s2n No No
SChannel XP/2003, Vista/2008 No No
SChannel 7/2008R2, 8/2012, 8.1/2012R2, 10 Yes[15] No[15]
SChannel 10 (1607), 2016 Yes Yes[16]
Secure Transport OS X 10.2-10.7 / iOS 1-4 No No
Secure Transport OS X 10.8-10.10 / iOS 5-8 Yes[17] No
SharkSSL No No
tinydtls [18] No Yes
Waher.Security.DTLS [19] No Yes
wolfSSL (previously CyaSSL) Yes Yes
@nodertc/dtls [20][21] No Yes
java-dtls[22] Yes Yes
pion/dtls[23] (Go) No Yes
californium/scandium[24] (Java) No Yes
Implementation DTLS 1.0 DTLS 1.2



In February 2013 two researchers from Royal Holloway, University of London discovered an attack[30] which allowed them to recover plaintext from a DTLS connection using the OpenSSL implementation of DTLS when Cipher Block Chaining mode encryption was used.

See also


  1. ^ a b Rescorla, Eric; Modadugu, Nagendra (April 2006). Datagram Transport Layer Security. doi:10.17487/RFC4347. RFC 4347.
  2. ^ a b c Rescorla, Eric; Modadugu, Nagendra (January 2012). Datagram Transport Layer Security Version 1.2. doi:10.17487/RFC6347. RFC 6347.
  3. ^ Titz, Olaf (2001-04-23). "Why TCP Over TCP Is A Bad Idea". Retrieved .
  4. ^ Honda, Osamu; Ohsaki, Hiroyuki; Imase, Makoto; Ishizuka, Mika; Murayama, Junichi (October 2005). "Understanding TCP over TCP: effects of TCP tunneling on end-to-end throughput and latency". Bibcode:2005SPIE.6011..138H. doi:10.1117/12.630496. Retrieved .
  5. ^ Peck, M.; Igoe, K. (2012-09-25). "Suite B Profile for Datagram Transport Layer Security / Secure Real-time Transport Protocol (DTLS-SRTP)". IETF.
  6. ^ Julien Kauffmann. "libsystools: A TLS/DTLS open source library for Windows/Linux using OpenSSL". Sourceforge.
  7. ^ a b "mbed TLS 2.0.0 released". ARM. 2015-07-13. Retrieved .
  8. ^ "NSS 3.14 release notes". Mozilla Developer Network. Mozilla. Retrieved .
  9. ^ "NSS 3.16.2 release notes". Mozilla Developer Network. Mozilla. 2014-06-30. Retrieved .
  10. ^ "As of version 1.0.2". The OpenSSL Project. The OpenSSL Project. 2015-01-22. Retrieved .
  11. ^ Ray Brown. "pydtls - Datagram Transport Layer Security for Python". GitHub.
  12. ^ Ray Brown. "DTLS for Python". Python Software Foundation.
  13. ^ Ray Brown/Mobius Software LTD. "pydtls - Datagram Transport Layer Security for Python". GitHub.
  14. ^ Ray Brown/Mobius Software LTD. "DTLS for Python3 Based on PyDTLS". Python Software Foundation.
  15. ^ a b "An update is available that adds support for DTLS in Windows 7 SP1 and Windows Server 2008 R2 SP1". Microsoft. Retrieved 2012.
  16. ^ Justinha. "TLS (Schannel SSP) changes in Windows 10 and Windows Server 2016". Retrieved .
  17. ^ "Technical Note TN2287: iOS 5 and TLS 1.2 Interoperability Issues". iOS Developer Library. Apple Inc. Retrieved .
  18. ^ Olaf Bergmann. "tinydtls". Eclipse Foundation.
  19. ^ Peter Waher. "Waher.Security.DTLS". Waher Data AB.
  20. ^ Dmitriy Tsvettsikh. "Secure UDP communications using DTLS in pure js". GitHub.
  21. ^ Dmitriy Tsvettsikh. "DTLS in pure js". npm.
  22. ^ Mobius Software LTD. "Non blocking Java DTLS Implementation based on BouncyCastle and Netty". Mobius Software LTD.
  23. ^ Sean DuBois. "pion/dtls: DTLS 1.2 Server/Client implementation for Go". GitHub.
  24. ^ "californium/scandium: DTLS 1.2 Server/Client implementation for java and coap. Includes connection id extension". Eclipse Foundation.
  25. ^ "AnyConnect FAQ: tunnels, reconnect behavior, and the inactivity timer". Cisco. Retrieved 2017.
  26. ^ "Cisco InterCloud Architectural Overview" (PDF). Cisco Systems.
  27. ^ "f5 Datagram Transport Layer Security (DTLS)". f5 Networks.
  28. ^ "Configuring a DTLS Virtual Server". Citrix Systems.
  29. ^ "WebRTC Interop Notes". Archived from the original on 2013-05-11.
  30. ^ Plaintext-Recovery Attacks Against Datagram TLS

External links

This article is based on material taken from the Free On-line Dictionary of Computing prior to 1 November 2008 and incorporated under the "relicensing" terms of the GFDL, version 1.3 or later.

  This article uses material from the Wikipedia page available here. It is released under the Creative Commons Attribution-Share-Alike License 3.0.



Music Scenes