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