Вопрос по криптографии ( md5)

fixxxer

К.О.
Партнер клуба
Автор оригинала: proWoke
Почитал я тот топик и понял мало что). Народ чёто говорит что md5 не надёжен. В книге написанно про математические доказательства о невозможности взлома. Лол. Ладно буду ждать криптографии в универе, если она будет, либо если реально петух клюнет по этой теме, то буду курить книгу какую нить умную.
http://www.google.com/#hl=en&q=брюс шнайер прикладная криптография&fp=1
 

newARTix

Новичок
Gas
вопрос в том, какой от нее толк, если она хранится вместе с паролем?
 

fixxxer

К.О.
Партнер клуба
вот есть у тебя таблица для md5() всех комбинаций 1-10 символов + по словарям.

и она внезапно становится бесполезна. вот такой толк
 

Wicked

Новичок
Gas
мне не нравится что для залогинивания, нужен полный скан таблицы с юзерами, но это вкусовщина с моей стороны.
ты пользователей только по паролю авторизуешь? О_о :)

-~{}~ 07.08.10 09:52:

ну а сам я делаю как zerkms: в базе есть 2 поля: соль и md5/sha1, т.е. соль у каждого пользователя своя - это дополнительные грабли потенциальным злоумышленникам.

-~{}~ 07.08.10 10:00:

fixxxer
очень грамотно объяснил :)
 

Crys

Двинутый новичок
ну а сам я делаю как zerkms: в базе есть 2 поля: соль и md5/sha1, т.е. соль у каждого пользователя своя - это дополнительные грабли потенциальным злоумышленникам.
Если исходить из того, что взломщик знает правила соления, толку с того, что у каждого юзера своя соль - чуть более чем в два раза больше нуля. Если же он не знает этого, то разницы между отдельной солью и общей нет.
 

zerkms

TDD infected
Команда форума
Crys
Если исходить из того, что взломщик знает правила соления, толку с того, что у каждого юзера своя соль - чуть более чем в два раза больше нуля.
а если подумать?
 

LONGMAN

Dark Side of the Moon..
Интересно как устроена сама функция md5, то есть каким образов вычисляет хэши
 

Духовность™

Продвинутый новичок
ну неужели даже тебе нужно объяснять?
да не пойму я - зачем соль отдельно хранить? и вообще, зачем её хранить для пароля, рядом, в соседнем поле? что бы потом сделать

PHP:
sql('SELECT  * FROM user WHERE MD5(CONCAT('.$_POST['pass'].', salt)) = user_password')
??
 

zerkms

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

Crys

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

-~{}~ 07.08.10 18:07:

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

QQQ

Новичок
а соль сама по себе сводит на нет атаки радужными таблицами.
так что солёный хэш в этом случае отлично выполне себе выполняет поставленную на него задачу - он делает брутфорс экономически невыгодным.
я лично нифига не понял. если у меня есть дамп базы с хэшами пассов, и там-же рядом хранится соль, и я знаю алгоритм хэширования, то нафига мне радужные таблицы? я же знаю используемую для каждого хэша соль?
 

Crys

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

QQQ

Новичок
Crys
да не... я не понимаю, в чём смысл хранить дополнительным полем в таблице юзерей соль, кроме хэша пароля? допустим завладел я базой. естественно когда я буду брутить хэши, я для подбора к каждому пассу буду использовать соответстующее известное поле соль. и что мне дела, что для каждого пасса оно уникальное, если я его знаю для каждого пасса?
 

Crys

Двинутый новичок
QQQ
http://project-rainbowcrack.com/table.htm

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

Но вот развиваю свои мысли. Вообще, варианты следующие:
1) Соль уникальная, принцип генерации мы не знаем
2) Соль уникальная, принцип генерации мы знаем
3) Соль неуникальная, принцип генерации мы не знаем
4) Соль неуникальная, принцип генерации мы знаем

Нормальные варианты по защите - это первый и третий, т.к. во втором и четвертом злоумышленник имеет доступ к файловой структуре сайта (что, имхо, более плохо, чем даже просто пароли в базе без хэшей). И вот тут получается, что эффективность то у них - одинаковая. Только на одну колонку меньше в базе. Я не прав?
 
Сверху