Подтвердить что ты не робот

Что такое радужная атака?

Я читал несколько статей о хэшах солей и паролей, и несколько человек упоминали о радужных атаках. Что такое радужная атака и какие методы лучше ее предотвратить?

4b9b3361

Ответ 1

Статья в Википедии немного сложно понять. В двух словах вы можете представить таблицу Rainbow как большой словарь с заранее рассчитанными хэшами и паролями, из которых они были рассчитаны.

Разница между таблицами Rainbow и другими словарями просто заключается в способе хранения записей. Таблица Rainbow оптимизирована для хэшей и паролей и, таким образом, обеспечивает большую оптимизацию пространства, сохраняя при этом хорошую скорость поиска. Но по сути, это просто словарь.

Когда злоумышленник крадет у вас длинный список хэшей паролей, он может быстро проверить, есть ли кто-либо из них в таблице Rainbow. Для тех, которые есть, в таблице Rainbow также будет содержаться строка, из которой они были хэшированы.

Конечно, есть слишком много хэшей, чтобы хранить их все в таблице Rainbow. Поэтому, если хэш не находится в конкретной таблице, хакеру не повезло. Но если ваши пользователи используют простые английские слова, и вы их хэшировали только один раз, существует большая вероятность того, что хорошая таблица радуги будет содержать пароль.

Ответ 2

Это когда кто-то использует таблицу Rainbow для взлома паролей.

Если вы беспокоитесь об этом, вы должны использовать Salt. Существует также вопрос Stack Overlow, который может помочь вам понять соль немного лучше, чем Википедия...

Ответ 4

Поздно к вечеринке, но я также знал, что Rainbow Tables является методом атаки на хэшированные/несоленые пароли. Однако в Твиттере недавно http://codahale.com/how-to-safely-store-a-password/ был предоставлен общий доступ и в зависимости от ваших потребностей и проблем.. вы, возможно, не сможете солить свой путь к безопасному хранению паролей.

Надеюсь, это будет вам информативно.

Ответ 6

В широком смысле вы шифруете огромное количество возможных коротких строк открытого текста (например, для паролей) и сохраняете зашифрованные значения вместе с открытым текстом. Это делает (относительно) простой поиск простого текста, когда у вас есть зашифрованное значение.

Это наиболее полезно для слабых и/или несоставленных хэшей паролей. Популярным примером является хэш LAN Manager, используемый версиями Windows до XP для хранения пользовательских паролей.

Обратите внимание, что предварительно вычисленная таблица радуги для даже чего-то столь же простого, как и хэш-код LM, занимает много времени процессора, чтобы генерировать и занимать достаточное количество места (порядка 10 с гигабайт IIRC).

Ответ 7

Таблицы Rainbow в основном позволяют кому-то хранить большое количество предварительно вычисленных хэшей.

Это позволяет легко взломать ваши хешированные пароли, поскольку вместо выполнения целой кучи хешинговых функций эта работа уже выполнена, и они практически просто выполняют поиск базы данных.

Лучшей защитой от такого рода атак является использование соли (случайных символов) в вашем пароле. то есть вместо сохранения md5 (пароль), сохраните md5 (пароль + соль) или даже лучше md5 (соль + md5 (пароль)).

Так как даже с радужными столами, почти невозможно хранить все возможные соленые хеши.

Кстати, очевидно, вам нужно сохранить соль с помощью хеша, чтобы вы могли аутентифицировать пользователя.