以太网点到点协议防止拒绝服务攻击的方法

文档序号:7932558阅读:605来源:国知局
专利名称:以太网点到点协议防止拒绝服务攻击的方法
技术领域
本发明属于数据通信领域,涉及一种宽带接入服务器。
背景技术
以太网上的点到点协议(PPPoE)是比较典型的驻地网用户接入方式,PPPoE是基于以太网点到点的协议,PPPoE接入要求从用户端至会聚点为桥接环境,使宽带接入服务器与用户处于同一个广播域,PPPoE方式的用户流量全部经过宽带接入服务器,用户流量增大后,宽带接入服务器将会成为瓶颈。为了防止拒绝服务(Denial of Service,简称DOS)攻击,宽带接入服务器可以使用接入集中器的标记(TAG),如类型为接入集中器-定制(AC-Cookie)的标记(TAG)。宽带接入服务器应该能够根据PPPoE主动发现请求(PADR)的源地址(SOURCE_ADDR)来重新产生具有唯一性的标记值(TAG_VALUE)。使用这种方法,宽带接入服务器可以确保PPPoE主动发现启动(PADI)的SOURCE_ADDR确实是可到达的,并对该地址的并行会话数进行限制。在RFC2516中,使用什么样的算法并没有指定,留给具体实现细节自由选择。在RFC2516提到一个例子对主机MAC地址使用基于散列的消息验证代码(HMAC)(RFC 2104),在进行HMAC密码散列时,使用的是只有宽带接入服务器知道的密码。对于相同的主机MAC地址会产生相同的HMAC输出。这样对于相同MAC地址发出的多个会话的PPPoE主动发现请求(PADR)和重传的PADR,都会产生相同的HMAC输出,这样宽带接入服务器不能根据PADR的SOURCE_ADDR来重新产生具有唯一性的TAG_VALUE,也不能对该地址的并行会话数进行限制。为了防止DOS攻击,就要求对于相同MAC地址发出的PADR,产生不同的HMAC输出。

发明内容
本发明所要解决的技术问题是,针对宽带接入服务器在提供PPPoE业务时,PPPoE防止拒绝服务(DOS)攻击的方法。
一种以太网点到点协议防止拒绝服务攻击的方法的操作步骤如下步骤一检查PADI包中源MAC地址上的最大会话数目宽带接入服务器接收到主机发送来的PADI后,检查PADI包中源MAC地址上的最大会话数目,若已经到达允许的最大会话数目,则丢弃这个PADI包,否则转入步骤二;
步骤二宽带接入服务器接收到主机发送来的PADI后,生成AC-Cookie,将AC-Cookie打包进PADO(PPPoE主动发现提供)包中,发送给主机;步骤三接收到PADR,检查包中的AC-Cookie有效性检查PADR包中的AC-Cookie是否有效。
步骤四检查PADR包中源MAC地址上的最大会话数目宽带接入服务器接收到主机发送来的PADR后,检查PADR包中源MAC地址上的并发会话数目,若已经到达允许的最大会话数目,则丢弃这个PADR包,否则转入步骤五;步骤五检查PADR是否重传宽带接入服务器根据主机的MAC地址和随机数,或者主机的MAC地址和AC-Cookie,来检查记录的PPPoE会话,判断是否存在相同的会话,若存在则说明这个PADR是重传的,不再生成新会话,而是给主机返回相同会话的会话标识(session_id);步骤六生成新会话宽带接入服务器生成新会话,并将这个主机MAC地址上的会话数目加1,记录的新会话记录中包含主机的MAC地址,随机数或者AC-Cookie。
使用所述以太网点到点协议防止拒绝服务攻击的方法,能够根据PADR的SOURCE_ADDR来重新产生具有唯一性的TAG_VALUE,这样宽带接入服务器就可以确保PADI的SOURCE_ADDR确实是可到达的,并对该地址的并行会话数进行限制,从而防止了PPPoE的DOS攻击,提高了宽带接入服务器在提供PPPoE业务时的安全性。


图1是PPPoE发现阶段的通信流程。
具体实施例方式
在接入服务器上,可以采用这种方法来进行PPPoE防止DOS攻击,接入服务器可以确保PADI的SOURCE_ADDR确实是可到达的,并对该地址的并行会话数进行限制,实现了PPPoE防止DOS攻击,接入服务器可以方便提供PPPoE业务。
实施算法算法的密钥key=主机的MAC地址(6 octets)+主机访问宽带接入服务器的端口号(2 octets)+随机数(8 octets)。
算法的密钥的长度是16字节,八字节的随机数使用强大的基于随机种子的伪随机生成方法,每接收到一个PADI就新生成一个随机数,从而产生一个新的key。
MD5的输出=MD5(算法的密钥key)定义mask(掩码)=0x3636AC-Cookie=MD5的输出+随机数XOR mask其中AC-Cookie的长度是MD5输出的长度(16)。随机数与mask异或后的结果覆盖MD5输出的前八个字节,这个结果作为AC-Cookie。
操作步骤第一步检查PADI包中源MAC地址上的最大会话数目宽带接入服务器接收到主机发送来的PADI后,检查PADI包中源MAC地址上的并发会话数目,若已经到达允许的最大会话数目,则丢弃这个PADI包,否则进行下面的步骤;第二步生成AC-Cookie,并打包进PADO包中宽带接入服务器接收到主机发送来的PADI后,它根据相应的信息生成AC-Cookie,将AC-Cookie打包进PADO包中,发送给主机;1.生成密钥key它根据下面的三项来生成MD5算法的密钥key1)PADI包的源MAC地址,即主机的MAC地址;2)主机访问宽带接入服务器的端口号;3)生成的一个八字节的随机数,每接收到一个PADI就新生成一个随机数。
2.上面生成的密钥作为MD5算法的输入,运行MD5算法,产生MD5输出;3.再将随机数与mask异或后的结果覆盖MD5算法输出的前八个字节,来生成AC-Cookie;4.将AC-Cookie打包进PADO包中,发送给主机;第三步接收到PADR,检查包中的AC-Cookie有效性
1.AC-Cookie是否存在,若存在则通过,否则不通过;2.AC-Cookie的长度是否是16字节,若是16字节则通过,否则不通过;3.提取AC-Cookie的前八个字节,并与mask异或后,得到随机数;4.提取PADR的源MAC地址,得到主机的MAC地址;5.得到主机访问宽带接入服务器的端口号;6.生成密钥key,运行上面的算法,生成AC-Cookie,比较这个AC-Cookie和PADR包中的AC-Cookie是否相等,若相等则通过,否则不通过;第四步检查PADR包中源MAC地址上的最大会话数目宽带接入服务器接收到主机发送来的PADR后,检查PADR包中源MAC地址上的并发会话数目,若已经到达允许的最大会话数目,则丢弃这个PADR包,否则进行下面的步骤;第五步检查PADR是否重传宽带接入服务器根据主机的MAC地址和八字节的随机数来检查记录的PPPoE会话,看看是否存在相同的会话,若存在则说明这个PADR是重传的,不再生成新会话,而是给主机返回相同会话的会话标识(session_id);第六步生成新会话宽带接入服务器生成新会话,并将这个主机MAC地址上的会话数目加一,记录的新会话记录中包含主机的MAC地址和八字节的随机数。
权利要求
1 一种以太网点到点协议防止拒绝服务攻击的方法,包括以下步骤步骤一宽带接入服务器接收到主机发送来的PADI后,检查PADI包中源MAC地址上的最大会话数目,若已经到达允许的最大会话数目,则丢弃这个PADI包,否则转入步骤二;步骤二宽带接入服务器接收到主机发送来的PADI后,生成AC-Cookie,将AC-Cookie打包进PADO包中,发送给主机;步骤三接收到PADR,检查包中的AC-Cookie有效性;步骤四检查PADR包中源MAC地址上的最大会话数目;宽带接入服务器接收到主机发送来的PADR后,检查PADR包中源MAC地址上的并发会话数目,若已经到达允许的最大会话数目,则丢弃这个PADR包,否则转入步骤五;步骤五检查PADR是否重传宽带接入服务器根据主机的MAC地址和随机数,或者主机的MAC地址和AC-Cookie,来检查记录的PPPoE会话,判断是否存在相同的会话,若存在则说明这个PADR是重传的,不再生成新会话,而是给主机返回相同会话的会话标识;步骤六宽带接入服务器生成新会话,并将这个主机MAC地址上的会话数目加1,记录的新会话记录中包含主机的MAC地址,随机数或者AC-Cookie。
2 如权利要求1所述的以太网点到点协议防止拒绝服务攻击的方法,其特征是步骤二中生成AC-Cookie的步骤如下步骤1生成密钥根据下面的三项来生成MD5算法的密钥1)PADI包的源MAC地址,即主机的MAC地址;2)主机访问宽带接入服务器的端口号;3)生成的一个八字节的随机数,每接收到一个PADI就新生成一个随机数;步骤2所述已生成的密钥作为MD5算法的输入,运行MD5算法,产生MD5输出;步骤3再用随机数与mask异或后的结果覆盖MD5算法输出的前八个字节,以此来生成AC-Cookie;步骤4将AC-Cookie打包进PADO包中,发送给主机。
3 如权利要求1或2所述的以太网点到点协议防止拒绝服务攻击的方法,其特征是步骤三接收到PADR,检查包中的AC-Cookie有效性的步骤如下步骤1AC-Cookie是否存在,若存在则通过,否则不通过;步骤2AC-Cookie的长度是否是16字节,若是16字节则通过,否则不通过;步骤3提取AC-Cookie的前八个字节,并与mask异或后,得到随机数;步骤4提取PADR的源MAC地址,得到主机的MAC地址;步骤5得到主机访问宽带接入服务器的端口号;步骤6生成密钥,再生成AC-Cookie,比较这个AC-Cookie和PADR包中的AC-Cookie是否相等,若相等则通过,否则不通过。
全文摘要
本发明公开了一种以太网点到点协议防止拒绝服务攻击的方法,属于数据通信领域,基于PPPoE的AC-Cookie,使用MD5算法的输出作为AC-Cookie的输入,对于接收到的每个PADI,产生一个新的AC-Cookie,用主机的MAC地址和AC-Cookie来唯一识别一个PPPoE,发现阶段会话。采用所述方法,能够根据PADR的SOURCE_ADDR来重新产生具有唯一性的标记值,宽带接入服务器就可以确保PADI的SOURCE_ADDR确实是可到达的,并对该地址的并行会话数进行限制,从而防止了PPPoE的拒绝服务攻击,可用于数据通信网络中。
文档编号H04L12/28GK1494291SQ0214508
公开日2004年5月5日 申请日期2002年11月2日 优先权日2002年11月2日
发明者曹文利 申请人:深圳市中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1