Как безопасно хранить пароли?

Количество паролей неуклонно растёт: интернет-магазины и форумы, социальные сети, банковские карточки, почтовые ящики, интернет-банк, платежные системы... Держать всё это в голове не получается, подручные способы зачастую не безопасны и не удобны: записываем в заметках на телефоне и записных книжках, текстовых файлах, стикерах — искать сложно, потерять легко, да и небезопасно. Нужно другое решение... нужен простой и надёжный менеджер паролей. Жизненные ситуации:

  1. У моего папы сгорел телефон, вместе с ним пропали записанные в заметках пароли. Часть паролей получилось вспомнить, часть можно восстановить. В любом случае не стоит хранить пароли в заметках на телефоне из соображений безопасности, но тем не менее многие именно так и делают. Или же записывают пароли в текстовые файлы на компьютере или в заметки evernote и т.д. Что не только опасно, но так же требует очень много времени на поиски нужного пароля среди кучи файлов/заметок.
  2. Некоторые знакомые пароли нигде не записывают, а так как их очень много они либо имеют 1-2 стандартных пароля на все случаи жизни, что так же очень не безопасно. Либо же приходится постоянно тратить время на прохождение процедуры восстановления пароля, что неудобно и занимает время.

Часто о безопасности впервые задумываются лишь когда уже что-то произошло. В случае со сгоревшим телефоном всё не так страшно, но ведь он мог не сгореть, а пропасть и попасть не в те руки. Когда вы используете везде одинаковые пароли неизвестно на каких сайтах и в каких системах хранится эта информация и кто на самом деле может получить к ней доступ. Если кто-то узнает ваш универсальный пароль от почты, соц.сетей, мессенджеров... Тем не менее проблема запоминания большого количества разноплановых паролей решается достаточно просто. Ребята из службы технической поддержки клиентов у меня на работе уже несколько лет как нашли подходящее приложение: простой и удобный менеджер паролей. Уже больше года я сам пользуюсь этим приложением и сейчас расскажу как оно экономит мне кучу времени. Аналогичных менеджеров паролей вероятно можно найти достаточно много; тот, о котором расскажу я, проверен временем, простой и удобный. И бесплатный :) Итак, для управления паролями я использую приложение KeePass. На компьютере в нем создаётся файл с базой данных паролей, выбирается алгоритм шифрования файла и способ аутентификации. Например, при открытии моей базы запрашивается мастер-пароль:

Окно открытия базы паролей

Окно открытия базы паролей

Альтернативой является использование файла с ключом, но на мой взгляд более безопасен и универсален мастер-пароль. По факту у себя в памяти я держу только три пароля: мастер пароль от базы в KeePass, пароли от почты и интернет-банка. После успешной аутентификации отображается главное окно, в нём три основные области: 1. структура с папками, в которых хранятся пароли 2. перечень паролей в выбранной папке 3. информация по выбранному в перечне паролю

Главное окно менеджера паролей KeePass

Главное окно менеджера паролей KeePass

Все пароли хранятся в одном месте, попадают они сюда как правило сразу в момент регистрации (больше всего в моей базе все-таки именно паролей от веб-сайтов, хотя в KeePass я достаточно много разных кодов храню, например лицензионные ключи от приобретённого ПО). Когда помнить кучу паролей не надо, можно перестать использовать простые для взлома пароли. При добавлении в базу новой карточки по умолчанию по настроенному шаблону генерируется пароль. Конечно можно ввести и свой, но я как правило использую предложенный программой. Настройки моего шаблона по умолчанию предполагают 20 символов:

Настройки для генератора паролей

Пароли получаются действительно сложными (110+ бит), но я же их не запоминаю :) На самом деле в 95% случаев я их даже не вижу: когда необходимо я щелкаю два раза мышкой по звёздочкам пароля из перечня и он копируется в буфер обмена. Через настроенный промежуток времени буфер автоматически очиститься, но я уже воспользовался паролем. Быстро и удобно. Есть плагин для браузера Chrome, который позволяет почти полностью минимизировать действия, необходимые от вас для входа на тот или иной сайт. Для карточек паролей я обхожусь стандартными полями: имя карточки, логин, пароль, ссылка, заметки. При необходимости в KeePass можно создавать пользовательские поля, я этим пока что не пользовался. Для каждой карточки хранится история изменений, можно добавлять вложения и теги, а ещё у каждой карточки можно поменять иконку (так визуально легче отличить карточки определенных типов в общем перечне). На этом можно было бы остановиться, уже получается удобное и эффективное решение. Но мне так же очень важны сохранность самой базы паролей и постоянное наличие её «под рукой», ведь не всегда с собой компьютер, а мало ли откуда и куда доступ понадобится. Мой файл с базой паролей лежит в Dropbox, что позволяет не переживать о его потере в случае утраты ноутбука (в этом случае остаётся переживать лишь о надёжности Dropbox, но это отдельная тема). Dropbox обеспечивает не только автоматическое резервное копирование базы паролей в облако, также именно из него я открываю базу в клиенте на моём iPhone. Вот перечень моих баз с паролями на моём телефоне (личная и рабочая, о не ниже):

Список баз паролей на iPhone

Похоже, что существуют клиентские программы KeePass почти для всех платформ, в том числе для Android и Windows Phone. Для iOS я пользуюсь MiniKeePass, тоже простым и бесплатным приложением. После ввода мастер-пароля я попадаю в структуру своих папок / записей:

Работа с менеджером паролей на iPhone

Из каждой карточки могу скопировать пароль.

Карточка пароля

MiniKeePass в принципе полнофункциональный клиент, т.е. с него можно спокойно изменять/добавлять записи, а затем в настольном KeePass можно воспользоваться функцией синхронизации файлов, она работает очень хорошо. Тем не менее на телефоне у меня пока что возникала потребность только найти и прочитать какой-либо пароль. Резюмируя, KeePass на компьютере и телефоне позволяет организовать единую базу данных ваших паролей при том, что:

  • эта важная и необходимая информация будет всегда под рукой;
  • все данные защищены надежными алгоритмами шифрования;
  • время на поиск нужного пароля минимально;
  • наконец-то можно отказаться от использования простых паролей для интернет-ресурсов.

К слову сказать, уже больше года я использую KeePass в своей команде в ПМСОФТ, обслуживающей множество систем у разных заказчиков по всей стране. Командная работа подразумевает, что помимо обозначенных в начале поста трудностей членам команды необходимо безопасно обмениваться «кодами доступа», чтобы люди могли подменять друг друга и вся команда не зависела от доступности конкретного специалиста. На данный момент мы решили задачу очень просто: положили командную базу KeePass в корпоративную сеть + каждый делает себе локальную копию для удалённой работы, которая вручную (но в обязательном порядке) каждым синхронизируется с «сетевой» базой. Работать стало очень удобно, куча времени перестала тратиться на «скинь мне их пароли! – я тебе отправлял, посмотри в почте – я у себя не нашёл, вышли еще раз – ок, мне тоже нужно у себя найти». К тому же по почте эта информация теперь не пересылается,  что тоже очень хорошо. В свою очередь это конечно порождает главную трудность: в случае увольнения одного из членов команды приходится рассчитывать на его добросовестность, потому что каждый раз у всех заказчиков все пароли не сменить. Впрочем, команда к счастью достаточно стабильна, а сама проблема де факту имеется и в отсутствии «единой базы». Второй трудностью является выработка единых правил ввода информации (как называть карточки, каким типам какие иконки и т.д.), но это уже в данном случае мелочи.