La firma delle impronte digitali di iPhone è un hash unidirezionale?

17

Ho preso in considerazione la sicurezza della funzione di impronta digitale dell'iPhone 5S. La mia preoccupazione principale è, non che qualcuno possa replicare la mia impronta digitale nel mondo fisico e bypassare il telefono, tuttavia che qualcuno potrebbe ricostruire la mia impronta digitale basata sulla firma digitale che è memorizzata nel telefono.

L'impronta digitale è memorizzata come un hash a senso unico (o equivalente)? Quanto sarebbe realistica la possibilità di eseguire il reverse engineering per creare la firma originale?

Immagino che una tabella arcobaleno per una serie di firme di hash delle impronte digitali sarebbe quasi impossibile con la potenza di calcolo di oggi.

    
posta Seth 09.10.2013 - 22:43
fonte

3 risposte

21

Le impronte digitali non possono essere sottoposte a hash. Beh, tu puoi hash qualsiasi sequenza di bit, ma non sarebbe affatto interessante. I lettori di impronte digitali, come tutte le applicazioni biometriche, rendono misure fisiche che non sono mai esattamente riproducibili. Invece, il lettore deve rilevare le posizioni di alcuni "punti caratteristici" sull'immagine del dito (dove le creste si incontrano, per lo più), e quindi cercare una corrispondenza con le impronte digitali registrate nel telefono. La corrispondenza non è mai esatta, a causa della precisione limitata della misura e degli effetti di soglia inevitabili.

La linea di fondo è che il telefono memorizza necessariamente le informazioni sulle posizioni dei "punti caratteristici" in modo reversibile, non come un hash. Potrebbe non essere l'immagine completa del dito, ma sarebbe sufficiente progettare un dito falso che ingannasse il tuo iPhone.

Ora non dovrebbe essere un problema. L'iPhone potrebbe contenere alcune informazioni sulle impronte digitali, ma il suo caso è anche coperto da molte copie accurate delle stesse impronte digitali, semplicemente perché si tiene il telefono con le mani. Se qualcuno ruba il tuo telefono, allora può avere le tue impronte digitali senza nemmeno preoccuparsi di accendere il telefono.

Più in generale, lascia le tue impronte ovunque, ad es. sul pomello di ogni porta che attraversi. Le tue impronte digitali non possono essere considerate secret (corrispondentemente, il loro uso per sbloccare un computer o un telefono mi è sempre sembrato un'idea mediocre, almeno dal punto di vista della sicurezza).

    
risposta data 10.10.2013 - 00:22
fonte
14

Non si utilizza un hash crittografico - no.

Tuttavia potresti utilizzare un Fuzzy Hash oppure Hash sensibile alla località . Gli hash sfocati sono diversi dagli hash normali in quanto consentono a un contenuto simile di raggrupparsi nello spazio di collisione dell'hash *.

Tipicamente a senso unico significa che non puoi dedurre ciò che è stato sottoposto a hashing - ma con gli hash fuzzy, se conosci un file simile (immagine dell'impronta digitale) che corrisponde all'hash (collisioni), allora sai che cosa è stato generalmente sottoposto all'hash.

Indipendentemente dalla proprietà monodirezionale può esistere per un hash sfocato dipende dal fatto che l'attaccante debba ricorrere alla forza bruta per indovinare gli input per trovare un hash sfocato corrispondente. Questa è chiamata resistenza pre-immagine.

Considera che esistono molte impronte digitali uniche, almeno pari all'attuale popolazione di terra (~ 2 33 ) e che esiste un hash sfocato di impronte digitali che crolla in modo affidabile ( un ordine molto alto ) fino a questo spazio di collisione o più grande. Vuoi che gli attaccanti abbiano forza bruta attraverso 2 voci 33 invece di semplicemente invertire l'hash.

Se esisteva un tale hash sfocato, è possibile proteggersi dall'inversione diretta passando l'hash attraverso un hash crittografico secondario. Fornendo l'hash sfocato collassato in modo affidabile e coerente in primo luogo, non perderai alcuna precisione di abbinamento dopo il rimbalzo contro un hash crittografico con uno spazio di collisione molto più grande. Quindi buona fortuna conoscendo l'hash ad interim fuzzy, a condizione che l'hashing secondario aggiungesse un salt casuale.

Il componente fuzzy lo rende un hash unidirezionale non crittografico poiché la "sfocatura" delle corrispondenze dell'immagine contraddice la proprietà di una strong resistenza alle collisioni.

fuzz() = Mythical_perfectly_consistent_fuzzy_hash_function_for_fingerprints();
salt = application's public random salt
hash_result = SHA-512(salt, fuzz(fingerprint.input))

* A questo punto, tutti i crittografi nella stanza dovrebbero urlare un omicidio a sangue freddo e tirare fuori i loro Uzis :-)

    
risposta data 10.10.2013 - 02:14
fonte
0

In base alla documentazione ufficiale di Apple non è possibile recuperare le impronte digitali dai dati memorizzati:

Touch ID doesn't store any images of your fingerprint. It stores only a mathematical representation of your fingerprint. It isn't possible for someone to reverse engineer your actual fingerprint image from this mathematical representation.

Quindi, se ci si può fidare di Apple, la tua preoccupazione principale sembra infondata.

    
risposta data 10.03.2017 - 08:18
fonte

Leggi altre domande sui tag