Что от вас просит система, когда вы включаете свой компьютер или разблокируете телефон, или вставляете карту в банкомат, или входите на страничку в соц.сети? Система требует ваш пароль. Этот этап защиты данных, за который отвечаем по большей степени мы сами, встречается сплошь и рядом в наше время. И чем сложнее пароль, тем сложнее его подобрать, а следовательно тем сложнее злоумышленнику заполучить ваши данные. Однако далеко не все пользователи подходят к созданию паролей со всей необходимой серьезностью. Сегодня мы поговорим об исследовании фраз-паролей. Почему фразы-пароли для нас не являются константой, какие варианты таких систем были в прошлом, и как ученые предлагают популяризировать подобный вариант защиты? Это и многое другое мы и будем сегодня выяснять. Поехали.
Предыстория
Анекдотичные «дата рождения», «день свадьбы», «имя любимого книжного персонажа» и т.д. очень долго были самыми распространенными паролями, но уж точно не самыми сложными.
Небольшое лирическое отступление. Недавно я пересматривал фильм «Хранители» (2009 год). Ближе к концу фильма главные герои пробираются в офис злодея, чтобы заполучить информацию. Но доступ к компьютеру защищен паролем. Что же делать? Развернуться и уйти? Нет уж, это ведь только пароль, что может быть проще.
Ремарка: офис этот находится в здании корпорации «Пирамида», а на столе злодея рядом со столь важным ПК стоят книги про Египет, местных богов и фараонов.
Тот самый момент из фильма «Хранители» (2009)
Так вот, герой начинает методом научного тыка подбирать пароль, но безрезультатно. Потом смотрит на те самые книги и видит «Ramesses II». Конечно же это и был пароль. Герои получают информацию, и сюжет движется дальше. А теперь вопрос — неужели главный антагонист картины Адриан Вейдт, считающийся самым умным на планете, не мог придумать пароль посложнее и не оставлять его прямо на своем рабочем столе? Все это киношные условности, однако от этого мое недоумение меньше не становится.
Прискорбно, но факт — у многих людей пароли именно такого уровня сложности. Хотя есть системы входа, которые «заставляют» пользователя создать пароль, соответствующий определенным требованиям: не менее 8 символов, минимум 1 заглавная буква, минимум 1 цифра и прочее. Однако, согласитесь, watson и Watson99 не так уж сильно отличаются. Есть и те пользователи, которые относятся к своим данным куда более серьезно, а потому их пароли могут быть на первый взгляд беспорядочным набором символов. У меня был коллега, чей пароль состоял из 15-20 символов, а набирал он его так, будто хотел сыграть на клавиатуре композицию «В пещере горного короля».
От лирики и забавных примеров перейдем к делу.
Есть пароль «spwaop», запомнить который хоть и сложнее чем дату своего рождения, но не настолько. Подобные пароли гораздо лучше защищают данные, поскольку усложняют процесс взлома методом подбора, когда взломщик пробует все возможные варианты. Для упрощенного примера возьмем три цифры — 123. Допустим, пароль состоит из этих цифр, но в какой последовательности? Варианты: 123, 132, 213, 231, 312, 321. Всего 6 вариантов, следовательно, подобрать нужный не составит труда. Если же добавить одну цифру — 1 2 3 4, то вариантов уже будет 24, что усложняет процесс подбора.
Однако есть проблема — человеческий фактор. Исследователи выяснили, что распространения сложных паролей тормозится самими пользователями. Многие считают, что такие пароли слишком сложны для запоминания. Если тебе важны твои данные, изволь запомнить каких-то 6-8 символов — скажите вы и будете правы. Однако против мнения массы не попрешь. Посему ученые решили разработать методику, которая стала основой системы входа, позволяющую человеку создавать сложные пароли и, самое главное, помогающую этот пароль запомнить.
Я сам скептически настроен к подобного рода исследованиям. Их можно счесть пустой тратой времени и ресурсов, однако любое исследование, любой эксперимент или опыт имеют право на существование. Тем более, отбросив свое неоднозначное отношение к проблеме «лень запомнить пароль», все же любопытно как работает сама система, разработанная исследователями.
До этой разработки было много предшественников, чьи системы фраз-паролей в той или иной степени были реализованы, однако не сыскали популярности среди пользователей ввиду сложности, низкого уровня безопасности, странности процесса создания пароля и т.д.
К примеру, существовала система Diceware (1995 год). В словаре системы было 7776 слов, которые формировали фразу-пароль и не все были английские. Принцип подбора был основан на использовании пользователем игральных костей. Вот пример с официального сайта Diceware:
Предположим вы хотите фразу-пароль из 6 слов, что мы и рекомендуем для большинства пользователей. Вам потребуется кинуть кости 6х5, т.е. 30 раз. Допустим выпали следующие цифры:Какие проблемы связаны с таким методом генерации паролей? Вполне очевидно, что мало будет желающих кидать кости, записывать, потом искать и сопоставлять цифры со словами, чтобы просто-напросто создать себе пароль. Второй проблемой были сами слова. Из примера выше вы можете понять, что это не фраза, а просто рандомный набор слов. Как следствие, запомнить подобное можно, но не без усилий. Даже проведенный спустя несколько лет после появления системы Diceware опрос показал, что пользователи оценили ее в 1.71 балла из 5 возможных.
1, 6, 6, 6, 5, 1, 5, 6, 5, 3, 5, 6, 3, 2, 2, 3, 5, 6, 1, 6, 6, 5, 2, 2, 4, 6, 4, 3, 2, 6.
Теперь запишите все цифры в группы по 5 бросков:
1 6 6 6 5
1 5 6 5 3
5 6 3 2 2
3 5 6 1 6
6 5 2 2 4
6 4 3 2 6
Сопоставьте полученные 6 номеров с теми, что соответствуют слову в списке, и вы получите:
1 6 6 6 5 cleft
1 5 6 5 3 cam
5 6 3 2 2 synod
3 5 6 1 6 lacy
6 5 2 2 4 yr
6 4 3 2 6 wok
Ваша фраза-пароль: cleft cam synod lacy yr wok
Другое исследование показало, что фразы-пароли легче запомнить не сократив количество слов в них, а сократив сами слова. Как говорится, если вам нужен аналог символу «C», то зачем вам для этого слово «counterclockwise», если подойдет и простое «cat». Имеется ввиду, что пароль из 3 длинных слов и пароль из 6 коротких будут одинаковой степени сложности, но последний запомнить проще.
Несмотря на все недостатки, Diceware все таки приобрела популярность в определенных кругах и используется по сей день.
Главной же задачей исследователей современности является создание системы, которая будет совмещать в себе все достоинства предшественников, но стараться избежать их проблем и недостатков.
Основы системы
Для создания новой системы было решено совместить определенные особенности предшественников:
- специализированный словарь и шаблон фраз;
- создание пользователем мнемонической* картинки;
- маскировка введенных данных.
Мнемоника* — различные методики и приемы для повышения степени запоминаемости той или иной информации.Для начала был использован словарик VOA Special English Word List, который был создан еще в 1959 году. Он был нацелен на людей, для которых английский не является родным языком.
Простота слов не гарантирует, что пользователю эти слова понравятся. Однако давать возможность бесконечно генерировать фразы значит понижать степень защищенности. Потому программа просто дает пользователю 4 случайные фразы, из которых он может выбрать одну, что ему по душе.
Изображение №1: программа выдает пользователю фразу, первые буквы каждого слова соответствуют символам в пароле пользователя.
Еще одним небольшим, но полезным внедрением стал толковый словарь. Дабы быть уверенными в том, что пользователь полностью понимает значения слова в фразе-пароле, при наведении на него выдается толкование.
Самым необычным, но весьма эффективным с точки зрения мнемоники, стало внедрение простейшего графического редактора. Пользователь, основываясь на полученной им фразе-пароле, мог создать рисунок, который должен помочь ему запомнить пароль. Весьма нестандартно, согласен. Однако любой процесс визуализации, особенно если визуализированный эквивалент фразы создается самим пользователем, позволят лучше запомнить пароль.
Изображение №2: графическое представление фразы-пароль. Согласитесь, если вам показать только картинку, то сам пароль вы вряд ли сможете воссоздать. Это возможно только для того, кто знает пароль.
Изображение №3: маскировка пароля.
Маскировка пароля необходима в первую очередь как защита от случайных свидетелей, которые могли увидеть как вы создаете пароль. Самым распространенным способом являются «*» (астериски), которые появляются в поле ввода пароля вместо самих символов. В данном же исследовании в систему внедрили другой вариант маскировки, работающий по принципу «спрятать на видном месте». Как видно из изображения №3 есть список паролей, только один из них верный, а остальные — фальшивки. Такой метод, как показала статистика, ничем не хуже стандартного маскирования астерисками (****).
При этом есть небольшая особенность. Пароли-фальшивки составляются из слов списка, которые не применяли в настоящем пароле. Когда злоумышленник пытается наугад ввести пароль, система распознает попытку ввода «фальшивки» и блокируется, передавая логи и предупреждение о попытке взлома полноправному пользователю. Возникает вопрос — а если пользователь просто ошибся? Дело в том, что ошибка ввода пароля и попытка ввести подставной пароль крайне маловероятно совпадут. К сожалению, более точных и аргументированных пояснений от исследователей нет. Возможно система не блокируется при вводе начальных символов подставного пароля, а только при вводе всего пароля. Но это лишь мое предположение.
Также исследователи добавили в систему исправление ошибок. Поскольку словарь не особо большой, подобные исправления выполняются точно и не приводят к возникновению неточностей при вводе фразы-пароля. При этом скрипт исправления ошибок работает и с настоящим паролем, и с подставными, что позволяет сохранить уровень безопасности системы.
Требования к системе
Степень сложности системы была установлена как 40 битов энтропии. Для повышения степени безопасности достаточно применить технику расширения ключа, когда оригинальный слабый пароль прогоняется через алгоритм, делающий размер пароля слишком большим для брутфорса (полного перебора вариантов).
Информационная энтропия* — мера неопределенности или непредсказуемости систем.Система фраз-паролей имеет 4 варианта. Ниже представлены скриншоты и описание каждого их них.
Вариант I:
Фраза, сгенерированная пользователем, должна состоять минимум из 24 символов (с учетом пробелов). Других требований нет. Мнемоника не используется, а маскирование пароля стандартное (******).
24 символа = 1 символ х 4 бита + 7 символов х 2 бита + 12 символов х 1.5 бита + 4 символа х 1 бит = 40.0 бит энтропии.
Вариант II:
Фраза генерируется системой и состоит из 3 слов, выбранных случайным образом из нескольких списков (Diceware8k, Beale’s alternate list и 1Password expanded English Diceware list). Суммарное число слов 10326. Мнемоника не используется, а маскирование пароля стандартное (******).
3 слова х log210326 вариантов слов = 40.0 бит энтропии.
Вариант III:
Фраза выбирается из четырех предложенных системой вариантов, каждый из которых состоит из 4 слов. В качестве базы слов использован Special English list, 1450 слов. Применено толкование слов. Есть возможность создавать мнемонические изображения в редакторе, которые показываются во время входа. Включено исправление ошибок. А маскирование пароля осуществляется методом фальшивок.
4 слова х log21450 вариантов слов — log24 варианта фраз = 40.0 бит энтропии.
Вариант IV:
Фраза генерируется системой и состоит из 6 слов. Есть возможность создавать мнемонические изображения в редакторе, которые показываются во время входа. Включено исправление ошибок. А маскирование пароля осуществляется методом фальшивок.
log2(151 х 151 х 155 х 61 х 78 х 66) возможных комбинаций = 40.0 бит энтропии.
Итак, система теоретически готова. Теперь необходимо ее проверить на практике.
Практические испытания
Для проведение испытания исследователи собрали группу людей — 52 человека (28 мужчин и 24 женщины), чей возраст варьировался от 20 до 61.
4 варианта системы были распределены между участниками посредством латинского квадрата*.
Латинский квадрат* — таблица, заполненная элементами множества так, что в каждом ряду и столбце элементы не повторяются.После короткого ознакомления с целью исследования каждый из участников должен был в течение 5 минут создать фразу-пароль и мнемоническое изображение. После этого участник заполнял анкеты NASA-TLX и SUS.
Следующим этапом было использование созданных фраз-паролей. Участники должны были войти в 4 аккаунта (4 варианта системы входа), созданных ими ранее. Число попыток было ограничено пятью. После каждого входа участники опят заполняли анкеты NASA-TLX и SUS. Также они должны были оценить степень безопасности и общее качество того или иного варианта системы входа.
Спустя неделю участники, которым было запрещено записывать пароли, вернулись для повторного прохождения этапа с входом в аккаунты.
Также участники вошли в роль подглядывающих. Им было разрешено подсмотреть друг за другом в процессе создания мнемонической картинки для фразы-пароля. После чего они должны были попытаться угадать саму фразу-пароль.
Результаты испытаний и подведение итогов
Анализ результатов испытаний показал, что последние два варианта системы входа были самыми эффективными. 82% испытуемых успешно справились с этапом повторного входа в аккаунты на базе Special English. Для сравнения: лишь 50% прошли этот же этап успешно, когда использовалась система, где пользователь сам создавал фразы-пароли. Для Diceware10k показатель еще хуже — всего 34%. Такой значительный скачок эффективности новых систем связан с использованием исправления опечаток и маскированием методом фальшивок.
На графике выше видно, как изменялись показатели эффективности той или иной системы: светло-синий — первый вход в систему после создания аккаунта, темно-синий — второй вход в аккаунт. Как мы видим, именно Special English и фразы-пароли как целостные предложения показали наилучший результат.
Однако показатель 82% это не предел мечтаний для нашего времени, учитывая что речь идет о системах, направленных на защиту данных. Исследователи утверждают, что намеренно завысили степень сложности выполнения заданий для испытуемых, тогда как в реальности все было бы проще. Во-первых, испытуемым необходимо было создать 4 фразы-пароля подряд и запомнить их, с или без мнемонической помощи. Записывать созданные пароли нельзя было, да и не нужно, поскольку испытуемые получали вознаграждение (подарочная карта на $20) не за лучший результат, а за само участие. Согласен, что подобные меры не столь четкие и не могут гарантировать того, что кто-то из участников испытания не будет заучивать свои пароли лишь для того, чтобы показать наилучший результат. Можно было конечно запереть всех участников в стеклянных комнатах без доступа к внешнему миру, а потом, спустя неделю, проверить как хорошо система помогает им вспомнить свои пароли. Но, естественно, это было бы не очень гуманно, даже ради чистоты эксперимента.
В любом случае ученые собираются провести в будущем испытания с учетом вышеописанных факторов погрешностей дабы подтвердить, что их «лабораторные» результаты только возрастут в реальных условиях. Настолько они уверены в своем детище.
Касательно «шпионажа» результаты всех вариантов систем не сильно отличались. Как и ожидалось, сокрытие пароля астерисками и использование фраз-фальшивок были одинаково эффективной мерой защиты от «посторонних глаз».
Измерения степени защищенности от машинного взлома показали, что хуже всех с этой задачей справляется система с пользовательскими фразами-паролями. В среднем на взлом фразы-пароля ушло 224 попытки подбора, а это примерно на 1000 попыток меньше, чем у других вариантов системы. А показатель энтропии, как сложности пароля, был на 10 бит меньше, чем у других вариантов.
Анализ защищенности от взломщиков (людей, а не программ) показал неожиданный результат. В данном случае отстающий в предыдущих показателях вариант пользовательских фраз-паролей и Diceware10k оказались наиболее защищенными. Тут всплывает негативная составляющая мнемонического помощника. Картинки, созданные пользователями для улучшения запоминаемости пароля, помогали взломщикам подобрать нужный пароль и, как следствие, совершить несанкционированный вход в аккаунт. Однако коэффициент уязвимости был не так велик (от .4 до .6). Другими словами, если злоумышленник подсмотрит процесс создания пароля, защищенного при этом астерисками, ему будет гораздо проще взломать аккаунт, нежели если он будет отталкиваться только от мнемонического изображения.
Данный график показывает как испытуемые оценили 4 варианта системы входа. Самым лучшим стал вариант с логическими предложениями. Худшим же оказался вариант, когда сами испытуемые создавали свои фразы. Это весьма примечательно, ведь можно было предположить, что создание фразы по своему вкусу должно увеличить степень запоминания, если можно так выразиться. Однако указания системы, в данном случае фразы ею сгенерированные, запомнились лучше. Ожидалась совершенно противоположная оценка, ибо по статистическим данным, собранным ранее, большинство респондентов считало генерацию пароля самой системой чем-то сложным и раздражающим. Исследователи считают, что их система смогла избежать подобных эпитетов благодаря мнемоническому помощнику и скрипту исправления орфографических ошибок.
Для более подробного ознакомления с деталями исследования рекомендую почитать доклад ученых.
Эпилог
Несмотря на все попытки разных групп исследователей и разработчиков, массовое внедрение фраз-паролей пока не намечается. По их словам, это связано по большей степени с технической реализацией подобных систем. Они предполагают, что давать пользователю возможность самостоятельно создавать фразу-пароль значит жертвовать безопасностью, поскольку человеческий фактор сильно влияет на подбор слов и саму фразу в целом. Другими словами, многие пользователи продолжают создавать простые пароли и фразы-пароли страдают от этой тенденции не меньше. Если же система генерирует фразу-пароль и на этом ее взаимосвязь с пользователем на этапе создания защиты окончена, подобное также вызовет отрицание у большинства людей. Необходимо разрабатывать не только новые методики увеличения степени безопасности паролей, меняя их форму, внедряя новые условия для их создания и прочее, но и помогать пользователю этот пароль удержать у себя в голове. Утрированный пример: однажды в новостях был сюжет про неудачливого мужчину, чью кредитку украли. С нее сняли все сбережения только потому, что он написал на ней свой пин-код. Да, запомнить 4 цифры и предложение из 6 слов это абсолютно разные вещи, но с общим началом.
Возможно вышеописанное исследование покажется вам абсурдным или просто неуместным, однако и оно имеет право на существование. Я лично рассматриваю его через призму людей с проблемной памятью, о чем, что удивительно, исследователи не упоминают в своей работе. Ведь многие люди страдают расстройством памяти, и некие методики для сохранения и воссоздания информации, сокрытой у них в сознании, должны быть. Именно потому я считаю, что мнемонический помощник системы входа это, хоть и не верх желаемого, но тоже весьма интересный и даже забавный метод.
Спасибо, что остаётесь с нами. Вам нравятся наши статьи? Хотите видеть больше интересных материалов? Поддержите нас оформив заказ или порекомендовав знакомым, 30% скидка для пользователей Хабра на уникальный аналог entry-level серверов, который был придуман нами для Вас: Вся правда о VPS (KVM) E5-2650 v4 (6 Cores) 10GB DDR4 240GB SSD 1Gbps от $20 или как правильно делить сервер? (доступны варианты с RAID1 и RAID10, до 24 ядер и до 40GB DDR4).
3 месяца бесплатно при оплате новых Dell R630 на срок от полугода — 2 х Intel Deca-Core Xeon E5-2630 v4 / 128GB DDR4 / 4х1TB HDD или 2х240GB SSD / 1Gbps 10 TB — от $99,33 месяц, только до конца августа, заказать можно тут.
Dell R730xd в 2 раза дешевле? Только у нас 2 х Intel Dodeca-Core Xeon E5-2650v4 128GB DDR4 6x480GB SSD 1Gbps 100 ТВ от $249 в Нидерландах и США! Читайте о том Как построить инфраструктуру корп. класса c применением серверов Dell R730xd Е5-2650 v4 стоимостью 9000 евро за копейки?
Комментарии (20)
Dima_Sharihin
14.08.2018 13:06+1Как изобразить на такой картине 40 тысяч приматов с бананами?
jovannedeljkovic7355
14.08.2018 13:10Один из паролей которые я обычно использую это cnjd;c, ( «стовжсб» в английской раскладке). Оказывается у этого есть математическое объяснение.
kot_mapku3
14.08.2018 13:31Очень познавательно, пока читал и просматривал все отсылки(например, про фильм) успел на десятках других сайтов побывать!
А есть ссылки на эти программы?Dmytro_Kikot Автор
14.08.2018 14:05К сожалению, нет. По крайней мере мне найти не удалось (искал на сайте исследователей, на сайте научного сообщества и в просторах Интернета). Предполагаю, что данное ПО находится на стадии разработки и доступно только для причастных к исследованию.
burikmc
14.08.2018 16:30А как насчет идеи «хранить неверный пароль на бумажке»? Например «8LnrK7aO», которая всегда на видном месте, но при этом только ты знаешь какой символ (или несколько символов) в этом пароле надо изменить, чтоб получить правильный?
Revertis
14.08.2018 20:04А всего лишь надо иметь простенький генератор сложного кода на основе легкого пароля и названия сайта.
DGN
15.08.2018 03:29Типа первая и большая последняя буква домена (системы), число символов в логине (юзере) текстом и цифрой, блоки разделить подчеркиванием. Должно укладываться во все стандарты безопасности (число символов, прописные и строчные + цифры + символы), ну кроме как «прошло 30 дней и ваш пароль устарел».
hoffman25
15.08.2018 07:36Должен быть один базовый пароль, который выучен, а к базовому паролю добавлять некоторое количество символов по простому правилу. Именно простому, т.к. в вашем случае правило слишком сложное. Алгоритм должен быть в голове и быть интуитивно понятным, а не работать через программу или мнемонические техники запоминания.
Тогда можно взять комбинацию из нескольких слов — это базовый пароль. Меняем, например, вторую букву в пароле на заглавную. А в конце пароля добавляем, например, один из символов домена в нижнем регистре, скажем первый. Все, этого достаточно.
Такой пароль технически подвержен перебору по словарю, но нужно знать алгоритм генерации и серию аккаунтов, к которым этот пароль применяется. Что снижает риск почти до нуля.
Но вообще проблема не в паролях, а в том, что надо пресекать их перебор изначально. Вот на сайтах, например, где с этим борются? Введешь несколько раз неверно и тебе включат каптчу или заставят подождать минут 10, такая себе защита. А вот если бы время ожидания росло в прогрессии, то пароль подобрать было бы уже невозможно, но количество попыток будет достаточным для владельца, если он вдруг частично забудет его.DGN
15.08.2018 10:38Если я себе правильно понимаю современные технологии, то подбором пароля с сети никто не занимается, ломают скачанный хеш паролей. С сети максимум можно ботнетом для типичных логинов ввести типичный топ паролей, в надежде что из 10000 один да совпадет.
Если же ломают лично вас, то простой алгоритм увидят вручную, он очевиден. Так что такой подход не сильно лучше единого пароля на всех сайтах.
Revertis
15.08.2018 12:00Нет, придумывание схемы, которую может запомнить человек, создаст только ощущение безопасности. Нужно криптографически обработать домен+соль (не вводимую постоянно)+пароль. С этим отлично справляется такое расширение, например:
addons.mozilla.org/firefox/addon/art-passwordDGN
15.08.2018 13:38Предлагаемая защита должна быть адекватной защищаемой ценности. Ваш вариант усложняет процесс, скажем в интернет-кафе нельзя поставить расширение браузера. Серебряной пули, то есть, средства защиты которое минимально мешает пользователю, максимально при этом защищая, не существует.
Revertis
15.08.2018 13:43Для тех мест, где расширением не воспользоваться, можно пользоваться приложением под Андроид.
Но я бы не стал логиниться на незнакомом устройстве вообще.
Ocelot
Как бороться с тем, что юзер вместо рисования картинки-подсказки напишет там буквами свой пароль?
kot_mapku3
Не сажать их за компьютер.А вообще можно предупредить их об этом в самой программе, например.Ocelot
— Пожалуйста, не используйте пароль в качестве подсказки для пароля.
— О, а это идея!