Google kirjeldab Androidi privaatsusliivakasti SDK Runtime disainiettepanekut

Google on andnud mõned üksikasjad SDK käitusaja kujundusettepaneku kohta. SDK Runtime moodustab osa Androidi privaatsuse liivakastist.

Viimasel ajal oleme näinud nii Apple'i kui ka Google'i püüdlusi reklaamide osas privaatsust arvestavama ökosüsteemi loomise poole. Apple'i puhul oli see nupu kasutuselevõtuga, mis takistab rakendustel teid jälgimast, ja Google'iga on see olnud Androidi privaatsuse liivakasti algatus. Kuigi selle väljakuulutamise ajal oli teavet vähe, on ilmnenud rohkem üksikasju "SDK Runtime" kohta, mis hõlmab osa Google'i reklaami- ja privaatsuslahendusest.

Androidi privaatsusliivakast koosneb kahest põhikomponendist – SDK käitusajast ja privaatsust säilitavatest API-dest –, mida levitatakse moodulsüsteemi komponentidena, mida võite mäletada kui Projekti põhiliin. Google on pärast seda avaldanud arendaja dokumentatsiooni, mis käsitleb SDK Runtime'i ja kuidas see kasutajate privaatsust veelgi suurendab. Ettevõte ütleb, et SDK Runtime võimaldab kolmanda osapoole SDK-del töötada spetsiaalses käituskeskkonnas Android 13, rakenduse koodist eemal.

Androidis töötab iga rakendus liivakastis oma lubadega ja erineva juurdepääsuga süsteemile, olenevalt antud juurdepääsust. Nagu Google ütleb, "Kui rakendus A üritab teha midagi pahatahtlikku, näiteks lugeda rakenduse B andmeid või helistada telefoni ilma loata, ei saa see seda teha, kuna sellel pole asjakohased kasutaja vaikeõigused." SDK Runtime laiendab seda liivakasti veelgi, et käivitada kolmanda osapoole SDK-sid spetsiaalses käituskeskkonnas, eemal ühestki konkreetsest rakendus.

Miks SDK käitusaeg on olemas?

Google soovib takistada reklaamijate SDK-del kogumast andmeid, millele tal ei tohiks pahatahtlikult (või isegi tahtmatult) juurdepääsu hostirakenduse liivakasti jagamise tõttu. Kui reklaami SDK käivitatakse rakenduse sees, on sellel juurdepääs kõigele, mida rakendus teeb, ja rakenduse arendaja ei pruugi olla täielikult teadlik sellest, kui suur juurdepääs sellele tegelikult on. Kui eemaldate selle reklaamija koodi ja käivitate selle oma käitusajal, pääseb ta juurde ainult andmetele, mida arendaja temaga selgesõnaliselt jagab.

Selle tulemusena ütleb Google, et SDK Runtime pakub kasutajaandmete kogumisel ja jagamisel järgmisi tugevamaid kaitsemeetmeid ja tagatisi.

  • Muudetud täitmiskeskkond
  • SDK-de jaoks täpselt määratletud load ja andmetele juurdepääsu õigused

SDK Runtime esimene versioon on keskendunud ainult reklaamiga seotud SDK-dele, sealhulgas SDK-dele, mis võimaldavad reklaamide esitamist, reklaamide mõõtmist, reklaamipettusi ja väärkasutuse tuvastamist.

Kuidas SDK käitusaeg töötab

Praegu kutsub rakenduse protsess ilma SDK käituskeskkonnata SDK-d ja see SDK käivitub samas liivakastis kui ülejäänud rakenduse kood. Google soovib, et arendajatel oleks selle asemel SDK liides, mis töötab rakenduse esiplaani protsessis, ja see liides saab seejärel luua ühenduse ja jagada konkreetseid andmeid olemasoleva SDK-ga edasi-tagasi ära kasutatud.

Enne

Pärast

Diagramm "enne" (esimene) näitab, et SDK-d kutsuv kood ja SDK-d, mis sellest koodist kõnesid vastu võtavad, on kõik rakenduse protsessis. See tähendab, et SDK pääseb juurde kõikidele andmetele, mida rakendus saab. Diagramm "pärast" (teine) näitab, et rakenduse esiplaani protsessis suhtleb SDK kutsuv kood SDK liidestega. Need liidesed ületavad seejärel SDK käitusaegse protsessi piiri, et kutsuda SDK-sid ise. See tähendab, et kasutatav SDK ei saa lihtsalt juurde pääseda kõigele, mida ta soovib, vaid sellele saab anda ainult teavet rakendusest, millega see koos töötab.

SDK-de uus usaldusväärne levitamismudel

Kui laadite alla rakenduse kolmanda osapoole SDK-dega, lisab arendaja need praegu rakendusse, mis on üles laaditud ja Google Play poes levitatud. Google soovib selle asemel, et kui installite oma telefoni rakenduse, mis kasutab neid SDK-sid, laaditakse need alla eraldi rakendusest endast. See tähendab, et SDK arendajad võivad teha mittemurdvaid muudatusi (st mitte muuta API-sid ega nende semantika) oma SDK-desse ja levitada neid seadmetesse ilma rakenduse sekkumiseta arendajad.

Omakorda saab mittemurdvaid SDK muudatusi juurutada või tagasi võtta, ilma et oleks vaja tingimata oodata rakenduste arendajatele, et nad saaksid oma rakendused uute SDK-dega ümber ehitada või oodata, kuni lõppkasutajad värskendavad oma rakendusi. Rakenduste arendajad peavad siiski värskendama purunevaid muudatusi, mis muudavad API-sid ja nende semantikat, kuid SDK arendajad võiksid saada oma uusima mittemurdva muudab ja parandab lahendusi kiiremini ja ühtsemalt suuremale hulgale inimestele korraga, ilma et peaks lootma, et rakenduse arendaja uuendab oma rakendust ja paketti uues versioonis. SDK.

Enne

Pärast

Diagramm "enne" näitab täpselt, kuidas rakendusi SDK-dega praegu levitatakse. Need on pakitud rakendusse ja see rakendus on Google Play poodi esitatud. Diagrammil "pärast" ei pane SDK arendajad enam oma SDK-sid otse rakendustesse. selle asemel laadiksid SDK arendajad üles SDK ja avaldaksid selle Google Play poes. Google Play pood tegeleks seejärel rakenduste ja SDK-sõltuvuste levitamisega lõppkasutaja seadmetele. Google kasutab oma diagrammidel ka tahtlikult väljendit "rakenduste pood", kuna see on avatud ja üldine lahendus, mis võib töötada ka teistes poodides.

SDK-de ja rakenduste loomise, käitamise ja levitamise muudatused

SDK Runtime'i esialgne ettepanek pakub välja rea ​​muudatusi viies põhivaldkonnas.

  • Juurdepääs
  • Täitmine
  • Side
  • Areng
  • Levitamine

Google soovib määratleda SDK käitusaja jaoks järgmised õigused:

  • INTERNET: juurdepääs Internetile veebiteenusega suhtlemiseks.
  • ACCESS_NETWORK_STATE: juurdepääs võrkude teabele.
  • Juurdepääsuõigused privaatsust säilitavad API-d, mis pakuvad põhilisi reklaamivõimalusi, ilma et oleks vaja juurdepääsu rakendusteülestele identifikaatoritele. Lubade nimesid ei ole lõplikult kinnitatud, kuid need API-liidesed on piiratud rakenduse juurdepääsuga nendele lubadele.
  • AD_ID: võimalus taotleda reklaami ID-d. Seda piirab ka rakenduse juurdepääs sellele loale.
  • BIND_GET_INSTALL_REFERRER_SERVICE: Võimalus kasutada Google Play installi viite API rakenduse installi allika omistamiseks.

Samuti soovib ettevõte piirata SDK-de juurdepääsu töötava rakenduse mälule, aga ka takistada rakendusel juurdepääsu SDK enda andmetele. Rakendus ei pääse otse oma SDK-de salvestusruumi juurde ja vastupidi, välisele salvestusruumile ei pääseks avatud SDK-dele ja seal oleks nii salvestusruum, mis on juurdepääsetav kõikidele SDK-dele, kui ka salvestusruum, mis on teatud jaoks privaatne SDK.

Mis puudutab SDK-de käitamist, siis need töötavad veidi madalama prioriteediga kui rakendus ise. See tähendab, et on väga tõenäoline, et rakendus suletakse varsti pärast SDK käitusaja lõpetamist, kui tekib olukord, et süsteem peab selle sulgema. Juhul, kui seda ei lõpetata samal ajal või kui on mõni muu põhjus, on ettepanek pakub rakenduste arendajatele seotud elutsükli tagasihelistamismeetodeid, et nad saaksid seda erandit käsitleda ja SDK uuesti lähtestada Kestus. Käitusaegsed SDK-d ei saa kasutada teavituste API-sid kasutajate märguannete saatmiseks mis tahes ajahetkel.

Lõpuks märgib Google, et see on üldine ettepanek, mis ei ole ühegi konkreetse rakenduste poe jaoks ainulaadne. Kuigi see arvatavasti ehitatakse Google Play poodi, pole põhjust, miks teised rakenduste poed ei võiks sarnast struktuuri lisada. Google ütleb, et järgmised eelised on selged:

  • Tagada SDK-de kvaliteet ja järjepidevus.
  • SDK arendajatele mõeldud avaldamise tõhustamine.
  • Kiirendage installitud rakenduste SDK väiksemate versioonide värskenduste levitamist.

Androidi privaatsusliivakast tundub paljutõotav

Google'i avaldamise ajakava on selline, et 2022. aasta I kvartal hõlmab esialgseid disainiettepanekuid ning disaini tagasisidet ja iteratsioone. Arendaja eelvaated ilmuvad hiljem sel aastal ja beetaversioon aasta lõpus. Lõpuks algab 2023. aastal skaleeritud testimine. Need eelvaated ja beetaversioonid on Android 13 väljalaskesagedusest sõltumatud. Pärast kasutuselevõttu on seadete rakenduses ka kasutajale suunatud juhtnupud.

Minu arvates Androidi privaatsusliivakast näeb välja paljulubav, kuid me peame ootama ja vaatama, kuidas ettevõte seda rakendab. On täiesti võimalik, et see ei meeldi arendajatele või tekitab see tegelikult rohkem probleeme kui lahendab. Arendajatel soovitatakse lugeda Google'i postitatud dokumentatsiooni, et saada parem ülevaade sellest, mis Androidi privaatsus tulevikus ees ootab.

See on praegu ettepanek ja mitte lõplik väljavaade mille kohta täpselt juhtub tulevases Androidi versioonis, kuid on tõenäoline, et see jõuab üsna lähedale. Hoiame edasistel arengutel silma peal!


Allikas: Androidi arendaja dokumentatsioon