首页 > 范文大全 > 正文

移动过程中Web认证连续性的设计与实现

开篇:润墨网以专业的文秘视角,为您筛选了一篇移动过程中Web认证连续性的设计与实现范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘 要:为了解决已经通过Web认证上网的用户在从一个接入路由器移动到另外一个接入路由器之后,由于通信链路的中断被迫重新进行Web认证而造成Web认证服务在移动切换情况下的不连续的问题。在普通Web认证的基础上加入了precheck过程,通过在认证网关强迫用户重定向到认证服务器进行Web认证之前先查询该用户的认证状态,保证已通过认证的用户无需再次认证,其发送的数据包被直接放行,从而保证了Web认证在移动切换过程中的连续性。

关键词:web认证; HTTP拦截; 重定向; precheck

中图分类号:TN915.08-34文献标识码:A文章编号:1004-373X(2011)21-0051-04

Design and Implementation of Continuity of Web Authentication During Mobile Handoff

LI Xiao-yun, GAO De-yun

(Beijing Jiaotong University, Beijing 100044, China)

Abstract:

After a client′s movement from one access router to another, the communication connection will be broken. Therefore the client can′t get normal service from the Internet until an extra authentication process forced by authentication gateway can be finished even if it has passed the Web authentication before the movement. In order to solve this problem, a precheck process can be added into normal Web authentication process. Under the precheck mode, authentication gateway will check the client′s authentication status from authentication server before forcing the client authentication when a client′s http packet arrives. If the client has passed authentication already, its packet will be allowed to pass directly without extra authentication. As a result, this design guarantees the continuity of Web authentication during mobile handoff.

Keywords: Web authentication; HTTP intercept; redirect; precheck

0 引 言

接入认证技术是为了认证接入网络的终端用户的合法性,提高网络的安全性的同时方便网络运营商的管理。目前主要的认证方法有三种:PPPoE[1-2],IEEE 802.1x\[3\] 和Web认证[4-5]。其中前两种都需要用户安装客户端软件,只有Web认证方式不需要用户端特意安装任何软件。对于Web认证来说,只要用户端使用普通网页浏览器即可顺利进行认证,适用范围非常广泛。

随着网络技术的迅速发展,互联网的规模越来越大,通过互联网获取网络服务的用户也越来越多。据第27次中国互联网络发展状况统计报告显示,2010年我国宽带网民达到4.5亿,使用手机和笔记本电脑上网的网民数也快速增长。社会生活、工作节奏的加快使得越来越多的用户不满足于在固定的地方上网获取网络服务,他们需要的是能够随时随地都能正常地获取网络服务,就像随时随地都能使用手机接打电话一样。但是如果通过Web认证的用户在获取网络服务的过程中位置发生了移动,从一个接入路由器移动到另一个接入路由器时,或者负责重定向的设备出故障重启时,即使中间时间很短,也必须要用户重新进行认证才能继续获得网络服务。这样即使是在网络层实现了互联网的移动无缝切换,用户仍然能够感受到切换所带来的服务中断问题。

目前关于移动互联网认证方面的问题的研究基本都以认证的安全性[6]和可靠性为主要内容,很少有解决Web认证连续性的相关研究。本文针对移动过程中Web认证连续性问题进行了研究,对认证网关和认证服务器进行了改进,避免了用户在移动后或者负责重定向的设备重启后被迫再次进行认证的情况。

1 Web认证

文中所指的Web认证是依靠认证网关(Auth Gateway)和认证服务器(Auth Server)来实现的,用户不需要进行特殊的配置,只要通过Web浏览器输入┮桓鐾址即可触发完成认证过程。

1.1 Web认证流程

没有通过认证的用户要完成认证过程有两种方法:一是直接在Web浏览器地址栏中输入Auth Server的地址,进入Web认证页面输入用户名、密码进行认证;另一种是在Web浏览器地址栏中输入一个网页地址(如:),借助Auth Gateway的帮助推出Web认证页面进行认证。Web认证的基本过程如图1所示。

图1 Web认证基本过程

(1) HTTP拦截。用户发送一个HTTP数据包(如:在浏览器地址栏中输入一个网页地址),当该数据包到达Auth Gateway的时候。Auth Gateway会通过在iptables中设置规则来判断用户是否通过认证。通过认证的用户所发送的数据包会在iptables中被放行,而没有通过认证的用户所发送的数据包将被拦截。被拦截数据包的目的端口号将被修改为Auth Gateway上运行认证程序的端口号,之后被递交到认证程序中。

(2) HTTP重定向[7]。当未通过认证的用户所发的数据包被拦截后,Auth Gateway会向用户返回一个重定向消息,告诉Client将网页重定向到Auth Server的Web认证页面。重定向消息中包含了Auth Server和Auth Gateway与认证相关的各种信息。

(3) 认证。Client收到重定向消息后,会主动向Auth Server发起认证请求。接到Client发送的认证请求,Auth Server便会为Client推送出一个要求用户输入用户名和密码的认证页面。之后,Client和Auth Server之间通过消息交互完成认证。

(4) 通过认证后,用户便可以自由地访问互联网,获取网络服务。

1.2 具体认证过程

认证过程主要体现在图1所示的过程3中。当Client的浏览器页面重定向到Auth Server上的认证页面后,Client需要在弹出的页面上输入已经完成注册的用户名和密码,具体的消息交互流程如图2所示。

(1) Client发起一个HTTP连接请求(如:);

(2) Auth Gateway的防火墙规则拦截此请求数据包,将目的端口号替换为本地认证程序端口号后提交给认证进程。之后Gateway向Client发送包含Gateway ID的重定向消息,要求Client将网页重定向至Auth Server;

(3) Client根据重定向消息携带的信息向Auth Server发起认证请求;

图2 Web认证的消息交互流程

(4) Auth Server向Client推送出认证页面;

(5) Client输入用户名和密码;

(6) 当Client在Auth Server上成功认证后,Auth Server向Client发送包含可以证明其通过认证的一次性token值,将Client重定向到Gateway上的Web server;

(7) Client连接到Gateway上并告知其token值;

(8) Auth Gateway到Auth Server中查询Client提供的token值的有效性;

(9) Auth Server对该token值进行确认;

(10) Gateway将通过认证的Client加入到Client_list,并在iptables中设置规则放行该用户后续发送的数据包,然后向Client发送重定向消息,将Client重定向到Auth Server的认证成功页面;

(11) Client重定向到Auth Server,Auth Server向Client弹出认证通过的页面;之后用户就可以顺利上网获取网络服务。

2 Web认证连续性的实现

本文中的Web认证机制主要是通过Auth Gateway设定iptables的规则实现的,当Gateway出故障非正常重启时,iptables会被清空,重新回到初始化状态。为通过认证的用户设置的放行规则将消失,此时已通过该Gateway完成认证的用户再次访问互联网时浏览器上会重新弹出认证页面。

Gateway在iptables中设置规则放行通过认证用户的前提是Gateway得知用户的token值,并去Auth Server中验证通过(第1.2节中的步骤(10)),所以当┮桓鲇没Т右桓Gateway转接到或移动到另外一个Gateway时,由于新的Gateway上没有该用户通过认证时由Auth Server分配的一次性的token值,所以该用户发送的数据包将会被新Gateway拦截,用户将被迫重新进行认证。

2.1 改进后的Web认证流程

为了保证用户在通过认证后不会被迫弹出再次认证的页面,为了支持认证状态在移动过程中的连续性,就需要针对以上两种情况对认证过程进行改进。本文中提供的解决方法是让Gateway在拦截了用户数据包之后,且向用户发送重定向要求之前,首先到Auth Server中查询一下用户的认证状态。若用户未通过认证则向用户发起重定向要求,进行正常的Web认证过程;若用户已经通过认证则将用户的相关信息(主要是token值)存入Gateway中,并设置iptables规则放行用户发出的数据包。具体流程如图3所示。

图3 实现Web认证状态连续性过程

图3中1为未通过认证的Client发起一个HTTP连接请求(如:);

2为由于Gateway1的iptables中没有规则放行该用户,数据包被拦截送至Gateway1的认证进程,再由Gateway1的认证进程向Auth Server的认证进程发起precheck过程,查询该用户的认证状态。Server向Gateway1返回应答消息,确认该用户未通过认证;

3为进行正常的Web认证过程(如第2节所述);

4为用户通过认证后正常获取网络服务;

5为用户从Gateway1移动到Gateway2(或者Gateway遇到故障重启,丢失用户的认证状态);

6为用户继续发送TCP数据包;

7为由于Gateway2上没有用户的认证状态,数据包被拦截后进行precheck过程查询用户的认证状态;Server向Gateway2返回应答消息,确认该用户已经通过认证;Gateway2存下用户的token值,并在iptables中设置规则放行用户的数据包;

8为用户不用再次认证,继续正常获取网络服务。

2.2 Precheck过程

当用户数据包被拦截后,Gateway向Server发送一个precheck的消息查询用户的认证状态。消息中包括用户的IP地址和MAC地址(也可以只包含其中任意一个)。整个precheck的流程如图4所示。

图4 precheck过程示意图

Server收到precheck消息后会根据消息中提供的用户IP地址和MAC地址到数据库中查询是否存在与用户IP地址和MAC地址相对应的认证条目。若存在对应条目,Server将进一步查询认证条目中token的状态是否为INUSE。只当token存在且状态为INUSE时,Server才会向Gateway返回用户已通过认证的消息,并将分配给用户的token值随应答消息一起返回给Gateway。若查不到与IP地址和MAC地址相对应的认证条目或者条目中token的状态不为INUSE,Server将会向Gateway发送用户未通过认证的应答消息。

Gateway若收到用户未通过认证的应答消息,将会给用户发送重定向要求,要求用户重定向到Server上继续完成整个Web认证过程。

若收到用户已经通过认证的应答消息,Gateway会将用户的IP地址加入到自己的client_list中,纪录下用户的token值,然后设置iptables规则放行该用户后续发送的数据包。这样就避免了用户的浏览器再次弹出认证页面的问题。

3 实现环境及结果

图1和图3即为本文设计实现时所搭建的拓扑环境,其中Auth Server和Auth Gateway均使用的是Fedora 10操作系统,对Client的操作系统没有要求,可以为Linux系统或Windows系统。Auth Gateway是一个安装了认证网关软件的接入路由器,负责决定是否放行用户Client发送的HTTP数据包。在程序代码语言方面,Auth Gateway使用Linux环境下C语言编写,Auth Server使用PHP语言编写\[8\]。

在Auth Server上关闭Precheck功能后,当Client从图3中的Gateway1移动到Gateway2上时,原本正在获取网络服务的用户浏览器上会被迫弹出认证页面要求用户输入用户名和密码;开启Precheck功能后,用户的浏览器页面不会再次弹出认证页面,而是继续正常获取网络服务。

4 结 语

通过在Web认证的过程中加入precheck这一步骤后,用户只需要进行一次认证操作就可以保证在快速移动到其他接入路由器后仍然能够顺利地享受互联网的各种服务,实现了对移动性的支持。对用户来说在应用层屏蔽了移动切换过程,用户感知不到通信链路的中断与重连,真正实现了无缝切换。

参考文献

[1]HE Jun-hua, CAO Yuan. Research and analysis the PPPoE server technology based on the Routeros \[J\]. Computer Application and System Modeling, 2010,15: 209-211.

[2]CHENG Jun, WU Hong-hua. The application of the PP-POE for network security management using routerOS \[J\]. 2010 International Conference on Computer Design and Applications, 2010, 5: 569-571.

[3]IEEE. IEEE 802.1X-port based network access control \[S\]. \[S.l.\]: IEEE, 2006.

[4]吴治国.利用接入交换机做Web认证准入控制分析\[J\].中国高新技术企业,2010(15):90-91.

[5]朱新芬,孟利民.宽带接入认证方式的分析与比较\[J\].浙江工业大学学报,2009,37(2):190-195.

[6]张婕,吴振强,霍成义,等.一种移动互联网络匿名认证协议\[J\].计算机工程与应用,2008,44(13):80-83.

[7]张晓军,吕洁,张蓓.HTTP重定向在网关认证中的应用\[J\].大连理工大学学报,2005(z1):48-51.

[8]WELLING Luke, THOMSON Laura. PHP和MySQL Web开发\[M\].4版.北京:机械工业出版社,2009.

[9]杨哂哂,宋晓光.高校统一身份认证的探讨与研究\[J\].现代电子技术,2010,33(9):104-106.

[10]谭金府,宋安军,彭勤科,等.一个Web环境下单点登录系统的研究与实现\[J\].现代电子技术,2007,30(18):102-104.

[11]张明.一种改进的动态用户认证协议\[J\].电子科技,2011(6):137-139.

作者简介:

李晓芸 女,1985年出生,四川汉源人,在读硕士研究生。主要研究方向为下一代互联网接入控制。

高德云 男,1973年出生,江苏金湖人,副教授。主要研究方向为无线传感器网络、移动互联网、下一代网络体系结构。