Za Chrome se razvija API za neposredno komunikacijo TCP in UDP

Google začelo za implementacijo novega API-ja v Chrome Surove vtičnice, ki spletnim aplikacijam omogoča vzpostavitev neposrednih omrežnih povezav s pomočjo protokolov TCP in UDP. Leta 2015 je konzorcij W3C že poskušal standardizirati API "TCP in UDP vtičnica“, vendar člani delovne skupine niso dosegli soglasja in razvoj tega API-ja je bil ustavljen.

Potreba po dodajanju novega API-ja je pojasnjena z zagotavljanjem zmožnosti interakcije z omrežnimi napravami, ki uporabljajo izvorne protokole, ki se izvajajo poleg TCP in UDP, in ne podpirajo komunikacije prek HTTPS ali WebSockets. Opozoriti je treba, da bo Raw Sockets API dopolnil nizkonivojske programske vmesnike WebUSB, WebMIDI in WebBluetooth, ki so že na voljo v brskalniku in omogočajo interakcijo z lokalnimi napravami.

Da bi se izognili negativnemu vplivu na varnost, bo Raw Sockets API dovolil le omrežne klice, ki se sprožijo z uporabnikovim soglasjem in so omejeni na seznam gostiteljev, ki jih dovoli uporabnik. Uporabnik bo moral izrecno potrditi prvi poskus povezave za novega gostitelja. S posebno zastavico lahko uporabnik onemogoči prikaz ponavljajočih se zahtev za potrditev operacije za ponavljajoče se povezave z istim gostiteljem. Za preprečevanje DDoS napadov bo intenzivnost zahtev prek Raw Sockets omejena, pošiljanje zahtev pa bo možno šele po interakciji uporabnika s stranjo. Paketi UDP, prejeti od gostiteljev, ki jih uporabnik ni odobril, bodo prezrti in ne bodo dosegli spletne aplikacije.

Začetna izvedba ne predvideva ustvarjanja poslušajočih vtičnic, vendar je v prihodnosti mogoče zagotoviti klice za sprejemanje dohodnih povezav z lokalnega gostitelja ali seznama znanih gostiteljev. Omenjena je tudi potreba po zaščiti pred napadi "Ponovno povezovanje DNS"(napadalec lahko spremeni naslov IP za uporabniško odobreno domensko ime na ravni DNS in pridobi dostop do drugih gostiteljev). Predvideno je blokiranje dostopa do domen, ki se razrešijo na 127.0.0.0/8 in intranetnih omrežij (predlagano je, da bo dostop do localhost dovoljen le, če bo IP naslov izrecno vnesen v potrditveni obrazec).

Med tveganji, ki se lahko pojavijo pri implementaciji novega API-ja, je njegova morebitna zavrnitev s strani proizvajalcev drugih brskalnikov, kar bi lahko povzročilo težave z združljivostjo. Razvijalci motorjev Mozilla Gecko in WebKit so še vedno ni šlo svoje stališče glede možne implementacije API-ja Raw Sockets, vendar je Mozilla predhodno predlagala projekt Firefox OS (B2G). podoben API. Če bo odobren na prvi stopnji, bo Raw Sockets API načrtovan za aktiviranje v OS Chrome in šele nato ponujen uporabnikom Chroma v drugih sistemih.

Spletni razvijalci pozitivno se je odzval na novi API in izrazil veliko novih zamisli o njegovi uporabi na področjih, kjer API-ji XMLHttpRequest, WebSocket in WebRTC niso dovolj (od ustvarjanja odjemalcev brskalnika za SSH, RDP, IMAP, SMTP, IRC in protokole za tiskanje do razvoja porazdeljenih sistemov P2P z DHT (Distributed Hash Table), podpora IPFS in interakcija s posebnimi protokoli naprav IoT).

Vir: opennet.ru

Dodaj komentar