Az ujjlenyomat-hitelesítés egy biometrikus azonosítási módszer, amely az ujjbegyeken található egyedi papilláris mintázatot használja a felhasználó személyazonosságának ellenőrzésére. A technológia a mobileszközök biztonsági szabványává vált: az olcsó Android okostelefonoktól a Samsung és Google Pixel zászlóshajó modellekig. A Counterpoint Research (2025) szerint a 2025-ben kiadott okostelefonok több mint 85%-a beépített ujjlenyomat-szkennerrel van felszerelve.
Főbb pontok
Az ujjlenyomat-hitelesítés egy biometrikus azonosítási módszer, amely az ujj felszínén lévő egyedi papilláris mintázatot elemzi a felhasználó személyazonosságának ellenőrzésére. Minden embernek egyedi gerinc- és völgymintázata van, amely a méhen belüli fejlődés 12. hetében alakul ki, és fizikai sérülések kivételével az egész életen át változatlan marad.
Az ujjlenyomat az egyik a három biometrikus jellemzőtípus közül, amelyet a legmegbízhatóbbnak tartanak az automatikus azonosításhoz, a szem írisze és a retina mintázata mellett. A papilláris vonalak jellegzetes jegyeket — minúciákat képeznek: végződéseket, elágazásokat, pontokat és kereszteződéseket. Az ujjlenyomat egyediségét a 40–100 minúcia elhelyezkedése és típusa határozza meg a szkennelési területen, ami két különböző személy esetében 1 a 64 milliárdhoz matematikai valószínűséget ad.
Az első automatizált ujjlenyomat-azonosító rendszerek (AFIS) az 1970-es években jelentek meg a bűnüldöző szervek számára. A tömeges bevezetés a fogyasztói eszközökben 2013-ban kezdődött az iPhone 5S és Touch ID megjelenésével. Ma az ujjlenyomat-szkennereket okostelefonokba, laptopokba, táblagépekbe, ajtózárakba és fizetési terminálokba építik.
Az érzékelő típusától függetlenül az ujjlenyomat-hitelesítés folyamata három szakaszból áll: kép rögzítése, feldolgozás és jellemzők kinyerése, összehasonlítás a referenciasablonnal. Minden szakasz végrehajtható az operációs rendszer szintjén és a Trusted Execution Environment szintjén is, a megvalósítástól függően.
Az érzékelő rögzíti az ujj fizikai mintázatát. A kapacitív mátrixok a gerincek (amelyek érintik a mátrixot) és a völgyek (amelyek nem érintik) közötti elektromos potenciálkülönbséget mérik. Az optikai szkennerek LED megvilágítással világítják meg az ujjat, és a visszaverődő fényt CMOS érzékelőn keresztül rögzítik. Az ultrahangos érzékelők hanghullámot bocsátanak ki, és elemzik a bőr különböző mélységeiből visszaverődő visszhangot — ez egy háromdimenziós képet ad, amely ellenáll az ujj felületén lévő szennyeződéseknek.
A rögzített kép szűrésen megy keresztül: zajeltávolítás, kontrasztnormalizálás és binarizálás (fekete-fehérré alakítás). Az algoritmus kinyeri a papilláris vonalak gerinceit, csontvázasítja (1 pixel szélességűre vékonyítja) és megtalálja a minúciákat — a vonalak végződéseit és elágazásait. Minden minúciát koordináták (x, y), irányszög és típus ír le. A 2–10 KB méretű matematikai sablon nem tartalmazza az eredeti képet, és nem teszi lehetővé az ujjlenyomat rekonstrukcióját.
A szkennelés során kapott sablon összehasonlításra kerül a regisztrációkor elmentett referenciasablonnal. Az algoritmus kiszámítja az egyező minúciák számát. A sikeres ellenőrzéshez legalább 12–15 minúcia egyezése szükséges (gyártó által állítható). Ha az egyező pontok száma meghaladja a küszöbértéket, a hitelesítés sikeresnek tekinthető. Mobil eszközökben a küszöböt úgy állítják be, hogy a FAR ne haladja meg a 0.001%-ot, az FRR pedig körülbelül 2% legyen.
A modern mobileszközökben három fő ujjlenyomat-szkenner típust használnak, amelyek a leolvasási technológiában, pontosságban és gyártási költségben különböznek. A típus kiválasztása az eszköz árkategóriájától és a biztonsági követelményektől függ.
| Szkennertípus | Működési elv | FAR | Eszköz példák |
|---|---|---|---|
| Kapacitív | Kondenzátor mátrix, amely a gerincek és völgyek közötti kapacitáskülönbséget méri | 0.001% | iPhone (Touch ID), Samsung Galaxy S9, Google Pixel 3 |
| Optikai | LED megvilágítás + CMOS érzékelő; az ujj felületéről visszaverődő fény rögzítése | 0.01% | Xiaomi Redmi, Realme, olcsó Android okostelefonok |
| Ultrahangos | Piezoelektromos adó + vevő; 3D rekonstrukció visszhangjel alapján | 0.0005% | Samsung Galaxy S10+, Galaxy S21 Ultra, kijelző alatti szkennerek |
2025–2026-ban egyre népszerűbbek a kijelző alatti (in-display) szkennerek, amelyek közvetlenül az OLED kijelző alá vannak beépítve. Lehetnek optikai (olcsó szegmens) és ultrahangos (prémium szegmens) típusúak is. Előny — nincs külön gomb vagy zóna a házon, ami lehetővé teszi a keret nélküli kijelzőt. Az optikai kijelző alatti szkennerek hátránya — érzékenység az erős napfényre, amely átvilágítja a CMOS mátrixot a kijelző pixelein keresztül.
Az ujjlenyomat-hitelesítés és az arcfelismerés a két domináns biometrikus technológia a mobileszközökben. Mindegyiknek vannak erős és gyenge pontjai, amelyek befolyásolják a választást az adott használati forgatókönyvekben.
A mobilalkalmazás-fejlesztő számára fontos, hogy az Androidon a BiometricPrompt és iOS-en a LocalAuthentication elvonatkoztatja az érzékelő típusát. Régebbi Android eszközökön (API < 28) azonban csak a FingerprintManager lehet elérhető — ebben az esetben az alkalmazásnak explicit módon ellenőriznie kell az érzékelő típusát, és alternatív hitelesítési módszert kell ajánlania.
Az Android 9 (API 28) előtt az ujjlenyomat-szkenner integrálásának egyetlen módja a FingerprintManager osztály volt, amely az API 23-ban került bevezetésre. Az Android 9-től kezdve a Google a BiometricPrompt használatát javasolja, amely egyesíti a munkát az összes biometrikus érzékelőtípussal. Az API 23–27-es eszközök esetében azonban a fejlesztőnek továbbra is szüksége lehet a FingerprintManager-re.
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
)
}
}
}
// Használat:
val helper = FingerprintAuthHelper(context)
helper.authenticate(object : FingerprintManager.AuthenticationCallback() {
override fun onAuthenticationSucceeded(
result: FingerprintManager.AuthenticationResult
) {
// Ujjlenyomat felismerve — hozzáférés engedélyezve
binding.showContent()
}
override fun onAuthenticationFailed() {
binding.showError("Ujjlenyomat nem ismerhető fel")
}
})
A bemutatott kód a teljes hitelesítési ciklust mutatja be FingerprintManager-en keresztül régebbi Android eszközökhöz. Fontos megjegyezni, hogy a FingerprintManager alapértelmezés szerint nem használ TEE-t — a hitelesítés eredménye a felhasználói térbe kerül vissza, ami kevésbé biztonságossá teszi, mint a BIOMETRIC_STRONG zászlóval ellátott BiometricPrompt. Új projektekhez mindig a BiometricPrompt-ot kell használni, a FingerprintManager-t pedig csak az API 23–27 visszafelé kompatibilitásához.
A FingerprintManager-ről BiometricPrompt-ra való migráláskor figyelembe kell venni a biztonsági modell változását: a BiometricPrompt garantálja az összes biometrikus művelet végrehajtását a TEE-ben (Trusted Execution Environment). A TEE-n belül kriptográfiai kulccsal aláírt hitelesítési eredmény nem hamisítható meg felhasználói kódból. Az AndroidX Biometric könyvtár emellett biztosítja a BiometricPrompt.AuthenticationResult.getCryptoObject() interfészt a biometrikus hitelesítés kriptográfiai műveletekhez — kulcsok titkosításához és adatok aláírásához való kapcsolásához.
Az ujjlenyomatok hamisítás elleni védelme a szkenner gyártók egyik kulcsfeladata. A modern érzékelők hardveres és algoritmikus módszerek kombinációját használják az élő ujj érzékelésére (liveness detection) és a másolatok blokkolására. Minden módszernek megvannak a korlátai, de együttesen gazdaságilag nem kifizetődővé teszik a hamisítást a tömeges támadásokhoz.
A fő védelmi módszerek a következők: bőrmélység elemzés (az ultrahangos szkennerek a visszhangjel visszatérési ideje alapján határozzák meg az epidermisz vastagságát), bőr spektrális elemzése (az optikai szkennerek a bőr visszaverődési együtthatóját értékelik különböző hullámhosszakon — a szilikon és a zselatin eltérő spektrummal rendelkezik), pulzáció érzékelés (az ujj kapillárisaiban a véráramlás mikrorezgései) és potenciometriai ellenőrzés (az élő bőr meghatározott elektromos impedanciával rendelkezik, amely eltér a szintetikus anyagokétól).
Az ISO/IEC 30107-3:2023 szabvány meghatározza a biometrikus rendszerek prezentációs támadásokkal szembeni ellenálló képességének szintjeit (presentation attack detection, PAD). Pénzügyi alkalmazásokhoz a 2. szint (PAD Level 2) ajánlott, amely legalább 95%-os támadásészlelést követel meg másolatok használata esetén, legfeljebb 0.01%-os FAR mellett. A Samsung és Qualcomm 3D Sonic Sensor ultrahangos szkennerei megfelelnek a PAD Level 2 követelményeinek, míg az olcsó optikai szkennerek általában nem kapnak Level 1-nél magasabb tanúsítást.
Gyakran ismételt kérdések
A kapacitív szkenner az ujjlenyomatot a bőr gerincei és völgyei közötti elektromos potenciálkülönbség alapján olvassa — csak száraz és tiszta ujjal működik. Az ultrahangos szkenner hanghullámot bocsát ki, és a visszavert visszhang alapján háromdimenziós térképet épít — áthatol a szennyeződéseken, vízen és akár vékony kesztyűn is, nagyobb pontosságot biztosítva.
Az ultrahangos szkennerek számítanak a legmegbízhatóbbnak a háromdimenziós letapogatás és a 0.0005%-os FAR miatt. Ellenállnak a nedves ujjaknak, szilikon másolatoknak és szennyeződéseknek. A kapacitív szkennerek kevésbé pontosak (FAR 0.001%), de gyorsabbak és olcsóbbak. Az optikai szkennerek a legkevésbé megbízhatóak (FAR akár 0.01%) és egy jó minőségű ujjlenyomat-nyomattal átlátszó fólián becsaphatók.
Igen, de korlátozásokkal. A PSD2 és PCI DSS szabályozók többtényezős hitelesítést írnak elő: az ujjlenyomat csak egy tényező (ami vagy). A fizetés engedélyezéséhez egy második tényező is szükséges — PIN kód vagy egyszeri jelszó (amit tud). Az Apple Pay-ben az ujjlenyomatot a Secure Enclave-en keresztül tranzakciók aláírására használják — ez megfelel az erős ügyfél-hitelesítés (SCA) követelményeinek.
Vágások, égési sérülések vagy bőrhámlás esetén az ujjlenyomat átmenetileg nem ismerhető fel. Ebben az esetben az eszköz PIN kódot vagy jelszót kér biztonsági hitelesítési módszerként. A bőr gyógyulása után ajánlott a régi ujjlenyomat eltávolítása a beállításokban és egy új regisztrálása. Android eszközökön több ujj is regisztrálható tartalékként.
Igen — a modern eszközök nem az ujjlenyomat képét tárolják, hanem egy matematikai sablont egy hardveresen elkülönített területen (TEE vagy Secure Enclave). A sablon a chipbe épített kulccsal van titkosítva, és nem olvasható sem az operációs rendszerből, sem alkalmazásokból. Android 9+ rendszeren a BiometricPrompt garantálja az összes biometrikus művelet TEE-ben történő végrehajtását az eredmény kriptográfiai aláírásával.
Összefoglalás
Kulcsrakész mobilalkalmazást fejlesztünk
Az IT Sectr 2017 óta készít iOS és Android alkalmazásokat induló vállalkozásoknak és vállalkozásoknak. Tanácsot adunk, és a legjobb megoldást javasoljuk.
Olvassa el is