Владимир Безмалый (vladb@windowslive.com) – специалист по обеспечению безопасности, имеет звание MVP Consumer Security, Microsoft Security Trusted Advisоr

Дмитрий Нефедов (dn@elcomsoft.com) — аналитик информационной безопасности, ElcomSoft Co.Ltd.

В операционной системе Windows 8, особенно с учетом того, что она будет установлена на планшетные компьютеры, возникла необходимость соединить, казалось бы, несоединимое:

-сделать защиту аутентификации более устойчивой;

-сделать процесс аутентификации более простым для пользователя.

Для этого был изобретен графический пароль. Для создания графического пароля необходимо нажать комбинацию клавиш Win+I и выбрать в появившейся справа панели More PC Setting (экран 1).

 

Окно PC Setting
Экран 1. Окно PC Setting

Затем нужно в открывшемся окне выбрать пункт Users, откроется вкладка со свойствами учетной записи пользователя, см. экран 2. Здесь следует нажать кнопку Create picture password, появится мастер создания графического пароля, см. экран 3. В этом окне требуется выбрать рисунок (фотографию), который будет служить основой для пароля. Далее необходимо с помощью жестов, то есть касаясь экрана пальцами или двигая мышью, «нарисовать» на экране комбинацию окружностей, прямых линий и других геометрических элементов.

 

Свойства учетной записи пользователя
Экран 2. Свойства учетной записи пользователя

 

Окно выбора фотографии (картинки)
Экран 3. Окно выбора фотографии (картинки)

При этом вы можете выбрать замкнутую область на экране или соединить пару произвольных точек (см. экран 4). Проделайте это трижды.

 

Выбор линий (точек) пароля
Экран 4. Выбор линий (точек) пароля

Теперь ваш пароль готов и вы можете использовать его для аутентификации.

Персонализированный вход в систему

Фактически графический пароль состоит из двух компонентов:

-изображения из вашей коллекции рисунков;

-набора линий (жестов), которые вы наносите поверх изображения.

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

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

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

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

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

Безопасность и подсчет жестов

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

Анализ количества уникальных комбинаций ПИН-кода довольно прост. В 4-разрядном ПИН-коде (4 разряда с 10 независимыми возможными значениями в каждом из нгих) может быть 10 в четвертой степени или 10 000 уникальных комбинаций.

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

 

formula

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

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

 

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

Для определения количества комбинаций пароля из нескольких жестов воспользуемся таблицей 2, приведенной в статье Стивена Синофски «Выполнение входа с помощью графического пароля» по адресу http://blogs.msdn.com/b/b8_ru/archive/2011/12/22/signing-picture-password.aspx.

 

Количество уникальных комбинаций из?нескольких жестов

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

Уточним: графический пароль добавлен в качестве способа регистрации в системе как дополнение к текстовому паролю, а не вместо него!

Что нужно учесть

Вместе с тем, стоит учесть, что аутентификация в Windows 8 возможна и с помощью учетной записи Live ID, биометрической аутентификации, а также кода PIN. В более старых версиях операционной системы пароль на домашних компьютере хранился в файле SAM. Соответственно, для компрометации этого пароля злоумышленнику нужен был физический доступ к системе и привилегии SYSTEM. Что же получается сегодня? С выходом Windows 8 потенциальному злоумышленнику будет куда легче скомпрометировать систему, потому что в системе аутентификации появились новые слабые звенья. Естественно, хакеру потребуется просто найти наиболее уязвимое из них.

Например, возьмем регистрацию в системе с помощью Live ID. Для конечного пользователя это несомненное удобство: забыл пароль – зашел на сайт Live ID с другого компьютера, воспользовался услугой смены пароля — и можно регистрироваться на своем компьютере с новым паролем. Но, несомненно, это и повышает шансы злоумышленников. Опять-таки, пользователь будет работать за другим компьютером, пароль к Live ID может храниться вместе с остальными паролями в браузере и т.д. И что самое интересное, и пароль Live ID, и ПИН, и графический пароль, и биометрический – все они используются для дополнительного хранения и шифрования обычного пароля для регистрации в системе.

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

Управление через политики

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

Для этого необходимо набрать в командной строке

gpedit.msc

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