APP下载

基于开源软件打造无感知认证无线网

2015-12-22王雁军

中国教育网络 2015年7期
关键词:无线网校园网开源

文/王雁军

基于开源软件打造无感知认证无线网

文/王雁军

随着通讯技术的飞速发展以及笔记本、IPad、手机等智能移动终端的普及,校园网用户对无线网的使用需求越来越强烈。为了给广大用户提供基于移动信息服务的学习、生活环境,学校加大了校园无线网的建设力度,实现了教学、办公、生活区域的无线网全覆盖,校园无线网扩建的同时在线用户数也呈现出爆发式的增长。

出于校园网安全保障的考虑,学校对校园无线网采取了准入认证模式,但是由于无线覆盖区域广,覆盖楼宇相对独立而且用户数量庞大,无线网建设过程中采取了分区域建设的原则,这就为统一管理、统一认证,带来了难度。

传统的准入认证方式

基于Web Portal的准入认证

目前比较常用的校园无线网认证模式是采用Web Portal的认证方式,该方式用户终端无需安装客户端,兼容性较好。Web Portal认证的原理如图1所示,未认证用户访问网络时,HTTP请求会被重新定向到Portal Server的认证界面,用户手动输入认证信息后,由接入控制服务与AAA认证服务器通过Radius协议进行通信,用户信息正确,则通过认证,否则就拒绝登录。

Web Portal认证遇到的问题

图1 Web Portal认证流程

Web Portal认证虽然具有良好的兼容性,但其缺点也很明显。用户每次接入都需要进行登录认证,对手机、智能平板等屏幕较小、输入不方便的终端设备的易用性不高,尤其是带有休眠或锁屏断网功能的手机,需要频繁地登录认证,非常繁琐。另外,由于校内不同区域的无线网由不同的无线控制器管理,跨区域漫游也会要求重复认证,影响了用户的体验效果。

校园无线网无感知认证方式

无感知认证模式

随着接入认证技术的发展,无感知认证作为一种全新的具有良好用户体验的认证方式,有非常广阔的应用前景。无感知认证,是指用户首次成功登录后,系统自动关联用户账号与终端信息,当用户再次登录时自动识别身份提供服务的认证方式。

实现原理

在校园内,用户之间对智能设备的使用能力和应用水平差异较大,这就对无线接入认证方式的易用性和便捷性提出了较高的要求。无论是PC、笔记本还是移动终端,通讯都是基于MAC地址实现的,如果对接入终端的MAC进行认证,可以在用户较少的操作下实现接入认证。具体认证的流程如下:用户首次登录,自动弹出认证界面,用户输入认证信息并且选择是否绑定设备;用户再次登录时,系统自动判断用户是否已经进行绑定,若已经绑定,则自动登录;若未绑定,则弹出认证界面。使用无感知认证后,终端无需安装客户端程序即可实现自动登录,认证过程对用户透明,具有良好的兼容性,另外也可以有效地解决用户在跨AC漫游时重复弹出认证界面的困扰。

图2 无线网无感知认证示意流程

图3 用户首次登陆认证界面

基于开源软件的无感知认证实现

要实现上述的校园网无感知认证功能,主要是对Radius协议认证部分进行更改,实现用户信息与终端MAC地址的绑定。本文采用开源软件TinyRadius来实现需求功能。TinyRadius是基于Java语言实现的简单、小巧、强大的Radius类库,能够非常方便的实现在应用程序中发送和接收所有类型Radius数据包的功能,同时还支持PAP和CHAP认证类型。

实现本文所述无线网无感知认证的流程如图2所示,当移动终端A发起网络连接请求后,由无线控制器利用终端的MAC地址与Radius认证程序进行数据交互,若Raidus认证程序在数据服务器中查到终端的绑定信息,则返回登录成功包给无线控制器,并且在数据服务器中记录本次登录信息;若Radius认证程序没有找到终端的绑定信息,则向无线控制器返回登录失败包,无线控制器将终端的请求重定向到Portal服务器,发起Portal认证流程,用户输入用户名和密码后再由无线控制器向Radius认证程序发起认证,Radius认证程序对接收到的信息进行认证,并且对登录成功的终端进行绑定。

在认证实现过程中,用户名、密码、登录IP地址、终端MAC地址等是最重要的属性,我们通过TinyRadius中提供的方法可以非常容易获取到,示例代码如下:

//构造Radius包AccessRequest方法

AccessRequest accessRequest = new AccessRequest ();

//获取登录用户名

String userName = accessRequest.getUserName();

//获取登录密码

String password = accessRequest.getUserPassword();

//获取登录终端MAC

Stringlogin Mac=access Request. getAttributeValue("Calling-Station-Id");

//获取登录终端IP地址

String loginIP = accessRequest.getAttributeValue("Framed-IP-Address");

为了实现用户自主选择是否启用无感知登录的功能,我们扩展了Radius协议的161属性,当属性值为1时启用无感知,当属性值为0时不启用无感知,示例代码如下:

int isNoPerception =

access Request.get Vendor Attribute(6339). getSubAttribute(161).getAttributeValue().toString();

If(isNoPerception==1){

//此处进行无感知登录处理

}else{

//此处进行非感知登录处理

}

运行效果

校园无线网无感知认证程序上线以来,得到了广大用户的认可,上线首日绑定用户数超过500人,上线一个月绑定用户数达到4932人。图3为用户首次登录时,弹出的认证界面,用户可以选择输入用户密码直接登录,也可以勾选“下次免认证”的选框,实现绑定终端登录信息。

图4是后台监控程序针对两种登录模式的日志信息,从后台数据的统计中我们发现,使用无感知的人数占到了无线网用户数的98%。

图4 后台监控:无感知登录

总结与体会

实现了跨区域漫游认证

校园网无线网使用呈现出集中爆发式,大量用户在同一段时间段、同一区域进行集中登录。8:30至10:30以教学区用户最为集中,18:00至21:00以宿舍区最为集中,平均每分钟认证用户数超过500人,智能手机占到了90%,庞大的用户群体,每天在宿舍区与教学区之间迁移,对认证服务器形成了冲击,以往使用Web Portal认证时,经常会由于瞬间并发太大出现服务响应较慢的情况,用户体验较差。在实现无感知认证后,实现了全网漫游认证,用户无论移动到哪里,手机加入无线热点时,自动登录认证,由于Radius处理程序性能远远高于Portal认证性能,用户几乎很少出现登录不成功的情况。

实现了跨品牌漫游认证

在以往的校园无线网建设过程中,为了保证技术方案的统一性和用户使用习惯的相似性,经常使用同一品牌的无线解决方案,这就对校园无线网的扩容形成了一定的局限性,在利用开源软件实现无感知认证后,认证功能转移到Radius服务器上,实现了自主管控,从而摆脱了对品牌的依赖性,可以构建多品牌兼容的、具有统一应用效果的校园无线网生态系统。

使用需求与管理需求一并解决

在校园网环境中,用户的使用需求与管理的需求一直对立存在,用户希望越来越简单,越来越开放,而管理却要求越来越安全,越来越精细。这种对立在无线网中体现的更加明显,无线网的优势是不受地域、环境的限制,可以随时随地的接入网络,而校园网环境中众多的内部资源、私有数据又迫使管理者不得不对接入的终端进行细致的管控,无线网实现了统一的无感知认证后,虽然对用户来说上网的行为变得非常简单,甚至感觉不到认证过程,但是对管理者来说,哪个用户接入了,从哪里接入的都是清清楚楚,这就既满足了使用者对于简单、开放的需求,又让管理者可以精细地了解网络运行的状况,保障了内网环境的完全。

(作者单位为北京林业大学信息中心)

猜你喜欢

无线网校园网开源
战斧牛排
数字化校园网建设及运行的几点思考
五毛钱能买多少头牛
2019开源杰出贡献奖
试论最大匹配算法在校园网信息提取中的应用
基于VRRP和MSTP协议实现校园网高可靠性
NAT技术在校园网中的应用
让咖啡和无线网走开 伦敦独立书店回归阅读初心
大家说:开源、人工智能及创新
开源中国开源世界高峰论坛圆桌会议纵论开源与互联网+创新2.0