一种Portal认证处理方法、认证协助方法及装置制造方法

文档序号:7773766阅读:128来源:国知局
一种Portal认证处理方法、认证协助方法及装置制造方法
【专利摘要】本发明提供一种Portal认证协助,认证处理方法以及对应的装置,应用于网关设备GD和Portal设备上,该GD位于Portal客户端与Portal认证设备PD之间,其中GD与PD之间通过私网相连,其中该方法包括以下步骤:对于未通过认证的客户端,GD为客户端申请私网IP地址;客户端访问网络时,PD触发客户端认证,并在认证通过时通知GD;GD将客户端标记为认证通过;对于通过认证的客户端,GD为其申请公网IP地址;在认证过程或后续访问公网过程中,客户端发送的报文均由GD通过预先建立的私网隧道发送至PD。本发明在GD与PD之间建立私网隧道允许PD灵活部署。一个PD可以服务多个GD,灵活性高且成本低廉。
【专利说明】一种Portal认证处理方法、认证协助方法及装置
【技术领域】
[0001]本发明涉及通信【技术领域】,尤其涉及一种Portal认证处理方法、认证协助认证方
法及装置。
【背景技术】
[0002]Portal认证技术是一种简单易用的身份认证技术,其主要目标是为了验证接入网络客户端的身份。在Portal (入口)认证的组网环境中,当客户端需要访问互联网时,其必须在Portal服务器(Portal Server, PS)提供的Web页面上进行身份认证,只有认证通过后才可以使用这些互联网中的设备或资源。然而在大型企业的网络或者说较为复杂的网络中,Portal设备的具体部署是一个技术难题。

【发明内容】

[0003]有鉴于此,本发明提供一种Portal认证协助方法,应用于网关设备⑶上,该⑶位于Portal客户端与Portal认证设备H)之间,其中⑶与H)之间通过私网相连,其中该方法包括以下步骤:
[0004]步骤A、当客户端通过⑶申请IP地址时,⑶在内部的分配表中检查该客户端的认证标记是否为认证通过,若该客户端的认证标记不是认证通过或无此对应表项,转步骤B ;若该客户端的认证标记为认证通过,转步骤F ;
[0005]步骤B,⑶以DHCP中继的身份代表客户端向DHCP服务器DS申请私网IP地址;
[0006]步骤C,在IP地址分配成功时,⑶将客户端分配到的IP地址与其MAC地址对应关系更新到分配表中;
[0007]步骤D,当接收到客户端发送的认证请求报文时,将该报文进行隧道封装并通过⑶与ro之间预先建立的隧道发送至ro ;其中该隧道报文的隧道ip地址为私网ip地址;
[0008]步骤E,在收到H)的客户端认证通过通知后,GD在客户端分配表中将该客户端的MAC地址的认证标记修改为认证通过;
[0009]步骤F,⑶以DHCP中继的身份代表客户端向DS申请公网IP地址。
[0010]本发明还提供一种Portal认证协助装置,应用于网关设备⑶上,该⑶位于Portal客户端与Portal认证设备H)之间,其中⑶与H)之间通过私网相连,该装置包括:认证检查单元、地址申请单元、表项更新单元以及报文处理单元,其中:
[0011]认证检查单元,用于在客户端通过⑶申请IP地址时,在内部的分配表中检查该客户端的认证标记是否为认证通过;
[0012]地址申请单元,用于在客户端未通过认证时,以DHCP中继的身份代表客户端向DHCP服务器DS申请私网IP地址;或者用于在客户端通过认证时,以DHCP中继的身份代表客户端向DS申请公网IP地址;
[0013]表项更新单元,用于在IP地址分配成功时,将客户端分配到的IP地址与其MAC地址对应关系更新到分配表中;并在收到ro的客户端认证通过通知后,在客户端分配表中将该客户端的MAC地址的认证标记修改为认证通过;
[0014]报文处理单元,用于在接收到客户端发送的认证请求报文时,,将该报文进行隧道封装并通过⑶与ro之间预先建立的隧道发送至ro,其中该隧道报文的隧道ip地址为私网IP地址。
[0015]本发明还提供一种Portal认证处理方法,应用于网络中的Portal认证设备F1D上,该网络还包括Portal客户端以及网关设备⑶,其中该⑶位于Portal客户端与H)之间,其中⑶与H)之间通过私网相连,其中该方法包括以下步骤:
[0016]步骤I,在隧道接口将接收到的隧道报文解封装后得到客户端发送的原始IP报文,判断该原始报文的目的IP地址是否为预设的免认证IP地址,如果是则对该IP报文进行NAT处理后转发该IP报文,否则通过隧道接口触发客户端进行Portal认证;
[0017]步骤II,F1D在确定客户端认证通过时向⑶发送客户端认证通过通知,并向Portal服务器PS发送客户端认证通过通知以通过PS来触发用户重新申请IP地址。
[0018]本发明还一种Portal认证处理装置,应用于网络中的Portal认证设备F1D上,该网络还包括Portal客户端以及网关设备⑶,其中该⑶位于Portal客户端与H)之间,其中⑶与H)之间通过私网相连,该装置包括前置判断单元以及认证处理单元,其中:
[0019]前置判断单元,用于在隧道接口将接收到的隧道报文解封装后得到客户端发送的原始IP报文,判断该原始报文的目的IP地址是否为预设的免认证IP地址,如果是则对该IP报文进行NAT处理后转发该IP报文,否则通过隧道接口触发客户端进行Portal认证;
[0020]认证处理单元,用于在确定客户端认证通过时向⑶发送客户端认证通过通知,并向Portal服务器PS发送客户端认证通过通知以通过PS来触发用户重新申请IP地址。。
[0021]本发明可通过⑶与H)之间的隧道,进行客户端的Portal认证,允许H)灵活部署。一个ro可以服务很多个GD下连接的用户网络。组网灵活性成倍地提升且实施成本低廉。
【专利附图】

【附图说明】
[0022]图1是本发明一种实施方式下的典型组网图。
[0023]图2是本发明一种实施方式中⑶以及H)的硬件原理图。
[0024]图3是本发明一种实施方式中H)以及⑶配合的处理流程图。
[0025]图4是一种典型的带有中继的DHCP处理流程图。
[0026]图5是一种中继发出的DHCP报文的格式图。
[0027]图6是本发明一种实施方式中认证协助装置的逻辑结构图。
[0028]图7是本发明一种实施方式中认证处理装置的逻辑结构图。
【具体实施方式】
[0029]从客户端感知的角度来看,当客户端在机场等公共区域通过无线技术连接某运营商的WiFi热点后,其访问任何页面都会跳转到Portal认证页面,直到其身份认证通过这个跳转机制才会消失。也就是说认证通过之前,Portal客户端可能是BS (浏览器/服务器)架构中的浏览器或CS (客户端/服务器)架构中的客户端,具备了通过HTTP协议访问PS上Web页面的能力,这意味着在认证通过之前其必须拥有IP地址,否则无法进行Web访问,这是Portal与802.1X等纯粹的二层认证技术本质的区别。这个过程意味着DHCP (动态主机配置协议)的过程交互报文需要不受限制的,网络对于DHCP服务是完全开放的。
[0030]从传统思路出发,客户端上网需要网络侧的DHCP服务器(DHCP Server, DS)分配IP地址。假设DHCP分配给客户端上网使用的IP地址是公网IP地址,这可能会出现公网IP地址被浪费的问题。假设某客户端获取了一个公网IP地址,若客户端不参与Portal认证过程或在后续Portal认证过程中认证失败,这意味着一个不上网或无法上网的客户端将占用一个公网IP地址。若相当数量客户端出现上述情况,则会造成公网IP地址的严重浪费,在IPv4还是主流的今天,公网IP地址的稀缺性是不言而喻的。
[0031]若为了避免公网IP地址的浪费,可以使用二次地址分配的Portal认证方式。Portal 二次地址认证方式很好的解决了上述问题。其基本原理如下:客户端在认证前通过DS获取一个私网IP地址,此时其只能访问PS以及部分私网服务器的资源;在客户端认证通过后,客户端会申请到一个公网IP地址,即可访问网络资源。该认证方式解决了 IP地址规划和分配问题,认证前客户端只能获取到私网IP地址,访问私网内的资源,这可以避免不上网或无法上网的客户端占用公网IP地址的问题。
[0032]二次地址分配认证方式在解决了公网IP地址浪费的基础上又引入了新的问题。首先,认证结束又被附加上新的条件:客户端必须成功申请到公网IP地址,PS才能确定客户端认证成功。假设客户端因各种原因未申请到公网IP地址,PS不能通知客户端认证成功,否则客户端上网会发现依然是失败的。为解决这个问题,需要Portal认证设备(PD)主动去感知客户端IP地址的变化,然后通知PS。ro —般采用ARP的方式来感知客户端IP地址的变化,但是采用ARP协议意味着ro与客户端必须位于同一个局域网内,中间不能有路由器或三层交换机等三层设备。其次,由于安全性需要,还须利用DHCP Relay以及ARP授权等机制控制通过Portal认证的客户端访问网络的合法性,这也要求组网上必须将H)与客户端设置在同一个局域网内,这严重限制了二次地址分配认证应用的灵活性。另外从网络管理员使用的角度来看,为了实现客户端私网、公网地址的申请分配,H)与DHCP Relay还需要耦合在一起,配置比较复杂,维护难度高。
[0033]本发明提供一种Portal认证解决方案来解决目前在组网灵活性等问题上遭遇的挑战。请参考图1的典型组网,在该组网中,网关设备(Gateway Device,⑶)位于H)以及客户端之间,也就是说H)是无法在二层(链路层)上通过ARP方式感知到客户端的存在的。在本发明优选的方式中,一个H)可以服务于多个GD,比如图1中⑶I以及⑶2可以通过私网上构建的隧道连接到PD,也就是说从三层角度来看,GD与H)是通过GD所在的私网相连的,在以下的实施方式中仅以一个GD与一个ro的配合来说明,多个GD与ro配合过程的原理是相同的。
[0034]在一种优选的实施方式中,本发明通过改进ro以及网关的软件处理流程来进行技术改进,本发明并不排除硬件、逻辑器件或者软硬件结合等其他实施方式。从PD的角度来说,本发明提供了一种Portal认证处理方法,而从⑶角度来说,本发明提供一种Portal认证协助方法;ro与⑶相互配合形成本发明上述解决方案。请参考图2,PD与⑶通常都包括CPU、内存、非易失性存储器以及其他网络硬件,两者之间可能在接口或转发芯片等网络硬件上存在一定差异,但这些差异并不是本实施方式所关心的。对于上述两个相互配合方法而言,其具体实现时均可以由CPU读取非易失性存储器中对应的软件代码在内存中运行而实现,而代码执行过程中涉及对其他硬件的操作过程属于现有技术,本发明在后续描述中不再深入讨论。
[0035]请参考图3,在一种优选的实施方式中,ro与⑶配合过程包括如下步骤:
[0036]步骤ιο?,根据管理员指定的ro私网ip地址,⑶向ro发起隧道连接请求以与ro
建立隧道; [0037]步骤102,当客户端通过DHCP协议申请IP地址时,⑶在分配表中检查该客户端的认证标记是否为认证通过,若该客户端的认证标记不是认证通过或无此客户端的表项,转步骤103 ;若该客户端的认证标记为认证通过,转步骤109 ;
[0038]步骤103,⑶以DHCP中继的身份代表客户端向DS申请IP地址;
[0039]步骤104,在客户端分配到IP地址时,⑶将客户端分配到的IP地址与其MAC地址的对应关系更新到分配表中;
[0040]步骤105,当接收到客户端发送的认证请求报文时,GD将该报文进行隧道报文封装并通过自身隧道接口发送至ro ;
[0041]步骤106,PD在隧道接口将接收到的隧道报文解封装后得到客户端发送的IP报文,判断该IP报文的目的IP地址是否为预设的免认证IP地址,如果是则对该IP报文进行NAT处理后转发该IP报文,否则通过隧道接口触发客户端进行Portal认证;
[0042]步骤107,PD在确定客户端认证通过时,向⑶发送客户端认证通过通知,并向PS发送客户端认证通过通知以通过PS来触发用户重新申请IP地址;
[0043]步骤108,⑶收到ro的客户端认证通过通知后,在分配表中将该客户端的认证标记修改为认证通过;
[0044]步骤109,⑶以DHCP中继的身份代表客户端向DS发起IP地址申请,并在申请过程中使用预设的公网IP地址作为DHCP报文中DHCP中继字段的IP地址。
[0045]在实施上述方案的时候,管理员需要进行一些包括步骤101在内的配置工作。首先,管理员需要为⑶配置一个私网网关IP地址以及一个公网网关IP地址 '为ro分配一个私网ip地址。在本发明实现场景中,⑶通常位于用户私网内部,而ro则位于公网与私网的边界,也就是说ro同样需要配置一个私网ip地址,这样⑶与ro才能实现通信,配置的过程对于管理员而言是很简单的工作,不再赘述。其次,管理员需要通过下发配置指令在⑶与ro之间创建隧道连接,其是本发明实现的基础。目前大部分的三层设备都支持一种或者多种隧道技术,当然建立隧道连接的前提是⑶与ro都支持这种隧道技术。从通用性的角度来说,GRE隧道是一种比较好的选择,其被众多厂商的三层网络设备所支持。从配置的角度来说,管理员可以通过配置指令从⑶侧主动发起隧道连接,其需要指示⑶设备隧道对端(PD)的公网IP地址;^)接收该隧道连接请求后,隧道就建立起来了。同样的道理管理员也可以通过配置指令从ro侧主动发起隧道连接,其需要指示ro设备隧道对端(⑶)的公网ip地址。另外,在本发明协助认证方法使能的时候,如果GD的分配表不为空,即其中建立了一些IP地址与MAC地址对应关系的话,则根据管理员的Portal Relay使能指令来清空该分配表。当然如果GD刚刚投入使用,则不涉及这个问题。
[0046]请参考图4以及图5,在配置工作准备好之后,网络开始面向客户端提供服务。对于一个新上线的客户端,其会通过DHCP的方式来获取IP地址。在一次DHCP过程中,客户端对于DHCP Discovery以及Request的报文全部采用广播的形式发送出去。由于DS位于客户端所在局域网的外部,因此⑶将通过DHCP Relay (DR)的方式使用单播报文来协助用户从局域网外部的DS上获取IP地址。在这个过程中,客户端最终能获得私网IP地址还是公网IP地址是⑶来控制的。⑶的控制方式是区分情况来构造DHCP Discovery报文或者DHCP Request报文的内容。具体来说是区分客户端是否通过认证,实现时可以通过分配表中的客户端的认证标记来区分。所述分配表中保存该客户端MAC地址与认证标记的对应关系,GD在内部的分配表中检查该客户端的认证标记是否为认证通过具体包括:根据客户端DHCP报文中的客户端MAC地址获取分配表中对应的认证标记并检查该认证标记是否为认证通过的标记。
[0047]对于未通过认证的客户端而言,⑶在构造上述报文时,其在DHCP Relay地址的字段中填写自身的私网IP地址,这个私网IP地址通常是预设的,通常是其面向局域网的私网网关接口的IP地址。而DS在Offer报文中提供的IP地址通常与Discovery报文中DHCPRelay地址是同一个网段的,也就是说⑶在单播Discovery报文中填写自身私网IP地址,那么客户端会获得同网段的一个私网IP地址。反之,若GD在单播Discovery报文中填写的是预设的公网IP地址,则客户端会获得同网段的一个公网IP地址。请参考图5,值得注意的是,这里⑶填写的IP地址,并不是单播DHCP报文的源IP地址,而是单播DHCP报文中Giaddr这个字段的内容。请参考表1示例,在客户端通过DHCP过程获得IP地址之后,也就是DS发送ACK报文进行确认时,⑶在内部的分配表中更新该客户端的IP地址与MAC地址的对应关系。
【权利要求】
1.一种Portal认证协助方法,应用于网关设备⑶上,该⑶位于Portal客户端与Portal认证设备H)之间,其中⑶与H)之间通过私网相连,其特征在于,该方法包括以下步骤: 步骤A、当客户端通过GD申请IP地址时,GD在内部的分配表中检查该客户端的认证标记是否为认证通过,若该客户端的认证标记不是认证通过或无此对应表项,转步骤B ;若该客户端的认证标记为认证通过,转步骤F ; 步骤B,⑶以DHCP中继的身份代表客户端向DHCP服务器DS申请私网IP地址; 步骤C,在IP地址分配成功时,⑶将客户端分配到的IP地址与其MAC地址对应关系更新到分配表中; 步骤D,当接收到客户端发送的认证请求报文时,将该报文进行隧道封装并通过GD与PD之间预先建立的隧道发送至ro ;其中该隧道报文的隧道IP地址为私网IP地址; 步骤E,在收到ro的客户端认证通过通知后,GD在客户端分配表中将该客户端的MAC地址的认证标记修改为认证通过; 步骤F,⑶以DHCP中继的身份代表客户端向DS申请公网IP地址。
2.如权利要求1所述的方法,其特征在于,在步骤A之前还包括: 步骤G,根据管理员指定的ro的私网IP地址,向ro发起隧道连接请求以与ro在私网内建立隧道;其中所述隧道为GRE隧道或其他隧道。
3.如权利要求1所述的方法,其特征在于,所述分配表中保存有该客户端MAC地址与认证标记的对应关系,GD在内部的分配表中检查该客户端的认证标记是否为认证通过具体包括:根据客户端DHCP报文中的MAC地址获取分配表中对应的认证标记并检查该认证标记是否为认证通过的标记。
4.如权利要求1所述的方法,其特征在于,还包括: 步骤H,在接收到客户端访问外部网络的IP报文时,检查该IP报文的目的IP地址是公网IP地址还是私网IP地址,如果是私网IP地址则根据⑶内部的转发表对该IP报文进行转发,如果是公网IP地址,则将该报文进行隧道封装并通过GD与H)之间预先建立的隧道发送至H)。
5.如权利要求1所述的方法,其特征在于,还包括: 步骤I,在接收到ro发送的客户端下线通知时,将分配表中该下线客户端对应的表项清除。
6.一种Portal认证协助装置,应用于网关设备⑶上,该⑶位于Portal客户端与Portal认证设备F1D之间,其中⑶与F1D之间通过私网相连,该装置包括:认证检查单元、地址申请单元、表项更新单元以及报文处理单元,其特征在于: 认证检查单元,用于在客户端通过GD申请IP地址时,在内部的分配表中检查该客户端的认证标记是否为认证通过; 地址申请单元,用于在客户端未通过认证时,以DHCP中继的身份代表客户端向DHCP服务器DS申请私网IP地址;或者用于在客户端通过认证时,以DHCP中继的身份代表客户端向DS申请公网IP地址; 表项更新单元,用于在IP地址分配成功时,将客户端分配到的IP地址与其MAC地址对应关系更新到分配表中;并在收到ro的客户端认证通过通知后,在客户端分配表中将该客户端的MAC地址的认证标记修改为认证通过; 报文处理单元,用于在接收到客户端发送的认证请求报文时,,将该报文进行隧道封装并通过⑶与ro之间预先建立的隧道发送至PD,其中该隧道报文的隧道IP地址为私网IP地址。
7.如权利要求6所述的装置,其特征在于,该装置还包括: 第一隧道处理单元,用于根据管理员指定的ro的私网ip地址,向ro发起隧道连接请求以与H)在私网内建立隧道;其中所述隧道为GRE隧道或其他隧道。
8.如权利要求6所述的装置,其特征在于,所述分配表中保存有该客户端MAC地址与认证标记的对应关系,所述认证检查单元在内部的分配表中检查该客户端的认证标记是否为认证通过具体包括:根据客户端DHCP报文中的MAC地址获取分配表中对应的认证标记并检查该认证标记是否为认证通过的标记。
9.如权利要求6所述的装置,其特征在于,所述报文处理单元具体用于在接收到客户端访问外部网络的IP报文时,检查该IP报文的目的IP地址是公网IP地址还是私网IP地址,如果是私网IP地址则根据⑶内部的转发表对该IP报文进行转发,如果是公网IP地址,将该报文进行隧道封装并通过GD与ro之间预先建立的隧道发送至ro。
10.如权利要求6所述的装置,其特征在于,所述表项更新单元进一步用于在接收到ro发送的客户端下线通知时,将分配表中该下线客户端对应的表项清除。
11.一种Portal认证处理方法,应用于网络中的Portal认证设备F1D上,该网络还包括Portal客户端以及网关设备⑶,其中该⑶位于Portal客户端与H)之间,其中⑶与H)之间通过私网相连,其特征在于,该方法包括以下步骤: 步骤I,在隧道接口将接收到的隧道报文解封装后得到客户端发送的原始IP报文,判断该原始报文的目的IP地址是否为预设的免认证IP地址,如果是则对该IP报文进行NAT处理后转发该IP报文,否则通过隧道接口触发客户端进行Portal认证; 步骤II, PD在确定客户端认证通过时向⑶发送客户端认证通过通知,并向Portal服务器PS发送客户端认证通过通知以通过PS来触发用户重新申请IP地址。
12.如权利要求11所述的方法,其特征在于:还包括: 步骤III,在确定客户端下线时,向⑶以及PS发送对应的客户端下线通知。
13.如权利要求11所述的方法,其特征在于,在步骤I之前还包括: 步骤IV,接收GD发送的隧道连接请求以与GD建立隧道连接;其中所述隧道为GRE隧道或其他隧道。
14.如权利要求11所述的方法,其特征在于,其中H)向GD发送客户端认证通过通知的过程具体包括:根据内部NAT转换记录确定该客户端的私网IP地址,并在该通知中携带该客户端的私网IP地址。
15.一种Portal认证处理装置,应用于网络中的Portal认证设备F1D上,该网络还包括Portal客户端以及网关设备⑶,其中该⑶位于Portal客户端与H)之间,其中⑶与H)之间通过私网相连,该装置包括前置判断单元以及认证处理单元,其特征在于: 前置判断单元,用于在隧道接口将接收到的隧道报文解封装后得到客户端发送的原始IP报文,判断该原始报文的目的IP地址是否为预设的免认证IP地址,如果是则对该IP报文进行NAT处理后转发该IP报文,否则通过隧道接口触发客户端进行Portal认证;认证处理单元,用于在确定客户端认证通过时向⑶发送客户端认证通过通知,并向Portal服务器PS发送客户端认证通过通知以通过PS来触发用户重新申请IP地址。
16.如权利要求15所述的装置,其特征在于:所述认证处理单元进一步用于在确定客户端下线时,向GD以及PS发送对应的客户端下线通知。
17.如权利要求15所述的装置,其特征在于,该装置还包括: 第二隧道处理单元,用于接收GD发送的隧道连接请求以与GD建立隧道连接;其中所述隧道为GRE隧道或其他隧道。
18.如权利要求15所述的装置,其特征在于,其中认证处理单元向⑶发送客户端认证通过通知的过程具体包括:根据内部NAT转换记录确定该客户端的私网IP地址,并在该通知中携带该客户端的私网IP 地址。
【文档编号】H04L9/32GK103532717SQ201310486080
【公开日】2014年1月22日 申请日期:2013年10月16日 优先权日:2013年10月16日
【发明者】刘娟, 高平利, 高勇 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1