Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
CA.pdf
Скачиваний:
457
Добавлен:
14.05.2015
Размер:
4 Mб
Скачать

232

тать его. Билет содержит идентификационные данные клиентазаказчика, штамп времени, сеансовый ключ серверов, срок годности билета, а также другие данные (вроде РАС) для идентификации клиента целевым сервером. Билет пригоден для многократного пользования, его срок службы обычно составляет 8 часов.

Билет на получение билета

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

В Windows Kerberos защищает секретный ключ тем, что сначала аутентифицирует пользователя, а затем запрашивает билет для получения билета (TGT). Билет для получения билета – это запрос билета и выбранного случайным образом сеансового ключа для применения совместно с компонентом TGS службы Kerberos. Получив билет, пользователь может контактировать со службой в любое время; билет приходит не от службы предоставления билета (TGS), а от сервера аутентификации(AS).

Чтобы задействовать TGS, ответ зашифровывается не секретным ключом пользователя, а сеансовым ключом, полученным от AS.

8.3.1.2.Возможности протокола Kerberos

УKerberos есть несколько преимуществ перед традиционной системой аутентификации запрос-ответ.

Полностью открытый стандарт

Реализация протокола Kerberos в Windows 2000-2003 со

стандартами RFC 1510 и RFC 1964. Она может взаимодействовать с другими реализациями Kerberos, также совместимыми с

RFC.

233

Поэтому клиенты Kerberos, использующие другие платформы, такие как UNIX, могут быть аутентифицированы

Windows.

Ускоренная аутентификация при подключении

Серверам не нужно выполнять сквозную аутентификацию. Сервер Windows может проверять личность клиента по его билету без запроса к службе Kerberos. Это возможно потому, что клиент уже получил билет Kerberos от контролера домена и сервер может использовать его для построения маркера доступа клиента. Выполняя меньше работы при установлении соединения, сервер может обработать большее число одновременно поступающих запросов.

Взаимная аутентификация

Kerberos обеспечивает взаимную аутентификацию клиента и сервера. Протокол аутентификации NTLM в Windows обеспечивает аутентификацию только клиента, предполагая, что все серверы надежны. Он не проверяет подлинность сервера, с которым связывается клиент. Но предположение, что все серверы надежны, не вполне обосновано.

Делегирование аутентификации

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

Транзитивные доверительные отношения

Удостоверение личности, выданное одной службой Kerberos, действительно для всех служб Kerberos внутри домена.

8.3.1.3. Процесс аутентификации с помощью Kerberos

Заключается в согласующих обменах между клиентом и целевым сервером, а также между клиентом и KDC (рис. 8.10).

234

Рис. 8.10. Процесс аутентификации с помощью Kerberos

Процесс аутентификации с помощью Kerberos выполняется следующим образом.

1.Пользователь посылает начальный AS-запрос компоненту AS службы Kerberos. AS содержит основное имя клиента и основное имя сервера, для которого запрашивается билет.

2.Служба Kerberos генерирует AS-ответ и посылает его клиенту.

Ответ содержит:

TGT для компонента TGS службы Kerberos. TGT зашифровывается секретным ключом TGS и содержит SID пользователя. При этом клиент неспособен изменить данные SID;

сеансовый ключ для обмена с компонентом TGS службы Kerberos. Этот ключ шифруется закрытым ключом пользователя, который вычисляется по паролю клиента и сходен с сеансовым ключом, используемым в системе NTLM. Это затрудняет взлом сеансового ключа.

3. Клиент генерирует и посылает TGS-запрос, содержащий основные имена клиента и соединяемого сервера, а также TGT, идентифицирующий клиента.

235

4.Компонент TGS службы Kerberos генерирует и посылает клиенту TGS-ответ с билетом для соединяемого сервера. Билет шифруется секретным ключом сервера, который вычисляется по паролю, создаваемому при включении сервера в домен. Ответ содержит и другие данные, в частности, сеансовый ключ.

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

6.Сервер расшифровывает билет, используя свой секретный ключ для получения сеансового ключа. Затем сервер с помощью сеансового ключа расшифровывает аутентификатор, удостоверяющий личность клиента. Если клиент запросил взаимную аутентификацию, сервер генерирует ответ, зашифрованный сеансовым ключом, и посылает его клиенту. Взаимная аутентификация не только аутентифицирует клиента для сервера, но и сервер для клиента.

Обмены AS и TGS со службой Kerberos происходят по протоколу UDP через порт 88. Обмены между клиентом и се р- вером зависят от протокола, используемого этими двумя участниками безопасности.

8.3.1.4. Делегирование в Kerberos

Иногда серверу приложения требуется соединиться с другим сервером от имени клиента.

Как и олицетворение, делегирование позволяет обеспечить надлежащие права доступа, следующие из запроса сервера приложения.

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

Ограничений на длину цепочки серверов, делегирующих аутентификацию, не накладывается. В этом отличие от олице-

236

творения, при котором сервер получает доступ к удаленным ресурсам со стороны клиента (рис. 8.11).

Рис. 8.11. Процесс делегирования в Kerberos

Доступ к ресурсам с участием двух серверов осуществляется следующим образом.

1.Клиент запрашивает и получает билет для сервера А от службы Kerberos.

2.Клиент посылает билет на сервер А.

3.Сервер А посылает запрос, олицетворяя клиента, на службу Kerberos для получения билета для сервера В. Служба Kerberos высылает для клиента билет на сервер В.

4.Затем сервер А посылает этот билет серверу В, получая

кнему доступ в качестве клиента.

8.3.2.Вход в систему с помощью Kerberos

Включение Kerberos в Windows в качестве аутентификационного пакета влияет на многие аспекты процессов входа в с и-

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]