Тема: Методы аутентификации, использующие пароли
Цель: формирование умений использования алгоритмов различных методов аутентификации
Оборудование: персональный компьютер, ОС Windows 7
Время выполнения: 2 часа
Теоретический материал
В соответствии с сертификационными требованиями к системам безопасности операционных систем при подключении пользователей должен реализовываться механизм аутентификации и/или идентификации.
Идентификация и аутентификация применяются для ограничения доступа случайных и незаконных субъектов (пользователи, процессы) информационных систем к ее объектам (аппаратные, программные и информационные ресурсы).
Идентификация – присвоение субъектам и объектам доступа личного идентификатора и сравнение его с заданным.
Аутентификация (установление подлинности) – проверка принадлежности субъекту доступа предъявленного им идентификатора и подтверждение его подлинности. Другими словами, аутентификация заключается в проверке: является ли подключающийся субъект тем, за кого он себя выдает
Настройка параметров аутентификации операционных систем выполняется в рамках локальной политики безопасности.
Оснастка «Локальная политика безопасности» используется для изменения политики учетных записей и локальной политики на локальном компьютере. При помощи оснастки «Локальная политика безопасности» можно определить:
- кто имеет доступ к компьютеру;
- какие ресурсы могут использовать пользователи;
- включение и отключение записи действий пользователя или группы в журнале событий.
Задания:
1. Аутентификация на основе многоразовых паролей
Одной из распространенных схем аутентификации является простая аутентификация, которая основана на применении традиционных многоразовых паролей с одновременным согласованием средств его использования и обработки. Базовый принцип «единого входа» предполагает достаточность одноразового прохождения пользователем процедуры аутентификации для доступа ко всем сетевым ресурсам.
Процедура простой аутентификации пользователя в сети заключается в следующем: при попытке логического входа в сеть пользователь набирает на клавиатуре компьютера свои идентификатор и пароль. Эти данные поступают для обработки на сервер аутентификации. В базе данных, хранящейся на сервере аутентификации, по идентификатору пользователя находится соответствующая запись, из нее извлекается пароль и сравнивается с тем паролем, который ввел пользователь. Если они совпали, то аутентификация прошла успешно, пользователь получает легальный статус и те права и доступ к ресурсам сети, которые определены для его статуса системой авторизации. В схеме простой аутентификации передача пароля и идентификатора пользователя может выполняться следующими способами:
- в незашифрованном виде; например, согласно протоколу парольной аутентификации PAP (Password Authentication Protocol) пароли передаются по линии связи в открытой незащищенной форме;
- в защищенном виде; все передаваемые данные защищены посредством шифрования или однонаправленной функции.
Задание 1. Зарисуйте схему простой аутентификации и дополните ее недостающими элементами, изучив алгоритм, приведенный ниже. Схема простой аутентификации с использованием пароля показана на рисунке 1.
Вариант аутентификации с передачей пароля пользователя в незашифрованном виде не гарантирует даже минимального уровня безопасности, так как подвержен многочисленным атакам и легко компрометируется. Чтобы защитить пароль, его нужно зашифровать перед пересылкой по незащищенному каналу. Для этого в схему включены средства шифрования ЕК и расшифрования DК управляемые разделяемым секретным ключом К.
Рисунок 1 - Простая аутентификация с использованием пароля
Проверка подлинности пользователя основана на сравнении присланного пользователем пароля РА и исходного значения Р'А, хранящегося в сервере аутентификации. Если значения РА совпадают, то пароль Р'А считается подлинным, а пользователь А - законным.
С точки зрения безопасности более предпочтительным является метод передачи и хранения паролей с использованием односторонних функций: пользователь должен переслать вместо открытой формы пароля его отображение, получаемой с использованием односторонней функции h (.). Это преобразование гарантирует невозможность раскрытия злоумышленником пароля по его отображению, так как злоумышленник наталкивается на неразрешимую числовую задачу.
Задание 2. Зарисуйте схему простой аутентификации с использованием односторонней функции (рис.2)
|
|
IDA |
? |
|
|
|
|
Рисунок 2 - Использование односторонней функции для проверки пароля
Односторонняя функция h(.) может быть определена следующим образом: h(P) = Ep(ID), где
Р – пароль пользователя,
ID – идентификатор пользователя,
Ep – процедура шифрования, выполняемая с использованием пароля Р в качестве ключа.
Такие функции удобны, если длина пароля и ключа одинаковы.
Проверка подлинности пользователя А с помощью пароля РА состоит из пересылки серверу аутентификации отображения h(PА) и сравнения его с предварительно вычисленным и хранимым в базе данных сервера аутентификации эквивалентом h’(PА). Если отображения h(PА) и h’(PА) равны, то считается, что пользователь успешно прошел аутентификацию.
2. Аутентификация на основе одноразовых паролей
Алгоритмы аутентификации, использующие одноразовые пароли, более надежны. Генерация одноразовых паролей может осуществляться аппаратным или программным способом. Некоторые аппаратные средства доступа на основе одноразовых паролей реализуются в виде миниатюрных устройств со встроенным микропроцессором, внешне похожих на платежные пластиковые карточки. Такие карты, обычно называемые аппаратными ключами, могут иметь клавиатуру и небольшое дисплейное окно.
Существуют и программные реализации средств аутентификации на основе одноразовых паролей – программные ключи. Программные ключи размещаются на сменном магнитном диске в виде обычной программы, важной частью которой является генератор одноразовых паролей.
При реализации системы аутентификации на основе одноразовых паролей пользователь сообщает системе свой идентификатор, но вместо того, чтобы вводить каждый раз один и тот же пароль, он указывает последовательность цифр, сообщаемую ему аппаратным или программным ключом. Через определенный небольшой период времени генерируется другая последовательность – новый пароль. Аутентификационный сервер проверяет введенную последовательность и разрешает пользователю осуществить логический вход. Аутентификационный сервер может представлять собой отдельное устройство, выделенный компьютер или же программу, выполняемую на обычном сервере.
Методы применения одноразовых паролей для аутентификации пользователей:
1. Использование механизма временных меток на основе системы единого времени.
2. Использование общего для пользователя и проверяющего списка случайных паролей и надежного механизма их синхронизации.
3. Использование общего для пользователя и проверяющего генератора псевдослучайных чисел с одним и тем же начальным значением.
Задание 3. Рассмотрите алгоритмы аутентификации на основе одноразовых паролей, зарисуйте схемы и дополните их недостающими элементами.
3. Синхронизация по времени
Схема аутентификации с использованием временной синхронизации базируется на алгоритме генерации случайных чисел через определенный интервал времени (изменяемый при желании администратором сети). Схема аутентификации использует два параметра:
• секретный ключ, представляющий собой уникальное 64-битовое число, назначаемое каждому пользователю и хранящееся в базе данных аутентификационного сервера и в аппаратном ключе пользователя;
• значение текущего времени.
Когда удаленный пользователь пытается совершить логический вход в сеть, то ему предлагается ввести его личный персональный номер (PIN), состоящий из 4 десятичных цифр, а также 6 цифр случайного числа, отображаемого в тот момент на дисплее аппаратного ключа. На основе PIN-кода сервер извлекает из базы данных информацию о пользователе, а именно его секретный ключ. Затем сервер выполняет алгоритм генерации случайного числа, используя в качестве параметров найденный секретный ключ и значение текущего времени, и проверяет, совпадает ли сгенерированное число с числом, которое ввел пользователь. Если они совпадают, то пользователю разрешается логический вход.
Проблемами схемы являются:
- временная синхронизация сервера и аппаратного ключа (вопрос согласования часовых поясов решается);
- постепенное рассогласование внутренних часов сервера и аппаратного ключа, тем более что потенциально аппаратный ключ может работать несколько лет;
- случайное число, генерируемое аппаратным ключом, является достоверным паролем в течение определенного интервала времени, поэтому теоретически возможно, что очень проворный хакер может перехватить PIN-код и случайное число и использовать их для доступа к какому-либо серверу сети.
4. Схема с использованием слова - вызова
Аутентификации по схеме «запрос - ответ»: при попытке пользователя осуществить логический вход в сеть аутентификационный сервер передает ему запрос в виде случайного числа (рис. 3). Аппаратный ключ пользователя зашифровывает это случайное число, используя, например, алгоритм DES и секретный ключ пользователя, хранящийся в базе данных сервера и в памяти аппаратного ключа. В зашифрованном виде слово-вызов возвращается на сервер. Сервер, в свою очередь, также зашифровывает сгенерированное им самим случайное число с помощью алгоритма DES и того же секретного ключа пользователя, а затем сравнивает результат с числом, полученным от аппаратного ключа. При совпадении этих чисел пользователь получает разрешение на вход в сеть.
Рисунок 3 - Аутентификация по схеме «запрос - ответ»
Механизм слова - вызова имеет свои ограничения:
· данный механизм обычно требует наличия компьютера на каждом конце соединения, так как аппаратный ключ должен иметь возможность как получать, так и отправлять информацию; а схема временной синхронизации позволяет ограничиться простым терминалом или факсом. В этом случае пользователи могут даже вводить свой пароль с телефонной клавиатуры, когда звонят в сеть для получения голосовой почты.
· схема «запрос - ответ» уступает схеме временной синхронизации по простоте использования. Для логического входа по схеме временной синхронизации пользователю достаточно набрать 10 цифр. Схемы «запрос-ответ» могут потребовать от пользователя выполнения большего числа ручных действий. В некоторых случаях пользователь должен вторично совершить логический вход в коммуникационный сервер уже после аутентификации.
5. Строгая аутентификация. Сервер аутентификации Kerberos
Kerberos – это сетевая служба, предназначенная для централизованного решения задач аутентификации и авторизации в крупных сетях. Она может работать в среде многих популярных ОС, например в последней версии Windows 2000 система Kerberos встроена как основной компонент безопасности.
В основе этой системы лежит несколько простых принципов.
· В сетях, использующих систему безопасности Kerberos, все процедуры аутентификации между клиентами и серверами сети выполняются через посредника, которому доверяют обе стороны аутентификационного процесса, причем таким авторитетным арбитром является сама система Kerberos.
· В системе Kerberos клиент должен доказывать свою аутентичность для доступа к каждой службе, услуги которой он вызывает.
· Все обмены данными в сети выполняются в защищенном виде с использованием алгоритма шифрования DES.
Сетевая служба Kerberos построена по архитектуре клиент-сервер. Kerberos-клиент устанавливается на всех компьютерах сети, которые могут обратиться к какой-либо сетевой службе. В таких случаях Kerberos -клиент от лица пользователя передает запрос на Kerberos - сервер и поддерживает с ним диалог, необходимый для выполнения функций системы Kerberos.
В системе Kerberos имеются следующие участники: Kerberos - сервер, Кеrberos-клиенты, ресурсные серверы. Kerberos-клиенты пытаются получить доступ к сетевым ресурсам – файлам, приложениям, принтеру и т. д. Этот доступ может быть предоставлен, во - первых, только легальным пользователям, а во - вторых, при наличии у пользователя достаточных полномочий, определяемых службами авторизации соответствующих ресурсных серверов – файловым сервером, сервером приложений, сервером печати. Однако в системе Kerberos ресурсным серверам запрещается «напрямую» принимать запросы от клиентов, им разрешается начинать рассмотрение запроса клиента только тогда, когда на это поступает разрешение от Kerberos - сервера. Таким образом, путь клиента к ресурсу в системе Kerberos состоит из трех этапов:
1. Определение легальности клиента, логический вход в сеть, получение разрешения на продолжение процесса получения доступа к ресурсу.
2. Получение разрешения на обращение к ресурсному серверу.
3. Получение разрешения на доступ к ресурсу.
Для решения первой и второй задач клиент обращается к Kerberos-серверу. Каждая из этих двух задач решается отдельным сервером, входящим в состав Kerberos - сервера. Выполнение первичной аутентификации и выдача разрешения на продолжение процесса получения доступа к ресурсу осуществляется так называемым аутентификационпым сервером (Authentication Server, AS). Этот сервер хранит в своей базе данных информацию об идентификаторах и паролях пользователей.
Вторую задачу, связанную с получением разрешения на обращение к ресурсному серверу, решает другая часть Kerberos-сервера – сервер квитанций (Ticket-Granting Server, TGS). Сервер квитанций для легальных клиентов выполняет дополнительную проверку и дает клиенту разрешение на доступ к нужному ему ресурсному серверу, для чего наделяет его электронной формой - квитанцией. Для выполнения своих функций сервер квитанций использует копии секретных ключей всех ресурсных серверов, которые хранятся у него в базе. Кроме этих ключей сервер TGS имеет еще один секретный DES-ключ, который разделяет с сервером AS.
Третья задача – получение разрешения на доступ к ресурсу – разрешается на уровне ресурсного сервера.
Задание 4. Изучите процедуру работы системы Kerberos, сделайте соответствующие записи и рисунки.
Чтобы с помощью Kerberos получить доступ к S (обычно это сервер), C (как правило - клиент) посылает Kerberos запрос, содержащий сведения о нем (клиенте) и о запрашиваемой услуге. В ответ Kerberos возвращает так называемый билет, зашифрованный секретным ключом сервера, и копию части информации из билета, зашифрованную секретным ключом клиента. Клиент должен расшифровать вторую порцию данных и переслать ее вместе с билетом серверу. Сервер, расшифровав билет, может сравнить его содержимое с дополнительной информацией, присланной клиентом. Совпадение свидетельствует о том, что клиент смог расшифровать предназначенные ему данные (ведь содержимое билета никому, кроме сервера и Kerberos, недоступно), то есть продемонстрировал знание секретного ключа. Значит, клиент - именно тот, за кого себя выдает. Проиллюстрируем описанную процедуру. Здесь c и s - сведения (например, имя), соответственно, о клиенте и сервере, d1 и d2 - дополнительная (по отношению к билету) информация, Tc.s - билет для клиента C на обслуживание у сервера S, Kc и Ks - секретные ключи клиента и сервера, {info}K - информация info.
Таким образом, Kerberos не только устойчив к сетевым угрозам, но и поддерживает концепцию единого входа в сеть.
Контрольные вопросы:
1. Поясните связь терминов «идентификация», «аутентификация», «авторизация», «администрирование».
2. Период генерации одноразовых паролей является одним из настраиваемых параметров аппаратного ключа. Из каких соображений администратор может выбрать и назначить значение для этого параметра?
3. Нужна ли клавиатура набора цифр на карточке – аппаратном ключе, применяемом при аутентификации на основе одноразовых паролей по схеме «запрос-ответ»? А по схеме, использующей синхронизацию по времени?
Скачано с www.znanio.ru
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.