Графический пароль
Графический пароль– метод разблокировки мобильных устройств путем выполнения определенных операций над сенсорным экраном, результатом которых является получение доступа к устройству. Речь пойдет именно о таких устройствах, т.к. в обычных персональных компьютерах обычно отсутствуют сенсорные экраны, а для аутентификации в программах чаще используется пара логин — пароль.
Динамический графический пароль
Динамический графический пароль — аутентификация пользователя на устройстве без отображения постоянного пароля, в каком – либо виде, так чтобы, например, посторонний человек не смог понять, что за пароль был введен, даже запомнив все действия которые легальный пользователь выполнил при вводе пароля, и даже запомнив динамический пароль, в данном случае речь пойдет именно о динамическом графическом пароле.
Примеры графический паролей
Использование простых картинок, неопытными пользователями может привести к легкому подбору пароля, с учетом, например, что круг обычно рисуется против часов стрелки и т.д. | Сенсорные экраны не предназначены для работы в качестве датчиков отпечатков пальцев, не имеют достаточной точности | Достаточно успеть запомнить начальную и конечную точку графического пароля, вероятность подбора сильно возрастет, также дважды использовать один элемент у этого пароля нельзя | Со стороны легко понять что за пароль требуется подобрать |
---|
Недостаток графических паролей
Приведенные примеры графических паролей имеют недостаток – любой рядом стоящий человек может увидеть и запомнить ваш пароль, или хотя бы запомнить некоторые моменты ввода. В последствии завладев вашим устройством подобрать пароль не составит ему труда. Для избавления от этого недостатка существует понятие динамического пароля.
Суть динамического графического пароля
Рассмотрим простейший вариант такого пароля. Допустим, в настройках мобильного устройства мы указали метод разблокировки – графический пароль. Выберем секретный пароль — «A?BC❀».
- При нажатии кнопки включения экрана устройства, псевдослучайным образом генерируется сетка, состоящая в простейшем случае из букв простого алфавита;
- Эта сетка выводится на экран устройства;
- Необходимо мысленно вычислить динамический пароль;
- Ввести значение динамического пароля в соответствующее поле;
В идеале никаких действий кроме ввода значения динамического пароля выполнять не нужно.
В усложненном варианте это может быть сетка с символами, картинками, смайликами, цветные элементы, что угодно. Среди символов на сетке обязательно присутствуют символы нашего постоянного пароля.
Как же определить динамический пароль?
Метод определения динамического пароля путем мысленных вычислений
И так:
- Необходимо найти буквы нашего пароля на сетке;
- Мысленно соединить эти буквы линией, двигаясь вверх, вниз, влево или вправо;
- Посчитать количество пройденных клеток, последовательно пройдя по всем буквам пароля – в приведенном примере динамический пароль должен получиться равным цифре 36, другими словами: необходимо вычислить расстояние в клетках между буквами постоянного пароля, выведенными среди других букв в сетке, полученное расстояние будет являться значением динамического пароля;
- Ввести значение динамического пароля в поле «Динамический пароль»;
- Нажать кнопку «ОК» – подтвердив тем самым ввод динамического пароля.
Данным методом мы убиваем сразу двух зайцев: для разблокировки устройства нам даже не надо прикасаться к экрану, кроме как на последнем этапе, и плюс мы при каждой разблокировке вводим разное значение динамического пароля.
Метод определения динамического пароля путем его отображения на экране
Естественно данный метод можно использовать и в качестве обычного графического пароля. Рассмотрим тот же метод, но с отображением нашего секретного пароля, что является нежелательным моментом, т.к. основная задача динамического пароля НЕ ВЫДАТЬ значение постоянного секретного пароля.
- Нам необходимо найти буквы нашего пароля на сетке;
- Провести по ним пальцем, устройство само выделяет помеченные пальцем клетки и само вводит цифру 36 в поле «Динамический пароль». На рисунке выше, приведены 2 из возможных правильных способов выделения клеток;
- Нажать кнопку «ОК» – подтвердив тем самым ввод динамического пароля;
- В случае верно введенного динамического пароля, устройство будет разблокировано;
Проверка введенной цифры
Рассмотрим простые действия на стороне устройства.
- Программа (операционная система мобильного устройства) генерирует сетку и выводит на экран;
- Дожидается подтверждения пользователем введенного им динамического пароля;
- Считывает из памяти пароль, разбивает на буквы;
- Находит буквы на сетке;
- Сама высчитывает расстояния в клетках между буквами алфавита;
- Сверяет вычисленное число с введенным пользователем;
- Разблокирует устройство в случае правильного ввода, в противном случае — блокирует устройство и/или возвращается к п.1;
Пример ошибочного ввода
В попытке подбора или при ошибочном вводе, человек в данном случае вводит цифру 39 или 40, а нужно ввести 36.
Возможные модификации
- Длинный пароль, соответственно некоторые буквы могут засчитываться дважды – так как в приведенном примере;
- Изменение размера сетки, например 20 х 20;
- Трехкратное повторение ввода, для уменьшения вероятности подбора;
- Трехкратное повторение ввода, но каждый раз разных паролей (три пароля или три части одного пароля);
- Использование различных символов, картинок, цветов, разноцветных картинок вместо обычных символов алфавита;
- Использование данного метода в качестве двухфакторной аутентификации (PIN + динамический графический пароль);
Пример для самопроверки
Укажите динамический пароль для постоянного пароля «A?BC❀»
Выводы
Данный метод динамического графического пароля может использоваться для прохождения аутентификации на доступ к устройству или приложению в условиях, когда есть риск, что ввод пароля может быть обнаружен, а сам пароль скомпрометирован. Рассмотрим плюсы и минусы такого способа:
Плюсы:
- При мысленном определении динамического пароля, постоянный пароль не отображается, такие методы в принципе очень эффективны;
- Нельзя определить пароль по следам от пальцев на экране устройства, каждый раз сетка генерируется случайным образом;
- Для сторонников двухфакторной аутентификации, например, по SMS, этим способом можно пройти аутентификацию даже быстрее;
Минусы:
- При достаточно маленьком поле, коротком пароле, вероятность угадывания пароля высока;
- Огромное же поле вызывает трудности с нахождением символов постоянного пароля;
- Значение динамического пароля имеет невысокую границу сверху, например, не больше 60, для короткого пароля – нужны модификации данного простейшего метода;
- Пароль обычно хранится в виде хеш — суммы, соответственно вычисления на стороне устройства не будут возможны;
Пример реализации
Кто что — то не понял, или интересно потыкать программу, милости просим:
Автор: Protos