Estase a desenvolver unha API para comunicacións directas TCP e UDP para Chrome

Google comezou para implementar unha nova API en Chrome Enchufes Raw, que permite que as aplicacións web establezan conexións de rede directas mediante os protocolos TCP e UDP. En 2015, o consorcio W3C xa intentou estandarizar a API "Socket TCP e UDP“, pero os membros do grupo de traballo non chegaron a un consenso e detívose o desenvolvemento desta API.

A necesidade de engadir unha nova API explícase proporcionando a posibilidade de interactuar con dispositivos de rede que usan protocolos nativos que se executan enriba de TCP e UDP e que non admiten a comunicación a través de HTTPS ou WebSockets. Nótese que a API de Raw Sockets complementará as interfaces de programación de baixo nivel WebUSB, WebMIDI e WebBluetooth xa dispoñibles no navegador, que permiten a interacción con dispositivos locais.

Para evitar un impacto negativo na seguridade, a API de Raw Sockets só permitirá chamadas de rede iniciadas co consentimento do usuario e limitadas á lista de servidores permitidos polo usuario. O usuario terá que confirmar explícitamente o primeiro intento de conexión para o novo host. Usando unha bandeira especial, o usuario pode desactivar a visualización de solicitudes repetidas de confirmación de operacións para conexións repetidas co mesmo host. Para evitar ataques DDoS, a intensidade das solicitudes a través de Raw Sockets será limitada e só será posible enviar solicitudes despois da interacción do usuario coa páxina. Os paquetes UDP recibidos de hosts non aprobados polo usuario ignoraranse e non chegarán á aplicación web.

A implementación inicial non prevé a creación de sockets de escoita, pero no futuro é posible proporcionar chamadas para aceptar conexións entrantes desde localhost ou unha lista de hosts coñecidos. Tamén se menciona a necesidade de protexerse contra ataques"Revinculación de DNS"(Un atacante pode cambiar o enderezo IP dun nome de dominio aprobado polo usuario a nivel DNS e acceder a outros hosts). Está previsto bloquear o acceso a dominios que se resolven en 127.0.0.0/8 e redes intranet (proponse que se permita o acceso a localhost só se se introduce o enderezo IP explícitamente no formulario de confirmación).

Entre os riscos que poden xurdir á hora de implantar unha nova API está o seu posible rexeitamento por parte dos fabricantes doutros navegadores, o que podería dar lugar a problemas de compatibilidade. Os desenvolvedores dos motores Mozilla Gecko e WebKit aínda están non funcionou a súa posición sobre a posible implementación da API de Raw Sockets, pero Mozilla propuxera previamente para o proxecto Firefox OS (B2G). API semellante. Se se aproba na primeira fase, está previsto que a API de Raw Sockets se active en Chrome OS e só se ofreza aos usuarios de Chrome noutros sistemas.

Desenvolvedores web positivamente respondeu á nova API e expresou moitas novas ideas sobre a súa aplicación en áreas onde as API XMLHttpRequest, WebSocket e WebRTC non son suficientes (desde a creación de clientes de navegador para SSH, RDP, IMAP, SMTP, IRC e protocolos de impresión ata o desenvolvemento de sistemas P2P distribuídos con DHT (Distributed Hash Table), soporte IPFS e interacción con protocolos específicos de dispositivos IoT).

Fonte: opennet.ru

Engadir un comentario