Tabella arcobaleno
Una tabella arcobaleno è una struttura precalcolata usata per cercare input probabili per hash di password senza sale.
Definizione
Una tabella arcobaleno è una struttura dati precalcolata per risalire da molti possibili valori hash a input candidati, di solito password. Invece di calcolare hash dei tentativi dopo una fuga di database, un attaccante prepara in anticipo catene di hash e riduzioni e conserva informazioni sufficienti per recuperare in seguito corrispondenze probabili.
Le tabelle arcobaleno sono più utili contro hash rapidi e senza sale di password scelte da persone. Non sono decifratura magica: coprono solo lo spazio di input e l'algoritmo usati per costruirle.
Come funziona
Le tabelle di lookup classiche memorizzano molte coppie dirette password-hash. Le tabelle arcobaleno riducono lo spazio conservando gli estremi delle catene: un hash viene ridotto a un altro input candidato, di nuovo hashato e ripetuto con funzioni di riduzione variabili. Durante l'attacco, l'hash bersaglio viene percorso in possibili posizioni di catena finché si trova un estremo corrispondente.
È uno scambio tra tempo e memoria. Costruire tabelle utili può essere costoso, ma una volta pronte possono testare rapidamente molti hash senza sale compatibili.
Difesa
Un sale casuale unico per ogni password rende una tabella precalcolata inutile su molti account, perché il sale cambia il valore sottoposto a hash. Funzioni lente di hashing delle password come Argon2id, bcrypt e PBKDF2 aumentano inoltre il costo di ogni tentativo.
I sali non rendono forti le password deboli, e hash grezzi veloci come MD5 o SHA-1 restano scelte scadenti per memorizzare password anche con sale. Memorizza le password con una funzione dedicata e parametri di costo aggiornati.
Un sale casuale unico rende inefficaci tra account le tabelle precalcolate per hash senza sale. Gli attaccanti dovrebbero svolgere lavoro separato per ogni sale.
No. La forza bruta calcola i tentativi durante l'attacco; una tabella arcobaleno sposta gran parte del lavoro in una fase di precalcolo.
No. Coprono solo algoritmi, sali e spazio di candidati usati per costruirle. Segreti lunghi casuali e hash password lenti con sale sono fuori dalle tabelle pratiche.