Datagram Transport Layer Security

Source: Wikipedia, the free encyclopedia.

Datagram Transport Layer Security (DTLS) is a

TCP meltdown problem[4][5]
when being used to create a VPN tunnel.

Definition

The following documents define DTLS:

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

Implementations

Libraries

Library support for DTLS
Implementation DTLS 1.0[1] DTLS 1.2[2] DTLS 1.3[3]
Botan Yes Yes
cryptlib No No
GnuTLS Yes Yes
Java Secure Socket Extension Yes Yes
LibreSSL Yes Yes[12]
libsystools[13] Yes No
MatrixSSL Yes Yes
mbed TLS (previously PolarSSL) Yes[14] Yes[14]
Network Security Services Yes[15] Yes[16]
OpenSSL Yes Yes[17]
PyDTLS[18][19] Yes Yes
Python3-dtls[20][21] Yes Yes
RSA BSAFE
No No
s2n
No No
Schannel XP/2003, Vista/2008
No No
Schannel 7/2008R2, 8/2012, 8.1/2012R2, 10
Yes[22] No[22]
Schannel 10 (1607), 2016
Yes Yes[23]
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[24] No
SharkSSL No No
tinydtls [25] No Yes
Waher.Security.DTLS [26] No Yes
wolfSSL (previously CyaSSL)[27] Yes Yes Yes
@nodertc/dtls [28][29] No Yes
java-dtls[30] Yes Yes
pion/dtls[31] (Go) No Yes
californium/scandium[32] (Java) No Yes
SNF4J[33] (Java) Yes Yes
Implementation DTLS 1.0 DTLS 1.2 DTLS 1.3

Applications

Vulnerabilities

In February 2013 two researchers from Royal Holloway, University of London discovered a timing attack

Cipher Block Chaining
mode encryption was used.

See also

References

  1. ^
    doi:10.17487/RFC4347. RFC 4347. Obsolete. Obsoleted by RFC 6347. Updated by RFC 5746 and 7507
    .
  2. ^
    ISSN 2070-1721. RFC 6347. Obsolete. Obsoleted by RFC 9147. Updated by RFC 7507, 7905, 8996 and 9146. Obsoletes RFC 4347
    .
  3. ^
    doi:10.17487/RFC9147. RFC 9147. Proposed Standard. Obsoletes RFC 6347
    .
  4. ^ Titz, Olaf (2001-04-23). "Why TCP Over TCP Is A Bad Idea". Archived from the original on 2023-03-10. Retrieved 2015-10-17.{{cite web}}: CS1 maint: bot: original URL status unknown (link)
  5. S2CID 8945952
    .
  6. doi:10.17487/RFC5238. RFC 5238. Informational. Updated by RFC 8996
    .
  7. doi:10.17487/RFC5415. RFC 5415. Proposed Standard. Updated by RFC 8553 and 8996
    .
  8. ISSN 2070-1721. RFC 5764. Proposed Standard. Updated by RFC 7983 and 9443
    .
  9. IETF
    .
  10. ISSN 2070-1721. RFC 6083. Proposed Standard. Updated by RFC 8996
    .
  11. ^ "The Datagram Transport Layer Security (DTLS) Protocol Version 1.3".
  12. ^ "LibreSSL 3.3.2 Release Notes". The OpenBSD Project. 2021-05-01. Retrieved 2021-06-13.
  13. ^ Julien Kauffmann. "libsystools: A TLS/DTLS open source library for Windows/Linux using OpenSSL". SourceForge.
  14. ^ a b "mbed TLS 2.0.0 released". ARM. 2015-07-13. Retrieved 2015-08-25.
  15. ^ "NSS 3.14 release notes". Mozilla Developer Network. Mozilla. Archived from the original on 2013-01-17. Retrieved 2012-10-27.
  16. ^ "NSS 3.16.2 release notes". Mozilla Developer Network. Mozilla. 2014-06-30. Archived from the original on 2021-12-07. Retrieved 2014-06-30.
  17. ^ "As of version 1.0.2". The OpenSSL Project. 2015-01-22. Archived from the original on 2014-09-04. Retrieved 2015-01-26.
  18. ^ Ray Brown. "pydtls - Datagram Transport Layer Security for Python". GitHub.
  19. ^ Ray Brown. "DTLS for Python". Python Software Foundation.
  20. ^ Ray Brown/Mobius Software LTD. "pydtls - Datagram Transport Layer Security for Python". GitHub.
  21. ^ Ray Brown/Mobius Software LTD. "DTLS for Python3 Based on PyDTLS". Python Software Foundation.
  22. ^ a b "An update is available that adds support for DTLS in Windows 7 SP1 and Windows Server 2008 R2 SP1". Microsoft. Retrieved 13 November 2012.
  23. ^ Justinha. "TLS (Schannel SSP) changes in Windows 10 and Windows Server 2016". docs.microsoft.com. Retrieved 2017-09-01.
  24. ^ "Technical Note TN2287: iOS 5 and TLS 1.2 Interoperability Issues". iOS Developer Library. Apple Inc. Retrieved 2012-05-03.
  25. ^ Olaf Bergmann. "tinydtls". Eclipse Foundation.
  26. ^ Peter Waher. "Waher.Security.DTLS". Waher Data AB.
  27. ^ "wolfSSL Embedded SSL/TLS Library".
  28. ^ Dmitriy Tsvettsikh. "Secure UDP communications using DTLS in pure js". GitHub.
  29. npm
    .
  30. ^ Mobius Software LTD. "Non blocking Java DTLS Implementation based on BouncyCastle and Netty". Mobius Software LTD.
  31. ^ Sean DuBois. "pion/dtls: DTLS 1.2 Server/Client implementation for Go". GitHub.
  32. ^ "californium/scandium: DTLS 1.2 Server/Client implementation for java and coap. Includes connection id extension". Eclipse Foundation.
  33. ^ SNF4J.ORG. "Simple Network Framework for Java (SNF4J)". GitHub.{{cite web}}: CS1 maint: numeric names: authors list (link)
  34. ^ "AnyConnect FAQ: tunnels, reconnect behavior, and the inactivity timer". Cisco. Retrieved 26 February 2017.
  35. ^ "OpenConnect". OpenConnect. Retrieved 26 February 2017.
  36. Cisco Systems
    .
  37. ^ "Cato Networks Cipher Suites Used by the Cato Socket and SDP Client".
  38. ^ "Cato Networks Routing Traffic to an Off-Cloud Link".
  39. ZScaler
    .
  40. f5 Networks
    .
  41. ^ "Using DTLS to improve SSL VPN performance". Fortinet. 25 February 2016.
  42. ^ "array.c from OpenConnect". 23 May 2022.
  43. ^ "Configuring a DTLS Virtual Server". Citrix Systems.
  44. ^ "WebRTC Interop Notes". Archived from the original on 2013-05-11.
  45. ^ "Firefox 86.0, See All New Features, Updates and Fixes". Mozilla. 2021-02-23. Archived from the original on 2021-02-22. Retrieved 2021-02-23. From Firefox 86 onward, DTLS 1.0 is no longer supported for establishing WebRTC's PeerConnections. All WebRTC services need to support DTLS 1.2 from now on as the minimum version.
  46. ^ "Plaintext-Recovery Attacks Against Datagram TLS" (PDF).