„Google“ nuotolinio rakto teikimas bus privalomas „Android 13“, tačiau tai sudėtinga tema. Štai ką tai reikš jums.
„Android“ raktas yra daugelio patikimų paslaugų mūsų išmaniuosiuose telefonuose pagrindas, įskaitant „SafetyNet“, skaitmeninį automobilio raktą ir Identity Credential API. Jis buvo reikalingas kaip „Android“ dalis nuo „Android 8 Oreo“ ir priklausė nuo gamykloje įrenginyje įdiegto šakninio rakto. Šių raktų aprūpinimas reikalavo didžiausio gamintojo slaptumo, o jei raktas būtų nutekėjęs, tai reikštų, kad raktą reikės atšaukti. Dėl to vartotojas negalėtų naudotis nė viena iš šių patikimų paslaugų, o tai būtų gaila, jei kada nors atsirastų pažeidžiamumas, galintis jį atskleisti. Nuotolinis raktų teikimas, kuris bus įpareigotas Android 13, siekiama išspręsti šią problemą.
Komponentai, sudarantys dabartinę „Android“ pasitikėjimo grandinę
Prieš paaiškinant, kaip veikia naujoji sistema, svarbu pateikti kontekstą, kaip senas (ir vis dar veikia daugeliui įrenginių) sistema veikia. Daugelyje telefonų šiais laikais naudojamas aparatinė įranga paremtas rakto patvirtinimas, kuris jums gali būti žinomas kaip „SafeNet“ apėjimo vinis. Yra keletas sąvokų, kurias svarbu suprasti dabartinei pagrindinio atestavimo būsenai.
Tai yra šių sąvokų derinys, užtikrinantis, kad kūrėjas gali pasitikėti, kad įrenginys nebuvo sugadintas, ir gali tvarkyti neskelbtiną informaciją TEE.
Patikima vykdymo aplinka
Patikima vykdymo aplinka (TEE) yra saugus SoC regionas, naudojamas svarbiems duomenims tvarkyti. TEE yra privaloma įrenginiuose, kuriuose įdiegta „Android 8 Oreo“ ir naujesnė versija, o tai reiškia, kad jį turi visi naujausi išmanieji telefonai. Viskas, kas nėra TEE, laikoma „nepatikima“ ir gali matyti tik užšifruotą turinį. Pavyzdžiui, DRM apsaugotas turinys yra užšifruotas raktais, kuriuos gali pasiekti tik TEE veikianti programinė įranga. Pagrindinis procesorius gali matyti tik užšifruoto turinio srautą, o turinį TEE gali iššifruoti ir tada parodyti vartotojui.
ARM Trustzone
„Trusty“ yra saugi operacinė sistema, teikianti TEE „Android“, o ARM sistemose ji naudoja ARM „Trustzone“. „Trusty“ vykdomas tame pačiame procesoriuje kaip ir pagrindinė operacinė sistema ir turi prieigą prie visos įrenginio galios, tačiau yra visiškai atskirta nuo likusio telefono. Trusty susideda iš šių dalių:
- Mažas OS branduolys, gautas iš Mažasis branduolys
- „Linux“ branduolio tvarkyklė, skirta duomenims perkelti iš saugios aplinkos į „Android“.
- „Android“ vartotojo erdvės biblioteka, skirta bendrauti su patikimomis programomis (ty saugiomis užduotimis / paslaugomis) per branduolio tvarkyklę
Jos pranašumas, palyginti su patentuotomis TEE sistemomis, yra tas, kad šios TEE sistemos gali būti brangios ir taip pat gali sukelti nestabilumą „Android“ ekosistemoje. „Google“ partneriams OĮG teikia „Trusty“ nemokamai ir yra atvirojo kodo. „Android“ palaiko kitas TEE sistemas, tačiau „Google“ labiausiai skatina „Trusty“.
StrongBox
„StrongBox“ įrenginiai yra visiškai atskiri, specialiai sukurti ir sertifikuoti saugūs procesoriai. Tai gali būti įterptieji saugūs elementai (eSE) arba on-SoC saugaus apdorojimo blokas (SPU). „Google“ teigia, kad „StrongBox“ šiuo metu „primygtinai rekomenduojama“ tiekti su įrenginiais, kurie paleidžiami Android 12 (kaip nurodyta suderinamumo apibrėžimo dokumente), nes tai greičiausiai taps reikalavimu būsimame „Android“ leidime. Iš esmės tai yra griežtesnis aparatinės įrangos raktų saugyklos įgyvendinimas ir gali būti įdiegtas kartu su TrustZone. „StrongBox“ diegimo pavyzdys yra „Titan M“ lustas „Pixel“ išmaniuosiuose telefonuose. Nedaug telefonų naudoja StrongBox, o dauguma naudoja ARM Trustzone.
Keymaster TA
Keymaster Trusted Application (TA) yra saugus raktų valdytojas, valdantis ir atliekantis visas raktų saugyklos operacijas. Jis gali veikti, pavyzdžiui, ARM TrustZone.
Kaip keičiasi rakto patvirtinimas naudojant „Android 12“ ir „Android 13“.
Jei raktas rodomas „Android“ išmaniajame telefone, „Google“ privalo jį atšaukti. Tai kelia problemų bet kuriam įrenginiui, kurio raktas įšvirkštas gamykloje – bet koks nutekėjimas, atidengiantis raktą, reikš, kad vartotojai negalės pasiekti tam tikro apsaugoto turinio. Tai netgi gali apimti prieigos prie paslaugų, pvz., „Google Pay“, atšaukimą – tai, kuo daugelis žmonių pasitiki. Dėl to gaila vartotojų, nes jei jūsų telefono neremontuotų gamintojas, negalėtumėte jo pataisyti patys.
Įveskite nuotolinio rakto aprūpinimą. Pradedant nuo 12 versijos „Android“, „Google“ gamyklinį privataus rakto aprūpinimą pakeičia deriniu gamyklinis viešojo rakto ištraukimas ir trumpalaikis sertifikato suteikimas belaidžiu būdu sertifikatus. Ši schema bus reikalinga naudojant „Android 13“, ir ji turi keletą privalumų. Visų pirma, tai neleidžia OĮG ir ODM tvarkyti raktų slaptumą gamykloje. Antra, tai leidžia atkurti įrenginius, jei jų raktai būtų pažeisti, o tai reiškia, kad vartotojai nepraras prieigos prie apsaugotų paslaugų amžinai. Dabar, užuot naudoję sertifikatą, apskaičiuotą naudojant raktą, esantį įrenginyje ir galintį nutekėti per a Pažeidžiamumo atveju „Google“ prašoma laikinojo sertifikato bet kuriuo metu, kai teikiama paslauga, kurią reikia patvirtinti naudotas.
Kalbant apie tai, kaip tai veikia, tai pakankamai paprasta. Kiekvienas įrenginys sugeneruoja unikalią statinę raktų porą, o viešąją šios raktų poros dalį savo gamykloje išgauna originalios įrangos gamintojas ir pateikia „Google“ serveriams. Ten jie taps pasitikėjimo pagrindu vėliau aprūpinant. Privatus raktas niekada nepalieka saugios aplinkos, kurioje jis sugeneruotas.
Kai įrenginys pirmą kartą naudojamas prisijungti prie interneto, jis sugeneruos sertifikato pasirašymo užklausą sugeneruotus raktus, pasirašydama jį privačiu raktu, atitinkančiu viešąjį raktą, surinktą gamykla. „Google“ vidiniai serveriai patikrins užklausos autentiškumą ir pasirašys viešuosius raktus, grąžindami sertifikatų grandines. Tada įrenginio raktų saugykla išsaugos šias sertifikatų grandines ir priskirs jas programoms, kai tik bus prašoma patvirtinimo. Tai gali būti bet kas – nuo „Google Pay“ iki „Pokemon Go“.
Ši tiksli sertifikato užklausų grandinė vyks reguliariai pasibaigus sertifikatų galiojimo laikui arba išnaudojus esamą rakto atsargą. Kiekviena programa gauna skirtingą patvirtinimo raktą, o patys raktai reguliariai keičiami, o tai užtikrina privatumą. Be to, „Google“ vidiniai serveriai yra suskirstyti į segmentus, kad įrenginio viešąjį raktą patvirtinantis serveris nemato pridėtų patvirtinimo raktų. Tai reiškia, kad „Google“ negali susieti atestavimo raktų su konkrečiu įrenginiu, kuris jų paprašė.
Galutiniai vartotojai nepastebės jokių pakeitimų, tačiau, pasak „Google“, kūrėjai turi atkreipti dėmesį į šiuos dalykus.
- Sertifikatų grandinės struktūra
- Dėl mūsų naujos internetinės paslaugų infrastruktūros pobūdžio grandinės ilgis yra ilgesnis nei buvo anksčiau ir gali keistis.
- Pasitikėjimo šaknis
- Pasitikėjimo šaknis galiausiai bus atnaujinta iš dabartinio RSA rakto į ECDSA raktą.
- RSA atestacijos nustojimas
- Visi KeyMint sugeneruoti ir patvirtinti raktai bus pasirašyti su ECDSA raktu ir atitinkama sertifikatų grandine. Anksčiau asimetriniai raktai buvo pasirašyti atitinkamu algoritmu.
- Trumpalaikiai sertifikatai ir atestacijos raktai
- Įrenginiams pateikti sertifikatai paprastai galios iki dviejų mėnesių, kol pasibaigs jų galiojimo laikas, ir bus keičiami.
Susisiekėme su „Google“ ir paklausėme, ar tai susiję su „Widevine“ DRM ir kaip kai kurie „Pixel“ naudotojai pranešė, kad jų DRM lygis buvo sumažintas naudojant užrakintą įkrovos įkroviklį. Taip pat paklausėme, ar dabar tai gali būti platinama kaip OTA naujinimas vartotojams naudojant „Google Play“ paslaugas. Būtinai atnaujinsime šį straipsnį, jei išgirsime. Neaišku, kurie dabartinės pasitikėjimo grandinės komponentai bus paveikti ir kokiu būdu.
Šaltinis: Google