Protocolo de comunicaciones
Datagram Transport Layer Security ( 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 evitar escuchas clandestinas , manipulaciones o falsificación de mensajes . El protocolo DTLS se basa en el protocolo Transport Layer Security (TLS) orientado a flujos y está destinado a proporcionar garantías de seguridad similares. El datagrama del protocolo DTLS preserva 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 la reordenación de paquetes , la pérdida de datagramas y datos más grandes 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:
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 tiene como objetivo proporcionar "garantías de seguridad equivalentes [a TLS 1.3] con la excepción de la protección de pedidos/no rejugabilidad". [11]
Implementaciones
Bibliotecas
Aplicaciones
- El cliente VPN Cisco AnyConnect utiliza TLS y una VPN basada en DTLS inventada. [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 proveedores. [36]
- El túnel ZScaler 2.0 utiliza DTLS para la tunelización. [37]
- El cliente VPN Edge de F5 Networks utiliza TLS y DTLS. [38]
- La VPN SSL de Fortinet [39] y la VPN SSL de Array Networks [40] también utilizan DTLS para la tunelización VPN.
- Citrix Systems NetScaler utiliza DTLS para proteger UDP. [41]
- Navegadores web: Google Chrome , Opera y Firefox admiten DTLS-SRTP [42] para WebRTC . Firefox 86 y versiones posteriores no admiten DTLS 1.0. [43]
- Protocolo de Escritorio Remoto 8.0 y posteriores.
Vulnerabilidades
En febrero de 2013, dos investigadores de Royal Holloway, Universidad de Londres, descubrieron un ataque de temporización [44] que les permitió recuperar (partes del) texto simple de una conexión DTLS utilizando la implementación OpenSSL o GnuTLS de DTLS cuando se utilizaba el modo de cifrado en cadena de bloques de cifrado .
Véase también
Referencias
- ^ ab 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. Quedó obsoleto según RFC 6347. Actualizado por RFC 5746 y 7507.
- ^ abc E. Rescorla; N. Modadugu (enero de 2012). Datagram Transport Layer Security versión 1.2. Grupo de trabajo de ingeniería de Internet (IETF). doi : 10.17487/RFC6347 . ISSN 2070-1721. RFC 6347. Obsoleto. Quedó obsoleto según RFC 9147. Actualizado por RFC 7507, 7905, 8996 y 9146. Queda obsoleto RFC 4347.
- ^ abc E. Rescorla; H. Tschofenig; N. Modadugu (abril de 2022). Protocolo de seguridad de la capa de transporte de datagramas (DTLS) versión 1.3. Grupo de trabajo TLS de la IETF . doi : 10.17487/RFC9147 . RFC 9147. Norma propuesta. RFC 6347 obsoleta
- ^ Titz, Olaf (23 de abril de 2001). "Por qué TCP sobre TCP es una mala idea". Archivado desde el original el 10 de marzo de 2023. Consultado el 17 de octubre de 2015 .
{{cite web}}
: CS1 maint: bot: original URL status unknown (link) - ^ Honda, Osamu; Ohsaki, Hiroyuki; Imase, Makoto; Ishizuka, Mika; Murayama, Junichi (octubre de 2005). "Comprensión de TCP sobre TCP: efectos de la tunelización TCP en el rendimiento y la latencia de extremo a extremo". En Atiquzzaman, Mohammed; Balandin, Sergey I (eds.). Rendimiento, calidad de servicio y control de las redes de sensores y comunicaciones de próxima generación 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 seguridad de la capa de transporte de datagramas (DTLS) para establecer claves para el protocolo de transporte seguro en tiempo real (SRTP). Grupo de trabajo de ingeniería de Internet . doi : 10.17487/RFC5764 . ISSN 2070-1721. RFC 5764. Norma propuesta. Actualizada por RFC 7983 y 9443.
- ^ Peck, M.; Igoe, K. (25 de septiembre de 2012). "Perfil Suite B para seguridad de la capa de transporte de datagramas/Protocolo de transporte seguro en tiempo real (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 (IETF). doi : 10.17487/RFC6083 . ISSN 2070-1721. RFC 6083. Norma propuesta. Actualizada por RFC 8996.
- ^ "El 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. 2021-05-01 . Consultado el 2021-06-13 .
- ^ Julien Kauffmann. "libsystools: una biblioteca de código abierto TLS/DTLS para Windows/Linux que utiliza OpenSSL". SourceForge .
- ^ ab "Se lanzó mbed TLS 2.0.0". ARM. 13 de julio de 2015. Consultado el 25 de agosto de 2015 .
- ^ "Notas de la versión NSS 3.14". Mozilla Developer Network . Mozilla. Archivado desde el 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. 2014-06-30. Archivado desde el original el 2021-12-07 . Consultado el 2014-06-30 .
- ^ "A partir de la versión 1.0.2". El proyecto OpenSSL . El proyecto OpenSSL. 22 de enero de 2015. Archivado desde el 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". Fundación de software Python .
- ^ 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 .
- ^ ab "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.
- ^ "Biblioteca SSL/TLS integrada wolfSSL".
- ^ Dmitriy Tsvettsikh. "Comunicaciones UDP seguras usando DTLS en js puro". GitHub .
- ^ Dmitriy Tsvettsikh. "DTLS en js puro". npm .
- ^ Mobius Software LTD. "Implementación de DTLS Java sin bloqueo basada en BouncyCastle y Netty". Mobius Software LTD.
- ^ Sean DuBois. "pion/dtls: Implementación de servidor/cliente de DTLS 1.2 para Go". GitHub .
- ^ "californium/scandium: implementación de servidor/cliente DTLS 1.2 para Java y Coap. Incluye extensión de identificación de conexión". Eclipse Foundation .
- ^ SNF4J.ORG. «Marco de red simple para Java (SNF4J)». GitHub .
{{cite web}}
: CS1 maint: numeric names: authors list (link) - ^ "Preguntas frecuentes sobre 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 .
- ^ "Túnel ZScaler ZTNA 2.0". ZScaler .
- ^ "Seguridad de la capa de transporte de datagramas f5 (DTLS)". f5 Networks .
- ^ "Uso de DTLS para mejorar el rendimiento de VPN SSL". Fortinet . 25 de febrero de 2016.
- ^ "array.c de OpenConnect". 23 de mayo de 2022.
- ^ "Configuración de un servidor virtual DTLS". Sistemas Citrix .
- ^ "Notas sobre la interoperabilidad de WebRTC". Archivado desde el original el 11 de mayo de 2013.
- ^ "Firefox 86.0, consulte todas las nuevas funciones, actualizaciones y correcciones". Mozilla . 23 de febrero de 2021. Archivado desde el 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 entre pares de WebRTC. A partir de ahora ,
todos los servicios WebRTC deben admitir DTLS 1.2 como versión mínima.
- ^ "Ataques de recuperación de texto simple contra datagramas TLS" (PDF) .
Enlaces externos
- "Seguridad de la capa de transporte (tls) - Carta". IETF .
- Modadugu, Nagendra; Rescorla, Eric (2003-11-21). "El diseño y la implementación de datagramas TLS" (PDF) . Stanford Crypto Group . Consultado el 17 de marzo de 2013 .
- AlFardan, Nadhem J.; Paterson, Kenneth G. "Ataques de recuperación de texto simple contra datagramas TLS" (PDF) . Consultado el 25 de noviembre de 2013 .
- Gibson, Steve; Laporte, Leo (28 de noviembre de 2012). "Seguridad de la capa de transporte de datagramas". Security Now 380. Consultado el 17 de marzo de 2013 .Saltar a 1:07:14.
- Código de muestra de Robin Seggelmann: eco, generador de caracteres y descarte de cliente/servidor.
- La conexión DTLS ilustrada