Удобные пароли для полиглотов +1




Здравия, хабралюди! думаю, многие помнят бородатый анекдот:

Однажды товаровед Валенька ушла на обед, не заблокировав 1С.
«Добрые» коллеги, шутки ради, добавили от имени Валентины накладную:
«Получено: Наручники стальные, с розовым мехом (BDSM) — 3 шт, ц.: 10000 р., сумма: 30000 р.»
А после была в этом офисе ревизия, и долго ревизоры допытывались:
«Зачем в офисе розовые наручники, и куда они пропали?»


Могу предположить, что Валентина, из анекдота выше, не заблокировала программу потому, что она не помнила пароль, и потому не хотела утруждаться, вспоминая его. А на картинке ниже приведён способ создания запоминаемых и надёжных паролей. Я его немного расширил, применительно к своим навыкам.


Надёжность паролей, взято с XKCD.com .

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



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

Вот для того, чтобы пароль было одновременно и сложно подобрать, и лёгко в запомнить (для меня, естественно) я придумал и лет одиннадцать уже использую следующую простую схему создания / сочинения паролей, она проста, поскольку состоит из четырёх пунктов:

  1. Сначала мы придумываем мнемонику (фразу для запоминания), например «Серёга крутой хакер»;
  2. Затем переводим каждое из трёх слов на разные (знакомые Вам) языки, у меня вышло так: «Серёга» (оставим на русском) + «?атти?» (по-узбекски, я не знаю современную орфографию узбекского, которая на латинице) + «hacker» (англ.);
  3. Далее всё, что записано не латиницей — транслитерируем: «Seryoga» + «qattiq» + «hacker»;
  4. Теперь немного исказим текст: «Ser#gaQat7iqX@ker». Готово.

Достоинства метода:

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

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

Источники:

List of Rainbow Tables
Хит-парад паролей

UPD: В комментариях отметили, что не приведён алгоритм искажения (четвёртый шаг), исправляю свою оплошность:

  • Ё/yo меняю на #;
  • Английские «ch» — на «c»;
  • Первую букву «h» меняю на «x», остальные «h» — оставляю неизменными;
  • Последнюю «a» меняю на "@";
  • вторую «o» -> ноль «0»;
  • вторую «t» -> «7»;
  • вторую «s» — $.

К примеру: «PasswordCarol» -> «Pas$wordC@r0l».




Комментарии (61):

  1. evil_me
    /#21932462 / +3

    Допустим, я отказался от случайной генерации длинных паролей, их хранения в хранилке и решил позапоминать. Вопрос: по какому правилу «немного искажается текст»?


    Если правило постоянное, то стоит его описать в посте. Если случайным образом и по настроению — то пароль всё равно придётся долго запоминать, и это отстой.

    • svboobnov
      /#21932730

      Полагаю, что правило икажения Вы придумаете для себя, именно такое, какое удобно Вам.

  2. lair
    /#21932598 / +1

    И главное — пароль легко запомнить

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


    Так что менеджер паролей все еще лучше.

    • svboobnov
      /#21932760

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

      Так что менеджер паролей все еще лучше.

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

      • lair
        /#21932770

        Правило искажений придумывайте сами

        Ну и получим ровно картинку с третьего кадра.


        Штук двадцать самых используемых сайтов я помню именно в виде мнемоник.

        Но зачем, если я их никогда не ввожу руками?


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

        А я просто помню пароль от учетной записи наизусть. Потому что менять их раз в три месяца никаких мнемоник не напасешься.

        • svboobnov
          /#21932796

          Но зачем, если я их никогда не ввожу руками?

          А был вынужден вводить. Иногда приходилось работать на компьютерах/ноутбуках на которых не было возможности установить мою хранилку (на рабочем месте у меня был настольный ПК, а на выезды давался преднастроенный ноутбук). И надо было либо возить с собой блокнот с паролями, либо держать пароли в голове.
          Кстати, спасибо за вопрос, я как-то не подумал написать, почему эта система возникла, и какие проблемы решала/ет.

          • lair
            /#21932804

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

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

            • svboobnov
              /#21932822

              В 2009 году у меня не было КПК или смартфона, мне они казались ненужными игрушками.

              • lair
                /#21933198

                С 2009 года ситуация несколько поменялась, поэтому и удобство подходов полезно пересматривать.

  3. polearnik
    /#21932620 / +1

    Хоспади. Чем же люди не страдают лишь бы не пользоваться парольными менеджерами.
    ТО один хранит все пароли в текстовом файле в зашифрованном архиве с аргументацией что пароли всегда под рукой
    то второй предлагает какие-то сложные правила формирования паролей на базе названия сайтов.
    Если вам надо сохранить пароль то следуете плану:
    1) устанавливаете любой понравившийся парольный менеджер. (должен иметь клиенты под вашу ось и мобилу + иметь синхрнизацию)
    2) Придумываете сложный и надежный мастер пароль (парольная фраза или слово записаное LEET ну вообщем проявите фантазию )
    3) все свои пароли генерируете и храните в нем. Даже для одноразовых ресурсов.
    4) при желании обмазываетесь всякими плагинами типа расширений браузеров и пони какающих радугой
    5)…
    5) радуетесь тому чтоб ваши пароли в безопасности.

    • svboobnov
      /#21932766

      Я пользуюсь менеджером паролей, но пароли от самых активно используемых ресурсов/приложений держу в голове.

    • JustDont
      /#21933752

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

      • svboobnov
        /#21933780

        Ну, все пароли можно хранить в 2..N базах, разделив их по уровню критичности.
        А пароли для каждой из баз хранить в голове (моим способом или иным каким), либо в блокноте.

        • JustDont
          /#21933790

          Эта схема перестаёт иметь значимые отличия от схемы «храним в голове правила формирования паролей».

      • polearnik
        /#21934012

        почему это? Ваша база есть на компе. И из-за синхронизации она же есть на мобиле. Ну и еще где-то там в интернете. Возможно на работе у вас еще одна копия.

        • 0xd34df00d
          /#21934896

          GnuPG (для шифрования текстового файла) я доверяю больше, чем синхронизовалке паролей. Тем более, что последние ещё и часто с закрытыми исходниками.

          • polearnik
            /#21936438

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

            Насчет закрытых исходников. keepass вроде как проходил аудит у независимых компаний.

            • 0xd34df00d
              /#21937408

              1. Подавляющее большинство моих паролей генерируется примерно как cat /dev/urandom | head -c 12 | base64 с результатом типа xiCaSh4i+hyhN/js. Успехов запомнить.
              2. Почему-то я в такую ситуацию никогда не попадал. Да и шрифты у меня очень мелкие.

              • polearnik
                /#21937654

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

                Могу уверить вас что камера смартфона отлично запомнит все ваши пароли разом и мелкие шрифты этому совсем не помеха.

                Я считаю что уровень паранойи все же стоит регулировать и остановится стоит где-то посередине между удобством и безопасностью. Хорошие пароли в парольном менеджере с бэкапом и синхронизацией а также 2-factor на критичные сервисы. Остальные методы сильно усложняют жизнь с минимальным приростом безопасности. Если вы считаете что в gnupgp нет багов то вспомнить heartbleed в openssl

                • 0xd34df00d
                  /#21938156

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

                  Потому что в сиутацию, когда данные просто утекали от стороннего провайдера услуг, я попадал.


                  Могу уверить вас что камера смартфона отлично запомнит все ваши пароли разом и мелкие шрифты этому совсем не помеха.

                  Чтобы рядом ещё кто-то со смартфоном стоял — это я уж точно не попадал. Даже не могу себе представить, что мне надо сделать, чтобы в такую ситуацию попасть.


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

                  Это есть — бекапится всё штатным скриптом rsync'ом на две географически разнесённых машины. Синхронизация — ну, когда мне вдруг нужно зайти не с основной машины куда-то, я либо восстанавливаю пароль на почту (от которой пароль я помню), либо ssh'усь на домашнюю машину и смотрю этот самый пароль, смотря что удобнее.


                  а также 2-factor на критичные сервисы.

                  Это уже тоже есть.


                  Остальные методы сильно усложняют жизнь с минимальным приростом безопасности. Если вы считаете что в gnupgp нет багов то вспомнить heartbleed в openssl

                  Баги везде есть, конечно, но gnupg я доверяю больше.

          • svboobnov
            /#21936536

            С зашифрованным текстовым файлом есть проблема: он какое-то время лежит на диске (В «C:\Users\username\Appdata\temp\unencrypted.txt» или "/home/username/.crypter/unencrypted.txt"). И если Ваша машина заражена каким-то трояном, то файл этот может запросто утечь.
            А так, да: GnuPG очень хорошо шифрует.

            • 0xd34df00d
              /#21937412

              Так я не расшифровываю файл на диск, а выгрепываю из него нужный кусок.


              Впрочем, если машина затроянена, то никто не мешает трояну считать мастер-пароль в любом случае.

              • svboobnov
                /#21937830

                если машина затроянена
                Да, и мастер-пароль и БД хранилки утечёт.
                Кстати, и в Linux (seahorse + GPG + дэймон не помню какой) и в Windows (менеджер учётных записей == GUI + служба) есть способ сберечь базу от трояна:
                файл с базой открывает не программа, запущенная от текущего пользователя, а дэймон/служба, запущенная от специальной/системной учётки. А GUI общается с этим дэймоном / службой через DBus(linux) / NamedPipes(win).
                Но я не видел способа взять эту базу на флэшку, чтоб использовать на другом ПК, и не кроссплатформенно.

          • dabar347
            /#21936738

            И что мешает использовать с открытыми исходниками? Тот же keepassxc

  4. Sequoza
    /#21932820

    Надеюсь мне простят небольшое отклонение от сабжа. Насколько разумно хранить бд менеджера паролей в открытом виде?

    • svboobnov
      /#21932830

      Хранить БД менеджера паролей довольно безопасно, у JPasswords, которым я пользуюсь, БД зашифрована, и довольно надёжно. Главное: мастер-пароль от БД придумать стойкий, и менять раз в 3..4 месяца.

      • polearnik
        /#21932886

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

        • svboobnov
          /#21932902

          Хм…, А подкиньте, пожалуйста, быстрые алгоритмы криптоанализа и дешифрования, а я на выходных проведу эксперимент: проверю гипотезу «Влияет ли количество перешифрований алгоритмом TwoFish на время расшифровки БД?».

          • polearnik
            /#21937656

            а что не должно влиять?

            • svboobnov
              /#21937838

              Я, честно говоря, не знаю: при хорошем источнике гаммы должно быть неважно, сколько раз ты гаммируешь (Шифр = Гамма XOR ИсходныйТекст) исходный текст. В идеальном случае, должно хватать и одного прохода.

              • polearnik
                /#21938616

                Множественные проходы делаются для замедления перебора паролей злоумышленником. Причем база шифруется одним алгоритмом а вот ключ формируется другим. Например в keepassxc база шифруется aes256 twofish258 chacha20-256 на выбор а ключ формируется алгоритмом argon2. и для 1 секундной задержки циклов преобразования достаточно всего 15

      • asmolenskiy
        /#21932910

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

        • svboobnov
          /#21932972

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

          Хорошая мысль, но у меня не прижилось.

        • Sequoza
          /#21933274

          Например можно в качестве паролей использовать хэш

          Если можно, поясните пожалуйста. Вы предлагаете хранить архив с файлами(Sitename1, sitename2, sitename3), а пароль к ним это хэш сумма этих файлов. Я правильно понял?

          • svboobnov
            /#21933336

            Насколько я понимаю, принцип такой:
            Храним строки вида
            Vasya@https://habr.com
            Vasya@https://vk.com,
            а, в качестве пароля к этим ресурсам, используем хэши (части хэшей) этих строк.

          • asmolenskiy
            /#21933476

            Ну во первых оговорюсь — это вопрос ценности информации которую Вы защищаете.
            Если речь о аккаунте в соц сети — тут за глаза хватит и менеджера паролей.
            Если пароль от ИБ в котором лежит куча денег — то можно упороться по полной программе:
            — завести удаленный сервер, например на AWS
            — кинуть в него SSH-туннель и ходить через этот прокси — чтобы никакой супостат в виде трояна на Вашей машине или СОРМ у оператора не мог его перехватить
            — написать портабл хэшер и держать его на флэшеньке. Хэшер может быть например банальная CRC32 но с нестандартным полиномом и подменой каких-то позиций на спецсимволы.
            — на своей машине держать файлик в котором логин и пароль будут — login и password. Чтоб повысить градус параноии — держать их в менеджере паролей.
            — далее эти login и password скармливаете своему хэшеру и получате реальные логин и пароль который копипастой вставляете в браузер который по шифрованному соединению передает их через американский сервер в банк =)

            • Sequoza
              /#21933556

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

              • asmolenskiy
                /#21933596 / -1

                Ну — доля разумного в этом есть ))). Хорошо бы если бы счет с кучей денег не был с Вами явно аффилирован — да.

  5. ClearAirTurbulence
    /#21932940

    перь немного исказим текст

    Напоминает комикс про рисование совы.

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

  6. Proxy_Siemens
    /#21933066

    Не всегда такое помогает

  7. IgorGIV
    /#21933428

    Все же помнят классический пароль: «сорок тысяч обезьян...»? :)

  8. Revertis
    /#21933436

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

    Я пошёл дальше и написал расширение:
    addons.mozilla.org/firefox/addon/art-password
    В нём я добавил сокрытие большей части пароля, вставку в активное поле на странице и соль, задаваемую в настройках. Даже если кейлоггер подсмотрит мастер-пароль ему надо будет ещё угадать соль, никогда не набираемую.

    К нему есть программка для Андроид (даже без разрешений на интернет и т.п.):
    play.google.com/store/apps/details?id=com.revertron.art_pass

    • svboobnov
      /#21933610

      Revertis, asmolenskiy Вообще-то у хэшеров есть неудобство:
      Если Вы меняете мастер-пароль, то вынуждены менять пароли сразу на всех ресурсах (а это и сайты в Интернет, и служебные программы/ базы данных и прочее).
      Вот ежели у Вас 150 учётных записей захэшированы в одном списке, то задолбаетесь менять 150 учёток.

      • Revertis
        /#21933700

        А зачем менять мастер-пароль для всех сайтов?
        Если какой-то сайт нуждается в смене пароля, просто достаточно в конце мастер-пароля добавить 1, потом 2, потом 3 и так далее. И во всех этих случаях пароль будет полностью новым. И для вас не составит труда запомнить, что на каком-то условном альфа-банке у вас 2 раза сменился пароль. А для остальных пусть будет старый.

        • svboobnov
          /#21933788

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

          • Revertis
            /#21933796

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

          • Sequoza
            /#21934216

            Если мастер-пароль утёк и вы не узнали о факте утечки, все пароли скомпрометированы. Какой смысл тогда менять мастер-пароль? В идеале, на мой взгляд, ресурсы предоставляют апи, с коротым взаимодействует пасс менеджер. Последний в свою очередь генерит пароль N раз в K дней.

  9. Germanjon
    /#21933646

    «?атти?» (по-узбекски, я не знаю современную орфографию узбекского, которая на латинице)

    Будет «Qattiq».

    Чем Ваш метод принципиально лучше метода «Берём фразу и транслитируем её?»
    Например: "Большие города, Пустые поезда" --> "<jkmibt ujhjlf? Gecnst gjtplf".
    Если внутри будет несловарное слово, то вообще красота.
    Ну это на случай, если не хочется пользоваться менеджером пароля.

    • svboobnov
      /#21933692

      Если внутри будет несловарное слово,

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

      • Germanjon
        /#21940822

        Топоназвания из числа очевидных не из числа популярных: "Хочу искупаться в Горенке"
        Ругательные слова и словоформы.
        Искажения имён собственных: "Кирюха — козёл!"
        Компьютерные термины: "Надо сделать чмод на серваке"
        и тд…

    • v1000
      /#21934986

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

      • Germanjon
        /#21940824

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

  10. svboobnov
    /#21937894

    Вот попалась штука: Пастильда.
    Аппаратный менеджер паролей, втыкается в разрыв USB между ПК и клавиатурой и управляется с клавиатуры же.
    Не думал, что эта статья меня в такие дебри заведёт…

  11. Greendq
    /#21937906

    Примерно по такой же схеме я похоронил 0.18 BTC :) Там тоже был длинный и мнемонический пароль :)

    • vis_inet
      /#21941004

      Почему нельзя было распечатать на бумажке и положить куда-нибудь?

      • Greendq
        /#21942058

        Бумажки имеют свойство теряться или попадаться кому-нибудь на глаза. А если там только пароль — то в итоге будет 105000 бумажек с непонятными словами.

  12. Coline
    /#21944526

    Всё это, конечно, хорошо, но есть одно но — многие сервисы не позволяют использовать спецсимволы (@#$%^ etc), а один, если я правильно помню, даже наоборот заставляет их использовать (госуслуги).

    Никогда не использовал менеджеры паролей. Лично я придумал и пользуюсь, наверняка не уникальной, системой генерации уникальных паролей под каждый сервис.
    Если сервис однодневка или представляет околонулевую ценность для злоумышленника (например сервис с бесплатными онлайн курсами. Что он мне сделает, задачи за меня решать будет?), то используется один и тот же пароль для простоты. С более важными сервисами использую примерно такую схему.
    1) придумать мнемонику. Например, 741852963 — пройтись по нумпаду сверху вниз, слева направо. Я пользуюсь одной единственной для всех паролей
    2) разбавить мнемонику буквами, выбрав расположение и case букв. Например, 7Q4w1e8r5T2y963. Позиция букв между цифрами и на каких позициях upper case это фиксированная для системы информация
    3) подставить в выбранное расположение и case буквы, имеющие отношние к сервису. Если одна компания имеет единый аккаунт на сервисах с разным названием, то в буквах использую название компании. Если нет, то url сайта. Т.е. должно получиться что-то вроде 7H4a1b8R52963
    4) придумать фиксированное натуральное n и сделать смещение шифром Цезаря для букв. Получится что-то вроде 7K4d1e8U52963

    У подобной системы полно плюсов:
    1) Всегда можно восстановить пароль если забыл
    2) Уникальный пароль под каждый сервис
    3) Для компрометации системы один и тот же злоумышленник должен заполучить несколько паролей, что бы увидеть закономерности, а для это ограничивает количество способов, которым может быть скомпрометированна система — например, утечка паролей на каком-нибудь сайте, как это часто происходит, где они хранились в открытом виде, не скомпромтирует. А вот какое-нибудь шпионское по, которое зафиксирует ввод нескольких паролей позволит при желании скомпрометировать
    4) Система допускает генерацию нового пароля при необходимости — если стало известно об утечке паролей на сервисе или если сервис прекращает работу дейтсвия пароля со временем, требуя изменения (qiwi например). Можно просто делать n + 1 для шифра Цезаря

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

    • svboobnov
      /#21944536

      Тоже любопытная система, спасибо.
      Однако, на планшетах/смарфонах и на субноутбуках нет клавиатуры с нумпадом. Мне вот лень запоминать порядок цифр на нумпаде.
      Для планшетов и смартфонах можно подобрать программную клавиатуру, конечно.