Удостоверяването с отпечатък е метод за биометрична идентификация, който използва уникалния папиларен модел на върховете на пръстите за проверка на самоличността на потребителя. Технологията се превърна в стандарт за сигурност за мобилни устройства: от бюджетни Android смартфони до флагмански модели на Samsung и Google Pixel. Според Counterpoint Research (2025), над 85% от смартфоните, пуснати през 2025 г., са оборудвани с вграден скенер за отпечатъци.
Основни моменти
Удостоверяването с отпечатък е метод за биометрична идентификация, който анализира уникалния папиларен модел на повърхността на пръста за проверка на самоличността на потребителя. Всеки човек има индивидуален модел от гребени и вдлъбнатини, който се формира на 12-та седмица от вътреутробното развитие и остава непроменен през целия живот, с изключение на физически наранявания.
Отпечатъкът е един от трите типа биометрични признаци, признати за най-надеждни за автоматична идентификация, заедно с ириса на окото и модела на ретината. Папиларните линии образуват характерни особености — минуции: окончания, разклонения, точки и кръстовища. Уникалността на отпечатъка се определя от местоположението и типа на 40–100 минуции в зоната на сканиране, което дава математическа вероятност за съвпадение от 1 към 64 милиарда за двама различни души.
Първите автоматизирани системи за идентификация по отпечатъци (AFIS) се появяват през 70-те години на XX век за правоприлагащите органи. Масовото внедряване в потребителски устройства започва през 2013 г. с iPhone 5S и Touch ID. Днес скенери за отпечатъци се инсталират в смартфони, лаптопи, таблети, ключалки за врати и платежни терминали.
Независимо от типа сензор, процесът на удостоверяване с отпечатък се състои от три етапа: заснемане на изображение, обработка и извличане на характеристики, сравнение с референтен шаблон. Всеки етап може да се изпълнява както на ниво ОС, така и на ниво Trusted Execution Environment в зависимост от имплементацията.
Сензорът записва физическия модел на пръста. Капацитивните матрици отчитат разликата в електрическия потенциал между гребените (които докосват матрицата) и вдлъбнатините (които не докосват). Оптичните скенери осветяват пръста с LED осветление и записват отразената светлина чрез CMOS сензор. Ултразвуковите сензори излъчват звукова вълна и анализират ехото, отразено от различни дълбочини на кожата — това дава триизмерно изображение, устойчиво на замърсявания по повърхността на пръста.
Заснетото изображение преминава през филтрация: премахване на шум, нормализиране на контраста и бинаризация (преобразуване в черно-бяло). Алгоритъмът извлича гребените на папиларните линии, скелетизира ги (изтънява до ширина 1 пиксел) и намира минуциите — крайни точки и разклонения на линиите. Всяка минуция се описва с координати (x, y), ъгъл на посока и тип. Математическият шаблон с размер 2–10 KB не съдържа оригиналното изображение и не позволява възстановяване на отпечатъка.
Шаблонът, получен при сканиране, се сравнява с референтния шаблон, запазен при регистрация. Алгоритъмът изчислява броя на съвпадащите минуции. За успешна верификация се изисква съвпадение на най-малко 12–15 минуции (регулира се от производителя). Ако броят на съвпадащите точки надхвърли прага, удостоверяването се счита за успешно. В мобилните устройства прагът се задава така, че FAR да не надвишава 0.001% при FRR около 2%.
В съвременните мобилни устройства се използват три основни вида скенери за отпечатъци, които се различават по технология на отчитане, точност и производствена цена. Изборът на тип зависи от ценовия сегмент на устройството и изискванията за сигурност.
| Тип скенер | Принцип на работа | FAR | Примери на устройства |
|---|---|---|---|
| Капацитивен | Матрица от кондензатори, отчитаща разликата в капацитета между гребените и вдлъбнатините | 0.001% | iPhone (Touch ID), Samsung Galaxy S9, Google Pixel 3 |
| Оптичен | LED осветление + CMOS сензор; заснемане на отразената светлина от повърхността на пръста | 0.01% | Xiaomi Redmi, Realme, бюджетни Android смартфони |
| Ултразвуков | Пиезоелектричен предавател + приемник; 3D реконструкция по ехо сигнал | 0.0005% | Samsung Galaxy S10+, Galaxy S21 Ultra, поддисплейни скенери |
През 2025–2026 г. набират популярност поддисплейните (in-display) скенери, вградени директно под OLED екрана. Те могат да бъдат както оптични (бюджетен сегмент), така и ултразвукови (премиум сегмент). Предимство — липса на отделен бутон или зона върху корпуса, което позволява безрамков дисплей. Недостатък на оптичните поддисплейни скенери — уязвимост към ярка слънчева светлина, която преосветява CMOS матрицата през пикселите на екрана.
Удостоверяването с отпечатък и разпознаването на лице са двете доминиращи биометрични технологии в мобилните устройства. Всяка има силни и слаби страни, влияещи на избора в конкретни сценарии на употреба.
За разработчика на мобилни приложения е важно, че BiometricPrompt на Android и LocalAuthentication на iOS абстрахират типа сензор. На по-стари Android устройства (API < 28) обаче може да е наличен само FingerprintManager — в този случай приложението трябва изрично да провери типа сензор и да предложи алтернативен метод за удостоверяване.
Преди Android 9 (API 28) единственият начин за интегриране на скенера за отпечатъци беше класът FingerprintManager, добавен в API 23. От Android 9 нататък Google препоръчва използването на BiometricPrompt, който обединява работата с всички видове биометрични сензори. За устройства с API 23–27 обаче разработчикът все още може да се нуждае от FingerprintManager.
class FingerprintAuthHelper(
private val context: Context
) {
private val manager =
context.getSystemService(Context.FINGERPRINT_SERVICE)
as FingerprintManager?
fun isFingerprintAvailable(): Boolean {
return manager?.isHardwareDetected() == true
&& manager?.hasEnrolledFingerprints() == true
}
fun authenticate(callback: FingerprintManager.AuthenticationCallback) {
if (isFingerprintAvailable()) {
manager?.authenticate(
null,
CancellationSignal(),
0,
callback,
null
)
}
}
}
// Употреба:
val helper = FingerprintAuthHelper(context)
helper.authenticate(object : FingerprintManager.AuthenticationCallback() {
override fun onAuthenticationSucceeded(
result: FingerprintManager.AuthenticationResult
) {
// Отпечатъкът е разпознат — достъпът е разрешен
binding.showContent()
}
override fun onAuthenticationFailed() {
binding.showError("Отпечатъкът не е разпознат")
}
})
Представеният код демонстрира пълния цикъл на удостоверяване чрез FingerprintManager за по-стари Android устройства. Важно е да се отбележи, че FingerprintManager по подразбиране не използва TEE — резултатът от удостоверяването се връща в потребителското пространство, което го прави по-малко сигурен от BiometricPrompt с флаг BIOMETRIC_STRONG. За нови проекти винаги трябва да се използва BiometricPrompt, а FingerprintManager — само за обратна съвместимост с API 23–27.
При миграция от FingerprintManager към BiometricPrompt трябва да се вземе предвид промяната в модела на сигурност: BiometricPrompt гарантира изпълнението на всички биометрични операции в TEE (Trusted Execution Environment). Резултатът от удостоверяването, подписан с криптографски ключ вътре в TEE, не може да бъде фалшифициран от потребителски код. Библиотеката AndroidX Biometric допълнително предоставя интерфейса BiometricPrompt.AuthenticationResult.getCryptoObject() за свързване на биометричното удостоверяване с криптографски операции — криптиране на ключове и подписване на данни.
Защитата от фалшифициране на отпечатъци е една от ключовите задачи на производителите на скенери. Съвременните сензори използват комбинация от хардуерни и алгоритмични методи за откриване на жив пръст (liveness detection) и блокиране на макети. Всеки метод има своите ограничения, но заедно те правят фалшифицирането икономически неизгодно за масови атаки.
Основните методи за защита включват: анализ на дълбочината на кожата (ултразвуковите скенери определят дебелината на епидермиса по времето за връщане на ехо сигнала), спектрален анализ на кожата (оптичните скенери оценяват коефициента на отражение на кожата при различни дължини на вълната — силиконът и желатинът имат различен спектър), детекция на пулсация (микровибрациите на кръвния поток в капилярите на пръста) и потенциометрична проверка (живата кожа има определен електрически импеданс, различен от синтетичните материали).
Стандартът ISO/IEC 30107-3:2023 определя нивата на устойчивост на биометричните системи към атаки на представяне (presentation attack detection, PAD). За финансови приложения се препоръчва ниво 2 (PAD Level 2), изискващо автоматично откриване на най-малко 95% от атаките с използване на макети с FAR не повече от 0.01%. Ултразвуковите скенери на Samsung и Qualcomm 3D Sonic Sensor отговарят на изискванията на PAD Level 2, докато бюджетните оптични скенери обикновено не получават сертификация над Level 1.
Често задавани въпроси
Капацитивният скенер отчита отпечатъка по разликата в електрическия потенциал между гребените и вдлъбнатините на кожата — работи само със сух и чист пръст. Ултразвуковият скенер излъчва звукова вълна и изгражда триизмерна карта по отразеното ехо — прониква през замърсявания, вода и дори тънки ръкавици, осигурявайки по-висока точност.
Ултразвуковите скенери се считат за най-надеждни поради триизмерното сканиране и FAR от 0.0005%. Те са устойчиви на влажни пръсти, силиконови макети и замърсявания. Капацитивните скенери са по-малко точни (FAR 0.001%), но по-бързи и по-евтини. Оптичните скенери са най-малко надеждни (FAR до 0.01%) и могат да бъдат заблудени от качествен отпечатък върху прозрачно фолио.
Да, но с ограничения. Регулаторите PSD2 и PCI DSS изискват многофакторно удостоверяване: отпечатъкът е само един фактор (това, което сте). За авторизиране на плащане е необходим и втори фактор — PIN код или еднократна парола (това, което знаете). В Apple Pay отпечатъкът се използва за подписване на транзакции чрез Secure Enclave — това отговаря на изискванията за силно удостоверяване на клиента (SCA).
При порязвания, изгаряния или лющене на кожата отпечатъкът може временно да не се разпознава. В този случай устройството изисква PIN код или парола като резервен метод за удостоверяване. След зарастване на кожата се препоръчва да изтриете стария отпечатък в настройките и да регистрирате нов. На Android устройства можете да регистрирате и няколко пръста за резервиране.
Да — съвременните устройства не съхраняват изображението на отпечатъка, а математически шаблон в хардуерно изолирана област (TEE или Secure Enclave). Шаблонът е криптиран с ключ, вграден в чипа, и е недостъпен за четене от ОС или приложения. На Android 9+ BiometricPrompt гарантира изпълнението на всички биометрични операции в TEE с криптографски подпис на резултата.
Резюме
Ще разработим мобилно приложение под ключ
IT Sectr създава iOS и Android приложения за стартъпи и бизнеси от 2017 г. Ще ви консултираме и ще предложим най-доброто решение.
Прочетете също