Logo sl.androidermagazine.com
Logo sl.androidermagazine.com

Kako android shrani prstne odtise?

Anonim

Izdaja iPhone brez senzorja prstnih odtisov je prinesla nekaj govora o uporabi prstnih odtisov za preverjanje pristnosti in kako varno so shranjeni podatki. To je super. Tudi če vas ne skrbi, kako je to izvedeno, morate skrbeti številni drugi ljudje, da bo to storjeno tako, da vam ni treba skrbeti!

Za začetek Apple uporablja podobno rešitev in če imate starejši model s senzorjem prstnih odtisov, ga enako varno uporabljate kot prej. Enako velja za starejše Samsung telefone, ki so lansirali pred uporabo Marshmallow in uporabljali Samsungove metode.

Način, kako Google shranjuje vaše podatke o prstnih odtisih, je najbolj varen možen način s trenutno tehnologijo. Prav tako je fascinantno, kako preprost je pregled celotne stvari, ko jo enkrat pogledate. Preprost in varen je vedno zmagovalni kombo.

Skladiščenje po svoji naravi ni zelo varno. To je isto, kot če nekaj napišete na beležko in jo vstavite v datoteko. Tam je, ker mora biti tam, in najboljše, kar lahko narediš, je nadzor nad tem, kdo ima dostop do njega. Za omarico z datotekami uporabljate ključavnico, za telefon pa šifriranje. Za vaše podatke o prstnih odtisih gre nekaj korakov naprej: zaupanja vredno okolje za izvrševanje (TEE).

TEE je ločeno in izolirano območje v strojni opremi telefona. TEE lahko uporablja svoj procesor in pomnilnik ali pa lahko uporabi virtualizirani primerek v glavnem CPU-ju. V obeh primerih je TEE popolnoma izoliran in izoliran s pomočjo strojno podprtega pomnilnika in zaščite vhod / izhod. Edini način, kako se boste vstopili, je, če vam TEE pusti, in nikoli ne bo. Tudi če je telefon zakoreninjen ali je zagonski nakladalec odklenjen, je TEE ločen in še vedno nedotaknjen.

Za analizo in shranjevanje podatkov o prstnih odtisih se uporablja ločen procesor z lastnim pomnilnikom in operacijskim sistemom.

Google za to podpira tisto, čemur pravijo Trusty TEE. Zelo majhen in učinkovit operacijski sistem, ki je ustrezno imenovan Trusty OS, deluje na strojni opremi TEE, gonilniki jedra pa mu omogočajo komunikacijo s sistemom. Obstajajo knjižnice Android (uganili ste: Trusty API), ki jih lahko uporabijo razvijalci, da lahko TEE vprašajo, kaj pomeni vprašanje da ali ne. V TEE niso shranjeni samo podatki o prstnih odtisih. Stvari, kot so DRM ključi in proizvajalčevi šifrirni ključi za zagonski program, tudi živijo v TEE in delujejo enako kot podatki o prstnih odtisih - odgovorite, ali se podatki, ki jim jih je aplikacija predložila, ujemajo z znanimi dobrimi podatki, ki jih hrani.

Drugi proizvajalci lahko uporabljajo Trusty OS ali nato uporabljajo drug sistem. Dokler so izpolnjena vsa merila (navedena spodaj) in je TEE izoliran in izoliran, bo izpolnjeval varnostne standarde, potrebne za uporabo Pixel Imprint (prej Nexus Imprint).

ARM TrustZone TEE blok diagram.

Ko registrirate prstni odtis na telefonu Android, senzor zajame podatke iz optičnega branja. Zaupni OS analizira te podatke znotraj TEE, nato ustvari dve stvari: nabor podatkov za preverjanje veljavnosti in šifrirano predlogo za prstni odtis. Zdi se, da so to neželeni podatki za vse, razen za TEE, ki ima tudi ključ za dešifriranje neželenih podatkov. Ta šifrirana predloga za prstni odtis je shranjena v šifriranem vsebniku bodisi na TEE bodisi v šifriranem pomnilniku vašega telefona. Tri šifrirne plasti pomenijo, da je skoraj nemogoče pridobiti podatke, in tudi če bi lahko bile neuporabne, ne da bi jih razvozlali.

Android zahteva, da se podatki o prstnih odtisih zavarujejo z edinstvenim ključem in jih ne morete prenesti v drug telefon ali jih ponovno uporabiti za drugega uporabnika.

Podatki za potrjevanje so shranjeni znotraj TEE. Ko položite prst na optični bralnik, da poskusite nekaj storiti, optični bralnik ustvari profil podatkov. Skozi Trusty API povezana aplikacija zahteva, da jedro vpraša TEE, če je pravilno. TEE preveri shranjene podatke za preverjanje veljavnosti z ločenim procesorjem in pomnilnikom, in če se dovolj podatkov ujema, pravi da. Če ni dovolj ujemajočih se podatkov, piše, da ne. Ta odziv na prehod ali napako se pošlje nazaj jedru kot programski žeton, ki ga lahko API prebere, da vidi rezultat.

Medtem ko TEE sam uporablja samostojen OS in strojno opremo, da ostane varen, šablona prstnih odtisov uporablja programsko šifriranje. Za veljavnost mora biti podpisan z zelo določenim ključem. Ta ključ je ustvarjen z uporabo informacij, specifičnih za napravo, informacij, specifičnih za uporabnika, in časovno specifičnih informacij. Z drugimi besedami, če odstranite uporabnika, spremenite naprave ali poskusite ponovno registrirati prstni odtis (sistem lahko ugotovi, če prepisujete obstoječi prstni odtis), ključ ni več prepoznan in ga ni mogoče uporabiti za dešifriranje prstnega odtisa predloga.

Osnovna pravila, ki jih mora upoštevati vsako podjetje, ki izdeluje Android telefone s senzorjem prstnih odtisov:

  • Vsa analiza podatkov o prstnih odtisih mora biti opravljena znotraj TEE
  • Vsi podatki, povezani s prstnim odtisom, morajo biti shranjeni v TEE ali v zaupnem pomnilniku (pomnilnik, ki ga glavni CPU sploh ne vidi)
  • Podatki profila prstnih odtisov morajo biti samo šifrirani, tudi če so shranjeni v šifriranem pomnilniku telefona
  • Odstranitev uporabniškega računa mora tudi varno obrisati vse podatke, povezane s prstnimi odtisi tega uporabnika
  • Kjer so shranjeni profili prstnih odtisov, ne smejo biti vidni nobeni aplikaciji, postopku ali uporabniku, vključno s korenskim uporabnikom
  • Podatki o prstnih odtisih ne smejo biti varnostno kopirani v noben drug vir, vključno z oblakom, računalnikom ali katero koli aplikacijo
  • Proces preverjanja pristnosti prstnih odtisov mora uporabiti postopek, ki ga je zahteval (brez skupne rabe nobenih podatkov o prstnih odtisih, celo samo odgovor da ali ne, da bi videli, ali je pravilna)

Ko imate nekaj jasnih standardnih specifikacij, jih ni težko izpolniti. To je tisto, kar zagotavlja, da se ne glede na to, kakšen Android telefon uporabljate s podatki o prstnih odtisih, varno shranjujejo in noben drug sistemski program ali aplikacija ne more priti do njega. Ko se razvija kriptografija, zlasti s strojno podprto šifriranje, bo tak način varovanja podatkov o prstnih odtisih varen. Zanimivo bo pogledati nazaj, ko se Android Z zažene in videti, kako daleč smo prišli.