EAP-SIM / EAP-AKA 是什么
这两者是拿手机卡当凭据的 EAP 认证方法:终端用 SIM/USIM 卡内不可导出的长期密钥,与网络侧 HLR/HSS 中的同一密钥完成一次挑战应答,认证过程中不出现账号和口令。EAP-SIM 来自 GSM 时代(RFC 4186),EAP-AKA 面向 3G/4G(RFC 4187),再进一步是 EAP-AKA'。运营商 Wi-Fi 让用户「开机即连」靠的就是这一类方法。
基本信息
| 凭据 | SIM/USIM 卡(Ki/K 长期密钥,卡内不可导出) |
|---|---|
| 标准 | EAP-SIM RFC 4186、EAP-AKA RFC 4187、EAP-AKA' RFC 5448 |
| 密钥强度 | EAP-SIM 基于 2G 三元组,强度受限;EAP-AKA 为 128 位密钥 |
| 服务器侧 | 需要与运营商 HLR/HSS 打通的认证网关,通常由运营商提供 |
| 典型场景 | 运营商热点、Passpoint(Hotspot 2.0)无感接入、LTE 的 ePDG |
| 企业网 | 不适用:运营商凭据无法映射到员工身份 |
典型使用场景
- 运营商 Wi-Fi 无感接入:终端配置一次后自动认证,用户不必输入账号口令
- 国际漫游:同一张卡在多国热点复用凭据,前提是运营商之间签有 Wi-Fi 互通与漫游协议
- Passpoint 热点自动发现与选择:终端按运营商策略挑选热点,配合企业级加密
- 移动核心网侧接入:VoWiFi/ePDG 等场景用同一套卡凭据完成 Wi-Fi 接入认证
- 排障分层:按「卡状态—签约与漫游—热点配置—终端支持」顺序逐层排除
- 容量设计:认证落在运营商侧网关,本地网络只负责放行,出问题时要区分责任边界
终端侧排查顺序
终端侧排查顺序
# Android 终端:先确认卡状态,再看连接使用的认证方式(部分命令需 root)
adb shell getprop gsm.sim.state # 卡是否就绪、是否被锁定
adb shell getprop gsm.operator.alpha # 当前注册的运营商,漫游时核对归属
adb shell dumpsys wifi | grep -i -E 'eap|aka' # 连接使用的 EAP 方法
adb shell su -c 'cat /data/misc/wifi/WifiConfigStore.xml' # 看 IMSI/realm 字段三种方法对照
| 方法 | 凭据来源 | 密钥强度 | 典型网络 |
|---|---|---|---|
| EAP-SIM | GSM SIM,2G 三元组 | 受限 | 早期运营商热点 |
| EAP-AKA | USIM 卡 | 128 位 | 3G/4G 运营商热点 |
| EAP-AKA' | USIM 卡 | 128 位,并把接入网络标识绑进密钥派生 | LTE ePDG、Passpoint 首选 |
EAP-AKA 的早期形式存在伪 AP 重定向的攻击面,EAP-AKA' 把接入网络标识绑定到密钥派生里来防这类攻击。终端与热点都支持时,优先用 AKA'。
企业网不该用它做员工准入:认证结果只能证明「这是一张有效卡」,无法回答是哪个员工在哪个位置上网,审计与追责链条是断的。
RADIUS 侧通常无法自建这套能力,认证要与运营商 HLR/HSS 对接,方案多由运营商或设备商提供;自建前先确认对接方式与责任划分。