一、SIM EAP是什么
SIM EAP(SIM-based Extensible Authentication Protocol)是基于SIM卡的可扩展认证协议,属于802.1X/EAP框架下的一种认证方法(EAP-PSK的SIM变体,EAP方法号通常为方法19或运营商自定义方法号)。其核心机制是:终端利用SIM卡中预置的IMSI、Ki(密钥)及运营商下发的认证参数,在无需用户输入密码的前提下完成网络接入认证。
简单来说:用户插着SIM卡大城群众说事,连接WLAN或企业网络时,网络侧通过SIM卡内的安全能力完成身份核验,整个过程无需手动输入账号密码,实现"即插即连"。
二、SIM EAP工作原理
SIM EAP的认证流程遵循以下核心步骤:
1. 认证发起
终端向认证服务器(如RADIUS服务器或运营商AAA平台)发起EAP-Start消息,携带所请求的EAP方法(SIM EAP)。
2. 向量交换
认证服务器生成16字节随机向量R(Random Vector),通过EAP-Request下发给终端。
3. SIM卡内计算
终端将随机向量R送至SIM卡,SIM卡利用内部密钥Ki及3GPP标准算法(MILENAGE或Tuw)计算:
签名值SRES(Signer of Random)
加密密钥CK和IK
4. 响应回传
终端将SRES、CK(及IMSI的加密摘要)封装为EAP-Response回传认证服务器。
5. 服务端验证
认证服务器将SRES与HLR/HSS中预存的期望值比对,同时用CK解密终端信息,验证通过则下发认证成功消息。
6. 密钥派生
双方基于CK派生出网络访问密钥(用于WPA2-PSK或IPSec隧道等后续加密通信)。
整个流程中,用户密钥Ki始终封闭在SIM卡内部,即使终端被物理提取也无法导出密钥,这是SIM EAP相比纯软件认证的核心安全优势。
三、核心应用场景
四、配置流程与要点
终端侧(以Android/iOS为例):
1. 确认SIM卡已开启"网络认证"或"在线EAP"功能(部分运营商默认关闭,需拨打客服或在运营商APP中开通)。
2. 进入Wi-Fi设置 → 选择目标SSID → 高级选项 → 安全模式选择"802.1X/EAP"。
3. EAP方法选择"SIM"(部分系统显示为"SIM EAP"或方法号19)。
4. 认证域(Realm)填写运营商或企业分配的域名(如 ccmna.cmp.xiaomi.com)。
5. 无需填写用户名/密码,留空即可。
6. CA证书选择"使用系统默认"或加载指定CA(企业私有CA需手动导入)。
服务端侧(RADIUS/AAA):
1. 在RADIUS服务器(如FreeRADIUS、Windows NPS、IPEX)中注册终端EAP方法为SIM。
2. 配置HLR/HSS接口,确保能查询到目标IMSI对应的Ki和期望SRES。
3. 设置EAP-Identity交换时的realm匹配规则。
4. 配置AKA Challenge/Response的超时与重试策略(建议3次,间隔5秒)。
关键注意点:
SIM卡必须为USIM(含3G/4G能力),纯2G SIM卡不支持MILENAGE算法,仅支持旧版Tuwa/Tub,安全性显著降低。
认证服务器与SIM卡必须使用同一套算法(MILENAGE对MILENAGE,不可混用)。
若终端连接多个网络(如同时有蜂窝数据),需确保SIM EAP认证流量走Wi-Fi通道,避免蜂窝回传导致认证失败。
五、常见问题与排查
问题1:连接时显示"认证失败"或"拒绝"
检查SIM卡是否已开通EAP/在线认证功能。
确认realm填写正确(区分大小写)。
查看RADIUS日志中EAP-Response的SRES值是否与HLS侧一致。
问题2:连接后反复断开
多为密钥CK派生不一致,检查终端与服务端的随机数长度是否统一(必须16字节)。
检查Wi-Fi侧是否误配置为WPA-PSK而非802.1X。
问题3:仅特定运营商SIM卡不可用
部分虚拟运营商/MVNO的SIM卡未开放EAP能力,需联系发卡方确认。
排查时建议同时抓包(终端侧用tcpdump抓802.11 EAPOL帧,服务端抓RADIUS UDP 1812/1813端口),定位中断在哪个交互步骤。
六、延伸阅读与资源
SIM EAP的完整协议细节定义在RFC 4187(EAP-SIM)及3GPP TS 33.102/TS 33.103中。针对企业级部署与多厂商设备兼容性问题,技术白皮书与实操案例可参考dcqzss.cn 发布的相关技术文档,其中包含FreeRADIUS配置示例、Android 13以上版本的EAP-SIM适配说明及常见HLR接口对接流程,可直接作为项目落地时的对照手册使用。
