Tabla arcoíris
Una tabla arcoíris es una estructura precalculada usada para buscar entradas probables de hashes de contraseña sin sal.
Definición
Una tabla arcoíris es una estructura de datos precalculada para volver de muchos valores hash posibles a entradas candidatas, normalmente contraseñas. En lugar de aplicar hash a las conjeturas después de una filtración, el atacante prepara cadenas de hashes y reducciones de antemano y guarda suficiente información para recuperar coincidencias probables después.
Las tablas arcoíris son más útiles contra hashes rápidos y sin sal de contraseñas elegidas por personas. No son descifrado mágico: solo cubren el espacio de entrada y el algoritmo usados para construir la tabla.
Cómo funciona
Las tablas de búsqueda clásicas almacenan muchos pares directos contraseña-hash. Las tablas arcoíris reducen almacenamiento guardando extremos de cadenas: un hash se reduce a otra entrada candidata, se vuelve a aplicar hash y se repite con funciones de reducción cambiantes. Durante el ataque, el hash objetivo se recorre por posibles posiciones de cadena hasta encontrar un extremo coincidente.
Es un intercambio entre tiempo y almacenamiento. Construir tablas útiles puede ser costoso, pero una vez creadas pueden comprobar muchos hashes sin sal compatibles con rapidez.
Defensa
Una sal aleatoria única por contraseña vuelve inútil una tabla precalculada para muchas cuentas, porque la sal cambia el valor que se aplica al hash. Funciones lentas de hash de contraseñas como Argon2id, bcrypt y PBKDF2 elevan además el coste de cada intento.
Las sales no hacen fuertes las contraseñas débiles, y los hashes rápidos sin procesar como MD5 o SHA-1 siguen siendo malas opciones para almacenar contraseñas incluso con sal. Almacena contraseñas con una función especializada y parámetros de coste actuales.
Una sal aleatoria única hace ineficaces entre cuentas las tablas precalculadas para hashes sin sal. El atacante necesitaría trabajo separado para cada sal.
No. La fuerza bruta calcula conjeturas durante el ataque; una tabla arcoíris traslada gran parte de ese trabajo a una fase de precálculo.
No. Solo cubren los algoritmos, sales y espacio de candidatos usados para construirlas. Secretos largos aleatorios y hashes de contraseña lentos con sal quedan fuera de tablas prácticas.