Математика секретного входа в Windows 8


Разработчики Windows 8 использовали новый способ секретного входа пользователей в систему - графический пароль. Насколько безопасен этот способ и как он работает?

Почему нужен именно графический пароль?

Требования к надежности паролей постоянно растут. Нам часто приходится вводить цифры и символы в разных регистрах. Ввод длинного сложного пароля с клавиатуры может занимать 30 секунд и более. Ввод символьного пароля на сенсорном экране графического планшета и подобных устройств является еще более утомительным занятием. Поэтому, многие предпочитают не возиться с вводом пароля при запуске ПК. Однако, есть много ситуаций, когда обойтись без этого практически невозможно. Вот почему сегодня очень важно иметь надежный, быстрый и удобный способ входа в систему. Разработчики Windows 8 попытались радикально решить эту проблему.

Графический пароль, который добавлен для входа в Windows 8 как дополнение к текстовому паролю, а не как его замена, состоит из двух компонентов. Первый компонент - изображение из личной коллекции изображений пользователя. Второй - это набор жестов, которые пользователь рисует поверх изображения.

Какой набор жестов используется?

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



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

Как работает графический пароль?

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



Отдельные точки на рисунке определяются их координатами (x,y) на сетке. Для касания запоминаются координаты точки касания. Для линии запоминаются начальные и конечные координаты точек, а также их порядок. Это нужно для определения направления рисования линии. Для круга запоминаются координаты точки центра, радиус и направление рисования.

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

Насколько точными должны быть жесты при вводе пароля?

Простейший жест - это касание. Для определении отличия между точкой касания и введенной ранее точкой сравнивается расстояние между исходным жестом графического пароля, и только что введенным жестом. Точки совпадают, если оценка >= 90 %:



Область, при попадании в которую засчитывается совпадение, это круг с радиусом 3. В этот круг попадает в общей сложности 34 точки (X,Y). Касание любой из означает совпадение. Для точек линий и кругов выполняются такие же сравнения.

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

При выборе количества жестов, важно учитывать надежность, запоминаемость и скорость ввода пароля.

Обычно, текстовый пароль состоит из строчных букв английского алфавита (26), прописных букв (26), цифр (10) и символов (10). В самом простом случае, когда используется только n строчных букв, возможны 26^n перестановок. Если пароль имеет длину от 1 до n букв, количество перестановок будет следующим:


Например, 8-буквенный пароль имеет 26^8 = 2 08 827 064 576 возможных комбинаций.

Для сравнения, 4-разрядный ПИН-код (4 цифры с 10-ю независимыми возможными значениями для каждой) может иметь всего лишь 10^4 = 10 000 уникальных комбинаций.

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

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

В случае графического пароля, при использовании лишь одного простейшего жеста (касания), для квадратного изображения, накрытого сеткой 100х100, получим:


Круговой жест сложнее касания, но проще линии. Если предположить, что его радиус будет от 6 до 25 (что упрощает подбор кругового жеста), а координаты X и Y расположены между 5 и 95, то количество возможных вариантов будет 331 240:

Для круга количество уникальных наборов жестов будет таким:

Линия - самый сложный из трех жестов. Она определяется двумя точками на сетке размером 100х100, а также порядком задания этих точек, что дает 100^4 = 100 000 000 уникальных линий; однако длина линии должна быть не меньше 5, так что количество уникальных линий будет 99 336 960. В зависимости от количества использованных линий количество уникальных жестов будет следующим:


Чтобы получить количество уникальных комбинаций жестов просуммируем количество уникальных жестов каждого из трех типов жестов для длины жеста равной n и возведем эту сумму в n-ю степень. Результаты приведены в следующей таблице, в которой графический пароль сравнивается с ПИН-кодом и текстовым паролем соответствующей длины.

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

Возможные опасности

При практическом использовании графического пароля существует возможность распознать пароль по следам от пальцев, оставленных на сенсорном экране.

При использовании ПИН-кода для каждой цифры на экране останется след от пальца. Если в коде n цифр и каждая из цифр уникальна (наиболее сложный случай при отгадывании пароля), то имеется n! способов ввести ПИН-код. Для 4-значного ПИН-кода будет 24 различные комбинации.

В случае экранной клавиатуры также будет n! способов ввести пароль, состоящий из n знаков. В некоторых паролях будет использоваться клавиша Shift (или другая клавиша) для переключения между различными наборами знаков. Нажатие данной клавиши будет очевидно по следам на клавиатуре, но не будет информации о том, когда именно была нажата клавиша. Если предположить, что в пароле только один символ введен с одновременным нажатием клавиши Shift, то нужно существует n!n вариантов пароля.

В случае жестов также будет n! последовательностей. Для каждого круга и линии, использованных в наборе жестов, количество перестановок увеличивается вдвое. Если все жесты - это круги или линии, то возможный набор перестановок совпадает с набором для пароля, в котором используется клавиша Shift: n!2^n.

Количество перестановок для каждого из описанных выше способов для последовательностей различной длины приводится в таблице:


При наличии трех типов жестов, учете направления и при наложении требования о том, что последовательность должна состоять минимум из трех жестов, возможное количество комбинаций жестов будет равно 1 155 509 083, как было сказано ранее.

Также упрощает подбор графического пароля наличие на изображении областей или точек интереса, которые часто людьми.

Предположим, что изображение имеет m точек интереса. Если пользователь может применять любое количество касаний, линий и кругов, то для пароля длиной в n жестов общее количество перестановок равно


Это дает следующее количество возможных комбинаций:


Как видно, предположив, что в среднем в изображении имеется 10 точек интереса, а длина последовательности жестов равна 3, получим 8 миллионов возможных комбинаций.

Комментариев нет:

Отправить комментарий

ShareThis

Активность на сайте