Oggi ci sono notizie su blog di Bruce Schneier e ArsTechnica su come la città di New York ha rilasciato informazioni su Cab / Taxi driver, i loro viaggi e così via.
Fondamentalmente, le informazioni sensibili erano semplicemente hash MD5. Dato che l'input era limitato (3 numeri, 3 lettere, al massimo), è stato facile fare un attacco di forza bruta: generare tutte le possibili combinazioni e quindi effettuare una ricognizione.
Considerando la natura delle informazioni (input molto piccolo, per generare facilmente tutte le combinazioni), come potrebbero questi dati essere anonimi in modo corretto?
Alcuni approcci che mi sono venuti in mente ::
-
La sicurezza attraverso l'oscurità (usa un numero "segreto" di iterazioni) è solo la sicurezza attraverso l'oscurità.
-
Aggiungi un sale generico, unico, aumenterebbe la forza bruta dello 0%: semplice appendi il sale e fatto.
-
Aggiungendo un sale unico per utente, aumenterebbe la forza bruta, ma non troppo: prendi il sale e calcola le 3 cifre 3 lettere per ogni sale.
Che cosa potrebbe essere fatto?