[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Пуд соли
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
twin
Цитата
Я никогда не утверждал, что изменение алгоритама - это ужасно плохо. Речь, еще раз, шла о том, что в системе должны быть все элементы защиты, а не только "неизвестность". Так же я утверждал, что защита неизвестностью в веб-приложениях очень слаба - настолько, что не перевешивает плюсы открытости функции crypt. Ваша функция была лешена _всего_ и основывалась только на "неизвестности".
Ну а вот это откровенная чушь и наглая ложь. Вот первоначальный вариант моей функции:
    function cryptPassword($password, $salt = IRB_SALT, $logic = IRB_LOGIC)
{

$cript = array(1 => 'md5', 'sha1', 'sha256', 'ripemd320', 'gost');
$logic = (string)$logic;
$cnt = strlen($logic);

for($i = 0; $i < $cnt; $i++)
{
$algo = $cript[$logic[$i]];
$password = hash($algo, $password . $salt);
}

return md5($password);
}

гда тут написано, что можно применять ТОЛЬКО(!!!) статическую соль? Где??? Покажите мне пальцем. Где написано, что в функции нельзя применять динамическую соль??? Ладно, не доходит так, давайте по другому. Покажите мне в мануале, в описании функции crypt() хоть намек на динамическую соль. Детерменированная там есть, ПОКАЖИТЕ МЕНЕ ДИНАМИЧЕСКУЮ.

Вы прицепились к функции и дали такую оценку:
Цитата
уровень junior-а. Не понимающего вообще ничего про хранение паролей и соль.


В статье не была описана динамическая соль, статья была не про это вообще. Статья была про функцию, а не про принципы хранения паролей. Да, согласен, нужно было писать подробнее, что я и сделал позже. Но вот это же явный подлог:
Цитата
Ваша функция была лешена _всего_ и основывалась только на "неизвестности".


Давайте тогда и мануал оценим уровнем юниора.

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


Но я же уже все исправил! Вернее дополнил согласно вашим рекомендациям. Нет, вам мало, вы все равно уперлись рогом.


Теперь с другой стороны.

В вашей статье тоже дан пример использования функции crypt():

Цитата
// Создание хеша
$hash = crypt('password'); // crypt сама генерирует соль и хеширует, используя дефолтный алгоритм
// Если есть необходимость использовать определенный алгоритм, то нужно подготовить соль в формате crypt, а именно
// $<алгоритм>$<строка соли>$ или $<алгоритм>$<параметры хеширования>$<строка соли>$, если алгоритм требует дополнительные параметры
// Например: $1$xdtfsfre$ - MD5 алгоритм

И нет ни полслова о том, что нужно указывать цену или количество итераций так, что бы обеспечить достаточно медленное выполнение алгоритма. НЕТУ. Тут вы предлагаете людям додумывать самостоятельно. Значит вам можно, а мне нет. Как же, я же юниор, а вы гуру. Вам все позволено, а мне нет.

Заметьте, моя статья называлась "функция хэширования паролей". Не "принципы хранения". Так что откоряка про то, что ваша сатья не про функцию crypt() не прокатит. Иначе получаются двойные стандарты. О чем я сто раз повторил - вы или трусы оденьте, или крестик снимите.

И моя вторая статья просто ответная реакция на такой вопиющий подлог. О чем я и написал в преамбуле:
Цитата
Натолкнула меня на мысль написать такую статью вот эта публикация в википедии и жаркий спор на тему моей функции хэширования паролей с одним из авторов этой статьи.

И вот эта статья была уже про принципы хранения паролей. И в ней я описал подробно, что на мой взгляд лучше использовать ОБА принципа. И динамическую соль и security by obscurity. ОБА!

Не какой то один, тем более неизвестность, а оба. Плюс добавил, что не желательно использовать crypt() с дефолтным значением итераций:
Цитата
Что мы имеем, применив функцию crypt() в голом виде.

Цитата
Ну или если не по вкусу велосипеды, пользуйтесь crypt(), но только с умом. Используя большое количество раундов, не меньше миллиона.


Кроме того, в ней есть ссылка на вашу статью, и её принципы не отрицаются. А дополняются.

Но вам этого мало. Вы не можете изменить свою оценку даже после корректировок. И тут мы опять наблюдаем двойной стандарт или вообще раздвоение личности. Вы согласились, что дополнить, это нормально:
Цитата
Если вы вносите изменения в уже существующий алгоритм, в котором есть все защиты с целью добавить туда security by obscurity - это... ну нормально, в общем.

и оценка статьи
Цитата
Слуш, ты чо, дурак?
которую вы не изменили
Цитата
А "оценка" - это про статью - эту оценку я не изменил.


Тон статьи да, может быть излишне эмоционален. Остыну, изменю и это. Но не я начал, сами виноваты.

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

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

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.