EAP-SIM和RADIUS是如何协同工作的



我想知道EAP-SIM和RADIUS是如何协同工作的。假设我们有这样的东西:

[client-1]----+
              |
[client-2]----+----[AP]----------[RADIUS Server]------------[HSS]
              |
[client-3]----+
                                               |- Diameter -|

EAP-SIM和RADIUS应该在客户端和RADIUS服务器之间工作,对吧?

一个高于另一个吗?(如IP和TCP(

EAP-SIM和radius在协商期间发送的消息的内容是什么?(假设客户端-1想要连接并需要进行身份验证。HSS是RADIUS用来检查"凭据"的组件(

EAP SIM协议在客户端(请求方(和RADIUS服务器之间运行。RADIUS服务器将使用其在EAP-SIM会话开始期间获得的IMSI或短暂IMSI来向HSS发送单独的请求,请求认证向量。

HSS将返回多组UMTS五元组或GSM三元组。RADIUS服务器将RAND分量从这些矢量的可变数量(GSM中为2-3(转发到客户端,客户端将它们馈送到SIM卡以产生质询响应。

质询-响应和身份验证向量从不以明文形式通过,而是使用PRF(伪随机函数(来导出会话密钥。这种派生发生在RADIUS服务器和客户端(请求方(上。

如果SIM卡没有对RAND质询产生正确的响应,那么会话密钥将不匹配,身份验证将失败。

请注意,如果HSS返回UMTS矢量,并且正在执行EAP-SIM,则存在从UMTS矢量导出GSM矢量的单独步骤。

推导的示例代码如下:https://github.com/FreeRADIUS/freeradius-server/blob/v4.0.x/src/modules/rlm_eap/types/rlm_eap_sim/sim_vector.c#L157

最新更新