Протоколы
DTLS 1.3 — Datagram TLS поверх UDP (RFC 9147)
Datagram TLS 1.3 — версия TLS, адаптированная для UDP. Основа OpenVPN-DTLS, AnyConnect, ряда P2P-сервисов. Стандартизована в RFC 9147 (2022).
Определение
DTLS 1.3 (Datagram Transport Layer Security 1.3) — версия TLS 1.3, адаптированная для работы поверх UDP вместо TCP, стандартизована в RFC 9147 (апрель 2022). Предоставляет ту же модель безопасности — confidentiality, integrity, authentication — но допускает потерю и переупорядочивание пакетов, характерные для UDP.
Зачем нужен DTLS, если есть TLS-over-TCP? TCP добавляет head-of-line blocking, лишний overhead для real-time трафика (VoIP, голосовые VPN-туннели). UDP даёт меньшие задержки, но «голый» UDP не шифрует. DTLS — мост.
Чем отличается от TLS
- Не требует in-order delivery. Каждая DTLS-запись (record) самостоятельна. TLS-over-TCP полагается на гарантии TCP.
- Sequence numbers явные. В TLS они implicit (полагается на TCP-ordering), в DTLS — записываются в каждый пакет.
- Retransmission в handshake. DTLS реализует свой механизм retransmit для пакетов handshake (TCP бы делал это сам). После handshake — нет: payload-потери трактуются как «деградировал — потеряли».
- Anti-replay через sliding window. Защита от replay-атак на UDP-пакеты (TCP это даёт через sequence numbers).
- Cookie handshake. Защита от amplification-атак: сервер требует cookie до тяжёлого crypto.
Применение в VPN
| Протокол | Использует DTLS? | Версия |
|---|---|---|
| OpenVPN | Опционально (--proto udp + TLS-control) | DTLS 1.2/1.3 |
| Cisco AnyConnect | Да, для data-channel | DTLS 1.2 |
| OpenConnect | Да | DTLS 1.2/1.3 |
| WireGuard | Нет (своя криптография поверх UDP) | — |
| QUIC | Нет (своя TLS-интеграция) | — |
| IPsec ESP | Нет (отдельный стек) | — |
OpenVPN исторически использовал самописный protocol поверх UDP — после миграции на TLS-base в 2010-х подключил DTLS для data-channel. В 2026 году OpenVPN 2.6+ поддерживает DTLS 1.3.
DTLS vs QUIC
QUIC — следующее поколение «secure-over-UDP». DTLS старше (DTLS 1.0 — 2006, RFC 4347), легче, проще. QUIC добавил streams, congestion control, connection migration — всё то, что DTLS не делает.
Большинство новых протоколов выбирают QUIC. DTLS остаётся в legacy-стэках (OpenVPN, AnyConnect, WebRTC SRTP-key-exchange).
Безопасность
DTLS 1.3 (RFC 9147) использует тот же crypto-core, что TLS 1.3:
- AEAD-шифры (AES-GCM, ChaCha20-Poly1305).
- ECDHE для PFS.
- Removal легаси-ciphers (RSA key-exchange, CBC, RC4).
Уязвимости DTLS 1.0/1.2:
- Lucky 13 (DTLS 1.0, CBC-mode) — timing attack, fixed в DTLS 1.2.
- POODLE (CBC в SSL 3.0 / DTLS 1.0) — fixed в DTLS 1.2.
DTLS 1.3 чище: только AEAD, padding-attack invariant.
DTLS и обход цензуры
- UDP-фильтр: ТСПУ режет UDP к незнакомым IP — DTLS попадает под общий UDP-shaping.
- Fingerprint: DTLS-handshake имеет специфический shape, отличный от QUIC. DPI может распознавать.
- OpenVPN-DTLS блокируется: ТСПУ давно умеет различать OpenVPN-handshake (UDP или TCP) — это касается и DTLS-варианта.
DTLS не считается обходным транспортом в современном VPN-toolkit для РФ. Если важна цензуростойкость — выбирают VLESS Reality или Hysteria 2.