Resumen

  • RFC 3519 encapsuló datos Mobile IPv4 en UDP y convirtió la dirección y el puerto exteriores vistos tras el NAT en el localizador care-of efectivo.
  • La autenticación protegía el care-of escrito dentro del registro, no el tuple exterior. Vida corta, keepalive e IPsec reducían consecuencias sin firmar ese localizador.

Mobile IPv4 esperaba una dirección care-of enrutable. NAPT esperaba puertos para distinguir nodos privados detrás de una dirección pública. IP-in-IP no ofrecía esos puertos, de modo que los datos podían fracasar aunque la Registration Request y su Reply, ya transportadas en UDP, cruzaran el traductor.

RFC 3519 agregó una petición de túnel, una respuesta y un mensaje de datos. Tras la aceptación, IP, GRE o encapsulación mínima podían viajar dentro de UDP usando el puerto 434 y el mismo puerto origen de la inscripción. El NAT obtenía así el identificador que necesitaba.

La respuesta afirmativa demostraba consentimiento para ese binding. No autenticaba el mapping ni garantizaba su permanencia. El agente comparaba la fuente IP exterior con el care-of incluido en la petición; una diferencia sugería NAT. Entonces usaba la fuente observada como dirección efectiva.

La extensión Mobile-Home o Foreign-Home Authentication protegía el contenido del registro. El NAT reescribía la cabecera IP y el puerto UDP exterior, fuera de esa protección. El destino operativo del tráfico nacía, por tanto, de un mensaje autenticado y un localizador no autenticado.

Un atacante en ruta podía alterar esas cabeceras y hacer que el agente instalara una redirección. Después no necesitaba seguir tocando los paquetes: la asociación falsa duraba hasta expirar o hasta una nueva inscripción.

Cuando una dirección co-located se registraba mediante foreign agent, el agente local esperaba el primer keepalive para conocer el puerto final. El binding quedaba half-bound. Un observador podía enviar antes un keepalive falso. Exigir la misma IP reducía el ataque a otro puerto de esa dirección, pero no probaba quién poseía el puerto.

Los Echo Request/Reply ICMP dentro de UDP también detectaban la desaparición del mapping. Sin respuesta, el móvil podía reinscribirse y acortar el intervalo, con diez segundos como mínimo. El valor por defecto era 110 segundos.

El agente local no debía adaptar el intervalo por sí solo porque carecía de información suficiente. El móvil, que veía la pérdida, conservaba esa decisión. Así podían separarse la validez del binding, la vida del mapping y la entrega real.

Una vida conservadora limitaba la duración de una redirección o de un movimiento no detectado. No impedía modificar cabeceras. IPsec mantenía confidencial el contenido secuestrado, pero el propio RFC negó que solucionara la redirección.

El análisis UNSAF imaginó una solución más fuerte: descubrir traducciones, validar la autoridad de cada NAT e incluir el localizador relevante en el registro firmado. RFC 3519 no disponía de ella. Su apuesta era funcionar con equipos desplegados y conservar visibles sus límites.

IANA asignó los códigos comunes. El registro prueba autoridad numérica, no un mapping vivo. La enseñanza permanece: autenticar una solicitud no autentica automáticamente todos los datos observados que un receptor usa para ejecutarla.

Fuentes