Подобные пароли имеют подобные хеши?

Наша компьютерная система на работе требует, чтобы пользователи изменили свой пароль каждые несколько недель, и у Вас не может быть того же пароля, как Вы имели ранее. Это помнит что-то как 20 из Ваших последних паролей. Я обнаружил, что большинство людей просто увеличивает цифру в конце своего пароля, таким образом, "thisismypassword1" становится "thisismypassword2" затем 3, 4, 5 и т.д.

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

10
задан NibblyPig 21 April 2010 в 14:09
поделиться

10 ответов

Имеют ли похожие пароли похожие хэши?

Нет.

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

Конечно, невозможно узнать, есть ли у хэша необнаруженные слабые места или уязвимости, известные злоумышленнику, но не опубликованные, и в этом случае, скорее всего, злоумышленник является хорошо финансируемой правительственной организацией. АНБ, безусловно, владеет закрытыми теоретическими атаками на некоторые криптографические компоненты, но можно ли использовать эти атаки - другой вопрос. GCHQ наверное есть. Я предполагаю, что в нескольких других странах есть секретные криптографические программы с достаточным количеством математиков, чтобы проделать оригинальную работу: Китай был бы моим первым предположением. Все, что вы можете сделать, это действовать на основе самой достоверной доступной информации. И если наилучшая доступная информация говорит о том, что хеш «полезен для криптографии», то это означает, что подобного рода полезные сходства отсутствуют.

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

Может ли хакер увеличить свои шансы на взлом пароля, если у него есть список хэшей схожих паролей?

Косвенно, да, зная, что это ваши старые пароли. Не из-за какого-либо свойства хэша, но предположим, что злоумышленнику удается (очень медленно) подобрать один или несколько ваших старых паролей, используя эти старые хэши, и видит, что в прошлом это были «thisismypassword3» и «thisismypassword4». .

Ваш пароль с тех пор был изменен на thisismypassword5. Молодец, изменив его до того, как злоумышленник взломал его, вы успешно гарантируете, что злоумышленник не восстановит ценный пароль! Победа! За исключением того, что это бесполезно, поскольку злоумышленник в любом случае имеет возможность быстро угадать новый, используя старый пароль (пароли).

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

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

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

Основными практическими атаками на системы паролей в наши дни являются перехват (с помощью клавиатурных шпионов и других вредоносных программ) и фишинг. Попытка перевернуть хэши паролей - не лучший процент атаки, хотя, если злоумышленник каким-то образом завладел файлом / etc / passwd или его эквивалентом, он таким образом взломает некоторые слабые пароли в средней системе.

10
ответ дан 3 December 2019 в 13:22
поделиться

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

10
ответ дан 3 December 2019 в 13:22
поделиться

При хорошем алгоритме хеширования похожие пароли будут распределены по хешам. Таким образом, одинаковые пароли будут иметь очень разные хеши.

Вы можете попробовать это с MD5 и другими строками.

"hello world" - 5eb63bbbe01eeed093cb22bb8f5acdc3
"hello  world" - fd27fbb9872ba413320c606fdfb98db1
11
ответ дан 3 December 2019 в 13:22
поделиться

Это зависит от используемого алгоритма хеширования. Хороший будет распределять похожие входы на разнородные выходы.

4
ответ дан 3 December 2019 в 13:22
поделиться

Короткий ответ, нет!

Вывод хеш-функции сильно различается, даже если один символ увеличивается.

Но это только в том случае, если вы хотите сломать саму хеш-функцию.

Конечно, это плохая практика, поскольку она упрощает брутфорс.

1
ответ дан 3 December 2019 в 13:22
поделиться

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

Проверьте здесь:

http://en.wikipedia.org/wiki/Collision_%28computer_science%29

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

http : //en.wikipedia.org/wiki/Birthday_attack

4
ответ дан 3 December 2019 в 13:22
поделиться

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

Что еще более важно, вы, скорее всего, сольете пароль, чтобы даже одни и те же пароли не давали одинаковый хэш.

6
ответ дан 3 December 2019 в 13:22
поделиться

Нет, если вы хоть немного проверите пароль, он выдаст совершенно новый хэш.

1
ответ дан 3 December 2019 в 13:22
поделиться

Как правило, «хороший хэш» не будет хешировать две похожие (но неравные) строки в похожие хеши. MD5 достаточно хорош, так что это не проблема. Однако существуют «радужные таблицы» (по сути, пары пароль: хэш) для довольно многих общих паролей (а для некоторых хэшей паролей, например, традиционных паролей UNIX на основе DES) существуют полные радужные таблицы.

1
ответ дан 3 December 2019 в 13:22
поделиться

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

Я использовал следующий код для быстрого тестирования:

<?php
for($i=0;$i<5;$i++)
        echo 'password' . $i . ' - ' .md5('password' . $i) . "<br />\n";
?>

и получил следующие результаты:

password0 - 305e4f55ce823e111a46a9d500bcb86c
password1 - 7c6a180b36896a0a8c02787eeafb0e4c
password2 - 6cb75f652a9b52798eb6cf2201057c73
password3 - 819b0643d6b89dc9b579fdfc9094f28e
password4 - 34cc93ece0ba9e3f6f235d4af979b16c
4
ответ дан 3 December 2019 в 13:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: