Vzdialené poskytovanie kľúčov od spoločnosti Google bude povinné v systéme Android 13: Čo to pre vás znamená

click fraud protection

Vzdialené poskytovanie kľúčov od Google bude zabezpečené v systéme Android 13, ale ide o komplikovanú tému. Čo to bude pre vás znamenať.

Kľúčové osvedčenie systému Android je chrbtovou kosťou mnohých dôveryhodných služieb na našich smartfónoch vrátane SafetyNet, Digital Car Key a Identity Credential API. Vyžaduje sa ako súčasť Androidu od Androidu 8 Oreo a spoliehal sa na koreňový kľúč nainštalovaný na zariadení vo výrobe. Poskytovanie týchto kľúčov si vyžadovalo maximálne utajenie zo strany výrobcu, a ak by došlo k úniku kľúča, znamenalo by to, že kľúč bude potrebné odvolať. To by malo za následok, že spotrebiteľ by nemohol používať žiadnu z týchto dôveryhodných služieb, čo by bolo nešťastné, ak by sa niekedy vyskytla zraniteľnosť, ktorá by to mohla odhaliť. Vzdialené poskytovanie kľúčov, ktoré bude nariadené v Android 13, má za cieľ vyriešiť tento problém.

Komponenty tvoriace súčasný reťazec dôvery v systéme Android

Pred vysvetlením, ako nový systém funguje, je dôležité poskytnúť kontext o tom, ako 

starý (a stále na mieste pre mnoho zariadení) systém funguje. Mnoho telefónov v súčasnosti používa atestáciu kľúča podporovanú hardvérom, ktorú možno poznáte ako klinec do rakvy pre akýkoľvek druh obchvatu SafetyNet. Existuje niekoľko pojmov, ktoré je dôležité pochopiť pre súčasný stav kľúčovej atestácie.

Je to kombinácia týchto konceptov, ktorá zaisťuje, že vývojár môže dôverovať, že so zariadením nebolo manipulované, a dokáže spracovať citlivé informácie v TEE.

Trusted Execution Environment

Trusted Execution Environment (TEE) je zabezpečená oblasť na SoC, ktorá sa používa na spracovanie kritických údajov. TEE je povinné na zariadeniach so systémom Android 8 Oreo a vyšším, čo znamená, že ho má každý najnovší smartfón. Všetko, čo nie je v TEE, sa považuje za „nedôveryhodné“ a môže vidieť iba zašifrovaný obsah. Napríklad obsah chránený DRM je šifrovaný kľúčmi, ku ktorým má prístup iba softvér spustený na TEE. Hlavný procesor môže vidieť iba prúd zašifrovaného obsahu, zatiaľ čo obsah môže byť dešifrovaný pomocou TEE a potom zobrazený používateľovi.

ARM Trustzone

Trusty je bezpečný operačný systém, ktorý poskytuje TEE v systéme Android a v systémoch ARM využíva Trustzone ARM. Trusty je spustený na rovnakom procesore ako primárny operačný systém a má prístup k plnému výkonu zariadenia, ale je úplne izolovaný od zvyšku telefónu. Trusty pozostáva z nasledujúcich prvkov:

  • Malé jadro operačného systému odvodené z Malé jadro
  • Ovládač jadra Linuxu na prenos údajov medzi zabezpečeným prostredím a Androidom
  • Knižnica používateľského priestoru systému Android na komunikáciu s dôveryhodnými aplikáciami (t. j. zabezpečenými úlohami/službami) prostredníctvom ovládača jadra

Výhodou, ktorú má oproti proprietárnym systémom TEE, je, že tieto systémy TEE môžu byť nákladné a môžu tiež spôsobiť nestabilitu v ekosystéme Android. Trusty poskytuje partnerským výrobcom OEM spoločnosť Google bezplatne a je to open source. Android podporuje iné systémy TEE, ale Trusty je ten, ktorý Google presadzuje najviac.

StrongBox

Zariadenia StrongBox sú úplne samostatné, účelové a certifikované bezpečné CPU. Môžu zahŕňať vložené prvky Secure Elements (eSE) alebo zabezpečenú procesorovú jednotku (SPU) na SoC. Google hovorí, že StrongBox je v súčasnosti „dôrazne odporúčaný“, aby prišiel so zariadeniami, ktoré sa spúšťajú Android 12 (podľa dokumentu o definícii kompatibility), pretože sa pravdepodobne stane požiadavkou v budúcom vydaní systému Android. Ide v podstate o prísnejšiu implementáciu hardvérom podporovaného úložiska kľúčov a možno ho implementovať spolu s TrustZone. Príkladom implementácie StrongBoxu je čip Titan M v smartfónoch Pixel. Nie veľa telefónov využíva StrongBox a väčšina využíva Trustzone ARM.

Keymaster TA

Keymaster Trusted Application (TA) je bezpečný správca kľúčov, ktorý riadi a vykonáva všetky operácie skladovania kľúčov. Môže bežať napríklad na TrustZone od ARM.

Ako sa Key Attestation mení s Androidom 12 a Androidom 13

Ak je kľúč odhalený na smartfóne so systémom Android, spoločnosť Google ho musí odvolať. To predstavuje problém pre každé zariadenie, ktoré má kľúč vstreknutý vo výrobe – akýkoľvek druh úniku, ktorý odhalí kľúč, by znamenal, že používatelia by nemali prístup k určitému chránenému obsahu. Môže to zahŕňať aj zrušenie prístupu k službám, ako je Google Pay, na čo sa veľa ľudí spolieha. Pre spotrebiteľov je to nešťastné, pretože bez opravy telefónu výrobcom by ste si ho nemohli opraviť sami.

Zadajte vzdialené poskytovanie kľúča. Počnúc systémom Android 12 spoločnosť Google nahrádza poskytovanie súkromných kľúčov z výroby kombináciou týchto kľúčov extrakcia verejného kľúča vo výrobe a poskytovanie certifikátov cez internet s krátkou životnosťou certifikáty. Táto schéma sa bude vyžadovať v systéme Android 13 a má niekoľko výhod. V prvom rade bráni výrobcom OEM a ODM v potrebe spravovať kľúčové tajomstvo v továrni. Po druhé, umožňuje obnovenie zariadení v prípade, že dôjde k ohrozeniu ich kľúčov, čo znamená, že spotrebitelia nestratia prístup k chráneným službám navždy. Teraz namiesto použitia certifikátu vypočítaného pomocou kľúča, ktorý je na zariadení a mohol by uniknúť cez a zraniteľnosť, dočasný certifikát sa od spoločnosti Google vyžaduje vždy, keď je služba vyžadujúca overenie použité.

Čo sa týka toho, ako to funguje, je to dosť jednoduché. Každé zariadenie vygeneruje jedinečný, statický pár kľúčov a verejnú časť tohto páru kľúčov extrahuje výrobca OEM vo svojej továrni a odošle na servery spoločnosti Google. Tam budú slúžiť ako základ dôvery pre neskoršie poskytovanie. Súkromný kľúč nikdy neopustí zabezpečené prostredie, v ktorom je vygenerovaný.

Keď sa zariadenie prvýkrát použije na pripojenie k internetu, vygeneruje žiadosť o podpis certifikátu kľúče, ktoré vygeneroval, pričom ho podpíše súkromným kľúčom, ktorý zodpovedá verejnému kľúču zhromaždenému v továreň. Koncové servery Google overia pravosť žiadosti a potom podpíšu verejné kľúče a vrátia reťazce certifikátov. Úložisko kľúčov na zariadení potom uloží tieto reťazce certifikátov a priradí ich aplikáciám vždy, keď sa požaduje osvedčenie. Môže to byť čokoľvek od Google Pay po Pokemon Go.

Presne tento reťazec žiadostí o certifikát bude prebiehať pravidelne po vypršaní platnosti certifikátov alebo vyčerpaní aktuálnej zásoby kľúčov. Každá aplikácia dostáva iný atestačný kľúč a samotné kľúče sa pravidelne striedajú, pričom oba zabezpečujú súkromie. Okrem toho sú koncové servery Google segmentované tak, že server, ktorý overuje verejný kľúč zariadenia, nevidí pripojené atestačné kľúče. To znamená, že Google nemôže priradiť atestačné kľúče späť ku konkrétnemu zariadeniu, ktoré si ich vyžiadalo.

Koncoví používatelia si nevšimnú žiadne zmeny, hoci vývojári musia podľa spoločnosti Google dbať na nasledujúce.

  • Štruktúra reťazca certifikátov
    • Vzhľadom na povahu našej novej infraštruktúry online poskytovania je dĺžka reťazca dlhšia ako predtým a môže sa zmeniť.
  • Koreň dôvery
    • Koreň dôvery sa nakoniec aktualizuje z aktuálneho kľúča RSA na kľúč ECDSA.
  • Ukončenie podpory osvedčenia RSA
    • Všetky kľúče vygenerované a overené spoločnosťou KeyMint budú podpísané kľúčom ECDSA a zodpovedajúcim reťazcom certifikátov. Predtým boli asymetrické kľúče podpísané príslušným algoritmom.
  • Krátkodobé certifikáty a atestačné kľúče
    • Certifikáty poskytnuté zariadeniam budú vo všeobecnosti platné až dva mesiace pred vypršaním platnosti a budú sa striedať.

Kontaktovali sme Google a spýtali sme sa, či to má nejaký význam pre Widevine DRM a ako niektorí používatelia Pixel nahlásili, že ich úroveň DRM bola znížená pomocou uzamknutého bootloadera. Spýtali sme sa tiež, či to môže byť teraz distribuované ako OTA upgrade používateľom prostredníctvom služieb Google Play. Ak sa nám ozvete, určite tento článok aktualizujeme. Nie je jasné, ktoré zložky súčasného reťazca dôvery budú ovplyvnené alebo akým spôsobom.


Zdroj: Google