Внедряване на биометрично удостоверяване в Android

  • Използване на BiometricPrompt и Credential Manager за управление на защитен и персонализиран достъп.
  • Внедряване на слоеве за сигурност, използващи CryptoObject за защита на чувствителни данни.
  • Интегриране на системи за откриване на активност и изкуствен интелект за борба с измамите и представянето за друг.
  • Съответствие със стандартите за сигурност и разпоредбите за поверителност на Android CDD.

Внедряване на биометрично удостоверяване в Android

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

Ако обмисляте как да интегрирате тези функции в проекта си, първото нещо, което трябва да знаете, е, че Android предлага много стабилна екосистема. Не става въпрос само за искане на пръстов отпечатък, а за управление на потоците за достъп , които се адаптират към устройството на потребителя, гарантирайки сигурност на данните, независимо дали телефонът е висок клас модел или по-скромен.

Основни инструменти: Мениджър на удостоверения и биометрична подкана

За да започнете добре, е важно да разберете наличните инструменти. Като общо правило, Credential Manager е най-добрият вариант , когато потребителят използва приложението за първи път на устройство. За последващи достъпи, където е необходимо само бързо повторно оторизиране, можете да избирате между Biometric Prompt или гореспоменатия Credential Manager.

Основното предимство на Biometric Prompt е, че позволява по-голяма персонализация на диалоговия прозорец, докато Credential Manager предлага по-проста и унифицирана имплементация и за двата работни процеса. Струва си да се отбележи, че Biometric библиотеката е заменила по-стария FingerprintManager API, който е остарял преди известно време.

Видове автентификатори и нива на сигурност

Защитете поверителността си с NetGuard
Свързана статия:
Активирайте основни настройки за сигурност на Android

Не всички биометрични сензори са създадени еднакви и Android разбира това, като класифицира удостоверителите чрез интерфейса BiometricManager.Authenticators . В зависимост от нуждите на вашето приложение, можете да декларирате следните нива:

  • BIOMETRIC_STRONGТова се отнася до методите от клас 3, които са най-безопасните и най-строги.
  • БИОМЕТРИЧНА_СЛАБАУдостоверители от клас 2, които предлагат приемлив баланс, но по-ниска сигурност.
  • УДОСТОВЕРИТЕЛНИ_ЗА_УСТРОЙСТВОТук се намесват традиционните методи за заключване на екрана, като например ПИН код, модел или парола.

Важно е да запомните, че за да работи някоя от тези опции, потребителят трябва предварително да е конфигурирал метод за заключване, например да знае Как да изберете 6-цифрен ПИН код на AndroidАко не, системата ще стартира автоматично процес на биометрично записване така че потребителят да създаде своите идентификационни данни. За конфигуриране на това в кода се използва методът. setAllowedAuthenticators(), дори ви позволява да комбинирате няколко вида достъп.

Поетапно изпълнение

Ръководство за скриване на чувствителни приложения в лично пространство на Android
Свързана статия:
Ръководство за частно пространство: Скриване на чувствителни приложения на Android

След като сте решили какво ниво на сигурност ви е необходимо, следващата стъпка е Провери наличността на споменатите сензори, използващи метода canAuthenticate()Ако устройството няма записани данни, можете да извикате действието ACTION_BIOMETRIC_ENROLL да насочи потребителя към системните настройки и да конфигурира биометричните си данни.

За да внедрите заявката за вход, трябва да добавите зависимостта на библиотеката androidx.biometric към вашия build.gradle файл. След инсталирането можете да стартирате системния диалогов прозорец от вашата дейност или фрагмент. Използването на този стандартен диалогов прозорец е жизненоважно, тъй като изгражда доверието на потребителите , като представя интерфейс, съвместим с останалата част от операционната система.

След успешно удостоверяване можете да използвате метода getAuthenticationType() да знам точно Как беше идентифициран потребителят?, независимо дали е било чрез биометрични данни или чрез идентификационни данни на устройството.

Разширена сигурност с криптографски решения

Ако искате да изведете сигурността на следващото ниво и да отидете отвъд обикновената проверка на достъпа, интегрирането на CryptoObject е идеално . Това позволява криптографските операции (като дешифриране на ключ) да зависят пряко от успешното биометрично удостоверяване.

Как да защитите с парола избрани приложения
Свързана статия:
Най-добрите мениджъри на пароли за Android

Android framework поддържа обекти като Споразумение за подпис, шифър, Mac и ключНапример, ако използвате обект Cipher заедно със SecretKey, вашето приложение ще може да изпълни процеса на криптиране и декриптиране на данни чувствителен само след като потребителят е поставил пръстовия си отпечатък или лицето си. В зависимост от настройките KeyGenParameterSpecМожете да принудите удостоверяването да бъде строго биометрично или да позволите ПИН кодът на устройството да служи като резервно копие.

Съществуват и така наречените ключове за удостоверяване, базирани на употреба . Те са идеални за критични транзакции, като например големи банкови преводи, тъй като изискват потребителят да се удостоверява всеки път, когато има достъп до данни, защитени с този конкретен ключ, независимо дали приложението е било отключено преди това.

Оптимизиране на потребителското изживяване и откриване на измами

Понякога, за действия с нисък риск, можем да предотвратим натискането на бутон за потвърждение от страна на потребителя. За да направите това, просто предайте стойността false към метода setConfirmationRequired()което позволява много по-плавен достъп, особено с пасивни методи като разпознаване на лица.

В реалния свят обаче съществуват заплахи като фалшиви изображения (deepfakes) или отпечатани снимки. Тук се намесват както активните, така и пасивните методи за разпознаване на „живи хора “. Използването на усъвършенстван изкуствен интелект прави възможно разграничаването на истински човек от имитатор, като гарантира, че лицето, което се опитва да получи достъп до акаунта, наистина е титулярът на акаунта.

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

Регламенти, поверителност и биометрична HAL

Защо Android AV е бавен след актуализация?
Свързана статия:
Кои настройки на Android трябва да проверявате на всеки няколко месеца за сигурност?

От гледна точка на разработката на ниско ниво, насоките за биометрична HAL са строги, за да се предотврати изтичане на данни. Суровите биометрични данни никога не трябва да напускат защитената изолирана среда, като например Trusted Execution Environment (TEE) или защитения хардуерен компонент.

Цялото хранилище трябва да бъде криптирано със специфични за устройството ключове и трябва да бъдат внедрени SELinux политики за ограничаване на достъпа до хардуера. Освен това е важно да се спазват международни разпоредби като GDPR и CCPA , като винаги се получава изрично съгласие на потребителя преди обработка на чувствителни данни.

Архитектурата на Android се е развила значително от версия 9 до 12, въвеждайки подобрения като локализирани низове за удостоверяване чрез BiometricManager.Strings, които позволяват диалоговите съобщения да бъдат точно съобразени със сензора, с който разполага устройството (например, да се каже „Използване на лице“ вместо общо „Използване на биометрични данни“).

Ключът към успеха се крие в комбинирането на официалните Android API със съвременни стандарти за сигурност , надеждно криптиране и интуитивен интерфейс, който не жертва защитата за сметка на скоростта. Чрез правилно интегриране на мениджъра на идентификационни данни и нивата на сигурност Клас 3 се постига сигурно и професионално приложение, което защитава поверителността на потребителите по всяко време.

Активирайте режим на пълна поверителност на мобилното си устройство
Свързана статия:
Активирайте режим на пълна поверителност на вашия телефон с Android

Добавяне като предпочитан източник в Google