2013-04-10 3 views
3

Прочитав сообщение в блоге Роба Напира на Properly Encrypting with CommonCrypto У меня все еще есть проблема с пониманием почему, увеличивая количество иетераций хэширования, делает атакующего «тратить время».Почему увеличение количества раундов для CCKeyDerivationPBKDF повышает безопасность?

Людей страница CCKeyDerivationPBKDF описывает раунды, как:

Количество раундов псевдослучайного алгоритма для использования.

Является ли принцип здесь, что злоумышленник пытается сломать пароль, пройдя через ряд догадок, но для того, чтобы включить пароль в ключ, чтобы увидеть, если он работает они должны сами итерацию номер-of раундов раз?

ответ

2

Да, атакующий также должен делать то же самое количество раундов, увеличивая его работу и время.

+0

Это потому, что злоумышленник пытается получить вероятные пароли, да? Если атакующий был просто грубым, забивающим все возможные ключи (теоретически), это не повлияло бы, да? –

+3

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

2

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

+0

Ответ, похоже, подразумевает, что количество раундов будет увеличиваться по мере ускорения работы компьютеров. Это также предполагает, что злоумышленник выбирает аппаратное обеспечение (компьютер), делающее атаку. Но если необходимо использовать устройство цели, например, смарт-карту, эквивалент TPM или TPM, устройство может гарантировать максимальное время попыток/единицу времени, устраняя необходимость увеличения количества раундов. Я знаю устройства дешифрования, которые гарантируют это. – zaph

+0

@ Zaph Хорошая точка. – Xander

3

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

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

Смежные вопросы