Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ГОСЫ / Informatsionnaya_bezopasnost.doc
Скачиваний:
481
Добавлен:
15.02.2016
Размер:
688.13 Кб
Скачать

Сервер аутентификации Kerberos

Kerberos – это программный продукт, разработанный в середине 1980-х годов в Массачусетском технологическом институте, как средство обеспечения сетевой безопасности. Общедоступным этот протокол стал с версии 4, а версия 5 была принята в качестве стандарта IETF. Клиентские компоненты Kerberos присутствуют в большинстве современных операционных систем (UNIX, Windows 2000 и выше).

Kerberos предназначен для решения следующей задачи. Имеется открытая (незащищенная) сеть, в узлах которой сосредоточены субъекты: клиенты – пользователи ) и серверы (S). Каждый субъект обладает секретным ключом. Чтобы субъект C мог доказать свою подлинность S (без этого S не станет обслуживать C), он должен не только назвать себя, но и продемонстрировать знание секретного ключа. C не может просто послать S свой секретный ключ, во-первых, потому, что сеть открыта (доступна для пассивного и активного прослушивания), а, во-вторых, потому, что S не знает (и не должен знать) секретный ключ C.

Система Kerberos представляет собой доверенную третью сторону (то есть сторону, которой доверяют все), владеющую секретными ключами обслуживаемых субъектов и помогающую им в попарной проверке подлинности.

Чтобы с помощью Kerberos получить доступ к S (сервер), C (клиент) посылает Kerberos запрос, содержащий сведения о нем (клиенте) - пароль. В ответ Kerberos возвращает так называемый билет -Ticket, зашифрованный секретным ключом сервера, и копию информации из билета, зашифрованную секретным ключом клиента, который определяется на основании полученных сведений. Клиент должен расшифровать вторую порцию данных и переслать ее вместе с билетом серверу. Сервер, расшифровав свой билет, может сравнить его содержимое с дополнительной информацией, присланной клиентом. Совпадение свидетельствует о том, что клиент смог расшифровать предназначенные ему данные (ведь содержимое билета никому, кроме сервера и Kerberos, недоступно), то есть продемонстрировал знание секретного ключа. Значит, клиент – именно тот, за кого себя выдает. Подчеркнем, что секретные ключи в процессе проверки подлинности не передавались по сети (даже в зашифрованном виде) – они только использовались для шифрования. В билете (квитанции) отмечается момент его создания и срок действия – проставляется метка времени (эта метка необходима для того, чтобы не допустить кому-либо скопировать квитанцию и позднее сымитировать Kerberos-клиента. Этот возможный тип атаки известен как воспроизведение - replay). Срок действия билета отслеживается системой безопасности, для того чтобы ограничить масштабы возможного ущерба, который способен причинить злоумышленник, укравший каким-либо образом билет. Обычно билет действителен в течение рабочего дня, однако администратор может менять срок в сторону, как уменьшения, так и увеличения, в зависимости от политики безопасности. Из-за того, что часы клиента и сервера не всегда работают идеально синхронно, дается небольшая отсрочка (около пяти минут) между меткой даты/времени и текущим временем.

Проверка сервером S подлинности клиента C.

Здесь c и s – сведения (например, имя), соответственно, о клиенте и сервере; d1 и d2 – дополнительная (по отношению к билету) информация; Tc.s – билет для клиента C на обслуживание у сервера S; Kc и Ks – секретные ключи клиента и сервера.

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

  1. все пользователи регистрируются на Kerberos-сервере (который содержит в своей БД идентификаторы и пароли всех пользователей)

  2. Kerberos-сервер должен разделять секретный ключ с каждым прикладным сервером, то есть все серверы регистрируются на Kerberos-сервере

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

Сервер Kerberos для каждой из взаимодействующих областей разделяет секретный ключ с сервером Kerberos в другой области. Другими словами, два сервера Kerberos регистрируют друг друга.

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

Ведущей службой Kerberos является является Центр Распределения Ключей KDC (Key Distribution Center). Обмен данными в процессе аутентификации сторон производится именно между KDC и клиентом. KDC представляет собой службу, которая работает на физически защищенном сервере и ведет базу данных со сведениями об учетных записях своих абонентов. Вместе с информацией о каждом абоненте безопасности в этой базе сохраняется криптографический ключ, известный только самому абоненту и KDC. Этот ключ (его называют долговременным) используется для связи пользователя системы безопасности с центром распределения ключей. В большинстве практических реализаций протокола Kerberos долговременные ключи генерируются на основе пароля пользователя, указываемого при входе в систему.

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

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

Единственный объект, который знает все ключи - это Kerberos-сервер, который должен находиться в условиях физической безопасности.

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

Соседние файлы в папке ГОСЫ