Logo hr.androidermagazine.com
Logo hr.androidermagazine.com

Kako android sprema vaše otiske prstiju?

Anonim

Izdanje iPhonea bez senzora otiska prsta potaknulo je razgovor o korištenju otisaka prstiju za autentifikaciju i pouzdanosti pohranjivanja podataka. To je odlično. Čak i ako niste zabrinuti kako se to radi, trebate puno drugih ljudi da se brinu tako da to bude učinjeno na način da ne morate brinuti!

Za početak, Apple koristi slično rješenje i ako imate stariji model sa senzorom otiska prsta, jednako ste sigurni da ga koristite kao i prije. Isto vrijedi i za starije Samsung telefone koji su lansirali sustav prije Marshmallow-a i koristili Samsungove vlastite metode.

Način na koji Google pohranjuje vaše podatke o otiscima prstiju je najsigurniji mogući način pomoću trenutne tehnologije. Također je fascinantno koliko je jednostavan pregled cijele stvari jednom kad to pogledate. Jednostavno i sigurno uvijek je dobitna kombinacija.

Skladištenje, po svojoj prirodi, nije baš sigurno. To je isto što i napisati nešto na bilješci i staviti je u ormar za datoteke. Tamo je jer tamo treba biti, a najbolje što možete učiniti je kontrolirati tko ima pristup tome. Za ormar za datoteke koristite bravu, a za svoj telefon šifriranje. Što se tiče podataka o vašim otiscima, stvari idu i korak dalje: pouzdano okruženje izvršenja (TEE).

TEE je odvojeno i izdvojeno područje u hardveru telefona. TEE može koristiti vlastiti procesor i memoriju ili virtualiziranu instancu na glavnom CPU-u. U oba slučaja TEE je potpuno izoliran i izoliran pomoću hardverske memorije i zaštite ulaza / izlaza. Jedini način na koji ćete ući je ako TEE pusti unutra, a nikad neće. Čak i ako je telefon ukorijenjen ili je uređaj za pokretanje otključan, TEE je odvojen i još uvijek netaknut.

Za analizu i pohranu podataka o otiscima prsta koristi se zasebni procesor s vlastitom memorijom i operativnim sustavom.

Google koristi kako bi to podržao. Vrlo mali i učinkovit operativni sustav, prikladno nazvan Trusty OS, radi na TEE hardveru i upravljački programi jezgre omogućuju mu komunikaciju sa sustavom. Postoje Android biblioteke (pogodili ste: Trusty API) koji programeri mogu koristiti kako bi mogli postaviti pitanje da li TEE postavlja pitanje ili ne. U TEE se ne pohranjuju samo podaci o otiscima prstiju. Kao što su DRM ključevi i proizvođačevi ključevi za šifriranje pokretača, također žive u TEE-u i rade na isti način kao i vaši podaci o otiscima prstiju - odgovorite na to odgovaraju li podaci koje aplikacija daje u skladu s poznatim dobrim podacima koje sprema.

Drugi proizvođači mogu koristiti Trusty OS ili tada mogu koristiti drugačiji sustav. Sve dok su svi kriteriji ispunjeni (navedeni u nastavku) i TEE je izoliran i izoliran, on će ispuniti sigurnosne standarde potrebne za korištenje Pixel Imprint (ranije Nexus Imprint).

ARM TrustZone TEE blok dijagram.

Kad registrirate otisak prsta na Android telefonu, senzor uzima podatke iz skeniranja. Pouzdan OS analizira ove podatke unutar TEE, a zatim stvara dvije stvari: skup podataka za potvrdu i šifrirani predložak otiska prsta. Čini se da su to bezvrijedni podaci za sve, osim za TEE koji također ima ključ za dešifriranje tih bezvrijednih podataka. Ovaj šifrirani predložak otiska prsta sprema se u šifrirani spremnik bilo na TEE ili na šifrirani prostor vašeg telefona. Tri sloja šifriranja znače da je gotovo nemoguće dobiti podatke, pa čak i ako možete, beskorisni ste bez načina da ih dešifrirate.

Android zahtijeva da se podaci vaših otisaka zaštite osiguraju jedinstvenim ključem, a možete ga odnijeti na drugi telefon ili ponovo upotrijebiti za drugog korisnika.

Podaci o provjeri valjanosti su pohranjeni unutar TEE. Kad stavite prst na skener da pokušate nešto učiniti, skener gradi profil podataka. Kroz Trusty API, povezana aplikacija traži kernel da pita TEE je li u pravu. TEE provjerava spremljene podatke za provjeru valjanosti zasebnim procesorom i memorijom, a ako ima dovoljno podataka odgovara da, da. Ako nema dovoljno odgovarajućih podataka, kaže se ne. Odgovor ovog prijenosa ili neuspjeha vraća se natrag u kernel kao softverski token koji API može pročitati da vidi rezultat.

Iako TEE sam koristi samostalni OS i hardver da bi bio siguran, predložak otiska prsta koristi šifriranje zasnovano na softveru. Mora biti potpisan vrlo specifičnim ključem da bi bio valjan. Ovaj se ključ stvara pomoću podataka specifičnih za uređaj, informacija specifičnih za korisnika i podataka o vremenu. Drugim riječima, ako uklonite korisnika, promijenite uređaje ili pokušate ponovno registrirati otisak prsta (sustav može reći je li prebrisati postojeći otisak prsta) ključ se više ne prepoznaje i ne može se koristiti za dešifriranje otiska prsta predložak.

Osnovna pravila koja mora slijediti svaka tvrtka koja proizvodi Android telefone sa senzorom otiska prsta:

  • Sva analiza podataka o otiscima prstiju mora se obaviti unutar TEE
  • Svi podaci povezani s otiskom prsta moraju se pohraniti u TEE ili u pouzdanu memoriju (memorija koju glavni CPU uopće ne može vidjeti)
  • Podaci profila otiska moraju se automatski šifrirati, čak i ako su pohranjeni u šifriranom telefonu
  • Uklanjanje korisničkog računa mora također sigurno obrisati sve podatke povezane s otiscima prstiju tog korisnika
  • Gdje su pohranjeni profili otisaka prstiju, ne smiju biti vidljivi nijednoj aplikaciji, procesu ili korisniku, uključujući korisniku root-a
  • Podaci o otiscima prstiju ne smiju biti sigurnosno kopirani na bilo koji drugi izvor, uključujući oblak ili računalo ili bilo koju aplikaciju
  • Ovjera za otiske prstiju mora se upotrijebiti u postupku koji ga je zatražio (ne dijeljenje podataka o otiscima prsta, čak i samo odgovor da ili ne da biste vidjeli je li točna)

Kad imate nekoliko standardnih specifikacija koje su jasne, nije ih teško ispuniti. To je ono što osigurava da bez obzira na Android telefon koji koristite podatke o otiscima prstiju sigurno pohranjujete i niti jedan drugi sistem ili aplikacija ne može pristupiti njemu. Kako se kriptografija razvija, posebno kodirano hardverskim enkripcijama, tako će se i ova metoda čuvanja podataka o vašim otiscima. Bit će zanimljivo pogledati jednom kad se pokrene Android Z i vidjeti koliko smo daleko stigli.