Ricompute il tavolo Arcobaleno con sale?

3

Quindi, a quanto ho capito, si antepone una password a salt prima di averla cancellata in modo che l'hash risultante non possa essere usato con una tabella arcobaleno per trovare la password originale, come si farebbe se la password fosse stata cancellata da sola. Ma cosa impedisce a qualcuno di ricalcolare un nuovo tavolo arcobaleno con il sale aggiunto se il sale è noto? Pensavo che sapendo che il sale non avrebbe dovuto avere importanza per la sicurezza?

    
posta John 30.06.2012 - 00:55
fonte

3 risposte

11

Una parola: costo .

È molto più costoso creare la tabella piuttosto che provare direttamente a infrangere la password . Provare a forzare la password richiede solo una piccola quantità di memoria; una tabella arcobaleno richiede un enorme spazio di archiviazione.

L'unico punto di un tavolo è che qualcuno lo ha calcolato e ora puoi usarlo. Molte persone che usano una tabella (o la stessa persona che usa la tabella diverse volte) paga il costo di costruire quel tavolo. Se stai andando su un tavolo una volta (per una password), non c'è proprio nessun punto.

Se ogni password in un dato (davvero grande) database di password utilizzava lo stesso sale, sarebbe una storia diversa. Ma sarebbe un grosso uso scorretto del sale: il punto è che ogni password usa un sale diverso , quindi una tabella arcobaleno non può mai pagare.

Salting non implica che non puoi provare a forzare la password direttamente . Non solo tu puoi, ma non è più difficile quando c'è un sale . Ciò che non puoi fare è riutilizzare i precedenti sforzi informatici (a meno che il sistema non sia in grado di generare un sale diverso ogni volta).

    
risposta data 30.06.2012 - 01:45
fonte
1

Assolutamente nulla: puoi calcolare una tabella arcobaleno per ogni sale proprio come fai per un hash non salato. La tavola arcobaleno è un compromesso spazio / tempo e lo scopo del sale è quello di renderlo più costoso.

Ogni pezzo di sale aggiunto raddoppia i requisiti di archiviazione. Quindi, un po 'di sale significa il doppio dello spazio di archiviazione. 8 bit di sale, 2 ^ 8 o 256 volte il requisito di archiviazione. 32 bit - 4 caratteri - di sale, 2 ^ 32 o 4.294.967.296 volte lo spazio di archiviazione per calcolare completamente la tabella arcobaleno.

    
risposta data 30.06.2012 - 00:57
fonte
1

Quando costruisci una tabella arcobaleno, calcoli la funzione hash attaccata su molti input. Qualsiasi valore di input che hai fatto hash durante la costruzione della tabella verrà attaccato con successo; e il tavolo non si romperà a vicenda. A causa di alcune stranezze inevitabili nel processo di costruzione (che è un sottoprodotto della piovosità del tavolo), cancellerai alcuni valori di input più volte. Presi tutti insieme, una tabella arcobaleno che può infrangere le N password possibili ha un costo di circa 1,7 * N , ovvero il 70% in più rispetto al semplice hashing di tutte queste password in una base cracking della forza bruta.

Quindi la creazione di tabelle vale lo sforzo solo se la tabella può essere utilizzata almeno due volte, per (provare a) craccare due password o più. I sali lo impediscono. Con i sali, ogni tabella sarebbe specifica per una singola password hash (in senso stretto, per un singolo valore salt).

    
risposta data 20.01.2013 - 23:11
fonte

Leggi altre domande sui tag