Google podrobno opisuje predlog zasnove SDK Runtime za Android Privacy Sandbox

Google je podal nekaj podrobnosti o predlogu zasnove SDK Runtime. SDK Runtime je del Android Privacy Sandbox.

Pred kratkim smo videli, kako si tako Apple kot Google prizadevata ustvariti ekosistem, ki bo bolj varoval zasebnost, ko gre za oglase. Pri Applu je bilo to z uvedbo gumba, ki aplikacijam preprečuje sledenje, pri Googlu pa Pobuda Android Privacy Sandbox. Čeprav je bilo med objavo malo informacij, se je pojavilo več podrobnosti o "SDK Runtime", ki zajema del Googlove rešitve za oglaševanje in zasebnost.

Android Privacy Sandbox je sestavljen iz dveh glavnih komponent – ​​SDK Runtime in Privacy-Preserving APIs – ki bosta distribuirani kot modularne sistemske komponente, ki se jih morda spomnite kot Projekt Mainline. Google je od takrat objavil dokumentacijo za razvijalce v zvezi s SDK Runtime in kako bo dodatno izboljšal zasebnost uporabnikov. Podjetje pravi, da bo SDK Runtime omogočal izvajanje SDK-jev tretjih oseb v namenskem izvajalnem okolju v Android 13, stran od kode aplikacije.

V sistemu Android se vsaka aplikacija izvaja v peskovniku s svojimi dovoljenji in različnim dostopom do sistema, odvisno od odobrenega dostopa. Kot pravi Google, "če aplikacija A poskuša narediti nekaj zlonamernega, kot je branje podatkov aplikacije B ali klicanje telefona brez dovoljenja, ji je to onemogočeno, ker nima ustrezne privzete privilegije uporabnika." Izvajalno okolje SDK dodatno razširi ta peskovnik za izvajanje SDK-jev tretjih oseb v namenskem izvajalnem okolju, stran od katerega koli določenega aplikacija

Zakaj obstaja SDK Runtime

Google želi preprečiti oglaševalskim SDK-jem zbiranje podatkov, do katerih ne bi smel imeti dostopa, zlonamerno (ali celo nenamerno) zaradi skupne rabe peskovnika gostiteljske aplikacije. Ko se SDK za oglaševanje izvaja znotraj aplikacije, ima dostop do vsega, kar počne aplikacija, in razvijalec aplikacije se morda ne zaveda popolnoma, kolikšen je to dejansko dostop. Če odstranite kodo oglaševalca in jo izvedete v lastnem času izvajanja, lahko dostopa le do podatkov, ki jih razvijalec izrecno deli z njim.

Posledično Google pravi, da SDK Runtime zagotavlja naslednje močnejše zaščitne ukrepe in jamstva za zbiranje in skupno rabo uporabniških podatkov:

  • Spremenjeno izvajalno okolje
  • Dobro definirana dovoljenja in pravice za dostop do podatkov za SDK-je

Prva različica SDK Runtime je osredotočena izključno na SDK-je, povezane z oglaševanjem, vključno s SDK-ji, ki omogočajo prikazovanje oglasov, merjenje oglasov, goljufije z oglasi in odkrivanje zlorab.

Kako deluje SDK Runtime

Trenutno brez izvajalnega okolja SDK bo proces aplikacije poklical SDK in ta SDK se bo izvajal znotraj istega peskovnika kot preostala koda aplikacije. Google želi, da imajo razvijalci namesto tega vmesnik za SDK, ki deluje v procesu aplikacije v ospredju, in ta vmesnik se lahko nato poveže in deli določene podatke naprej in nazaj s SDK-jem, ki je v uporabi uporabljeno.

prej

Po

Diagram »pred« (prvi) kaže, da se koda za klicanje SDK skupaj s SDK-ji, ki sprejemajo klice iz te kode, nahajajo v procesu aplikacije. To pomeni, da lahko SDK dostopa do vseh podatkov, ki jih ima aplikacija. Diagram »po« (drugi) kaže, da v procesu v ospredju aplikacije klicna koda SDK komunicira z vmesniki SDK. Ti vmesniki nato prečkajo mejo procesa v proces SDK Runtime, da pokličejo same SDK-je. To pomeni, da SDK, ki se uporablja, ne more samo dostopati do česar koli želi, temveč lahko dobi le informacije iz aplikacije, s katero se izvaja.

Nov model zaupanja vredne distribucije za SDK

Trenutno, ko prenesete aplikacijo s SDK-ji tretjih oseb, jih razvijalec vključi v aplikacijo, ki je naložena in distribuirana v Trgovini Google Play. Google namesto tega želi, da se ob namestitvi aplikacije v telefon, ki uporablja te SDK-je, prenesejo ločeno iz same aplikacije. To pomeni, da lahko razvijalci SDK-ja naredijo trajne spremembe (to je brez sprememb API-jev ali njihovo semantiko) v svoje SDK-je in jih distribuirajo napravam brez kakršnega koli sodelovanja aplikacije razvijalci.

Spremembe kompleta za razvoj programske opreme, ki ne bodo zlomile, pa je mogoče uvesti ali razveljaviti, ne da bi bilo treba čakati za razvijalce aplikacij, da znova zgradijo svoje aplikacije z novimi SDK-ji, ali čakajo, da končni uporabniki posodobijo svoje aplikacije. Lomljive spremembe, ki spreminjajo API-je in njihovo semantiko, bi morali razvijalci aplikacij še vedno posodobiti, razvijalci SDK-ja pa bi lahko dobili svoje najnovejše neprekinjene spreminja in popravlja hitreje in bolj enotno za več ljudi hkrati, ne da bi se morali zanašati na razvijalca aplikacije, da posodobi svojo aplikacijo in paket v novem SDK.

prej

Po

Diagram »prej« natančno prikazuje, kako se zdaj aplikacije distribuirajo s SDK-ji. Zapakirani so v aplikacijo in aplikacija je tisto, kar je poslano v trgovino Google Play. V diagramu "po" razvijalci SDK-jev ne bodo več vstavljali svojih SDK-jev neposredno v aplikacije; namesto tega bi razvijalci SDK naložili SDK in ga objavili v Trgovini Google Play. Trgovina Google Play bi nato skrbela za distribucijo aplikacij, skupaj z morebitnimi odvisnostmi SDK, napravam končnih uporabnikov. Google namerno uporablja besedno zvezo "trgovina z aplikacijami" v svojih diagramih, saj gre za odprto in splošno rešitev, ki lahko deluje v drugih trgovinah.

Spremembe načina gradnje, izvajanja in distribucije SDK-jev in aplikacij

Prvotni predlog za SDK Runtime predlaga vrsto sprememb na petih ključnih področjih:

  • Dostop
  • Izvedba
  • Komunikacije
  • Razvoj
  • Distribucija

Google želi definirati naslednji nabor dovoljenj za izvajalno okolje SDK:

  • INTERNET: dostop do interneta za komunikacijo s spletno storitvijo.
  • ACCESS_NETWORK_STATE: dostop do informacij o omrežjih.
  • Dovoljenja za dostop do API-ji za ohranjanje zasebnosti, ki zagotavljajo osnovne oglaševalske zmogljivosti, ne da bi potrebovali dostop do identifikatorjev med aplikacijami. Imena dovoljenj niso bila dokončana, vendar bi ti API-ji bili zaprti z dostopom aplikacije do teh dovoljenj.
  • AD_ID: Možnost zahtevanja oglaševalskega ID-ja. To bi bilo tudi omejeno z dostopom aplikacije do tega dovoljenja.
  • BIND_GET_INSTALL_REFERRER_SERVICE: Sposobnost uporabe Google Play Install Referrer API za pripisovanje vira namestitve aplikacije.

Podjetje želi tudi omejiti dostop, ki ga imajo SDK-ji do pomnilnika delujoče aplikacije, hkrati pa tudi preprečiti, da bi aplikacija dostopala do lastnih podatkov SDK-ja. Aplikacija ne bi mogla neposredno dostopati do svojega pomnilnika SDK-jev in obratno, zunanji pomnilnik ne bi mogel odprt za SDK-je, in obstajal bi shramba, dostopna vsem SDK-jem, in shramba, ki je zasebna za določen SDK.

Glede tega, kako se bodo SDK-ji izvajali, bodo delovali z nekoliko nižjo prioriteto kot sama aplikacija. To pomeni, da je zelo verjetno, da bi bila aplikacija prekinjena kmalu po tem, ko bi bilo ukinjeno izvajalno okolje SDK, če bi prišlo do situacije, da bi jo moral sistem zapreti. V primeru, da ni odpovedan hkrati ali če obstaja drug razlog, se predlog ponuja povezane metode povratnega klica življenjskega cikla razvijalcem aplikacij, da lahko obravnavajo to izjemo in ponovno inicializirajo SDK Runtime. Runtime SDK-ji ne bodo mogli uporabiti API-jev za obvestila za pošiljanje uporabniških obvestil kadar koli.

Na koncu Google ugotavlja, da je to splošen predlog, ki ni edinstven za nobeno posebno trgovino z aplikacijami. Čeprav bo predvidoma vgrajen v trgovino Google Play, ni razloga, zakaj druge trgovine z aplikacijami ne bi mogle vključiti podobne strukture. Google pravi, da so naslednje prednosti očitne:

  • Zagotovite kakovost in doslednost SDK-jev.
  • Poenostavite objavo za razvijalce SDK.
  • Pospešite uvedbo posodobitev manjših različic SDK za nameščene aplikacije.

Android Privacy Sandbox je videti obetavno

Googlov časovni načrt za izdajo je, da prvo četrtletje leta 2022 vključuje začetne predloge zasnove ter povratne informacije o zasnovi in ​​ponovitve. Predogledi za razvijalce bodo na voljo pozneje v letu, beta pa konec leta. Končno se bo leta 2023 začelo razširjeno testiranje. Ti predogledi in različice beta bodo neodvisni od kadence izdaje Androida 13. Ko bo uvedena, bodo v aplikaciji za nastavitve na voljo tudi kontrolniki, obrnjeni k uporabniku.

Po mojem mnenju Android Privacy Sandbox izgleda obetaven, vendar bomo morali počakati in videti, kako ga bo podjetje uresničilo. Povsem možno je, da razvijalcem ne bo všeč ali da bo dejansko povzročil več težav, kot jih rešil. Razvijalci so pozvani, da preberejo dokumentacijo, ki jo je objavil Google, da bi bolje razumeli, kaj se bo zgodilo v prihodnosti glede zasebnosti Android.

To je trenutno predlog in ne dokončen pogled na to, kaj točno se bo zgodilo v prihodnji različici Androida, vendar je verjetno, da bo na koncu precej blizu. Bomo pozorni na nadaljnji razvoj dogodkov!


Vir: Dokumentacija za razvijalce za Android