浙江移动WLAN快速认证方案接口规范V.docx
- 文档编号:15518751
- 上传时间:2023-07-05
- 格式:DOCX
- 页数:23
- 大小:124.90KB
浙江移动WLAN快速认证方案接口规范V.docx
《浙江移动WLAN快速认证方案接口规范V.docx》由会员分享,可在线阅读,更多相关《浙江移动WLAN快速认证方案接口规范V.docx(23页珍藏版)》请在冰点文库上搜索。
浙江移动WLAN快速认证方案接口规范V
中国移动浙江公司WLAN快速认证
技术方案
接口规范
中国移动浙江公司
2011年2月
1概述
2
本文档主要描述WLAN快速认证方案中各系统间接口的定义。
3接口定义
4
4.1AC与AAA新增的接口
4.2
新增四个接口,用于AC和AAA绑定中心服务器之间的交互,该交互基于标准的portal报文格式,通过对报文类型以及字段的扩充来实现WLAN快速认证的相关功能。
接口依次描述如下:
4.2.1.1(type=0x30)MAC绑定查询报文
4.2.1.2
4.2.1.3
4.2.1.4
其中Ver=0x01,Type=0x30,SerialNo=AC随机生成值,UserIP=MAC对应的用户IP,AttrNum=2。
属性包括:
Attr(属性字段)
AttrType
属性值长度
属性取值
SessionID(MacAddress)
0x0B
6(固定)
取值为客户端MAC如
0016ec9d4142
BasIp(ACIP)
0x0A
4(固定)
取值为AC设备IP,如202.112.111.111取值为
CA706F6F
AAA绑定中心服务器收到该报文请求后查询该SessionID(MacAddress)是否已经绑定,将结果通过下面的(type=0x31)MAC查询应答报文进行回复。
4.2.1.5(type=0x31)MAC查询应答报文
4.2.1.6
4.2.1.7
4.2.1.8
其中Ver=0x01,Type=0x31,SerialNo=0x30报文发起的SerialNo,UserIP=该MAC对应的用户IP,AttrNum=0。
ErrCode等于0表示该MAC已绑定。
ErrCode等于1表示该MAC未绑定。
AAA绑定中心服务器收到0x30请求报文后,查询该MAC地址对应的绑定状态,若已经绑定则返回应答报文,Errcode等于0x00,表示已经绑定,同时应通知Portal服务器发起自动portal认证过程;若未绑定,则返回MAC查询应答报文,ErrCode等于0x01,表示未绑定。
4.2.1.9(type=0x32)用户上线成功通知报文
4.2.1.10
4.2.1.11
4.2.1.12
其中Ver=0x01,Type=0x32,SerialNo=AC随机生成值,UserIP=用户IP,AttrNum=6(或者5,其中User-Agent属性可能不存在),属性包括:
Attr(属性字段)
AttrType
属性值长度
属性取值
UserName
0x01
<=32(可变)
用户名(可能为用户的手机号)
SessionID(MacAddress)
0x0B
6(固定)
取值为上线用户的MAC如
0016ec9d4142
BasIp(ACIP)
0x0A
4(固定)
取值为AC的IP,如202.112.111.111取值为
CA706F6F
NasID
0x30
<=32(可变)
NAS-ID名称,字符串
Session-StartTime
0x31
4(固定)
用户上线时间(标准时间),取值为1970年以来的秒数
User-Agent
0x34
[1-253]
终端浏览器的User-Agent字段,如
Mozilla/4.0(compatible;MSIE6.0;WindowsNT5.1;SV1;.NETCLR1.1.4322;.NETCLR2.0.50727),对于终端通过重定向方式认证通过的上线行为,此报文会携带该属性,否则不会携带该属性。
AC收到AAA(radius)服务器用户认证成功报文后,通过该报文通知AAA绑定中心服务器,用户上线。
AAA绑定中心做相应的处理即可,该报文为单向通知报文,不需要AAA绑定中心服务器回应,但保留type=0x33,以便后继扩展AAA绑定中心服务器回应报文做其他用途。
注意,用户认证失败,AC不通知AAA绑定中心服务器任何消息。
4.2.1.13(type=0x34)用户下线通知报文
4.2.1.14
4.2.1.15
4.2.1.16
其中Ver=0x01,Type=0x34,SerialNo=AC随机生成值,UserIP=用户IP,AttrNum=4,属性包括:
Attr(属性字段)
AttrType
属性值长度
属性取值
UserName
0x01
<=32(可变)
用户名(可能为用户的手机号)
SessionID(MacAddress)
0x0B
6(固定)
取值为上线用户的MAC如
0016ec9d4142
BasIp(ACIP)
0x0A
4(固定)
取值为AC的IP,如202.112.111.111取值为
CA706F6F
NasID
0x30
<=32(可变)
NAS-ID名称,字符串
Session-StopTime
0x32
4(固定)
用户下线时间(标准时间),取值为1970年以来的秒数
Session-Time
0x33
4(固定)
用户上线时长,单位为秒,用于通知AAA绑定中心服务器用户本次上线的时长。
AC收到用户下线或者其他原因强制用户下线后,AC通过该报文通知AAA绑定中心服务器用户下线。
在该报文中会携带用户上线的时长信息,AAA绑定中心做相应的处理即可,该报文为单向通知报文,不需要AAA绑定中心服务器回应,但保留type=0x35,以便预留后继扩展AAA绑定中心服务器回应报文做其他用途。
4.2.2通知AC放行接口
4.2.3
协议采用现有Portal协议《中国移动WLAN业务PORTAL协议规范V10》
4.2.3.1交互流程
4.2.3.2
流程完成用户账号的认证,并把认证结果通知PortalServer,Portalserver将会通知WLAN用户并且显示相应的认证结果。
用户上线认证方式有两种:
PAP、CHAP。
Chap认证流程,如图2.1所示:
图2.1用户上线Chap认证流程
1.PortalServer向AC请求Challenge;
2.
3.AC分配Challenge给PortalServer;
4.
5.PortalServer向AC发起认证请求;
6.
7.而后AC进行RADIUS认证,获得RADIUS认证结果;
8.
9.AC向PortalServer送认证结果;
10.
11.PortalServer将认证结果填入页面,和门户网站一起推送给客户;
12.
13.PortalServer回应确认收到认证结果的报文。
14.
用户上线Pap认证流程,如图2.2所示:
图2.2用户上线Pap认证流程
1.PortalServer向AC发起认证请求;
2.
3.而后AC进行RADIUS认证,获得RADIUS认证结果;
4.
5.AC向PortalServer送认证结果;
6.PortalServer将认证结果填入页面,和门户网站一起推送给客户;
7.
8.PortalServer回应确认收到认证结果的报文。
9.
4.2.3.3协议
4.2.3.4
在AC和PortalServer之间通过Portal协议交互。
4.2.3.4.1协议栈
4.2.3.4.2
Portal协议栈如下图6.1所示:
图6.1Portal协议栈
4.2.3.4.3报文格式
4.2.3.4.4
协议包采用固定长度头加可变长度的属性字段组成,属性字段采用TLV格式,具体如图6.2所示。
图6.2Web认证报文格式
4.2.3.4.5报文字段说明
4.2.3.4.6
4.2.3.4.6.1Ver
4.2.3.4.6.2
Ver字段是协议的版本号,长度为1字节,目前定义的值为0x01;
4.2.3.4.6.3Type
4.2.3.4.6.4
Type字段定义报文的类型,长度为1字节,目前其值的定义如表6.1。
表6.1认证报文类型
Type
值
方向
含义
REQ_CHALLENGE
0x01
Client----->Server
PortalServer向AC设备发送的请求Challeng报文
ACK_CHALLENGE
0x02
Client<-----Server
AC设备对PortalServer请求Challeng报文的响应报文
REQ_AUTH
0x03
Client----->Server
PortalServer向AC设备发送的请求认证报文
ACK_AUTH
0x04
Client<-----Server
AC设备对PortalServer请求认证报文的响应报文
REQ_LOGOUT
0x05
Client----->Server
若ErrCode字段值为0x00,表示此报文是PortalServer向AC设备发送的请求用户下线报文;若ErrCode字段值为0x01,表示该报文是PortalServer发送的超时报文,其原因是PortalServer发出的各种请求在规定时间内没有收到响应报文。
ACK_LOGOUT
0x06
Client<-----Server
AC设备对PortalServer请求下线报文的响应报文
AFF_ACK_AUTH
0x07
Client----->Server
PortalServer对收到的认证成功响应报文的确认报文;
NTF_LOGOUT
0x08
Server-->Client
用户被强制下线通知报文
REQ_INFO
0x09
Client-->Server
信息询问报文
ACK_INFO
0x0a
Server-->Client
信息询问的应答报文
REQ_MACBINDING_INFO
0x30
Client--Server
AC向绑定中心发起的MAC绑定的查询报文
ACK_MACBINDING_INFO
0x31
Server--Client
绑定中心回应AC设备MAC绑定查询的应答报文
NTF_USER_LOGON
0x32
Client--Server
AC向绑定中心通知用户上线报文
NTF_USER_LOGOUT
0x34
Client--Server
AC向绑定中心通知用户下线报文
4.2.3.4.6.5Pap/Chap
4.2.3.4.6.6
Pap/Chap字段定义此用户的认证方式,长度为1字节,只对Type值为0x03的认证请求报文有意义:
Chap方式认证---值为0x00;
Pap方式认证---值为0x01;
4.2.3.4.6.7Rsv
4.2.3.4.6.8
Rsv目前为保留字段,长度为1字节,在所有报文中值为0;
4.2.3.4.6.9SerialNo
4.2.3.4.6.10
(1)、SerialNo字段为报文的序列号,长度为2字节,由PortalServer随机生成,PortalServer必须尽量保证不同认证流程的SerialNo在一定时间内不得重复,在同一个认证流程中所有报文的SerialNo相同;
(2)、PortalServer发给AC设备的报文
a、由PortalServer发出的Type值为1、3的请求报文其SerialNo都是随机生成数;
b、由PortalServer向AC设备发出的Type值为5的(REQ_LOGOUT)报文其SerialNo值分两中情况:
当ErrCode为0时(请求用户下线报文),SerialNo值为一个随机生成数;当ErrCode为1时,SerialNo值可能和Type值为1或3的报文(请求Challenge超时,或请求认证超时)相同,具体要看是请求Challenge超时还是请求认证超时;
c、由PortalServer向AC设备发出的认证成功确认报文(Type值为7的报文)SerialNo和其发出的相应请求报文的SerrialNo相同;比如对于Type值为7的报文其SerialNo值和Type值为3的请求认证报文相同;
(3)、每一个由AC设备发给PortalServer的响应报文的SerialNo必须和PortalServer发送的相应请求报文的SerialNo一样,否则PortalServer会丢掉从AC设备发来的响应报文;比如Type值为2的报文其SerialNo值必须和Type值为1的报文相同,Type值为4的报文其SerialNo值必须和Type值为3的报文相同,Type值为6的报文其SerialNo值必须和Type值为5的报文相同,Type为0x30,0x32,0x34的报文,SerialNo由设备随机生成,Type为0x31的报文SerialNo必须和0x30报文的SerialNo相同。
4.2.3.4.6.11ReqID
4.2.3.4.6.12
(1)、ReqID字段长度为2个字节,由AC设备随机生成,尽量使得在一定时间内ReqID不重复。
(2)、在Chap认证方式中:
a、AC设备在Type为2(ACK-CHALLENGE)的请求Challenge响应报文中把该ReqID的值告诉PortalServer;
b、在Type值为3、4、7(REQ-AUTH,ACK-AUTH,AFF-ACK-AUTH)的报文中ReqID字段的值都和Type值为2的报文中此字段的值相同;
c、在Type值为5(REQ-LOGOUT)的报文中,若报文表示请求Challenge超时则此字段值为0;若报文表示请求认证超时则此字段值和Type值为2(ACK-CHALLENGE)的报文中此字段的值相同;
(3)、在Pap认证方式中,此字段无意义,其值为0;
(4)、在Type值为5(REQ-LOGOUT)的报文中,若报文表示请求下线时则此字段值为0;
(5)、在Type值为1、6(REQ-CHALLENGE,ACK-LOGOUT)的报文中,该字段均无意义,值都为0;
4.2.3.4.6.13UserIP
4.2.3.4.6.14
UserIP字段为Portal用户的IP地址,长度为4字节,其值由PortalServer根据其获得的IP地址填写,在所有的报文中此字段都要有具体的值;
4.2.3.4.6.15UserPort
4.2.3.4.6.16
UserPort字段目前没有用到,长度为2字节,在所有报文中其值为0;
4.2.3.4.6.17ErrCode
4.2.3.4.6.18
ErrCode字段和Type字段一起表示一定的意义,长度为1字节,具体如下:
(1)、对于Type值为1、3、7、0x30的报文,ErrCode字段无意义,其值为0;
(2)、当Type值为2时:
ErrCode=0,表示AC设备告诉PortalServer请求Challenge成功;
ErrCode=1,表示AC设备告诉PortalServer请求Challenge被拒绝;
ErrCode=2,表示AC设备告诉PortalServer此链接已建立;
ErrCode=3,表示AC设备告诉PortalServer有一个用户正在认证过程中,请稍后再试;
ErrCode=4,则表示AC设备告诉PortalServer此用户请求Challenge失败(发生错误);
(3)、当Type值为4时:
ErrCode=0,表示AC设备告诉PortalServer此用户认证成功;
ErrCode=1,表示AC设备告诉PortalServer此用户认证请求被拒绝;
ErrCode=2,表示AC设备告诉PortalServer此链接已建立;
ErrCode=3,表示AC设备告诉PortalServer有一个用户正在认证过程中,请稍后再试;
ErrCode=4,表示AC设备告诉PortalServer此用户认证失败(发生错误);
(4)、当Type值为5时:
ErrCode=0,表示此报文是PortalServer发给AC设备的请求下线报文;
ErrCode=1,表示此报文是在PortalServer没有收到AC设备发来的对各种请求的响应报文,而定时器时间到(即超时)时由PortalServer发给AC设备的报文;
(5)、当Type值为6时:
ErrCode=0,表示AC设备告诉PortalServer此用户下线成功;
ErrCode=1,表示AC设备告诉PortalServer此用户下线被拒绝;
ErrCode=2,表示AC设备告诉PortalServer此用户下线失败(发生错误);
(6)、对Type为REQ_INFO时,ErrCode无意义,其值为0;
(7)、对Type为NTF_LOGOUT时,ErrCode含义如下:
ErrCode
含义
0
下线
(8)、对Type为ACK_INFO时,ErrCode含义如下:
ErrCode
含义
0
处理成功,但不表示全部消息都被获取了,有多少信息被获得应通过属性来判断,详见下文
1
功能不支持,表示设备不支持这一功能
2
消息处理失败,由于某种不可知原因,使处理失败,例如询问消息格式错误等。
(9)、当Type值为0x30,0x32,0x34时:
Errcode无意义
(10)、当Type值为0x31时:
ErrCode=0,表示该MAC已经绑定;
ErrCode=1,表示该MAC未绑定。
4.2.3.4.6.19AttrNum
4.2.3.4.6.20
AttrNum字段表示其后边可变长度的属性字段属性的个数,长度为1字节(表示属性字段最多可有255个属性),其值在所有的报文中都要根据具体情况赋值;
4.2.3.4.6.21报文属性字段(Attr)的格式
4.2.3.4.6.22
Attr字段(属性字段)是一个可变长字段,由多个属性依次链接而成,每个属性的格式为TLV格式,具体如图6.3。
图6.3属性字段的格式
报文属性字段说明如下:
(1)、属性类型(AttrType)
表6.2属性字段的定义
Attr(属性字段)
AttrType
属性值长度
属性含义
UserName
0x01
<=32(可变)
用户名,具体为:
“用户名”+“@”+“域名”
PassWord
0x02
<=16(可变)
用户提交的明文密码
Challenge
0x03
16(固定)
Chap方式加密的魔术字
ChapPassWord
0x04
16(固定)
经过Chap方式加密后的密码
BasIp(ACIP)
0x0A
4(固定)
AC的IPv4地址(网络序号),用于0x30报文
SessionID(MacAddress)
0x0B
6(固定)
客户端MAC地址,用于0x30报文
NasID
0x30
<=32(可变)
NAS-ID名称,字符串
Session-StartTime
0x31
4(固定)
用户上线时间(标准时间),取值为1970年以来的秒数
Session-StopTime
0x32
4(固定)
用户下线时间(标准时间),取值为1970年以来的秒数
Session-Time
0x33
4(固定)
用户上线时长,单位为秒,用于通知AAA绑定中心服务器用户本次上线的时长。
User-Agent
0x34
<=253(可变)
终端浏览器的User-Agent字段,如
Mozilla/4.0(compatible;MSIE6.0;WindowsNT5.1;SV1;.NETCLR1.1.4322;.NETCLR2.0.50727)。
注意:
对于终端通过重定向方式认证通过的上线行为,NTF_USER_LOGON报文才会携带该属性,否则不会携带该属性。
如下情况不会携带该属性:
1.终端通过绑定服务器自动发起认证。
2.
3.终端直接访问Portal服务器认证页面登录认证。
业务属性待定。
(2)、属性长度(AttrLen)
AttrLen字段表示属性的长度,长度为1字节,其值是整个属性三个字段AttrType、AttrLen、AttrValue的长度之和。
(3)、属性值(AttrValue)
AttrValue的值为具体的属性值,比如用户名、口令等,长度有些可变,有些固定(具体见表6.2),但最长不能超过253(255-2)字节。
4.2.3.4.7参数
4.2.3.4.8
1、此协议规定承载报文的是UDP协议,也即报文为UDP报文,AC设备在固定端口2000(参照《BNAS宽带接入服务器技术规范-YD1148》修订)上等待接收PortalServer发来的各种请求报文和确认报文;
2、Chap认证的相关说明:
(1)、challenge的生成(AC生成):
challenge由AC设备在收到请求Challenge报文的时候随机生成,长度为
16个字节,跟随Challenge应答报文下发到PortalServer。
(2)、Chap_Password(Chap密码)的生成:
Chap_Password的生成遵循标准的Radious协议中的Chap_Password生成方法(参见RFC2865)。
密码加密使用MD5算法,MD5函数的输入为
ChapID+Password+Challenge(ReqID有AC生成,ChapID是ReqID的低8位)
其中,ChapID取ReqID的低8位,Password的长度不够协议规定的最大长度,其后不需要补零。
Chap_Password=MD5(ChapID+Password+Challenge)
3、无论采用Chap认证还是Pap认证,都允许用户口令为空;
4、当用户向PortalServer提交的连接请求里用户名为空时,PortalServer在向AC设备发送认证请求时应用一个缺省的用户名代替(比如***);
5、认证流程中各种报文所带属性的个数(建议):
(1)、请求Challenge报文:
0个属性;
(2)、对请求Challenge响应的报文:
若请求Challenge成功则为1个属性—Challenge属性,若请求Challenge失败则属性个数为0个;
(3)、请求认证报文:
2个属性,分别为用户名、PassWord或ChapPassWord;
(4)、对请求认证的响应报文:
0个属性;
(5)、请求下线报文或表示超时的报文:
0个属性;
(6)、对请求下线的响应报文:
0个属性;
(7)、PortalServer对收到从AC设备发来的认证成功报文的确认:
0个属性;
(8)、强制下线请求:
0个属性;
(9)、查询请求和回应:
待定;
6、报文的长度限制是最小16字节,最大1024(1K)字节;
7、从支持多国语言的角度出发,认证结果信息进行统一编
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 浙江 移动 WLAN 快速 认证 方案 接口 规范