Аутентификация в локальных сетях — HackZona.Ru

Аутентификация в локальных сетях

Аутентификация в локальных сетях

Тип статьи:
Со старой ХакЗоны.
Аутентификация в локальных сетях на базе операционной системы MS Windows 2000

Протокол сетевой аутентификации Kerberos

За последние десятилетия значительно повысилась роль компьютерных вычислительных систем и сетей. С их помощью обрабатываются огромные объемы различной информации. Также за последнее время многократно возросла степень открытости компьютерных сетей, их масштабы и уровень их взаимозависимости, появились распределенные системы обработки информации и т.д. В этой связи остро встает вопрос разграничения доступа к обрабатываемой, передаваемой и хранимой информации. При этом необходимо учитывать специфику систем, о которых идет речь. Для решения задач именно этого типа был разработан протокол сетевой аутентификации Kerberos. В данной работе рассматриваются базовые механизмы функционирования данного протокола, а также его расширения в операционной системе MS Windows 2000.
Данный протокол, как было сказано ранее, является протоколом сетевой аутентификации, призванный решать следующую задачу имеется открытая, незащищенная сеть, в узлах которой находятся некие субъекты, взаимную аутентификацию которых необходимо обеспечить. Сервер аутентификации Kerberos для клиента и сервера ресурсов является третьей доверенной стороной, реализующей механизм попарной проверки подлинности. Субъектами с точки зрения системы Kerberos могут являются пользователи, компьютеры, программы-клиенты и программы-серверы. Каждый субъект обладает своим секретным ключом и для того чтобы субъект-клиент С смог получить доступ к ресурсам субъекта-сервера S, он должен продемонстрировать серверу S знание своего секретного ключа. Необходимо пояснить, что фактически сервер Kerberos не занимается аутентификацией клиента, он лишь выдает некоторую порцию зашифрованной информации клиенту, не заботясь о его подлинности. Такой подход допустим т.к. только подлинный клиент сможет расшифровать полученное сообщение и корректно обработать полученную информацию. Тем самым подлинный пользователь получает возможность правильно аутентифицировать себя перед сервером ресурса, а также минимизируется вероятность компрометации пароля. Подчеркну еще раз следующее клиент считается аутентифицированным, если он продемонстрировал знание своего секретного ключа. Наиболее сложным моментом является как раз необходимость убедить сервер ресурса в том, что некий клиент действительно знает свой секретный ключ. Очевидно, что, например, вариант пересылки ключа между субъектами не выдерживает никакой критики, вследствие чего необходим иной способ аутентификации.
Рассмотрим механизм взаимодействия сторон при использовании протокола Kerberos на примере воображаемых пользователей Алисы, Боба и Тома. Вообще протокол Kerberos представляет собой разновидность протокола Нидхема-Шредера. В рамках данного протокола Алиса (клиент) и Боб (сервер) имеют общие (разделяемые) секретные ключи с Томом, их задача сгенерировать сеансовый ключ необходимый для обмена сообщениями. Рассмотрим алгоритм генерации таких ключей:
1. Алиса отправляет запрос Тому со своим именем и именем Боба
(А, В)
2. Том генерирует сообщение, включающее метку времени, время жизни (L), случайный сеансовый ключ K и имя Алисы. Это сообщение Том шифрует ключом, общим для него и Боба. После чего Том генерирует второе сообщение, содержащие временную метку, время жизни, сеансовый ключ K, имя Боба, и шифрует его с помощью ключа, общего для Тома и Алисы. Оба зашифрованных сообщения Том посылает Алисе.
ЕА(Т, L, К, В), ЕB(T, L, K, А)
3. Алиса генерирует сообщение, состоящее из ее имени и временной метки, шифрует сообщение сеансовым ключом К и посылает Бобу. Кроме того, Алиса отправляет Бобу сообщение от Тома, зашифрованное ключом Боба:
ЕК(А, Т), ЕB(T, L, K, А)
В результате этого обмена клиент доказывает свою подлинность серверу, а также они получают в свое распоряжение сеансовый (сессионный) ключ, который они могут использовать для криптографической защиты сообщений, передаваемых между ними.
4. В рамках данного протокола возможно продолжение обмена служебными сообщениями, в случае если необходима взаимная аутентификация.
Особенностью данного протокола является жесткая синхронизация часов всех пользователей (клиентов и серверов) с часами Тома. На практике эффект достигается синхронизацией с надежным сервером времени с точностью до нескольких минут и обнаружением повторной передачи в течение достаточного интервала времени.
Функциональные особенности протокола Kerberos

Функциональная схема протокола Kerberos относительно проста. Она подразумевает наличие следующих компонент:
· Сервер начальной аутентификации
· Сервер выдачи билетов
· Сервер приложений, поддерживающий протокол Kerberos
· Клиент, поддерживающий протокол Kerberos
· Удаленный сервер администрирования (не является обязательным и присутствует не во всех реализациях)
Этот набор функциональных модулей и связи между ними схематично представлен на рис. 1, также на этом рисунке отмечен порядок передачи сообщений, что потребуется при обсуждении использования субпротоколов.

..........................................

(CopyRight. журнал «КомпьюЛог», №2(62), март-апрель, 2004, подписной индекс 47782- в лбом отделении связи)
Нравится
Не нравится

Комментарии

Нет комментариев. Ваш будет первым!