Autenticazione tramite impronta digitale — cos'è, principio di funzionamento e applicazioni

Autore: IT Sectr Pubblicato: 2026-04-05 Tempo di lettura: 9 min

L'autenticazione tramite impronta digitale è un metodo di identificazione biometrica che utilizza il pattern papillare unico sulla punta delle dita per verificare l'identità dell'utente. La tecnologia è diventata uno standard di sicurezza per i dispositivi mobili: dagli smartphone Android economici ai modelli flagship di Samsung e Google Pixel. Secondo Counterpoint Research (2025), oltre l'85% degli smartphone rilasciati nel 2025 è dotato di un lettore di impronte integrato.

Punti Chiave

  • L'autenticazione tramite impronta digitale è un metodo biometrico che analizza il pattern papillare — creste e valli uniche sulla pelle del dito
  • Gli scanner capacitivi sono il tipo più comune, che leggono la differenza di potenziale elettrico tra creste e valli della pelle
  • Gli scanner ultrasonici sono sensori 3D con un FAR dello 0,001%, che funzionano anche con dita bagnate e sono resistenti a repliche in silicone
  • Gli scanner ottici sono un'opzione economica con illuminazione LED e sensore CMOS; meno precisi e vulnerabili a fotografie di alta qualità
  • FingerprintManager è l'API Android per lavorare con i lettori di impronte (deprecata in favore di BiometricPrompt dall'API 28)

Cos'è l'autenticazione tramite impronta digitale?

L'autenticazione tramite impronta digitale è un metodo di identificazione biometrica che analizza il pattern papillare unico sulla superficie del dito per verificare l'identità dell'utente. Ogni persona ha un pattern individuale di creste e valli che si forma alla 12a settimana di sviluppo prenatale e rimane invariato per tutta la vita, tranne in caso di lesioni fisiche.

L'impronta digitale è una delle tre caratteristiche biometriche riconosciute come le più affidabili per l'identificazione automatica, insieme all'iride dell'occhio e al pattern della retina. Le linee papillari formano caratteristiche distintive — minute: terminazioni, biforcazioni, punti e incroci. L'unicità di un'impronta digitale è determinata dalla posizione e dal tipo di 40–100 minute nell'area di scansione, dando una probabilità matematica di corrispondenza di 1 su 64 miliardi per due persone diverse.

I primi sistemi automatizzati di identificazione delle impronte digitali (AFIS) sono apparsi negli anni '70 per le forze dell'ordine. L'adozione di massa nei dispositivi di consumo è iniziata nel 2013 con iPhone 5S e Touch ID. Oggi, i lettori di impronte sono installati in smartphone, laptop, tablet, serrature e terminali di pagamento.

Come funziona un lettore di impronte digitali?

Indipendentemente dal tipo di sensore, il processo di autenticazione tramite impronta digitale consiste in tre fasi: acquisizione dell'immagine, elaborazione ed estrazione delle caratteristiche, e confronto con un modello di riferimento. Ogni fase può essere eseguita a livello di sistema operativo o a livello di Trusted Execution Environment, a seconda dell'implementazione.

Acquisizione dell'immagine dell'impronta

Il sensore cattura il pattern fisico del dito. Le matrici capacitive leggono la differenza di potenziale elettrico tra le creste (che toccano la matrice) e le valli (che non toccano). Gli scanner ottici illuminano il dito con luce LED e catturano la luce riflessa attraverso un sensore CMOS. I sensori ultrasonici emettono un'onda sonora e analizzano l'eco riflesso da diverse profondità della pelle — questo fornisce un'immagine tridimensionale resistente ai contaminanti sulla superficie del dito.

Estrazione delle minute e creazione del modello

L'immagine acquisita viene sottoposta a filtraggio: rimozione del rumore, normalizzazione del contrasto e binarizzazione (conversione in bianco e nero). L'algoritmo identifica le linee di creste papillari, le scheletrizza (riduce a 1 pixel di larghezza) e trova le minute — punti di terminazione e biforcazione delle linee. Ogni minuzia è descritta da coordinate (x, y), angolo di direzione e tipo. Il modello matematico ha una dimensione di 2–10 KB, non contiene l'immagine originale e non può essere utilizzato per ricostruire l'impronta.

Confronto e decisione

Il modello ottenuto durante la scansione viene confrontato con il modello di riferimento salvato durante la registrazione. L'algoritmo calcola il numero di minute corrispondenti. Per una verifica riuscita è richiesta una corrispondenza di almeno 12–15 minute (regolabile dal produttore). Se il numero di punti corrispondenti supera la soglia, l'autenticazione è considerata riuscita. Nei dispositivi mobili, la soglia è impostata in modo che il FAR non superi lo 0,001% con un FRR di circa il 2%.

Tipi di lettori di impronte digitali

I dispositivi mobili moderni utilizzano tre tipi principali di lettori di impronte digitali, che differiscono per tecnologia di lettura, precisione e costo di produzione. La scelta del tipo dipende dalla fascia di prezzo del dispositivo e dai requisiti di sicurezza.

Tipo di lettorePrincipio di funzionamentoFAREsempi di dispositivi
CapacitivoMatrice di condensatori che legge la differenza di capacità tra creste e valli0,001%iPhone (Touch ID), Samsung Galaxy S9, Google Pixel 3
OtticoIlluminazione LED + sensore CMOS; cattura la luce riflessa dalla superficie del dito0,01%Xiaomi Redmi, Realme, smartphone Android economici
UltrasonicoTrasmettitore piezoelettrico + ricevitore; ricostruzione 3D dal segnale eco0,0005%Samsung Galaxy S10+, Galaxy S21 Ultra, lettori sotto il display

Nel 2025–2026, i lettori sotto il display (in-display) integrati direttamente sotto lo schermo OLED stanno guadagnando popolarità. Possono essere ottici (segmento economico) o ultrasonici (segmento premium). Il vantaggio è l'assenza di un pulsante o zona separata sul corpo, consentendo un display senza cornice. Lo svantaggio dei lettori ottici sotto il display è la vulnerabilità alla luce solare intensa che satura il sensore CMOS attraverso i pixel dello schermo.

Confronto tra impronta digitale e riconoscimento facciale

L'autenticazione tramite impronta digitale e il riconoscimento facciale sono le due tecnologie biometriche dominanti nei dispositivi mobili. Ciascuna ha punti di forza e debolezza che influenzano la scelta per casi d'uso specifici.

  • Precisione (FAR) — Lettore di impronte ultrasonico: 0,0005%, Face ID 3D: 0,0001%. Il riconoscimento facciale è più preciso quando si utilizza una fotocamera di profondità
  • Velocità — Lettore capacitivo: 200–300 ms, ottico: 400–600 ms, facciale 3D: 600–1000 ms. L'impronta è più veloce in scenari statici
  • Senza contatto — Face ID e volto 2D non richiedono di toccare il dispositivo; l'impronta richiede contatto fisico con il lettore
  • Condizioni — L'impronta non funziona con dita bagnate ma funziona con mascherina e guanti; Face ID non funziona con la mascherina (senza Apple Watch) e quando la fotocamera IR è ostruita
  • Costo del sensore — Lettori capacitivi: ~$0,5–1,5, ultrasonici: ~$3–5, fotocamera 3D TrueDepth: ~$12–15

Per gli sviluppatori di app mobili, è importante notare che BiometricPrompt su Android e LocalAuthentication su iOS astraggono il tipo di sensore. Tuttavia, sui vecchi dispositivi Android (API < 28), potrebbe essere disponibile solo FingerprintManager — in questo caso, l'app deve verificare esplicitamente il tipo di sensore e offrire un metodo di autenticazione alternativo.

Implementazione dell'autenticazione tramite impronta su Android

Prima di Android 9 (API 28), l'unico modo per integrare il lettore di impronte era la classe FingerprintManager, aggiunta in API 23. A partire da Android 9, Google raccomanda l'uso di BiometricPrompt, che unifica il lavoro con tutti i tipi di sensori biometrici. Tuttavia, per dispositivi con API 23–27, gli sviluppatori potrebbero aver ancora bisogno di FingerprintManager.

kotlin
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
            )
        }
    }
}

// Utilizzo:
val helper = FingerprintAuthHelper(context)
helper.authenticate(object : FingerprintManager.AuthenticationCallback() {
    override fun onAuthenticationSucceeded(
        result: FingerprintManager.AuthenticationResult
    ) {
        // Impronta riconosciuta — accesso consentito
        binding.showContent()
    }

    override fun onAuthenticationFailed() {
        binding.showError("Impronta non riconosciuta")
    }
})

Il codice sopra mostra il ciclo completo di autenticazione utilizzando FingerprintManager per vecchi dispositivi Android. È importante notare che FingerprintManager non utilizza TEE per impostazione predefinita — il risultato dell'autenticazione viene restituito nello spazio utente, rendendolo meno sicuro di BiometricPrompt con il flag BIOMETRIC_STRONG. Per i nuovi progetti, si dovrebbe sempre utilizzare BiometricPrompt e FingerprintManager solo per la retrocompatibilità con API 23–27.

Durante la migrazione da FingerprintManager a BiometricPrompt, considerare il cambiamento nel modello di sicurezza: BiometricPrompt garantisce che tutte le operazioni biometriche vengano eseguite nel TEE (Trusted Execution Environment). Il risultato dell'autenticazione, firmato da una chiave crittografica all'interno del TEE, non può essere falsificato dal codice dello spazio utente. La libreria AndroidX Biometric fornisce inoltre l'interfaccia BiometricPrompt.AuthenticationResult.getCryptoObject() per legare l'autenticazione biometrica a operazioni crittografiche — crittografia delle chiavi e firma dei dati.

Standard di sicurezza e protezione dalla contraffazione

La protezione dalla contraffazione delle impronte digitali è una delle sfide principali per i produttori di lettori. I sensori moderni utilizzano una combinazione di metodi hardware e algoritmici per il rilevamento della vitalità (liveness detection) e il blocco delle repliche. Ogni metodo ha i suoi limiti, ma insieme rendono la contraffazione economicamente non vantaggiosa per attacchi di massa.

I principali metodi di protezione includono: analisi della profondità della pelle (i lettori ultrasonici determinano lo spessore dell'epidermide dal tempo di ritorno dell'eco), analisi spettrale della pelle (i lettori ottici valutano il coefficiente di riflessione della pelle a diverse lunghezze d'onda — silicone e gelatina hanno spettri diversi), rilevamento del polso (micro-vibrazioni del flusso sanguigno nei capillari del dito), e verifica potenziometrica (la pelle viva ha un'impedenza elettrica specifica che differisce dai materiali sintetici).

Lo standard ISO/IEC 30107-3:2023 definisce i livelli di resistenza dei sistemi biometrici agli attacchi di presentazione (rilevamento di attacchi di presentazione, PAD). Per le applicazioni finanziarie, si raccomanda il Livello 2 (PAD Level 2), che richiede il rilevamento automatico di almeno il 95% degli attacchi che utilizzano repliche con un FAR non superiore allo 0,01%. I lettori ultrasonici Samsung e Qualcomm 3D Sonic Sensor soddisfano i requisiti PAD Level 2, mentre i lettori ottici economici di solito non superano la certificazione oltre il Level 1.

Domande Frequenti

Qual è la differenza tra un lettore capacitivo e uno ultrasonico?

Un lettore capacitivo legge l'impronta tramite la differenza di potenziale elettrico tra creste e valli della pelle — funziona solo con un dito asciutto e pulito. Un lettore ultrasonico emette un'onda sonora e costruisce una mappa tridimensionale dall'eco riflesso — penetra contaminanti, acqua e persino guanti sottili, offrendo una precisione superiore.

Quale tipo di lettore di impronte è il più affidabile?

I lettori ultrasonici sono considerati i più affidabili grazie alla scansione tridimensionale e a un FAR dello 0,0005%. Sono resistenti a dita bagnate, repliche in silicone e contaminanti. I lettori capacitivi sono meno precisi (FAR 0,001%) ma più veloci ed economici. I lettori ottici sono i meno affidabili (FAR fino allo 0,01%) e possono essere ingannati da una stampa di alta qualità di un'impronta su pellicola trasparente.

Si può usare l'impronta digitale per operazioni bancarie?

Sì, ma con limitazioni. I regolatori PSD2 e PCI DSS richiedono l'autenticazione multi-fattore: l'impronta digitale è solo un fattore (qualcosa che sei). Per autorizzare un pagamento è necessario anche un secondo fattore — un codice PIN o una password monouso (qualcosa che sai). In Apple Pay, l'impronta viene utilizzata per firmare la transazione tramite Secure Enclave — ciò soddisfa i requisiti di Strong Customer Authentication (SCA).

Cosa fare se l'impronta digitale è danneggiata?

In caso di tagli, ustioni o desquamazione della pelle, l'impronta digitale potrebbe non essere riconosciuta temporaneamente. In questo caso, il dispositivo richiede un codice PIN o password come metodo di autenticazione alternativo. Dopo la guarigione della pelle, si consiglia di eliminare l'impronta vecchia nelle impostazioni e registrarne una nuova. Sui dispositivi Android, è possibile registrare anche più dita come riserva.

È sicuro memorizzare le impronte digitali sul dispositivo?

Sì — i dispositivi moderni non memorizzano l'immagine dell'impronta, ma un modello matematico in un'area isolata hardware (TEE o Secure Enclave). Il modello è crittografato con una chiave integrata nel chip e non è accessibile dal sistema operativo o dalle applicazioni. Su Android 9+, BiometricPrompt garantisce che tutte le operazioni biometriche vengano eseguite nel TEE con firma crittografica del risultato.

Riepilogo

  • L'autenticazione tramite impronta digitale è un metodo di identificazione basato sul pattern papillare, con un FAR dallo 0,0005% (ultrasonico) allo 0,01% (ottico)
  • Tre tipi di lettori — capacitivi (veloci, economici), ottici (economici, meno precisi), ultrasonici (affidabili, costosi)
  • Lettori sotto il display — una tendenza moderna: sensori ottici e ultrasonici sotto lo schermo OLED di dispositivi senza cornice
  • FingerprintManager — API Android obsoleta per API 23–27; i nuovi progetti devono utilizzare BiometricPrompt con garanzie TEE
  • ISO/IEC 30107-3 — standard internazionale per il rilevamento di attacchi di presentazione (PAD) nei sistemi biometrici
  • Rilevamento di vitalità — analisi della profondità, spettro della pelle e rilevamento del polso per distinguere un dito vivo da una replica in silicone
  • Autenticazione multi-fattore — l'impronta digitale deve essere combinata con un codice PIN per applicazioni di livello bancario secondo i requisiti PSD2 e PCI DSS

Svilupperemo un'applicazione mobile chiavi in mano

IT Sectr crea applicazioni iOS e Android per startup e aziende dal 2017. Ti consulteremo e ti proporremo la soluzione migliore.

Discuti il progetto

Leggi anche