- 5.2. Идентификация и аутентификация пользователя
- 5.2.1 Типовые схемы идентификации и аутентификации
- 1. Идентификация и аутентификация пользователей
- 2. Проверка подлинности получаемых и передаваемых данных
- 3. Разграничение доступа к ресурсам внутренней или внешней сети
- 4. Фильтрация и преобразование потока сообщений
- 14. Идентификация и аутентификация пользователя.
- 15. Биометрические методы идентификации и аутентификации пользователя.
5.2. Идентификация и аутентификация пользователя
Прежде чем получить доступ к ресурсам компьютерной системы, пользователь должен пройти процесс представления компьютерной системе, который включает две стадии:
- идентификацию — пользователь сообщает системе по ее запросу свое имя (идентификатор);
- аутентификацию — пользователь подтверждает идентификацию вводя в систему уникальную, не известную другим пользователям информацию о себе (например, пароль).
Для проведения процедур идентификации и аутентификации пользователя необходимы:
- во-первых, наличие соответствующего субъекта (модуля) аутентификации;
- во-вторых, наличие аутентифицирующего объекта, хранящего уникальную информацию для аутентификации пользователя.
Различают две формы представления объектов, аутентифицирующих пользователя:
- внешний аутентифицирующий объект, не принадлежащий системе;
- внутренний объект, принадлежащий системе, в который переносится информация из внешнего объекта.
Внешние объекты могут быть технически реализованы на различных носителях информации — магнитных дисках, пластиковых картах и т.п. Естественно, что внешняя и внутренняя формы представления аутентифицирующего объекта должны быть семантически тождественны.
5.2.1 Типовые схемы идентификации и аутентификации
Рассмотрим структуры данных и протоколы идентификации и аутентификации пользователя [73]. Допустим, что в компьютерной системе зарегистрировано n пользователей. Пусть i-й аутентифицирующий объект i-го пользователя содержит два информационных поля:
IDi — неизменный идентификатор i-го пользователя, который является аналогом имени и используется для идентификации пользователя;
Ki — аутентифицирующая информация пользователя, которая может изменяться и служит для аутентификации (например, пароль Pi = Ki).
Описанная структура соответствует практически любому ключевому носителю информации, используемому для опознания пользователя. Например, для носителей типа пластиковых карт выделяется неизменяемая информация IDi первичной персонализации пользователя и объект в файловой структуре карты, содержащий Ki.
Совокупную информацию в ключевом носителе можно назвать первичной аутентифицирующей информацией i-го пользователя. Очевидно, что внутренний аутентифицирующий объект не должен существовать в системе длительное время (больше времени работы конкретного пользователя). Для длительного хранения следует использовать данные в защищенной форме.
Рассмотрим две типовые схемы идентификации и аутентификации.
Схема 1. В компьютерной системе выделяется объект-эталон для идентификации и аутентификации пользователей. Структура объекта-эталона для схемы 1 показана в таблице 5.1.
Информация для идентификации
Информация для аутентификации
где F — функция, которая обладает свойством “невосстановимости” значения Ki по Ei и IDi. “Невосстановимость” Ki оценивается некоторой пороговой трудоемкостью Т решения задачи восстановления аутентифицирующей информации Ki по Еi и IDi. Кроме того, для пары Ki и Kj возможно совпадение соответствующих значений Е. В связи с этим вероятность ложной аутентификации пользователя не должна быть больше некоторого порогового значения Р. На практике задают Т = 10 20 . 10 30 , Р = 10 -7 . 10 -9 [73].
Протокол идентификации и аутентификации (для схемы 1).
- Пользователь предъявляет свой идентификатор ID.
- Если ID не совпадает ни с одним IDi , зарегистрированным в компьютерной системе, то идентификация отвергается — пользователь не допускается к работе, иначе (существует IDi = ID) устанавливается, что пользователь, назвавшийся пользователем i, прошел идентификацию.
- Субъект аутентификации запрашивает у пользователя его аутентификатор К.
- Субъект аутентификации вычисляет значение
- Субъект аутентификации производит сравнение значений Y и Ei. При совпадении этих значений устанавливается, что данный пользователь успешно аутентифицирован в системе. Информация об этом пользователе передается в программные модули, использующие ключи пользователей (т.е. в систему шифрования, разграничения доступа и т. д.). В противном случае аутентификация отвергается — пользователь не допускается к работе.
Данная схема идентификации и аутентификации пользователя может быть модифицирована. Модифицированная схема 2 обладает лучшими характеристиками по сравнению со схемой 1.
Схема 2. В компьютерной системе выделяется модифицированный объект-эталон, структура которого показана в таблице 5.2.
Информация для идентификации
Информация для аутентификации
В отличие от схемы 1, в схеме 2 значение Ei = F (Si, Ki),
где Si — случайный вектор, задаваемый при создании идентификатора пользователя, т.е. при создании строки, необходимой для идентификации и аутентификации пользователя;
F — функция, которая обладает свойством “невосстановимости” значения Ki по Ei и Si.
Протокол идентификации и аутентификации (для схемы 2).
- Пользователь предъявляет свой идентификатор ID.
- Если ID не совпадает ни с одним IDi, зарегистрированным в компьютерной системе, то идентификация отвергается — пользователь не допускается к работе, иначе (существует IDi = ID) устанавливается, что пользователь, называвшийся пользователем i, прошел идентификацию.
- По идентификатору IDi выделяется вектор Si.
- Субъект аутентификации запрашивает у пользователя аутентификатор К.
- Субъект аутентификации вычисляет значение
- Субъект аутентификации производит сравнение значений Y и Еi. При совпадении этих значений устанавливается, что данный пользователь успешно аутентифицирован в системе. В противном случае аутентификация отвергается — пользователь не допускается к работе.
Вторая схема аутентификации применяется в ОС UNIX. В качестве идентификатора ID используется имя пользователя (запрошенное по Loqin), в качестве аутентификатора Ki — пароль пользователя (запрошенный по Password), функция F представляет собой алгоритм шифрования DES. Эталоны для идентификации и аутентификации содержатся в файле Etc/passwd.
Следует отметить, что необходимым требованием устойчивости схем аутентификации к восстановлению информации Кi является случайный равновероятный выбор Кi из множества возможных значений.
Системы парольной аутентификации имеют пониженную стойкость, поскольку в них выбор аутентифицирующей информации происходит из относительно небольшого множества осмысленных слов. Мощность этого множества определяется энтропией соответствующего языка.
Особенности применения пароля для аутентификации
Традиционно каждый законный пользователь компьютерной системы получает идентификатор и/или пароль. В начале сеанса работы пользователь предъявляет свой идентификатор системе, которая затем запрашивает у пользователя пароль.
Простейший метод подтверждения подлинности с использованием пароля основан на сравнении представляемого пользователем пароля PA с исходным значением PA‘ , хранящимся в компьютерном центре (рис. 5.1). Поскольку пароль должен храниться в тайне, он должен шифроваться перед пересылкой по незащищенному каналу. Если значения PA и PA‘ совпадают, то пароль PA считается подлинным, а пользователь — законным [123].
Если кто-нибудь, не имеющий полномочий для входа в систему, узнает каким-либо образом пароль и идентификационный номер законного пользователя, он получает доступ в систему.
Рисунок 5.1 – Схема простой аутентификации с помощью пароля
Иногда получатель не должен раскрывать исходную открытую форму пароля. В этом случае отправитель должен пересылать вместо открытой формы пароля отображение пароля, получаемое с использованием односторонней функции () пароля. Это преобразование должно гарантировать невозможность раскрытия противником пароля по его отображению, так как противник наталкивается на неразрешимую числовую задачу.
Например, функция () может быть определена следующим образом:
где Р — пароль отправителя,
ID — идентификатор отправителя,
EР — процедура шифрования, выполняемая с использованием пароля Р в качестве ключа.
Такие функции особенно удобны, если длина пароля и ключа одинаковы. В этом случае подтверждение подлинности с помощью пароля состоит из пересылки получателю отображения (Р) и сравнения его с предварительно вычисленным и хранимым эквивалентом ’ (Р).
На практике пароли состоят только из нескольких букв, чтобы дать возможность пользователям запомнить их. Короткие пароли уязвимы к атаке полного перебора всех вариантов. Для того, чтобы предотвратить такую атаку, функцию (Р) определяют иначе, а именно:
где K и ID — соответственно ключ и идентификатор отправителя.
Очевидно, значение (Р) вычисляется заранее и хранится в виде ’ (Р) в идентификационной таблице у получателя (рис. 5.2). Подтверждение подлинности состоит из сравнения двух отображений пароля (РА) и ’ (РА) и признания пароля РА , если эти отображения равны. Конечно, любой, кто получит доступ к идентификационной таблице, может незаконно изменить ее содержимое, не опасаясь, что эти действия будут обнаружены.
Рисунок 5.2 – Аутентификация с помощью пароля с использованием идентификационной таблицы
Применение для целей идентификации и аутентификации персонального идентификационного номера PIN рассматривается в главе 9.
1. Идентификация и аутентификация пользователей
Идентификация и аутентификация пользователей необходима для высокой степени безопасности не только при их доступе из внешней сети во внутреннюю, но и наоборот. Пароль не должен передаваться в открытом виде через общедоступные коммуникации. Это предотвратит получение несанкционированного доступа путем перехвата сетевых пакетов, что возможно, например, в случае стандартных сервисов типа Telnet. Оптимальным способом аутентификации является использование одноразовых паролей. Удобно и надежно также применение цифровых сертификатов, выдаваемых доверительными органами, например центром распределения ключей. Большинство программ-посредников разрабатываются таким образом, чтобы пользователь аутентифицировался только в начале сеанса работы с межсетевым экраном. После этого от него не требуется дополнительная аутентификация в течение времени, определяемого администратором.
2. Проверка подлинности получаемых и передаваемых данных
Проверка подлинности передаваемых данных актуальна не только для аутентификации электронных сообщений, но и для мигрирующих программ (Java, ActiveX Controls), no отношению к которым может быть выполнен подлог. Проверка подлинности сообщений и программ заключается в контроле их цифровых подписей. Для этого также могут применяться цифровые сертификаты.
3. Разграничение доступа к ресурсам внутренней или внешней сети
Разграничение доступа к ресурсам производится на основе идентификации и аутентификации пользователей при обращении к межсетевому экрану. Способы разграничения к ресурсам внутренней сети ничем не отличаются от способов разграничения, поддерживаемых на уровне операционной системы. При разграничении доступа к ресурсам внешней сети чаще всего используется один из следующих подходов:
- разрешение доступа только по заданным адресам во внешней сети;
- фильтрация запросов на основе обновляемых списков недопустимых адресов и блокировка поиска информационных ресурсов по нежелательным ключевым словам;
- накопление и обновление администратором санкционированных информационных ресурсов внешней сети в дисковой памяти брандмауэра и полный запрет доступа во внешнюю сеть.
4. Фильтрация и преобразование потока сообщений
- экранирующие агенты, ориентированные на анализ потока сообщений для определенных видов сервиса, например, FTP, HTTP, Telnet;
- универсальные экранирующие агенты, обрабатывающие весь поток сообщений, например, агенты, ориентированные на поиск и обезвреживание компьютерных вирусов или прозрачное шифрование данных.
14. Идентификация и аутентификация пользователя.
Прежде чем получить доступ к ресурсам, пользователь должен пройти процесс представления компьютерной системе, который включает две стадии:
- идентификацию — пользователь сообщает системе по ее запросу свое имя (идентификатор);
- аутентификацию — пользователь подтверждает идентификацию, вводя в систему уникальную, не известную другим пользователям информацию о себе (например, пароль).
- программы аутентификации;
- уникальной информации о пользователе.
15. Биометрические методы идентификации и аутентификации пользователя.
- Аутентификация по отпечатку пальца
- Аутентификация по радужной оболочке глаза
- Аутентификация по сетчатке глаза
- Аутентификация по геометрии руки
- Аутентификация по геометрии лица
- Аутентификация по термограмме лица
- Аутентификация по голосу
- Аутентификация по рукописному почерку
- Каждый объект системы имеет привязанного к нему субъекта, называемого владельцем. Именно владелец устанавливает права доступа к объекту.
- Система имеет одного выделенного субъекта — суперпользователя, который имеет право устанавливать права владения для всех остальных субъектов системы.
- Субъект с определенным правом доступа может передать это право любому другому субъекту.