Как сделать пароль надежным и запоминающимся

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



    Как сделать пароль более надежным и при этом его не забыть? Есть несколько вариантов…

    Шифр простой замены


    Шифры замены — класс методов шифрования, существующий практически столько же, сколько и алфавит. Его суть состоит в замене букв другими буквами, числами или символами (отсылка к криптографии).

    Не углубляясь в особенности и тонкости шифра, можно выбрать самый простой метод шифрования — тот, где заменяется каждая буква следующей за ней в алфавите. Для примера возьмем слова «cat» и «dog». Зашифровываем: за с в алфавите идет d (c=d), за a будет b (a=b), ну и за t следует u (t=u). Ta же формула и для второго слова: d=e, o=p, g=h. В результате получаем два шифра — dbu и eph.


    Шифр простой замены букв (через две)

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


    Один из вариантов шифрования, описанного в рассказе Конана Дойля «Пляшущие человечки»

    Мнемонический код


    Можно воспользоваться излюбленным методом фокусников и магов — мнемоникой. Она помогает визуализировать объект с помощью его полного описания, упрощая тем самым запоминание или идентификацию. Подобный принцип используется в известной поговорке про цвета радуги: «Каждый (Красный) охотник (Оранжевый) желает (Желтый) знать (Зеленый), где (Голубой) сидит (Синий) фазан (Фиолетовый)».

    В упрощенном виде все выглядит примерно так: «а — это ананас, б — это банан, в — это вишня». Для построения пароля, используйте слова, соответствующие буквам.



    Запоминание последовательности цветов радуги

    Например, нужно создать пароль для сайта bank.com. Возьмем за основу код из первых двух букв от названия веб-ресурса «b» и «a». Согласно конструкции «b is for banana, a is for apple» получится «bananaapple». Добавьте между ними дефис и пароль приобретет еще и необходимый символ. А если объединить это все с шифром простой замены, пароль для bank.com станет по-истине надежным nsmsms=s[[;r.

    Название сайта в конце пароля


    Технический директор компании по сетевой безопасности Panda Security Луис Корронс предлагает следующий вариант:
    Чтобы сделать пароль уникальным для каждого сайта (без необходимости его записывать) можно добавить название веб-ресурса в его конец.

    Рассмотрим подробнее на примере все того же сайта bank.com. К выбранному паролю в конце добавим приставку "-bank". Получится более сложная конструкция, делающая пароль и понятным и сложным. Тоже самое проделываем с учетными записями в социальных сетях "-twitter", "-facebook" и "-linkedin" или сокращенные варианты вроде "-twit", "-face" и "-link".

    Временные рамки


    Есть компании, которые вынуждают своих клиентов менять пароли раз в полгода или год. Тут тоже можно найти решение. Просто добавляйте необходимый год, квартал к началу или концу пароля. Возьмем за основу уже знакомый пароль «banana», добавим к нему наступающий 2016 год и 1-й квартал. Получается banana-16-q1. А если произвести перемещения всего по одному ключу на клавиатуре, пароль существенно усложнится и обретет вид nsmsms=3-25=j3.



    И вот — наш уникальный пароль, довольно сложный, надежный, который можно запомнить и без особого труда регулярно изменять (по месяцам или годам).

    Размер имеет значение


    Помимо шифровки стоит поговорить и о качестве самого пароля. Его длина имеет важное значение. Полный набор включает 26 строчных букв, 26 прописных и 10 цифр. Также в пароле может использоваться приблизительно 30 специальных знаков. Это все говорит о том, что для каждого символа, добавленного к паролю, число возможных вариантов увеличивается в 90 раз.

    По словам генерального директора фирмы сетевой безопасности FlowTraq Винсента Берка:
    Большинство веб-сайтов и компаний нуждаются в паролях, которые насчитывают комбинацию как минимум из 10 символов нижнего и верхнего регистра, при этом включают число и один или несколько специальных знаков



    В последнее время специалисты по безопасности рекомендуют увеличивать длину пароля вообще до двенадцати знаков. По их мнению 12 — минимум. Данная теория сформировалась на основе исследования, которое было проведено в Технологическом институте (штат Джорджия, США). Исследователи использовали группы видеокарт, чтобы взломать восьмизначные пароли и пришли к выводу, что для этого достаточно двух-трех часов. Для взлома были задействованы графические процессоры — системные компоненты, разработанные для удовлетворения потребностей современных геймеров.

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

    Оригинальность пароля


    Разумеется, не одна только длина делает пароль надежным. Он не должен быть легким для угадывания или предсказуемым. Например, пароль LadyGaga — хорош только для преданного поклонника или для самой певицы. Набор цифр 1234567890 тоже не пойдет — слишком очевидно, что даже ребенок может его взломать, набирая подряд все десять цифр на клавиатуре. Ненадежной будет и комбинация из серии password1234, пусть даже она состоит из двенадцати символов.



    Стоит придумывать сложные и не распространенные пароли. Лучше избегать слов, которые можно найти в словарях любого языка. Популярные замены букв числами (0 вместо «o», 4 вместо «a») не играют особой роли. Не желательно повторять один и тот же пароль много раз. Хотя именно это и делают пользователи, согласно ноябрьскому исследованию RSA 69%. Результаты продемонстрировали, что потребители многократно используют однажды придуманный ими пароль (при том, что почти 50% из них были жертвами атак со стороны хакеров).

    Предложения-подсказки


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



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

    В качестве пароля можно использовать фразу, предварительно кодируя ее. Например на английском «I want to be at the beach» в кодировке может выглядеть, как iw2b@theBeach. Запоминающийся пароль, который будет достаточно сложным для взлома. Под каждую систему возможно подобрать различное окончание. Некоторые системы позволяют даже использовать полные предложение в качестве паролей. Такие пароли не забудутся и будут довольно надежными.

    В целях повышения безопасности данных известным облачным хранилищем данных Dropbox был создан список из паролей, которые запрещено использовать. В списке находится около 85100 паролей.



    А Университет Южного Уэльса провел исследования, результаты которого показали, что:
    4,7% пользователей используют пароль password;
    8,5% пользователей выбирают один из двух вариантов: password или 123456;
    9,8% пользователей выбирают один из трёх вариантов: password, 123456 или 12345678;
    14% пользователей выбирают один из 10 самых популярных паролей;
    40% пользователей выбирают один из 100 самых популярных паролей;
    79% пользователей выбирают один из 500 самых популярных паролей;
    91% пользователей выбирает один из 1 000 самых популярных паролей.



    А вот топ-25 самых популярных паролей в мире:
    password
    123456
    12345
    12345678
    qwerty
    123456789
    1234
    baseball
    dragon
    football
    pussy
    1234567
    monkey
    letmein
    abc123
    111111
    mustang
    access
    shadow
    master
    michael
    superman
    696969
    123123
    batman
    ua-hosting.company
    421,00
    Хостинг-провайдер: серверы в NL / US до 100 Гбит/с
    Поделиться публикацией

    Комментарии 47

      +1
      А я использую старую программу ADvanced Password Generator, которая генерит запоминаемые пароли.
        0
        а можно попросить выложить ее куда нибудь?
      +2
      Добавил бы сюда хеш Мануэля Блюма.

      www.scilogs.com/hlf/mental-cryptography-and-good-passwords
        0
        Не совсем понятно — название статьи «Как сделать пароль надежным и запоминающимся», при этом у вас все пароли сводятся к «nsmsms=3-25=j3», что, безусловно, надежно, но не запоминаемо. «bananaapple» — запоминаемо, но совершенно ненадежно…
        Получается, вывод к заголовку статьи — никак (что, в общем-то истинно, хотя у вас другой посыл был).
          0
          Получается, вывод к заголовку статьи — никак (что, в общем-то истинно


          Нет, не истинно.
            0
            Вы считаете, что correcthorsebatterystaple, который подбирается за 8 часов — надежный?
              +1
              Больше всего в этой картинке, которая непонятно почему-то разошлась огромными тиражами по интернетам, нравиться «да взлом украденного хеша быстрее, но среднестатистический пользователь не должен об этом беспокоиться» — пользователь именно об этом и должен беспокоиться, т.к. чаще всего тащут именно базы хешей.
                +1
                Пользователь не может повлиять на выбор алгоритма хеширования, поэтому его беспокойство об этом будет бесполезно.
          +3
          Многие из этих советов ломаются о «заботу веб-ресурса о безопасности пользователей». Когда в ответ на предложенный пароль поочерёдно выскакивает:
          — пароль слищком короткий, должно быть не менее 8 символов
          — пароль слишком простой, должна быть хотя бы одна буква
          — должен быть хотя бы один диакритический знак

          а потом ещё до кучи:
          — пароль слишком длинный
          и т.п.

          Вроде как о безопасности заботятся, но тем самым вынуждают меня ломать собственный паттерн генерации паролей. Так что почти гарантированно я его забуду — и какая же тут нафиг безопасность?
            +2
            Ага, разработчики, которые ставят ограничение на длину пароля, или ставят запрещенные символы в нем, должны гореть в аду.
            Да и городит каждый свой велосипед. Неужели нет какого-нибудь стандарта, предписывающего правила безопасных паролей, которые все должны использовать на сайтах по умолчанию?
              0
              На Юниксах уже давно такой стандарт имеется — cracklib.
            +2
            Вариант, когда нужно много сложных и разных паролей решается программой, где можно генерировать и хранить все нужные пароли.

            И крайне надежный и простой вариант — использование в качестве пароля словосочетания или даже предложения.

            Например пароль «Рождественское утро 2015» (294 bits). Запоминается элементарно, подбирать сложно. Единственная проблема остается — различные пароли для разных сайтов. Но тут можно выкрутиться «Рождественское утро 2015 нф.кг», например. Вот такие способы нужно продвигать в массы активнее всего. Да и вариант «banana-16-q1» тоже по словарю не подобрать уже и придется перебором действовать. Единственное, что некоторые сервисы умудряются еще ограничить максимальную длину пароля. Словно они собираются хранить его в сыром виде и им важно знать длину.

            Стандарт бы на эту тему какой-то сделать общепринятый.
              0
              Добавление к своему сложному паролю окончания сайта (сервиса) мне кажется плохой практикой. Если один из паролей будет уведен, то остальные могут быть подобраны. Например, забылись и залогинились в кафе с вайфая на vk.com c паролем «Рождественское утро 2015 vk.com». Злоумышленник будет очень рад когда обнаружит, что «Рождественское утро 2015 gmail.com» то же работает.

              Хорошей практикой считаю использование keepass. Генерирует пароли сразу за звездочками, для копирование не нужно видеть пароль, при вставке тоже одни звездочки. Как итог, я даже никогда не видел большую часть паролей. Пользуюсь года четыре.

              Всего в памяти два пароля: база keepass и Gmail (с двухфакторной авторизацией).
                0
                Согласен, что тут стоит еще поломать немного голову над тем, чтобы уменьшить распознавание. Я бы сам не стал вводить обычный адрес сайта (хотя даже на этом уровне большинство получит огромный прорыв по сравнению со своими простыми паролями, используемыми везде в неизменном виде). Логику привязки к сайту можно немного доработать, как предложено в топике. А можно брать только какую-то часть — «2 символа + зона». Но в случае попадания такого пароля в руки злоумышленника, мы действительно сильно упрощаем задачу как минимум для перебора. Если известная статичная часть, то подобрать небольшой хвостик не сложно.

                Про KeePass абсолютно согласен. У меня паролей 300 и все разные. Ни один я сам не знаю. Единственное узкое звено — сама база.
              +1
              image
                –1
                Хватит вводить людей в заблуждение этой картинкой! correcthorsebatterystaple подбирается за 8 часов на стандартном железе.
                  +3
                  Можно назвать это стандартное железо, способное перебирать 36 миллиардов паролей в секунду?

                  В статье выше, если что — более слабые пароли.
                    0
                    Если основываться на zxcvbn, то за 8 часов подбирается хеш для «correcthorsebatterystaple» со скоростью 10 млрд. в секунду (а эту скорость перебора может обеспечить даже среднего уровня GPU) — пруф (описание кластера из 25GPU мощностью 348 лярдов\сек).

                    Вы можете сослаться на «пробел» между словами. Но в специальной атаке на данный тип паролей это не играет никакой роли. Тогда мы начнем заменять пробелы спец-символами, но тогда мы уходим от постановки «надежный и запоминающийся пароль» в «надежный и не запоминающийся».
                      +1
                      Я не про железо клиента. Я про железо сервера, способного выдержать 36 миллиардов запросов в секунду. Да, база может утечь, но тогда ломать bcrypt. Пример с windows-паролями не сильно применим к нормально реализованным системам.

                      Пробелы между словами роли в correct horse battery staple не играют. Это — случайные 4 слова из словаря в 2048 слов, по символам они не подбираются (иначе время подбора было бы астрономическим). Комикс предполагает, что у атакующего точно тот же словарь и он знает алгоритм составления пароля.

                      В статье алгоритм чуть сложнее, но если атакующий узнает алгоритм (например, утекут plaintext пароли с 2-3 сайтов) — он запросто подберёт пароль к остальным, поскольку бит случайности около нуля. Это security through obscurity.
                        0
                        Комикс призывает пользователей использовать пароли из, как вы сказали, «случайных 4 слов из словаря в 2048 слов».
                        При этом отмечая, что «взлом украденного хеша быстрее, но среднестатистический пользователь не должен об этом беспокоиться».
                        Но по печальной тенденции, именно об этом пользователю и нужно беспокоиться больше всего.

                        Вариант с перебором отправкой запросов серверу вообще кажется дикостью, едва ли данный метод вообще используется «серьезными кибер-преступными сообществами».
                          +1
                          По печальной традиции пользователю стоит еще беспокоиться о том, что его пароли могут лежать в базе в открытом виде, вообще. Но какой смысл в этом, действительно? Если база утекла, то все, очевидно, что пароль нужно менять в любом случае. А чтобы подобные проблемы не вызвали катастрофические последствия, нужно позаботиться, чтобы пароли на всех сайтах были разные.
                          0
                          По поводу bcrypt — далеко не всегда даже просто соль используется при хранении, не говоря уже об адаптивных свойствах шифрования. Тот же Drupal, например, использует по умолчанию просто SHA с солью, утверждение «тогда ломать bcrypt» — весьма далеко от реальности.
                          0
                          zxcvbn как-то странно считает энтропию.
                          Например, пароль fmbftpcntp — это 10 симвловов, мощность 26^10 ~ 10^14
                          А калькулятор этот пишет guesses_log10: 10
                            0
                            Сам спросил — сам ответил:
                            github.com/dropbox/zxcvbn/commit/d20704b7328b10ec6eef0e4b204893c1a8e6ed0a
                            Цифра занижена, т.к. на практике придумываются не случайные пароли, а пароли, которые выглядят случайными. А брутфорсеры строят статистические модели и активно используют их при подборе. Простейший вариант — таблица вероятности появления символа от его положения в пароле (многие любят добавлять число в конец) или таблица вероятности появления символа от значения двух предыдущих символов (да-да, так называемые человеко-читабельные пароли)
                      –2
                      Кажется такое мог нарисовать только гуманитарий. Не представляю, как можно запоминать сотни диких историй про говорящую лошадь и батарею со скобой. Неужели слово «правильно» в начале примера очевиднее замены символов? Расчёты сложности подбора тоже выглядят бредово, одно словарное слово должно примерно соответствовать двум символам из первого примера. Т.к. кто сказал, что общее слово в нём полное и осмысленное? Почему дополнение обязательно двузначное? Шаблонов может быто очень много, поэтому перебирать их в реальности бессмысленно и сложность будет 2^6^11 на самом деле.
                        +1
                        Слово в первом примере считается словарным, ибо несловарное запомнят только роботы. Отсюда и расчёт числа бит: сейчас практически любой переборщик умеет искажать словарные слова подобным образом вместо того, чтобы делать честный брутфорс.

                        Вообще, этот комикс разобран десятки раз.
                      +4
                      «сорок тысяч обезьян в жопу сунули банан» (с)
                        +3
                        Сам генерирую разные пароли на всё и другим советую. KeePass отлично справляется с этой задачей, остается выучить и запомнить лишь один сложный пароль от базы данных с остальными.
                          +2
                          Да. Но — работает до тех пор, пока не словишь трояна, заточенного на воровство паролей из KeePass.
                            0
                            Если словишь трояна, то и запоминание не поможет.
                              0
                              Есть разница между потерей вводимых паролей и потерей всех паролей. Поэтому я никогда не сохраняю пароли в браузере. Тем более, что большинство троянов не ставят кейлоггер, а просто собирают сохраненные пароли из известных мест.
                                0
                                Не понял, при чем тут браузер, мы говорили о KeePass.
                                А как троян похитит шифрованную базу паролей?
                                Да никто, из тех, кто пользуется менеджерами паролей, не сохраняет пароли в браузере.
                                  0
                                  Самый простой метод — пропатчить KeePass. Или exe-шник, или образ в памяти. Или, как вариант, все-таки использовать кейлоггер, который распознает окно аутентификации KeePass.
                                    0
                                    Самый простой?
                                    Так для этого надо админские права, как минимум.
                          0
                          Исследователи использовали группы видеокарт, чтобы взломать восьмизначные пароли и пришли к выводу, что для этого достаточно двух-трех часов.

                          Да, но только для ресурсов, к которым есть полный и быстрый доступ (зашифрованные файлы/etc).
                            +5
                            Сложная логика… Я делаю проще (раньше пользовался тоже apg, потом стало легче делать пароли самому): Берем любую программу по генерации pronounceable passwords (FIPS181 например умеет APG или LastPass), генерим 10-15 паролей длины 10 и более — нам нужны просто «pun» кусочки слов (которые звучат похоже на нормальные слова, но пишутся немного по другому):

                            veromytoribu *
                            aingernomper
                            omislectokah
                            roantermense *
                            oventiestute
                            isauncerinym
                            gularafghnol
                            stoadarymind *
                            inderidequac *

                            Копируем их в любой текстовый редактор и просматриваем — нам надо выбрать 3-4 понравившихся или ассоциирующихся с чем-то кусочка, длиной от 3 до 5 (или что вам удобно запоминать). Например из списка выше:

                            verom
                            quac
                            mense
                            darym

                            Потом составляем пароль следуя неким придуманым простым правилам типа:
                            1. Первое слово всегда с заглавной буквы.
                            2. Слова разделяются одной цифрой,
                            3. Если цифра четная или 7 — следующая буква тоже заглавная,
                            4. В конце ставим заглавную цифру (запоминаем как цифру но нажимаем с шифтом)

                            некоторые слова можно отредактировать немного для удобства запоминания изи заменить цифры на простые символы. Итого получаем:
                            Verom2Quac-mense1darym(

                            ну или если есть квакерское прошлое:
                            Veerom2Qaud-mense1daril(

                            Итого
                            0. Стойкий, проходит все проверки т.к. есть 4 типа символов, длина подбирается персонально, обычно получается не меньше 12-16 символов

                            1. Удобно произносится, легко продиктовать по телефону
                            «Veerom (two) Quad dash mense (one) daril (NINE with shift)»

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

                            3. Можно некоторые слова или начала слов записать в password hint без особого компромиса безопасности имхо, я бы вписал что-то типа «v=>q-m1d9» — не дает много знаний о пароле но дает ключевые подсказки и позволяет быстро вспомнить пароль по составным словам.

                            4. Очень легко генерить любое количество паролей и регулярно менять их, не надеясь на предсказуемость\удобство генераторов.

                            5. Через некоторое время вырабатываются любимые pun слова, из которых собираете throw-away пароли для всяких сайтов на один раз.

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

                            Удачи и безопасности в сети.
                              +4
                              Одна беда только.
                              Когда придумаешь хороший пароль со спецсимволами типа «DdfwW@A-gfFGH%*brfF),///\mnNc», то тебе тут же прилетает «Извините, ваш пароль недостаточно стойкий, потому что там нет цифр». Или: «Ваш пароль слишком длинный», или — «Извините, используются запрещённые символы»
                              И тогда все эти пароли из статьи типа «banana-16-q1» или «nsmsms=3-25=j3» не имеют смысла
                                0
                                Из-за того, что один сайт не даёт поставить удобный и надёжный пароль, не следует совсем отказываться от таких паролей.
                                +2
                                Чтобы сделать пароль уникальным для каждого сайта (без необходимости его записывать) можно добавить название веб-ресурса в его конец.
                                Достаточно одного скомпрометированного пароля и все остальные станут пустышкой.
                                  –2
                                  и все остальные станут пустышкой

                                  Остаётся найти акки человека на других сайтах. Не все используют один ник везде.
                                    –1
                                    … до тех пор, пока название веб-ресурса добавляется к сайту в неизменном виде.
                                    Если производить какое-нибудь преобразование — желательно такое, которое легко выполняется, и при этом сложно разгадать алгоритм, зная только одну пару — тогда один утёкший пароль не скомпрометирует остальные.
                                      +1
                                      Не нужно увлекаться преобразованиями. Сколько их можно придумать? Ну пусть 4000. Это равносильно дописыванию в конец пароля двух случайных символов.
                                    +1
                                    Я вот чего не понимаю — почему все проблемы с безопасностью паролей валят на пользователей, а не на разработчиков сайтов?

                                    Почему вместо использования стойкого алгоритма хеширования паролей (того же bcrypt) пользователей заставляют придумывать пароли от 8 символов с заглавными-строчными-цифрами-спецсимволами?
                                    Почему я не могу использовать пароль из 4 символов для сайта, где ничего ценного нет и никогда не будет?
                                    Почему мало кто делает систему обнаружения взлома аккаунта?

                                    В качестве дешевого и сердитого метода можно использовать тот же OAuth2, где провайдеры сами управляют аккаунтами, а некоторые из них (тот же гугл) предлагают и двухфакторную аутентификацию.
                                      0
                                      Потому что единственная вещь, в которой может быть уверен пользователь — это то что он сам позаботился о своей безопасности. В большинстве случаев никаких методов контроля за тем, что делает разработчик у пользователя нет, поэтому сваливать безопасность паролей на разработчиков хоть и привлекательно, но совершенно неконструктивно. Кроме того, было бы странно читать рекомендации для разработчиков использовать OAuth2 в статье для пользователей, особенно учитывая то, что разработчики, не собирающиеся использовать OAuth2, никуда не исчезнут, равно как и то, что их сайты, тем не менее, могут быть полезны.
                                      0
                                      По первым буквам в любимом четверостишии стихотворения/песни. На другом сайте — другое четверостишье. А если еще с капсом и в английской раскладке — вообще секурно.

                                      Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                      Самое читаемое