Logo bg.androidermagazine.com
Logo bg.androidermagazine.com

Как андроидът запазва пръстовите ви отпечатъци?

Anonim

Пускането на iPhone без сензор за пръстови отпечатъци доведе до някои разговори за използването на пръстови отпечатъци за удостоверяване и колко сигурно се съхраняват данните. Това е страхотно. Дори и да не сте загрижени за това как се прави, имате нужда от много други хора, които да бъдат загрижени, така че да е направено по начин, за който не е нужно да се притеснявате!

Като за начало Apple използва подобно решение и ако имате по-стар модел със сензор за пръстови отпечатъци, вие сте също толкова безопасен, колкото и преди. Същото важи и за по-старите телефони на Samsung, които пуснаха преди Marshmallow и използваха собствените методи на Samsung.

Начинът, по който Google съхранява вашите данни за пръстови отпечатъци, е най-сигурният възможен начин с настоящите технологии. Увлекателно е и колко прост е прегледът на цялото нещо, след като го погледнете. Простата и сигурна винаги е печеливша комбинация.

По същността си съхранението не е много сигурно. Това е същото като да напишете нещо на бележка след него и да го поставите в картотека. Там е, защото трябва да е там, а най-доброто, което можете да направите, е да контролирате кой има достъп до него. За файлов шкаф използвате заключване, а за телефона си - криптиране. За вашите данни за пръстови отпечатъци нещата вървят с една стъпка по-напред: надеждна среда за изпълнение (TEE).

TEE е отделна и изолирана зона в хардуера на телефона. TEE може да използва собствен процесор и памет или може да използва виртуализиран екземпляр в основния процесор. И в двата случая TEE е напълно изолирана и изолирана, като се използва хардуерна памет и защита на входа / изхода. Единственият начин да влезете е, ако TEE ви пусне и никога няма. Дори ако телефонът е вкоренен или зареждащият механизъм е отключен, TEE е отделен и все още непокътнат.

Отделен процесор със собствена памет и операционна система се използва за анализ и съхраняване на вашите данни за пръстови отпечатъци.

Google използва това, което наричат ​​Trusty TEE, за да подкрепи това. Много малка и ефективна операционна система, подходящо наречена Trusty OS, работи на хардуера TEE и драйверите на ядрото й позволяват да комуникира със системата. Съществуват библиотеки с Android (познахте го: Trusty API), които разработчиците да използват, за да могат да зададат въпроса какво означава да или не въпрос на TEE. В TEE не се съхраняват само данни за пръстови отпечатъци. Неща като DRM ключове и шифроващи бутони за зареждане на производителя също живеят в TEE и работят по същия начин, както вашите данни за пръстови отпечатъци - отговорете дали данните, представени му от приложение, съответстват на известните добри данни, които съхранява.

Други производители могат да използват Trusty OS или след това могат да използват друга система. Докато всички критерии са изпълнени (изброени по-долу) и TEE е изолиран и изолиран, той ще отговаря на стандартите за сигурност, необходими за използване на Pixel Imprint (предишен Nexus Imprint).

ARM TrustZone TEE блокова схема.

Когато регистрирате пръстов отпечатък на телефона си с Android, сензорът грабва данните от сканирането. Trusty OS анализира тези данни в TEE, след което създава две неща: набор от данни за валидиране и криптиран шаблон за пръстови отпечатъци. Изглежда това е нежелана информация за всичко с изключение на TEE, който също има ключ за дешифриране на тези боклучни данни. Този криптиран шаблон за пръстови отпечатъци се съхранява в криптиран контейнер или в TEE, или в криптираното хранилище на вашия телефон. Три криптиращи слоя означават, че е почти невъзможно да се получат данните и дори ако можете, това е безполезно, без начин да ги дешифрирате.

Android изисква вашите данни за пръстови отпечатъци да бъдат защитени с уникален ключ и можете да го пренесете на друг телефон или да го използвате повторно за друг потребител.

Данните за валидиране се съхраняват в TEE. Когато поставите пръста си върху скенера, за да опитате да направите нещо, скенерът изгражда профил от данни. Чрез Trusty API свързаното приложение изисква ядрото да попита TEE дали е правилно. TEE проверява запаметените данни за валидиране, като използва своя отделен процесор и памет, и ако достатъчно от данните съвпада, той казва „да“. Ако няма достатъчно съвпадащи данни, тя казва „не“. Този отговор или грешка се изпраща обратно към ядрото като софтуерно означение, което API може да прочете, за да види резултата.

Докато самият TEE използва самостоятелна ОС и хардуер, за да запази сигурността си, шаблонът за пръстови отпечатъци използва софтуерно базирано криптиране. Той трябва да бъде подписан от много специфичен ключ, за да е валиден. Този ключ е създаден с помощта на специфична за устройството информация, специфична за потребителя информация и информация, специфична за времето. С други думи, ако премахнете потребител, смените устройства или се опитате да пререгистрирате пръстов отпечатък (системата може да каже дали презаписвате съществуващ пръстов отпечатък) ключът вече не се разпознава и не може да се използва за дешифриране на пръстовия отпечатък шаблон.

Основните правила, които трябва да спазва всяка компания, която прави Android телефони със сензор за пръстови отпечатъци:

  • Всички анализи на данни за пръстови отпечатъци трябва да се извършват вътре в TEE
  • Всички данни, свързани с пръстов отпечатък, трябва да се съхраняват в TEE или в надеждна памет (памет, която основният процесор дори не може да вижда)
  • Данните от профила на пръстовите отпечатъци трябва да бъдат самокодирани, дори ако се съхраняват в криптиран телефон
  • Премахването на потребителски акаунт също трябва безопасно да изтрие всички данни, свързани с пръстовите отпечатъци на този потребител
  • Където се съхраняват профилите за пръстови отпечатъци, не трябва да бъдат видими за нито едно приложение, процес или потребител, включително root потребител
  • Данните за пръстови отпечатъци от всякакъв вид не трябва да бъдат архивирани към никой друг източник, включително в облака или вашия компютър или всяко приложение
  • Автентификацията на пръстови отпечатъци трябва да се използва от процеса, който го поиска (без споделяне на данни за пръстови отпечатъци, дори само отговора „да“ или „не“, за да се види дали е правилен)

Когато имате няколко стандартни спецификации, които са ясни, не е трудно да ги изпълните. Това гарантира, че без значение какъв телефон с Android, който използвате вашите данни за пръстови отпечатъци, ще се съхраняват безопасно и никой друг системен процес или приложение не може да получи достъп до него. С развитието на криптографията, особено с хардуерно криптиране, този метод ще запази данните за пръстови отпечатъци. Ще бъде интересно да погледнем назад, след като стартира Android Z и да видим докъде сме стигнали.