Комментарии 7
вот только не очень понятно, причем здесь комментарий о радужных таблицах; ну построим мы исходную последовательность случайных чисел, и что это даст?
и примерно из этой же области, почему md5 сильно хуже sha?
и примерно из этой же области, почему md5 сильно хуже sha?
0
> Я также попытался воспроизвести ее на виртуальной машине под Windows XP(так как он был самый простой способ получить PHP с недостатками генератора случайных чисел), с успехом, конечно же. Поскольку на этих двух машинах я получил много коллизий, то скорей всего даже на более совершенных системах ошибка может быть использована с некоторым усилием.
Ну и где же результаты ваших тестов?
Я сгенерировал при помощи функции, в которой вы нашли «коллизии» 10 миллионов псевдослучайных значений и прогнал через уникализатор — не было ни одной коллизии, и это при том, что я намерянно допустил вашу ошибку №4 и сгенерировал это всё в рамках 2х сессий (по 5 млн) и даже не инициализируя генератор случайных чисел!
Согласитесь что 10 000 000 попыток авторизации это достаточно много чтобы система автоматически заблокировала IP ну или администратор увидел неладное.
Можете попробовать сами:
Полученный файл на 320 Мб прогоняем через поиск дубликатов: cat out.txt | sort | uniq -dc
Топикстартер, жду ваш тест.
Ну и где же результаты ваших тестов?
Я сгенерировал при помощи функции, в которой вы нашли «коллизии» 10 миллионов псевдослучайных значений и прогнал через уникализатор — не было ни одной коллизии, и это при том, что я намерянно допустил вашу ошибку №4 и сгенерировал это всё в рамках 2х сессий (по 5 млн) и даже не инициализируя генератор случайных чисел!
Согласитесь что 10 000 000 попыток авторизации это достаточно много чтобы система автоматически заблокировала IP ну или администратор увидел неладное.
Можете попробовать сами:
<?php function generateRandomKey($len = 20) { $string = ''; $pool = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'; for ($i = 1; $i <= $len; $i++) { $string .= substr($pool, rand( 0, 61), 1); } return md5($string); } $f = fopen('out.txt', 'a+'); for ($i = 0; $i < 5*1000*1000; ++$i) fwrite($f, generateRandomKey()."\n"); fclose($f);
Полученный файл на 320 Мб прогоняем через поиск дубликатов: cat out.txt | sort | uniq -dc
Топикстартер, жду ваш тест.
0
>Ну и где же результаты ваших тестов?
если вы обратите внимание и взгляните на оригинал статьи то увидите что это перевод, а не мои личные рассуждения, так что можете переадресовать вопросы автору статьи в блог.
если вы взгляните на ссылку что я дал в самом конце, а именно discover-symfony.blogspot.com/2010/07/achtung-sfguardplugin-symfony.html то увидите пример появления коллизий.
Что касается меня лично, то когда я тестировал эту функцию мне коллизий не попалось.
Можете так же изучить тикет trac.symfony-project.org/ticket/7018
Я пожалуй склонюсь к мнению что раз на раз не приходится, у меня и у вас коллизий не появилось, а у кого-то их вылезет столько, что страшно станет.
если вы обратите внимание и взгляните на оригинал статьи то увидите что это перевод, а не мои личные рассуждения, так что можете переадресовать вопросы автору статьи в блог.
если вы взгляните на ссылку что я дал в самом конце, а именно discover-symfony.blogspot.com/2010/07/achtung-sfguardplugin-symfony.html то увидите пример появления коллизий.
Что касается меня лично, то когда я тестировал эту функцию мне коллизий не попалось.
Можете так же изучить тикет trac.symfony-project.org/ticket/7018
Я пожалуй склонюсь к мнению что раз на раз не приходится, у меня и у вас коллизий не появилось, а у кого-то их вылезет столько, что страшно станет.
0
Извините, действительно не заметил что это лишь перевод.
Прогнал тест по ссылке discover-symfony.blogspot.com/2010/07/achtung-sfguardplugin-symfony.html — у меня снова без коллизий, подозреваю что проблема в том, что я это делал в linux, а ребята в windows. Как всё таки важно правильно выбрать хостинг :)
Прогнал тест по ссылке discover-symfony.blogspot.com/2010/07/achtung-sfguardplugin-symfony.html — у меня снова без коллизий, подозреваю что проблема в том, что я это делал в linux, а ребята в windows. Как всё таки важно правильно выбрать хостинг :)
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Безопасность это не просто