Является ли этот алгоритм генерации паролей уязвимым для атаки грубой силы?

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

Если вы думаете о более длинном пароле, например, 20 букв - о Боже, его так трудно запомнить. Что, если бы у вас был случайный пароль, который легко запомнить, и вы могли бы совместить с ним свою безопасность?

Я думаю, что нашел простой способ получить случайный пароль любой длины: просто посмотрите на свою клавиатуру и придумайте какой-нибудь алгоритм перебора букв. Самый простой способ - пройти всю верхнюю строку от "q" до "p", следующую строку от "a" до "l" и следующую от "z" до "b". В результате вы получите qwertyuiopasdfghjklzxcvbsecurity. Если злоумышленник собирается пользоваться словарем, то он наверняка догадается, какую цифру вы решили использовать на клавиатуре и сколько раз. И тогда ему придется поставить словарное слово. Видите ли вы какие-либо уязвимые места в этом подходе?

Я не говорю только о том, чтобы печатать буквы на клавиатуре одну за другой слева направо. Вы можете пойти любым путем, который вам легко запомнить. И начинать и заканчивать в любой момент. Это простой способ запомнить действительно бессмысленную последовательность случайных букв. Так что можно сделать что-то вроде qazxswedcvfrtgbnhyujmsecurity — это последовательность букв, нажатых сверху вниз. Очень легко запомнить, сложно подобрать.

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


person Yaroslav Yakovlev    schedule 16.11.2012    source источник
comment
На самом деле есть словари, содержащие такие сочетания клавиш, например. key_dic.txt Мэтта Вейра. Хотя его словарь не такой обширный, есть также исследование взлома паролей на основе специальные шаблоны клавиатуры, которые предлагают эффективную систему взлома паролей в отличие от грубой силы.   -  person Gumbo    schedule 17.11.2012
comment
Спасибо, Гамбо, очень интересный момент. Но обратите внимание, что комбинации клавиш могут быть использованы для эффективного взлома пароля, если он относительно короткий и состоит только из таких комбинаций. Таким образом, кажется, что если вы используете длинный шаблон (всю клавиатуру один раз) и ваш настоящий пароль, его почти невозможно взломать.   -  person Yaroslav Yakovlev    schedule 17.11.2012
comment
@Gumbo обновил вопрос относительно отправленной вами ссылки.   -  person Yaroslav Yakovlev    schedule 17.11.2012


Ответы (2)


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

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

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

person Community    schedule 16.11.2012
comment
Да, если у вас все в порядке, и у людей, которые размещают сайты или создают программное обеспечение, все в порядке. Его трудно сломать. Но если предположить, что может быть плохой алгоритм хеширования, например, md5, или вы используете свой старый пароль (я знаю, что никто так не делает, особенно такие умные ребята, как мы, но давайте представим этого наивного человека, который это делает). И это способ использовать его и помнить. - person Yaroslav Yakovlev; 16.11.2012
comment
Blowfish — это шифр, а не хэш-алгоритм. Я думаю, что вместо этого вы имели в виду bcrypt, который представляет собой функцию получения ключа, основанную на Blowfish. - person Gumbo; 17.11.2012

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

person DarkAjax    schedule 16.11.2012
comment
Я согласен. Но насколько это отличается? Большинство букв всегда на своих местах. Конечно, для тех, кто переключается между действительно разными клавиатурами, этот метод бесполезен. Но это несколько человек. - person Yaroslav Yakovlev; 16.11.2012
comment
Это просто то, что нужно учитывать, в зависимости от символов, которые вы хотите использовать (помимо букв), таких как символы или цифры, а также тот факт, что использование другой языковой настройки для клавиатуры также изменит некоторые символы. - person DarkAjax; 16.11.2012
comment
Да, конечно! Если вы используете дворак и нормальную клавиатуру или какую-то игровую клавиатуру и другие, и они разные - это не ваш способ. Тем не менее, если у вас есть фантазия и вы можете придумать способ пройтись по буквам одинаково для всех клавиатур - это сработает. Также обратите внимание, что некоторые понятные правила все равно сделают ваш пароль на любой клавиатуре. - person Yaroslav Yakovlev; 16.11.2012
comment
Имеет смысл, я думаю, просто важно помнить об этом при использовании вашего метода, чтобы убедиться, что он работает на самых возможных клавиатурах. - person DarkAjax; 16.11.2012