Desarrollan una API para comunicaciones TCP y UDP directas para Chrome

Google establecer sobre implementar una nueva API en Chrome Enchufes crudos, que permite a las aplicaciones web establecer conexiones de red directas utilizando los protocolos TCP y UDP. En 2015, el consorcio W3C ya intentó estandarizar la API "Conectores TCP y UDP“, pero los miembros del grupo de trabajo no llegaron a un consenso y se detuvo el desarrollo de esta API.

La necesidad de agregar una nueva API se explica al brindar la capacidad de interactuar con dispositivos de red que usan protocolos nativos que se ejecutan sobre TCP y UDP y no admiten la comunicación a través de HTTPS o WebSockets. Cabe señalar que la API Raw Sockets complementará las interfaces de programación de bajo nivel WebUSB, WebMIDI y WebBluetooth ya disponibles en el navegador, que permiten la interacción con dispositivos locales.

Para evitar un impacto negativo en la seguridad, la API Raw Sockets solo permitirá llamadas de red iniciadas con el consentimiento del usuario y limitadas a la lista de hosts permitidos por el usuario. El usuario deberá confirmar explícitamente el primer intento de conexión para el nuevo host. Usando una bandera especial, el usuario puede deshabilitar la visualización de solicitudes de confirmación de operación repetidas para conexiones repetidas al mismo host. Para evitar ataques DDoS, la intensidad de las solicitudes a través de Raw Sockets será limitada y el envío de solicitudes solo será posible después de la interacción del usuario con la página. Los paquetes UDP recibidos de hosts no aprobados por el usuario serán ignorados y no llegarán a la aplicación web.

La implementación inicial no prevé la creación de sockets de escucha, pero en el futuro es posible proporcionar llamadas para aceptar conexiones entrantes desde localhost o una lista de hosts conocidos. También se menciona la necesidad de protegerse contra ataques "Revinculación de DNS"(un atacante puede cambiar la dirección IP de un nombre de dominio aprobado por el usuario a nivel de DNS y obtener acceso a otros hosts). Está previsto bloquear el acceso a dominios que se resuelven en 127.0.0.0/8 y redes de intranet (se propone permitir el acceso a localhost solo si la dirección IP se ingresa explícitamente en el formulario de confirmación).

Entre los riesgos que pueden surgir al implementar una nueva API está su posible rechazo por parte de los fabricantes de otros navegadores, lo que podría generar problemas de compatibilidad. Los desarrolladores de los motores Mozilla Gecko y WebKit todavía están no funcionó su posición sobre la posible implementación de la API Raw Sockets, pero Mozilla había propuesto previamente para el proyecto Firefox OS (B2G) API similares. Si se aprueba en la primera etapa, se planea activar la API Raw Sockets en Chrome OS y solo entonces ofrecerla a los usuarios de Chrome en otros sistemas.

desarrolladores de sitios de Internet positivamente respondió a la nueva API y expresó muchas ideas nuevas sobre su aplicación en áreas donde las API XMLHttpRequest, WebSocket y WebRTC no son suficientes (desde la creación de clientes de navegador para SSH, RDP, IMAP, SMTP, IRC y protocolos de impresión hasta el desarrollo de sistemas P2P distribuidos con DHT (Distributed Hash Table), soporte IPFS e interacción con protocolos específicos de dispositivos IoT).

Fuente: opennet.ru

Añadir un comentario