суббота, 20 марта 2010 г.

Пароли и их хранение

До недавнего времени не озадачивался такой проблемой, предпочитая хранить их в голове и причем несколько штук всего, одних и тех же для кучи сервисов и вкусностей.. Но мааааленький взлом моего почтового ящика (которым, кстати, не пользуюсь, служит в основном для регистраций на везде и всюду) поставил эту проблему, так сказать, ребром. Причем, пришлось решать ее быстро и оперативно. Итак, решение:
Менеджер паролей
Пароли должны быть стойкими к подбору. Как брутфорсом (подбор перебором знаков), так и по словарю (некоторые значения, которые, по мнению взломщика, обязательно встретятся в вашей парольной фразе; год рождения например :) Отсюда вывод - пароль должен быть вида zfez9V5gS9TzRp24IPH9 (криптостойкость приведеного в примере пароля 100 бит :) Как же помнить такое чудо? Вот для этого и нужны менеджеры паролей. После долгих поисков методом проб и ошибок остановился на программе KeePass (ветки 1.х). Сайт программы www.keepass.info.


Достоинства:
- открытый исходный код
- версии под все операционные системы и даже для мобильных телефонов :)
- отличный генератор паролей (особенно в Линукс версии, там есть дополнительные вкусности :)
- большой выбор плагинов/модулей
- гибкие настройки (можно выбрать между параноидальной криптостойкостью и производительностью)
- несколько полезностей/вкусностей, которые облегчают работу (автозаполнение, защита буфера обмена и полей ввода, Drag'n'Drop паролей и логинов, portable-версия, нетребовательность к ресурсам компьютера, адекватный русский интерфейс, подробная справка и еще много чего)
Итак, что делает эта программка? Хранит все ваши пары логин/пароль в зашифрованной базе данных. Шифрует так, что если пароль от базы забыл - прощайся со всеми паролями сразу :) Не буду вдаваться в математические подробности параметров шифрования базы с паролями, тем более в программе можно настроить криптографические алгоритмы самому, если уж не доверяешь разработчикам :) В базе пароли удобно распределяются по категориям, сохраняются поля вроде ссылки, логина, пароля, комментария и т.д. При двойном клике на поле "ссылка" откроется браузер с сайтом, при двойном клике на полях логин/пароль поле скопируется в буфер обмена. И очестится сразу после вставки или через определенное в настройках время. А можно и вообще, ткнуть сочетание клавиш, когда браузер откроет нужную страничку, и программа сама сгенерирует последовательность нажатия клавиш вроде: логин - [TAB] - пароль - [ENTER]. Для каждого сайта можно настроить свое сочетание (например снимать галочку "запомнить меня на этом компьютере" :)
Сама база сохраняется и шифруется при помощи мастер-пароля, и/или ключевого файла. Который естественно предложат Вам придумать при первом запуске программы. Вот вроде и все, за остальной информацией можно идти на www.keepass.info, осталась только одна проблема..
Синхронизация базы с паролями
Итак, KeePass установлен на трех компьютерах (домашнем, рабочем и ноутбуке), причем на работе под Windows и Linux. В каком то компьютере завел новый пароль и нужно менять базу на всех машинах.. Пересылка базы по электронной почте достала быстро, пришлось искать решение.. Опять таки кроссплатформенное и бесплатное :)
Нашел - сервис DropBox www.dropbox.com. Вообще-то это сервис сетевого хранения данных. В бесплатном варианте предоставляет два гигабайта свободного места и программку для синхронизации данных. В ней и весь смысл :) Программка имеет место быть в версиях для всех операционных систем. Загружается в фоне и синхронизирует папку на компьютере с папкой в сети. Сохранность и конфидециальность гарантируется хозяевами сервиса, ну да и бог с ними, хранить мы будем у них зашифрованную базу, чтоб ломать которую потребуются усилия пары суперкомпов и не один месяц :) Т.е. на всех своих компьютерах переносите базу с паролями в папку, которую синхронизирует DropBox (только пожалуйста не в ее расшаренную для всех часть, там есть и такая :))) После этого любое изменение на одной машине, будет сразу примененно на всех остальных и в сети. Можно загружать программу от DropBox только при необходимости синхронизации, если есть необходимость экономить память и процессорное время :) Хотя к ресурсам она неприхотливая. Доступ на сервис по инвайтам, на всякий случай вот мой.
Небольшие дополнения
Что добавить к сказанному выше? Есть еще маленькое замечание.. Мастер пароль, да и два-три пароля все равно приходится запоминать. Как их запомнить лучше? Есть очень неплохой вариант, идем на сайт Password Bird и генерируем там пароль по паре простых и понятных фраз, как то: прозвище, ник, кличка собаки и т.д. Из введенных вами данных сайт генерирует смесь фраз, удобных к запоминанию и ничего не говорящих постороннему.. Попробуйте. Довольно удобно. Кстати, в Linux-версии программы KeePass такой сервис присутствует в самой программе.