El protocolo de seguridad de la capa de transporte de datagramas ( DTLS ) es un protocolo de comunicaciones que proporciona seguridad a las aplicaciones basadas en datagramas al permitirles comunicarse de una manera diseñada [ 1 ] [ 2 ] [ 3 ] para prevenir la interceptación , la manipulación o la falsificación de mensajes . El protocolo DTLS se basa en el protocolo de seguridad de la capa de transporte (TLS) orientado al flujo y está diseñado para proporcionar garantías de seguridad similares. El datagrama del protocolo DTLS conserva la semántica del transporte subyacente: la aplicación no sufre los retrasos asociados con los protocolos de flujo, pero debido a que utiliza el Protocolo de datagramas de usuario (UDP) o el Protocolo de transmisión de control de flujo (SCTP), la aplicación tiene que lidiar con el reordenamiento de paquetes , la pérdida de datagramas y datos mayores que el tamaño de un paquete de red de datagramas . Debido a que DTLS utiliza UDP o SCTP en lugar de TCP, evita el problema de fusión de TCP [ 4 ] [ 5 ] cuando se utiliza para crear un túnel VPN.
Definición
Los siguientes documentos definen DTLS:
- RFC 5238 de mayo de 2008 [ 6 ] para su uso con el Protocolo de Control de Congestión de Datagramas (DCCP)
- RFC 5415 de marzo de 2009 [ 7 ] para su uso con Control y aprovisionamiento de puntos de acceso inalámbricos (CAPWAP)
- RFC 5764 de mayo de 2010 [ 8 ] para su uso con el Protocolo de transporte seguro en tiempo real (SRTP), posteriormente denominado DTLS-SRTP en un borrador con el Protocolo de control de transporte seguro en tiempo real (SRTCP) [ 9 ].
- RFC 6083 de enero de 2011 [ 10 ] para su uso con la encapsulación del Protocolo de Transmisión de Control de Flujo (SCTP)
- RFC 6347 de enero de 2012 [ 2 ] que define DTLS 1.2
- RFC 9147 de abril de 2022 [ 3 ] que define DTLS 1.3
DTLS 1.0 se basa en TLS 1.1, DTLS 1.2 se basa en TLS 1.2 y DTLS 1.3 se basa en TLS 1.3. No existe DTLS 1.1 porque se omitió este número de versión para armonizar los números de versión con TLS. [ 2 ] Al igual que las versiones anteriores de DTLS, DTLS 1.3 pretende proporcionar "garantías de seguridad equivalentes [a TLS 1.3] con la excepción de la protección de orden/no repetibilidad". [ 11 ]
Implementaciones
Bibliotecas
Aplicaciones
- El cliente VPN Cisco AnyConnect utiliza TLS e inventó la VPN basada en DTLS. [ 34 ]
- OpenConnect es un cliente y servidor ocserv de código abierto compatible con AnyConnect que admite (D)TLS. [ 35 ]
- Cisco InterCloud Fabric utiliza DTLS para formar un túnel entre entornos informáticos privados y públicos/de proveedor. [ 36 ]
- Cato Networks utiliza DTLS v1.2 para el túnel subyacente utilizado tanto por el cliente Cato Socket como por el cliente Cato ZTNA (anteriormente SDP) al formar túneles hacia los POP de Cato [ 37 ] y al formar túneles fuera de la nube entre sockets de Cato. [ 38 ]
- ZScaler tunnel 2.0 para ZScaler Internet Access (ZIA) utiliza DTLS para la tunelización. ZScaler Private Access (ZPA) no admite DTLS [ 39 ].
- El cliente VPN Edge de F5 Networks utiliza TLS y DTLS. [ 40 ]
- La VPN SSL de Fortinet [ 41 ] y la VPN SSL de Array Networks [ 42 ] también utilizan DTLS para la tunelización VPN.
- Citrix Systems NetScaler utiliza DTLS para proteger UDP. [ 43 ]
- Navegadores web: Google Chrome , Opera y Firefox admiten DTLS-SRTP [ 44 ] para WebRTC . Firefox 86 y versiones posteriores no admiten DTLS 1.0. [ 45 ]
- Protocolo de Escritorio Remoto 8.0 y versiones posteriores.
Vulnerabilidades
En febrero de 2013, dos investigadores de Royal Holloway, Universidad de Londres, descubrieron un ataque de temporización [ 46 ] que les permitió recuperar (partes del) texto plano de una conexión DTLS utilizando la implementación OpenSSL o GnuTLS de DTLS cuando se utilizó el cifrado en modo Cipher Block Chaining .
Véase también
Referencias
- 1 2 E. Rescorla; N. Modadugu (abril de 2006). Seguridad de la capa de transporte de datagramas . Grupo de trabajo de redes. doi : 10.17487/RFC4347 . RFC 4347 .Obsoleto. Obsoleto según RFC 6347. Actualizado por RFC 5746 y 7507 .
- 1 2 3 4 E. Rescorla; N. Modadugu (enero de 2012). Seguridad de la capa de transporte de datagramas versión 1.2 . Grupo de trabajo de ingeniería de Internet . doi : 10.17487/RFC6347 . ISSN 2070-1721 . RFC 6347 . Obsoleto. Obsoleto según RFC 9147. Actualizado por RFC 7507 , 7905 , 8996 y 9146. Deja obsoleto a RFC 4347 .
- 1 2 3 E. Rescorla; H. Tschofenig; N. Modadugu (abril de 2022). El protocolo de seguridad de la capa de transporte de datagramas (DTLS) versión 1.3 . Grupo de trabajo TLS de la Fuerza de Tarea de Ingeniería de Internet . doi : 10.17487/RFC9147 . RFC 9147 .Norma propuesta. Sustituye a RFC 6347 .
- ↑ Titz, Olaf (23 de abril de 2001). "Por qué TCP sobre TCP es una mala idea" . Archivado del original el 10 de marzo de 2023. Recuperado el 17 de octubre de 2015 .
{{cite web}}: CS1 maint: bot: estado de la URL original desconocido ( enlace ) - ↑ Honda, Osamu; Ohsaki, Hiroyuki; Imase, Makoto; Ishizuka, Mika; Murayama, Junichi (octubre de 2005). "Understanding TCP over TCP: effects of TCP tunneling on end-to-end throughput and latency". En Atiquzzaman, Mohammed; Balandin, Sergey I (eds.). Performance, Quality of Service, and Control of Next-Generation Communication and Sensor Networks III . Vol. 6011. Bibcode : 2005SPIE.6011..138H . CiteSeerX 10.1.1.78.5815 . doi : 10.1117/12.630496 . S2CID 8945952 .
- ↑ T. Phelan (mayo de 2008). Seguridad de la capa de transporte de datagramas (DTLS) sobre el protocolo de control de congestión de datagramas (DCCP) . Grupo de trabajo de redes. doi : 10.17487/RFC5238 . RFC 5238 .Informativo. Actualizado por RFC 8996 .
- ↑ P. Calhoun; M. Montemurro; D. Stanley, eds. (marzo de 2009). Especificación del protocolo de control y aprovisionamiento de puntos de acceso inalámbricos (CAPWAP) . Grupo de trabajo de redes. doi : 10.17487/RFC5415 . RFC 5415 .Norma propuesta. Actualizada por RFC 8553 y 8996 .
- ↑ D. McGrew; E. Rescorla (mayo de 2010). Extensión de Datagram Transport Layer Security (DTLS) para establecer claves para el protocolo de transporte seguro en tiempo real (SRTP) . Internet Engineering Task Force . doi : 10.17487/RFC5764 . ISSN 2070-1721 . RFC 5764 . Norma propuesta. Actualizada por RFC 7983 y 9443 .
- ↑ Peck, M.; Igoe, K. (2012-09-25). "Perfil Suite B para Datagram Transport Layer Security / Secure Real-time Transport Protocol (DTLS-SRTP)" . IETF .
- ↑ M. Tuexen; R. Seggelmann; E. Rescorla (enero de 2011). Seguridad de la capa de transporte de datagramas (DTLS) para el protocolo de transmisión de control de flujo (SCTP) . Grupo de trabajo de ingeniería de Internet . doi : 10.17487/RFC6083 . ISSN 2070-1721 . RFC 6083 . Estándar propuesto. Actualizado por RFC 8996 .
- ↑ "Protocolo de seguridad de la capa de transporte de datagramas (DTLS) versión 1.3" .
- ↑ "Notas de la versión 3.3.2 de LibreSSL" . El proyecto OpenBSD. 1 de mayo de 2021. Consultado el 13 de junio de 2021 .
- ↑ Julien Kauffmann. "libsystools: Una biblioteca de código abierto TLS/DTLS para Windows/Linux que utiliza OpenSSL" . SourceForge .
- 1 2 "mbed TLS 2.0.0 lanzado" . ARM. 13-07-2015 . Consultado el 25-08-2015 .
- ↑ "Notas de la versión NSS 3.14" . Mozilla Developer Network . Mozilla. Archivado del original el 17 de enero de 2013. Consultado el 27 de octubre de 2012 .
- ↑ "Notas de la versión NSS 3.16.2" . Mozilla Developer Network . Mozilla. 30 de junio de 2014. Archivado del original el 7 de diciembre de 2021. Consultado el 30 de junio de 2014 .
- ↑ "A partir de la versión 1.0.2" . El proyecto OpenSSL . 22 de enero de 2015. Archivado del original el 4 de septiembre de 2014. Consultado el 26 de enero de 2015 .
- ↑ Ray Brown. "pydtls - Seguridad de la capa de transporte de datagramas para Python" . GitHub .
- ↑ Ray Brown. "DTLS para Python" . Python Software Foundation .
- ↑ Ray Brown/Mobius Software LTD. "pydtls - Seguridad de la capa de transporte de datagramas para Python" . GitHub .
- ↑ Ray Brown/Mobius Software LTD. "DTLS para Python3 basado en PyDTLS" . Python Software Foundation .
- 1 2 "Hay una actualización disponible que agrega compatibilidad con DTLS en Windows 7 SP1 y Windows Server 2008 R2 SP1" . Microsoft . Consultado el 13 de noviembre de 2012 .
- ↑ Justinha. "Cambios en TLS (Schannel SSP) en Windows 10 y Windows Server 2016" . docs.microsoft.com . Consultado el 1 de septiembre de 2017 .
- ↑ "Nota técnica TN2287: Problemas de interoperabilidad entre iOS 5 y TLS 1.2" . Biblioteca para desarrolladores de iOS . Apple Inc. Consultado el 3 de mayo de 2012 .
- ↑ Olaf Bergmann. "tinydtls" . Fundación Eclipse .
- ↑ Peter Waher. "Waher.Security.DTLS" . Waher Data AB .
- ↑ "wolfSSL Biblioteca SSL/TLS integrada" .
- ↑ Dmitriy Tsvettsikh. "Comunicaciones UDP seguras usando DTLS en js puro" . GitHub .
- ↑ Dmitriy Tsvettsikh. "DTLS en js puro" . npm .
- ↑ Mobius Software LTD. "Implementación Java DTLS sin bloqueo basada en BouncyCastle y Netty" . Mobius Software LTD .
- ↑ Sean DuBois. "pion/dtls: Implementación de servidor/cliente DTLS 1.2 para Go" . GitHub .
- ↑ "californium/scandium: Implementación de servidor/cliente DTLS 1.2 para Java y Coap. Incluye extensión de ID de conexión" . Fundación Eclipse .
- ↑ SNF4J.ORG. "Simple Network Framework for Java (SNF4J)" . GitHub .
{{cite web}}: CS1 maint: nombres numéricos: lista de autores ( enlace ) - ↑ "Preguntas frecuentes de AnyConnect: túneles, comportamiento de reconexión y temporizador de inactividad" . Cisco . Consultado el 26 de febrero de 2017 .
- ↑ "OpenConnect" . OpenConnect . Consultado el 26 de febrero de 2017 .
- ↑ "Descripción general de la arquitectura de Cisco InterCloud" (PDF) . Cisco Systems .
- ↑ "Conjuntos de cifrado de Cato Networks utilizados por el cliente Cato Socket y SDP" .
- ↑ "Cato Networks enrutando tráfico a un enlace fuera de la nube" .
- ↑ "ZScaler ZTNA 2.0 Tunnel" . ZScaler .
- ↑ "Seguridad de la capa de transporte de datagramas de f5 (DTLS)" . Redes f5 .
- ↑ "Uso de DTLS para mejorar el rendimiento de las VPN SSL" . Fortinet . 25 de febrero de 2016.
- ↑ "array.c de OpenConnect" . 23 de mayo de 2022.
- ↑ "Configuración de un servidor virtual DTLS" . Citrix Systems .
- ↑ "Notas de interoperabilidad de WebRTC" . Archivado del original el 11 de mayo de 2013.
- ↑ "Firefox 86.0, vea todas las nuevas funciones, actualizaciones y correcciones" . Mozilla . 23 de febrero de 2021. Archivado del original el 22 de febrero de 2021. Consultado el 23 de febrero de 2021. A
partir de Firefox 86, DTLS 1.0 ya no es compatible para establecer conexiones PeerConnection de WebRTC. Todos los servicios WebRTC deben ser compatibles con DTLS 1.2 como versión mínima.
- ↑ "Ataques de recuperación de texto plano contra TLS de datagramas" (PDF) . Archivado del original (PDF) el 18 de enero de 2012. Consultado el 25 de noviembre de 2013 .
Enlaces externos
- "Seguridad de la capa de transporte (TLS) - Carta" . IETF .
- Modadugu, Nagendra; Rescorla, Eric (2003-11-21). "El diseño e implementación de Datagram TLS" (PDF) . Stanford Crypto Group . Recuperado el 17 de marzo de 2013 .
- AlFardan, Nadhem J.; Paterson, Kenneth G. "Ataques de recuperación de texto plano contra TLS de datagramas" (PDF) . Archivado del original (PDF) el 18 de enero de 2012. Recuperado el 25 de noviembre de 2013 .
- Gibson, Steve; Laporte, Leo (28-11-2012). "Seguridad de la capa de transporte de datagramas" . Security Now 380. Recuperado el 17-03-2013 .Saltar al minuto 1:07:14.
- Código de ejemplo de Robin Seggelmann : eco, generador de caracteres y cliente/servidor de descarte.
- La conexión DTLS ilustrada
- protocolos criptográficos
- protocolos de la capa de sesión
- Seguridad de la capa de transporte
- redes privadas virtuales