一种用户认证方法及装置的制作方法

文档序号:7703981阅读:102来源:国知局
专利名称:一种用户认证方法及装置的制作方法
技术领域
本发明涉及网络安全技术领域,尤其涉及一种用户认证方法及装置。
背景技术
如何阻止非法用户访问网络一直是网络管理员比较关注的问题。目前很多
应用层协议都提供了用户认证功能,例如HTTP本身提供了用户验证功能,可 以对用户进行身份-验证,只有验证通过才可以访问HTTP资源。
HTTP提供了 一种简单的"挑战-应答"(challenge-response)认证机制对用 户进行认证。"挑战"是服务器端对客户端的挑战,即要求客户端发送认证信息; "应答"是客户端对"挑战"的响应,即向服务器发送带有认证信息的HTTP请求。
客户端第一次请求一个URL时,并不知道是否需要认证,因此总是不带认 证信息的,服务器端由于找不到认证信息而导致认证失败,于是服务器向客户 端发出一个"挑战"。客户端在接收到"挑战"后,根据"挑战"中的认证模式,生 成自己的"应答",发送给服务器,完成认证。
RFC 2617描述了两种认证模式基本认证模式和摘要模式。认证模式在 服务器发送给客户端的"挑战"中指明。基本模式是将用户名和密码经过base64 编码后,添加到"应答"中发送给服务器。这种认证方式直接将用户名和密码以 明文方式在网路上传播,存在很大的安全隐患。摘要模式则相对基本认证模式 来说要安全一些,摘要模式将用户名、密码等信息经MD5运算计算出消息摘 要,然后将摘要添力o到"应答"发送给服务器,由于MD5的不可逆特性,即通过 摘要无法推出密码,因此摘要模式可以有效防止网络窃听。
在实现本发明的过程中,发明人发现现有技术中至少存在如下问题
HTTP协议提供的用户认证功能可以有效防止非法用户访问,但是这种认 证方法仅仅局限于HTTP业务,对于其他TCP业务无能为力。另外,由于认证是在服务器上完成,当大量用户同时访问时,可能加重服务器负担。如果多台 服务器都需要对用户进行认证时,则需要逐台配置,加重网络维护人员的工作 量。

发明内容
本发明实施例提供一种用户认证方法及装置,可以对TCP业务进行认证。
本发明实施例4是供一种用户认证方法,包括 接收客户端发送至服务器的TCP同步报文;
根据所述客户端发送的TCP同步报文构造源地址为服务器的地址、窗 口为零的同步应答报文,并发送至所述客户端;
植il务6fr 、 P愛A ;山* 、¥ AA 4+^f S/f 、t1;' F1丰r 7义
发送认证请求报文给所述客户端进行用户认证。
本发明实施例还提供一种用户认证装置,包括
接口单元,用于接收客户端发送至服务器的TCP同步报文;
代理单元,用于根据所述客户端发送的TCP同步报文构造源地址为所
述服务器的地址、窗口为零的同步应答报文,通过所述接口单元发送至所述
客户端;
验证单元,用于在接收到所述客户端发送的针对所述同步应答报文的确 认应答报文后,发送认证请求报文给所述客户端进行用户认证。
本发明实施例通过代理所述服务器实现客户端TCP的连接请求,在实现代 理的基础上对客户端进行用户认证,可以有效防止非法用户的TCP业务,实现 了对TCP业务的认证。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实 施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下 面描述中的附图仅仅是本发送日志信息的方法发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附 图获得其他的附图。
图1是本发明实施例一用户认证方法的流程示意图; 图2是本发明实施例二用户认证方法的流程示意图; 图3是本发明实施例用户认证方法的信令流程示意图; 图4是本发明实施例用户认证系统的结构示意图。
具体实施例方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实 施方式,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施方 式仅仅用于解释本发明,并不用于限定本发明。
请参考图1,为本发明实施例一用户认证方法的流程示意图,本方法将连 接发起端称为客户端,对端称为服务器,所述客户端和所述服务器可通过防火 墙的中继进行通信。所述认证方法具体可通过防火墙实现,所述认证方法包括
步骤S30:接收客户端发送至服务器的TCP同步报文;
步骤S32:根据所述客户端发送的TCP同步报文构造源地址为服务器的地 址、窗口为零的同步应答报文,并发送至所述客户端;
步骤S34:接收所述客户端发送的针对所述同步应答报文的确认应答报文; 至此,所述防火墙代替所述服务器完成了第一次三次握手的过程。
步骤S36:发送认证请求报文给所述客户端进行用户认证。
在上述防火墙与客户端的三次握手完成之后,所述防火墙并不马上与服务 器进行三次握手,而是发送所述认证请求报文至客户端,请求客户端进行认证 (例如HTTP的challenge )。
求,在实现代理的基础上对客户端进行用户认证,可以有效防止非法用户的TCP 业务,实现了对TCP业务的认证。请参考图2,为本发明实施例二用户认证方法的流程示意图,其与本发明 实施例一的区别在于在步骤S36之后还包括
步骤S38:判断认证是否通过;具体的,在步骤S36防火墙将所述认证请 求报文发送给所述客户端之后,所述客户端构造认证报文发送给所述防火墙进 行认证,所述防火墙根据所述端发送的认证报文进行用户认证,若认证成功则 防火墙继续之前的代理流程,即执行步骤S40。
步骤S40:与所述服务器建立TCP连接。具体的,防火墙构造TCP同步报 文并发送至所述服务器,服务器向防火墙返回所述TCP同步报文的同步应答报 文,防火墙接收到所述服务器发送的同步应答报文后,向服务器返回所述同步 应答报文的确认应答报文,至此,所述防火墙完成第二次的三次握手。
进一步的,所述方法还可以包括防火墙构造目的地址为客户端、源地址 为服务器的窗口非零的确认应答报文ACK,并将其发送至所述客户端。此步骤 相当于所述防火墙向所述客户端发送窗口更新报文,客户端接收到窗口更新报 文之后,恢复发送数据报文。
求,在实现代理的基础上对客户端进行用户认证,可以有效防止非法用户的TCP 业务,实现了对TCP业务的认证;另外对TCP业务的认证都集中在所述防火 墙上实现,可以由防火墙统一完成服务器的管理,不需要逐台对服务器进行配 置,减轻了网络维护人员的工作量。
请参考图3,为本发明实施例用户认证方法的信令流程示意图,防火墙设 置在客户端与服务器之间,本方法将连接发起端称为客户端,对端称为服务器, 所述客户端和所述服务器通过所述防火墙的中继进行通信。所述认证方法包括
步骤S101:客户端发送TCP同步报文SYN至服务器;
步骤S102:防火墙接收所述TCP同步报文SYN后,代替所述服务器向所 述客户端返回零窗口的TCP同步应答《^艮文SYN+ACK。
所述防火墙在接收到所述客户端发送的TCP同步报文SYN后,构造一个源地址为服务器地址、窗口为零的同步应答报文SYN+ACK,所述防火墙将所 述同步应答报文SYN+ACK发送至所述客户端。将同步应答报文的窗口设为零 是为了指示所述客户端暂时不要发送数据报文,可以阻止客户端在建立三次握 手之后立即发送数据报文。
步骤S103:客户端向防火墙发送所述同步应答才艮文SYN+ACK的确认应答 报文ACK。至此,所述防火墙代替所述服务器完成了第一次三次握手的过程。
步骤S104:防火墙发送认证请求报文给客户端。
在上述防火墙与客户端的三次握手完成之后,所述防火墙并不马上与服务 器进行三次握手,而是发送所述认证请求报文至客户端,请求客户端进行认证 (例如HTTP的challenge )。具体的,所述防火墙可以在所述认证请求报文中指 明认证模式,例如基本认证模式或者摘要模式。
所述认证请求报文必须复用TCP会话,为了使得认证请求报文能够穿越 NAT设备到达客户端,必须将认证请求报文伪装成TCP连接的数据报文,即认 证请求报文为TCP报文,源端口为服务器的服务端口 ,源IP为服务器的IP地 址,目的地址为客户端的IP地址,目的端口为客户端发起TCP连接的源端口。
步骤S105:客户端接收到所述认证请求报文后,将认证报文发送至所述防 火墙。
由于防火墙发送的认证请求报文伪装成TCP报文,因此客户端必须将认证 请求报文与TCP数据报文分离出来。分离认证请求报文与TCP数据报文的方 法有很多种,例如在客户端上安装网络驱动接口规范驱动(Network Driver Interface Specification, NDIS ),截获每一个TCP才艮文,如果发现该报文匹配认 证请求报文的特征,则启动认证流程。认证请求才艮文的特征可以使用固定的魔 术字(magic number)来标识。
如果发现认证请求4艮文,则丢弃该报文,并且启动认证流程,如果不是认 证请求,则提交给TCP。认证流程可以采用任意通用认证协议,也可以自定义。 认证报文不需要伪装成TCP报文。
8为了简化认证过程,用户可以将用户名和密码保存至配置文件,当防火墙 请求用户认证时,客户端可以自动完成认证。
步骤S106:客户端接收到所述防火墙发送的认证请求报文后,构造认证报 文发送给所述防火墙。
所述客户端可以将将用户名和密码经过base64编码后,添加到所述认证才艮 文中发送给防火墙进行用户认证。
步骤S107:防火墙根据客户端发送的认证报文进行用户认证,若认证成功 则防火墙继续之前的代理流程。
步骤S108:防火墙构造TCP同步报文并发送至所述服务器。
所述防火墙使用前面流程记录的客户端发起TCP连接时的端口 ,目的地址 设为服务器,源地址设为客户端,构造TCP同步报文SYN发送至所述服务器, 请求建立TCP连接。
SYN+ACK,所述同步应答报文SYN+ACK的窗口大小为所述服务器的真实窗 口大小。
步骤S110:防火墙接收到所述服务器发送的同步应纷艮文SYN+ACK后, 向服务器返回所述同步应答^JlSYN+ACK的确认应答报文ACK。至此,所述 防火墙完成第二次的三次握手。
步骤S120:防火墙构造目的地址为客户端、源地址为服务器的窗口非零的 确认应答报文ACK,并将其发送至所述客户端。
此步骤相当于所述防火墙向所述客户端发送窗口更新报文,客户端接收到 窗口更新报文之后,恢复发送数据报文。
本发明实施例通过所述防火墙代理所述服务器实现客户端TCP的连接请 求,在实现代理的基础上对客户端进行用户认证,可以有效防止非法用户的TCP 业务,实现了对TCP业务的认证;另外对TCP业务的认证都集中在所述防火 墙上实现,可以由防火墙统一完成服务器的管理,不需要逐台对服务器进行配置,减轻了网络维护人员的工作量。
请参考图4,为本发明实施例用户认证系统的结构示意图,所述用户认证 系统包括客户端100、用户认证装置200及服务器300。本发明实施例中,所述 客户端IOO作为会话连接的发起端,所述服务器300作为会话连接的对端,所 述用户认证装置200设置在所述客户端100与所述服务器300之间,所述客户 端100和所述服务器300通过所述用户认证装置200的中继进行通信。所述用 户认证装置200包括代理单元202、接口单元204及验证单元206。
所述接口单元204用于接收所述客户端IOO发送至服务器的TCP同步报文;
所述代理单元202用于根据所述客户端100发送的TCP同步报文构造源地 址为所述服务器300的地址、窗口为零的同步应答报文,通过所述接口单元发 送至所述客户端100;
所述验证单元206用于在接收到所述客户端100发送的针对所述同步应答 报文的确认应^艮文后,发送认证请求报文给所述客户端100进行用户认证。
所述认证请求报文必须复用TCP会话,为了使得认证请求报文能够穿越 NAT设备到达客户端,所述验证单元206将认证请求报文伪装成TCP连接的数 据报文,即认证请求报文为TCP报文,源端口为服务器300的服务端口,源IP 为服务器300的IP地址,目的地址为客户端100的IP地址,目的端口为客户 端100发起TCP连接的源端口 。
所述代理单元202在所述验证单元206验证所述客户端100合法后通过所 述接口单元204与所述服务器300建立TCP连接。
具体的,所述代理单元202使用前面流程记录的客户端IOO发起TCP连接 时的端口,目的地址设为服务器300,源地址设为客户端100,构造TCP同步 报文SYN发送至所述服务器300,请求建立TCP连接;
所述服务器300向所述代理单元202返回所述TCP同步报文SYN的同步 应答报文SYN+ACK,所述同步应答报文SYN+ACK的窗口大小为所述服务器 300的真实窗口大小;所述代理单元202接收到所述服务器300发送的同步应答报文SYN+ACK
所述代理单元202还可用于在与所述服务器300建立TCP连接后,构造目 的地址为客户端100、源地址为服务器300的窗口非零的确认应答报文ACK, 并将其发送至所述客户端100,所述客户端100接收到确认应答报文ACK之后, 恢复发送数据4艮文。
本发明实施例所述用户认证装置200具体实现可为防火墙装置。
本发明实施例通过所述代理单元202实现与客户端100TCP的连接请求, 在实现代理的基础上通过所述验证单元206对客户端100进行用户认证,可以 有效防止非法用户的TCP业务,实现了对TCP业务的i/^正;另外对TCP业务 的认证都集中在所述用户认证装置200的验证单元206上实现,可以由所述用 户认证装置200统一完成服务器的管理,不需要逐台对服务器进行配置,减轻 了网络维护人员的工作量。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是 可以通过程序来指令相关的硬件来完成,所述程序可以存储于一计算机可读取 存储介质中,所述存储介质为ROM/RAM、磁碟、光盘等。
以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不局 限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易 想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护 范围应该以权利要求的保护范围为准。
权利要求
1、一种用户认证方法,包括接收客户端发送至服务器的TCP同步报文;根据所述客户端发送的TCP同步报文构造源地址为服务器的地址、窗口为零的同步应答报文,并发送至所述客户端;接收所述客户端发送的针对所述同步应答报文的确认应答报文;发送认证请求报文给所述客户端进行用户认证。
2、 如权利要求1所述的方法,其特征在于所述认证请求报文伪装成 TCP报文发送至所述客户端进行用户认证。
3、 如权利要求2所述的方法,其特征在于所述iU正请求报文的源端 口为所述服务器的服务端口 ,源IP为所述服务器的IP地址,目的地址为所 述客户端的IP地址,目的端口为所述客户端发起TCP连接的源端口 。
4、 如权利要求l所述的方法,其特征在于还包括 判断认证是否通过,若通过则与所述服务器建立TCP连接。
5、 如权利要求4所述的方法,其特征在于所述与所述服务器建立TCP 连接包括构造TCP同步报文并发送至所述服务器,接收返回的所述TCP 同步报文的同步应答报文,向所述服务器返回所述同步应答报文的确认应答 报文。
6、 一种用户认证装置,包括接口单元,用于接收客户端发送至服务器的TCP同步报文; 代理单元,用于根据所述客户端发送的TCP同步报文构造源地址为所述服务器的地址、窗口为零的同步应答报文,通过所述接口单元发送至所述客户端;验证单元,用于在接收到所述客户端发送的针对所述同步应答报文的确 认应答报文后,发送认证请求报文给所述客户端进行用户认证。
7、 如权利要求6所述的装置,其特征在于所述验证单元将所述认证 请求报文伪装成TCP报文发送至所述客户端进行用户认证。
8、 如权利要求7所述的装置,其特征在于所述认证请求报文的源端 口为所述服务器的服务端口,源IP为所述服务器的IP地址,目的地址为所 述客户端的IP地址,目的端口为所述客户端发起TCP连接的源端口。
9、 如权利要求6所述的装置,其特征在于所述代理单元还用于在所 述验证单元验证所述客户端合法后通过所述接口单元与所述服务器建立 TCP连接。
10、 如权利要求9所述的装置,其特征在于所述通过所述接口单元与 所述服务器建立TCP连接包括所述代理单元构造TCP同步报文并发送至 所述服务器,接收所述服务器返回的所述TCP同步报文的同步应答报文,
全文摘要
本发明实施例提供一种用户认证方法,包括接收客户端发送至服务器的TCP同步报文;根据所述客户端发送的TCP同步报文构造源地址为服务器的地址、窗口为零的同步应答报文,并发送至所述客户端;接收所述客户端发送的针对所述同步应答报文的确认应答报文;发送认证请求报文给所述客户端进行用户认证。本发明实施例还提供一种用户认证装置。本发明实施例通过代理所述服务器实现客户端TCP的连接请求,在实现代理的基础上对客户端进行用户认证,可以有效防止非法用户的TCP业务,实现了对TCP业务的认证。
文档编号H04L1/16GK101521675SQ200910106340
公开日2009年9月2日 申请日期2009年3月23日 优先权日2009年3月23日
发明者王晓信 申请人:成都市华为赛门铁克科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1