Радужные таблицы

Радужные таблицы

Радужная таблица (англ. rainbow table) — специальный вариант таблиц поиска (lookup table), использующий механизм уменьшения времени поиска за счет увеличения занимаемой памяти или time-memory tradeoff. Радужные таблицы используется для вскрытия паролей, преобразованных при помощи необратимой хеш-функции.

Содержание

Теория

Радужная таблица создается построением цепочек возможных паролей. Каждая цепочка начинается со случайного возможного пароля, затем подвергается действию хеш-функции и функции редукции. Данная функция преобразует результат хеш-функции в некоторый возможный пароль. Промежуточные пароли в цепочке отбрасываются и в таблицу записывается только первый и последний элементы цепочек. Создание таблиц требует времени и памяти (вплоть до сотен гигабайт), но они позволяют очень быстро (по сравнению с обычными методами) восстановить исходный пароль.

Для восстановления пароля данное значение хеш-функции подвергается функции редукции и ищется в таблице. Если не было найдено совпадения, то снова применяется хеш-функция и функция редукции. Данная операция продолжается, пока не будет найдено совпадение. После нахождения совпадения, цепочка содержащая его, восстанавливается для нахождения отброшенного значения, которое и будет искомым паролем.

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

Таблицы могут взламывать только ту хеш-функцию, для которой они создавались, то есть таблицы для [1] как быстрый вариант time-memory tradeoff [2]. Впервые технология использована в программе Ophcrack для взлома хешей LanMan, используемых в Microsoft Windows. Позже была разработана более совершенная программа MD5, SHA1 и др. Следующим шагом было создание программы The UDC, которая позволяет строить Hybrid Rainbow таблицы не по набору символов, а по набору словарей, что позволяет восстанавливать более длинные пароли (фактически неограниченной длины).

Применение

При генерации таблиц важно найти наилучшее соотношения взаимосвязанных параметров:

  • вероятность нахождения пароля по полученным таблицам
  • времени генерации таблиц
  • время подбора пароля по таблицам
  • занимаемое место

Вышеназванные параметры зависят от настроек заданных при генерации таблиц:

  • допустимый набор символов
  • длина пароля
  • длина цепочки
  • количество таблиц

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

Хотя применение радужных таблиц облегчает использование метода грубой силы (bruteforce) для подбора паролей, в некоторых случаях необходимые для их генерации/использования вычислительные мощности не позволяют одиночному пользователю достичь желаемых результатов за приемлемое время. К примеру для паролей длиной не более 8 символов, состоящих из букв, цифр и специальных символов !@#$%^&*()-_+= захешированных алгоритмом MD5 могут быть сгенерированы таблицы со следующими параметрами:

  • длина цепочки 1400
  • количество цепочек 50 000 000
  • количество таблиц 800

При этом вероятность нахождения пароля с помощью данных таблиц составит 0.7542 (75.42 %), сами таблицы займут 596 Гб, генерация их на компьютере уровня Пентиум-3 1ГГц займёт 3 года а поиск 1 пароля по готовым таблицам не более 22 минут.

Однако процесс генерации таблиц возможно распараллелить, например расчёт одной таблицы с вышеприведёнными параметрами занимает примерно 33 часа. В таком случае если в нашем распоряжении есть 100 компьютеров, все таблицы можно сгенерировать через 11 суток.

Защита от радужных таблиц

Данные таблицы невозможно использовать против необратимых хеш-функций, которые включают salt ("соль", или "затравка"). Например, рассмотрим следующую функцию для создания хеша от пароля:

хеш = MD5( пароль + соль ),

где + обозначает конкатенацию.


Для восстановления такого пароля взломщику необходимы таблицы для всех возможных значений затравки.

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

Использование

Практически все дистрибутивы ОС Unix, GNU/Linux и PHP используют простой хеш (обычно Microsoft Windows и Windows NT используют хеши LAN Manager и NT LAN Manager, которые также не используют соль, что делает их одними из самых популярных для создания радужных таблиц.

Примечания

  1. Philippe Oechslin
  2. Доклад Philippe Oechslin на конференции CRYPTO’03 (PDF)

Внешние ссылки


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать реферат

Полезное


Смотреть что такое "Радужные таблицы" в других словарях:

  • Радужная таблица — Схема упрощенной радужной таблицы с длиной цепочек равной трем. R1 R2 R3 функции редукции, H функция хеширования. Радужная таблица (англ. rainbow table)  специальный вариан …   Википедия

  • RainbowCrack — Тип взлом хешей Разработчик Zhu Shuanglei Операционная система Windows и Linux Последняя версия 1.5 (26 августа 2010) Сайт http://project rainbowcrack.com/ …   Википедия

  • Space-time tradeoff — Space time trade off («выбор оптимального соотношения „место время“ (англ. space time trade off)», или, иначе, «выбор оптимального соотношения „время память“» (англ. time memory trade off))  компромиссный подход к решению ряда задач в… …   Википедия

  • Соль (криптография) — У этого термина существуют и другие значения, см. Соль (значения). В этой статье не хватает ссылок на источники информации. Информация должна быть проверяема, иначе она может быть поставлена под сомнение и удалена. Вы можете …   Википедия

  • Полный перебор — У этого термина существуют и другие значения, см. Перебор. Полный перебор (или метод «грубой силы», англ. brute force)  метод решения математических задач. Относится к классу методов поиска решения исчерпыванием всевозможных… …   Википедия

  • LM-хеш — или LAN Manager хеш один из форматов используемых Microsoft LAN Manager и версиями Microsoft Windows до Windows Vista для хранения пользовательских паролей меньше 15 символов длиной. Это единственный вид шифрования используемый в Microsoft LAN… …   Википедия

  • Кокс — [В этой статье излагаются: цели коксования, выбор материала, устройство коксовальных печей, собирание побочных продуктов, физические и химические свойства кокса и статистические замечания.] нелетучий углеродистый остаток, получаемый из каменного… …   Энциклопедический словарь Ф.А. Брокгауза и И.А. Ефрона

  • ГЛАЗ — орган зрения, воспринимающий свет. Глаз человека имеет сферическую форму, диаметр его ок. 25 мм. Стенка этой сферы (глазного яблока) состоит из трех основных оболочек: наружной, представленной склерой и роговицей; средней, сосудистого тракта,… …   Энциклопедия Кольера

  • Насекомые* — (In secta s. Hexapoda) составляют один из классов типа суставчатоногих (членистоногих; Arthropoda), подтипа трахейных (Tracheata). Они могут быть коротко охарактеризованы, как трахейные суставчатоногие с телом, разделенным на голову, грудь и… …   Энциклопедический словарь Ф.А. Брокгауза и И.А. Ефрона

  • Насекомые — (In secta s. Hexapoda) составляют один из классов типа суставчатоногих (членистоногих; Arthropoda), подтипа трахейных (Tracheata). Они могут быть коротко охарактеризованы, как трахейные суставчатоногие с телом, разделенным на голову, грудь и… …   Энциклопедический словарь Ф.А. Брокгауза и И.А. Ефрона


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»