„Android R“ gali palaikyti saugų mobiliojo telefono vairuotojo pažymėjimų saugojimą tokiuose įrenginiuose kaip „Google Pixel 2“, „Google Pixel 3“ arba „Google Pixel 4“.
1 atnaujinimas (2019-03-06 20:44 ET): Daugiau informacijos apie „Google“ planus, susijusius su „IdentityCredential“ API, pasidalijo Shawn Willden, „Android“ aparatinės įrangos saugos komandos vadovas. Straipsnio pabaigoje buvo atnaujinta ši informacija. Toliau pateikiamas originalus straipsnis.
Nuo tada, kai pradėjau naudotis, man neštis piniginę tapo ne tokia būtinybė Google Pay tvarkyti savo kredito korteles, bet vis tiek negaliu niekur keliauti be vairuotojo pažymėjimo. Pažįstu keletą žmonių, kurie naudoja piniginės dėkles, kad galėtų laikyti kelias korteles privalo neštis savo asmenį, bet laukiu dienos, kai galėsiu legaliai važiuoti į Walmart turėdamas tik telefoną. Skaitmeninis vairuotojo pažymėjimas suteikia daug pranašumų, palyginti su tradicine asmens tapatybės kortele. Negalite jo pamesti, galite atnaujinti nuotoliniu būdu, kad jums nereikėtų stovėti eilėje prie DMV, galite nuvalyti jį nuotoliniu būdu, jei jūsų telefonas būtų pavogtas, mažiau tikėtina, kad sužinosite savo tapatybę pavogtas, nes nereikia nešiotis piniginės su lengvai pasiekiama informacija, mažiau tikėtina, kad paliksite telefoną namuose ir galėsite lengviau jį iškelti prašymas. JAV valdžios institucijos pamažu pripažįsta mobiliojo vairuotojo pažymėjimo pranašumus, todėl kasmet girdime, kad vis daugiau JAV valstijų išbando jų priėmimą.
Pavyzdžiui, Luizianos gyventojai gali atsisiųsti Envoc- išvystyta LA piniginė programa, kurią LA teisėsaugos institucijos patvirtino licencijai patikrinti ir LA ATC dėl alkoholio ir tabako sandorių. Amžiaus patvirtinimas yra ypač įdomus, nes vartotojai gali apriboti mobiliąją programėlę, kad alkoholio ar tabako pardavėjui būtų rodoma tik būtina informacija. Kitur skaitmeninės apsaugos įmonė Gemalto bendradarbiauja su Kolorado, Aidaho, Merilando, Vašingtono DC ir Vajomingu, kad vykdytų bandomąsias programas prieš pradėdama diegti savo skaitmeninių vairuotojo pažymėjimų sprendimą. Tuo pačiu metu, Amerikos variklinių transporto priemonių administratorių asociacija stengiasi standartizuoti šią naują elektroninio identifikavimo formą.
Tačiau skaitmeninis vairuotojo pažymėjimas turi trūkumų. Jūs daug kontroliuojate, kas gali matyti jūsų fizinį ID, bet jūs mažiau kontroliuojate, kas ar kas ką turi prieigą prie savo skaitmeninės formos. Galite apsaugoti telefoną arba programą, kuri išima jūsų mobiliojo telefono licenciją slaptažodžiu arba PIN kodu, tačiau visada yra tikimybė, kad jūsų telefonas ir visi jo duomenys gali būti pažeisti. Be to, turite įsitikinti, kad jūsų telefone yra pakankamai energijos, kad „Android“ veiktų, kad galėtumėte atsiimti licenciją. Su „IdentityCredential“ API, „Google“ stengiasi išspręsti abi šias problemas. Būsimoje „Android“ versijoje, galbūt „Android R“, įrenginius su tinkama technine įranga bus galima saugiai saugoti identifikavimo kortelės, ypač skaitmeniniai vairuotojo pažymėjimai, ir netgi prieiti prie jų, kai įrenginys neturi pakankamai energijos paleisti Android.
„IdentityCredential“ API
Iš pirmo žvilgsnio įsipareigojimas, kurį pateikė Shawnas Willdenas, „Android“ aparatinės įrangos palaikomos „Keystore“ komandos vadovas, neatrodo labai įdomus. Tačiau jei peržiūrėsite „IdentityCredential“ ir „IdentityCredentialStore“ failus, rasite daug nuorodų į tai, kokius „tapatybės kredencialus“ nurodo „Google“. Pavyzdžiui, „IdentityCredential“ naudoja raktų mainų protokolą, kurį „naudoja ISO18013-5 Mobiliųjų vairuotojo pažymėjimų standartas. Be to, šis protokolas naudojamas kaip „nuolatinio ISO darbo pagrindas kiti standartizuoti tapatybės kredencialai.“ Nors vargu ar greitai pamatysime mobiliuosius pasus, akivaizdu, kad ši API skirta ne tik mobiliesiems vairuotojo pažymėjimams.
Gilindamasi, „Google“ detalizuoja „IdentityCredential“ API palaikomus pasirašymo raktų tipus. Yra dviejų tipų duomenų autentifikavimas: statinis ir dinaminis. Statinis autentifikavimas apima raktus, sukurtus išduodančios institucijos, o dinaminis autentifikavimas apima raktus, sukurtus įrenginio saugos aparatinės įrangos (pvz., Titanas M „Pixel 3“ ir „Pixel 3 XL“.) Dinaminio autentifikavimo pranašumas yra tas, kad užpuolikui sunkiau pažeisti saugią aparatinę įrangą ir nukopijuoti kredencialus į kitą įrenginį. Be to, dėl dinaminio autentifikavimo tampa sunkiau susieti konkretų kredencialą su vartotojo duomenimis.
„Android“ programa gali pateikti „IdentityCredential“ skaitytuvui, paprašydama vartotojo inicijuoti belaidį ryšį per NFC. Programoms rekomenduojama apsaugoti šias operacijas prašant naudotojo leidimo dialogo ir (arba) apsaugos slaptažodžiu forma.
Jei įrenginyje yra palaikoma aparatinė įranga, „tiesioginės prieigos“ režimas bus pasiekiamas, kad būtų galima pateikti „IdentityCredential“, net jei nepakanka energijos, kad „Android“ veiktų. Tai įmanoma tik tada, kai įrenginys turi atskirą saugią aparatinę įrangą ir pakankamai galios, kad galėtų valdyti tą aparatinę įrangą, kad būtų galima bendrinti kredencialus per NFC. Tokie įrenginiai kaip „Google Pixel 2“ ir „Google Pixel 3“ turėtų atitikti reikalavimus, nes abu įrenginiai turi sugadinimui atsparūs apsaugos moduliai kurie yra atskirti nuo pagrindinio SoC.
Jei įrenginyje nėra atskiro saugaus procesoriaus, jis vis tiek gali palaikyti IdentityCredential API, nors ir be tiesioginės prieigos palaikymo. Jei kredencialų saugykla įdiegta tik programinėje įrangoje, ją gali pažeisti branduolio ataka. Jei kredencialų saugykla yra įdiegta TEE, ją gali pažeisti šalutinio kanalo atakos prieš centrinį procesorių, pvz. Meltdown ir Spectre. Jei kredencialų saugykla yra įdiegta atskirame CPU, įdėtame į tą patį paketą kaip pagrindinis CPU, jis yra atsparus fizinėms aparatūros atakoms, bet negali būti maitinamas be maitinimo CPU.
Nuo dokumento jautrumo priklausys, ar bus palaikomas vienas ar keli iš šių tapatybės kredencialų saugyklos diegimų. Kūrėjai gali patikrinti tapatybės kredencialų saugyklos diegimo saugos sertifikatą. Tapatybės kredencialų parduotuvės diegimai gali būti nesertifikuoti arba jų įvertinimo užtikrinimo lygis yra 4 ar aukštesnis. EAL nurodo programų kūrėjams, koks yra diegimo saugumas nuo galimų atakų.
Kaip jau minėjau anksčiau, „Google“ ketina naudoti šią API bet kokiam standartizuotam dokumento tipui, nors kaip pavyzdį pateikia ISO 18013 mobiliuosius vairuotojo pažymėjimus. Dokumento tipas yra būtinas, kad saugos aparatinė įranga žinotų, kokio tipo kredencialas tai yra Tiesioginės prieigos režimas turėtų būti palaikomas ir kad programos žinotų, kokio tipo dokumentas yra skaitytuvas prašantis.
Tai visa informacija, kurią iki šiol turime apie šią naują API. Kadangi esame taip arti pirmosios „Android Q“ kūrėjų peržiūros išleidimo, nemanau, kad sulauksime saugaus mobiliojo telefono vairuotojo pažymėjimų saugojimo „Android Q“ palaikymo. Tačiau ši API gali būti paruošta iki „Android R“ pasirodymo 2020 m. „Google Pixel 2“, „Google Pixel 3“ ir būsimas „Google Pixel 4“ turėtų palaikyti šią API tiesioginės prieigos režimu „Android R“, nes turi būtiną atskirą saugų procesorių. Informuosime, jei sužinosime daugiau informacijos apie tai, ką „Google“ ketina daryti su šia API.
1 naujinimas: daugiau informacijos apie IdentityCredential API
Shawn Willden, IdentityCredential API įsipareigojimo autorius, komentarų skiltyse pasidalijo papildoma informacija apie API. Jis atsakė į keletą vartotojų komentarų, kuriuos pateiksime žemiau:
Vartotojas Munnimi pareiškė:
"Ir kai policija paima jūsų telefoną ir nuvažiuoja į policijos automobilį, jie gali patikrinti, kas yra telefone.
Ponas Willdenas atsakė:
„Tai yra kažkas, dėl ko aš specialiai stengiuosi padaryti neįmanoma. Tikslas yra susisteminti srautą taip, kad pareigūnas negalėtų naudingai paimti jūsų telefono. Idėja yra ta, kad jūs atliekate NFC bakstelėjimą su pareigūno telefonu, tada atrakinate piršto atspaudu / slaptažodžiu, tada jūsų telefonas pereina į užrakinimo režimą, kol duomenys perduodami per „Bluetooth“ / „Wifi“. Užrakinimo režimas reiškia, kad piršto atspaudo autentifikavimas jo neatrakina, reikalingas slaptažodis. Tai yra būtent tam, kad būtų priverstas remtis penktuoju pakeitimu, apsauga nuo kaltinimo prieš save, o kai kurie teismai nustatė, kad tai nėra neleis policijai priversti jus atrakinti naudojant biometrinius duomenis, bet visi sutinka, neleidžia jiems priversti jūsų pateikti slaptažodžio (bent jau JAV).
Atminkite, kad tai yra siekis, o ne įsipareigojimas. Būdai, kuriais galime priversti srautą tapatybės programų kūrėjams, yra riboti, nes jei nueiname per toli, jie gali tiesiog pasirinkite nenaudoti mūsų API. Bet ką galime padaryti, tai padėti jiems elgtis teisingai, atsižvelgiant į privatumą, dalykas“.
Vartotojas RobboW pareiškė:
„Australijoje tai nenaudinga. Važiuodami su savimi privalome turėti fizinį, oficialų vairuotojo pažymėjimą. Skaitmeninė kopija yra tiesiog subrendusi tapatybės vagystei“.
Ponas Willdenas atsakė:
„Australija yra aktyvi ISO 18013-5 komiteto dalyvė ir labai domisi mobiliųjų vairuotojo pažymėjimų palaikymu. Kalbant apie tapatybės vagystę, yra daug apsaugos nuo to, kad tai būtų įmontuota. Straipsnyje kai kurie iš jų paminėti“.
Vartotojas solitarios.lupus pareiškė:
„Atsižvelgiant į tai, ką ši svetainė veikia, manau, kad visi čia žino, kad tai neveiks ir tai yra didžiulė teisėsaugos saugumo problema. Lengvai suklastotas, suklastotas ir manipuliuojamas“.
Ponas Willdenas atsakė:
„Tiesioginis klastojimas bus neįmanomas, nes visi duomenys pasirašyti skaitmeniniu būdu. Norint suklastoti kredencialą, tektų suklastoti skaitmeninį parašą, dėl kurio arba reikia iš esmės nutraukti atitinkamą kriptografija (kuri sugadintų TLS ir beveik visa kita) arba pavogtų išduodančiosios institucijos parašą raktai. Netgi pakeitimas, paimant kai kuriuos pasirašytus duomenų elementus iš vieno DL (pvz., gimimo datą, rodančią, kad jums daugiau nei 21 m.), o kai kuriuos iš kito (pvz., jūsų tikroji nuotrauka) bus neįmanoma, nes pasirašymas apima visą dokumentą, sujungiant visus elementus.
Vartotojo ženklas nurodytas:
„Jeigu fotokopija niekada nebuvo galiojanti tapatybės dokumente, kodėl buvimas telefonu skiriasi? Net jei „Google“ žada padaryti ją saugią, kaip tai neleis kam nors parodyti netikros programos?
Vis dėlto, net jei atsakymų į tai nėra, vis tiek manau, kad tai yra geras dalykas dėl šiame straipsnyje nurodytų priežasčių. Norėčiau pasus – nebūtinai keliaujant, o kitais atvejais, kai reikia asmens tapatybės dokumento (nevairuoju, todėl pasas yra vienintelis asmens dokumentas).
Žinoma, man taip pat patiktų, jei JK nevirstų „popierių prašau“ visuomene, kurioje reikia nuskaityti pasą, net kai kuriais atvejais norint nueiti į aludę...
Ponas Willdenas atsakė:
„Skaitmeniniai parašai padarys tai saugų. Galite turėti netikrą programą, bet ji negali pateikti tinkamai pasirašytų duomenų.
Pasai taip pat labai tinka šiam darbui, BTW. Vairuotojo pažymėjimai yra atskaitos taškas, tačiau protokolai ir infrastruktūra yra kruopščiai kuriami taip, kad būtų palaikomi įvairūs tapatybės kredencialai, ypač įskaitant pasus. Žinoma, turėsime įtikinti ICAO laikytis tokio požiūrio, bet manau, kad tai labai tikėtina.
Ačiū XDA pripažintam kūrėjui luca020400 už patarimą!