как придумывать хорошие пароли / how to create good passwords
Администратор БД в своей работе сталкивается с необходимостью использовать множество паролей. Пароль на личной машине, пароли для пользователя oracle на разных unix-машинах, пароли для пользователей sys/system/perfstat/etc на различных базах... Как избежать соблазна использования одного простого пароля для всех account'ов? Надо просто использовать правильную технику придумывания пароля.
Что такое правильная техника?
Рассмотрим сначала пару неправильных техник.
- Когда в качестве пароля используется абракадабра из смеси больших и маленьких букв, цифр и спецсимволов. Такие пароли очень трудно запоминаются, легко забываются по истечение короткого периода "неактивности". Запомнив один раз такой пароль, пользователь будет стремиться не менять его как можно дольше, чтобы не утруждать себя тяжелым запоминанием. Когда надо запомнить около десятка таких паролей (и периодически их менять!), то без знания мнемотехники (которая вовсе не распространена среди пользователей) здесь не обойтись. Вероятность, что пользователь тайком или явно запишет такой пароль на листке, очень высока. Удивительно, как при этом такой пароль может считаться удовлетворительным среди специалистов по информационной безопасности.
- Когда в качестве пароля используется русское слово, набранное на
английской клавиатуре. Запоминается такой пароль легко, но и ломается очень
просто. Для взлома не надо использовать brute-force поиск, достаточно только
использовать dictionary attack. Любая нормальная программа для взлома
паролей может использовать словарь русских слов, набранных в английском
регистре. Более того, дополнительно проверяются варианты (как не требующие
слишком больших усилий) с заменой одного-двух символов в слове. Также, к
примеру, проверяются слова с замененными O на 0, а S на 5.
Частным случаем является использование в качестве пароля ненормативной лексики. Почему-то считается, что взломщик постесняется добавить такие слова в словарь для проверки.
А вот, наоборот, пара приемлимых техник:
- Используйте генератор паролей, который создает бессмысленные, но произносимые пароли. Такая вещь, например, встречалась в SCO Unix. Вот примеры паролей оттуда: ovyetigi (ov-yet-ig-i), upsogaga (ups-og-ag-a). Добавьте к ним одну-две цифры и у Вас уже получился удовлетворительный пароль, который можно запомнить без сверхусилий.
- Если же у Вас нет под рукой генератора произносимых паролей или Вам
просто надо подсказать пользователю, как он может сгенерить хороший пароль,
то используйте следующий прием: возьмите какую-нибудь известную фразу или
составьте её сами. К примеру это может быть "И вновь продолжается бой, и
сердцу тревожно в груди!" или "мы с Михаилом поженились летом 1996 года" или
"Люся, родная, дались тебе эти макароны..." или "в этом году моя дочь будет
поступать в университет." Такие фразы обычно запоминаются мгновенно,
особенно если Вы выстроите минимальную ассоциативную цепочку. К примеру из
первой фразы получается пароль для рабочего места, а из второй фразы
получается пароль для домашнего компьютера.
Теперь возьмите первые буквы фразы (включая цифры и пунктуацию) и составьте пароль. Т.е. из первой фразы получается "Ивпб,иствг!", из второй -- "мсМпл96г" и т.д. Только печатайте, конечно же, в английском регистре. Окончательные варианты будут такими: Bdg,bcndu! vcVgk96u K?h?ln'v/// d'uvl,gde/
Совершенная бессмыслица, которая легко запоминается и очень тяжело взламывается.
Также можно взять за правило ежемесячно менять пароли, используя следующий прием: подумайте пару минут и вспомните самое значительное событие прошедшего месяца. Например: "16 числа муж наконец-то купил мне шубу" или "моя собака подралась с соседской овчаркой Рексом." Составляйте фразу так, чтобы в итоге получилось не менее восьми символов. И в этом месяце используйте соответствующий пароль. Правда, такой прием годится скорее для тех, кому необходимо запоминать не более одного-двух паролей.