中国移动WLANSIM认证.docx
《中国移动WLANSIM认证.docx》由会员分享,可在线阅读,更多相关《中国移动WLANSIM认证.docx(45页珍藏版)》请在冰豆网上搜索。
中国移动WLANSIM认证
WLAN无感知认证试点技术方案2012(SIM认证)
1.背景
EAP-SIM/AKA是EAP认证方法的一种实现方式,其通过用户(U)SIM卡信息进行认证,与蜂窝认证方式相同,当用户使用SIM卡时,执行EAP-SIM认证流程,当用户使用USIM卡时,执行EAP-AKA认证流程,整个认证过程不需要用户介入任何手工操作,完全由终端自动完成。
2.技术原理
如下图,终端与AC之间通过EAPoL协议通信,AC和AAA服务其通过Radius协议转发EAP消息,AAA服务器使用MAP协议从HLR/HSS获取用户(U)SIM卡鉴权向量,并完成认证,AAA服务器是认证的执行点。
EAP-SIM/AKA认证流程参考如下国际标准
[1]3GPPTS33.234v6.9.0,"WLANInterworkingSecurity".
[2]3GPPTS23.234v6.10.0,"WLANInterworking;SystemDescription".
[3]IETFRFC4186,"EAP-SIM"
[4]IETFRFC4187,"EAP-AKA"
[5]IETFRFC3748,"ExtensibleAuthenticationProtocol(EAP)".
3.关键技术问题
3.1SIM认证签约
3GPP标准规定HSS存放WLAN用户签约信息,AAA服务器与HSS之间通过Diameter协议互通。
对于仍使用HLR的网络,标准建议AAA服务器模拟成MSCServer或者SGSN与HLR交互,完成认证并获取签约数据。
对于认证部分,AAA服务器可完全重用现有D接口或Gr接口的认证消息,但对于如何在HLR标识WLAN签约数据以及如何下发签约数据,标准并未做任何定义和解释。
试点阶段,HLR通过运营商自定义签约字段HPLMNODB第三位(plmn-SpecificBarringType3)存放SIM认证签约开通信息,签约信息通过BOSS开通。
HPLMNODB字段格式见下:
odb-HPLMN-Data{
plmn-SpecificBarringType1(0),
plmn-pecificBarringType2
(1),
plmn-SpecificBarringType3
(2),
plmn-SpecificBarringType4(3)}
为便于BOSS对SIM/PEAP/MAC三种认证方式进行统一业务控制,AAA服务器也存放用户SIM认证签约开通信息,签约信息通过Portal服务器特定页面开通。
HLR上默认对所有潜在试点用户开通SIM认证,SIM认证是否通过由AAA根据自身存储的用户手机号对应的SIM认证签约信息进行控制。
需要通过试点评估HLR保留SIM认证签约信息的必要性。
3.2HLR签约信息下发
如果AAA模拟为MSC服务器,可通过RestoreData方式下发签约参数;如果AAA模拟为SGSN,可通过GPRSUpdateLocation方式下发签约参数。
两种下发方式区别如下:
下发方式
业务签约
WLAN与PS同时附着
在线停机
复制卡控制
厂家支持情况
MAPrestoredata
共有参数+CS特有
支持
不支持
不支持
爱立信HLR需改造其他厂家均支持
MAPGPRSupdatelocation
共有参数+PS特有
不支持
支持
支持
中兴、诺西HLR需改造,其他厂家均支持
使用GPRSUpdateLocation时,如果分组域自有业务已经在线,此时并发接入WLAN时会导致分组域业务下线;如果WLAN业务已经在线,用户并发使用分组域自有业务,可通过AAAServer的控制,避免对WLAN业务的影响。
试点阶段优选通过RestoreData下发签约参数。
对于已支持GPRSUpdateLocation下发签约参数的省份,可在试点中评估此下发方式对分组域自有业务体验影响。
AAA服务器需要配置试点省份IMSI号段范围,通过IMSI号段判断归属省,以区别使用签约下发消息。
3.3SSID设置
需设置新的SSID(CMCC-AUTO),支持存量终端使用SIM认证方式。
SIM认证与PEAP认证使用相同SSID。
3.4下线控制
SIM认证仍保留8小时下线机制
可通过AC开关开启/关闭SIM认证对应SSID的15分钟下线机制。
(已确认,部分AC厂家已支持,部分AC厂商需升级支持)。
3.5Keep-alive机制(可选)
AC利用EAP信令周期性探测UE状态,如果UE在一定时间内无响应(异常关机、移出WiFi覆盖区域),则网络侧对此用户进行下线操作。
具体实现机制如下图:
AC在一定时间内无流量后,向终端发送EAP-Request/identity消息,终端如果在线则回复EAP-Response消息,如果AC收到终端响应后,回复EAP-Success,如果AC没有收到终端响应,则在一定时间内重发EAP-Request消息,在重传一定次数后,仍未收到响应,则从网络侧下线用户。
此机制可能存在如下潜两个问题:
1)上述流程不是标准流程,部分终端周期性收到心跳后,可能出于安全或其它因素考虑,不处理EAP-Request消息。
2)终端在EAP-Response消息中可能不携带网络侧分配的伪随机名或快速鉴权名,而是携带IMSI,增加空口传输IMSI的概率。
鉴于部分厂家已支持此功能,试点期间作为可选项,在提供此功能的厂家设备上验证其效果。
AC如果支持Keep-alive机制,对AC性能有一定影响,可通过试点进行评估。
4.接入流程
4.1总体接入流程
统一认证接入包括802.11建立关联、认证、DHCP地址分配、UE与AC保活、计费、网络退出几个阶段。
总体接入流程如下图描述:
图1统一认证总体接入流程
4.2EAP-SIM认证
图2EAP-SIM全鉴权认证接入流程
EAP-SIM全鉴权认证接入流程说明:
1)WLANUE和WLANAN建立关联之后,UE向WLANAN发送EAPoL-Start,发起鉴权请求。
2)WLANAN发送EAP-Request/Identity消息到WLANUE。
3)WLANUE回复EAP-Response/Identity消息,向网络发送其用户身份标识信息,身份标识可以为伪随机NAI或永久NAI。
4)WLANAN将EAP报文使用RADIUSAccess-Request消息封装,并将Identity放在RADIUS的User-Name属性中,发送给3GPPAAAServer。
5)3GPPAAAServer收到包含用户身份的EAP-Response/Identity报文。
6)3GPPAAAServer识别出用户准备使用的认证方法为EAP-SIM。
如果UE送上的Identity为伪随机NAI,3GPPAAAServer检查本地没有该伪随机NAI与IMSI的映射关系,则使用EAPRequest/SIM-Start消息再次请求永久NAI(6、7、8、9步仅用于WLANUE漫游到新的拜访地而使用其他AAA分配的伪随机NAI接入认证的场景)。
EAP报文封装在RADIUSAccess-Challenge消息中,发送给WLANAN。
7)WLANAN转发EAP-Request/SIM-Start消息到WLANUE。
8)WLANUE使用EAP-Response/SIM-Start消息携带永久NAI进行响应
9)WLANAN转发EAP-Response/SIM-Start消息携带永久NAI到3GPPAAAServer,EAP报文封装在RADIUSAccess-Request消息中。
10)3GPPAAAServer检查本地是否缓存可用的鉴权向量,如果没有则向HLR发送MAP_SEND_AUTH_INFO请求,请求获取n组鉴权向量(n可配置,取值范围1~5,缺省建议5组,具体要求参见本试点方案6.3.1节AAA鉴权功能内容)。
11)HLR响应3GPPAAAServer鉴权请求,下发n组鉴权三元组。
12)3GPPAAAServer检查本地是否存在用户的签约信息。
如果没有,则AAA向HLR发起MAP_UPDATE_GPRS_LOC或MAP-RESTORE-DATA获取用户签约信息,具体消息的使用请参照3.2节HLR签约消息下发要求。
13)HLR向3GPPAAAServer发起插入用户数据MAP_INSERT_SUBS_DATA请求,向3GPPAAAServer插入数据。
14)3GPPAAAServer响应HLR插入用户数据消息,完成用户签约信息获取。
15)HLR向3GPPAAAServer回复MAP_UPDATE_GPRS_LOC或MAP-RESTORE-DATA完成HLR的交互流程。
具体消息的使用必须与步骤12)中使用的消息匹配,且必须符合3.2节HLR签约消息下发要求。
16)3GPPAAAServer检查用户签约通过后,根据算法生成TEKs、MSK和EMSK(参见IETFRFC4186),将N组(N可配置,取值为2或3,默认N=2)RAND串起来后生成一个N*RAND。
为支持标识保密功能,AAAServer还要生成伪随机NAI和快速重鉴权NAI,用于后续的全鉴权和快速重鉴权过程。
17)3GPPAAAServer在EAP-Request/SIM-Challenge消息中发送RAND,一个消息鉴权码(MAC)和2个用户标识(伪随机NAI和快速重鉴权NAI)给WLANAN,EAP报文封装在RADIUSAccess-Challenge消息中。
3GPPAAAServer可选发送给WLANUE一个指示。
指出希望保护最后的成功结果消息(如果结果成功)。
18)WLANAN转发EAPRequest/SIM-Challenge消息到WLANUE。
19)WLANUE根据每个RAND为128bit,解析出m个RAND,依据GSM算法得出K_sres,K_int,K_ency,Session_Key,并且用K_int得出AT_MAC,和接收到的AT_MAC进行比较,如果一致,表示AAAServer认证通过。
再利用K_sres作为key用规定的算法生成MAC_SRES。
20)WLANUE使用新密钥素材覆盖整个EAP消息计算新消息认证码(messageauthenticationcode,MAC)值。
WLANUE发送包含RES和新消息认证码的EAPResponse/SIM/Challenge消息给WLANAN。
如果WLANUE从3GPPAAAServer收到认证结果保护指示,则WLANUE必须在此消息中包含结果指示。
否则WLANUE必须忽略该指示。
21)WLANAN发送EAPResponse/SIM-Challenge报文到3GPPAAAServer,EAP报文封装在RADIUSAccess-Request消息中。
22)3GPPAAAServer利用本端产生的K_sres作为key生成MAC_SRES,和接收到的MAC_SRES进行比较,如果一致,表示客户端认证通过。
23)如果所有检查都成功,且3GPPAAAServer之前发送过认证结果保护标识,则3GPPAAAServer必须在发送EAPSuccess消息前发送EAPRequest/SIM/Notification消息。
EAP报文封装在RADIUSAccess-Challenge消息中,且用MAC保护。
24)WLANAN转发EAP消息到WLANUE。
25)WLANUE发送EAPResponse/SIM-Notification。
26)WLANAN转发EAPResponse/SIM-Notification消息到3GPPAAAServer,EAP报文封装在RADIUSAccess-Request消息中。
3GPPAAAServer必须忽略该消息内容。
27)3GPPAAAServer发送EAP-Success消息到WLANAN(可能在发送EAPNotification之前,参见第23步描述)。
如果3GPPAAAServer产生了额外的用于WLANAN和WLANUE间链路保护的机密性和/或完整性保护的鉴权密钥,3GPPAAAServer在RADIUSAccess-Accept消息中包含这些密钥素材。
28)WLANAN通过EAPSuccess消息通知WLANUE鉴权成功。
至此,EAP-SIM交互已经成功完成,WLANUE和WLANAN共享交互过程中生成的密钥素材(WLANAN存储密钥信息,暂不使用)。
认证处理可能在任何时候失败,例如由于消息校验码检查失败或者WLANUE没有对网络请求给予响应。
这种情况下EAP-SIM过程将按IETFRFC4186中描述终止。
4.3EAP-AKA认证
图3EAP-AKA全鉴权认证接入流程
EAP-AKA全鉴权认证接入流程
1)WLANUE和WLANAN建立关联之后,UE向WLANAN发送EAPoL-Start,发起鉴权请求。
2)WLANAN发送EAP-Request/Identity消息到WLANUE。
3)WLANUE回复EAP-Response/Identity消息,向网络发送其用户身份标识信息,身份标识可以为伪随机NAI或永久NAI。
4)WLANAN将EAP报文使用RADIUSAccess-Request消息封装,并将Identity放在RADIUS的User-Name属性中,发送给3GPPAAAServer。
5)3GPPAAAServer收到包含用户身份的EAP-Response/Identity报文。
6)3GPPAAAServer识别出用户准备使用的认证方法为EAP-AKA。
如果UE送上的Identity为伪随机NAI,3GPPAAAServer检查本地没有该伪随机NAI与IMSI的映射关系,则使用EAPRequest/AKA-Identity消息再次请求永久NAI(6、7、8、9步仅用于WLANUE漫游到新的拜访地而使用其他AAA分配的伪随机NAI接入认证的场景)。
EAP报文封装在RADIUSAccess-Challenge消息中,发送给WLANAN。
7)WLANAN转发EAP-Request/AKA-Identity消息到WLANUE。
8)WLANUE使用EAP-Response/AKA-Identity消息携带永久NAI进行响应
9)WLANAN转发EAP-Response/AKA-Identity消息携带永久NAI到3GPPAAAServer,EAP报文封装在RADIUSAccess-Request消息中。
10)3GPPAAAServer检查本地是否缓存可用的鉴权向量,如果没有则向HLR发送MAP_SEND_AUTH_INFO请求,请求获取n组鉴权向量(n可配置,取值范围1~5,缺省建议5组,具体要求参见本试点方案6.3.1节AAA鉴权功能内容)。
11)HLR响应3GPPAAAServer鉴权请求,下发n组鉴权五元组。
12)3GPPAAAServer检查本地是否存在用户的签约信息。
如果没有,则AAA向HLR发起MAP_UPDATE_GPRS_LOC获取用户签约信息。
具体消息的使用请参照3.2节HLR签约消息下发要求。
13)HLR向3GPPAAAServer发起插入用户数据MAP_INSERT_SUBS_DATA请求,向3GPPAAAServer插入数据。
14)3GPPAAAServer响应HLR插入用户数据消息,完成用户签约信息获取。
15)HLR向3GPPAAAServer回复MAP_UPDATE_GPRS_LOC响应消息,完成HLR的交互流程。
具体消息的使用必须与步骤12)中使用的消息匹配,且必须符合3.2节HLR签约消息下发要求。
16)3GPPAAAServer检查用户签约通过后,根据算法生成TEKs、MSK和EMSK(参见IETFRFC4187)。
为支持标识保密功能,AAAServer还要生成伪随机NAI和快速重鉴权NAI,用于后续的全鉴权和快速重鉴权过程。
17)3GPPAAAServer在EAP-Request/AKA-Challenge消息中发送RAND,AUTH,一个消息鉴权码(MAC)和2个用户标识(伪随机NAI和快速重鉴权NAI)给WLANAN,EAP报文封装在RADIUSAccess-Challenge消息中。
3GPPAAAServer可选发送给WLANUE一个指示。
指出希望保护最后的成功结果消息(如果结果成功)。
18)WLANAN转发EAP-Request/AKA-Challenge消息到WLANUE。
19)WLANUE运行USIM中UMTS算法。
USIM验证AUTN并且据此认证网络。
如果AUTN验证错误,终端拒绝鉴权(未在本例中显示)。
如果序列号验证失败,终端发起同步过程。
参见[IETFRFC4187]。
重同步过程如下:
A、USIM计算根据Ki、SQN、AMF以及随机数RAND通过f1star计算MAC-S,MAC-S和SQN一起组成AUTS。
然后向3GPPAAAServer发送鉴权失败消息,带有参数AUTS。
B、3GPPAAAServer收到带有AUTS参数的鉴权失败消息后,发现是重同步过程,就向HLR/AUC索取新的鉴权向量。
C、HLR收到3GPPAAAServer的索取鉴权向量请求后,发现是重同步过程,就转入同步过程的处理。
首先验证SQN是否在正确的范围内,即下一个产生的序列码SQN是否能被USIM接受。
如果SQN在正确的范围内,那么HLR/AUC产生一批新的鉴权向量并把它发送给3GPPAAAServer。
如果SQN不在正确的范围内,则HLR/AUC根据Ki、SQN、AMF、RAND通过f1star算法计算并验证XMAC-S。
如果XMAC-S=MAC-S,则把SQNms的值赋给SQNHE,然后产生一批新的鉴权向量并把它发送给3GPPAAAServer。
D、3GPPAAAServer重新向MS发起一个鉴权流程,处理同正常的鉴权过程。
如果AUTN验证正确,USIM计算RES,IK和CK。
WLANUE从由USIM新计算出的IK和CK推导出新的附加密钥素材。
用新导出的密钥素材检查收到的MAC。
如果收到受保护的伪随机身份和快速重鉴权身份,WLANUE保存这些临时身份用于后续鉴权。
20)WLANUE使用新密钥素材覆盖整个EAP消息计算新消息认证码(messageauthenticationcode,MAC)值。
WLANUE发送包含RES和新消息认证码的EAPResponse/AKA-Challenge消息给WLANAN。
如果WLANUE从3GPPAAAServer收到认证结果保护指示,则WLANUE必须在此消息中包含结果指示。
否则WLANUE必须忽略该指示。
21)WLANAN发送EAP-Response/AKA-Challenge报文到3GPPAAAServer,EAP报文封装在RADIUSAccess-Request消息中。
22)3GPPAAAServer检查收到的消息认证码(MAC)比较XRES和收到RES。
23)如果所有检查都成功,且3GPPAAAServer之前发送过认证结果保护标识,则3GPPAAAServer必须在发送EAPSuccess消息前发送EAP-Request/AKA-Notification消息。
EAP报文封装在RADIUSAccess-Challenge消息中,且用MAC保护。
24)WLANAN转发EAP消息到WLANUE。
25)WLANUE发送EAP-Response/AKA-Notification。
26)WLANAN发送EAP-Response/AKA-Notification消息到3GPPAAAServer,EAP报文封装在RADIUSAccess-Request消息中。
3GPPAAAServer必须忽略该消息内容。
27)3GPPAAAServer发送EAPSuccess消息到WLANAN(可能在发送EAP-Notification之前,参见第23步描述)。
如果3GPPAAAServer产生了额外的用于WLANAN和WLANUE间链路保护的机密性和/或完整性保护的鉴权密钥,3GPPAAAServer在RADIUSAccess-Accept消息中包含这些密钥素材(WLANAN存储密钥信息,暂不使用)。
28)WLANAN通过EAPSuccess消息通知WLANUE鉴权成功。
至此,EAP-AKA交互已经成功完成。
认证处理可能在任何时候失败,例如由于消息校验码检查失败或者WLANUE没有对网络请求给予响应。
这种情况下EAP-AKA过程将按IETFRFC4187中描述终止。
4.4快速鉴权
在每一次全鉴权认证后,为了节省信令开销和认证时延,AAA服务器可为终端分配快速鉴权用户名,之后终端和网络间进行快速鉴权。
超过快速鉴权设定次数后或者超过快速鉴权设定周期后,AAA服务器重新进行全鉴权。
4.4.1EAP-SIM快速鉴权
图4EAP-SIM快速鉴权接入流程
EAP-SIM快速鉴权接入流程说明:
1)WLANAN发送EAP-Request/Identity消息到WLANUE。
2)WLANUE用包含快速重鉴权身份的EAP-Response/Identity消息(该快速重鉴权身份有之前的全鉴权流程中3GPPAAAServer下发)。
3)WLANAN转发EAPResponse/Identity消息到AAAServer,EAP报文封装在RADIUSAccess-Request消息中。
4)3GPPAAAServerr根据NAI识别UE发起EAP-SIM快速重鉴权流程,且快速重鉴权NAI可识别。
启动计数器并在EAP-Request消息中包含NONCE、MAC和用于下一次快速重鉴权受保护的快速重鉴权标识。
该计数器由全鉴权过程初始化为1。
EAP报文封装在RADIUSAccess-Challenge消息中
3GPPAAAServer可选地发送一个结果指示给WLANUE。
3GPPAAAServer如果无法识别UE送上来的快速重鉴权NAI,3GPPAAAServer则发起全鉴权流程中的6、7、8、9步,用于获取UE的永久NAI。
后续流程即为EAP-SIM的全鉴权流程,详细参考以上EAP-SIM全鉴权流程。
5)WLAN-AN转发EAP-Request消息到WLANUE。
6)WLAN-UE校验计数器之最新,消息认证码正确并发送包含相同计数器值(由AAAServer累加)和计算的消息鉴权码(MAC)的EAP-Response消息。
7)WLANAN转发EAP-Response响应消息到3GPPAAAServer,EAP报文封装在RADIUSA