- •Aaa в сетях подвижной радиосвязи
- •Введение
- •Архитектура aaa
- •Аутентификация
- •Авторизация
- •Рис 1.1. Агентская последовательность
- •Обобщенная архитектура ааа
- •2. Radius Основные положения
- •Архитектура radius
- •Общая схема взаимодействия при использовании протокола radius
- •Алгоритмы аутентификации, авторизации и учета radius
- •3. Реализация ааа в различных сетях aaa-сервер в ims сети
- •Aaa-сервер в WiMax сети
- •Функциональность современного aaa-сервера
Общая схема взаимодействия при использовании протокола radius
В ситуации, когда пользователи используют протокол RADIUS, каждый из них должен предоставить клиенту свою аутентификационную информацию. Это может выполняться в форме приглашения на вход в систему (login prompt), где пользователь должен ввести свое регистрационное имя и пароль. Другим вариантом может быть использование канальных протоколов типа РРР, в которых поддерживаются специальные пакеты идентификации для передачи сведений о пользователе.
После того как клиент получит идентификационные данные пользователя, он имеет право провести процесс аутентификации с использованием RADIUS. Для этого клиент создает пакет Access-Request, содержащий такие атрибуты, как регистрационное имя пользователя, пароль, идентификатор клиента и порта (Port ID), через который регистрируется в системе данный пользователь; более подробное описание атрибутов будет приведено ниже. При наличии пароля он кодируется с использованием алгоритма RSA MD5, рассматриваемого ниже в этой главе.
Пакет Access-Request передается RADIUS-серверу через сеть. Если в течение определенного времени на запрос не будет получено отклика, передача запроса повторяется некоторое количество раз. Клиент может также пересылать
запросы другим серверам в тех случаях, когда основной сервер не работает или недоступен. Дополнительные (альтернативные) серверы могут использоваться после некоторого числа неудачных попыток или в режиме кругового обхода известных серверов. Количественные характеристики этих алгоритмов зависят от конкретных реализаций оборудования производителями. После получения клиентского запроса RADIUS-сервер производит проверку передавшего этот запрос клиента. Запросы от клиентов, для которых сервер RADIUS не имеет разделяемого ключа, отбрасываются без уведомления. Если проверка клиента завершилась успешно, RADIUS-сервер обращается к базе данных о пользователях для поиска указанного в запросе имени.
Пользовательская запись в базе данных содержит список требований, которым
пользователь должен удовлетворять для получения доступа в сеть. К таким требованиям относится, в первую очередь, совпадение пароля, но в базе данных может также указываться клиент (клиенты) и порт (порты), через которые пользователю разрешен доступ.
При невыполнении какого-либо из условий при обработке сообщений RADIUS-сервер передает отклик Access-Reject, показывающий некорректность пользовательского запроса. При желании сервер может включать в Access-Reject текстовое сообщение. Никакие иные атрибуты (за исключением Proxy-State) не могут включаться в Access-Reject. Если все условия выполнены, и RADIUS-сервер хочет узнать дополнительную информацию, то он передает отклик Access- Challenge. Этот отклик может включать текстовое сообщение, выводимое клиентом для пользователя с приглашением ответить на вопросы сервера. Если клиент получает отклик Access-Challenge и поддерживает режим challenge/response, он может вывести текстовое сообщение (если таковое имеется в пакете отклика) для пользователя. После этого клиент снова передает первоначальный запрос Access-Request с новым идентификатором (request ID), атрибутом User-Password и атрибутом State из Access-Challenge (если этот атрибут присутствовал в отклике). Сервер может передать в ответ на новый запрос Access-Request отклик типа Access-Accept, Access-Reject или Access-Challenge.
При выполнении всех условий в отклик Access-Accept включается список конфигурационных параметров для данного пользователя. К таким параметрам относятся тип сервиса, например, SLIP, РРР, Login User, и все требуемые для предоставления этого сервиса значения. Для протоколов SLIP и РРР могут включаться параметры IP-адреса, маски подсети, MTU и другие. Для терминальных пользователей эти параметры могут указывать желаемый протокол и хост.
При использовании режима challenge/response пользователю передается случайное число и ожидается возврат зашифрованного отклика на это число. У легитимных пользователей имеется специальное устройство (например, смарт- карта) или программа для вычисления корректного отклика. Пользователь, не имеющий нужного устройства или программы и не знающий секретного ключа, который позволит эмулировать устройство/программу, может лишь попытаться угадать правильный отклик.
Пакет Access-Challenge обычно содержит атрибут Reply-Message, содержащий передаваемый пользователю запрос (challenge), в качестве которого могут использоваться редко повторяющиеся числа. Обычно запрос получают от внешнего сервера, которому известен тип аутентификатора, доступного авторизованному пользователю и который, следовательно, может выбрать случайное или редко повторяющееся число с подходящим основанием и длиной. Пользователь вводит это число в свое устройство (или программу), вычисляющее отклик, которого ожидает сервер RADIUS во втором запросе Access-Request. Если полученное от пользователя значение соответствует ожидаемому, RADIUS-сервер возвращает отклик Access-Accept, а при несоответствии - отклик Access-Reject.