En API for direkte TCP- og UDP-kommunikasjon er under utvikling for Chrome

Google startet for å implementere et nytt API i Chrome Rå stikkontakter, som lar nettapplikasjoner etablere direkte nettverkstilkoblinger ved hjelp av TCP- og UDP-protokollene. I 2015 forsøkte W3C-konsortiet allerede å standardisere API "TCP og UDP Socket", men arbeidsgruppemedlemmene nådde ikke enighet og utviklingen av denne API ble stoppet.

Behovet for å legge til et nytt API forklares ved å gi muligheten til å samhandle med nettverksenheter som bruker native protokoller som kjører på toppen av TCP og UDP og som ikke støtter kommunikasjon via HTTPS eller WebSockets. Det bemerkes at Raw Sockets API vil utfylle programmeringsgrensesnittene på lavt nivå WebUSB, WebMIDI og WebBluetooth som allerede er tilgjengelig i nettleseren, som tillater interaksjon med lokale enheter.

For å unngå negativ innvirkning på sikkerheten, vil Raw Sockets API bare tillate nettverksanrop initiert med brukerens samtykke og begrenset til listen over verter tillatt av brukeren. Brukeren må eksplisitt bekrefte det første tilkoblingsforsøket for den nye verten. Ved å bruke et spesielt flagg kan brukeren deaktivere utdata for gjentatte operasjonsbekreftelsesforespørsler for gjentatte tilkoblinger til samme vert. For å forhindre DDoS-angrep, vil intensiteten av forespørsler via Raw Sockets være begrenset, og sending av forespørsler vil kun være mulig etter at brukeren samhandler med siden. UDP-pakker mottatt fra verter som ikke er godkjent av brukeren vil bli ignorert og vil ikke nå nettapplikasjonen.

Den første implementeringen sørger ikke for opprettelse av lyttekontakter, men i fremtiden er det mulig å gi anrop for å akseptere innkommende tilkoblinger fra localhost eller en liste over kjente verter. Også nevnt er behovet for å beskytte mot angrep "DNS rebinding"(en angriper kan endre IP-adressen for et brukergodkjent domenenavn på DNS-nivå og få tilgang til andre verter). Det er planlagt å blokkere tilgang til domener som løser seg til 127.0.0.0/8 og intranettnettverk (tilgang til localhost foreslås kun tillatt dersom IP-adressen er eksplisitt oppgitt i bekreftelsesskjemaet).

Blant risikoene som kan oppstå ved implementering av en ny API er den mulige avvisningen av produsenter av andre nettlesere, noe som kan føre til kompatibilitetsproblemer. Utviklerne av Mozilla Gecko og WebKit-motorene er fortsatt gikk ikke sin stilling til mulig implementering av Raw Sockets API, men Mozilla hadde tidligere foreslått for Firefox OS (B2G)-prosjektet lignende API. Hvis Raw Sockets API er godkjent i det første trinnet, er det planlagt å aktiveres på Chrome OS, og først da tilbys Chrome-brukere på andre systemer.

Webutviklere positivt svarte på det nye API-et og uttrykte mange nye ideer om applikasjonen i områder der XMLHttpRequest, WebSocket og WebRTC API-ene ikke er nok (fra å lage nettleserklienter for SSH, RDP, IMAP, SMTP, IRC og utskriftsprotokoller til å utvikle distribuerte P2P-systemer med DHT (Distributed Hash Table), IPFS-støtte og interaksjon med spesifikke protokoller for IoT-enheter).

Kilde: opennet.ru

Legg til en kommentar