RADIUS Response 报文中是否包含请求报文中发送的属性?
Does the RADIUS Response packet contain the attributes sent in the request packet?
我正在使用 RADIUS 服务器(我没有其源代码),它对 RADIUS 身份验证请求的响应也包含随请求一起发送的属性。
但是,我查看了 tinyradius 的源代码,它似乎并没有在生成响应数据包时复制请求数据包中的所有属性。它只复制属性编号 33(STATE 属性)(如果存在的话)。
RadiusClients 似乎接受任一响应。什么是正确的做法?
不,RADIUS 响应不应包含所有请求属性。
状态比较特殊,可以用来link多轮requests/responses一起
State 的两个主要用例是 OTP 身份验证,其中密码和 OTP 代码在两轮或更多轮中发送,或者 EAP 身份验证再次发生在多轮中。
NAS RADIUS
--- ------
# Password round
Access-Request ->
<- Access-Challenge
[Generates random state 0x01]
# OTP round
Access-Request
[Copies state 0x01] ->
Access-Accept/Reject
没有状态属性,就无法link访问质询和后续访问请求。
注意:没有具体说明如何处理状态,它只是用来将数据包捆绑在一起。在 FreeRADIUS 中,我们维护了一个 'session-state' 属性列表,这些属性可用于多轮身份验证尝试的所有回合中的策略。
我正在使用 RADIUS 服务器(我没有其源代码),它对 RADIUS 身份验证请求的响应也包含随请求一起发送的属性。
但是,我查看了 tinyradius 的源代码,它似乎并没有在生成响应数据包时复制请求数据包中的所有属性。它只复制属性编号 33(STATE 属性)(如果存在的话)。
RadiusClients 似乎接受任一响应。什么是正确的做法?
不,RADIUS 响应不应包含所有请求属性。
状态比较特殊,可以用来link多轮requests/responses一起
State 的两个主要用例是 OTP 身份验证,其中密码和 OTP 代码在两轮或更多轮中发送,或者 EAP 身份验证再次发生在多轮中。
NAS RADIUS
--- ------
# Password round
Access-Request ->
<- Access-Challenge
[Generates random state 0x01]
# OTP round
Access-Request
[Copies state 0x01] ->
Access-Accept/Reject
没有状态属性,就无法link访问质询和后续访问请求。
注意:没有具体说明如何处理状态,它只是用来将数据包捆绑在一起。在 FreeRADIUS 中,我们维护了一个 'session-state' 属性列表,这些属性可用于多轮身份验证尝试的所有回合中的策略。