Идентификация и аутентификация пользователя

Прежде чем получить доступ к ресурсам, пользователь должен пройти процесс представления компьютерной системе, который включает две стадии:

  • идентификацию - пользователь сообщает системе по ее запросу свое имя (идентификатор);
  • аутентификацию - пользователь подтверждает идентификацию, вводя в систему уникальную, не известную другим пользователям информацию о себе (например, пароль).

Для проведения процедур идентификации и аутентификации пользователя необходимо наличие:

  • программы аутентификации;
  • уникальной информации о пользователе.

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

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

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

  • IDi - неизменный идентификатор i-го пользователя, который является аналогом имени и используется для идентификации пользователя;
  • Ki - аутентифицирующая информация пользователя, которая может изменяться и служит для аутентификации (например, пароль Pi = Ki).

Так для носителей типа пластиковых карт выделяется неизменяемая информация IDi и объект в файловой структуре карты, содержащий Ki.

Совокупную информацию в ключевом носителе можно назвать первичной аутентифицирующей информацией i-го пользователя. Очевидно, что внутренний аутентифицирующий объект не должен существовать в системе длительное время (больше времени работы конкретного пользователя). Например, Вы ввели пароль, который программа аутентификации занесла в переменную для сравнения с хранящимися в базе данных. Эта переменная должна быть обнулена не позже, чем Вы закончите свой сеанс. Для длительного хранения следует использовать данные в защищенной форме.

Рассмотрим две типовые схемы идентификации и аутентификации.

Схема 1. В компьютерной системе хранится:

Номер пользователя Информация для идентификации Информация для аутентификации
ID1 E1
ID2 E2
... ... ...
n IDn En

Здесь Ei = F(IDi, Ki), где "невосстановимость" Ki оценивается некоторой пороговой трудоемкостью T0 решения задачи восстановления Ki по Ei и IDi. Кроме того для пары Ki и Kj возможно совпадение соответствующих значений E. В связи с этим вероятность ложной аутентификации пользователей не должна быть больше некоторого порогового значения P0. На практике задают T0 = 1020...1030, P0 = 10-7...10-9.

Протокол идентификации и аутентификации (для схемы 1).

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

2. Если существует i = 1...n, для которого ID = IDi, то пользователь идентификацию прошел успешно. Иначе пользователь не допускается к работе.

3. Модуль аутентификации запрашивает у пользователя его аутентификатор K.

4. Вычисляется значение E = F(ID, K).

5. Если E = Ei, то аутентификация прошла успешно. Иначе пользователь не допускается к работе.

Схема 2 (модифицированная). В компьютерной системе хранится:

Номер пользователя Информация для идентификации Информация для аутентификации
ID1, S1 E1
ID2, S2 E2
... ... ...
n IDn, Sn En

Здесь Ei = F(Si, Ki), где S - случайный вектор, задаваемый при создании идентификатора пользователя; F - функция, которая обладает свойством "невосстановимости" значения Ki по Ei и Si.

Протокол идентификации и аутентификации (для схемы 2).

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

2. Если существует i = 1...n, для которого ID = IDi, то пользователь идентификацию прошел успешно. Иначе пользователь не допускается к работе.

3. По идентификатору ID выделяется вектор S.

4. Модуль аутентификации запрашивает у пользователя его аутентификатор K.

5. Вычисляется значение E = F(S, K).

6. Если E = Ei, то аутентификация прошла успешно. Иначе пользователь не допускается к работе.

Вторая схема аутентификации применяется в OC UNIX. В качестве идентификатора используется имя пользователя (запрошенное по Login), в качестве аутентификатора - пароль пользователя (запрошенный по Password). Функция F представляет собой алгоритм шифрования DES. Эталоны для идентификации и аутентификации содержатся в файле Etc/passwd.

Следует отметить, что необходимым требованием устойчивости схем идентификации и аутентификации к восстановлению информации Ki является случайный равновероятный выбор Ki из множества возможных значений.

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

Лучше вместо открытой формы пароля P пересылать его отображение, получаемое с использованием односторонней функции f(P). Это преобразование должно гарантировать невозможность раскрытия пароля по его отображению. Так противник наталкивается на неразрешимую числовую задачу.

Например, функция f может быть определена следующим образом:

f(P) = EP(ID) ,


где P - пароль, ID - идентификатор, EP - процедура шифрования, выполняемая с использованием пароля в качестве ключа.

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

f(P) = EP + K(ID) ,


где K - ключ (таблетка Toch-memory, USB-ключ и т.п.)

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

Основные достоинства биометрических методов идентификации и аутентификации:

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

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

  • узор радужной оболочки и сетчатки глаз;
  • отпечатки пальцев;
  • геометрическая форма руки;
  • форма и размеры лица;
  • термограмма лица;
  • форма ушей;
  • особенности голоса;
  • ДНК;
  • биомеханические характеристики рукописной подписи;
  • биомеханические характеристики "клавиатурного почерка".

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

Системы идентификации по узору радужной оболочки и сетчатки глаз могут быть разделены на два класса:

  • использующие рисунок радужной оболочки глаза;
  • использующие рисунок кровеносных сосудов сетчатки глаза.

Поскольку вероятность повторения данных параметров равна 10-78, эти системы являются наиболее надежными среди всех биометрических систем. Такие средства применяются, например, в США в зонах военных и оборонных объектов.

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

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

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

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

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

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