Хешируйте открытый текст в строки, достойные пароля - PullRequest
0 голосов
/ 19 февраля 2019

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

Один простой способ сделать это - использовать openssl.Например:

echo -n "password hint for facebook" | openssl dgst -sha256
>>159cb97d048a50a9bc124d2e6795cec1f5e0850ee9f5148fbb1d4e822dd4dd9c

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

1 Ответ

0 голосов
/ 19 февраля 2019

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

Пароли в публичных утечках, использующие эту технику, регулярно взламываются навалом на высоких скоростях.Такие инструменты, как mdxfind, будут пробовать тысячи различных типов вложенных хеш-комбинаций, такие инструменты, как John the Ripper, позволят вам создавать произвольные динамические комбинации вложенных хешей (используя синтаксис динамического алгоритма хеширования), а hashcat имеет ряд встроенных общих вложений.

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

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

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

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

...