Динамический графический пароль

в 14:08, , рубрики: аутентификация, информационная безопасность, пароль, Песочница, метки: , ,

Динамический графический пароль

Графический пароль

Графический пароль– метод разблокировки мобильных устройств путем выполнения определенных операций над сенсорным экраном, результатом которых является получение доступа к устройству. Речь пойдет именно о таких устройствах, т.к. в обычных персональных компьютерах обычно отсутствуют сенсорные экраны, а для аутентификации в программах чаще используется пара логин — пароль.

Динамический графический пароль

Динамический графический пароль — аутентификация пользователя на устройстве без отображения постоянного пароля, в каком – либо виде, так чтобы, например, посторонний человек не смог понять, что за пароль был введен, даже запомнив все действия которые легальный пользователь выполнил при вводе пароля, и даже запомнив динамический пароль, в данном случае речь пойдет именно о динамическом графическом пароле.

Примеры графический паролей

Динамический графический пароль Динамический графический пароль Динамический графический пароль Динамический графический пароль
Использование простых картинок, неопытными пользователями может привести к легкому подбору пароля, с учетом, например, что круг обычно рисуется против часов стрелки и т.д. Сенсорные экраны не предназначены для работы в качестве датчиков отпечатков пальцев, не имеют достаточной точности Достаточно успеть запомнить начальную и конечную точку графического пароля, вероятность подбора сильно возрастет, также дважды использовать один элемент у этого пароля нельзя Со стороны легко понять что за пароль требуется подобрать

Недостаток графических паролей

Приведенные примеры графических паролей имеют недостаток – любой рядом стоящий человек может увидеть и запомнить ваш пароль, или хотя бы запомнить некоторые моменты ввода. В последствии завладев вашим устройством подобрать пароль не составит ему труда. Для избавления от этого недостатка существует понятие динамического пароля.

Суть динамического графического пароля

Рассмотрим простейший вариант такого пароля. Допустим, в настройках мобильного устройства мы указали метод разблокировки – графический пароль. Выберем секретный пароль — «A?BC❀».
Динамический графический пароль

  • При нажатии кнопки включения экрана устройства, псевдослучайным образом генерируется сетка, состоящая в простейшем случае из букв простого алфавита;
  • Эта сетка выводится на экран устройства;
  • Необходимо мысленно вычислить динамический пароль;
  • Ввести значение динамического пароля в соответствующее поле;

В идеале никаких действий кроме ввода значения динамического пароля выполнять не нужно.
В усложненном варианте это может быть сетка с символами, картинками, смайликами, цветные элементы, что угодно. Среди символов на сетке обязательно присутствуют символы нашего постоянного пароля.
Как же определить динамический пароль?

Метод определения динамического пароля путем мысленных вычислений

Динамический графический пароль Динамический графический пароль

И так:

  • Необходимо найти буквы нашего пароля на сетке;
  • Мысленно соединить эти буквы линией, двигаясь вверх, вниз, влево или вправо;
  • Посчитать количество пройденных клеток, последовательно пройдя по всем буквам пароля – в приведенном примере динамический пароль должен получиться равным цифре 36, другими словами: необходимо вычислить расстояние в клетках между буквами постоянного пароля, выведенными среди других букв в сетке, полученное расстояние будет являться значением динамического пароля;
  • Ввести значение динамического пароля в поле «Динамический пароль»;
  • Нажать кнопку «ОК» – подтвердив тем самым ввод динамического пароля.

Данным методом мы убиваем сразу двух зайцев: для разблокировки устройства нам даже не надо прикасаться к экрану, кроме как на последнем этапе, и плюс мы при каждой разблокировке вводим разное значение динамического пароля.

Метод определения динамического пароля путем его отображения на экране

Естественно данный метод можно использовать и в качестве обычного графического пароля. Рассмотрим тот же метод, но с отображением нашего секретного пароля, что является нежелательным моментом, т.к. основная задача динамического пароля НЕ ВЫДАТЬ значение постоянного секретного пароля.

Динамический графический пароль Динамический графический пароль

  • Нам необходимо найти буквы нашего пароля на сетке;
  • Провести по ним пальцем, устройство само выделяет помеченные пальцем клетки и само вводит цифру 36 в поле «Динамический пароль». На рисунке выше, приведены 2 из возможных правильных способов выделения клеток;
  • Нажать кнопку «ОК» – подтвердив тем самым ввод динамического пароля;
  • В случае верно введенного динамического пароля, устройство будет разблокировано;

Проверка введенной цифры

Рассмотрим простые действия на стороне устройства.

  • Программа (операционная система мобильного устройства) генерирует сетку и выводит на экран;
  • Дожидается подтверждения пользователем введенного им динамического пароля;
  • Считывает из памяти пароль, разбивает на буквы;
  • Находит буквы на сетке;
  • Сама высчитывает расстояния в клетках между буквами алфавита;
  • Сверяет вычисленное число с введенным пользователем;
  • Разблокирует устройство в случае правильного ввода, в противном случае — блокирует устройство и/или возвращается к п.1;

Пример ошибочного ввода

Динамический графический пароль Динамический графический пароль

В попытке подбора или при ошибочном вводе, человек в данном случае вводит цифру 39 или 40, а нужно ввести 36.

Возможные модификации

  • Длинный пароль, соответственно некоторые буквы могут засчитываться дважды – так как в приведенном примере;
  • Изменение размера сетки, например 20 х 20;
  • Трехкратное повторение ввода, для уменьшения вероятности подбора;
  • Трехкратное повторение ввода, но каждый раз разных паролей (три пароля или три части одного пароля);
  • Использование различных символов, картинок, цветов, разноцветных картинок вместо обычных символов алфавита;
  • Использование данного метода в качестве двухфакторной аутентификации (PIN + динамический графический пароль);

Пример для самопроверки

Укажите динамический пароль для постоянного пароля «A?BC❀»
Динамический графический пароль

Выводы

Данный метод динамического графического пароля может использоваться для прохождения аутентификации на доступ к устройству или приложению в условиях, когда есть риск, что ввод пароля может быть обнаружен, а сам пароль скомпрометирован. Рассмотрим плюсы и минусы такого способа:

Плюсы:

  • При мысленном определении динамического пароля, постоянный пароль не отображается, такие методы в принципе очень эффективны;
  • Нельзя определить пароль по следам от пальцев на экране устройства, каждый раз сетка генерируется случайным образом;
  • Для сторонников двухфакторной аутентификации, например, по SMS, этим способом можно пройти аутентификацию даже быстрее;

Минусы:

  • При достаточно маленьком поле, коротком пароле, вероятность угадывания пароля высока;
  • Огромное же поле вызывает трудности с нахождением символов постоянного пароля;
  • Значение динамического пароля имеет невысокую границу сверху, например, не больше 60, для короткого пароля – нужны модификации данного простейшего метода;
  • Пароль обычно хранится в виде хеш — суммы, соответственно вычисления на стороне устройства не будут возможны;

Пример реализации

Кто что — то не понял, или интересно потыкать программу, милости просим:

Ссылка на архив с программой тут

Автор: Protos

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js