支持认证多种WiFi热点系统的设计与实现
2016-05-14李原野
1 引言
随着智能移动设备终端的快速普及,移动互联网的需求越来越大,WiFi热点的数量也越来越多。客户端程序连接不同的网络接入点的时候,需要根据不同的网络接入点提供不同的参数进行验证。在这种情况下,可能因为不同的WiFi热点认证所需要的协议不同,而存在不断修改或者升级所述客户端程序的风险。
本文提供一个种无须修改或者升级客户度应用程序,即可实现所述客户端程序在不同的WiFi热点的登录。为了适应不同的验证服务器,增加一个协议适配处理服务器来统一兼容各种认证协议,从而保证了客户端的稳定性。
WiFi全称WirelessFidelity,实质上是一种商业认证,具有WiFi认证的产品符合IEEE 802.11a /b /g /n 无线网络规范,它是当前应用最为广泛的WLAN 标准,一般工作在2.4Ghz 频段。WiFi是一种可以将个人电脑、手持设备(如PAD、手机)等终端以无线方式互相连接的技术,事实上它是一个高频无线电信号。 无线保真是一个无线网络通信技术的品牌,由WiFi联盟所持有。目的是改善基于IEEE 802.11标准的无线网路产品之间的互通性。有人把使用IEEE 802.11系列协议的局域网就称为无线保真。甚至把无线保真等同于无线网际网路(WiFi是WLAN的重要组成部分)。
2 WiFi 认证系统的基本原理
WiFi 认证系统的基本流程:(1)用户连接到AP(无线热点);(2)用户打开浏览器输入任意网址,页面重定向到Portal页面;(3)用户输入账号和密码;(4)用户认证(Radius认证);(5)返回认证结果给Portal Server;(6)认证通过的账号用户可以正常上网了。如图1所示。
AP是(Wireless) Access Point的缩写,即(无线)访问接入点。如果无线网卡可比作有线网络中的以太网卡,那么AP就是传统有线网络中的HUB,也是目前组建小型无线局域网时最常用的设备。AP相当于一个连接有线网和无线网的桥梁,其主要作用是将各个无线网络客户端连接到一起,然后将无线网络接入以太网(这正是Access Point名称的本义)。
RADIUS(Remote Authentication Dial In User Service)是一种客户端、服务器结构的协议,RADIUS协议支持PAP(密码认证协议)、CHAP(询问握手认证协议)等多种认证方式,其认证机制非常灵活,每个厂商都可以扩充自己的专有属性。RADIUS协议是在IETF的RFC2865和2866中定义的。RADIUS是基于UDP 的一种客户机/服务器协议。RADIUS客户机是网络访问服务器,它通常是一个路由器、交换机或无线访问点。RADIUS服务器通常是在UNIX或Windows 2000服务器上运行的一个监护程序。RADIUS 协议的认证端口是1812 ,计费端口是1813。
3 支持认证多种WiFi热点系统的认证流程
如图2所示,支持多种WiFi热点系统的认证流程:(1)用户连接到AP(无线热点);(2)客户端程序访问任意的http请求,页面重定向到Portal页面;(3)客户端程序将相应的参数信息发送给多协议适配服务器;(4)多协议适配服务器根据客户端程序传过来的参数,计算出认证所需的相关信息,返回给客户端程序;(5)客户端程序根据多协议适配服务器返回的认证所需的相关信息发起认证请求;(6)用户认证(Radius 认证);(7)返回结果给Portal Server;(8)认证通过的账号用户可以正常上网了;(9)根据上述业务需求,可以提出适配实现过程。如图2所示。
4 系统架构
系统架构包括三层:终端、接入层以及账号管理层,如图3所示。
终端主要包括无线上网终端。主要包括浏览器和客户端应用程序等。
接入层包括Portal服务器和多协议适配服务器。Portal服务器是提供Portal 认证的服务器,用户通过可以通过Portal服务器发起认证请求。Portal服务器可以是不同的WiFi服务供应商的服务器,比如中国移动、中国联通和中国电信等WiFi运营商提供的Portal服务器。多协议适配服务器根据用户应用程序发过来的相关信息,比如用户Mac、手机号等相关的用户信息,从多协议适配数据库读取相关的协议信息,计算出认证所需要的相关信息,将认证相关的信息返回给相应的应用程序,多协议适配是自建的一个服务器集群,用以保证服务的稳定性。
账号管理层主要包括Radius账号服务器。Radius账号服务器提供账号的管理功能,包括账号的生成、认证、查询和删除等。Radius服务器和Portal 服务器一一对应,一个厂商Radius服务器对应一个相应的Portal服务器,也就是说Radius服务器可以是不同的WiFi服务供应商的服务器,比如中国移动、中国联通和中国电信等WiFi运营商提供的Radius服务器。
多协议适配服务器分作两个阶段进行工作:业务模型定义和业务模型的执行。
4.1 业务模型定义
按照既定的定义方式对获得认证的业务关系进行定义,得到业务认证模型。
4.2 业务模型的执行
满足业务模型触发条件时,对制定的业务模型进行实例化(即确定相关联的业务实例),并且将业务模型实例交由业务执行器执行。执行的过程如图4所示。在上述方案中,业务需求直接表达在适配模型之中。
5 适配模型
5.1 对适配过程的表达
模型能够实现过程描述。
(1)顺序过程:模型中元素的排列顺序隐含着所要求的顺序过程。
(2)分支过程:使用“switch”开关语句实现条件、二选一、多选一和多选多的分支过程。在switch语句中,使用“condition”描述判别条件,使用“state”描述判别条件结果状态的指定(可以制定多个state)。则当条件计算的结果满足state确定的状态时,将执行state 语句所包含的操作。这些操作可以是表达式,或者是子过程,从而实现过程的嵌套。
(3)循环过程:使用“while”语句实现循环过程。当“condition”所表达的判断结果满足“state”所指定的状态时,则执行将执行state语句所包含的操作。这些操作可以是表达式,或者是子过程,从而实现过程的嵌套。然后再进行新的一次condition计算与判断,直到没有任何state状态被满足为止。
5.2 对适配操作的表达
对数据适配操作采用适配表达式来描述。适配表达式由数据源、数据操作和数据目的地所构成。
(1) 数据源。业务对象的属性、内存变量(对中间计算结果的引用)或者其他(如对XML文档数据的引用等),数据源可以是来自于不同业务对象、中间变量等的集合。
(2)数据操作。包括三种情况,即空操作(NULL)——直接将源数据放入目的地(直接引用);简单操作(simpleOpe)——由SQL语句构成的数据操作集,可以实现通常的数据检索、统计操作;复杂操作(complexOpe)——必须调用操作构件才能实现的操作。这种操作构件可能是即定的内部函数,或者是定制开发的专用构件。
(3)数据目的地。适配操作结果的存储(对象属性等)。
6 结束语
综上所述,当从所述客户端应用程序发起认证请求的时候,多协议适配服务器根据所述接入请求中的参数及登录所述应用程序的终端的信息,生成认证所需的参数信息。其中所述客户端应用程序的参数包括验证服务器相应的认证协议信息,所述生成认证所需要的份参数符合所述验证服务器相应的认证协议,使得所述验证服务器修改客户端应用程序登录权限以允许所述客户端应用程序 登录所述网络接入点;向所述客户端应用程序发送应答消息,所述应答消息中包含所述认证所需参数,使得所述客户端应用程序 向所述网络接入点发送登录请求以登录网络。
因此,所述应用的客户程序在整个登录网络接入点的过程中,只需要做一个媒介的角色,而无须根据所述客户端穿过来的参数生成所述可被验证服务器识别,符合所述验证服务器相应的认证协议的认证参数,而是由所述多协议处理服务器生成符合不同验证服务器的相应协议的验证信息,因而可以在不同的验证协议时,无须修改或者升级所述客户端应用程序,即可实现所述客户端应用程序 在不同的验证协议下登录所述网络接入点。
参考文献
[1] 李晓阳.WiFi技术及其应用与发展[J].信息技术,2012年第2期,196-198
[2] 百度百科
http://baike.baidu.com/link?url=k9_acwH7vdnUZt8N7pxq8j4aOHz8e0qk_45F0jMvhln__ZSJ5ze9kCS5rYtA2lnQI1iRGT1guF6Z2R6VJ5ZsrK.
[3] 百度百科
http://baike.baidu.com/link?url=5QOx38wR1meZFDHXosx8rlAbt5aFXD0JHQrqJTcUOTLO_QD1EK0JJWraWLqO18bR8TH1Mujqkcv_udksPVQmBOXF-xXn_yP1goEIfdZY9SyMRkzQX_HqOP7RK6Fsa RQPt_74gTymQZ6eV4g9nJs7_K.
[4] 吴攀,胡凯,冯扬,熊桂兰.WLAN中RADIUS客户端超时处理优化方案[J].光通信研究,2013年第4期,68-70.
[5] 百度百科
http://baike.baidu.com/link?url=vdpob2qsWze8qi-hjA9f_CJ-YQQojaN_8EM612QXxQqGXxIIZZCajHB1r1gmMhWbtIIQ2B3O-tkeTv7Vomxj2q.
作者简介:
李原野(1980-),女,汉族,吉林吉林人,中科院软件所,硕士,国家知识产权局专利局,审查员。