Pull to refresh

Пиктографический пароль. Эксперимент

Information Security *
Sandbox


Текстовые пароли распространены давно, и проблемы их не новы. С ростом вычислительных способностей компьютеров требования к длине и частоте смены паролей только усиливаются, а человеческая способность к запоминанию бессмысленных наборов символов растёт не столь впечатляющими темпами. Биометрические методы не вызывают пока доверия, да и чем биоотпечатки лучше текстовых паролей, кроме того что их нельзя изменить и то что они не допускают анонимности? Но не о текстовых паролях пойдет речь и не о недостатках биометрии, рассмотрим один из альтернативных способов задания и ввода пароля ставший особенно интересным с распространением сенсорных устройств. Основа метода в том, что человек с легкостью распознаёт визуальные образы, в то время как для машины это мучительно. Такой образ-пароль может хранится и передаваться между людьми, но между компьютерами никак или слишком дорого.

Должно быть много таких систем было погребено историей, мне известны только несколько.—
Background Draw a Secret требует от пользователя нарисовать рисунок, затем оценивается его сходство с эталоном. Одна из реализаций идеи автографа, какой в древности люди ставили на бумаге. Недавно представленный Picture Password компанией Microsoft в Windows 8, требует от пользователя на фоне фотографии нарисовать точки, векторы и круги, а система сравнит их с эталоном. Два метода были предложены проектом Graphical Password в 2006.—В PassPoints нужно отметить точки на фотографии, а сервер сравнит их с отмеченными при регистрации. А вот в ConvexHull пользователь получает картинку с набором пиктограмм расположенных в случайном порядке и указывает точку на ней. Сервер, помня где какие пиктограммы находятся, вычисляет находится ли введённая точка между тремя пиктограммами указными при регистрации. Процедура повторяется несколько раз, что повышает безопасность и тренирует терпение. Ещё есть Winfrasoft Pin+, где нужно отметить узор выбранный при авторизации в матрице чисел. Признаюсь, я так и не понял как этим пользоваться.

Пиктографический пароль, а проще—пиктопароль, который предлагаю я, работает без особых премудростей.—
  • Получив запрос сервер генерирует изображение, располагая на нём пиктограммы из набора в случайном порядке. Набор, например, может состоять из 16 значков распространённых предметов. Изображение искажается, пиктограммы меняются, как буквы в обычной капче, всячески противодействуя машинному распознанию.
  • Сервер запоминает координаты центров пиктограмм и отправляет картинку пользователю.
  • Пользователь последовательно кликает пиктограммы вводя выбранную при регистрации последовательность.
  • Из координат кликов формируется массив точек, который отправляется серверу.
  • Сервер, оценивая расстояние присланных точек до сохранённых, определяет введенную последовательность пиктограмм.
  • После получения последовательности система с пиктопаролем работает также как с обычным паролем,—вычисляет хеш и сравнивает с содержащимся в базе данных.

Глядя на сценарий видно, что пароль может храниться только в одном месте—в голове человека и передаваться может только от человека человеку. Такой пароль для взлома потребует значительного усовершенствования технологий классификации образов, ведь пиктограммы по начертанию значительно сложнее букв и цифр. Тогда, если нет алгоритма способного распознать на изображении пиктограммы с приемлемыми скоростью, качеством и стоимостью, верно нижеследующее.—
  • Единственный способ подобрать пароль—ручной перебор, а время требующееся на такой перебор измеряется в человеко-часах. Например, для перебора четырёхзначного пароля с временем на попытку в 5 секунд потребуется 90 часов и хотя кластер из 10000 индусов может решить эту задачу за полчаса (в худшем случае) стоить это будет около $50 ($1 за 1000 попыток), а вот за пятизначный—уже $800. Целевую атаку не выдержит, но массовую сделает слишком дорогой.
  • Злоумышленник не может входить в систему автоматически, даже если имеет пароль, что серьёзно затрудняет массовое использования фальшивых или захваченных аккаунтов систем;
  • Если нельзя сообщить пароль быстро и нельзя передать его машине, увеличивается надежность коротких паролей. Чтобы переслать или сохранить пароль его нужно нарисовать или как-то описать словами, что снижает эффективность фишинговых атак направленных на выманивание пароля.
  • Для перехвата пароля снифером, трояном, или подсматриванием, да хоть сканированием коры головного мозга, опять же потребуется человек, чтобы распознать перехваченный пароль.
  • По сложности реализации, нагрузке на сервер и непробиваемости пиктопароль сравним с системой где используется текстовый пароль и одновременно обязательный ввод капчи, но безопасней, удобней для ввода и проще в запоминании.


Предлагаю вам принять участие в эксперименте. Испытайте на себе демонстрационное флэш-приложение. Программка собирает статистику: число попыток, отношение количества ошибочных вводов пароля к числу попыток, средняя скорость прохождения теста. Неплохо будет если не только посетители Хабра опробуют систему,—более интересно насколько она покажется удобной и понятной обычным пользователям. Как наберётся приличная статистика обязательно напишу.­­­­ Может пиктопароль совсем не то, что нужно, но какой-то человеческий, неоцифровываемый, способ манипуляций с объектами, использовать для доступа к системам мне кажется необходимо.

P.s. Также метод годен для защиты от ботов вместо цифро-буквенной капчи. Выглядеть может так: следует нажать на нижнем изображении те значки что есть на верхнем.


upd: Эксперимент завершен, о результатах читайте тут.
Tags:
Hubs:
Total votes 40: ↑33 and ↓7 +26
Views 3.5K
Comments 62
Comments Comments 62

Posts