интернет телефония. курсовая интернет-телефония. История позникновения и принцип работы internetтелефонии
Скачать 323.82 Kb.
|
2.5 Технологии аутентификацииПод аутентификацией понимается определение пользователя или конечного устройства (клиента, сервера, коммутатора, маршрутизатора, межсетевого экрана и т.д.) и его местоположения в сети с последующей авторизацией пользователей и конечных устройств. Наиболее простым способом аутентификации является использование паролей, но для поддержания высокого уровня безопасности пароли приходится часто менять. Методы использования одноразовых паролей применяются по-прежнему широко. Среди них можно отметить методы аутентификации по протоколу S/Key или при помощи специальных аппаратных средств (token password authentication). Механизм аутентификации по протоколу Point-to-Point Protocol (PPP) часто применяется в среде модемного доступа и включает использование протоколов Password Authentication Protocol (PAP), Challenge Handshake Protocol (CHAP) и Extensible Authentication Protocol (EAP). Разработка протокола EAP все еще продолжается, но уже сейчас он дает возможность более гибкого использования существующих и только появляющихся технологий аутентификации в каналах PPP. TACACS+ и Remote Access Dial-In User Service (RADIUS) — это протоколы, которые поддерживают масштабируемые решения в области аутентификации. Протокол Kerberos (Цербер) используется в ограниченных областях для поддержки единой точки входа в сеть. Система одноразовых паролей S/Key, определенная в RFC 1760, представляет собой систему генерирования одноразовых паролей на основе стандартов MD4 и MD5. Она предназначена для борьбы «повторными атаками», когда хакер подслушивает канал, выделяет из трафика идентификатор пользователя и его пароль и в дальнейшем использует их для несанкционированного доступа. Система S/Key основана на технологии клиент-сервер, где клиентом обычно является персональный компьютер, а сервером — сервер аутентификации. Вначале и клиента, и сервер нужно настроить на единую парольную фразу и счет итерации. Клиент начинает обмен S/Key, отправляя серверу пакет инициализации, а сервер в ответ отправляет порядковый номер и случайное число, так называемое «зерно» (seed). После этого клиент генерирует одноразовый пароль. После создания одноразового пароля его нужно проверить. Для этого клиент передает одноразовый пароль на сервер, где он и проверяется. Для проверки аутентификации система однократно пропускает полученный одноразовый пароль через защищенную хэш-функцию. Если результат этой операции совпадает с предыдущим паролем, хранящимся в файле, результат аутентификации считается положительным, а новый пароль сохраняется для дальнейшего использования [13]. Аутентификация с помощью аппаратных средств работает по одной из двух альтернативных схем: по схеме запрос-ответ; по схеме аутентификации с синхронизацией по времени. В схеме запрос-ответ пользователь подключается к серверу аутентификации, который, в свою очередь, предлагает ввести персональный идентификационный номер (PIN) или пользовательский идентификатор (user ID). Пользователь передает PIN или user ID на сервер, который затем делает «запрос» (передает случайное число, которое появляется на экране пользователя). Пользователь вводит это число в специальное аппаратное устройство, похожее на кредитную карточку, где число запроса шифруется с помощью пользовательского шифровального ключа. Результат шифрования отображается на экране. Пользователь отправляет этот результат на сервер аутентификации. В то время как пользователь подсчитывает этот результат, сервер аутентификации рассчитывает этот же результат самостоятельно, используя для этого базу данных, где хранятся все пользовательские ключи. Получив ответ от пользователя, сервер сравнивает его с результатом собственных вычислений. Если оба результата совпадают, пользователь получает доступ к сети. Если результаты оказываются разными, доступ к сети не предоставляется [16]. При использовании схемы с синхронизацией по времени на аппаратном устройстве пользователя и на сервере работает секретный алгоритм, который через определенные синхронизированные промежутки времени генерирует идентичные пароли и заменяет старые пароли на новые. Пользователь подключается к серверу аутентификации, который запрашивает у пользователя код доступа. После этого пользователь вводит свой PIN в аппаратное карточное устройство, и в результате на экран выводится некоторая величина, которая представляет собой одноразовый пароль. Этот пароль и отправляется на сервер. Сервер сравнивает его с паролем, который был вычислен на самом сервере. Если пароли совпадают, пользователь получает доступ к сети. 3 ОБЕСПЕЧЕНИЕ БЕЗОПАСНОСТИ С ТОЧКИ ЗРЕНИЯ ПРОВЕРКИ ПРАВ ДОСТУПА К РЕСУРСАМ (ААА)Сеть IP-телефонии любого провайдера, как правило, имеет несколько точек доступа к услуге; при такой схеме организации реализовывать процесс аутентификации пользователей для каждой точки доступа в отдельности (на месте) не целесообразно. Гораздо разумнее централизовать процесс аутентификации, используя для этого отдельный сервер и общую базу данных, к которым будут обращаться серверы доступа (такое решение получило название непрямой аутентификации). Объясняется это главным образом с точки зрения проблем администрирования, возникающих в случае организации аутентификации на месте [18]. 3.1 Непрямая аутентификацияНепрямая аутентификация – модель, в которой механизм аутентификации размещается в стороне от других серверов сети, при этом они связываются с ним каждый раз, когда пользователь запрашивает доступ. Решения на основе непрямой аутентификации позволяют справляться с проблемой масштабируемости на вычислительных центрах, у которых одна группа пользователей, но несколько точек обслуживания. Даже на той площадке, где всего два сервера, будет затруднительно поддерживать совместимость двух отдельных баз данных аутентификации. Если другие проектные шаблоны предусматривают объединение механизмов аутентификации и управления доступом, то шаблон непрямой аутентификации перемещает механизм аутентификации из точки обслуживания в отдельный аутентификационный сервер. Все другие компоненты сети предоставляют услуги или управляют доступом к ресурсам, но не принимают решений об аутентификации. Вместо этого они аутентифицируют пользователей непрямым способом, связываясь с аутентификационным сервером всякий раз, когда кто-то пытается зарегистрироваться в системе [20]. С точки зрения обеспечения безопасности соединения как в сетях IP-телефонии в частности, так и в IP-сетях вообще, проблему можно условно разделить на две составляющих. Первое – это проблема обеспечения правомерного и безопасного доступа к сетевым ресурсам и услугам, а второе – это обеспечение безопасности информации уже непосредственно в каналах. Именно первой части проблемы обеспечения безопасности в сетях IP-телефонии и посвящена эта дипломная работа. Совершенно очевидно, что основная роль при решении подобных задач будет принадлежать процессу аутентификации пользователей. В силу структуры мультисервисной сети, на базе которой предоставляются услуги IP-телефонии нас будет интересовать непрямая аутентификация, ее протоколы, а также слабые и сильные места. Многие широко известные сегодня системы обеспечивают непрямую аутентификацию с помощью специально разработанных протоколов [19]. Открытым стандартом для реализации непрямой аутентификации является протокол RADIUS. В общем случае протокол непрямой аутентификации начинает свою работу, когда кто-нибудь пытается зарегистрироваться в точке обслуживания с удаленного места, которым может быть, например, рабочая станция. Когда точка обслуживания принимает запрос на регистрацию, она пересылает имя пользователя и пароль аутентификационному серверу. Часто для пересылки данных таких сообщений используется внутренний протокол типа RADIUS или протокол, разработанный изготовителем. Если сервер подтверждает аутентификацию, то он посылает в точку обслуживания подтверждение, сформатированное в соответствии с этим внутренним протоколом. Получив его, точка обслуживания принимает к исполнению попытку пользователя зарегистрироваться. Если сервер посылает отказ, то точка обслуживания отвергает запрос. Поскольку аутентификационные запросы перенаправляются аутентификационному серверу, имеется риск, что взломщик будет подделывать сообщение «Доступ разрешен», чтобы обмануть точку доступа; поэтому для аутентификации двусторонних сообщений между точкой обслуживания и аутентификационным сервером должно использоваться шифрование. Некоторые системы, использующие непрямую аутентификацию, могут иметь высокий уровень устойчивости к отказам, поддерживая функцию перенаправления. Если какой-либо из серверов теряет работоспособность (в том числе и при DOS-атаке), то запросы на аутентификацию могут перенаправляться на альтернативный сервер, содержащий копию всей аутентификационной базы данных. Это позволяет провайдеру IP-телефонии реплицировать свои службы на несколько хост-машин и реализовать аутентификацию на нескольких аутентификационных серверах, исключая тем самым появление точки критического отказа [18]. 3.2 Технологии ААА на основе протокола TACACS+3.2.1 Протокол TACACS+TACACS+ – это простой протокол управления доступом, основанный на стандартах UDP и разработанных компанией Bolt, Beranek and Newman, Inc. (BBN). TACACS+ представляет собой приложение сервера защиты, позволяющее на основе соответствующего протокола реализовать централизованное управление доступом пользователей к услугам. Информация о сервисах TACACS+ и пользователях хранится в базе данных, обычно размещенной на компьютере под управлением UNIX или Windows NT. TACACS+ позволяет с помощью одного сервера управления приложениями реализовать независимую поддержку сервисов ААА. Протокол TACACS+ работает по технологии клиент-сервер. Фундаментальным структурным компонентом протокола TACACS является разделение аутентификации, авторизации и учета. Это позволяет обмениваться идентификационными сообщениями любой длины и содержания, и, следовательно, использовать для клиентов TACACS+ любой идентификационный механизм, в том числе PPP PAP, PPP CHAP, аппаратные карты и т.д. 3.2.2 Свойства протокола TACACS+TACACS+ поддерживает следующие возможности сервера защиты: Пакеты TCP для надежной передачи данных. Использование TCP в качестве протокола связи для соединений TACACS+ между сервером доступа и сервером защиты. Для TACACS+ резервируется TCP-порт 49. Архитектура ААА. Каждый сервис предоставляется отдельно и имеет собственную базу данных, но, тем не менее, они работают вместе, как один сервер защиты. Канальное шифрование. Часть TCP-пакета, содержащая данные протокола TACACS+, шифруется с целью защиты трафика между сервером доступа и сервером защиты. Каждый пакет TACACS+ имеет 12-байтовый заголовок, пересылаемый в виде открытого текста, и тело переменной длины, содержащее параметры TACACS+. Тело пакета шифруется с помощью алгоритма, использующего псевдослучайный заполнитель, получаемый посредством MD5. Пакеты TACACS+ передаются по сети и хранятся сервером TACACS+ в шифрованном виде. Когда это необходимо, пакет дешифруется сервером доступа и приложением TACACS+ путем обращения алгоритма шифрования. Аутентификация PAP и CHAP. Обеспечивает полный контроль аутентификации с помощью средств вызова/ответа PAP и CHAP, а также посредством использования диалоговых окон ввода пароля доступа и поддержки сообщений интерактивной процедуры начала сеанса. Защита локальных и глобальных сетей. Поддержка средств ААА удаленного и локального сетевого доступа для серверов доступа, маршрутизаторов и другого сетевого оборудования, поддерживающего TACACS+. Дает возможность осуществлять централизованное управление сетевым оборудованием. Функция обратного вызова. Данная функция возвращает телефонные вызовы, заставляя сервер доступа звонить соответствующему пользователю, что может дать дополнительные гарантии защиты. Индивидуальные списки доступа пользователей. База данных TACACS+ может дать указание серверу сетевого доступа контролировать доступ данного пользователя к сетевым службам и ресурсам в течении фазы авторизации на основе списка доступа [19]. 3.2.3 Процессы ААА в протоколе TACACS+Аутентификация не является обязательной. Она рассматривается как опция, которая конфигурируется на месте. В некоторых местах она вообще не требуется, в других местах она может применяться лишь для ограниченного набора услуг. Заголовок пакета TACACS+ содержит поле типа, являющееся признаком того, что пакет представляет собой часть процесса ААА. Аутентификация TACACS+ различает три типа пакетов: START (начало), CONTINUE (продолжение) и REPLY (ответ). В запросе на авторизацию можно указать, что аутентификация пользователя не проведена (личность не доказана). В этом случае лицо, отвечающее за авторизацию должно самостоятельно решить, допускать такого пользователя к запрашиваемым услугам или нет. Протокол TACACS+ допускает только положительную или отрицательную авторизацию, однако этот результат допускает настройку на потребности конкретного заказчика. Авторизация может проводиться на разных этапах, например, когда пользователь впервые входит в сеть и хочет открыть графический интерфейс или когда пользователь запускает PPP и пытается использовать поверх PPP протокол IP с конкретным адресом IP. В этих случаях демон сервера TACACS может разрешить предоставление услуг, но наложить ограничения по времени или потребовать список доступа IP для канала PPP. В процессе авторизации TACACS+ используется два типа пакетов: REQUEST (запрос) и RESPONSE (ответ). Данный процесс авторизации пользователя контролируется посредством обмена парами «атрибут/значение» между сервером защиты TACACS+ и сервером доступа [20]. Аудит (или учет) обычно следует за аутентификацией и авторизацией. Учет представляет собой запись действий пользователя. В системе TACACS+ учет может выполнять две задачи. Во-первых, он может использоваться для учета использованных услуг (например, для выставления счетов). Во-вторых, его можно использовать в целях безопасности. Для этого TACACS+ поддерживает три типа учетных записей. Записи «старт» указывают, что услуга должна быть запущена. Записи «стоп» говорят о том, что услуга только что окончилась. Записи «обновление» (update) являются промежуточными и указывают на то, что услуга все еще предоставляется. Учетные записи TACACS+ содержат всю информацию, которая используется в ходе авторизации, а также другие данные: время начала и окончания (если это необходимо) и данные об использовании ресурсов. Транзакции между клиентом TACACS+ и сервером TACACS+ идентифицируются с помощью общего «секрета», который никогда не передается по каналам связи. Обычно этот «секрет» вручную устанавливается на сервере и на клиенте. TACACS+ можно настроить на шифрование всего трафика, который передается между клиентом и демоном сервера TACACS+ [18]. В процессе аудита TACACS+ использует два типа пакетов – REQUEST (запрос) и RESPONSE (ответ). Данный процесс во многом подобен процессу авторизации. В процессе аудита создаются записи с информацией об активности пользователя в отношении заданных сервисов. Записи, регистрирующие выполненные сетевым оборудованием действия, могут сохраняться в некотором стандартном формате, на сервере защиты с целью дальнейшего анализа. В рамках TACACS+ аудит ААА не является средством надежной защиты и обычно используется только для учета или управления. Однако с помощью аудита ААА можно контролировать действия пользователя, чтобы, например, вовремя заметить его необычное поведение при работе с сетевым оборудованием [20]. |