Frigivelsen af en iPhone uden en fingeraftrykssensor har bragt en del snak om brugen af fingeraftryk til godkendelse og hvor sikkert dataene gemmes. Det er fantastisk. Selv hvis du ikke er bekymret for, hvordan det gøres, skal du have mange andre mennesker til at være bekymrede, så det gøres på en måde, du ikke behøver at bekymre dig om!
Til at begynde med bruger Apple en lignende løsning, og hvis du har en ældre model med en fingeraftrykssensor, er du lige så sikker ved at bruge den som du var før. Det samme gælder for ældre Samsung-telefoner, der lancerede pre-Marshmallow og brugte Samsungs egne metoder.
Den måde, Google gemmer dine fingeraftryksdata på, er den mest sikre måde, der er mulig med den nuværende teknologi. Det er også fascinerende, hvor enkelt oversigten over det hele er, når du kigger på det. Enkelt og sikkert er altid en vindende kombination.
Opbevaring er i sig selv ikke særlig sikker. Det er det samme som at skrive noget på en post-it-note og lægge det i et arkivskab. Den er der, fordi den skal være der, og det bedste, du kan gøre, er at kontrollere, hvem der har adgang til det. I et filskab bruger du en lås, og til din telefon bruger du kryptering. For dine fingeraftryksdata går tingene et skridt videre: et Trusted Execution Environment (TEE).
En TEE er et separat og isoleret område i telefonens hardware. En TEE bruger muligvis sin egen processor og hukommelse, eller den kan bruge en virtualiseret instans på hoved CPU'en. I begge tilfælde er TEE fuldstændigt isoleret og isoleret ved hjælp af hardware-understøttet hukommelse og input / output-beskyttelse. Den eneste måde du kommer ind på er hvis TEE slipper dig ind, og det aldrig gør det. Selv hvis telefonen er rodfæstet eller bootloader låst op, er TEE separat og stadig intakt.
En separat processor med sin egen hukommelse og operativsystem bruges til at analysere og gemme dine fingeraftryksdata.
Google bruger det, de kalder Trusty TEE, til at støtte dette. Et meget lille og effektivt operativsystem, der korrekt kaldes Trusty OS, kører på TEE-hardware og kerne-drivere tillader det at kommunikere med systemet. Der er Android-biblioteker (du gætte det: Trusty API), som udviklere kan bruge, så de kan spørge, hvad der svarer til et ja eller nej spørgsmål til TEE. Ikke kun fingeraftryksdata gemmes i TEE. Ting som DRM-nøgler og producentens bootloader-krypteringsnøgler lever også i TEE og fungerer på samme måde som dine fingeraftryksdata - svar på, om data, der præsenteres for det af et program, stemmer overens med de kendte gode data, de lagrer.
Andre producenter kan bruge Trusty OS eller derefter bruge et andet system. Så længe alle kriterierne er opfyldt (angivet nedenfor) og TEE er isoleret og isoleret, vil de opfylde de sikkerhedsstandarder, der er nødvendige for at bruge Pixel Imprint (tidligere Nexus Imprint).
Når du registrerer et fingeraftryk på din Android-telefon, griber sensoren dataene fra scanningen. Trusty OS analyserer disse data inde i TEE og opretter derefter to ting: et sæt valideringsdata og en krypteret fingeraftryksskabelon. Dette ser ud til at være uønsket data for alt undtagen TEE, der også har nøglen til at dechifrere disse uønskede data. Denne krypterede fingeraftryksskabelon gemmes i en krypteret container enten på TEE eller på telefonens krypterede lager. Tre krypteringslag betyder, at det er næsten umuligt at hente dataene, og selvom du kunne, er det nytteløst uden en måde at dechiffrere dem.
Android kræver, at dine fingeraftryksdata sikres med en unik nøgle, og du kan; t tage dem til en anden telefon eller genbruge dem til en anden bruger.
Valideringsdataene gemmes i TEE. Når du placerer din finger på scanneren for at prøve at gøre noget, bygger scanneren en profil med data. Gennem Trusty API beder det tilknyttede program kernen om at spørge TEE, hvis det er rigtigt. TEE kontrollerer mod de lagrede valideringsdata ved hjælp af sin separate processor og hukommelse, og hvis nok af dataene matcher, siger det ja. Hvis der ikke er nok matchende data, siger de nej. Dette pass- eller fail-svar sendes tilbage til kernen som et softwaretoken, som API'en kan læse for at se resultatet.
Mens TEE selv bruger et enkeltstående operativsystem og hardware for at forblive sikkert, bruger fingeraftryksskabelonen softwarebaseret kryptering. Det skal underskrives af en meget specifik nøgle for at være gyldig. Denne nøgle oprettes ved hjælp af enhedsspecifik information, brugerspecifik information og tidspecifik information. Med andre ord, hvis du fjerner en bruger, skifter enheder eller forsøger at omregistrere et fingeraftryk (systemet kan fortælle, om du overskriver et eksisterende fingeraftryk) genkendes nøglen ikke længere og kan ikke bruges til at dekryptere fingeraftrykket skabelon.
De grundlæggende regler, som alle virksomheder, der fremstiller Android-telefoner med en fingeraftrykssensor, skal følge:
- Al fingeraftryksdataanalyse skal udføres inde i TEE
- Alle data, der er knyttet til et fingeraftryk, skal gemmes i TEE eller i betroet hukommelse (hukommelse, som hoved CPU'en ikke engang kan se)
- Fingeraftryksprofildata skal være selvkrypteret, selvom de gemmes i krypteret telefonopbevaring
- Fjernelse af en brugerkonto skal også sikkert slette alle data, der er knyttet til brugerens fingeraftryk
- Hvor fingeraftryksprofiler er gemt, må ikke være synlige for nogen applikation, proces eller bruger inklusive rodbrugeren
- Fingeraftryksdata af nogen art må ikke sikkerhedskopieres til nogen anden kilde, inklusive skyen eller din computer eller ethvert program
- Fingeraftryksgodkendelse skal bruges af den proces, der anmodede om det (ingen deling af fingeraftryksdata, selv bare ja eller nej svaret for at se, om det var korrekt)
Når du har et par standardspecifikationer, der er klare, er det ikke svært at opfylde dem. Det er det, der sikrer, at uanset hvilken Android-telefon, du bruger dine fingeraftryksdata, gemmes sikkert, og ingen anden systemproces eller app kan få adgang til det. Efterhånden som kryptografi udvikler sig, især hardware-understøttet kryptering, så vil denne metode til at holde dine fingeraftryksdata være sikker. Det vil være interessant at se tilbage, når Android Z er lanceret og se, hvor langt vi er kommet.