跳到主要内容

7.3. User with Challenge-Response card (使用挑战-响应卡的用户)

7.3. User with Challenge-Response card (使用挑战-响应卡的用户)

位于 192.168.1.16 的 NAS 向 RADIUS 服务器发送一个 Access-Request UDP 数据包, 用于在端口 7 上登录的用户 mopsy。在本例中, 用户输入虚拟密码 "challenge"。本例中智能卡生成的挑战和响应分别为 "32769430" 和 "99101462"。

Request Authenticator 是由 NAS 生成的 16 个八位字节的随机数。

User-Password 是 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

Attributes:
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 服务器向 NAS 发送一个 Access-Challenge UDP 数据包。

Response Authenticator 是代码 (11), id (2), length (78), 上述 Request Authenticator, 此回复中的属性以及共享密钥的 16 个八位字节 MD5 校验和。

Reply-Message 是 "Challenge 32769430. Enter response at prompt."

State 是一个魔法 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 (与 Access-Request 中相同)
2 Length = 78
16 Response Authenticator

Attributes:
48 Reply-Message (18)
10 State (24)

用户输入他的响应, NAS 发送一个新的 Access-Request, 其中包含该响应, 并包括 State 属性。

Request Authenticator 是一个新的 16 个八位字节的随机数。

User-Password 是 16 个八位字节的用户响应, 在本例中为 "99101462", 末尾用空值填充, 与 MD5(shared secret|Request Authenticator) 进行异或运算。

state 是 Access-Challenge 数据包中的魔法 cookie, 未更改。

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 (注意这个值会变化。)
2 Length = 67
16 Request Authenticator

Attributes:
7 User-Name = "mopsy"
18 User-Password
6 NAS-IP-Address (4) = 192.168.1.16
6 NAS-Port (5) = 7
10 State (24)

响应不正确 (为了示例起见), 因此 RADIUS 服务器告诉 NAS 拒绝登录尝试。

Response Authenticator 是代码 (3), id (3), length(20), 上述 Request Authenticator, 此回复中的属性 (在本例中为无) 以及共享密钥的 16 个八位字节 MD5 校验和。

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 (与 Access-Request 中相同)
2 Length = 20
16 Response Authenticator

Attributes:
(无, 尽管可以发送 Reply-Message)