Qual è il punto in numeri di telefono hashing?

40

Alcuni servizi (ad esempio ProtonMail) reclamano di archiviare gli hash di numeri di telefono, invece dei numeri di telefono stessi (mentre non dicono come lo hanno cancellato). Ora, dato che il numero di numeri di telefono potenzialmente validi è molto piccolo (circa 26 bit di informazioni in numeri di telefono a 8 cifre), dovrebbe essere abbastanza facile recuperare un numero di telefono dal suo hash.

Quindi qual è il punto?

    
posta BlenderBender 15.03.2018 - 15:35
fonte

4 risposte

61

ProtonMail potrebbe richiedere al tuo numero di telefono di eseguire un controllo umano:

  • ProtonMail rileva che stai tentando di creare diversi account.
  • Ti richiede un numero di telefono, per inviarti un token tramite SMS.
  • Devi inviare quel token a ProtonMail per dimostrare che sei il proprietario del numero di telefono.

Quindi, ProtonMail non ha più bisogno del tuo numero di telefono, ma deve ancora usarlo per impedire agli spammer di creare account multipli.

L'hashing del numero di telefono consente di non memorizzare il numero originale e di impedire a qualcuno di usare lo stesso numero due volte.

Da loro domande frequenti :

However, using the same phone number will result in obtaining the same cryptographic hash, so by comparing hashes, we can detect re-use of phone number or email addresses for human verification.

Quindi ProtonMail non sembra usare sali unici.

Sappiamo anche grazie a un tweet di Bart Butler (ProtonMail CTO) che:

  • ProtonMail scarica regolarmente gli hash memorizzati.
  • Gli hash memorizzati non sono collegati a nessun account.

Anche Bart Butler ha twittato :

We use a slow password hash (With a salt) and flush the list and rotate the salt at irregular intervals.

In conclusione: forzarli brute è possibile, ma non è né pratico né utile.

    
risposta data 15.03.2018 - 15:48
fonte
10

L'hash è utile come mappa indiretta, anche se non è sicuro come una normale configurazione di hashing. Uno dei maggiori vantaggi è puramente sociale. L'hashing (anche un hash debole) traccia una linea chiara nella sabbia per un dipendente su ciò che è accettabile da visualizzare. Mettere in campo qualsiasi ostacolo alla visualizzazione del numero di telefono reale aiuterà a mantenere onesta la gente onesta .

it should be quite easy to recover a phone number from its hash

Facile è un termine relativo. È vero, questa configurazione di hashing potrebbe non essere di grande aiuto nei confronti di un determinato aggressore che è disposto a eseguire l'hash cracking. Ma devi anche pensare al 99% degli altri dipendenti che hanno accesso ai dati che non sanno nemmeno cos'è un hash, per non parlare di come craccarli.

    
risposta data 16.03.2018 - 19:07
fonte
6

Il punto è non archiviarli in testo semplice.

Probabilmente è praticamente così. Come D.W. ha sottolineato nei suoi commenti che la risposta di Benoit, ti dice la ragione per cui perché memorizzano i numeri di telefono e che li hanno cancellati. ProtonMail non ti dice perché li ha cancellati. Tutti noi possiamo solo speculare su questo, fino a quando un dipendente di ProtonMail ci dice il motivo esatto.

La ragione più probabile è (secondo me) è la seguente:

ProtonMail è un'azienda il cui modello di business è fondato su prodotti sicuri e protegge la privacy del cliente. Se ti dicessero che hanno salvato numeri di telefono in chiaro, sarebbe stato piuttosto strano. Frustarli ha molto più senso a riguardo, non credi?
D'altra parte, ProtonMail non collega gli hash del numero di telefono ai profili utente, ma esegue il flush degli hash regolarmente e, come hai affermato tu stesso, non c'è molto da guadagnare da un numero di telefono.

L'hashing dei numeri di telefono se devono memorizzarli è meglio che non eliminarli. Ecco perché lo fanno.
Rafforza molto la sicurezza? No.
È meglio che archiviarli in testo normale? Sì.

    
risposta data 16.03.2018 - 11:04
fonte
1

Esistono due motivi per archiviare i numeri di telefono con hash, uno è utile e l'altro no:

1) Permetti di verificare l'utente. Qui è utile un hash lento salato. Mentre la forzatura bruta di un numero di telefono è più veloce di una password, offre comunque una maggiore sicurezza.

2) Fingere per fornire una ricerca più sicura (ad esempio in molti dei concorrenti di whatsapp). Qui non puoi salare l'hash, perché non saresti in grado di cercare l'hash solo conoscendo il numero di telefono. Ciò significa che una tabella arcobaleno è facile da creare poiché lo spazio di ricerca degli hash non salati è veramente piccolo.

Notare che 1) fornisce ancora una prova di esistenza semplice quando si ha il database. Inserisci il tuo numero di telefono con tutti i sali usati nel database e cercalo. Se è archiviato lì, lo troverai.

    
risposta data 16.03.2018 - 10:29
fonte

Leggi altre domande sui tag