7.3. Пользователь подключается с помощью карты Challenge-Response
NAS с адресом 192.168.1.16 передает UDP-пакет Access-Request серверу RADIUS для пользователя mopsy, подключающегося через порт 7. Пользователь ввел пароль challenge. Генерируемые смарт-картой запрос (challenge) и отклик имеют значения 32769430 и 99101462, соответственно.
Атрибут Request Authenticator содержит 16-октетное случайное значение, созданное NAS.
Атрибут User-Password содержит результат операции XOR для 16 октетов пароля (в данном случае challenge, с дополнением нулями справа) и MD5(shared secret|Request Authenticator).
01 02 00 39 f3 a4 7a 1f 6a 6d 76 71 0b 94 7a b9 30 41 a0 39 01 07 6d 6f 70 73 79 02 12 33 65 75 73 77 82 89 b5 70 88 5e 15 08 48 25 c5 04 06 c0 a8 01 10 05 06 00 00 00 07 1 Code = Access-Request (1) 1 ID = 2 2 Length = 57 16 Request Authenticator Атрибуты: 7 User-Name (1) = "mopsy" 18 User-Password (2) 6 NAS-IP-Address (4) = 192.168.1.16 6 NAS-Port (5) = 7
Сервер RADIUS передает пользователю mopsy дополнительный запрос, на который ожидает ответа. Следовательно, RADIUS передает UDP-пакет Access-Challenge серверу NAS.
Атрибут Response Authenticator содержит 16-октетной хэш-значение MD5 для code (11), id (2), length (78), атрибута Request Authenticator из предыдущего пакета, атрибутов данного отклика и разделяемого ключа.
Атрибут Reply-Message имеет значение "Challenge 32769430. Enter response at prompt."
Атрибут State представляет собой значение magic cookie, возвращаемое с откликом пользователя (в нашем примере это 8 октетов — 33 32 37 36 39 34 33 30 в шестнадцатеричном представлении).
0b 02 00 4e 36 f3 c8 76 4a e8 c7 11 57 40 3c 0c 71 ff 9c 45 12 30 43 68 61 6c 6c 65 6e 67 65 20 33 32 37 36 39 34 33 30 2e 20 20 45 6e 74 65 72 20 72 65 73 70 6f 6e 73 65 20 61 74 20 70 72 6f 6d 70 74 2e 18 0a 33 32 37 36 39 34 33 30 1 Code = Access-Challenge (11) 1 ID = 2 (same as in Access-Request) 2 Length = 78 16 Response Authenticator Атрибуты: 48 Reply-Message (18) 10 State (24)
Пользователь вводит свой отклик и NAS передает новый пакет Access-Request, включая в него атрибут State.
Атрибут Request Authenticator содержит новое 16-октетное случайное значение.
Атрибут User-Password представляет собой 16-октетное значение, полученное с помощью операции XOR для пользовательского отклика (в данном случае 99101462), дополненного справа нулями и MD5(shared secret|Request Authenticator).
Атрибут State содержит значение magic cookie из пакета Access-Challenge.
01 03 00 43 b1 22 55 6d 42 8a 13 d0 d6 25 38 07 c4 57 ec f0 01 07 6d 6f 70 73 79 02 12 69 2c 1f 20 5f c0 81 b9 19 b9 51 95 f5 61 a5 81 04 06 c0 a8 01 10 05 06 00 00 00 07 18 10 33 32 37 36 39 34 33 30 1 Code = Access-Request (1) 1 ID = 3 (Note that this changes.) 2 Length = 67 16 Request Authenticator Атрибуты: 7 User-Name = "mopsy" 18 User-Password 6 NAS-IP-Address (4) = 192.168.1.16 6 NAS-Port (5) = 7 10 State (24)
Значение атрибута Response (отклик пользователя) было некорректным (для примера), поэтому сервер RADIUS говорит NAS о необходимости отвергнуть попытку подключения.
Атрибут Response Authenticator представляет собой 16-октетное хэш-значение MD5 для code (3), id (3), length(20), атрибута Request Authenticator из предыдущего пакета, атрибутов данного отклика (если они имеются) и разделяемого ключа.
03 03 00 14 a4 2f 4f ca 45 91 6c 4e 09 c8 34 0f 9e 74 6a a0 1 Code = Access-Reject (3) 1 ID = 3 (same as in Access-Request) 2 Length = 20 16 Response Authenticator Атрибуты: (атрибуты отсутствуют, хотя включение Reply-Message допускается.)