STUN está diseñado para descubrir la Dirección IP pública del cliente si el cliente se encuentra detrás de NAT.
De wikipedia:
Los mensajes STUN generalmente se envían en paquetes de Protocolo de datagramas de usuario (UDP). Dado que UDP no proporciona garantías de transporte confiables, la confiabilidad se logra mediante retransmisiones controladas por la aplicación de las solicitudes STUN. Los servidores STUN no implementan ningún mecanismo de confiabilidad para sus respuestas. Cuando la confiabilidad es obligatoria, se puede usar el Protocolo de Control de Transmisión (TCP), pero genera una sobrecarga adicional en la red. En aplicaciones sensibles a la seguridad, STUN puede ser transportado y cifrado por Transport Layer Security (TLS). El número de puerto de escucha estándar para un servidor STUN es 3478 para UDP y TCP, y 5349 para TLS.
Significa que su conexión con el servidor STUN puede o no estar siempre cifrada. Depende del tipo de aplicación.
Una vez que el cliente ha descubierto su IP pública y detrás de qué tipo de NAT se encuentra, la conexión con el servidor STUN se termina para ahorrar recursos de red. STUN usa 2 direcciones IP.
¿Cómo se comunican los compañeros entonces?
El trabajo de STUN ha terminado y ahora es el momento de comenzar una sesión entre peerA y peerB. Para la comunicación P2P , el Protocolo de inicio de sesión (SIP) como VoIP & Protocolo de descripción de sesión (SDP) se utilizan.
Si el STUN no está cifrado, ¿significa que algún protocolo que se comunique a través del UDP tampoco se cifrará?
No. No depende de si ha usado o no un canal seguro para comunicarse con STUN. La sesión entre ambos pares se cifrará de extremo a extremo independientemente de su conexión segura / no segura con STUN. Es responsabilidad del proveedor de servicios P2P garantizar el cifrado & canal seguro para su sesión P2P .
Si su conexión con STUN no es privada, la única información que se puede capturar es su IP pública y privada, puertos externos e internos y el tipo de NAT que está usando.