基于FH⁃AC系统Portal认证的实现与开发

2015-04-12 00:00:00吴迪
现代电子技术 2015年3期

摘 要: 随着当今移动互联网的快速发展,WiFi设备成为人们生活当中不可缺少的组成部分,而传统的无线网络在接入稳定性和安全性方面有待进一步提高。为了解决上述问题,设计了基于FH⁃AC系统的Portal认证系统。该系统通过对原有Portal协议进行改进并且采用Socket/HTTP通信和CHAP认证技术等一系列技术来提升系统性能,使整个系统在使用过程中能够更快更稳定地接入当前无线网络,其系统安全性也得到进一步的提升。

关键词: WiFi设备; FH⁃AC系统; Portal协议; Socket/HTTP通信; CHAP认证

中图分类号: TN926⁃34 文献标识码: A 文章编号: 1004⁃373X(2015)03⁃0069⁃03

Implementation and development of portal authentication technology

base on FH⁃AC system

WU Di

(Wuhan Institute of Posts and Telecommunications 430074, China)

Abstract: With the rapid development of mobile Internet, WiFi equipments have already been a necessary part of everyone’s life. However, the traditional wireless network needs to be improved in terms of stability and security access. In order to solving these problems, Portal authentication system based on FH⁃AC system was designed. The system performance was enhanced by improving the original Portal protocol, and using Socket/Http communications and CHAP authentication technology. The whole system is made to be accessed to the current wireless network more fast and more stably. Moreover, the system security has also been further improved.

Keywords: WiFi Equipment; FH⁃AC system; Portal protocol; Socket/HTTP communication; CHAP authentication

0 引 言

在传统的组网环境中,用户只要能接入局域网设备,就可以访问网络中的设备或资源,但为了加强网络资源的安全控制和运营管理,很多情况下需要对用户的访问进行控制。例如,在一些公共场合、小区或公司的网络接入点,提供接入服务的供应商希望只允许付费的合法用户接入,所以供应商为每个用户提供一个接入网络的账号和密码。正是在这种需求背景下,Portal技术应运而生,它不仅提供了一种灵活的访问控制方式,而且可以在不用装客户端的情况下在接入层保护关键数据处实施访问控制[1]。

相对于传统的IEEE 802.1x、PPPoE等认证技术,Portal认证技术具有以下几个方面的优势:

(1) 不需要部署客户端,直接使用Web页面认证,使用方便;

(2) 可以定制“VLAN+端口+IP地址池”粒度级别的个性化认证页面,同时可以在Portal页面上开展广告业务、服务选择和信息发布等内容,进行业务拓展,实现IP网络的运营;

(3) 关注对用户的管理,可基于用户名与VLAN ID/IP/MAC的捆绑识别来认证,并采用Portal Server和Portal Client之间、BAS和Portal Client之间定期发送握手报文的方式来进行断网检测[2]。

1 Portal协议的详述及改进

1.1 Portal系统组成部分

如图1所示,整个Portal系统主要涉及到以下四个部分的内容,即认证客户端(Portal Client),Portal服务器(Portal Server),BAS和AAA服务器,下面简单地介绍各个部分的功能[3]:

(1) Portal Client:这里的Portal客户端实际上指的就是发起认证的客户端系统,即用户浏览器上的PC;

(2) Portal Server:Portal Server是Portal组网中接受客户端认证请求的服务端系统,提供免费的门户服务和Web认证的界面,并且与BAS设备之间进行客户端身份认证;

(3) BAS,即宽带接入服务器,主要用于向Portal Server重定向HTTP认证请求,并且与Portal Server,AAA服务器完成用户认证、授权、计费,这里即FH⁃AC系统;

(4) AAA Server,即认证、授权、计费服务器,通过与BAS进行交互完成认证、授权、计费功能。

以下是整个Portal系统交互工作流程[4]:

(1) 当未认证的用户访问该网络环境时,在浏览器中随机输入一个网站地址,该HTTP请求经过BAS设备被强制重定向到Portal Server的Web认证页面;

(2) 用户将所需要填写的的认证信息提交以后,Portal服务器将会经用户的认证信息传递给接入设备;

(3) 接入设备获取到认证信息以后,再与AAA Server进行认证和计费处理;

(4) 认证通过后,接入设备会打开用户与互联网的通路,即允许用户访问互联网。

1.2 Portal协议

整个Portal协议是由Portal接入协议和Portal认证协议两个部分组成,如图2所示[5]。

1.2.1 Portal接入协议及其改进

Portal接入协议实际上就是指Portal Client通过 HTTP 协议向Portal Server提交认证信息,而Portal Server向Portal Client推出认证成功或者认证失败页面[6];

在Portal接入协议当中 Portal Server是整个协议中的关键部分,现有的Portal Server包括Portal Web(认证页面),Portal Transfer(转换器)和Portal Kernel(操作系统内核),如图3所示。

Portal Client和Portal Kernel之间不能相互通信,Portal Client只有通过Portal Web才能与Portal Kernel进行交互,现有的这种接入方式中,访问目的地的IP地址被接入认证设备截获,从而接入设备可以仿冒客户端所请求的IP地址对客户端进行欺骗,并向客户端发送302的错误响应,将浏览器重定向到Portal Server的URL资源上,达到接入目的,具体流程如图4所示。

目前这种Portal认证过程中,Portal Server不能直接获取到接入认证设备的IP地址,必须预先处理好客户端和接入认证设备之间的映射关系,所以当终端设备发生移动时,不能保证接入设备能够精确捕获终端的位置。

为了改进上述问题,选择将Portal Server的URL和接入设备的IP地址进行整合,如http://x.x.x.x:8080/portal/login.jsp?ip=x.x.x.x,其中ip=x.x.x.x表示接入认证设备的IP,而x.x.x.x代表Portal服务器的IP地址,客户端在访问Portal Server时在HTTP报文中携带新的URL,Portal Server通过解析新的URL来获取接入认证设备的IP地址,从而使终端确定接入过程中所对应的接入认证设备,然后Portal Server将该Portal URL的链接界面通过DWR技术强制推送给客户端,从而达到强制认证的效果[6]。

1.2.2 Portal认证协议

Portal认证协议主要用于规定Portal Server和接入认证设备之间的交互动作,整个协议采用打包方式进行组帧,协议包采用固定长度加可变长度的属性字段组成,整个字段采用TLV格式,报文认证格式如图5所示[7]。

下面简单说明协议包各个字段的含义:

Ver字段是协议的版本号,长度为1 B;

Type字段定义报文的类型,长度为1 B;

Pap/Chap字段定义此用户的认证方式,长度为1 B;

Rsv目前为保留字段,长度为1 B;

SerialNo字段为报文的序列号,长度为2 B,由Portal Server随机生成;

ReqID为AC发回的相应字段,字段长度为2 B,由AC随机生成;

UserIP为Portal客户端的IP地址,其值由Portal Server根据其获得的IP地址填写(即Portal URL);

UserPort字段目前没有用到,长度为2 B;

ErrCode字段和Type字段一起表示一定的意义,长度为1 B;

AttrNum字段表示其后边可变长度的属性字段属性的个数,长度为1 B。

图5 报文认证格式

整个协议包采用UDP通信方式进行发送,当Portal Server向BAS放送请求信息的时候,BAS使用本地端口2000对Portal Server所发的报文进行监听,使用50100端口对非响应报文进行监听;相反,当BAS向Portal Server发送响应报文的时候,Portal Server使用本地端口50100监听BAS发过来的所有报文,使用本地端口2000接收所发非响应报文,整个交互过程采用UDP SOCKET实现[8]。

2 FH⁃AC系统Portal认证的实现

当用户采用DHCP+Web方式进行接入认证时,FH⁃AC中的Portal模块与Portal Server的认证过程包括CHAP和PAP两种认证方式,由于PAP是简单的二次握手身份验证协议,用户名和密码都是明文传送,安全性低,所以在这里采用三次握手身份验证,安全性更高的CHAP认证方式作为主要的实现方法。

FH⁃AC中Portal技术的CHAP认证方式流程,如图6所示。下面详细介绍现Portal的CHAP认证[9]过程:

(1)当Portal Server将强制认证界面推送给客户端以后,客户端被要求填写用户名和密码进行上网认证。

(2)当用户输入正确的用户名和密码,并且点击提交以后,客户端将一个HTTP Post Portal⁃url通过HTTP通信协议传送给FH⁃AC的IP模块,如果这个HTTP数据包中IP地址与Portal Server的IP地址吻合,则正常转发。

(3)在正常转发的情况下,IP模块直接与Portal Server交互,通过HTTP组包,将客户端发送的HTTP Post Portal⁃url直接发送给Portal Server。

图6 CHAP认证方式流程

(4) 如果Portal Server认证Portal⁃url成功,Portal Server就会向Portal模块发送一个REQ_CHALLENAGE请求报文;当Portal模块收到请求报文以后,随即向Portal Server发送ACK_CHALLENGE确认报文,确认报文中包含IP地址,CHALLENGE报文以及ReqID[10]。

(5) 当Portal Server收到ACK_CHALLENGE以后,发起第三次握手,当Portal模块收到Portal Server发送过来的REQ_AUTH消息后,会向FH⁃AC中的CC模块发送此消息(即PORTAL_CC_REQ_AUTH),通知CC模块进行认证(与RADIUS服务器的Access_Request交互流程)。

(6) CC模块在认证完成后,向Portal模块发送CC_PORTAL_ACK_AUTH,通知认证结果,若认证失败,则释放资源,认证成功Portal模块向Portal Server发送ACK_AUTH,Portal Server随即向BAS的IP模块发送HTTP Post Portal⁃url。

(7) 同时在收到Portal Server的AFF_ACK_AUTH消息后,Portal模块会向CC模块发送PORTAL_CC_ AFF_ACK_AUTH,表示整个认证过程已经完成。

3 结 语

本文首先对Portal技术产生的背景进行简单的概述,然后分别从Portal系统组成,Portal协议,Portal的CHAP认证方式这三个方面进行了详细的描述,其中重点介绍了基于Portal接入协议的一些改进方式和Portal的CHAP认证方式。与此同时,随着移动互联网技术不断的革新,WiFi技术的普及程度也越来越高,Portal技术的稳定性,可靠性以及卓越的性能必将使其在众多无线接入技术中脱颖而出,会被越来越多的人所接受和使用。

参考文献

[1] 董兆殷.基于Portal 认证的校园WLAN安全设计及应用[J].中国新技术新产品,2010(11):56⁃58.

[2] 马燕,范植华.Web/ Portal认证技术研究[J].微电子学与计算机,2011(8):106⁃108.

[3] 王刚,王欣,冯铭能.一种基于Web Portal架构的校园网用户二次认证方案[J].广东通信技术,2014(2):70⁃72.

[4] 周训斌.Portal认证的组网配置[J].武汉大学学报,2008(3):147⁃149.

[5] 杭州华三通信技术有限公司.一种Portal认证的方法、系统及设备:中国,CN101702717B[P].2013⁃04⁃17.

[6] 王彬.基于Portal的个性化网站定制工具的研发与应用[D].济南:山东大学,2013.

[7] 中国移动.QB⁃D⁃026⁃2008 中国移动WLAN业务Portal协议规范[S].北京:中国移动,2008.

[8] 卢畅.Portal认证系统的设计与实现[D].武汉:华中科技大学,2013.

[9] 雷晓勇.基于Portal协议的网络访问控制系统的设计和实现[D].武汉:华中科技大学,2011.

[10] 何赞.基于轻量级框架的Portal设计和实现[D].北京:北京交通大学,2007.

[11] 刘旭.基于Portal协议的安全认证接入的设计与实现[D].西安:西安电子科技大学,2013.