Conectar y usar universal

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar
Conjunto de protocolos de red

Universal Plug and Play (UPnP) es un conjunto de protocolos de red que permite que los dispositivos en red, como computadoras personales, impresoras, puertas de enlace a Internet, puntos de acceso Wi-Fi y dispositivos móviles para descubrir sin problemas la presencia de los demás en la red y establecer servicios de red funcionales. UPnP está diseñado principalmente para redes residenciales sin dispositivos de clase empresarial.

Los protocolos UPnP fueron promovidos por UPnP Forum, una iniciativa de la industria informática para permitir una conectividad simple y robusta a dispositivos independientes y computadoras personales de muchos proveedores diferentes. El foro consistió en más de 800 proveedores involucrados en todo, desde electrónica de consumo hasta computación en red. Desde 2016, todos los esfuerzos de UPnP han sido gestionados por Open Connectivity Foundation (OCF).

UPnP asume que la red ejecuta el Protocolo de Internet (IP) y luego aprovecha HTTP, además de IP, para proporcionar una descripción del dispositivo/servicio, acciones, transferencia de datos y notificación de eventos. Las solicitudes de búsqueda de dispositivos y los anuncios son compatibles con la ejecución de HTTP sobre UDP (puerto 1900) mediante multidifusión (conocido como HTTPMU). Las respuestas a las solicitudes de búsqueda también se envían a través de UDP, pero en su lugar se envían mediante unidifusión (conocido como HTTPU).

Conceptualmente, UPnP extiende plug and play, una tecnología para conectar dispositivos de forma dinámica directamente a una computadora, a redes de configuración cero para redes inalámbricas residenciales y SOHO. Los dispositivos UPnP son plug and play en el sentido de que, cuando se conectan a una red, establecen automáticamente configuraciones de trabajo con otros dispositivos.

Por lo general, se considera que UPnP no es adecuado para la implementación en entornos comerciales por razones de economía, complejidad y consistencia: la base de multidifusión hace que sea hablador y consuma demasiados recursos de red en redes con una gran población de dispositivos; los controles de acceso simplificados no se adaptan bien a entornos complejos; y no proporciona una sintaxis de configuración uniforme como los entornos CLI de Cisco IOS o JUNOS.

Resumen

La arquitectura UPnP permite la creación de redes de dispositivo a dispositivo de productos electrónicos de consumo, dispositivos móviles, computadoras personales y electrodomésticos en red. Es un protocolo de arquitectura abierta y distribuido basado en estándares establecidos como Internet Protocol Suite (TCP/IP), HTTP, XML y SOAP. Los puntos de control (CP) UPnP son dispositivos que utilizan protocolos UPnP para controlar los dispositivos controlados UPnP (CD).

La arquitectura UPnP admite redes de configuración cero. Un dispositivo compatible con UPnP de cualquier proveedor puede unirse dinámicamente a una red, obtener una dirección IP, anunciar su nombre, anunciar o transmitir sus capacidades a pedido y conocer la presencia y las capacidades de otros dispositivos. Los servidores del Protocolo de configuración dinámica de host (DHCP) y del Sistema de nombres de dominio (DNS) son opcionales y solo se utilizan si están disponibles en la red. Los dispositivos pueden desconectarse de la red automáticamente sin dejar información de estado.

UPnP se publicó como un estándar internacional de 73 partes, ISO/IEC 29341, en diciembre de 2008.

Otras características UPnP incluyen:

Independencia de medios y dispositivos
La tecnología UPnP puede funcionar en muchos medios que soportan IP incluyendo Ethernet, FireWire, IR (IrDA), cableado (G.hn) y RF (Bluetooth, Wi-Fi). No es necesario soporte para controlador de dispositivo especial; los protocolos de red comunes se utilizan en su lugar.
Interfaz de usuario (UI) Control
Opcionalmente, la arquitectura UPnP permite a los dispositivos presentar una interfaz de usuario a través de un navegador web (ver Presentación abajo).
Sistema operativo y independencia del lenguaje de programación
Cualquier sistema operativo y cualquier lenguaje de programación se pueden utilizar para construir productos UPnP. Las pilas UPnP están disponibles para la mayoría de las plataformas y sistemas operativos en formas cerradas y de código abierto.
Control programático
La arquitectura UPnP también permite el control programático de aplicaciones convencionales.
Extensibilidad
Cada producto UPnP puede tener servicios específicos para dispositivos en la parte superior de la arquitectura básica. Además de combinar servicios definidos por UPnP Forum de varias maneras, los proveedores pueden definir sus propios tipos de dispositivos y servicios, y pueden extender dispositivos y servicios estándar con acciones definidas por proveedores, variables estatales, elementos de estructura de datos y valores variables.

Protocolo

UPnP utiliza tecnologías comunes de Internet. Asume que la red debe ejecutar el Protocolo de Internet (IP) y luego usa HTTP, SOAP y XML además de IP, para proporcionar una descripción del dispositivo/servicio, acciones, transferencia de datos y eventos. Las solicitudes de búsqueda de dispositivos y los anuncios son compatibles con la ejecución de HTTP sobre UDP mediante multidifusión (conocido como HTTPMU). Las respuestas a las solicitudes de búsqueda también se envían a través de UDP, pero en su lugar se envían mediante unidifusión (conocido como HTTPU). UPnP usa UDP debido a su menor sobrecarga al no requerir la confirmación de los datos recibidos y la retransmisión de paquetes corruptos. HTTPU y HTTPMU se enviaron inicialmente como borrador de Internet, pero expiró en 2001; desde entonces, estas especificaciones se han integrado en las especificaciones UPnP reales.

UPnP usa el puerto UDP 1900 y todos los puertos TCP usados se derivan de los mensajes activos y de respuesta SSDP.

Direccionamiento

La base de las redes UPnP es el direccionamiento IP. Cada dispositivo debe implementar un cliente DHCP y buscar un servidor DHCP cuando el dispositivo se conecta por primera vez a la red. Si no hay un servidor DHCP disponible, el dispositivo debe asignarse una dirección. El proceso por el cual un dispositivo UPnP se asigna a sí mismo una dirección se conoce dentro de la arquitectura de dispositivos UPnP como AutoIP. En UPnP Device Architecture versión 1.0, AutoIP se define dentro de la propia especificación; en UPnP Device Architecture versión 1.1, AutoIP hace referencia a IETF RFC 3927. Si durante la transacción de DHCP, el dispositivo obtiene un nombre de dominio, por ejemplo, a través de un servidor DNS o mediante el reenvío de DNS, el dispositivo debe usar ese nombre en operaciones de red posteriores; de lo contrario, el dispositivo debe usar su dirección IP.

Descubrimiento

Una vez que un dispositivo ha establecido una dirección IP, el siguiente paso en la red UPnP es el descubrimiento. El protocolo de descubrimiento UPnP se conoce como Protocolo simple de descubrimiento de servicios (SSDP). Cuando se agrega un dispositivo a la red, SSDP permite que ese dispositivo anuncie sus servicios a los puntos de control en la red. Esto se logra mediante el envío de mensajes activos SSDP. Cuando se agrega un punto de control a la red, SSDP permite que ese punto de control busque activamente dispositivos de interés en la red o escuche pasivamente los mensajes activos de SSDP de los dispositivos. El intercambio fundamental es un mensaje de descubrimiento que contiene algunos detalles esenciales sobre el dispositivo o uno de sus servicios, por ejemplo, su tipo, identificador y un puntero (ubicación de red) a información más detallada.

Descripción

Después de que un punto de control haya descubierto un dispositivo, el punto de control aún sabe muy poco sobre el dispositivo. Para que el punto de control obtenga más información sobre el dispositivo y sus capacidades, o para interactuar con el dispositivo, el punto de control debe recuperar la descripción del dispositivo de la ubicación (URL) proporcionada por el dispositivo en el mensaje de detección. La descripción del dispositivo UPnP se expresa en XML e incluye información del fabricante específica del proveedor, como el nombre y el número del modelo, el número de serie, el nombre del fabricante, las URL (de presentación) de los sitios web específicos del proveedor, etc. La descripción también incluye una lista de cualquier servicios. Para cada servicio, el documento de descripción del dispositivo enumera las URL para el control, los eventos y la descripción del servicio. Cada descripción de servicio incluye una lista de comandos, o acciones, a las que responde el servicio, y parámetros, o argumentos, para cada acción; la descripción de un servicio también incluye una lista de variables; estas variables modelan el estado del servicio en tiempo de ejecución y se describen en términos de su tipo de datos, rango y características de evento.

Control

Después de recuperar una descripción del dispositivo, el punto de control puede enviar acciones al servicio de un dispositivo. Para ello, un punto de control envía un mensaje de control adecuado a la URL de control del servicio (proporcionada en la descripción del dispositivo). Los mensajes de control también se expresan en XML utilizando el Protocolo simple de acceso a objetos (SOAP). Al igual que las llamadas a funciones, el servicio devuelve cualquier valor específico de la acción en respuesta al mensaje de control. Los efectos de la acción, si los hay, se modelan mediante cambios en las variables que describen el estado de tiempo de ejecución del servicio.

Notificación de eventos

Otra capacidad de las redes UPnP es la notificación de eventos, o eventos. El protocolo de notificación de eventos definido en la arquitectura de dispositivos UPnP se conoce como arquitectura general de notificación de eventos (GENA). Una descripción UPnP para un servicio incluye una lista de acciones a las que responde el servicio y una lista de variables que modelan el estado del servicio en tiempo de ejecución. El servicio publica actualizaciones cuando estas variables cambian, y un punto de control puede suscribirse para recibir esta información. El servicio publica actualizaciones mediante el envío de mensajes de eventos. Los mensajes de eventos contienen los nombres de una o más variables de estado y el valor actual de esas variables. Estos mensajes también se expresan en XML. Se envía un mensaje de evento inicial especial cuando un punto de control se suscribe por primera vez; este mensaje de evento contiene los nombres y valores de todas las variables eventual y permite al suscriptor inicializar su modelo del estado del servicio. Para soportar escenarios con múltiples puntos de control, los eventos están diseñados para mantener todos los puntos de control igualmente informados sobre los efectos de cualquier acción. Por lo tanto, a todos los suscriptores se les envían todos los mensajes de eventos, los suscriptores reciben mensajes de eventos para todos los "evented" variables que han cambiado y los mensajes de eventos se envían sin importar por qué cambió la variable de estado (ya sea en respuesta a una acción solicitada o porque el estado que el servicio está modelando cambió).

Presentación

El último paso en la creación de redes UPnP es la presentación. Si un dispositivo tiene una URL para la presentación, entonces el punto de control puede recuperar una página de esta URL, cargar la página en un navegador web y, según las capacidades de la página, permitir que un usuario controle el dispositivo y/o vea el dispositivo. estado. El grado en que se puede lograr cada uno de estos depende de las capacidades específicas de la página de presentación y el dispositivo.

Estándares audiovisuales

La

arquitectura UPnP AV es una extensión de audio y video de UPnP, compatible con una variedad de dispositivos como televisores, VCR, reproductores de CD/DVD/jukeboxes, decodificadores, sistemas estéreo, reproductores de MP3, cámaras de imágenes fijas, videocámaras, marcos de fotos electrónicos (EPF) y computadoras personales. La arquitectura UPnP AV permite que los dispositivos admitan diferentes tipos de formatos para el contenido de entretenimiento, incluidos los formatos MPEG2, MPEG4, JPEG, MP3, Windows Media Audio (WMA), mapas de bits (BMP) y NTSC, PAL o ATSC. Se admiten varios tipos de protocolos de transferencia, incluidos IEEE 1394, HTTP, RTP y TCP/IP.

El 12 de julio de 2006, el Foro UPnP anunció el lanzamiento de la versión 2 de las especificaciones de audio y video UPnP, con la nueva versión 2.0 de MediaServer (MS) y MediaRenderer (MR) versión 2.0 clases. Estas mejoras se crean agregando capacidades a las clases de dispositivos MediaServer y MediaRenderer, lo que permite un mayor nivel de interoperabilidad entre productos fabricados por diferentes fabricantes. Philips comercializó algunos de los primeros dispositivos que cumplían con estos estándares bajo la marca Streamium.

Desde 2006, se han publicado las versiones 3 y 4 de los protocolos de control de dispositivos de audio y video UPnP. En marzo de 2013, se publicó una especificación de arquitectura UPnP AV actualizada, que incorpora los protocolos de control de dispositivos actualizados.

Los estándares UPnP AV se han mencionado en especificaciones publicadas por otras organizaciones, incluidas las Directrices de interoperabilidad de dispositivos en red de Digital Living Network Alliance, la Comisión Electrotécnica Internacional IEC 62481-1 y el Protocolo de red doméstica OpenCable de Cable Television Laboratories.

Componentes AV

Servidor de medios

Un servidor multimedia UPnP AV es el servidor UPnP (dispositivo "maestro") que proporciona información de la biblioteca multimedia y transmite datos multimedia (como audio/video/imagen/archivos) a clientes UPnP en la red. Es un sistema informático o un dispositivo digital similar que almacena medios digitales, como fotografías, películas o música, y los comparte con otros dispositivos.

Los servidores multimedia UPnP AV brindan un servicio a los dispositivos cliente UPnP AV, los llamados puntos de control, para explorar el contenido multimedia del servidor y solicitar al servidor multimedia que entregue un archivo al punto de control. para la reproducción.

Los servidores de medios UPnP están disponibles para la mayoría de los sistemas operativos y muchas plataformas de hardware. Los servidores multimedia UPnP AV pueden clasificarse como basados en software o basados en hardware. Los servidores multimedia UPnP AV basados en software se pueden ejecutar en una PC. Los servidores de medios AV UPnP basados en hardware pueden ejecutarse en cualquier dispositivo NAS o cualquier hardware específico para entregar medios, como un DVR. En mayo de 2008, había más servidores multimedia UPnP AV basados en software que servidores basados en hardware.

Otros componentes

  • UPnP MediaServer ControlPoint - que es el dispositivo UPnP-client (un 'slave') que puede auto-detectar a los servidores UPnP en la red para navegar y transmitir los medios / archivos de datos de ellos.
  • UPnP MediaRenderer DCP - que es un dispositivo 'esclavo' que puede renderizar (jugar) contenido.
  • UPnP RenderingControl DCP - control MediaRenderer configuración; volumen, brillo, RGB, nitidez y más.
  • Interfaz de usuario remoto (RUI) cliente/servidor - que envía/recibe control-commands entre el cliente UPnP y el servidor UPnP sobre la red, (como registro, horario, juego, pausa, parada, etc.).
    • Web4CE (CEA 2014) para UPnP Remote UI - CEA-2014 estándar diseñado por Consumer Electronics Association R7 Home Network Committee. Protocolo y marco web para la interfaz de usuario remota en redes UPnP e Internet (Web4CE). Este estándar permite que un dispositivo de red casera compatible con UPnP proporcione su interfaz (display y opciones de control) como una página web para mostrar en cualquier otro dispositivo conectado a la red doméstica. Eso significa que se puede controlar un dispositivo de red en casa a través de cualquier método de comunicación basado en web-browser para dispositivos CE en una red de inicio UPnP usando ethernet y una versión especial de HTML llamada CE-HTML.
  • QoS (calidad de servicio) - es una función de servicio importante (pero no obligatoria) para uso con UPnP AV (Audio y Video). QoS (calidad de servicio) se refiere a mecanismos de control que pueden proporcionar diferentes prioridades a diferentes usuarios o flujos de datos, o garantizar un cierto nivel de rendimiento a un flujo de datos de acuerdo con las solicitudes del programa de aplicación. Puesto que UPnP AV es principalmente para ofrecer medios de streaming que a menudo está cerca de datos de audio/vídeo en tiempo real o en tiempo real que es crítico para ser entregado dentro de un tiempo específico o el flujo es interrumpido. Las garantías QoS son especialmente importantes si la capacidad de red es limitada, por ejemplo redes públicas, como el Internet.
    • QoS para UPnP consiste en Dispositivo de Sink (client-side/front-end) y Dispositivo de origen Funciones de servicio (server-side/back-end). Con clases como: Clase de tráfico que indica el tipo de tráfico en el flujo de tráfico, (por ejemplo, audio o vídeo). Identificador de tráfico (TID) que identifica paquetes de datos como pertenecientes a un flujo de tráfico único. Especificación del tráfico (TSPEC) que contiene un conjunto de parámetros que definen las características de la corriente de tráfico, (por ejemplo, requisito operativo y programación). Transmisión de tráfico (TS) que es un flujo unidireccional de datos que se origina en un dispositivo fuente y termina en uno o más dispositivos de fregadero.
  • Acceso remoto - define métodos para conectar dispositivos UPnP que no están en el mismo dominio multicast.

Atravesamiento de NAT

Una solución para NAT transversal, denominada Protocolo de dispositivo de puerta de enlace de Internet (Protocolo IGD), se implementa a través de UPnP. Muchos enrutadores y cortafuegos se exponen como dispositivos de puerta de enlace de Internet, lo que permite que cualquier punto de control UPnP local realice una variedad de acciones, incluida la recuperación de la dirección IP externa del dispositivo, la enumeración de asignaciones de puertos existentes y la adición o eliminación de asignaciones de puertos. Al agregar un mapeo de puertos, un controlador UPnP detrás del IGD puede permitir el cruce del IGD desde una dirección externa a un cliente interno.

Problemas

Autenticación

El protocolo UPnP, de forma predeterminada, no implementa ninguna autenticación, por lo que las implementaciones de dispositivos UPnP deben implementar el servicio adicional de Protección de dispositivos o implementar el Servicio de seguridad de dispositivos. También existe una solución no estándar llamada UPnP-UP (Universal Plug and Play - Perfil de usuario) que propone una extensión para permitir mecanismos de autenticación y autorización de usuarios para dispositivos y aplicaciones UPnP. Muchas implementaciones de dispositivos UPnP carecen de mecanismos de autenticación y, de manera predeterminada, asumen que los sistemas locales y sus usuarios son completamente confiables.

Cuando no se implementan los mecanismos de autenticación, los enrutadores y cortafuegos que ejecutan el protocolo UPnP IGD son vulnerables a los ataques. Por ejemplo, los programas de Adobe Flash que se ejecutan fuera de la zona de pruebas del navegador (por ejemplo, esto requiere una versión específica de Adobe Flash con problemas de seguridad reconocidos) son capaces de generar un tipo específico de solicitud HTTP que permite que un enrutador que implementa el protocolo UPnP IGD sea controlado por un sitio web malicioso cuando alguien con un enrutador habilitado para UPnP simplemente visita ese sitio web. Esto solo se aplica a la función "cortafuegos-perforación" de UPnP; no se aplica cuando el IGD no es compatible con UPnP o UPnP se ha desactivado en el IGD. Además, no todos los enrutadores pueden modificar la configuración del servidor DNS mediante UPnP porque gran parte de la especificación (incluida la configuración del host LAN) es opcional para los enrutadores habilitados para UPnP. Como resultado, algunos dispositivos UPnP se envían con UPnP desactivado de forma predeterminada como medida de seguridad.

Acceso desde Internet

En 2011, el investigador Daniel García desarrolló una herramienta diseñada para explotar una falla en algunas pilas de dispositivos UPnP IGD que permiten solicitudes UPnP desde Internet. La herramienta se hizo pública en DEFCON 19 y permite solicitudes de mapeo de puertos a direcciones IP externas desde el dispositivo y direcciones IP internas detrás de la NAT. El problema se propaga ampliamente en todo el mundo, con escaneos que muestran millones de dispositivos vulnerables a la vez.

En enero de 2013, la empresa de seguridad Rapid7 de Boston informó sobre un programa de investigación de seis meses. Un equipo buscó señales de dispositivos habilitados para UPnP que anunciaran su disponibilidad para la conexión a Internet. Unos 6900 productos con reconocimiento de red de 1500 empresas en 81 millones de direcciones IP respondieron a sus solicitudes. El 80% de los dispositivos son enrutadores domésticos; otros incluyen impresoras, cámaras web y cámaras de vigilancia. Usando el protocolo UPnP, muchos de esos dispositivos pueden ser accedidos y/o manipulados.

En febrero de 2013, el foro UPnP respondió en un comunicado de prensa recomendando versiones más recientes de las pilas UPnP usadas y mejorando el programa de certificación para incluir verificaciones para evitar más problemas de este tipo.

Indagación y confiabilidad de IGMP

UPnP suele ser la única aplicación de multidifusión importante que se utiliza en las redes domésticas digitales; por lo tanto, la mala configuración de la red de multidifusión u otras deficiencias pueden aparecer como problemas de UPnP en lugar de problemas de red subyacentes.

Si la indagación IGMP está habilitada en un conmutador, o más comúnmente en un enrutador/conmutador inalámbrico, interferirá con el descubrimiento de dispositivos UPnP/DLNA (SSDP) si está configurado de forma incorrecta o incompleta (p. UPnP parece poco fiable.

Los escenarios típicos observados incluyen un servidor o cliente (por ejemplo, un televisor inteligente) que aparece después de encenderse y luego desaparece después de unos minutos (a menudo 30 por configuración predeterminada) debido a la caducidad de la membresía del grupo IGMP.

Vulnerabilidad de devolución de llamada

El 8 de junio de 2020, se anunció otra falla en el diseño del protocolo. Apodado "CallStranger" por su descubridor, permite que un atacante subvierta el mecanismo de suscripción de eventos y ejecute una variedad de ataques: amplificación de solicitudes para uso en DDoS; enumeración; y exfiltración de datos.

OCF publicó una solución a la especificación del protocolo en abril de 2020, pero dado que muchos dispositivos que ejecutan UPnP no se pueden actualizar fácilmente, es probable que CallStranger siga siendo una amenaza durante mucho tiempo. CallStranger ha alimentado los llamados para que los usuarios finales abandonen UPnP debido a fallas repetidas en la seguridad de su diseño e implementación.

Otros desarrollos

En el otoño de 2008, el Foro UPnP ratificó el sucesor de UPnP 1.0 Device Architecture, UPnP 1.1. El estándar Devices Profile for Web Services (DPWS) era un sucesor candidato de UPnP, pero UPnP 1.1 fue seleccionado por el UPnP Forum. La versión 2 de IGD está estandarizada.

El estándar UPnP Internet Gateway Device (IGD) tiene un servicio WANIPConnection, que proporciona una funcionalidad similar al protocolo de control de puerto estándar IETF. La especificación NAT-PMP contiene una lista de problemas con IGDP que impulsó la creación de NAT-PMP y su sucesor PCP.

Estándares de dispositivos UPnP adicionales

Se han definido varios estándares adicionales para la arquitectura de dispositivos UPnP:

  • La Alianza Wi-Fi define un conjunto de "dispositivo WFA" (WFA)urn:schemas-wifialliance-org:device:WFADevice) servicios relacionados con el punto de acceso inalámbrico.
    • El servicio WFAWLANConfig es una parte necesaria y define formas de consultar las capacidades de un punto de acceso inalámbrico y establecer conexiones inalámbricas. Este servicio se utiliza en los tipos AP-ER y UPnP-C de conexión Wi-Fi protegida.
Más resultados...
Tamaño del texto:
undoredo
format_boldformat_italicformat_underlinedstrikethrough_ssuperscriptsubscriptlink
save