[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Криптостойкойст данного хеширования пароля
Страницы: 1, 2, 3, 4
Ron
Цитата (S.Chushkin @ 17.11.2015 - 22:36)
В той беседе об говорили, - если хакер получил доступ к исходному коду, то сложность не важна.

Очень важна. Решающую роль играет стоимость каждой попытки брутфорса. Например брутфорсить чего-то онлайн, через формы авторизации, полная глупость, независимо от алгоритма. Потому что сетевые и прочие задержки делают этот метод непригодным. Поэтому роботы ходят ищут совсем лохов по словарям. Типа 123456, God, qwerty и т.д.

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

Если бы люди меняли свои пароли каждые 5 минут, то md5 хватило бы еще надолго. И никто бы не парился на этот счет. wink.gif

killer8080
Цитата (Ron @ 17.11.2015 - 21:40)
Цитата (killer8080 @ 17.11.2015 - 22:17)
а еще бывает что алгоритм шифрования неизвестен и ломать нечего, от одного хеша толку ноль

Тогда получается можно брать сначала от пароля md5 и тем самым вообще свести на нет требования по длине пароля и богатству алфавита. Получим на выходе 32 разряда в hexadecimal это как раз те самые 3,4E+38 комбинаций. А потом взять этот хэш и накатить сверху password_hash(). Даже несмотря на то, что соль известна, 32 разряда это не шутки шутить. Тем более мы не знаем алфавита, поскольку предыдущий шаг, где md5, заведомо неизвестен. Там может оказаться совершенно любая функция.

длина и сложность пароля имеет значение только для перебора, если алгоритм хеширования неизвестен, то и перебирать нечего.
Цитата (S.Chushkin @ 17.11.2015 - 21:42)
Я думаю, назначение соли это средство усложнить перебор(взлом) настолько, что он становится слишком дорогим. И не важно, групповой он или единичный.

назначение соли, это защита от группового взлома, её задача сделать невозможным составление радужных таблиц. Суть вот в чем, когда то давным давно все поголовно использовали md5('password'), чтобы не перебирать все комбинации каждый раз, придумали тупо сгенерить их один раз и записать в БД, идея в том, что поиск в огромной БД происходит очень быстро (относительно), в отличии от брута. Для защиты придумали "солить" пароли, для каждого пароля своя уникальная соль, таким образом предварительное составление таблицы становится бессмысленным, потому соль и не является секретом и хранится вместе с хешем. Если соль не уникальная то это уже не соль. Но как дополнительный уровень защиты нужно вводить секретную строку (ту самую которую вы путаете с солью) хранящуюся в исходном коде, добавляя её к паролю перед хешированием, в этом случае угон хешей совершенно бесполезен, взлом невозможен без доступа к исходному коду, те кто говорят что взломать можно всё, видимо очень далеки от криптографии. smile.gif
Ron
Цитата (killer8080 @ 17.11.2015 - 23:05)
длина и сложность пароля имеет значение только для перебора, если алгоритм хеширования неизвестен, то и перебирать нечего.

Алгоритм восстанавливается, если есть исходная строка и хэш от нее. То есть в нашем случае, если есть твоя учетная запись в некой БД.

А если нет даже теоретической возможности для взлома, то это уже, простите, не криптография никакая, вот что.

И что значит не узнать алгоритм, вы что!? )) То есть вы сейчас напишите некий крипто-сервис, дадите к нему доступ через API и что, мир получит криптостойкие хэши? Вы что, смеетесь, или как? biggrin.gif Почему давным-давно так не сделали тогда?
S.Chushkin
Цитата (Ron @ 17.11.2015 - 22:52)
Очень важна. Решающую роль играет стоимость каждой попытки брутфорса. Например брутфорсить чего-то онлайн, через формы авторизации, полная глупость, независимо от алгоритма. Потому что сетевые и прочие задержки делают этот метод непригодным. Поэтому роботы ходят ищут совсем лохов по словарям. Типа 123456, God, qwerty и т.д.

Мне кажется, Вы что-то путаете.
Хеш защищает, когда у Вас стырили БД. В остальных случаях хеш бесполезен.

Цитата
Если бы люди меняли свои пароли каждые 5 минут, то md5 хватило бы еще надолго. И никто бы не парился на этот счет. wink.gif

Естественно, - "Всё хорошо, что в норму".
К примеру, в той беседе один из коллег считал, что надо тратить на генерацию хеша ~1 сек, чтобы при дешифрации на него тратили столько же. Это перебор.
Я считаю, что дешифровать md5(пароль+соль), где соль это рандомная строка строка в 16+ символов невозможно за реальное время (где-то пару-другую лет) или это будет стоить очень очень дорого (вероятно сотни/тысячи килобаксов). И поэтому утверждаю, что такой хеш достаточно надёжен, чтобы хранить его в БД.

п.с.
ИМХО, все утверждения, что md5() ненадёжен относится к md5(пароль).

_____________
Рекламка / ad.pesow.com Хрень / mr-1.ru
Ron
Цитата (S.Chushkin @ 17.11.2015 - 23:19)
Хеш защищает, когда у Вас стырили БД. В остальных случаях хеш бесполезен.

Я вам в качестве примера привел. Про стоимость каждой попытки брутфорса и почему ломать чего-то онлайн (к примеру) не есть хорошая идея. И здесь брутфорс и там брутфорс. Но вероятность успеха за вермя N - совершенно разная.


killer8080
Цитата (Ron @ 17.11.2015 - 22:18)
И что значит не узнать алгоритм, вы что!? ))

да легко
пароль: qwerty
хеш: ae2b2b9ff0291a9464487f329f9b32f9
угадай каким алгоритмом он был получен, причём даже без соли и прочей уникальной лабуды, тупо алгоритм wink.gif
S.Chushkin
Цитата (killer8080 @ 17.11.2015 - 23:05)
(ту самую которую вы путаете с солью)

Да, возможно путаю. А по сути именно "секретную строку".

_____________
Рекламка / ad.pesow.com Хрень / mr-1.ru
Ron
Цитата (killer8080 @ 17.11.2015 - 23:25)
угадай каким алгоритмом он был получен, причём даже без соли и прочей уникальной лабуды, тупо алгоритм

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

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

killer8080
Ron
ну раз ты сдался, то выдам секрет :D
$hash = md5(strrev(sha1($pass).md5($pass)));

Цитата (Ron @ 17.11.2015 - 22:33)
Но разумеется вскрыть твой алгоритм можно. Иначе бы науки такой, как криптография, не существовало. Все бы жили, не тужили. Каждый создавал свой алгоритм и дела в шляпе. ))

ну вот мне и интересно, каким образом ученый криптоаналитик будет гадать на кофейной гуще разгадывая какая бредовая мысль пришла кодеру при хешировании пароля? Каким образом можно предусмотреть все возможные алгоритмы, чтоб потом их подбирать? Так что все эти ваши "стоимости взлома" плоды мифов о всемогущих хакерах, которые за три секунды пыцанья по клаве взламывают супер защищенные системы. Хакеры никогда не идут на пролом, если взлом простыми методами не сработал, значит будут искать обходные пути, уязвимости в софте и т.п.. А уж если кто то готов заплатить огромные деньги за взлом, информация реально настолько ценная, то никакого взлома не будет, будет тупая кража или шантаж, или еще какие методы соц инженерии. Так что не парьтесь особо со своими паролями :D
Ron
Цитата (killer8080 @ 17.11.2015 - 23:44)
ну вот мне и интересно, каким образом ученый криптоаналитик будет гадать на кофейной гуще разгадывая какая бредовая мысль пришла кодеру при хешировании пароля?

Ну об этом вообще я так понимаю распространяются неочень охотно. У нас в институте была кафедра криптографии. Только принадлежала она определенному ведомству. wink.gif Думаю что где-то обучают и более свирепым знаниям. Только уже не простых смертных. =)

Цитата (killer8080 @ 17.11.2015 - 23:44)
Так что не парьтесь особо со своими паролями biggrin.gif

Да ясен пень! =)
twin
Цитата (killer8080 @ 17.11.2015 - 19:44)
будет тупая кража или шантаж, или еще какие методы соц инженерии.

Старый добрый терморектальный криптоанализатор. smile.gif

А вообще тут как то не так давно был такой холивар. У меня вот что родилось из этого.
Вообще конечно, никто в здравом уме и рассудке не станет брутить алгоритм чуть сложнее md5 на домашней страничке какого-нибудь дяди Васи. Так что все эти изобретения чисто для спокойного сна владельца ресурса, не более. Мол а мало ли что завтра, придумают новые алгоритмы или мощности машин возрастут экспоненциально. Или биткоины рухнут и все эти фермы направят на взломы паролей. А у меня они ооооочень надежно захэшированы. ph34r.gif

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

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

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

user posted image
S.Chushkin
Цитата (killer8080 @ 17.11.2015 - 23:44)
ну вот мне и интересно, каким образом ученый криптоаналитик будет гадать на кофейной гуще разгадывая какая бредовая мысль пришла кодеру при хешировании пароля? Каким образом можно предусмотреть все возможные алгоритмы, чтоб потом их подбирать? Так что все эти ваши "стоимости взлома" плоды мифов о всемогущих хакерах, которые за три секунды пыцанья по клаве взламывают супер защищенные системы. Хакеры никогда не идут на пролом, если взлом простыми методами не сработал, значит будут искать обходные пути, уязвимости в софте и т.п.. А уж если кто то готов заплатить огромные деньги за взлом, информация реально настолько ценная, то никакого взлома не будет, будет тупая кража или шантаж, или еще какие методы соц инженерии. Так что не парьтесь особо со своими паролями
Быстрый ответ:

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