¿Qué capa es TLS?

53

TLS significa " transporte de seguridad de capa". Y la lista de números de protocolo IP incluye "TLSP" como "Protocolo de seguridad de la capa de transporte". Estas dos cosas me harían creer que TLS es un protocolo de capa de transporte.

Sin embargo, la mayoría de las personas parecen hablar de TLS sobre TCP. Wikipedia lo enumera como un protocolo de "capa de aplicación". Esto se complica aún más por el hecho de que TCP no tiene nada como un número de protocolo: solo empaqueta bytes brutos, entonces, ¿cómo analizar que está obteniendo un paquete TLS, frente a un paquete que comienza con 0x14 ? - 0x18 o equivalente?

    
pregunta Andrew Spott 07.07.2015 - 16:51
fuente

4 respuestas

85

El modelo OSI , que clasifica los protocolos de comunicación en capas sucesivas, es solo eso: un modelo . Es un intento de empujar una realidad física en cajas etiquetadas claramente definidas. Nadie ha garantizado que funcione ...

Históricamente, ese modelo se construyó y publicó cuando la ISO estaba presionando para la adopción de sus propios protocolos de red . Perdieron. El mundo, en general, prefirió usar el TCP / IP mucho más simple. El "modelo" sobrevivió a la muerte de su ecosistema inicial, y muchas personas han tratado de aplicarlo a TCP / IP. Incluso es comúnmente enseñado de esa manera. Sin embargo, el modelo no coincide bien con TCP / IP. Algunas cosas no encajan en las capas, y SSL / TLS es una de ellas.

Si miras los detalles del protocolo:

  • SSL / TLS utiliza un medio de transporte subyacente que proporciona un flujo bidireccional de bytes. Eso lo pondría en algún lugar arriba capa 4.
  • SSL / TLS organiza los datos como registros, que pueden contener, en particular, mensajes de intercambio. Los mensajes de Handshake se parecen a la capa 5. Esto pondría a SSL / TLS en la capa 6 o 7.
  • Sin embargo, lo que SSL / TLS transmite son "datos de aplicación", que es, de hecho, un flujo de bytes bidireccional. Las aplicaciones que utilizan SSL / TLS realmente lo utilizan como un protocolo transporte . Luego usan su propia representación de datos y mensajes y semántica dentro de esos "datos de aplicación". Por lo tanto, SSL / TLS no puede estar, en el modelo OSI, más allá de la capa 4.

Por lo tanto, en el modelo OSI, SSL / TLS debe estar en la capa 6 o 7, y, al mismo tiempo , en la capa 4 o inferior. La conclusión es ineludible: el modelo OSI no funciona con SSL / TLS. TLS no está en ninguna capa.

(Esto no impide que algunas personas presionen TLS de forma arbitraria en una capa. Como no tiene un impacto práctico, esto es solo un modelo; conceptualmente puede declarar que TLS es la capa 2, 5 o 17; ganó no se demuestre que es falso.)

    
respondido por el Tom Leek 07.07.2015 - 17:17
fuente
31

Modelo TCP / IP

  1. Capa de enlace
  2. Capa de Internet (IP)
  3. Capa de transporte
  4. solicitud

TLS funciona entre la capa de transporte y la capa de aplicación (tipo de). Realmente solo envuelve el tráfico de la capa de aplicación en cifrado durante el transporte.

El intercambio de claves TLS ocurre entre las capas. Aquí no es realmente la capa de transporte porque cosas como números de puerto y números de secuencias ya están en su lugar en la capa de transporte. Solo está enviando datos para establecer protocolos de cifrado de modo que pueda envolver la capa de aplicación.

IPSec hace lo mismo, solo en una capa anterior. La seguridad IP protege todo lo que está por encima de la capa IP. Seguridad de transporte protege todo lo que está por encima de la capa de transporte. Los intercambios de claves para ambos están en un lugar extraño porque solo necesitan enviar datos para establecer la capa segura. Se parece mucho a cómo ICMP se considera un protocolo IP, pero todavía contiene datos después de la capa IP. ¿Esto lo hace la capa de transporte? No.

Modelo OSI

El modelo OSI tiene un poco más de granularidad.

  1. Capa Física
  2. Capa de enlace de datos
  3. Capa de red (IP)
  4. Capa de transporte (TCP)
  5. Capa de sesión (TLS)
  6. Capa de presentación
  7. Capa de aplicación (HTTP)

TLS establece una sesión encriptada. En el modelo OSI aquí es donde opera TLS. Establece su sesión y agrega una capa de cifrado para la capa de aplicación (HTTP).

Una respuesta relacionada .

Análisis de TLS

En el Encabezado del Protocolo de Control de Transmisión hay un campo Data Offset . Este campo representa el tamaño del encabezado TCP en palabras de 32 bits. El tamaño mínimo para este valor es 5 (20 bytes). Esto está en un desplazamiento fijo desde el principio del encabezado TCP. Al usar este valor, sabrá el tamaño del TCP y puede usarlo para calcular el comienzo de la porción TLS.

Un Registro TLS siempre comenzará con un tipo de contenido, y luego con la versión SSL. Solo hay 5 tipos de contenido diferentes y 4 versiones diferentes de las que preocuparse. Por lo tanto, al utilizar los primeros 3 bytes de los datos después del encabezado TCP, debería poder determinar si se está utilizando SSL / TLS.

Ejecutaría Wireshark en su máquina (no trabajo), y filtraría en "ssl". Luego, simplemente vaya a enlace . Podrás ver todo el apretón de manos. Todas las capas están rotas para ti. Proporcionará una buena representación de cómo se construyen las capas con TLS, y podrás ver cada uno de los registros TLS.

    
respondido por el RoraΖ 07.07.2015 - 17:14
fuente
8

Esta respuesta solo trata el sub aspecto "TLSP" de la pregunta.

  

la lista de números de protocolo IP incluye "TLSP" como "Protocolo de seguridad de la capa de transporte".

Nunca había oído hablar de ese protocolo. No es el protocolo que usas para mostrar páginas HTTPS.

TLSP parece ser un protocolo muy oscuro. Y fue registrado en 1994-10 . Esto fue antes del protocolo al que ahora nos referimos comúnmente como "TLS". En aquel día, el protocolo todavía se llamaba "SSL". El primer borrador público de "TLS" está fechado dos años más tarde, en 1996-11-26.

Consulte esta pregunta para obtener detalles sobre la línea de tiempo:

La IANA nombra a "Christer_Oberg@bull.se" como el registrante. Ese nombre no me suena. El sitio web bull.se tampoco está activo.

De hecho, hay una página de LinkedIn para una sueca Christer Öberg que trabajó para una Empresa "Bull" como "soluciones de seguridad CTO" en 1994 . Supongo que ese es el tipo que una vez envió el registro "TLSP". (Y también que él es el único que puede decirte lo que realmente fue "TLSP").

    
respondido por el StackzOfZtuff 07.07.2015 - 17:28
fuente
2

TCP tiene un número de protocolo IP: 0x06

TSL / SSL es un protocolo de aplicación que significa que algún programa (no el sistema operativo) procesa los paquetes. Por ejemplo, si un servidor web acepta solicitudes HTTPS, es el servidor web el que procesa los paquetes SSL que se encuentran dentro de los paquetes TCP.

El protocolo TLSP 0x38 es específico de Kryptonet. Nadie ha usado la administración de claves Kryptonet durante años.

Los paquetes de comunicación no se procesan de forma genérica en función de su contenido. El servidor espera que los paquetes estén en el protocolo correcto desde el principio. Por ejemplo, si un servidor SSL está escuchando en un socket y recibe un paquete no SSL, lo ignorará.

    
respondido por el Tyler Durden 07.07.2015 - 23:47
fuente

Lea otras preguntas en las etiquetas