Однако прогресс во вскрытии паролей гораздо более ярок. В ситуации, когда взломщик может работать в офлайновом режиме, то есть подбирать на своем компьютере пароль к защищенному файлу, пароль уже нельзя рассматривать как сколько-нибудь серьезную защиту, утверждает Шнайер и приводит цифры: коммерческая программа для подбора паролей 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.