В обычной жизни мы узнаем друг друга в лицо. Если знакомы. Если не знакомы — по паспорту или аналогичному документу с фотографией. «Опознать» же человека, сидящего за компьютером по ту сторону Сети, несколько сложнее — это требует достаточно специфичных методов.

Идентификация и аутентификация

Прежде чем проверять истинность пользователя, его нужно идентифицировать (выяснить, «кто есть ху»1), т.е. из многих пользователей, зарегистрированных в системе, выбрать по некоему уникальному идентификатору одного. Его-то система и будет проверять. Идентификатор — это имя, под которым зарегистрирован пользователь в проверяющей его компьютерной системе. Например, в окне «Ввод сетевого пароля», которое знакомо, несомненно, всем читателям журнала «Мир ПК» (рис. 1), идентификатором пользователя является содержимое поля «Имя».

Рис. 1. Пример идентификатора пользователя

Другими словами, идентификация пользователя — это получение от него ответа на вопрос: «Кто ты?» Скажем, Вася . А аутентификация — это требование: «А теперь докажи, что ты именно Вася» и последующая проверка доказательств. То есть проверка, действительно ли пользователь является тем, за кого он себя выдает.

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

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

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

На самом деле в реальных системах эталонный пароль может храниться в таблице в зашифрованном виде (например, в файле /etc/passwd или /etc/shadow в Linux-системах) или вместо пароля сохраняется его хэш (о хэшировании см. статью «Электронная цифровая подпись», «Мир ПК», № 3/02). Это не позволит злоумышленнику, получившему доступ к хранилищу эталонов, ознакомиться с паролями всех пользователей системы.

В более сложных случаях (прежде всего при удаленной аутентификации) предъявляемая пользователем аутентификационная информация и ее эталонный образец могут дополнять друг друга, участвуя в каких-либо криптографических преобразованиях. Для этого используются различные протоколы сетевой аутентификации. Пример ее приведен в статье «Конкурсы AES и NESSIE», «Мир ПК», № 12/04.)

Информация, по которой опознается пользователь, бывает трех видов:

  • Пользователь знает нечто уникальное и демонстрирует компьютеру это знание. Такой информацией может быть, например, пароль.
  • Пользователь имеет предмет с уникальным содержимым или с уникальными характеристиками.
  • Аутентификационная информация является неотъемлемой частью пользователя. По этому принципу строятся системы биометрической аутентификации, использующие в качестве информации, например, отпечаток пальца.

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

Каждый из перечисленных выше методов имеет свои достоинства и недостатки. Для устранения последних в компьютерных системах часто используют комбинацию различных методов аутентификации, например смарт-карту в виде предмета с уникальным содержимым (скажем, криптографическим ключом), для доступа к которому необходимо ввести PIN-код. То есть пользователь для входа в систему не только должен иметь при себе смарт-карту, но и знать уникальную последовательность — PIN-код. Такая аутентификация называется двухфакторной — по числу проверяемых параметров.

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

Поговорим о достоинствах и недостатках упомянутых выше методов.

Пароль

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

Недостатков же у парольной аутентификации не счесть.

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

  • какую-либо производную от идентификатора пользователя (в том числе нередко непосредственно сам идентификатор);
  • слово какого-либо языка (в том числе имя собственное — кличку собаки, название любимой футбольной команды и т.д.) или общеупотребительную фразу. Такие пароли подбираются злоумышленником путем словарной атаки — перебором слов и наиболее часто употребляемых фраз по определенному словарю. Причем известно, что подавляющее большинство таких паролей укладывается в относительно небольшой «список наиболее частых паролей». Такой список приведен, в частности, в книге Б. Леонтьева (см. список рекомендуемой литературы);
  • нередко пользователи применяют короткие пароли, которые легко подбираются перебором всех возможных вариантов.

Во-вторых, пароль могут подсмотреть или перехватить при вводе.

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

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

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

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

Существуют системы, включающие пароль под принуждением: пользователь применяет один пароль для нормального входа в систему, а другой, также предопределенный пароль, сигнализирует модулю аутентификации о том, что пользователя принуждают к входу в систему. Программы прозрачного шифрования, например, предоставляют при вводе пароля под принуждением дезинформацию, предварительно подобранную принуждаемым пользователем (о прозрачном шифровании см. статью «Виртуальные частные сети и другие способы защиты информации», «Мир ПК», № 4/02 ).

Однако видно, что подобные усовершенствования усложняют парольную аутентификацию, основное достоинство которой — простота.

Уникальный предмет

Рис. 2. Пример USB-токена: ruToken

Для аутентификации пользователей наиболее часто применяются следующие предметы: смарт-карты, карты с магнитной полосой, электронные таблетки iButton, USB-токены (рис. 2).

Уникальность каждого из перечисленных предметов определяется информацией, которую он содержит. В простейшем случае эта информация представляет собой идентификатор и пароль пользователя, которые просто считываются с носителя и передаются модулю аутентификации. Более сложный случай — носитель содержит криптографический ключ, который используется в каком-либо из протоколов удаленной аутентификации. Кстати говоря, микропроцессорные смарт-карты и USB-токены могут сами выполнять криптографические преобразования и играть активную роль в аутентификации.

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

Недостатков у «предметной» аутентификации несколько меньше, чем у парольной, а именно следующие:

  • предмет может быть похищен или отнят у его владельца;
  • в большинстве случаев требуется специальное оборудование для работы с предметами;
  • иногда возможно изготовление копии или эмулятора предмета.

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

Биометрическая аутентификация

Еще десяток лет назад биометрическая аутентификация встречалась в основном в фантастических произведениях. Сейчас биометрические технологии переживают период бурного роста, резко усилившегося после событий 11 сентября 2001 г. Тогда эксперты посчитали, что биометрические технологии, особенно распознавание людей по чертам лица, помогут в поиске террористов и других злоумышленников. К сожалению, нельзя сказать, что ожидания экспертов полностью оправдались, однако биометрические технологии прочно заняли свое место на рынке средств идентификации и аутентификации пользователей.

В качестве аутентификационной информации в данном случае берутся во внимание оригинальные и неотъемлемые характеристики человека. Наиболее часто используются следующие из них:

  1. Отпечатки пальцев. Известно, что они уникальны для каждого человека, причем не меняются на протяжении жизни. Для сканирования отпечатков пальцев применяется самое дешевое оборудование (по сравнению с другими методами биометрической аутентификации), кроме того, данный метод привычен для пользователей и не вызывает каких-либо опасений. Однако считается, что недорогие сканеры отпечатков пальцев можно обмануть специально изготовленным искусственным пальцем.
  2. Рисунок радужной оболочки глаза. Это на сегодня наиболее точный метод биометрической аутентификации. Но многие пользователи боятся процесса сканирования радужной оболочки, да и оборудование для сканирования является дорогостоящим. К тому же данный способ вызывает нарекания со стороны правозащитников. Они говорят, что глаз человека несет много информации о состоянии его здоровья, о злоупотреблении спиртными напитками, наркотиками и т.д. Есть опасения, что эту информацию о пользователях (побочную для процесса аутентификации) настроенная соответствующим образом система может сохранять, после чего возможно ее использование им во вред.
  3. Черты лица. Данная технология распознавания считается очень перспективной, поскольку именно по чертам лица узнают друг друга люди. К сожалению, системы, реализующие данный метод, пока не блещут точностью.

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

* * *

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

Судя по тем же фантастическим фильмам, в будущем паритет между различными методами аутентификации более-менее сохранится: вспомним феерический фильм недалекого прошлого «Пятый элемент» — в нем есть примеры почти всех мыслимых способов аутентификации .

Сергей Панасенко — начальник отдела разработки ПО фирмы «Анкад», канд. техн. наук. С ним можно связаться по е-mail: develop@ancud.ru.


Что можно почитать про аутентификацию

  1. 1. Соколов А.В., Шаньгин В.Ф. Защита информации в распределенных корпоративных сетях и системах. М.: ДМК Пресс, 2002. Исключительно познавательная книга, охватывающая практически все темы защиты информации. Один из ее разделов посвящен теории идентификации и аутентификации пользователей, а также протоколам сетевой аутентификации.
  2. 2. Леонтьев Б. Хакинг без секретов. М.: Познавательная книга плюс, 2000. Содержит «список часто употребляемых паролей» и другую полезную информацию, касающуюся парольной аутентификации.
  3. 3. Медведовский И.Д., Семьянов П.В., Леонов Д.Г. Атака на Internet. М.: ДМК Пресс, 2000. Одна из глав этой книги целиком посвящена методам социальной инженерии.
  4. 4. Евангели А. PC Week/RE 2003, № 7, с. 24—25. Технологии биоидентификации и биометрический рынок. Статья, подробно описывающая методы биометрической аутентификации и существующие технические решения.
  5. 5. Матвеев И.А., Ганькин К.А. Распознавание человека по радужке // Системы безопасности, 2004, № 5, с. 72. Подробно описаны технические особенности аутентификации по рисунку радужной оболочки глаза.

1 М.С. Горбачев, 1991.