|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Протокол аутентификации Kerberos v5Разработан в начале 80 годов в MIT. Для шифрования применяется алгоритм DES (Data Encryption Standard). Протокол обеспечивает аутентификацию в открытых сетях, т.е. там где передаваемые пакеты м.б. перехвачены или изменены. Преимущества Kerberos по сравнению с протоколом NTLM: · В процессе аутентификации сервер не только удостоверяет подлинность клиента, но и по требованию клиента подтверждает свое достоверность · Время аутентификации намного меньше Термины, используемые в протоколе: · Аутентификация и авторизация · Шифрование Процесс преобразования данных в такую форму, которая не м.б. прочитана без процесса расшифрования. Шифрования осущ-ся с применением шифрующего ключа, расшифрование - с помощью расшифровывающего. В симметричных методах шифрования шифрующий и расшифровывающий ключи совпадают и такой единый ключ называется секретным ключом. Секретный ключ получает путем хеширования его пароля. Хеширование – это преобразование исходной последовательности данных, результат которого хеш в отличие от результата шифрования не м.б. преобразован обратно в исходную последовательность. Хеширования осуществляется с помощью некоторого ключа. Хеширование применяется для проверки знания участниками соединения общего секретного ключа. Еще используется такой термин как сеанс – период непрерывного соединения между 2мя узлами. В начале сеанса требуется пройти процедуру аутентификации. Соединение в течение сеанса осущ-ся с помощью сеансового ключа – это секретный ключ, служащий для шифрования всех сообщений между участниками сеанса. 3 основных участника сеанса: · Клиент Тот кто желает получить доступ к ресурсам сервера. Обязательно проходит процедуру аутентификации и авторизации используя свое удостоверение. · Сервер Комп или программа предоставляющий доступ к ресурсам · Посредник Специальный физически защищенный сервер, на кот работают 2 службы: o Центр распределения ключей (KDC) Хранит секретные ключи всех клиентов и серверов. По запросу аутентифицированного клиента выдает ему удостоверение. o Служба предоставления билетов (TGS) Выдает сеансовые билеты, позволяющие пользователям проверять подлинность серверов. 2 вида ключей: · Секретные · Сеансовые Удостоверение – это специальные сетевые пакеты, используемые для взаимной идентификации клиента и сервера. Бывает 2 видов: · Билеты Специальный пакет, удостоверяющий подлинность своего владельца. В его состав входят: имя владельца, сеансовый ключ и другие параметры (Н: период действия билета ограничен параметром, который называется время жизни. По умолчанию оно = 5 минутам) o На выдачу билетов (TGT) Содержит учетные данные, выдаваемые пользователю центром распределения ключей при входе пользователя в систему. o Сеансовые Требуется для установления сеанса соединения клиента с сервером. · Аутентификаторы Пакет, доказывающий, что клиент действительно является обладателем секретного ключа.
Основные этапы аутентификации: · Регистрация клиента · Получение сеансового билета · Доступ к серверу Аутентификатор клиента - Ac, аутентификатор сервера - As. Секретный ключ клиента и сервера – Kc, Ks {x}К – сообщение Х зашифрованное ключом К {Ac}Kc – аутентификатор клиента зашифрованный ключом клиента Ka,b – сеансовый ключ для соединения узлов а и в. Kc,tgs – сеансовый ключ для соединения клиента и службы TGS TGT - билет N – имя клиента S – имя сервера T – время отправки сообщения Tc,s – сеансовый билет
Этап регистрации клиента: При входе в систему пользователь вводит имя учетной записи, пароль и указывает домен. Затем пароль при помощи кеширования преобразуется в секретный ключ клиента (Kc). Точно такой же ключ хранится в центре распределения ключей и сопоставлен с данным пользователем. Клиент создает аутентификатор клиента ({Ac})зашифрованный с использованием ключа (Kc) и отсылает его центру распределения ключей. Аутентификатор содержит информацию об имени клиента и об времени отправки аутентификатора. Используя свою копию ключа центр распределения ключей расшифровывает полученной сообщение. В случае успеха вычисляется разница между временем создания аутентификатора и временем его получения. Проверка разницы моментов времени осущ-ся в целях защиты от перехвата аутентификатора и его несанкционированного использования. Если разница не превышает 5 мин клиент считается аутентифицированным, если превышено – клиенту откажут в аутентификации. Если клиент аутентифицирован ему высылается информация: · Сеансовый ключ для связи клиента и службы предоставления билетов зашифрованный секретным ключом клиента · Билет на выдачу билетов, зашифрованный ключом известный только службе TGS. Первую часть клиент расшифровывает, вторую часть расшифровать не сможет. Билет в зашифрованном виде сохраняется в кэш память клиента. В дальнейшем эта информация понадобится для запроса полномочий у службы предоставления билетов на доступ к серверу. Этап получения сеансового билета: Клиент обращается к этой службе тогда, когда ему требуется доступ к ресурсам некоторого сервера. Информация: · Аутентификатор клиента, зашифрованный с помощью ключа известного клиенту и службе TGS · В запросе содержится информация, полученная на предыдущем этапе (которую не смогли расшифровать) · Передаем информацию о сервере к кот хотим получить доступ · Время отправки запроса Аутентификатор клиента позволяет службе удостовериться, что клиент является тем за кого себя выдает. Использование билета на выдачу билетов экономит время за счет того что служба предоставления ключей не обращается к БД центра распределения ключей. На запрос клиента в случае успешной аутентификации получаем информацию: · Сеансовый ключ, для связи клиента с сервером · Время создания ключа Оба параметра зашифрованы ключом известным клиенту и службе предоставления билетов. · Сеансовый билет зашифрованный при помощи ключа известного службе предоставления билетов и серверу. Сеансовый ключ генерируется случайным образом (чтобы при каждом новом запросе клиент получал новые сеансовые ключи) Сеансовый билет содержит: · Имя сервера к которому получаем доступ · Имя клиента · Сеансовый ключ · Время начала действия билета · Время окончания действия билета · Список возможных сетевых адресов клиента (необязательно, но может использоваться для доп. защиты) Сеансовые билеты сохраняются в КЭШ памяти. Доступ к серверу: Отправляем запрос к серверу, кот содержит информацию · Аутентификатор клиента, зашифрованный ключом, известным клиенту и серверу. Аутентификатор содержит имя клиента, время отправления и сам ключ. · Сеансовый билет, зашифрованный ключом, известным серверу. Сервер проверяет подлинность клиента: в аутентификатор клиента клиент записывает ключ, известный клиенту и серверу, сервер расшифровывает сеансовый билет с помощью своего секретного ключа и извлекает их него ключ, кот д.б. известен клиенту и серверу. Сервер расшифровав сеансовый билет извлекает из него сеансовый ключ. С помощью него он может расшифровать первую часть информации. Если информация правильная то считается, что клиент аутентифицирован. Если требуется подтверждение подлинности сервера, то сервер отправляет ответ, кот содержит аутентификатор сервера включающий параметр времени отправления из аутентификатора клиента. Без знания секретного ключа сервера извлечь данный параметр невозможно. Если информация верная, то сервер аутентифицирован.
Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.01 сек.) |