Resumen

  • El agente controlador de ICE puede nominar una pareja válida por componente; cuando dos agentes completos se declaran controladores, una comparación de desempates aleatorios asigna la tarea.
  • Ser controlador no demuestra identidad, consentimiento humano, propiedad de una dirección, integridad de la señalización, protección del medio ni éxito de la aplicación.

Un cargo creado para que el protocolo avance

La palabra «controlador» parece describir al dueño de la sesión. En RFC 5245 describe algo mucho más pequeño: cuál agente realizará la nominación. Cada agente ICE completo genera de forma uniforme un valor entre cero y 2^64 menos uno. Si los dos envían ICE-CONTROLLING, comparan los valores. La respuesta 487 Role Conflict permite corregir la colisión y uno de ellos cambia de rol.

El sorteo no pregunta quién inició la conversación, quién formuló la oferta, quién paga, quién administra la red o quién tiene permiso para hablar. Tampoco convierte el número en un identificador permanente. Incluso cuando un agente cambia de función, conserva el desempate ya elegido.

Por eso «controlador» es un cargo operativo sin jerarquía institucional. Llamarlo «propietario de sesión» en una consola no simplifica la RFC: añade una afirmación que el protocolo no observó.

La nominación no salta la cola de evidencias

Antes de elegir, ICE reúne candidatos locales, reflexivos y de relevo. Los agentes intercambian esa información mediante una conexión de señalización que ICE presupone, forman parejas, las ordenan y ejecutan comprobaciones STUN. Una transacción correcta puede llevar una pareja a la lista válida y mostrar que el tráfico de comprobación recorrió el trayecto en ambos sentidos en ese momento.

Después, el controlador aplica su política local. En la nominación regular envía USE-CANDIDATE sobre una pareja válida. RFC 8445 mantuvo ese procedimiento y eliminó la nominación agresiva de RFC 5245.

Esta secuencia produce recibos diferentes: prioridad declarada, comprobación superada, pareja válida, pareja nominada y pareja seleccionada. Si una plataforma guarda sólo el último estado, pierde las razones por las que se llegó a él. Y si trata la capacidad de nominar como prueba de los pasos anteriores, permite que el nombre del rol suplante la evidencia.

El canal previo define lo que puede creerse

ICE no crea el canal de señalización. Los candidatos y credenciales cortas de STUN llegan por ese canal. La integridad de los mensajes de comprobación es importante, pero depende de que los secretos se hayan entregado a las partes correctas.

Un intercambio de señalización manipulado puede alimentar candidatos falsos a una máquina que luego ejecuta impecablemente ICE. RFC 8445 analiza precisamente resultados falso-inválidos, falso-válidos y falsos candidatos reflexivos. El término «válido» es una conclusión acotada por el estado, las credenciales y la transacción. No certifica la propiedad de la IP ni la identidad del operador.

La contabilidad útil conserva la procedencia de las credenciales junto con el resultado STUN. Sin ella, una marca criptográfica responde «este mensaje coincide con esta clave», pero el sistema no puede explicar por qué esa clave representaba al interlocutor esperado.

El consentimiento automático no es voluntad humana

RFC 7675 considera que el éxito inicial de ICE aporta consentimiento inicial de aplicación para enviar a la pareja. También aclara que no interviene una persona. Ese consentimiento está ligado a una tupla de cinco elementos y necesita renovaciones periódicas de solicitud y respuesta.

La pareja seleccionada y el consentimiento vigente envejecen de forma distinta. ICE por sí solo no anuncia el momento en que el consentimiento termina. Guardar una selección durante horas no prolonga el último recibo. Y ningún recibo de protocolo sustituye un permiso de usuario, una política empresarial o una base legal.

Por la misma razón, conectividad no es contenido. La seguridad y autenticación del medio corresponden a otros mecanismos; la aplicación decide si pudo decodificar y aceptar lo recibido. Una pareja puede estar seleccionada sin transportar audio útil, y una sesión puede transportar paquetes sin lograr el objetivo humano.

Visibilidad no equivale a propiedad

Las medidas de privacidad de RFC 8828 existen porque publicar candidatos host puede revelar topología. Haber recibido o alcanzado una dirección no concede permiso para exponerla. El dato debe permanecer bajo la política de privacidad que acompañó su intercambio.

RFC 5128 añade otra cautela: algunos caminos directos fallan y se necesita un relé. La nominación no prueba que la ruta sea directa, estable, barata ni independiente de infraestructura intermedia.

Una ficha honesta separa once escalones: afirmación de rol, resolución del conflicto, señalización autenticada, integridad STUN, éxito de pareja, nominación, selección bilateral, consentimiento actual, tráfico protegido, aceptación de la aplicación y resultado del servicio. La disciplina de capas de realidad de Lu Heng impide que un escalón inferior hable por los superiores.

RFC 5245 ha sido sustituida en la práctica normativa por RFC 8445, con los procedimientos SDP separados en RFC 8839. Auditar una implementación exige identificar la generación correcta. En todas ellas permanece una frontera esencial: el número más alto asigna trabajo, no autoridad.

Fuentes