Задачей систем идентификации и аутентификации является определение и верификация набора полномочий субъекта при доступе к информационной системе. Идентификацией субъекта при доступе к информационной системе называется процесс сопоставления его с некоторой хранимой системой характеристикой субъекта — идентификатором. В дальнейшем, идентификатор субъекта используется для предоставления субъекту определенного уровня прав и полномочий при использовании информационной системой.
Аутентификацией субъекта называется процедура верификации принадлежности идентификатора субъекту. Аутентификация производится на основании того или иного секретного элемента (аутентификатора), которым располагают как субъект, так и информационной система. Обычно информационная система располагает не самим секретным элементом, но некоторой информацией о нем, на основании которой принимается решение об адекватности субъекта идентификатору.
Рассмотрим конкретный пример. Перед началом интерактивного сеанса работы большинство операционных систем запрашивают у пользователя его имя и пароль. Введенное имя является идентификатором пользователя, а его пароль — аутентификатором. Операционная система обычно хранит не сам пароль, а его хэш-сумму, обеспечивая, тем самым, практическую невозможность восстановления пароля. Строго говоря, в таких операционных системах как UNIX или VMS, идентификатором пользователя является число, задаваемое при создании учетной записи пользователя, а имя пользователя является лишь уникальным атрибутом учетной записи.
Использование пары «имя пользователя-пароль» для аутентификации субъектов является наиболее распространенным, но не единственным. Принципиально разных методов аутентификации, на самом деле немного. Один класс методов аутентификации основывается на том, что аутентифицируемый субъект должен иметь некоторый секретный элемент (пароль, секретный ключ или специальный аутентификационный токен — razgovorodele.ru). Другой класс методов аутентификации применим в основном для аутентификаций людей. Он основывается на наличии уникальных физических свойствах самого человека (отпечатки пальцев, форма кисти руки, голос, радужная оболочка глаза).
У каждого класса методов есть как достоинства, так и недостатки. Алгоритмически процедура аутентификации представляется как последовательная передача одной или нескольких информационных посылок между субъектом и информационной системой и промежуточная их обработка обеими сторонами. В результате этих действий обе стороны обмена должны удостоверится, что они являются теми, за кого себя выдают. Про аутентификацию секретным элементом мы уже говорили. Другим распространенным методом аутентификации является аутентификация с использованием сертификатов открытого ключа. Разработано и применяется несколько таких алгоритмов.
Обычно аутентификацию с использованием ключей совмещают с процедурой генерации парного симметричного ключа с целью его дальнейшего использования для обмена сообщениями. Суть метода состоит в том, что каждый из участников обмена путем математических преобразований своего секретного ключа и открытого ключа своего корреспондента и обмена несекретными посылками получают независимо друг от друга секретное число. Поскольку секретный и открытый ключи абонентов связаны некоторым соотношением, то возможно подобрать преобразования ключей так, что полученные обоими абонентами числа совпадают. Полученное секретное число можно использовать в качестве разделяемого секрета.
Другим, интересным методом аутентификации является использование аутентификационного токена. Аутентификационный токен представляет собой физическое устройство, обычно небольших размеров для удобства его ношения с собой. Это может быть смарт-карта или недавно появившиеся устройства, подключаемые к порту USB и выполненные в виде брелока, которые реализуют принцип двухфакторной аутентификации, совмещая достаточно надѐжную защиту с удобством использования (такой USB-ключ можно носить в связке с ключами от дома или в записной книжке, не боясь его повреждения).
Обычно они используются в качестве замены паролей в операционной системе Windows или в других приложениях, требующих ввода пароля. При загрузке ОС вы просто вставляете ключ в USB-порт своего компьютера, вводите PIN-код и можете работать. Когда же вы вынимаете этот ключ, компьютер автоматически блокируется, не давая возможности злоумышленнику произвести какие-либо действия в системе в ваше отсутствие. И даже если он похитил ваш USB-ключ, ему потребуется узнать еще и PIN-код, чтобы получить доступ к вашим данным. Альтернативой USB-ключам являются смарт-карты, которые решают ту же задачу, однако значительно менее удобны в использовании и дороги.
Обычно аутентификационный токен содержит «на борту» энергонезависимую память и специализированный процессор. Некоторые устройства дополнительно имеют встроенный ап-паратный генератор случайных чисел или таймер (часы реального времени — razgovorodele.ru). Процессор токена, в зависимости от мощности способен выполнять самые различные операции. Есть процессоры, способные выполнять шифрование данных алгоритмом DES или вычислять хэш-суммы с использованием ключа (HMAC-MD5). Специализированный токен позволяет производить криптографические преобразования без извлечения ключа из памяти токена и передавать между токеном и компьютером и информационной системой только несекретные или зашифрованные данные, что дополнительно защищает протокол аутентификации от перехвата ключей. Обычно программный доступ к токену возможен только после ввода PIN-кода, известного только владельцу аутентификационного токена. Дополнительные возможности токенов позволяют реализовать более надежные протоколы аутентификации.
Указанные и многие другие методы аутентификации страдают одним недостатком — они, на самом деле, аутентифицируют не конкретного субъекта, а фиксируют тот факт, что аутентификатор субъекта соответствует его идентификатору. То есть, все перечисленные методы не защищены от компрометации аутентификатора. Биометрические методы идентификации или аутентификации свободны от этого недостатка. Как уже отмечалось, биометрические методы основываются на анализе уникальных характеристик самого человека. Биометрическая характеристика может являться как идентификатором (как, собственно, дактилоскопия рассматривает отпечаток пальца как идентификатор личности), так и аутентификатором (пользователь вводит свое имя и подтверждает его, посмотрев в окуляр анализатора радужной оболочки глаза). Для некоторых приложений (например, для контроля доступа в помещения) идентификации оказывается достаточно. Для некоторых («параноидальных») случаев требуется ввести имя пользователя, его отпечаток пальца да еще и произнести кодовую фразу.
Наиболее распространенным методом (и дешевым) биометрической идентификации или аутентификации является анализ отпечатка пальца. При регистрации пользователя, в базу данных аутентификационного сервера помещается свертка — некоторая хэш-сумма отсканированного отпечатка пальца. В зависимости от реализации, длина свертки составляет 200-400 байт. Но у биометрических методов аутентификации личности есть один серьезный недостаток (кроме относительно высокой стоимости — razgovorodele.ru). В случае компрометации аутентификационного токена, ключа или пароля субъект может отказаться от его использования и получить новый аутентификатор. В случае компрометации электронного представления биометрического аутентификатора, человек может просто «выпасть» из процесса аутентификации.
В случае использования биометрической характеристики как идентификатора личности, угрозы компрометации нет. Защита компьютеров от НСД со стороны злоумышленников является составной частью комплексного подхода к организации корпоративной информационной безопасности. В России имеется немало предложений в этой области,, среди которых важное место занимают рассмотренные электронные системы идентификации и аутентификации. Решение о необходимости и выборе той или иной системы (на базе iButton, смарт-карт, радиочастотных идентификаторов или USB-ключей) остается за руководителем компании.