首页> 中国专利> PPPoE会话中的PADT报文交互方法和设备

PPPoE会话中的PADT报文交互方法和设备

摘要

本发明公开了一种PPPoE会话中的PADT报文交互方法和设备,所述方法使作为PADT报文接收端的服务器或客户端能够根据验证标识准确识别接收到的PADT报文是否是由当前PPPoE会话中合法的用户发送的,从而进行终止当前PPPoE会话或丢弃PADT报文的处理。因此,本发明通过PPPoE会话中PADT报文的身份认证,可以有效防止第三方通过恶意构造PADT报文攻击而造成的正常PPPoE会话被非法终止,提高了PPPoE系统的稳定性和安全性。

著录项

  • 公开/公告号CN101547158A

    专利类型发明专利

  • 公开/公告日2009-09-30

    原文格式PDF

  • 申请/专利权人 杭州华三通信技术有限公司;

    申请/专利号CN200910140724.5

  • 发明设计人 罗潇;吴爱慧;

    申请日2009-05-13

  • 分类号H04L12/56(20060101);H04L29/08(20060101);H04L29/06(20060101);

  • 代理机构11297 北京鑫媛睿博知识产权代理有限公司;

  • 代理人龚家骅

  • 地址 310053 浙江省杭州市高新技术产业开发区之江科技工业园六和路310号华为杭州生产基地

  • 入库时间 2023-12-17 22:44:28

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-05-24

    专利权人的姓名或者名称、地址的变更 IPC(主分类):H04L29/06 变更前: 变更后: 申请日:20090513

    专利权人的姓名或者名称、地址的变更

  • 2013-04-10

    授权

    授权

  • 2010-01-06

    实质审查的生效

    实质审查的生效

  • 2009-09-30

    公开

    公开

说明书

技术领域

本发明涉及通信技术领域,特别涉及一种PPPoE会话中的PADT报文交互方法和设备。

背景技术

以太网上点对点协议(PPP over Ethernet,PPPoE)是在以太网络中转播点到点协议(Point to Point Protocol,PPP)帧信息的技术。

PPPoE技术通过把最经济的局域网技术以太网和点对点协议的可扩展性及管理控制(认证)功能结合在一起,使网络服务提供商和电信运营商能够利用可靠和熟悉的技术来加速部署高速互联网业务。

PPPoE技术使服务提供商通过数字用户线、电缆、调制解调器或无线连接等方式,提供支持多用户的宽带接入服务时更加简便易行,同时,该技术亦简化了最终用户动态选择这些服务时的操作。

PPPoE协议包括两个阶段,发现阶段和会话阶段。在发现阶段,当一个客户端的主机希望能够开始一个PPPoE会话时,该主机首先在网络上广播,寻找一个接入服务器。在发现阶段,基于网络的拓扑,主机可以发现多个接入服务器。网络上存在多个接入服务器时,客户主机会根据各个接入服务器所能提供的服务或用户预先的一些配置来进行相应的选择。当客户端的主机确定了所需要的接入服务器后,就开始和接入服务器建立一个PPPoE会话进程,在该进程中,客户端的主机识别对端的以太网介质访问控制子层协议(MediaAccess Control,MAC)地址,并建立一个唯一的PPPoE会话的会话标识(SESSION_ID),从而,在该主机和被选择的接入服务器之间创建一个PPPoE会话。

会话建立起来后就进入了PPPoE的会话阶段,在这个阶段中已建立好点对点连接的双方(这种点对点的结构与PPP不一样,是一种逻辑上的点对点关系)就采用PPP协议来交换数据报文,进行网络层数据报的传送。

PPPoE两个阶段的报文交互过程示意图如图1所示。具体的报文包括:

PPPoE发现阶段的第一个报文——PPPoE会话主动发现初始报文(PPPoEActive Discovery Initiation,PADI),由客户端发送;

PPPoE发现阶段的第二个报文——PPPoE会话主动发现邀请报文(PPPoEActive Discovery Offer,PADO),由服务器发送;

PPPoE发现阶段的第三个报文——PPPoE会话主动发现请求报文(PPPoEActive Discovery Request,PADR),由客户端发送;

PPPoE发现阶段的第四个报文——PPPoE会话主动发现会话确认报文(PPPoE Active Discovery Session-confirmation,PADS),由服务器发送。

除了图1中描述的发现阶段和会话阶段中的报文外,PPPoE会话中还存在一个PADT报文,即PPPoE会话主动发现会话终止报文(The PPPoE ActiveDiscovery Termination),用于终止PPPoE会话,由任意端发送。

在协议中定义的PADT报文没有定义TAG字段,PADT报文可由客户端或者服务器端在任何时间发出,任何一端收到合法PADT报文后立即终止PPPoE会话,PADT报文的帧结构示意图如图2所示。

在实现本发明的过程中,发明人发现现有技术至少存在以下问题:

由于已经建立会话的任何一方在接收到PADT报文后,只要PADT字段合法,都会立即终止会话。从图2所示的PADT报文的格式中可以看到,任何一个字段都是很容易被第三方获取和伪造的。因此,可能存在的一种攻击风险就是非法用户(第三方)伪造PADT报文进行攻击,即冒充客户端或者服务器中任何一方向对端发送PADT报文,从而导致收到PADT报文的一方终止PPPoE会话,使得客户端与服务器间正常的PPPoE会话被恶意终止,从而破坏客户端与服务器的正常连接,导致服务器无法向合法用户提供正常的服务。

发明内容

本发明提供一种PPPoE会话中的PADT报文交互方法和设备,以实现作为PADT报文接收端的服务器或客户端能够根据验证标识准确识别接收到的PADT报文是否是由当前PPPoE会话中合法的用户发送的,从而进行终止当前PPPoE会话或丢弃PADT报文的处理。

为达到上述目的,本发明一方面提供了一种PPPoE会话中的PADT报文交互方法,应用于包括一个第一端和一个第二端的PPPoE会话系统中,所述方法包括:

所述第一端向所述第二段发送包含扩展标识的PPPoE会话报文;

所述第二端根据所述扩展标识,按照预设规则进行PPPoE会话的功能协商或所述PPPoE会话报文的合法性判断,并根据所述判断结果进行后续的报文交互。

优选的,当所述第一端具体为客户端,所述第二端具体为服务器时,所述PPPoE会话的功能协商具体为PADT报文发送端和PADT报文接收端在PPPoE会话的发现阶段进行验证标识认证能力协商,具体包括:

所述服务器接收所述客户端发送的包含协商标识的报文;

所述服务器根据所述协商标识,判断发送所述报文的客户端是否具有验证标识认证能力;

如果所述客户端具有验证标识认证能力,所述服务器向所述客户端发送包含挑战码的报文;如果所述客户端不具有验证标识认证能力,所述服务器向所述客户端发送没有包含挑战码的报文;

如果所述客户端接收到包含挑战码的报文,所述客户端保存所述挑战码,所述验证标识认证能力协商成功;如果所述客户端接收到没有包含挑战码的报文,所述验证标识认证能力协商失败。

优选的,所述挑战码具体为一个随机生成的序列。

优选的,如果所述验证标识认证能力协商成功,所述服务器与所述客户端根据预设策略生成验证标识,具体为:

所述服务器与所述客户端通过预设算法,根据密钥信息和所述挑战码生成验证标识;或,

所述服务器与所述客户端通过预设算法,根据密钥信息、所述挑战码和验证材料生成所述验证标识;

其中,所述密钥信息,具体为所述服务器与所述客户端通过带外方式共享的信息;所述验证材料,具体为所述服务器与所述客户端在所述PPPoE会话的发现阶段进行验证标识认证能力协商的同时通过报文交换的信息。

优选的,所述验证材料,具体为:

所述服务器与所述客户端之间的会话标识;和/或,

所述服务器与所述客户端的MAC地址。

优选的,当所述第一端具体为一个PADT报文发送端,所述第二端具体为一个PADT报文接收端时,所述PPPoE会话报文的合法性判断过程具体包括:

PADT报文发送端构造包含验证标识的PADT报文,发送给PADT报文接收端;

所述PADT报文接收端判断接收到的所述PADT报文中是否包含验证标识;

如果所述PADT报文中包含验证标识,所述PADT报文接收端判断接收到的所述验证标识与自身的验证标识是否一致;

如果所述PADT报文接收端判断接收到的所述验证标识与自身的验证标识一致,所述PADT报文接收端结束与所述PADT报文发送端之间的PPPoE会话。

优选的,所述PADT报文发送端构造包含验证标识的PADT报文之前,还包括:

所述PADT报文发送端和所述PADT报文接收端在所述PPPoE会话的发现阶段进行验证标识认证能力协商;

如果所述验证标识认证能力协商成功,所述PADT报文发送端和所述PADT报文接收端根据预设策略生成验证标识。

优选的,所述方法还包括:

如果所述PADT报文中没有包含验证标识,所述PADT报文接收端丢弃所述PADT报文。

优选的,所述扩展标识,具体为:

以标识TAG形式携带于所述PPPoE会话报文中的信息。

另一方面,本发明还提供了一种通信设备,应用于包括一个PADT报文发送端和一个PADT报文接收端的PPPoE会话系统中,所述通信设备在所述系统中具体为PADT报文发送端或PADT报文接收端,包括:

生成模块,用于在所述PPPoE会话系统中的对端设备具有验证标识认证能力时,根据预设策略生成验证标识;

发送模块,与所述生成模块电性连接,至少用于当所述通信设备在所述系统中充当PADT报文发送端时,向对端设备发送包含所述验证标识的PADT报文;

接收模块,至少用于当所述通信设备在所述系统中充当PADT报文接收端时,接收对端设备发送的PADT报文,并判断所述PADT报文中是否包含验证标识;

识别模块,与所述生成模块和所述接收模块电性连接,至少用于当所述接收模块判断所述PADT报文中包含验证标识时,识别所述PADT报文中所包含的验证标识与所述生成模块所生成的验证标识是否一致;

处理模块,与所述识别模块电性连接,至少用于在所述识别模块识别所述PADT报文中所包含的验证标识与所述生成模块所生成的验证标识一致时,结束所述通信设备与所述对端设备之间的PPPoE会话。

优选的,当所述通信设备具体为服务器时,

所述接收模块,还用于在所述PPPoE会话的发现阶段接收客户端发送的包含协商标识的报文;

所述识别模块,还用于根据所述接收模块所接收的报文中包含的协商标识识别所述客户端是否具有验证标识认证能力;

所述发送模块,还用于在所述识别模块根据所述协商标识识别所述客户端具有验证标识认证能力时,向所述客户端发送包含挑战码的报文。

优选的,当所述通信设备具体为客户端时,

所述发送模块,还用于在所述PPPoE会话的发现阶段向服务器发送包含协商标识的报文;

所述接收模块,还用于在所述发送模块向所述服务器发送包含协商标识的报文之后,接收所述服务器返回的报文;

所述识别模块,还用于判断所述接收模块接收到的所述报文中是否包含挑战码;

所述处理模块,还用于保存所述识别模块所识别出的挑战码。

优选的,所述生成模块通过预设算法,根据密钥信息和所述挑战码生成验证标识;或,

所述生成模块通过预设算法,根据密钥信息、所述挑战码和验证材料生成所述验证标识;

其中,所述密钥信息,具体为所述服务器与所述客户端通过带外方式共享的信息;所述验证材料,具体为所述服务器与所述客户端在所述PPPoE会话的发现阶段进行验证标识认证能力协商的同时通过报文交换的信息。

优选的,所述处理模块,还用于在所述识别模块识别所述PADT报文中所包含的验证标识与所述生成模块所生成的验证标识不一致时,丢弃所述PADT报文。

与现有技术相比,本发明具有以下优点:

通过本发明,作为PADT报文接收端的服务器或客户端能够根据验证标识准确识别接收到的PADT报文是否是由当前PPPoE会话中合法的用户发送的,从而进行终止当前PPPoE会话或丢弃PADT报文的处理。因此,本发明通过PPPoE会话中PADT报文的身份认证,可以有效防止第三方通过恶意构造PADT报文攻击而造成的正常PPPoE会话被非法终止,提高了PPPoE系统的稳定性和安全性。

附图说明

图1为现有技术的PPPoE两个阶段的报文交互过程示意图;

图2为现有技术的PADT报文的帧结构示意图;

图3为本发明提供的一种PPPoE会话中的PADT报文交互方法的流程示意图;

图4为本发明提供的一种PPPoE会话中的PADT报文交互方法的流程示意图;

图5为本发明提供的一种PPPoE会话中的PADT报文交互方法的流程示意图;

图6为本发明提供的一种通信设备的结构示意图。

具体实施方式

如背景技术所述,现有的PPPoE会话中的PADT报文没有明显的发送端身份标识,容易被第三方恶意伪造,从而攻击合法PPPoE会话,造成PPPoE会话非正常中断。为了弥补这样的不足,本发明通过在PPPoE会话的PADT报文中携带可以验证PADT发送端合法身份的验证标识,使得PADT报文的接收端可以根据验证标识识别该PADT报文是否合法,并进行相应处理,从而有效防止第三方通过恶意构造PADT报文攻击PPPoE会话而造成的正常PPPoE会话被非法终止的情况。

为了实现上述目的,本发明提出了一种PPPoE会话中的PADT报文交互方法,应用于包括一个第一端和一个第二端的PPPoE会话系统中,如图3所示,包括以下步骤:

步骤S301、第一端向第二段发送包含扩展标识的PPPoE会话报文。

其中,扩展标识具体是以TAG形式携带于PPPoE会话报文中的信息。

根据扩展标识的具体内容不同,上述PPPoE会话报文在本方法中的作用也会产生差别:

当该PPPoE会话报文具体为PADT报文时,该扩展标识具体为验证标识,用于验证PADT发送端的合法身份;

当该PPPoE会话报文具体为PADR报文时,该扩展标识具体为协商标识,用于对PPPoE的双方进行认证能力协商。

需要指出的是,在实际的应用场景中,上述扩展标识的内容可以进一步发生变化,从而使PPPoE会话报文具有其他的功能,在基于本发明技术思想上所作出的相应变化,同样属于本发明的保护范围。

步骤S302、第二端根据该扩展标识,按照预设规则进行PPPoE会话的功能协商或PPPoE会话报文的合法性判断,并根据所述判断结果进行后续的报文交互。

在本发明的技术方案中,关注的重点在于PADT报文的合法性验证,以及PPPoE会话双方的验证能力协商,并对现有PPPoE会话的实现流程进行了相应的改进,所以,下面结合具体的实施场景对本发明的技术方案进行说明。

本发明所提出的技术方案具体应用于包括一个PADT报文发送端和一个PADT报文接收端的PPPoE会话系统中。由于服务器和客户端都可以在PPPoE会话过程中的任意时刻向对端发送PADT报文,或从对端接收PADT报文,所以,在实际应用中,PADT报文发送端和PADT报文接收端可以是上述的服务器,也可以是客户端,这样的物理实体的变化,并不影响本发明的保护范围。

本发明实施例的以下说明中直接通过PADT报文发送端和PADT报文接收端的角度对技术方案进行说明。

具体的流程示意图如图4所示,该方法具体包括以下步骤:

步骤S401、PADT报文发送端构造包含验证标识的PADT报文,发送给PADT报文接收端。

其中,在PADT报文发送端构造包含验证标识的PADT报文之前,本发明所提出的技术方案还包括以下两个流程:

流程一、作为PADT报文发送端和PADT报文接收端的服务器与客户端在PPPoE会话的发现阶段进行验证标识认证能力协商。

在实际的应用场景中,具体的验证标识认证能力协商流程通过以下步骤来实现:

(1)服务器接收客户端发送的包含协商标识的报文。

由于本步骤是在PPPoE会话的发现阶段进行的,所以,可以通过现有的发现阶段报文来实现,例如,通过PADR报文携带相应的协商标识发送给服务器。

具体的,上述的协商标识可以是在PADR报文中添加的一个TAG,用于标识该发起PPPoE连接的客户端是否支持PADT身份认证能力,即上述的验证标识认证能力。

(2)服务器根据协商标识判断发送报文的客户端是否具有验证标识认证能力。

在具体的应用中,上述作为协商标识的TAG是一个携带在PPPoE报文中的信息,一般是TLV(Type-Length-Value,类型-长度-数值)结构,不同类型的TAG携带的信息具有不同的含义,在本实施例中,如果客户端具有验证标识认证能力,则上述的PADR报文中携带一个TAG,该TAG的Type字段中的内容标识该TAG是协商标识。在具体的应用场景中,上述TAG的Value字段还可以进一步携带相应的说明信息,这样的变化,并不影响本发明的保护范围。

需要指出的是,在实际应用场景中,上述TAG所携带的信息内还可以是字符、字符串或者其他能够表示相应内容的标识,这样的变化同样属于本发明的保护范围。

在此种情况下,服务器需要识别该TAG中的具体内容,从而判断相应的客户端是否具有验证标识认证能力。

(3)服务器根据客户端是否具有验证标识识别能力的判断结果,向客户端返回相应的报文。

如果服务器根据协商标识判断客户端具有验证标识认证能力,服务器向客户端发送包含挑战码的报文,其中的挑战码是一个随机生成的序列(即可以是字符或字符组合),只有发生验证标识认证能力协商的服务器和客户端可以通过报文交互来获知该数值;

相反,如果服务器根据协商标识判断客户端不具有验证标识认证能力,服务器向客户端发送没有包含挑战码的报文,这种情况下的流程与现有技术相一致。

(4)客户端根据接收到的报文中是否含有挑战码,确认验证标识认证能力协商是否成功。

如果客户端接收到服务器返回的包含挑战码的报文,客户端保存该挑战码,验证标识认证能力协商成功;

如果客户端接收到服务器返回的没有包含挑战码的报文,则验证标识认证能力协商失败。

需要说明的是,在具体的应用场景中,服务器与客户端在PPPoE会话的发现阶段进行验证标识认证能力协商的同时,服务器与客户端还可以通过报文交换生成验证标识的其他材料,包括服务器与客户端之间会话的会话标识,设备MAC地址等,这同样属于本发明的保护范围。

流程二、验证标识的生成流程。

如果上述验证标识认证能力协商成功,即客户端与服务器均具有验证标识认证能力,则服务器与客户端根据预设策略生成验证标识。

在具体的应用场景中,本流程具体为服务器与客户端通过预设算法,根据以下信息生成验证标识:

服务器与客户端通过带外方式共享的密钥信息,这样的信息除了服务器和客户端外不能被第三方获取;

上述通过报文获取的挑战码,如前所述,该挑战码为随机生成的序列,只有发生验证标识认证能力协商的服务器和客户端可以通过报文交互来获知;

服务器与客户端通过报文交换的生成验证标识的验证材料,如前所述,在PPPoE会话的报文交互过程中通过报文来获得的其他验证材料信息。

需要指出的是,在实际应用中,生成验证标识的材料具体可以只使用上述的密钥信息和挑战码,也可以进一步使用一种或几种上述通过报文来获得的其他验证材料信息,并且,如果能够提高验证标识的识别度,还可以进一步使用其它能够标识PADT报文发送端设备身份的信息,这样的变化同样属于本发明的保护范围。

步骤S402、PADT报文接收端判断接收到的PADT报文中是否包含验证标识。

在本步骤中,PADT报文接收端对接收到的PADT报文进行识别,判断其中是否包含验证标识。

如果PADT报文中包含验证标识,转入步骤S403;

如果PADT报文中没有包含验证标识,转入步骤S404。

步骤S403、PADT报文接收端判断接收到的验证标识与自身的验证标识是否一致。

如前述步骤S401,在服务器和客户端之间的验证标识认证能力协商成功之后,服务器和相应的客户端可以分别根据预设策略生成验证标识。在本步骤中,作为PADT报文接收端的服务器或者客户端就将接收到的PADT报文中所包含的验证标识与自身生成的验证标识进行匹配,由于对于同一个PPPoE会话的两端,用于生成验证标识的信息材料是相同的,所以如果PADT报文是由合法的PPPoE会话设备发送的,验证标识的匹配结构应该是两者一致,否则,接收到的PADT报文中所包含的验证标识与自身生成的验证标识就会存在差异,通过这样的验证标识匹配,作为PADT报文接收端的PPPoE会话中的服务器或者客户端就可以判断出所接收的PADT报文是否合法,从而进行相应的处理。

如果PADT报文接收端判断接收到的验证标识与自身的验证标识一致,转入步骤S405;

如果PADT报文接收端判断接收到的验证标识与自身的验证标识不一致,转入步骤S404。

步骤S404、PADT报文接收端丢弃该PADT报文。

由于PADT报文接收端判断接收到的验证标识与自身的验证标识不一致或者PADT报文中不包含验证标识,PADT报文接收端可以判定接收到的PADT报文不是由合法的PPPoE会话用户发送的,因此,存在攻击风险,PADT报文接收端直接将该PADT报文做丢弃处理。

步骤S405、PADT报文接收端结束与PADT报文发送端之间的PPPoE会话。

由于PADT报文接收端判断接收到的验证标识与自身的验证标识一致,可以判定接收到的PADT报文是由合法的PPPoE会话用户发送的,因此,该PADT报文安全,是合法用户希望终止当前PPPoE会话而发出的指示,PADT报文接收端结束与PADT报文发送端之间的PPPoE会话。

通过本发明,作为PADT报文接收端的服务器或客户端能够根据验证标识准确识别接收到的PADT报文是否是由当前PPPoE会话中合法的用户发送的,从而进行终止当前PPPoE会话或丢弃PADT报文的处理。因此,本发明通过PPPoE会话中PADT报文的身份认证,可以有效防止第三方通过恶意构造PADT报文攻击而造成的正常PPPoE会话被非法终止,提高了PPPoE系统的稳定性和安全性。

下面,进一步结合具体的应用场景,对上述的技术方案进行说明,具体流程如图5所示。

在本实施例中,为了方便说明,选用具体的PPPoE会话报文说明本技术方案中各种标识的携带方式,并且,将前述的识别标识具体化为指纹认证信息,以此来对上述技术方案的实现流程进行详细描述。

相应的,本发明所提出的技术方案可以进一步描述为PPPoE的会话端通过在PADT报文中携带指纹认证信息,来保证发送该报文的设备的身份的合法性,达到该目的,本发明对现有的PPPoE会话的流程进行了改进:

首先,是对PPPoE会话的发现阶段的协商过程进行改进,在现有的PPPoE会话的发现阶段进行报文交互的基础上进行PADT身份认证能力协商。

由于PADT报文可以由PPPoE会话的客户端(host)发起,也可以由PPPoE会话的接入服务器(Access Concentrator)发起。因此,发起携带有上述指纹认证信息的PADT报文的一方需要知道对方是否能够支持该身份认证的能力。同时,为了生成上述的指纹认证信息,PPPoE会话的两端还可以在能力协商的同时交换生成指纹认证信息的材料。具体的方案如下:

步骤S501、客户端在PPPoE会话的发现阶段向服务器发送包含协商标识的PADR报文。

在原有PPPoE会话的发现流程的基础上,在PADR报文中增加一个协商标识(TAG),用于标识该发起PPPoE会话连接的客户端是否支持PADT身份认证能力。

如前一实施例所述,在具体的应用场景中,上述作为协商标识的TAG是一个携带在PPPoE报文中的信息,一般是TLV结构,不同类型的TAG携带的信息具有不同的含义,在本实施例中,如果客户端具有验证标识认证能力,则上述的PADR报文中携带一个TAG,该TAG的Type字段中的内容标识该TAG是协商标识。

在实际应用场景中,上述TAG所携带的信息内容可以是字符、字符串或者其他能够表示相应内容的标识,这样的变化同样属于本发明的保护范围。

步骤S502、服务器向发送含有协商标识的PADR报文的客户端返回包含挑战码的PADS报文。

PPPoE会话的服务器识别各客户端所发送的PADR报文中是否含有标识客户端具有身份认证能力的TAG。

如果服务器所接收到的PADR报文中含有标识该客户端具有身份认证能力的TAG时,如果服务器同样支持该能力,那么服务器在后续PADS回应报文中也携带一个包含挑战码的TAG;否则,如果服务器不支持该能力,或者服务器所接收到的PADR报文中含有的TAG标识该客户端不具有身份认证能力时,根据原有的协议规定,将忽略该TAG,回应一个普通的PADS报文,在该报文中并不含有包含挑战码的TAG。

步骤S503、客户端接收包含挑战码的PADS报文,保存该挑战码。

如果发起PPPoE协商的客户端接收到包含挑战码TAG的PADS报文,则证明服务器和客户端都支持PADT身份验证能力,上述的身份认证能力协商成功,客户端保存该TAG中的挑战码,转入步骤S504;相反,则上述的身份认证能力协商失败,后续的PPPoE会话按照现有的流程进行,本实施例中不再重复叙述。

步骤S504、服务器和客户端按照预设策略生成指纹认证信息。

支持PADT身份认证能力的任何一方要发送PADT报文,必须在PADT报文后增加一个包含身份认证指纹的TAG。因此,在触发PADT报文发送流程之前,服务器和客户端都需要生成指纹认证信息。

为了方便说明,本发明实施例按照以下指纹认证信息的生成流程进行说明。具体的指纹生成方法如下:

fingerprint=HASH(preshared-key,challenge-code,SESSION_ID)

其中,preshared-key,是通过带外方式由协商双方(即服务器和客户端)共享的密钥信息,不在网络上进行传输;

challenge-code,是由能力协商的双方在前述的的步骤S502和步骤S503中通过PADS报文传输的挑战码信息,挑战码的数值在这里是一个随机数,必须具有足够好的随机性;

SESSION_ID,是标识PPPoE一个会话的标识符,同样由能力协商的双方在前述的的步骤S502和步骤S503中通过PADS报文中的SESSION_ID字段进行传输的。

需要指出的是,在具体的指纹生成算法中,上述的指纹算法仅给出了一个计算的典型方案举例,本发明所提出的技术方案并不局限于上述给出的指纹认证信息的生成方法。

在具体应用场景中,可以根据实际情况选择合适的指纹认证信息计算的材料,但需要保证通过该材料所生成的指纹具有足够的唯一性和不可伪造性。

一般情况下,指纹认证信息计算的材料包含两类:

一类是由PPPoE会话双方通过带外方式共享的密钥信息,该密钥信息不能被第三方获取,如上述的preshared-key字段所对应的信息。

另一类是通过PPPoE会话的双方通过报文交互而获得用于保证指纹认证信息唯一性的材料信息,例如,上述的challenge-code字段所对应的挑战码信息和上述的SESSION_ID字段所对应的会话ID,当然,也可以进一步包含其他信息,例如PPPoE会话的双方的MAC地址等。

在实际的指纹认证信息的计算过程中,上述的密钥信息和挑战码信息是必须作为计算材料的。而在此基础上,进一步选用一种或几种其他信息用于指纹认证信息的计算,并不影响本发明的保护范围。

同样,基于本发明技术思路所选用的能够保证指纹具有足够的唯一性和不可伪造性的计算材料同样属于本发明的保护范围。

进一步的,在对于指纹认证信息算法的选择上,本发明的技术方案并没有特殊要求,但是需要该算法计算效率高,并且有良好的抗攻击性,例如,MD5。

步骤S505、服务器或者客户端作为PADT报文发送端发起PADT报文流程,发送包含指纹认证信息的PADT报文。

步骤S506、PADT报文接收端判断接收到的PADT报文中是否包含指纹认证信息。

支持PADT身份认证能力的任何一方接收到PADT报文后,首先检查该PADT报文中是否包含指纹认证信息的TAG。

如果PADT报文中没有包含该指纹认证信息,转入步骤S507;

如果PADT报文中包含该指纹认证信息,转入步骤S508。

步骤S507、PADT报文接收端直接丢弃该报文,不进行后续处理。

对于PADT报文不包含上述指纹认证信息,或所包含的指纹认证信息以及PADT报文接收端所生成的指纹认证信息不相同的情况,存在PADT报文的发送端不是合法的PPPoE会话用户的风险,为了避免这样的风险,PADT报文接收端对这种情况下的PADT报文直接做丢弃处理。

步骤S508、PADT报文接收端对PADT报文中的指纹认证信息进行合法性检查。

如果对PADT报文中的指纹认证信息验证通过,则按照正常PADT报文原有的处理流程处理,转入步骤S509;

如果对PADT报文中的指纹认证信息验证不通过,则转入步骤S507。

具体的合法性检查步骤是作为PADT报文接收端的服务器或者客户端将接收到的PADT报文中所包含的指纹认证信息与自身生成的指纹认证信息进行匹配,如果两个指纹认证信息一致,则验证通过;如果两个指纹认证信息不一致,则验证不通过。

步骤S509、PADT报文接收端结束与PADT报文发送端之间的PPPoE会话。

需要进一步指出的是,在上述的指纹认证信息的验证流程中,由于指纹认证信息的使用在一次PPPoE会话连接中只有一次有效,因此PPPoE会话的设备在PADT身份认证能力协商流程的步骤S502中发送挑战码TAG完成或者步骤S503的PADT身份认证能力协商成功之后就将指纹计算出来,而在指纹认证信息的验证过程中不再进行指纹认证信息的计算,而是直接进行指纹比较即可,这样可以提高处理效率,有效防止针对该计算的DoS攻击。

但是,在实际的应用场景中,也可以存在PADT报文接收端接收到PADT报文后才开始指纹认证信息计算,并将计算完成的指纹认证信息与PADT报文中的指纹认证信息相匹配的情况,相比上述的优先进行指纹认证信息极端的方案,接收到PADT报文才开始指纹认证信息计算的方案的响应效率上会略有降低,但由于这样的方案只是在接收到PADT报文才开始指纹认证信息的计算,所以,如果没有接收到指纹认证信息或者接受的PADT报文中不含有指纹认证信息时,本方案可以节约一定的系统资源,因此,这样的情况同样属于本发明的保护范围。

进一步需要指出的是,本技术方案是通过在PPPoE报文中增加TAG来实现的。而根据现有的协议规范,PPPoE会话的任何一方接收到包含未知TAG的PPPoE报文时,都要忽略该TAG,因此,基于这个规范,上述技术方案实现能够完全兼容目前已经存在的PPPoE客户端和服务器实现。

另外,对于技术方案中增加的TAG,由于在协议中没有定义,因此,可以将这些私有TAG承载在Vendor-Specific类型的TAG数据部分,当然也可以直接定义新的TAG类型,本方案并不局限于某一种方式,具体实现方式的变化并不影响本发明的保护范围。

通过本发明,作为PADT报文接收端的服务器或客户端能够根据验证标识准确识别接收到的PADT报文是否是由当前PPPoE会话中合法的用户发送的,从而进行终止当前PPPoE会话或丢弃PADT报文的处理。因此,本发明通过PPPoE会话中PADT报文的身份认证,可以有效防止第三方通过恶意构造PADT报文攻击而造成的正常PPPoE会话被非法终止,提高了PPPoE系统的稳定性和安全性。

为了实现上述的技术方案,本发明进一步提供了相应的设备方案,具体的,本发明结合具体的应用场景,在后续实施例中对相应的设备方案进行说明。

如图6所示,为本发明提供的一种通信设备的结构示意图,该通信设备应用于包括一个PADT报文发送端和一个PADT报文接收端的PPPoE会话系统中,其中,通信设备在该PPPoE会话系统中具体为PADT报文发送端或PADT报文接收端,该通信设备具体包括以下模块:

生成模块61,用于在该PPPoE会话系统中的对端设备具有验证标识认证能力时,根据预设策略生成验证标识。

具体的,在该PPPoE会话系统中,上述通信设备的物理实质具体为服务器或者客户端。

在具体的实施场景中,生成模块61通过预设算法,根据密钥信息和挑战码生成验证标识;或,

生成模块61通过预设算法,根据密钥信息、挑战码和验证材料生成验证标识;

其中,密钥信息具体为服务器与客户端通过带外方式共享的信息;验证材料具体为服务器与客户端在PPPoE会话的发现阶段进行验证标识认证能力协商的同时通过报文交换的信息。

发送模块62,与生成模块61电性连接,至少用于当该通信设备在系统中充当PADT报文发送端时,向对端设备发送包含验证标识的PADT报文;

接收模块63,至少用于当该通信设备在系统中充当PADT报文接收端时,接收对端设备发送的PADT报文,并判断PADT报文中是否包含验证标识;

识别模块64,与生成模块61和接收模块63电性连接,至少用于当接收模块63判断PADT报文中包含验证标识时,识别PADT报文中所包含的验证标识与生成模块61所生成的验证标识是否一致;

处理模块65,与识别模块64电性连接,至少用于在识别模块64识别PADT报文中所包含的验证标识与生成模块61所生成的验证标识一致时,结束该通信设备与对端设备之间的PPPoE会话。

在具体的实施场景中,基于上述实施例所提出的验证标识认证能力协商流程,当上述通信设备具体为该PPPoE会话系统中的服务器时,通信设备中的各模块进一步还包含以下功能:

接收模块63,还用于在PPPoE会话的发现阶段接收客户端发送的包含协商标识的报文;

识别模块64,还用于根据接收模块63所接收的报文中包含的协商标识识别客户端是否具有验证标识认证能力;

发送模块62,还用于在识别模块63根据协商标识识别客户端具有验证标识认证能力时,向客户端发送包含挑战码的报文。

在具体的实施场景中,基于上述实施例所提出的验证标识认证能力协商流程,当上述通信设备具体为该PPPoE会话系统中的客户端时,通信设备中的各模块进一步还包含以下功能:

发送模块62,还用于在PPPoE会话的发现阶段向服务器发送包含协商标识的报文;

接收模块63,还用于在发送模块62向服务器发送包含协商标识的报文之后,接收该服务器返回的报文;

识别模块64,还用于判断接收模块63接收到的报文中是否包含挑战码;

处理模块65,还用于保存识别模块64所识别出的挑战码。

另外,在验证标识认证的过程中,处理模块65还用于在识别模块64识别PADT报文中所包含的验证标识与生成模块61所生成的验证标识不一致时,丢弃该PADT报文。

上述模块可以分布于一个装置,也可以分布于多个装置。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。

本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本发明所必须的。

本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。

上述本发明序号仅仅为了描述,不代表实施场景的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施场景所述的方法。

以上公开的仅为本发明的几个具体实施场景,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号