EMZETT.
Увійти

Райдужні таблиці (rainbow tables)

Коротко: Райдужні таблиці — це заздалегідь обчислені таблиці пошуку, за допомогою яких із хешу пароля швидко відновлюють пароль. Сіль робить їх марними.

Докладніше: Замість того щоб щоразу перебирати всі паролі, вони міняють пам’ять на час обчислень: заздалегідь обчислюються ланцюжки з кроків хешування й редукції, а зберігаються лише початок і кінець.

Подробиці

  • Ідея: Ланцюжок пароль → хеш → пароль' → хеш → … зберігається як (початок, кінець). Під час злому ланцюжок будується заново від цільового хешу, доки не збігнеться кінцева точка, потім відновлюється від початку.
  • Контрзахід — сіль: Випадкове додаткове значення для кожного користувача перетворює однакові паролі на різні хеші. Таблиці довелося б перераховувати для кожної солі. Див. безпечне зберігання паролів.
  • Повільні методи: Argon2, bcrypt і scrypt роблять кожну спробу дорогою.
  • Сьогодні: Проти несолоних застарілих хешів (MD5, SHA-1, див. MD5 і SHA-1) вони ще працюють. Для стійких паролів практичніші словникові атаки на GPU.
  • Урок: Ніколи не зберігати паролі зі швидким несолоним хешем.

Див. також: Гешування