В этой статье расскажу про свой дипломный проект на тему «Иконографический способ аутентификации пользователя. Можно ли пройти аутентификацию так, чтобы стоящий рядом человек, следя за вашими действиями, так и не смог пройти аутентификацию за вас». В этой публикации кратко расскажу, в чём суть проекта.
Постановка задачи
- Разработать программу и реализовать криптографическую аутентификацию, при прохождении которой, сторонний наблюдатель так и не смог бы ее повторить;
- Определить вероятность взлома, такой аутентификации.
Запоминание пароля
Прежде чем проходить аутентификацию, сначала надо выбрать пароль. Пароль выбирается из большого набора иконок и должен состоять минимум из трех различных иконок (далее они будут называться парольные иконки). В данном примере мы выбрали 6 парольных иконок. Теперь перейдем к самой аутентификации.
Аутентификация
Аутентификация проходит следующим образом. На панели случайным образом располагается общий набор иконок, среди которых будут 3 парольные иконки из выбранного нами пароля. Пользователь должен визуально найти три парольные иконки, мысленно соединить их линиями, получив треугольник и щелкнуть мышкой внутрь этого треугольника.
Далее все иконки перемешиваются, какие-то исчезают, какие то появляются новые, так же появляются новые парольные иконки из выбранного пароля (на панели может быть максимум 3 парольные иконки). И такую процедуру пользователь проделывает несколько раз, если он попал щелчком мыши внутрь треугольника заданное количество раз, то аутентификация считается пройденной. Если пользователь на любом этапе аутентификации промахивается, то аутентификация считается не пройденной и нужно проходить все этапы заново.
Сразу же появляется несколько вопросов:
- Какова вероятность случайного попадания в парольный треугольник?
- Сколько этапов аутентификации нужно пройти для надежной защиты?
Вероятность попадания случайного щелчка мыши в парольный треугольник
Проведем статистическое моделирование и выясним вероятность попадания щелчка мыши в парольный треугольник в 1 этап при различных соотношениях сторон.
Из данной гистограммы видно, что, чем больше парольная панель приближается к квадратному виду, тем вероятность взлома становится меньше и приблизительно равна 10%. Следовательно, наиболее предпочтительное соотношение сторон – 1:1.
Расчеты были проведены при ширине панели в 5, 15 и 20 ячеек для иконок. Однако полученные результаты практически не отличаются друг от друга.
Но 10% вероятности попадания в парольный треугольник слишком велика. Поэтому аутентификация и проводится в несколько этапов и получается, что на втором этапе аутентификации, вероятность взлома приблизительно равна 10^-2.
Настройки программы
- В программе можно настраивать насыщенность панели иконками, с одной стороны 100% насыщенность затрудняет поиск парольных иконок, с другой стороны при насыщенности менее 20% есть вероятность, что стоящий рядом человек может проанализировать и понять, какие иконки являются парольными. Оптимальная насыщенность панели иконками 40-60%;
- Для надежной защиты достаточно 5 этапов прохождения аутентификации 10^-5;
- Так же настраивается соотношение сторон панели.
Заключение
- При отношении сторон окна ввода пароля 1:1 вероятность взлома минимальна. Однако, изменение отношения сторон вплоть до 0,8:1 не вызывает критического роста вероятности взлома;
- Существенного влияния размера иконографической панели на вероятность взлома не выявлено;
- Степень заполнения парольной панели должна лежать в пределах от 40 до 60%. Оптимальным значением заполнения является 50%, которое, с одной стороны, позволяет затруднить раскрытие пароля сторонним наблюдателем, а с другой стороны, не вызывает трудностей при поиске парольных иконок;
- Проведение иконографической аутентификации в 5 этапов вполне достаточно для надёжной защиты большинства приложений. Для особо критичных приложений, требующих повышенных мер безопасности, можно проводить аутентификацию в 6 или 7 этапов.
- Проведенные вычислительные эксперименты позволяют заключить, что для иконографической аутентификации, проводимой в 1 этап, вероятность взлома довольно высока и составляет величину порядка 0,1 (10%). Однако, при увеличении количества этапов вероятность подбора пароля убывает по экспоненте, и, например, для 5 этапов не превышает 10^-5.
- При иконографическом способе парольной защиты, пароль, как таковой, по сети не передается, даже в зашифрованном виде. По сети передается только координаты щелчка мышкой в окне ввода пароля, и только сервер решает, попадает ли эта точка внутрь треугольника, заданного парольными иконками. Следовательно, даже полный перехват всей информации обмена терминала с сервером, не дает дополнительных данных для взлома пароля. Кроме того, пароль невозможно подсмотреть, так как, даже стоя у пользователя за плечом, нельзя узнать, внутри какого треугольника он кликнул. Следовательно, единственным возможным способом взлома иконографической защиты является случайный щелчок в окне ввода пароля.
Список источников
Идея для написания программы была взята отсюда. Были проведены статистические наблюдения и определена вероятность взлома парольного треугольника.
Автор: lKAMiKADZE