Resumen
- RFC 1948 expuso a un atacante que obtenía el número inicial de una conexión legítima, fingía ser un equipo de confianza y adivinaba el siguiente número del servidor para terminar un saludo cuya respuesta no podía ver.
- La defensa conservaba el contador temporal
Mpara las reaperturas de una misma conexión y añadía una desviación secretaFpropia de cada combinación de dos direcciones y dos puertos. La muestra de un diálogo dejaba de servir como mapa del siguiente.
El primer paso del ladrón parecía una visita corriente: abrir una conexión TCP y anotar el número con el que respondía el servidor. El RFC 1948, de mayo de 1996, explicó cómo esa muestra ayudaba a predecir el número de la conexión que venía después. El intruso usurpaba entonces la dirección IP de una máquina en la que el servidor confiaba. La respuesta del servidor viajaba a la máquina verdadera y quedaba fuera de la vista del atacante. Con una predicción acertada y la máquina legítima silenciada, el intruso podía mandar el último acuse. Un servicio de órdenes que concedía confianza por dirección lo recibía como si fuera el amigo esperado.
La grieta estaba entre conversaciones. Una conexión auténtica enseñaba un número inicial de secuencia, el ISN. En los núcleos derivados de Berkeley que citaba el RFC, el contador avanzaba cantidades predecibles con el tiempo y con cada conexión nueva. La apertura falsificada necesitaba un número posterior. Si una muestra permitía calcularlo, el atacante completaba el saludo sin haber visto el mensaje enviado a la dirección usurpada. El mostrador expedía turnos con una pauta que se podía aprender desde fuera.
Elegir un número completamente aleatorio para cada apertura parecía sencillo. El RFC 793 original de TCP había empleado un reloj progresivo para separar una conexión recién abierta de los paquetes rezagados de una encarnación anterior con los mismos extremos. RFC 1948 también señaló el tratamiento de TIME-WAIT en sistemas derivados de BSD. Las conversaciones distintas necesitaban puntos de partida difíciles de relacionar; las reaperturas de la misma necesitaban una progresión. Un sorteo indiscriminado curaba la predicción y podía desordenar la memoria de los paquetes viejos.
RFC 1948 dividió el trabajo. Una conexión TCP se identifica por cuatro datos: dirección y puerto locales, dirección y puerto remotos. Para cada cuarteto, el número inicial se calculaba como M + F(cuarteto). M era el reloj que seguía avanzando. F era una desviación derivada del cuarteto y de un secreto. Dos cuartetos arrancaban en pistas diferentes; si el mismo cuarteto reaparecía más tarde, el tiempo lo llevaba hacia delante. Mirar un dispensador de números ya no revelaba dónde comenzaba el de al lado.
La desviación debía quedar fuera del alcance de quien preguntaba. RFC 1948 propuso una función hash criptográfica del cuarteto y material secreto, con MD5 como ejemplo disponible entonces. Su texto barajaba aleatoriedad, una clave del equipo, el momento de arranque y la identidad de la máquina. Si F se podía calcular desde fuera, el ladrón recuperaba el patrón. La propuesta evitaba a la vez mantener una libreta permanente con el estado de cada conexión ya cerrada.
Había un coste al cambiar la clave. En una máquina en marcha, un secreto nuevo desplazaba el punto de partida de un cuarteto que volviera a usarse. RFC 1948 exigía conservar el estado de conexiones muertas o guardar silencio durante dos vidas máximas de segmento tras ese cambio. El secreto protegía la separación entre pistas; una rotación descuidada podía romper la distancia temporal que preservaba a cada pista de sus paquetes antiguos. Cambiar el candado también obliga a mirar qué queda entre la puerta y el marco.
En 2012, RFC 6528 convirtió la idea en norma, sustituyó RFC 1948 y actualizó RFC 793. Especificó una función seudoaleatoria con el cuarteto y la clave secreta, mantuvo la estructura M + F y trató la longitud y rotación de la clave. El gesto central seguía siendo el de 1996: el tiempo ordenaba la historia de una misma identidad de conexión; el secreto separaba esa historia de las demás.
El ladrón podía pedir un turno y quedarse con el papel. RFC 1948 hizo que ese papel dejase de señalar el punto de partida del siguiente mostrador. Una puerta seguía a la vista; la distancia hasta la otra quedaba guardada detrás del mostrador.
Informe para miembros
Contexto ampliado del perfil
Inicia sesión con el nivel de membresía adecuado para desbloquear el informe completo y las notas de las fuentes.
Solo para Strategic Circle
Strategic Circle
Abierto a todos los lectores. Desbloquea informes de perfil después de unirte e iniciar sesión.
Únete a Strategic CircleSolo para Leadership Alliance
Leadership Alliance
Para propietarios y directivos cualificados de activos de propiedad intelectual; inicia sesión para desbloquear los informes de la alianza.
Unirse a Leadership Alliance





