Пояснительная записка к дипломному проекту


Обзорно-аналитическая часть 1.1 Обзор протоколов аутентификации и авторизации пользователей



страница2/9
Дата09.11.2016
Размер0.62 Mb.
Просмотров1591
Скачиваний0
1   2   3   4   5   6   7   8   9

1 Обзорно-аналитическая часть

1.1 Обзор протоколов аутентификации и авторизации пользователей

1.1.1 Протокол аутентификации Kerberos

Kerberos — это сетевой протокол, предназначенный для централизованного решения задач аутентификации и авторизации в незащищенных сетях. [1]

Кроме того Kerberos является одной из возможных реализаций технологии единого входа.
Протокол основан на следующих принципах:


  • В сетях, использующих технологию Kerberos, процессы аутентификации и авторизации выполняются через авторитетного (которому доверяют обе стороны процесса) посредника, и в качестве посредника выступает сама система Kerberos. Иногда этот принцип называют «аутентификация на основе доверенной третьей стороны».

  • Для доступа к любой запрашиваемой службе/услуги клиенту необходимо пройти аутентификацию.

  • Процесс обмена данными является защищенным с использованием алгоритма шифрования DES.

Сетевой протокол Kerberos основан на клиент-серверной архитектуре. Kerberos-клиент необходимо установить на всех компьютерах сети, которые будут запрашивать доступные сетевые услуги. Тогда Kerberos-клиент от имени пользователя передаст запрос на Kerberos-cepвep и будет поддерживать с ним диалог, необходимый для выполнения функций системы Kerberos.


В технологии Kerberos имеются следующие компоненты:

  • Kerberos-cepвep

  • Kerberos-клиенты

  • Ресурсные серверы

Kerberos-клиенты пытаются получить доступ к сетевым ресурсам — файлам, приложениям, принтеру и т. д. Доступ может быть разрешен только зарегистрированным пользователям и при наличии соответствующих прав (полномочий), которые распределяют службы авторизации соответствующих ресурсных серверов, — файловым сервером, сервером приложений, сервером печати. Но в системе Kerberos ресурсные сервера не получают «напрямую» запросы от клиентов, а принимают запросы тогда и только тогда, когда это разрешает Kerberos-cepвep.

Таким образом, путь клиента к ресурсу в системе Kerberos состоит из трех этапов.


  1. Определение валидности клиента, логический вход в сеть, получение разрешения на продолжение процесса получения доступа к ресурсу.

  1. Получение разрешения на обращение к ресурсному серверу.

  2. Получение разрешения на доступ к ресурсу.


Рис. 1 Этапы работы системы Kerberos


Для решения первой и второй задач клиент обращается к Kerberos-cepвepy. Выполняется первичная аутентификации и выдается разрешение на продолжение процесса получения доступа к ресурсу, которое осуществляется сервером аутентификации (Authentication Server, AS). На этом сервере хранятся в своей личной базе данных информация о паролях и идентификаторах пользователей.

Вторую задачу, возможность обратиться к ресурсному серверу, решает другая часть Kerberos-cepвepa — сервер квитанций (Ticket Granting Server, TGS). Сервер квитанций для валидных пользователей выполняется дополнительная проверка и выдается клиенту разрешение на доступ к нужному ему ресурсному серверу, для чего он наделяет его электронной квитанцией.

Для исполнения своих функций сервер квитанций использует копии секретных ключей всех ресурсных серверов, которые хранятся в личной базе данных. Помимо этих ключей TGS-сервер имеет еще один секретный DES-ключ, общий с AS-сервером.

Третья задача — получить разрешение на доступ к ресурсу — решается на уровне ресурсного сервера.

Квитанция – электронный документ, который выдается Kerberos сервером, цель которой удостоверение личности пользователя и разрешить доступ к ресурсам.

1.1.1.1 Первичная аутентификация

Разрешение доступа пользователя к ресурсам заключается в два шага:



  • пользователь должен пройти аутентификацию

  • пользователь должен пройти авторизацию

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

Выполняя логический вход в сеть, пользователь, а точнее Кегberos-клиент, установленный на его компьютере, досылает серверу аутентификации AS идентификатор пользователя ID.


Рис. 2 Процесс обмена сообщениями в системе Kerberos


Сначала сервер аутентификации проверит в своей базе данных наличие записи о пользователе с таким идентификатором, после, если такая запись существует, извлекает из нее пароль пользователя р. С помощью этого пароля будет зашифрована информация, которую направит сервер аутентификаций Кегberos-клиенту в виде ответа. А ответ состоит из квитанции TTGS на доступ к серверу квитанций Kerberos и ключа сеанса KS .

Здесь сеанс – это все время работы пользователя от момента логического входа в сеть до момента логического выхода. Ключом сеанса зашифровывается информация в процессах аутентификации в течение пользовательского сеанса. Квитанция шифруется секретным DES-ключом К, который разделяют серверы аутентификации и квитанций. Далее, ключ сеанса и зашифрованная квитанция – дополнительно шифруются пользовательским паролем р. Следовательно, квитанция шифруется дважды ключом К и паролем р. В приведенных обозначениях сообщение-ответ, которое сервер аутентификации посылает клиенту, выглядит следующим образом: {{TTGS}K, KS}p.

Поступившее на клиентскую машину такое ответное сообщение, активирует клиентскую часть Kerberos и потребует пользователя ввести свой пароль. После того, как пользователь ввел свой пароль, Kerberos-клиент пробует расшифровать поступившее сообщение с помощью этого пароля. Если пароль верен, то из сообщения извлекаются квитанция на доступ к серверу квитанций {TTGS}K (в зашифрованном виде) и ключ сеанса КS (в открытом виде). В случае успешного дешифрирования сообщения, можно сказать, что пользователь успешно прошел аутентификацию. Отметим, что сервер аутентификации AS аутентифицирует пользователя без передачи пароля по сети.

Квитанция TTGS на доступ к серверу квитанций TGS является подтверждением валидности пользователя и разрешает продолжать процесс получения доступа к ресурсу. Эта квитанция содержит:



  • идентификатор пользователя;

  • идентификатор сервера квитанций, на доступ к которому выдана квитанция;

  • отметку о текущем времени;

  • период времени, в течение которого может продолжаться сеанс;

  • копию ключа сеанса KS;

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

Время действия квитанции ограничивается длительностью сеанса. Длительность сеанса пользователя задается администратором и при необходимости можно установить, например, 20 минут, в других условиях (более безопасная сеть) это время может составить и 24 часа. Следовательно, информация, содержащаяся в квитанции, определяет ее срок годности. Предоставление квитанции на определенное время защищает ее от неавторизованного пользователя, который мог бы ее перехватить и использовать в личных целях.


1.1.1.2 Получение разрешения на доступ к ресурсному серверу

Следующим этапом для пользователя будет получение разрешения на доступ к ресурсному серверу (например, к файловому серверу или серверу приложений). Для этого нужно получить квитанцию (разрешение на доступ), а такие квитанции выдает TGS-сервер. Для получения доступа к серверу квитанций, у пользователя должна быть квитанция {TTGS}K, которую выдает AS-сервер. Для доказательства серверу квитанций, что пользователь имеет право на доступ к ресурсам сети, несмотря на защиту паролем и шифровании, квитанции недостаточно.

Первое сообщение от сервера аутентификации содержит не только квитанцию, но и секретный ключ сеанса KS, который разделяется с сервером квитанций (TGS). Клиент с помощью этого ключа шифрует ещё одну электронную форму, которая называется аутентификатором {A}KS. Аутентификатор {A}KS содержит сетевой адрес и идентификатор пользователя, а также собственную временную отметку. В отличие от квитанции {TTGS}K, которую можно использовать многократно в течение сеанса, аутентификатор предназначен для одноразового использования и имеет очень короткое время жизни — обычно несколько минут. Кеrberos-клиент посылает сообщение-запрос серверу квитанций, содержащее квитанцию и аутентификатор: {TTGS)K, {A}KS.

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

Заметим, что просто наличие квитанции на получение доступа к серверу квитанций не доказывает идентичности пользователя. Поскольку аутентификатор действителен только в течение короткого промежутка времени, то шанс украсть одновременно и квитанцию, и аутентификатор и использовать их в течение этого времени крайне мал. Всякий раз, когда пользователь обращается к серверу квитанций для получения новой квитанции на доступ к ресурсу, он посылает многоразовую квитанцию и новый аутентификатор. Клиент обращается к серверу квитанций, который обозначен как RS1(см. рис 2), чтобы получить разрешение на доступ к ресурсному серверу. Сервер квитанций, удостоверившись в валидности запроса и личности пользователя, отсылает клиенту ответ, в котором находятся новый ключ сеанса KS1 и многоразовая квитанция на получение доступа к запрашиваемому ресурсному серверу TRS1 .

Квитанция на получение доступа к ресурсу зашифровывается секретным ключом KRS1, общим для сервера квитанций и того сервера, к которому предоставляется доступ, в данном случае — RS1 (см. рис 2). На сервере квитанций хранятся уникальные секретные ключи для каждого сервера сети. Эти ключи распределяются между серверами сети физическим способом или каким-либо иным секретным способом при установке системы Kerberos. И в случае передачи квитанций сервером на доступ к какому-либо ресурсному серверу, то сервер шифрует ее, так что только этот сервер сможет расшифровать ее с помощью своего уникального ключа.

Новый ключ сеанса KS1 содержится не только в самом сообщении, посылаемом клиенту, но и внутри квитанции TRS1. Все сообщение шифруется старым ключом сеанса клиента KS, так что его может прочитать только этот клиент. Используя введенные обозначения, ответ TGS-сервера клиенту можно представить в следующем виде: {{TRS1}KRS1, KS1} KS.

1.1.1.3 Получение доступа к ресурсу

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



{TRS1}KRS1,{ A} KS1.

Это сообщение обрабатывается аналогично запросу клиента TGS-сервером. Сперва ключом KRS1 расшифровывается квитанция, после чего извлекается ключ сеанса KS1 и расшифровывается аутентификатор. Далее содержащиеся в квитанции и аутентификаторе данные о пользователе сравниваются. И доступ к сетевому ресурсу будет разрешен только после того, как проверка пройдет успешно.

На этом этапе клиент перед началом работы с сервером так же может проверить аутентичность сервера. Взаимная процедура аутентификации исключает любую возможность получения доступа к секретной информации от клиента путем подмены сервера неавторизованным пользователем.

Аутентификация ресурсного сервера в технологии Kerberos выполняется следующим образом: клиент посылает запрос к серверу с предложением, чтобы сервер прислал ему сообщение, в котором повторил временную отметку из аутентификатора клиента, но увеличенную на 1. Кроме того, требуется, чтобы данное сообщение было зашифровано ключом сеанса KS1. Для выполнения такого запроса клиента, сервер извлекает копию ключа сеанса из квитанции на доступ, расшифровывает аутентификатор с помощью этого ключа, увеличивает на 1 значение временной отметки, заново зашифровывает сообщение с помощью ключа сеанса и возвращает сообщение клиенту. Клиент это сообщение расшифровывает, чтобы получить увеличенную на единицу отметку времени.

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

1.1.1.4 Технология единого входа

Технология единого входа (англ. Single Sign-On (SSO) ) — это технология, благодаря которой возможно воспользоваться различными услугами и ресурсами без повторной аутентификации.

Например, если в сети существует несколько независимых ресурсов (файловый сервер, сетевой принтер, ssh сервер и т. д.) то, после прохождения процедуры аутентификации в каком-либо сервисе, пользователь автоматически может получить доступ ко всем остальным, что позволяет избавить его от многократного ввода данных своей учётной записи.


Каталог: data -> 2013
2013 -> Федеральное государственное автономное образовательное
2013 -> «Визуальный образ персонажей массового кинематогрфа в историческом контексте»
2013 -> 2 раздел анализ предметной области 5
2013 -> Магистерская диссертация
2013 -> Влияние вовлеченности на готовность платить за коллекционные товары
2013 -> Выражение гендерных характеристик в англоязычном "глянцевом" дискурсе
2013 -> Продакт Плейсмент и перспективы его развития в сети Интернет
2013 -> 1Лекции первого полугодия
2013 -> «Правовое рассмотрение компьютерного мошенничества», Ницца, 22 октября 1992 года, грамота «весьма достойно»


Поделитесь с Вашими друзьями:
1   2   3   4   5   6   7   8   9


База данных защищена авторским правом ©nethash.ru 2019
обратиться к администрации

войти | регистрация
    Главная страница


загрузить материал