
3. Строгая аутентификация. Сервер аутентификации Kerberos
Kerberos – это сетевая служба, предназначенная для централизованного решения задач аутентификации и авторизации в крупных сетях. Она может работать в среде многих популярных ОС, например в последней версии Windows 2000 система Kerberos встроена как основной компонент безопасности.
В основе этой системы лежит несколько простых принципов.
В сетях, использующих систему безопасности Kerberos, все процедуры аутентификации между клиентами и серверами сети выполняются через посредника, которому доверяют обе стороны аутентификационного процесса, причем таким авторитетным арбитром является сама система Kerberos.
В системе Kerberos клиент должен доказывать свою аутентичность для доступа к каждой службе, услуги которой он вызывает.
Все обмены данными в сети выполняются в защищенном виде с использованием алгоритма шифрования DES.
Сетевая служба Kerberos построена по архитектуре клиент-сервер. Kerberos-клиент устанавливается на всех компьютерах сети, которые могут обратиться к какой-либо сетевой службе. В таких случаях Kerberos-клиент от лица пользователя передает запрос на Kerberos-сервер и поддерживает с ним диалог, необходимый для выполнения функций системы Kerberos.
В системе Kerberos имеются следующие участники: Kerberos-сервер, Кеrberos-клиенты, ресурсные серверы. Kerberos-клиенты пытаются получить доступ к сетевым ресурсам – файлам, приложениям, принтеру и т. д. Этот доступ может быть предоставлен, во-первых, только легальным пользователям, а во-вторых, при наличии у пользователя достаточных полномочий, определяемых службами авторизации соответствующих ресурсных серверов – файловым сервером, сервером приложений, сервером печати. Однако в системе Kerberos ресурсным серверам запрещается «напрямую» принимать запросы от клиентов, им разрешается начинать рассмотрение запроса клиента только тогда, когда на это поступает разрешение от Kerberos-сервера. Таким образом, путь клиента к ресурсу в системе Kerberos состоит из трех этапов:
Определение легальности клиента, логический вход в сеть, получение разрешения на продолжение процесса получения доступа к ресурсу.
Получение разрешения на обращение к ресурсному серверу.
Получение разрешения на доступ к ресурсу.
Для решения первой и второй задач клиент обращается к Kerberos-серверу. Каждая из этих двух задач решается отдельным сервером, входящим в состав Kerberos-сервера. Выполнение первичной аутентификации и выдача разрешения на продолжение процесса получения доступа к ресурсу осуществляется так называемым аутентификационпым сервером (Authentication Server, AS). Этот сервер хранит в своей базе данных информацию об идентификаторах и паролях пользователей.
В
торую
задачу, связанную с получением разрешения
на обращение к ресурсному серверу,
решает другая часть Kerberos-сервера
– сервер
квитанций (Ticket-Granting
Server,
TGS).
Сервер
квитанций для легальных клиентов
выполняет дополнительную проверку и
дает клиенту разрешение на доступ к
нужному ему ресурсному серверу, для
чего наделяет его электронной
формой-квитанцией. Для выполнения своих
функций сервер квитанций использует
копии секретных ключей всех ресурсных
серверов, которые хранятся у него в
базе. Кроме этих ключей сервер TGS
имеет еще один секретный DES-ключ,
который разделяет с сервером AS.
Т
ретья
задача – получение разрешения на доступ
непосредственно к ресурсу – разрешается
на уровне ресурсного сервера.
Рис. 4. Три этапа работы системы Kerberos
Задание 4. Изучите процедуру работы системы Kerberos, сделайте соответствующие записи и рисунки.
Чтобы с помощью Kerberos получить доступ к S (обычно это сервер), C (как правило - клиент) посылает Kerberos запрос, содержащий сведения о нем (клиенте) и о запрашиваемой услуге. В ответ Kerberos возвращает так называемый билет, зашифрованный секретным ключом сервера, и копию части информации из билета, зашифрованную секретным ключом клиента. Клиент должен расшифровать вторую порцию данных и переслать ее вместе с билетом серверу. Сервер, расшифровав билет, может сравнить его содержимое с дополнительной информацией, присланной клиентом. Совпадение свидетельствует о том, что клиент смог расшифровать предназначенные ему данные (ведь содержимое билета никому, кроме сервера и Kerberos, недоступно), то есть продемонстрировал знание секретного ключа. Значит, клиент - именно тот, за кого себя выдает. Подчеркнем, что секретные ключи в процессе проверки подлинности не передавались по сети (даже в зашифрованном виде) - они только использовались для шифрования. Как организован первоначальный обмен ключами между Kerberos и субъектами и как субъекты хранят свои секретные ключи - вопрос отдельный.
Проиллюстрируем описанную процедуру. Здесь c и s - сведения (например, имя), соответственно, о клиенте и сервере, d1 и d2 - дополнительная (по отношению к билету) информация, Tc.s - билет для клиента C на обслуживание у сервера S, Kc и Ks - секретные ключи клиента и сервера, {info}K - информация info,
Таким образом, Kerberos не только устойчив к сетевым угрозам, но и поддерживает концепцию единого входа в сеть.
Контрольные вопросы:
Поясните связь терминов «идентификация», «аутентификация», «авторизация», «администрирование».
Период генерации одноразовых паролей является одним из настраиваемых параметров аппаратного ключа. Из каких соображений администратор может выбрать и назначить значение для этого параметра?
Нужна ли клавиатура набора цифр на карточке – аппаратном ключе, применяемом при аутентификации на основе одноразовых паролей по схеме «запрос-ответ»? А по схеме, использующей синхронизацию по времени?
Администратор сети, мотивируя свой отказ от использования системы Кегberos, заявил, что эта система для своей работы требует слишком больших накладных расходов, а кроме того, защищаемые приложения придется пере писывать. Согласны ли вы с его аргументами?