Предлагается несколько примеров для иллюстрации потока пакетов и использования типовых атрибутов.
6.1. Удаленный доступ пользователя на указанную ЭВМ (Telnet)
Сервер NAS с адресом 192.168.1.16 посылает запрос Access-Request в UDP пакете серверу RADIUS для пользователя с именем NEMO, подключаемого к порту 3.
Code = 1 (Access-Request)
User-Name = "NEMO"
User-Password = {16-октетный пароль, дополненный в конце нулями и объединенный операцией XOR с MD5(общий секретный пароль|Request Authenticator)}
NAS-IP-Address = 192.168.1.16
NAS-Port = 3
Сервер RADIUS аутентифицирует NEMO и посылает запрос Access-Accept в UDP пакете серверу NAS, требуя от него организации удаленного доступа пользователя NEMO к ЭВМ с заданным адресом.
Code = 2 (Access-Accept)
ID = 0 (то же самое, что и в Access-Request)
Response Authenticator = {16-октетная контрольная сумма MD-5 кода (2),
id (0), приведенного выше Request Authenticator, атрибутов этого отклика и общего секретного пароля }
Атрибуты:
Service-Type = Login-User
Login-Service = Telnet
Login-Host = 192.168.1.3
6.2. Кадровая аутентификация пользователя посредством CHAP
Сервер NAS с адресом 192.168.1.16 посылает запрос Access-Request в UDP-пакете серверу RADIUS для пользователя с именем VANYA для подключения к порту 20 в рамках протокола PPP. Аутентификация осуществляется посредством CHAP. NAS посылает атрибуты Service-Type и Framed-Protocol в качестве рекомендаций серверу RADIUS воспользоваться PPP, хотя NAS необязательно этому последует.
Code = 1 (Access-Request)
ID = 1
Request Authenticator = {16-октетное случайное число, используется также в вызове CHAP (CHAP challenge)}
Атрибуты:
User-Name = " VANYA"
CHAP-Password = {1 октет идентификатора CHAP, за которым следует 16 октетов CHAP-отклика}
NAS-IP-Address = 192.168.1.16
NAS-Port = 20
Service-Type = Framed-User
Framed-Protocol = PPP
Сервер RADIUS аутентифицирует VANYA и посылает запрос Access-Accept в UDP-пакете серверу NAS, сообщая, что он отрывает PPP-сессию и приписывает адрес пользователю из имеющегося у него списка.
NAS-IP-Address = 192.168.1.16
NAS-Port = 7
State =
{Код из пакета Access-Challenge}
Отклик был некорректен, поэтому сервер RADIUS предлагает NAS отклонить попытку входа в систему.
Code = 3
(Access-Reject)
ID = 3
(то же что и в Access-Request)
Response Authenticator = {16-октетов контрольной суммы MD-5 кода (3), ID (3), описанного выше Request Authenticator, атрибутов этого отклика (если таковые имеются) и общего секретного пароля}
Атрибуты:
(отсутствуют, хотя сообщение Reply-Message может быть послано)
На практике, с сервером RADIUS связывается база данных, где хранятся имена пользователей и соответствующие им секретные пароли. Конкретный именованный пользователь должен аутентифицироваться только одним способом. Это уменьшает возможности атаки путем согласования использования наименее безопасного метода аутентификации. Если пользователь нуждается в использовании разных аутентификационных методов в различных ситуациях, тогда следует данному пользователю в каждом из этих вариантов выступать под разными именами.
Пароли должны храниться в местах с ограниченным доступом. Эти данные должны быть доступны только процессам, которые с ними работают.