Le impronte digitali possono essere viste come una sfocata fonte di dati. Dato lo stesso dito, un lettore potrebbe non leggere mai esattamente la stessa stampa. Questo è il motivo per cui la maggior parte dei lettori richiede all'utente di eseguire la scansione di un dito più volte durante la fase di registrazione.
Durante la fase di autenticazione, il sistema prova a determinare se la scansione appena acquisita è "abbastanza vicino" ai dati addestrati per consentire l'accesso. Questo porta a due problemi.
-
Autenticazione remota
-
Mantenimento privato biometrico
Autenticazione remota
Supponiamo di mantenere il mio privato biometrico (ci occuperemo del problema in seguito). Posso fornire a un'altra parte informazioni sufficienti per autenticare correttamente me senza richiedere che memorizzino abbastanza informazioni per impersonare me (ad esempio, se qualcuno ruba il database, non voglio che siano in grado di impersonarmi)?
Si scopre che puoi. Le funzioni necessarie sono chiamate schizzi e fuzzy sicuri . Uno schizzo sicuro (SS) è dato alcuni dati (w) e restituisce stringa (s) in altre parole SS (w) = s. Uno schizzo sicuro ha anche una funzione di recupero (Rec). Rec prende come input w '(una copia rumorosa di w) e s. Se w 'è sufficientemente vicino a w (dove la vicinanza è misurata da una certa distanza metrica come la distanza di hamming), allora Rec (w', s) = w. Ora il server e io condividiamo un valore segreto (vale a dire w) di cui ciascuno può provare la conoscenza per autenticarsi reciprocamente (autenticazione reciproca).
La cosa bella di questo è che anche se qualcuno ruba s, non saranno in grado di impersonare me. Ci sono alcuni problemi con questo, tuttavia. Cosa succede se l'attaccante modifica la copia di s che il server sta memorizzando. Potrebbero farlo in modo tale che w sia trapelato? Nel lavoro originale, non c'erano garanzie che ciò non potesse accadere. Le ricerche successive, tuttavia, hanno rimosso questa restrizione sviluppando quello che viene chiamato uno robusto schizzo sicuro , che è sicuro anche in presenza di un avversario attivo (cioè un canale controllato dal contraddittorio).
Mantenimento privato biometrico
Le idee di cui sopra presupponevano che w (e w ') fossero mantenute private. Probabilmente questo non è un buon presupposto visto su MythBusters . Quindi, i ricercatori sono tornati al tavolo da disegno e hanno detto "Ehi, se la mia impronta digitale fosse la mia chiave pubblica" e quindi Fuzzy Identity-Based La crittografia (FIBE) è nata.
Strettamente correlato a questo è la crittografia basata sull'identità, in cui la mia identità (ad es. indirizzo email) è la mia chiave pubblica. Qualcuno usa il mio indirizzo email per crittografare un messaggio. Quindi, provo a una terza parte che possiedo l'indirizzo email, dopo di che sono in grado di recuperare la chiave privata corrispondente e decifrare il messaggio crittografato. È importante notare che il mittente ha bisogno solo di alcune informazioni pubbliche della terza parte per consentirle di crittografare i messaggi con qualsiasi identità. Il ricevitore deve a un certo punto (prima o dopo che il messaggio crittografato è effettivamente inviato) recupera la sua chiave privata.
FIBE si basa su questa idea per le identità fuzzy. Hai letto la mia impronta digitale (w), io uso w 'per ottenere la mia chiave privata e fintanto che w e w' sono abbastanza vicini, sono in grado di recuperare il messaggio che mi hai inviato (devo ancora contattare la terza parte a qualche tempo però). Un protocollo di autenticazione potrebbe essere costruito su questo in modo che non debba mantenere il mio privato biometrico.
Il problema principale con questo sistema (e IBE in generale) è il requisito di una terza parte e il fatto che quella terza parte possa impersonarmi una volta che hanno visto una copia della mia biometrica. Quest'ultimo problema può essere rimosso avendo più parti terze che contribuiscono tutti al processo. Quindi, nessuno può impersonarmi. Ma, quindi, devo contattare più persone per crittografare o decodificare i messaggi.
Applicazioni
Non sono sicuro che eventuali prodotti commerciali implementino queste idee. Quindi, non posso parlare con prodotti disponibili in commercio, ma se non sei limitato a prodotti commercialmente disponibili, potresti implementare questi sistemi da solo e probabilmente sarebbero abbastanza sicuri.