Автор: Леонид Левкович-Маслюк
Любопытная разработка специалистов из Института проблем информационной безопасности МГУ (ИПИБ, www.iisi.msu.ru) по легко запоминаемым ПИН-кодам и паролям.
Как долго иногда остаются актуальными старые идеи! Одна из них — использование пароля, безусловно самого распространенного средства защиты информационных ресурсов. Банковским картам, например, хватает коротенького ПИН-кода всего из четырех цифр — удивительно! Однако неустранимый недостаток таких паролей очевиден — их легко забыть. А записывать на бумажке категорически не рекомендуют банки, выпускающие пластиковые карты.
В быстро стареющем обществе проблема запоминания становится особенно острой. Условные «пенсионеры», получающие свои скромные доходы на карточку, сталкиваются с трудностями при попытках запомнить ПИН-код, не записывая его, — да и не пенсионеры, признаемся, тоже. Группа специалистов ИПИБ (Е. Молодцов, В. Ященко, О. Логачев) попыталась обойти запрет на запись. Их система позволяет носить с собой напечатанную на бумаге табличку — нечто вроде ключа к вашему ПИН-коду. Воспользоваться этим ключом может (по замыслу! это все-таки не криптография, и обоснование здесь не математическое, а лишь психологическое) только тот, кто именно с его помощью запомнил свой ПИН-код. Другому человеку обладание этой бумагой не поможет добраться до денег. Более того, такие таблички можно стандартизировать и просто наклеивать на все банкоматы. Тогда даже листочки с собой носить не надо — подошел, глянул и сразу вспомнил все четыре цифры.
Однако прежде, чем рассказывать о принципах новой системы, предлагаю познакомиться с контекстом. Работает ли творческая мысль над тем, чтобы облегчить жизнь владельцам паролей? Оказывается, вовсю работает! Парольная и ПИН-кодовая проблематика живейшим образом обсуждаются в изданиях и форумах по инфобезопасности. Правда, рекомендации «как придумать запоминающийся, но трудно угадываемый пароль» чаще всего тривиальны, а главное, однообразны. В лучшем случае, советуют что-то вроде этого:
— запоминать не слово, а фразу (но как запомнить, какую фразу вы запомнили? [Я когда-то честно запомнил для использования банковской карточки длинную фразу — и был страшно разочарован, узнав, что при контроле используются лишь четыре первых символа]);
— обессмыслить эту фразу каким-нибудь простым способом — выбрасыванием гласных, например;
— полученный набор букв превратить в последовательность цифр при помощи таблички соответствия, «цифрового алфавита» (а вот его придется запомнить, или записать и запомнить, где записали, и не забыть эту запись в нужный момент иметь под рукой).
Цифровой алфавит — штука, мягко говоря, не всегда интуитивная. Пример соответствия цифр и букв дает таблица 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% — просто слова из словаря.
Однако прогресс во вскрытии паролей гораздо более ярок. В ситуации, когда взломщик может работать в офлайновом режиме, то есть подбирать на своем компьютере пароль к защищенному файлу, пароль уже нельзя рассматривать как сколько-нибудь серьезную защиту, утверждает Шнайер и приводит цифры: коммерческая программа для подбора паролей Password Recovery Toolkit (PRTK) могла бы в таком режиме взломать 23% паролей MySpace за 30 минут, а 55% — за 8 часов. Подобные продукты тестируют десятки миллионов паролей в секунду. Причем это далеко не тупой перебор — PRTK пытается интеллектуальными методами угадывать более вероятную структуру пароля, используя современные математические методы и исходя из грамматики и фонетики (английского языка, заметим в скобках).
К счастью, подбирать таким способом ПИН-коды карточек прямо на месте, у банкомата, невозможно. Поэтому на эти четырехзначные коды еще вполне можно положиться, пишет Шнайер в другой интересной колонке, уже январской, которая посвящена методам борьбы против взлома в офлайновом режиме — точнее, приемам замедления взлома до иногда непрактичной скорости. Но к нашей теме, мнемонике, это имеет уже косвенное отношение.
В своей краткой заметке мы не стремимся дать полный обзор современных мнемонических технологий, помогающих запоминать трудные пароли. Мы лишь хотим вместе с читателем составить некоторое представление о них. Поэтому прежде, чем перейти к финальной части, мнемоническим технологиям ИПИБ, — посмотрим, что говорит о роли мнемоники в парольном деле еще один классик теории ИБ, кембриджский профессор Росс Андерсон (Ross Anderson) с соавторами [The Memorability and Security of Passwords (Some Empirical Results), Jianxin Yan, Alan Blackwell, Ross Anderson, Alasdair Grant, Cambridge University Computer Laboratory (download.lawr.ucdavis.edu/pub/CambridgePWStudy.pdf)]. В 1999—2000 гг. они провели вот какое исследование: трем большим группам студентов было дано задание создать разными способами пароль для входа в ОС. Первая группа должна была использовать прямое запоминание случайного набора символов. Вторая — мнемонику: набор символов генерировался как последовательность первых букв запоминаемой фразы. Контрольная группа создавала пароль на основе «нейтральной» рекомендации: любое слово из не менее чем семи символов, содержащее хотя бы одну «не-букву». После того как пароли были введены в действие, исследователи атаковали их несколькими способами, включая полный перебор (если было не более шести символов), использование информации о пользователе, подбор слов из словаря и др. Проверялась как устойчивость к атакам, так и запоминаемость паролей. Результаты таковы:
— народное поверье (термин авторов исследования), что случайные пароли запоминаются хуже, подтвердилось;
— поверье, что пароли из мнемонических фраз труднее угадать, чем наивно выбранные слова, подтвердилось;
— поверье, что случайные пароли прочнее, чем созданные из мнемонических фраз, не подтвердилось;
— поверье, что мнемонические пароли труднее запомнить, чем наивные, не подтвердилось;
— наконец, самое главное «поверье»: использование случайных или мнемонических паролей существенно повышает безопасность. Оно, хоть и с большими оговорками, но все-таки, по мнению авторов, скорее не подтвердилось, чем подтвердилось.
Тем не менее авторы заканчивают свой отчет об исследовании четкой рекомендацией — использовать мнемонические пароли. Ведь они запоминаются так же легко, как наивные, но так же устойчивы, как рандомные. Несомненно, с тех пор проводились и другие исследования подобного рода. Но с одной стороны, классика есть классика, а с другой — в свете последних достижений по подбору паролей вся эта проблематика предстает в совсем ином свете… Поэтому отметим лишь высокую оценку мнемоники в этой широко цитируемой работе и перейдем, наконец, к мнемоническим системам, рассчитанным на задачу запоминания готовых ПИН-кодов.
Главная идея систем, описанных в [4], — избавить пользователя от необходимости помнить не только сам ПИН-код, но даже ключевую фразу или иной словесный «образ пароля». Вот как действует одна из них (находящаяся сейчас в процессе патентования)— по замыслу, особенно удобная как раз для ПИН-кодов. Пусть нам надо запомнить код «1945». Посмотрим на таблицу 3.
Отмеченные слова образуют образ пароля — в данном случае четырехзначного ПИН-кода. Восстановление происходит мгновенно и без всяких манипуляций с цифровыми алфавитами. Просто номера строк, в которых стоят выделенные слова, образуют искомый код.
Но как запомнить эти слова? Это происходит на этапе «ввода пароля в эксплуатацию». Глядя на таблицу, вы запоминаете по слову из каждого столбца. В данном случае из списка деревьев — дуб, из видов дружб — «тесную», из видов начальников — начальника порта, а из Александров — Можайского. По замыслу разработчиков, даже если вы и забыли эти слова по дороге к банкомату, то, взглянув там на таблицу, — вспомните их. Только ни в коем случае нельзя их обводить карандашом в таблице! Во-первых, вся секретность тут же пропадет, а во-вторых, это уже будет неспортивно [Шутка].
Для пользователей разработана целая система таблиц. Точнее, заготовок для них — столбцов, состоящих из заголовка и десяти слов, которые вместе с заголовком образуют связный текст (скажем, Александр [Попов, Пушкин, Суворов, … ]). Из этих столбцов можно набрать массу таблиц, причем нужной ширины (для запоминания более длинных кодов, чем четырехзначные). Наконец— и это намек на некий дополнительный потенциал такой мнемоники, — можно не писать в столбцах слова, а ставить туда, например, картинки (как в детских садах маркируют шкафчики в раздевалках: клубника, яблоко и т. д.), фотографии людей, логотипы компаний.
Разумеется, эффективность этого подхода может подтвердить или опровергнуть только массовое тестирование на практике. На взгляд — идея симпатичная, и судя по поверхностному знакомству с литературой, незаезженная. Для контраста — в недавно выложенной в свободный доступ классической книге Андерсона [1] по ИБ (см. «КТ» ##652, 658) за легкость взламывания критикуется такая рекомендация по мнемонике ПИН-кодов: вписать осмысленное слово в столбцы таблицы 10х4 с номерами из этого ПИН-кода, остальные клетки заполнив случайными буквами (рис. 1). Андерсон оценивает среднее количество осмысленных четырехбуквенных слов в такой таблице в пару дюжин. Поэтому шансы угадать за три попытки нужное слово довольно велики — 1 к 8 (против 1 к 3333, если угадывать сам ПИН-код).
Очевидно, что система, разработанная в ИПИБ, не страдает этим недостатком, так как там все комбинации слов в таблице равнозначны и никак не выделены большей или меньшей осмысленностью или другими признаками.
ЛИТЕРАТУРА
[1] Ross Anderson, «Security Engineering», www.cl.cam.ac.uk/~rja14/book.html.
[2] Васильева Е.Е., Васильев В.Ю. «Суперпамять, или Как запомнить, чтобы вспомнить?» — М.: «Астрель», 2006.
[3] Васильева Е.Е., Васильев В.Ю. Секреты запоминания чисел. — М.: «Астрель», 2006.
[4] О. Логачев, Е. Молодцов, В. Ященко, «Способ запоминания персональных цифровых паролей, основанный на использовании линеек ключевых символов», Отчет ИПИБ.