Как хранить свои пароли?
Правильно хранить свои пароли всегда было важно.
Но сейчас, когда количество сайтов с авторизацией растет с каждым днем, и доступ к ним требуется с различных устройств, это становится все более и более актуально.
Проблема
Я пользуюсь специальной программой для хранения своих паролей и важных данных – eWallet. Еще 3-4 года назад я выбрал эту программу и с тех пор добавляю туда все свои важные данные. eWallet всем хорош и удобен (есть версии для PC, iPad и iPhone), кроме не совсем удачной интеграции с современными браузерами. Всё бы ничего, но количество данных постоянно растет из-за того, что большинство сайтов изобретают велосипед непременно хотят иметь свою собственную систему регистрации пользователей. Поэтому вводить пароли на сайты становится жутко не удобно, это можно пережить если нужно постоянно логиниться только на 2-3 сайта, но когда их намного больше, то возникают уже существенные неудобства.
В результате этого у меня появились парочка паролей, которые я использую для важных аккаунтов в Интернете и парочка паролей для всех остальных. Эти пароли я выучил и набираю вручную (или запоминаю в браузере на определенной машине) для доступа к сайту. Т.е. из-за неудобной интеграции eWallet с браузерами я перестал использовать уникальные пароли для каждого сайта.
Казалось бы ничего страшного, но на днях я получил вот такое письмо от Wordpress:
“We recently found and fixed a mistake that we’d like to tell you about. Passwords on WordPress.com are saved in a way that makes them extremely secure, such that even our own employees are unable to see your actual password – the one you enter to login to your WordPress.com account. However, between July 2007 and April 2008, and September 2010 and July 2011, a mistake in one of our systems used to find and correct bugs on WordPress.com accidentally logged some users’ passwords in a less secure format during registration.
We’ve updated our systems to prevent passwords from being logged this way in the future, so this will not happen again. We don’t have any evidence that this data has been accessed maliciously or misused, but to be on the safe side we are resetting your password since your account is among those affected.
…
If the password you used when you registered on WordPress.com was one you use elsewhere, you should change it there, too. In the future, remember that it’s good practice to always use unique passwords for different services.”
Мой перевод:
“Недавно мы нашли и исправили ошибку, о которой мы бы хотели вам рассказать. Пароли на WordPress.com сохраняются очень безопасным способом, так что даже наши сотрудники не могут увидеть ваш пароль – пароль, который вы вводите при логине на WordPress.com. Однако, с июля 2007 по апрель 2008 и с сентября 2010 по июль 2011 из-за ошибки в одной из наших систем некоторые пользовательские пароли были сохранены менее безопасным способом во время регистрации.
Мы обновили нашу систему, чтобы предотвратить подобное в будущем, поэтому это не должно случиться снова. У нас нет никакой информации о том, что эти данные (пароли) были кем-то использованы или кто-то мог получить к ним доступ, но чтобы обезопасить вас, мы сбросим ваш пароль, так как ваш аккаунт был среди тех, которые подверглись этой ошибке.
… (дальше идет ссылка на установку нового пароля)
Если пароль, который вы использовали для регистрации на WordPress.com, используется где-то еще, то мы рекомендуем сменить его там тоже. На будущее запомните, что это хорошая практика иметь всегда уникальный пароль для каждого отдельного сервиса (сайта).”
И, конечно же, это был один из моих “постоянных” паролей, которым я пользуюсь для доступа к другим сервисам.
Сменить пароль – это уже напряг, но теперь нужно создать уникальные пароли для каждого из сайтов, чтобы защитить себя от разработчиков подобных сайтов, которые неизвестно как хранят пароли. А с уникальными паролями для каждого отдельного сайта появляется проблема логина на эти сайты, ведь запомнить несколько десятков паролей сложновато :-)
Исследование
Первым делом я посмотрел на аналоги eWallet и что они умеют делать. Нашлось не так уж и много программ, которые мне понравились:
- KeyPass – это open source аналог eWallet. Есть только десктопная версия. Расширения для браузеров существуют, но пишутся они энтузиастами, качество не проверял. Официальной iPad или iPhone версии нет. Поэтому для меня нет никакого смысла менять eWallet на KeyPass.
- 1Password – это довольно интересная разработка, которая изначально была доступна только для связки Mac – iPhone/iPad. Сейчас вышла версия под Windows. Есть официальные расширения для Windows браузеров Firefox и Chrome. Синхронизация через Dropbox. Полная поддержка iPhone и iPad. Но цена меня пока отпугивает – чтобы поставить на всех своих компьютерах, iPhone и iPad мне нужно выложить под 100$… Хотя, судя по демо роликам и описаниям, – это и есть мой идеал :-)
- RoboForm – это довольно известный менеджер интернет аккаунтов. Он больше заточен под заполнение форм и логины на различные сайты. Работает почти со всеми браузерами. Есть версия для iPhone и iPad. Есть возможности синхронизации между различными устройствами, но для этого нужен платный аккаунт, так как бесплатная версия – это больше демо версия.
- LastPass – очень похож на RoboForm, но бесплатный. Есть платная версия с дополнительными плюшками (например, iPhone приложение), но можно спокойно пользоваться и бесплатной версией тем более, что iPad приложение доступно бесплатно. Так же есть веб интерфейс для доступа к данным, что на самом деле довольно удобно.
Есть еще одно важное замечание: все выше приведенные программы, кроме LastPass, хранят данные локально в одном или нескольких зашифрованных файлах. Синхронизация происходит на уровне этих зашифрованных файлов. Поэтому в случае, когда ваш файл попал в руки злоумышленников, то им нужно знать ваш пароль, чтобы узнать информацию о вас.
LastPass хранит данные в облаке (на центральном сервере). И шифрует только ваши пароли. С одной стороны это облегчает синхронизацию и позволяет иметь веб интерфейс, но с другой стороны вам всегда нужен доступ в интернет для доступа к базе паролей и в случае взлома злоумышленники могут получить определенную информацию о вас (Что не скрывает LastPass?).
Решение
Платить ~100 у.е. пока не очень хочется, поэтому решил попробовать следующее:
- eWallet (установлен на все мои компьютеры, iPhone и iPad). Хранение важных данных (кредитки, банковские счета, личная информация, лицензии на программы, всякие бонусные программы и т.д.). Это информация мне нужна не так часто, плюс она бывает нужна в офлайн сценариях, например, вспомнить пин код для сим карты или кредитной карточки, когда путешествуешь.
- LastPass (установлен на все мои компьютеры для нужного браузера и iPad). Хранение интернет аккаунтов, которые могут быть доступны только в онлайн сценарии. Отсутствие iPhone версии не сильно напрягает (пока), потому что в основном все нужные сайты имеют отдельные приложения для iPhone, а версия для iPad доступна. Интернет аккаунты – это мой основной источник проблем, так как их бывает нужно вбивать по несколько раз в день, плюс они должны быть всегда доступны на разных компьютерах – особенно если каждый пароль уникален для каждого сайта.
В интернете у меня куча разных аккаунтов, но самым важным из них является Google аккаунт, так как это мой основной е-мейл, поэтому хранить пароль от него в облаке для меня не очень комфортно. Но благодаря Google эта проблема решается (см. пункт 3). - Google 2-step verification. Двух шаговый логин в аккаунт. Сначала имя и пароль, после этого мне приходит код по смс, который и нужно ввести на втором шаге для успешного логина. Поэтому злоумышленнику теперь нужно не только знать ваш пароль, но и иметь доступ к вашему телефону, что значительно усложняет задачу.
В результате всё выглядит довольно неплохо. Все важные данные хорошо защищены и доступны в офлайн (eWallet). Каждый веб сайт получает свой уникальный пароль, так что в случае проблем с одним из сайтов, нужно будет поменять только один пароль. При этом появляется удобство работы с кучей интернет аккаунтов (LastPass). Плюс дополнительная защита для основного е-мейл аккаунта, который хранится в LastPass, с помощью двух шаговой верификации от Google.
Резервное копирование и синхронизация
LastPass – синхронизация происходит автоматически, так как база данных хранится на центральном сервере. При добавлении нового аккаунта делаю экспорт всех аккаунтов в текстовый файл и сохраняю его внутри eWallet.
eWallet – синхронизация между компьютерами происходит через Dropbox. iPhone и iPad синхронизируются c одним из компьютеров по WiFi. Раз в неделю происходит автоматическая синхронизация файлов из Dropbox на внешний диск.
Таким образом вся информация доступна на нужных мне устройствах и в случае проблем с одним из облачных сервисов (Dropbox, LastPass) всю нужную информацию можно будет восстановить с внешнего диска.
Полезные ссылки:
- eWallet - http://www.iliumsoft.com/ewallet
- KeePass - http://keepass.info/features.html
- 1Password - https://agilebits.com/products/1Password
- RoboForm - http://www.roboform.com/
- LastPass - https://lastpass.com/
- Using 2-step verification - https://www.youtube.com/watch?v=zMabEyrtPRg
- Что не скрывает LastPass? - http://habrahabr.ru/blogs/infosecurity/123567/
Привет, Юра!
ОтветитьУдалитьПредлагаю тебе как вариант, чтобы не запоминать пароли к малозначительным сайтам, придумать вариант создания пароля основываясь на данных сайта. Например: название сайта, но наоборот; 3-я, 4-я и последния буква в названии сайта плюс числовой код и т.д. :)
Руст.
Привет, Рустам!
ОтветитьУдалитьЭто тоже неплохой вариант, но каждый раз нужно "генерить" этот пароль в голове перед логином, что замедляет доступ :-) Плюс имя пользователя не всегда удается выбрать то, которое нравится. В результате, на одном сайте это емейл, на другом никнейм-1, на третем никнейм-2, так как первый уже занят и так далее.
Я пока тестирую свою систему и пока вроде бы всё работает без проблем. Посмотрю если со временем выявятся какие-нибудь неудобства.
Юра.