МОСКОВСКАЯ ФИНАНСОВАЯ ПРОМЫШЛЕННАЯ АКАДЕМИЯ
КУРСОВАЯ РАБОТА
по предмету
"Безопасность и управление доступом"
на тему:
"Протокол Kerberos"
Выполнил: студент 4 курса
Румянцев Сергей
Проверил: преподаватель
Кудряев А.В,
г. Бронницы 2010 г.
Оглавление
Введение
Аутентификация в Windows 2000
Преимущества аутентификации по протоколу Kerberos
Стандарты аутентификации по протоколу Kerberos
Расширения протокола Kerberos
Обзор протокола Kerberos
Основные концепции
Аутентификаторы
Управление ключами
Сеансовые билеты
Билеты на выдачу билетов
Аутентификация за пределами домена
Подпротоколы
Подпротокол TGSExchange
Подпротокол CSExchange
Билеты
Что такое билет
Какие данные из билета известны клиенту
Как служба KDC ограничивает срок действия билета
Что происходит после истечения срока действия билета
Обновляемые билеты TGT
Делегирование аутентификации
Вывод
Список использованных исочников
Настоящий документ представляет технические аспекты реализации протокола аутентификации Kerberos 5 в операционной системе Microsoft® Windows® 2000. Здесь приводится подробное описание важнейших концепций, архитектурных элементов, а также функций аутентификации по протоколу Kerberos. Первый раздел "Обзор протокола Kerberos" предназначен тем, кто не знаком с этим протоколом. Последующие разделы посвящены более подробному описанию того, как Microsoft реализовала Kerberos в операционной системе Windows 2000. Завершается информационный документ кратким обсуждением вопросов взаимодействия описываемого протокола с другими реализациями Kerberos.
Windows 2000 поддерживает несколько протоколов, которые позволяют убедиться в том, что входящий в систему пользователь действительно имеет здесь свою учетную запись. Среди них - протоколы аутентификации удаленных подключений и протоколы аутентификации пользователей, входящих в сеть через Интернет. Однако внутри доменов Windows 2000 для проверки пользовательских данных предусмотрено два метода:
1) Kerberos версия 5. Протокол Kerberos 5 является стандартным средством аутентификации сетевых пользователей в домене Active Directory на всех компьютерах с операционной системой Windows 2000;
2) Windows NT LAN Manager (NTLM). Протокол NTLM применялся в качестве стандартного средства сетевой аутентификации в операционной системе Windows NT® 4.0. В среде Windows 2000 он используется для аутентификации серверов и доменов Windows NT 4.0. Кроме того, NTLM применяется для локальной аутентификации на автономных компьютерах, работающих под управлением Windows 2000.
Компьютеры под управлением Windows 3.11, Windows 95, Windows 98 и Windows NT 4.0 смогут использовать протокол NTLM для сетевой аутентификации в доменах Windows 2000. Компьютерам же, работающим под управлением Windows 2000, этот протокол обеспечит аутентификацию на серверах Windows NT 4.0 и откроет доступ к ресурсам доменов Windows NT 4.0. Однако в тех случаях, когда есть выбор, в среде Windows 2000 по умолчанию будет использоваться протокол Kerberos 5.
Протокол Kerberos выгодно отличается от NTLM большей гибкостью и эффективностью использования. Обеспечивает он и повышенный уровень безопасности. Ряд преимуществ, которые дает переход на Kerberos, приводится ниже.
1. Более эффективная аутентификация на серверах. При аутентификации по протоколу NTLM серверу приложений приходится подключаться к контроллеру домена при проверке каждого клиента. С Kerberos такая необходимость отпадает - здесь аутентификация производится за счет проверки удостоверения, представленного клиентом. Индивидуальное удостоверение клиент получает от контроллера единожды, после чего может неоднократно использовать его на протяжении всего сеанса работы в сети.
2. Взаимная аутентификация. Протокол NTLM позволяет серверу идентифицировать своих клиентов, однако не предусматривает верификации сервера ни клиентами, ни другими серверами. Этот протокол разрабатывался для сетей, в которых все серверы считаются легитимными. В отличие от него, Kerberos такого допущения не делает, поэтому проверяет обоих участников сетевого подключения, каждый из которых в результате может точно узнать, с кем поддерживает связь.
3. Делегированная аутентификация. Когда клиент сети Windows обращается к ресурсам, службы операционной системы, прежде всего, производят его идентификацию. Во многих случаях для выполнения этой операции службе достаточно информации на локальном компьютере. Как NTLM, так и Kerberos обеспечивают все данные, необходимые для идентификации пользователя на месте, однако иногда их бывает недостаточно. Некоторые распределенные приложения требуют, чтобы при подключении к серверным службам на других компьютерах идентификация клиента производилась локально службой самого этого клиента. Решить проблему помогает Kerberos, где предусмотрен специальный механизм представительских билетов, который позволяет на месте идентифицировать клиента при его подключении к другим системам. В протоколе NTLM такая возможность отсутствует.
4. Упрощенное управление доверительными отношениями. Одно из важных достоинств взаимной аутентификации по протоколу Kerberos состоит в том, что доверительные отношения между доменами Windows 2000 по умолчанию являются двусторонними и транзитивными. Благодаря этому в сетях с множеством доменов не придется устанавливать много явных доверительных отношений. Вместо этого все домены большой сети можно свести в дерево транзитивных отношений взаимного доверия. Удостоверение, выданное системой безопасности для любого домена, может приниматься во всех ветвях дерева. Если же сеть содержит несколько деревьев, то удостоверение любого из них будет приниматься по всему "лесу".
5. Совместимость. В основу своей реализации протокола Kerberos корпорация Microsoft положила стандартные спецификации, рекомендованные группой IETF. Благодаря такому подходу удалось обеспечить аутентификацию клиентов Windows 2000 во всех сетях, которые поддерживают Kerberos 5.
Протокол Kerberos был создан в Массачусетском технологическом институте в рамках проекта Athena. Однако общедоступным этот протокол стал лишь после появления версии 4. После того, как специалисты отрасли изучили новый протокол, его авторы разработали и предложили пользователям очередную версию - Kerberos 5, которая и была принята в качестве стандарта IETF. Реализация протокола в Windows 2000 выполнена в строгом соответствии с требованиями, изложенными в документе RFC 1510. Кроме того, при ее разработке были использованы механизм и формат передачи контекстов безопасности в сообщениях Kerberos, описанные в спецификациях Интернета из документа RFC 1964.
В Windows 2000 нашли применение расширения протокола Kerberos, упрощающие начальную аутентификацию клиентов. Обычно для этой цели используются секретные ключи, которыми должны заранее обменяться между собой участники сеанса, но теперь такую процедуру можно провести с помощью открытых ключей. Благодаря этому появилась возможность интерактивной регистрации пользователя с помощью микропроцессорных карточек. В основу расширений, обеспечивающих аутентификацию с открытым ключом, положена спецификация PKINIT.
Протокол аутентификации Kerberos предлагает механизм взаимной идентификации клиента и сервера (или двух серверов) перед установлением связи между ними. В протоколе учтено, что начальный обмен информацией между клиентами и серверами происходит в открытой среде, а пакеты, передаваемые по каналам связи, могут быть перехвачены и модифицированы. Другими словами, протокол предназначен для работы в среде, которая очень напоминает сегодняшний Интернет. Здесь злоумышленник легко может имитировать запросы клиента или сервера, перехватывать связь между легитимными клиентами и серверами, даже искажать передаваемую информацию.
Протокол Kerberos активно использует технологии аутентификации, опирающиеся на "секреты для двоих". Основная концепция довольно проста: если есть секрет, известный только двоим, любой из его хранителей может легко удостовериться, что имеет дело именно со своим напарником. Для этого ему достаточно каким-либо способом проверить, знает ли собеседник их общий секрет.
Рассмотрим это на простом примере. Допустим, Алиса часто посылает сообщения Бобу, который использует содержащуюся в них информацию только тогда, когда полностью уверен, что она поступила именно от Алисы. Чтобы никто другой не смог подделать письма, они договорились о пароле, который пообещали никому больше не говорить. Если из сообщения можно будет заключить, что отправитель знает этот пароль, Боб может точно сказать: оно пришло от Алисы.
Теперь Бобу и Алисе остается только решить, каким образом показать свое знание пароля. Можно, скажем, просто включить его в текст сообщения, например, после подписи: "Alice, Our$ecret". Это было бы очень просто, удобно и надежно, если бы Алиса и Боб были уверены, что никто другой не читает их сообщений. Однако почта передается по сети, где работают и другие пользователи, а среди них есть Кэрол, которая очень любит подключать к сети свой анализатор пакетов в надежде выведать чьи-нибудь секреты. И становится совершенно ясно, что Алиса не может просто назвать пароль в тексте письма. Чтобы секрет оставался секретом, о нем нельзя говорить открыто, нужно найти способ только дать знать собеседнику, что он тебе известен.
В протоколе Kerberos эта проблема решается средствами криптографии с секретным ключом. Вместо того чтобы сообщать друг другу пароль, участники сеанса обмениваются криптографическим ключом, знание которого подтверждает личность собеседника. Один из участников использует такой ключ для шифрования блока информации, а другой с его помощью извлекает эту информацию.