EAP-SIM和RADIUS如何协同工作?

时间:2015-07-03 13:56:03

标签: radius

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

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

                                               |- Diameter -|

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

一个在另一个之上吗? (如IP& TCP)

在EAP-SIM和半径的否定期间发送的消息的内容是什么? (让我们假设客户端1想要连接并需要进行身份验证.HSS是RADIUS用来检查&#39;凭证的组件<);

1 个答案:

答案 0 :(得分:0)

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