Datagram Transport Layer Security

Not to be confused with TDLS.

In information technology, the Datagram Transport Layer Security (DTLS) communications protocol provides communications security for datagram protocols. DTLS allows datagram-based applications 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 has to deal with packet reordering, loss of datagram and data larger than the size of a datagram network packet.

Definition

The following documents define DTLS:

DTLS 1.0 is based on TLS 1.1, and DTLS 1.2 is based on TLS 1.2.

TLS basis of DTLS
Version DTLS 1.0 DTLS 1.2
Based on TLS 1.1 TLS 1.2

Implementations

Libraries

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 No No
LibreSSL Yes No
libsystools[4] Yes No
MatrixSSL Yes Yes
mbed TLS (previously PolarSSL) Yes[5] Yes[5]
Network Security Services Yes[6] Yes[7]
OpenSSL Yes Yes[8]
PyDTLS[9][10] Yes No
RSA BSAFE No No
SChannel XP/2003, Vista/2008 No No
SChannel 7/2008R2, 8/2012, 8.1/2012R2, 10 Yes[11] No[11]
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[a] No
SharkSSL No No
tinydtls [12] No Yes
wolfSSL (previously CyaSSL) Yes Yes
Implementation DTLS 1.0 DTLS 1.2
  1. ^ DTLS 1.0 are available on iOS 5.0 and later, and OS X 10.8 and later.[13]

Applications

Vulnerabilities

In February 2013 two researchers from Royal Holloway, University of London discovered an attack[19] 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

References

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 is issued from Wikipedia - version of the 11/9/2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.