Однако прежде, чем рассказывать о принципах новой системы, предлагаю познакомиться с контекстом. Работает ли творческая мысль над тем, чтобы облегчить жизнь владельцам паролей? Оказывается, вовсю работает! Парольная и ПИН-кодовая проблематика живейшим образом обсуждаются в изданиях и форумах по инфобезопасности. Правда, рекомендации «как придумать запоминающийся, но трудно угадываемый пароль» чаще всего тривиальны, а главное, однообразны. В лучшем случае, советуют что-то вроде этого:
— запоминать не слово, а фразу (но как запомнить, какую фразу вы запомнили? [Я когда-то честно запомнил для использования банковской карточки длинную фразу — и был страшно разочарован, узнав, что при контроле используются лишь четыре первых символа]);
— обессмыслить эту фразу каким-нибудь простым способом — выбрасыванием гласных, например;
— полученный набор букв превратить в последовательность цифр при помощи таблички соответствия, «цифрового алфавита» (а вот его придется запомнить, или записать и запомнить, где записали, и не забыть эту запись в нужный момент иметь под рукой).
Цифровой алфавит — штука, мягко говоря, не всегда интуитивная. Пример соответствия цифр и букв дает таблица 1.
Цифровой алфавит может быть полезен в нередко встречающейся ситуации — когда не вы придумываете пароль, а его придумывают за вас. Карточные ПИН-коды как раз такой случай, и далеко не самый трудный. В литературе можно найти рекомендации по запоминанию несравненно большего объема данных. В книгах [2], [3] имеется масса правил и методов для запоминания информации вообще и цифровой информации в особенности — в том числе и технологии, выходящие за рамки классической мнемоники (включая знаменитые «карты памяти», mind maps). Для примера, вот один из рекомендуемых способов запоминания цифровых последовательностей (так он описан в [4], со ссылкой на [3]):
1. Преобразовать данную последовательность цифр в последовательность согласных букв по цифровому алфавиту (в нашем случае "1" преобразуется в "Т" или "Д" по выбору пользователя, 6 — в "Ш", "Щ" или "Ж", и т. д.).
2. Между полученными согласными навставлять гласных таким образом, чтобы возникла осмысленная фраза на русском языке.
Эту фразу и надо запомнить, после чего мы попадаем в условия приведенного выше примера («запоминать не слово, а фразу…») и в нужный момент восстанавливаем последовательность цифр (имея под рукой или в голове таблицу 1).
Увы, увы — второй пункт не всегда выполним ([4]). Но когда он выполним, результаты поистине замечательны! Какая прелесть получается при умелом применении этого метода, можно увидеть в таблице 2. Жирным шрифтом выделены согласные — они получены отображением цифр в буквы при помощи цифрового алфавита. Гласные добавлены по вкусу. Больше всего мне понравилось про Юру Лесина — тем более что в памяти у многих зашиты и поэт Евгений Лесин (главред «НГ-Exlibris»), и недавний министр печати Михаил Лесин. В результате мы с вами неизвестно зачем прочно запомнили код 450285474389 (хорошо хоть, что в неявной форме).
Впрочем, насколько прочно запоминаются такие фразы, может ответить только опыт. Зато сразу ясно, что их придумывание — дело весьма творческое. Неоднозначность еще на этапе выбора согласных букв играет огромную роль в успехе всего предприятия. Многие ли пользователи готовы пойти на такие усилия? Судить не берусь, но косвенные данные, как ни странно, наводят на мысль, что таких может оказаться совсем не мало. Так, всемирный гуру информационной безопасности, часто упоминаемый на наших страницах Брюс Шнайер (Bruce Shneier) приходит к выводу, что с течением времени пользователи начинают все более серьезно относиться к выбору паролей.
Недавно Шнайер проанализировал (и в середине декабря 2006 года опубликовал результаты на www.wired.com/news/columns) 34 тысячи паролей пользователей MySpace, которые ему переслали «коллеги» (вероятно, по невидимому фронту). Эти пароли были захвачены некими злодеями в результате простейшей фишинговой атаки, после чего попали к коллегам Шнайера. Вот двадцать самых популярных:
password1, abc123, myspace1, password, blink182, qwerty1, fuckyou, 123abc, baseball1, football1, 123456, soccer, monkey1, liverpool1, princess1, jordan23, slipknot1, superman1, iloveyou1, monkey
На первый взгляд — где же прогресс? А прогресс, например, усматривается в том, что хотя «password1» и самый популярный пароль, но его использовали все-таки лишь 0,22% пользователей (добавим, что данные относятся лишь к тем, кто попался на простейший фишинг, а значит, от менее доверчивых можно ожидать и большей серьезности в паролях). Средняя длина пароля довольно велика — восемь символов, и это тоже шаг к надежности. Шнайер оптимистически сопоставляет нынешние результаты с исследованиями 1989 и 1992 годов — тогда фантазии пользователей хватило всего на 6,4 и 6,8 символа соответственно. Защищенность повышается и от того, что 81% паролей содержат и буквы, и цифры, и лишь менее 4% — просто слова из словаря.