Datagram Transport Layer Security ( DTLS ) - это протокол связи, который обеспечивает безопасность приложений, основанных на дейтаграммах , позволяя им обмениваться данными способом, разработанным [1] [2] для предотвращения перехвата , подделки или подделки сообщений . Протокол DTLS основан на потоке ориентированных Transport Layer Security(TLS) и предназначен для предоставления аналогичных гарантий безопасности. Дейтаграмма протокола DTLS сохраняет семантику базового транспорта - приложение не страдает от задержек, связанных с потоковыми протоколами, но поскольку оно использует UDP или SCTP , приложение должно иметь дело с переупорядочением пакетов , потерей дейтаграммы и данных, размер которых превышает допустимый. размер сетевого пакета дейтаграммы . Поскольку DTLS использует UDP или SCTP, а не TCP, он позволяет избежать «проблемы сбоя TCP» [3] [4] при использовании для создания VPN-туннеля.
Определение
Следующие документы определяют DTLS:
- RFC 6347 для использования с протоколом дейтаграмм пользователя (UDP),
- RFC 5238 для использования с протоколом управления перегрузкой дейтаграмм (DCCP),
- RFC 5415 для использования с контролем и предоставлением точек беспроводного доступа (CAPWAP),
- RFC 6083 для использования с инкапсуляцией протокола передачи управления потоком (SCTP),
- RFC 5764 для использования с безопасным транспортным протоколом в реальном времени (SRTP) впоследствии назывался DTLS-SRTP в проекте с безопасным протоколом управления транспортировкой в реальном времени (SRTCP). [5]
DTLS 1.0 основан на TLS 1.1, а DTLS 1.2 основан на TLS 1.2. Нет DTLS 1.1; этот номер версии был пропущен, чтобы согласовать номера версий с TLS. [2] Спецификация DTLS 1.3 находится в стадии разработки и, как и предыдущие версии DTLS, планирует предоставить «эквивалентные гарантии безопасности [TLS 1.3], за исключением защиты порядка / невозможности повторного воспроизведения». [6]
Реализации
Библиотеки
Выполнение | DTLS 1.0 [1] | DTLS 1.2 [2] |
---|---|---|
Ботан | да | да |
cryptlib | Нет | Нет |
GnuTLS | да | да |
Расширение безопасного сокета Java | да | да |
LibreSSL | да | Нет |
libsystools [7] | да | Нет |
MatrixSSL | да | да |
mbed TLS (ранее PolarSSL) | Да [8] | Да [8] |
Услуги сетевой безопасности | Да [9] | Да [10] |
OpenSSL | да | Да [11] |
PyDTLS [12] [13] | да | да |
Python3-dtls [14] [15] | да | да |
RSA BSAFE | Нет | Нет |
s2n | Нет | Нет |
SChannel XP / 2003, Vista / 2008 | Нет | Нет |
SChannel 7 / 2008R2, 8/2012, 8.1 / 2012R2, 10 | Да [16] | Нет [16] |
SC канал 10 (1607), 2016 | да | Да [17] |
Безопасный транспорт OS X 10.2–10.7 / iOS 1–4 | Нет | Нет |
Безопасный транспорт OS X 10.8–10.10 / iOS 5–8 | Да [18] | Нет |
SharkSSL | Нет | Нет |
tinydtls [19] | Нет | да |
Waher.Security.DTLS [20] | Нет | да |
wolfSSL (ранее CyaSSL) | да | да |
@ nodertc / dtls [21] [22] | Нет | да |
java-dtls [23] | да | да |
pion / dtls [24] (Перейти) | Нет | да |
калифорний / скандий [25] (Ява) | Нет | да |
SNF4J [26] (Java) | да | да |
Выполнение | DTLS 1.0 | DTLS 1.2 |
Приложения
- Клиент Cisco AnyConnect VPN использует TLS и изобрел VPN на основе DTLS. [27]
- OpenConnect является открытым исходным кодом AnyConnect-совместимый клиент и ocserv сервер , который поддерживает (D) TLS. [28]
- Cisco InterCloud Fabric использует DTLS для формирования туннеля между частной и общедоступной вычислительной средой / вычислительной средой поставщика [29]
- Zscaler 2.0 (популярный ZTN раствор) использует DTLS для туннелирования [30]
- Клиент F5 Networks Edge VPN использует TLS и DTLS [31]
- Citrix Systems NetScaler использует DTLS для защиты UDP [32]
- Веб-браузеры: Google Chrome , Opera и Firefox поддерживают DTLS-SRTP [33] для WebRTC . Firefox 86 и более поздние версии не поддерживают DLTS 1.0. [34]
Уязвимости
В феврале 2013 года два исследователя из Royal Holloway, Лондонский университет обнаружили временную атаку [35], которая позволила им восстановить (части) открытого текста из DTLS-соединения с использованием OpenSSL или GnuTLS реализации DTLS, когда использовалось шифрование в режиме Cipher Block Chaining. .
Смотрите также
- ZRTP
- Надежный протокол дейтаграмм пользователя
- QUIC
- WireGuard
Рекомендации
- ^ a b Рескорла, Эрик; Модадугу, Нагендра (апрель 2006 г.). Безопасность на транспортном уровне дейтаграмм . DOI : 10,17487 / RFC4347 . RFC 4347 .
- ^ а б в Рескорла, Эрик; Модадугу, Нагендра (январь 2012 г.). Дейтаграмма Transport Layer Security версии 1.2 . DOI : 10,17487 / RFC6347 . RFC 6347 .
- ^ Титц, Олаф (2001-04-23). «Почему TCP поверх TCP - плохая идея» . Проверено 17 октября 2015 .
- ^ Хонда, Осаму; Осаки, Хироюки; Имасе, Макото; Ишизука, Мика; Мураяма, Дзюнъити (октябрь 2005 г.). «Понимание TCP поверх TCP: влияние TCP-туннелирования на сквозную пропускную способность и задержку». В Атикуззамане, Мохаммед; Баландин Сергей I (ред.). Производительность, качество обслуживания и контроль коммуникационных и сенсорных сетей нового поколения III . 6011 . Bibcode : 2005SPIE.6011..138H . CiteSeerX 10.1.1.78.5815 . DOI : 10.1117 / 12.630496 . S2CID 8945952 .
- ^ Peck, M .; Иго, К. (25 сентября 2012 г.). «Профиль Suite B для защиты дейтаграммного транспортного уровня / безопасного транспортного протокола в реальном времени (DTLS-SRTP)» . IETF .
- ^ «Протокол безопасности на транспортном уровне дейтаграмм (DTLS) версии 1.3» .
- ^ Жюльен Кауфманн. «libsystools: библиотека TLS / DTLS с открытым исходным кодом для Windows / Linux с использованием OpenSSL» . Sourceforge .
- ^ а б "Выпущен mbed TLS 2.0.0" . РУКА. 2015-07-13 . Проверено 25 августа 2015 .
- ^ «Примечания к выпуску NSS 3.14» . Сеть разработчиков Mozilla . Mozilla. Архивировано из оригинала на 2013-01-17 . Проверено 27 октября 2012 .
- ^ «Примечания к выпуску NSS 3.16.2» . Сеть разработчиков Mozilla . Mozilla. 2014-06-30 . Проверено 30 июня 2014 .
- ^ «Начиная с версии 1.0.2» . Проект OpenSSL . Проект OpenSSL. 2015-01-22 . Проверено 26 января 2015 .
- ^ Рэй Браун. «pydtls - безопасность транспортного уровня дейтаграмм для Python» . GitHub .
- ^ Рэй Браун. «DTLS для Python» . Фонд программного обеспечения Python .
- ^ Рэй Браун / Mobius Software LTD. «pydtls - безопасность транспортного уровня дейтаграмм для Python» . GitHub .
- ^ Рэй Браун / Mobius Software LTD. «DTLS для Python3 на основе PyDTLS» . Фонд программного обеспечения Python .
- ^ а б «Доступно обновление, которое добавляет поддержку DTLS в Windows 7 SP1 и Windows Server 2008 R2 SP1» . Microsoft . Проверено 13 ноября 2012 года .
- ^ Джастинья. «Изменения TLS (Schannel SSP) в Windows 10 и Windows Server 2016» . docs.microsoft.com . Проверено 1 сентября 2017 .
- ^ «Техническое примечание TN2287: проблемы взаимодействия iOS 5 и TLS 1.2» . Библиотека разработчика iOS . Apple , Inc . Проверено 3 мая 2012 .
- ^ Олаф Бергманн. "tinydtls" . Фонд Затмения .
- ^ Питер Вахер. "Waher.Security.DTLS" . Waher Data AB .
- ^ Дмитрий Цветцих. «Безопасная связь UDP с использованием DTLS на чистом js» . GitHub .
- ^ Дмитрий Цветцих. «DTLS в чистом js» . npm .
- ^ Mobius Software LTD. «Неблокирующая реализация Java DTLS на основе BouncyCastle и Netty» . Mobius Software LTD .
- ^ Шон Дюбуа. «pion / dtls: реализация сервера / клиента DTLS 1.2 для Go» . GitHub .
- ^ "californium / scandium: реализация сервера / клиента DTLS 1.2 для java и coap. Включает расширение идентификатора подключения" . Фонд Затмения .
- ^ SNF4J.ORG. «Простая сетевая структура для Java (SNF4J)» . GitHub .
- ^ «AnyConnect FAQ: туннели, поведение при повторном подключении и таймер бездействия» . Cisco . Проверено 26 февраля 2017 года .
- ^ «OpenConnect» . OpenConnect . Проверено 26 февраля 2017 года .
- ^ «Обзор архитектуры Cisco InterCloud» (PDF) . Cisco Systems .
- ^ "ZScaler ZTNA 2.0 Tunnel" . ZScaler .
- ^ «f5 Datagram Transport Layer Security (DTLS)» . f5 Сети .
- ^ «Настройка виртуального сервера DTLS» . Citrix Systems .
- ^ «Заметки о взаимодействии WebRTC» . Архивировано из оригинала на 2013-05-11.
- ^ «Firefox 86.0, все новые функции, обновления и исправления» . Mozilla . 2021-02-23 . Проверено 23 февраля 2021 .
Начиная с Firefox 86, DTLS 1.0 больше не поддерживается для установления PeerConnections WebRTC. Все сервисы WebRTC должны теперь поддерживать DTLS 1.2 как минимальную версию.
- ^ Атаки восстановления открытого текста на датаграмму TLS
Внешние ссылки
- «Безопасность транспортного уровня (TLS) - Устав» . IETF .
- Модадугу, Нагендра; Рескорла, Эрик (21 ноября 2003 г.). «Дизайн и реализация дейтаграммы TLS» (PDF) . Стэнфордская криптографическая группа . Проверено 17 марта 2013 .
- AlFardan, Nadhem J .; Патерсон, Кеннет Г. "Атаки восстановления открытого текста на дейтаграмму TLS" (PDF) . Проверено 25 ноября 2013 .
- Гибсон, Стив; Ляпорт, Лео (2012-11-28). «Безопасность на дейтаграмном транспортном уровне» . Безопасность сейчас 380 . Проверено 17 марта 2013 . Переходите к 1:07:14.
- Пример кода Робина Сеггельмана : эхо, генератор символов и клиент / серверы отбрасывания.
Эта статья основана на материалах, взятых из Free On-line Dictionary of Computing до 1 ноября 2008 г. и включенных в соответствии с условиями «перелицензирования» GFDL версии 1.3 или новее.