包过滤的网络协议层用户认证方法

文档序号:7962161阅读:192来源:国知局
专利名称:包过滤的网络协议层用户认证方法
技术领域
本发明涉及一种包过滤的网络协议(网络协议,Internet Protocol)层用户认证方法,特别涉及一种内网用户通过防火墙访问外网资源的认证方法,属于计算机网络安全技术领域。
但是,现有的防火墙上普遍使用的应用代理的认证技术尚存在着一些不足1、在应用代理(网关)一级的认证技术只能对特定的网络服务(例如HTTP/FTP)作认证,而且有可代理服务数量方面的限制;因此,存在着其他大量的网络服务无法在应用代理一级做认证的问题。
2、对于需要认证的网络服务来说,如果在应用代理做认证,所有和认证相关的信息都存放在应用层;这样,所有该网络服务的数据包需要上传到应用层进行处理,需要进出内核各一次,这样的处理效率很低,系统的负荷大。
3、此外,在对用户做计费统计时,如果在应用网关一级做统计,往往只能对某些特定的网络服务类型来做统计,不能统计该用户使用的所有服务的流量以及时间,统计的准确性和有效性大打折扣。

发明内容
本发明的主要目的在于提供一种包过滤的网络协议层用户认证方法,在网络协议层实现用户认证,认证后,对数据包的控制与应用协议无关。
本发明的又一目的在于提供一种包过滤的网络协议层用户认证方法,网络服务的数据包可以直接在内核包过滤部分处理,提高过滤的效率。
本发明的另一目的在于提供一种包过滤的网络协议层用户认证方法,其可以对用户实现流量统计,可以精确地统计用户发出/接收到每一个网络协议包以及用户使用网络的总时间。
本发明是这样实现的一种包过滤的网络协议层用户认证方法,至少包括如下步骤步骤1防火墙对客户端访问网络的请求进行基于链路层或网络协议层的认证;步骤2防火墙根据认证结果对客户端的访问进行控制。
上述的步骤1具体包括步骤11客户端向防火墙提交认证请求信息;步骤12防火墙根据认证协议对客户端的身份信息进行认证;步骤13如果认证成功,防火墙将认证结果和相应的安全规则信息传送到防火墙中、对客户端访问进行控制的访问控制模块,执行步骤15;步骤14如果认证不成功,防火墙向其访问控制模块发出拒绝客户端通过防火墙的安全规则;步骤15结束认证。
上述的步骤2具体为步骤21记录用户登录的时间;步骤22根据登录用户的用户策略表相应中的安全规则,控制该用户访问的网络资源;
步骤23用户根据防火墙的安全规则通过防火墙访问被开放的网络服务;步骤24防火墙内核对收到的每一个来自或发往用户的IP数据包直接由链路层或IP层包过滤模块进行访问控制;步骤25对该用户收发的IP数据包进行统计,分别累计该用户的流出流量和流入流量;步骤26当用户断开认证连接,或者是认证连接超时,防火墙记录结束认证连接的时间,并根据认证连接的开始和结束时间计算该用户该次认证连接使用网络服务的时间。
当用户断开认证连接或者上述的认证连接超时,防火墙清除为该客户端添加的安全规则,清除状态表中该用户正在进行的网络服务;并获取和记录该用户在认证连接保持期间通过防火墙的流量。
上述的认证过程还包括步骤31服务器返回给客户端认证协议;步骤32客户端收到该协议包后,把密码直接发给服务器;步骤33服务器收到客户端发来的密码,并对密码进行校验;步骤34如果密码不匹配,则通知客户端出错返回;步骤35否则,记录用户登陆并给用户授权。
上述的用户策略表至少包括用户名或用户识别标识号、时间段信息、地址段信息、同时连接数信息。
上述的用户策略表还可以包括用户账号有效期信息、用户账号有效信息。
所述的安全规则信息至少包括客户端地址、源端口范围信息、目的地址段信息,目的端口范围信息,协议信息,流量累计数据。
所述的安全规则信息还包括规则有效时间信息、派生该规则的认证连接表表项的索引值;并且当安全规则达到有效期后,防火墙清除该规则。
本发明提供的方法,在网络协议层实现对用户的认证,认证后,对数据包进行访问控制,并且该控制与具体的应用协议无关。同时,网络服务的数据包可以直接在内核包过滤部分处理,提高了过滤的效率。再有就是可以实现对用户的流量统计,可以精确地统计用户发出/接收到每一个网络协议包以及用户使用网络的总时间。
图2为本发明认证过程的流程示意图。
图3为为本发明在客户端建立连接后控制网络服务的流程图。
图4为本发明根据密码进行认证处理的流程图。
防火墙对客户端访问网络的请求进行基于链路层或网络协议层的认证过程具体包括步骤11客户端向防火墙提交认证请求信息;步骤12防火墙根据认证协议对客户端的身份信息进行认证;步骤13如果认证成功,防火墙将认证结果和相应的安全规则信息传送到防火墙中、对客户端访问进行控制的访问控制模块,执行步骤15;步骤14如果认证不成功,防火墙向其访问控制模块发出拒绝客户端通过防火墙的安全规则;步骤15结束认证。
防火墙根据认证结果对客户端的访问进行的控制具体为步骤21记录用户登录的时间;步骤22根据登录用户的用户策略表相应中的安全规则,控制该用户访问的网络资源;步骤23用户根据防火墙的安全规则通过防火墙访问被开放的网络服务;步骤24防火墙内核对收到的每一个来自或发往用户的IP数据包直接由链路层或IP层包过滤模块进行访问控制;步骤25对该用户收发的IP数据包进行统计,分别累计该用户的流出流量和流入流量;步骤26当用户断开认证连接,或者是认证连接超时,防火墙记录结束认证连接的时间,并根据认证连接的开始和结束时间计算该用户该次认证连接使用网络服务的时间。
结合状态包过滤表,防火墙可实现对用户区分和流量统计。其实现具有多种方式。例如所述的用户策略表,用户表,认证连接表和认证规则表,既可以采取静态链表,即数组;或采用动态链表,即通过动态申请内存来创建的方式来实现;同时,还可以有线性表(顺序表),或者是索引表,散列表(HASH表)的差别;并且每个表的具体内容也可以在必须有的内容外,外加其他附属的或特定的属性,从而造成差别,甚至拆分成多个表。
以上所述的每个表的主要属性信息参见如下的定义1、用户策略表至少包括用户名或用户识别标识号、时间段信息、地址段信息、同时连接数量信息;还可包括用户账号有效期限信息、用户账号有效信息。
2、用户表至少包括用户名或用户识别标识号、连接数量信息、流量累计值;还可包括最近一次成功登陆在认证连接表中的索引值、指向同一组用户的指针信息。
3、认证连接表至少包括客户端地址、到期时间信息、流量累计值;还可包括登陆成功的时间信息和本次认证连接到期的时间信息。
4、认证规则表至少包括客户端地址,源端口范围信息、目的地址段信息、目的端口范围信息、协议信息、流量累计信息;还可包括规则有效时间信息、派生该规则的认证连接表表项索引值。
以明文口令认证为例,具体的认证过程还包括首先,服务器端返回给客户端认证协议为“明文口令”;其次,客户端收到该协议包后,把密码直接发给服务器;然后,服务器收到客户端发来的密码,对该密码进行校验;最后,如果该密码不匹配,则通知客户端出错返回;否则,记录用户登陆和给用户授权的过程。
如果该用户是第一次登陆,防火墙则添加一个新的表项,填入用户名或该用户的识别标识号,并将连接数信息和流量累计值清零;同时,如果该用户被定义了指向同一组用户的指针,防火墙则还可以建立与本组用户的连接,否则,仅将连接计数累加一个固定的步长值,例如1。
更新认证连接表;防火墙添加一新的表项,填入用户的网络协议地址,设置指向用户表中该用户项的指针,并将本次连接的流量累计值清零。
如果定义了本次连接的失效时间,防火墙则还应计算并设置该值,当失效时间到达时,该连接表项将被防火墙清除;如果定义了本次连接的起始时间,防火墙则将当前的系统时间填入,这样,防火墙可以利用该值来统计用户使用了多长时间。
如果在用户表中定义了最近一次成功登陆在认证连接表中的索引值,防火墙则将当前认证表项的索引值填入到用户表中的相应项内。
防火墙为用户可以享有每项服务都添加相应规则,并将流量累计清零;用户通过该规则使用的流量将被保存在流量累计项中。
如果定义了规则有效时间,防火墙则计算出每一条规则的有效时间,达到该时间后,该规则被防火墙自动清除。
如果定义了派生该规则的认证连接表表项的索引值,防火墙则将该用户在认证连接表中的索引值填入,可以利用该信息来快速定位规则对应的连接表项。因为在规则被清除时,需要将该规则作用下使用的流量累加到连接表项中。
防火墙将在用户表中为该用户增加一项(或仅增加计数,若该用户项已经存在),在认证连接表中为该用户的这次连接增加一项,并根据包过滤规则,向认证规则表中,为这次认证连接添加相应的表项,使得用户可以访问外部的资源。
每一次内部用户访问外部网络的连接,防火墙都将由认证规则表在状态表中派生出来相应的表项;这个派生出来的表项用于统计本次连接使用的流量。当本次连接中止时,该连接使用的流量将累加到对应的认证规则表的表项中。
当每一认证规则表的表项被清除时(比如该规则生存时间已到,或者用户退出,中止认证连接)时,防火墙在该规则作用下使用的累计流量将又被累加到认证连接表中对应的表项。因此,防火墙可以统计出每次认证连接时访问外部网络使用的流量。
同样,当用户中止认证连接时,本次认证连接访问外网使用的流量也会累计到在用户表中该用户对应的项目下,从而实现了统计每个用户所使用的流量。
最后所应说明的是以上实施例仅用以说明而非限制本发明的技术方案,尽管参照上述实施例对本发明进行了详细说明,本领域的普通技术人员应当理解依然可以对本发明进行修改或者等同替换,而不脱离本发明的精神和范围的任何修改或局部替换,其均应涵盖在本发明的权利要求范围当中。
权利要求
1.一种包过滤的网络协议层用户认证方法,其特征在于至少包括如下步骤步骤1防火墙对客户端访问网络的请求进行基于链路层或网络协议层的认证;步骤2防火墙根据认证结果对客户端的访问进行控制。
2.根据权利要求1所述的包过滤的网络协议层用户认证方法,其特征在于所述的步骤1具体包括步骤11客户端向防火墙提交认证请求信息;步骤12防火墙根据认证协议对客户端的身份信息进行认证;步骤13如果认证成功,防火墙将认证结果和相应的安全规则信息传送到防火墙中、对客户端访问进行控制的访问控制模块,执行步骤15;步骤14如果认证不成功,防火墙向其访问控制模块发出拒绝客户端通过防火墙的安全规则;步骤15结束认证。
3.根据权利要求1所述的包过滤的网络协议层用户认证方法,其特征在于所述的步骤2具体为步骤21记录用户登录的时间;步骤22根据登录用户的用户策略表相应中的安全规则,控制该用户访问的网络资源;步骤2 3用户根据防火墙的安全规则通过防火墙访问被开放的网络服务;步骤24防火墙内核对收到的每一个来自或发往用户的IP数据包直接由链路层或IP层包过滤模块进行访问控制;步骤25对该用户收发的IP数据包进行统计,分别累计该用户的流出流量和流入流量;步骤26当用户断开认证连接,或者是认证连接超时,防火墙记录结束认证连接的时间,并根据认证连接的开始和结束时间计算该用户该次认证连接使用网络服务的时间。
4.根据权利要求1所述的包过滤的网络协议层用户认证方法,其特征在于当用户断开认证连接或者认证连接超时,防火墙清除为该客户端添加的安全规则,清除状态表中该用户正在进行的网络服务;并获取和记录该用户在认证连接保持期间通过防火墙的流量。
5.根据权利要求1或2所述的包过滤的网络协议层用户认证方法,其特征在于所述的认证还包括步骤31服务器返回给客户端认证协议;步骤32客户端收到该协议包后,把密码直接发给服务器;步骤33服务器收到客户端发来的密码,并对密码进行校验;步骤34如果密码不匹配,则通知客户端出错返回;步骤35否则,记录用户登陆并给用户授权。
6.根据权利要求3所述的包过滤的网络协议层用户认证方法,其特征在于所述的用户策略表至少包括用户名或用户识别标识号、时间段信息、地址段信息、同时连接数信息。
7.根据权利要求3或6所述的包过滤的网络协议层用户认证方法,其特征在于所述的用户策略表还包括用户账号有效期信息、用户账号有效信息。
8.根据权利要求2或3或4所述的包过滤的网络协议层用户认证方法,其特征在于所述的安全规则信息至少包括客户端地址、源端口范围信息、目的地址段信息,目的端口范围信息,协议信息,流量累计数据。
9.根据权利要求8所述的包过滤的网络协议层用户认证方法,其特征在于所述的安全规则信息还包括规则有效时间信息、派生该规则的认证连接表表项的索引值。
10.根据权利要求9所述的包过滤的网络协议层用户认证方法,其特征在于所述的安全规则当达到有效期后,防火墙清除该规则。
全文摘要
一种包过滤的网络协议层用户认证方法,至少包括防火墙对客户端访问网络的请求进行基于链路层或网络协议层的认证;防火墙根据认证结果对客户端的访问进行控制。本发明提供的方法,在网络协议层实现对用户的认证,认证后,对数据包进行访问控制,并且该控制与具体的应用协议无关;同时,网络服务的数据包可以直接在内核包过滤部分处理,提高了过滤的效率。再有就是可以实现对用户的流量统计,可以精确地统计用户发出/接收到每一个网络协议包以及用户使用网络的总时间。
文档编号H04L9/00GK1474534SQ0212601
公开日2004年2月11日 申请日期2002年8月9日 优先权日2002年8月9日
发明者高红, 王海涛, 宋斌, 刘永锋, 高 红 申请人:联想(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1