Google podrobne opisuje návrh dizajnu SDK Runtime pre karanténu ochrany osobných údajov systému Android

Spoločnosť Google poskytla niektoré podrobnosti o návrhu dizajnu SDK Runtime. SDK Runtime tvorí súčasť karantény ochrany osobných údajov systému Android.

Nedávno sme videli, ako sa Apple aj Google usilujú o vytvorenie ekosystému, ktorý viac zohľadňuje súkromie, pokiaľ ide o reklamy. V prípade spoločnosti Apple to bolo so zavedením tlačidla, ktoré zabráni aplikáciám, aby vás sledovali, a v prípade spoločnosti Google to tak bolo Iniciatíva Android Privacy Sandbox. Zatiaľ čo informácie boli počas jeho oznámenia vzácne, objavili sa ďalšie podrobnosti týkajúce sa „SDK Runtime“, ktorý zahŕňa časť riešenia Google pre reklamu a súkromie.

Android Privacy Sandbox sa skladá z dvoch hlavných komponentov – SDK Runtime a Privacy-Preserving API – ktoré budú distribuované ako modulárne systémové komponenty, ktoré si možno pamätáte ako Hlavná línia projektu. Spoločnosť Google odvtedy zverejnila vývojársku dokumentáciu týkajúcu sa SDK Runtime a toho, ako ďalej posilní súkromie používateľov. Spoločnosť tvrdí, že SDK Runtime umožní súpravám SDK tretích strán bežať vo vyhradenom prostredí runtime v

Android 13, ďaleko od kódu aplikácie.

V systéme Android sa každá aplikácia spúšťa v karanténe s vlastnými povoleniami a rôznym prístupom k systému v závislosti od udeleného prístupu. Ako uvádza Google, "ak sa aplikácia A pokúsi urobiť niečo škodlivé, napríklad čítať údaje aplikácie B alebo vytočiť telefón bez povolenia, je v tom zabránené, pretože nemá vhodné predvolené používateľské oprávnenia." SDK Runtime ďalej rozširuje túto karanténu na spúšťanie súprav SDK tretích strán vo vyhradenom prostredí runtime, mimo akéhokoľvek konkrétneho aplikácie.

Prečo existuje SDK Runtime

Google chce zabrániť súpravám SDK inzerentov v zhromažďovaní údajov, ku ktorým by nemal mať prístup so zlým úmyslom (alebo dokonca neúmyselne) v dôsledku zdieľania karantény hostiteľskej aplikácie. Keď sa inzertná súprava SDK spustí v rámci aplikácie, má prístup ku všetkému, čo aplikácia robí, a vývojár aplikácie si nemusí byť úplne vedomý toho, aký veľký prístup v skutočnosti je. Odstránením tohto kódu inzerenta a jeho spustením vo vlastnom runtime bude mať prístup iba k údajom, ktoré s ním vývojár výslovne zdieľa.

V dôsledku toho Google hovorí, že SDK Runtime poskytuje nasledujúce silnejšie záruky a záruky týkajúce sa zhromažďovania a zdieľania používateľských údajov:

  • Upravené prostredie vykonávania
  • Dobre definované povolenia a práva na prístup k údajom pre súpravy SDK

Prvá verzia súpravy SDK Runtime je zameraná výlučne na súpravy SDK súvisiace s reklamou vrátane súprav SDK, ktoré umožňujú zobrazovanie reklám, meranie reklám, podvody s reklamami a zisťovanie zneužitia.

Ako funguje SDK Runtime

V súčasnosti, bez modulu SDK runtime, proces aplikácie zavolá súpravu SDK a táto súprava sa spustí v rámci rovnakej karantény ako zvyšok kódu aplikácie. Google chce, aby vývojári mali namiesto toho rozhranie pre súpravu SDK, ktorá funguje v procese aplikácie v popredí, a toto rozhranie sa potom môže pripojiť a zdieľať konkrétne údaje tam a späť so súpravou SDK, ktorá je súčasťou využité.

Predtým

Po

Diagram „pred“ (prvý) ukazuje, že kód volania súpravy SDK spolu so súpravami SDK, ktoré prijímajú volania z tohto kódu, sa nachádzajú v procese aplikácie. To znamená, že súprava SDK má prístup ku všetkým údajom, ktoré má aplikácia. Diagram „po“ (druhý) ukazuje, že v procese aplikácie v popredí kód volania súpravy SDK komunikuje s rozhraniami súpravy SDK. Tieto rozhrania potom prekročia hranicu procesu do procesu SDK Runtime, aby zavolali samotné súpravy SDK. To znamená, že používaná súprava SDK nemôže pristupovať k čomukoľvek, čo chce, ale môže jej poskytnúť iba informácie z aplikácie, s ktorou beží.

Nový model dôveryhodnej distribúcie pre súpravy SDK

V súčasnosti, keď si stiahnete aplikáciu so súpravami SDK tretích strán, vývojár ich zahrnie do aplikácie, ktorá je nahraná a distribuovaná v obchode Google Play. Google namiesto toho chce, aby sa stalo, že keď si do telefónu nainštalujete aplikáciu, ktorá používa tieto súpravy SDK, stiahnu sa oddelene zo samotnej aplikácie. To znamená, že vývojári SDK mohli vykonávať neprerušiteľné zmeny (to znamená žiadne zmeny v rozhraniach API alebo ich sémantiku) do ich súprav SDK a distribuovať ich do zariadení bez akéhokoľvek zapojenia aplikácie vývojárov.

Na druhej strane je možné nasadiť alebo vrátiť zmeny súpravy SDK bez toho, aby ste museli nevyhnutne čakať pre vývojárov aplikácií, aby prebudovali svoje aplikácie pomocou nových súprav SDK alebo čakali, kým ich koncoví používatelia aktualizujú aplikácie. Vývojári aplikácií by stále museli aktualizovať zmeny, ktoré menia rozhrania API a ich sémantiku, ale vývojári SDK by mohli získať najnovšie neprelomové zmeny a opravy rýchlejšie a jednotnejšie pre viac ľudí naraz bez toho, aby sa museli spoliehať na vývojára aplikácie, že aktualizuje svoju aplikáciu a balík v novom SDK.

Predtým

Po

Diagram „pred“ presne ukazuje, ako sú teraz aplikácie distribuované so súpravami SDK. Sú zabalené do aplikácie a táto aplikácia je odoslaná do Obchodu Google Play. V diagrame „po“ by vývojári SDK už svoje súpravy SDK nevkladali priamo do aplikácií. Namiesto toho by vývojári súpravy SDK odovzdali súpravu SDK a zverejnili ju v obchode Google Play. Obchod Google Play by sa potom postaral o distribúciu aplikácií spolu s akýmikoľvek závislosťami SDK do zariadení koncových používateľov. Google vo svojich diagramoch zámerne používa aj slovné spojenie „obchod s aplikáciami“, keďže ide o otvorené a všeobecné riešenie, ktoré môže fungovať naprieč inými obchodmi.

Zmeny v tom, ako sa zostavujú, spúšťajú a distribuujú súpravy SDK a aplikácie

Pôvodný návrh pre SDK Runtime navrhuje sériu zmien v piatich kľúčových oblastiach:

  • Prístup
  • Poprava
  • komunikácie
  • rozvoj
  • Distribúcia

Google chce definovať nasledujúcu skupinu povolení pre SDK Runtime:

  • INTERNET: Prístup na internet, aby ste mohli komunikovať s webovou službou.
  • ACCESS_NETWORK_STATE: Prístup k informáciám o sieťach.
  • Povolenia na prístup k rozhrania API na ochranu súkromia, ktoré poskytujú základné možnosti inzercie bez potreby prístupu k identifikátorom viacerých aplikácií. Názvy povolení neboli dokončené, ale tieto rozhrania API budú zablokované prístupom aplikácie k týmto povoleniam.
  • AD_ID: Možnosť vyžiadať si reklamné ID. Toto bude tiež zablokované prístupom aplikácie k tomuto povoleniu.
  • BIND_GET_INSTALL_REFERRER_SERVICE: Schopnosť používať Google Play Install Referrer API priradiť zdroj inštalácie aplikácie.

Spoločnosť chce tiež obmedziť prístup, ktorý majú súpravy SDK k pamäti spustenej aplikácie, ale tiež zabrániť aplikácii v prístupe k vlastným údajom súpravy SDK. Aplikácia by nemala priamy prístup k ukladaciemu priestoru súprav SDK a naopak, externé úložisko by nebolo otvorené pre súpravy SDK a existovalo by úložisko prístupné všetkým súpravám SDK a úložisko, ktoré je pre danú osobu súkromné SDK.

Pokiaľ ide o to, ako budú súpravy SDK fungovať, budú spustené s o niečo nižšou prioritou ako samotná aplikácia. To znamená, že je veľmi pravdepodobné, že aplikácia by bola ukončená krátko po ukončení SDK Runtime, ak by nastala situácia, že by ju systém potreboval zavrieť. V prípade, že nie je súčasne ukončený, alebo v prípade, že je na to iný dôvod, návrh ponúka vývojárom aplikácií súvisiace metódy spätného volania počas životného cyklu, aby mohli zvládnuť túto výnimku a znova inicializovať súpravu SDK Beh programu. Súpravy SDK runtime nebudú môcť používať rozhrania API pre upozornenia na odosielanie upozornení používateľov v akomkoľvek okamihu.

Nakoniec Google poznamenáva, že ide o všeobecný návrh, ktorý nie je jedinečný pre žiadny konkrétny obchod s aplikáciami. Aj keď to bude pravdepodobne zabudované do obchodu Google Play, nie je dôvod, prečo by iné obchody s aplikáciami nemohli začleniť podobnú štruktúru. Google hovorí, že nasledujúce výhody sú jasné:

  • Zabezpečte kvalitu a konzistentnosť súprav SDK.
  • Zjednodušte publikáciu pre vývojárov SDK.
  • Urýchlite zavádzanie aktualizácií menších verzií súpravy SDK do nainštalovaných aplikácií.

Android Privacy Sandbox vyzerá sľubne

Časový plán vydania spoločnosti Google je, že prvý štvrťrok roku 2022 zahŕňa počiatočné návrhy dizajnu a spätnú väzbu a iterácie dizajnu. Ukážky pre vývojárov prídu neskôr v priebehu roka, pričom beta verzia bude na konci roka. Napokon, v roku 2023 sa začne testovanie v mierke. Tieto ukážky a beta verzie budú nezávislé od kadencie vydania systému Android 13. Po zavedení budú k dispozícii aj ovládacie prvky pre používateľa v aplikácii nastavení.

Podľa môjho názoru je to karanténa ochrany osobných údajov systému Android vyzerá sľubné, ale budeme musieť počkať a uvidíme, ako to spoločnosť implementuje. Je celkom možné, že sa to vývojárom nebude páčiť, alebo že to v skutočnosti spôsobí viac problémov, ako vyrieši. Vývojárom odporúčame, aby si prečítali dokumentáciu, ktorú zverejnila spoločnosť Google, aby získali lepší prehľad o tom, čo príde v budúcnosti ochrany osobných údajov systému Android.

Toto je v súčasnosti návrh a nie definitívny výhľad na to, čo presne tak sa stane v budúcej verzii systému Android, ale je pravdepodobné, že to skončí veľmi blízko. Budeme sledovať ďalší vývoj!


Zdroj: Dokumentácia pre vývojárov systému Android