CN102065067A - 一种在门户服务器和客户端之间防重放攻击的方法及设备 - Google Patents
一种在门户服务器和客户端之间防重放攻击的方法及设备 Download PDFInfo
- Publication number
- CN102065067A CN102065067A CN2009102375275A CN200910237527A CN102065067A CN 102065067 A CN102065067 A CN 102065067A CN 2009102375275 A CN2009102375275 A CN 2009102375275A CN 200910237527 A CN200910237527 A CN 200910237527A CN 102065067 A CN102065067 A CN 102065067A
- Authority
- CN
- China
- Prior art keywords
- production line
- sequence number
- portal
- rolls
- request message
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供了一种在门户服务器和客户端之间防重放攻击的方法及设备。本发明通过Portal服务器为客户端分配对应的序列号,例如用户序列号或下线序列号,并在下线认证过程中利用该序列号来检测重放报文,从而能够有效地防止下线请求报文的重放攻击,提高Portal认证***的安全性。
Description
技术领域
本发明涉及安全认证技术领域,具体涉及一种在门户(Portal)Portal服务器和Portal客户端之间防重放攻击的方法及设备。
背景技术
Portal认证通常也称为Web认证,即通过网页(Web)方式进行用户认证。一般将Portal认证网站称为门户网站。Portal认证协议主要应用于基于WEB的宽带接入认证***中,完成用户的认证和授权。未认证用户上网时,设备强制用户登录到特定站点,用户可以免费访问其中的服务。当用户需要使用互联网中的其它信息时,必须在门户网站进行认证,只有认证通过后用户才可以使用互联网资源。
整个Portal认证过程涉及到了认证Portal客户端(Portal Client)、认证服务器(Portal Server)、宽带接入服务器(BAS,Broad Access Server)和认证授权与计费(AAA,Authentication Authorization Accounting)服务器。认证主要通过在Portal Server和BAS之间的协议交互,协议采用非严格意义上的客户端/服务器(Client/Server)结构,大部分消息采用请求/响应(Request/Response)方式进行交互。
目前,Portal客户端主动要求下线的处理流程如图1所示。在Portal客户端主动要求下线的过程中,Portal客户端会先主动向Portal服务器发送下线请求报文(LOGOUT_REQUEST(0x66)),其中该下线请求报文中的认证(Authenticator)字段是对该下线请求报文中的部分字段和Portal客户端的预置共享密钥进行信息-摘要算法5(MD5,Message-Digest algorithm 5)摘要计算而得出的。当Portal服务器收到上述下线请求报文后,就会根据这个请求报文中的部分字段和Portal服务器的预置共享密钥进行MD5摘要计算得到一个值,并和Portal客户端的Authenticator字段的值进行比较,如果相同,就认为报文是合法的,执行与BAS的交互,最后向Portal客户端返回下线回应报文;否则就认为报文错误,可以简单丢弃,并进行对丢弃报文的统计。上述处理过程是Portal服务器对于Portal客户端的一个认证过程。为了完成这个认证过程,要求Portal服务器和Portal客户端两端需要配置相同的预置共享密钥(Secret),并且双方都是采用相同的加密算法(如RFC1321中描述的MD5的加密算法),同时接收方为了验证所接收到的报文的正确性,必须采用和发送方完全一样的计算过程,即对预定的字段进行加密计算。
现有技术的Portal客户端下线实现方式存在中间人重放攻击的安全问题。如果在Portal客户端和Portal服务器之间有中间人攻击者,它监听到Portal客户端向Portal服务器发送的某一次的主动下线请求报文后,把这个报文保存下来。当该Portal客户端再次通过认证,正常上线的时候,中间人攻击者突然向Portal服务器重放该报文,将会导致Portal服务器把该Portal客户端踢下线。如果中间人攻击者保存了Portal客户端的大量不同Portal客户端的主动下线请求报文,并不定期的进行故意重放,就会导致发生大量Portal客户端非正常掉线的情况,进而还可以衍生出其他的攻击行为,如:会话劫持,主机间信任关系窃取等。
发明内容
本发明所要解决的技术问题是提供一种在Portal服务器和Portal客户端之间防重放攻击的方法及设备,有效地防止下线请求报文的重放攻击,提高Portal认证***的安全性。
为解决上述技术问题,本发明提供方案如下:
一种在Portal服务器和Portal客户端之间防重放攻击的方法,包括:
步骤A,Portal服务器接收到针对第一Portal客户端的下线请求报文,所述下线请求报文中包括有第一验证字、第一用户序列号和第一Portal客户端的第一IP地址;
步骤B,Portal服务器在本地保存的对应关系表中查找所述第一IP地址对应的第二用户序列号,并判断第一、第二用户序列号是否相同:若是,则进入步骤C,否则丢弃所述下线请求报文并结束流程;其中,所述对应关系表中保存有所述Portal服务器为各个在线Portal客户端分配的IP地址与用户序列号之间的对应关系,并且任一Portal客户端在任意两次上线后被分配到同一用户序列号的概率不大于预定值;
步骤C,Portal服务器根据预定摘要算法,对预置共享密钥和所述下线请求报文中的预定字段进行摘要计算,得到第二验证字,并判断第一、第二验证字是否相同:若是,则判断所述第一Portal客户端的下线认证通过;否则,丢弃所述下线请求报文并结束流程;其中,所述预定字段包括有所述第一用户序列号。
优选地,上述方法中,还包括:
所述Portal服务器在各个Portal客户端上线认证通过后,为各个Portal客户端分配用户序列号,并将所分配的用户序列号携带在认证回应报文中发送给对应的Portal客户端。
优选地,上述方法中,
所述为各个Portal客户端分配用户序列号是:
对于任一Portal客户端,从预定的数值空间内随机选择一个数值,作为该Portal客户端的用户序列号;或者,按照各个Portal客户端上线认证通过的先后顺序,将预定的数值空间内的数值顺次分配给各个Portal客户端,作为各个Portal客户端的用户序列号。
优选地,上述方法中,所述步骤C中,在判断所述第一Portal客户端的下线认证通过后,所述Portal服务器进一步删除所述对应关系表中保存的所述第一IP地址与所述第二用户序列号之间的对应关系。
本发明还提供了另一种在Portal服务器和Portal客户端之间防重放攻击的方法,包括:
第一Portal客户端在需要下线时,向Portal服务器发送下线请求报文,所述下线请求报文中包括有第一验证字、第一Portal客户端的第一IP地址和第一用户序列号,其中,所述第一用户序列号是所述Portal服务器在第一Portal客户端上线后为第一Portal客户端分配的用户序列号,且任一Portal客户端在每次上线后被所述Portal服务器分配到同一用户序列号的概率小于预定值;所述第一验证字是根据预定摘要算法,对预置共享密钥和所述下线请求报文中的预定字段进行摘要计算所得到的,所述预定字段包括有所述第一用户序列号;
其中,所述下线请求报文中的第一用户序列号用于提供给所述Portal服务器与第二用户序列号进行比较,并在第一、第二用户序列号不相同时丢弃所述下线请求报文,其中,所述第二用户序列号是所述Portal服务器查找本地保存的对应关系表得到的与第一IP地址对应的用户序列号,所述对应关系表中保存有所述Portal服务器为各个在线Portal客户端分配的IP地址与用户序列号之间的对应关系,并且任一Portal客户端在任意两次上线后被分配到同一用户序列号的概率不大于预定值;
所述下线请求报文中的第一验证字则用于提供给所述Portal服务器与第二验证字进行比较,并在第一、第二验证字相同时判断所述第一Portal客户端的下线认证通过,在所述第一、第二验证字不相同时丢弃所述下线请求报文;其中,所述第二验证字是所述Portal服务器在所述第一、第二用户序列号相同时,根据预定摘要算法对预置共享密钥和所述预定字段进行摘要计算得到的。
优选地,上述方法中,在发送所述下线请求报文之前,所述方法还包括:
第一Portal客户端在本Portal客户端需要上线时向Portal服务器发送上线请求报文,并接收Portal服务器在对所述第一Portal客户端的上线认证通过后返回的上线回应报文,所述上线回应报文中携带有所述Portal服务器为所述第一Portal客户端分配的用户序列号。
本发明提供了一种Portal服务器,包括:
接收单元,用于接收到针对第一Portal客户端的下线请求报文,所述下线请求报文中包括有第一验证字、第一用户序列号和第一Portal客户端的第一IP地址;
第一判断单元,用于在本地保存的对应关系表中查找所述第一IP地址对应的第二用户序列号,并判断第一、第二用户序列号是否相同:若是,则触发第二判断单元;否则丢弃所述下线请求报文;其中,所述对应关系表中保存有所述Portal服务器为各个在线Portal客户端分配的IP地址与用户序列号之间的对应关系,并且任一Portal客户端在任意两次上线后被分配到同一用户序列号的概率不大于预定值;
第二判断单元,根据预定摘要算法,对预置共享密钥和所述下线请求报文中的预定字段进行摘要计算,得到第二验证字,并判断第一、第二验证字是否相同:若是,则判断所述第一Portal客户端的下线认证通过;否则,丢弃所述下线请求报文;其中,所述预定字段包括有所述第一用户序列号。
优选地,上述Portal服务器中,还包括:
序列号分配单元,用于在各个Portal客户端上线认证通过后,为各个Portal客户端分配用户序列号,并将所分配的用户序列号携带在认证回应报文中发送给对应的Portal客户端。
优选地,上述Portal服务器中,
所述序列号分配单元,还用于对于任一Portal客户端,从预定的数值空间内随机选择一个数值,作为该Portal客户端的用户序列号;或者,用于按照各个Portal客户端上线认证通过的先后顺序,将预定的数值空间内的数值顺次分配给各个Portal客户端,作为各个Portal客户端的用户序列号。
本发明还提供了一种Portal客户端,包括:
下线处理单元,用于在本Portal客户端需要下线时,向所述Portal服务器发送下线请求报文,所述下线请求报文中包括有第一验证字、第一Portal客户端的第一IP地址和第一用户序列号,其中,所述第一用户序列号是所述Portal服务器在第一Portal客户端上线后为第一Portal客户端分配的用户序列号,且任一Portal客户端在每次上线后被所述Portal服务器分配到同一用户序列号的概率小于预定值;所述第一验证字是根据预定摘要算法,对预置共享密钥和所述下线请求报文中的预定字段进行摘要计算所得到的,所述预定字段包括有所述第一用户序列号;
其中,所述下线请求报文中的第一用户序列号用于供所述Portal服务器与第二用户序列号进行比较,并在第一、第二用户序列号不相同时丢弃所述下线请求报文,其中,所述第二用户序列号是所述Portal服务器查找本地保存的对应关系表得到的与第一IP地址对应的用户序列号,所述对应关系表中保存有所述Portal服务器为各个在线Portal客户端分配的IP地址与用户序列号之间的对应关系,并且任一Portal客户端在任意两次上线后被分配到同一用户序列号的概率不大于预定值;
所述下线请求报文中的第一验证字则用于提供给所述Portal服务器与第二验证字进行比较,并在第一、第二验证字相同时判断所述第一Portal客户端的下线认证通过,在所述第一、第二验证字不相同时丢弃所述下线请求报文;其中,所述第二验证字是所述Portal服务器在所述第一、第二用户序列号相同时,根据预定摘要算法对预置共享密钥和所述预定字段进行摘要计算得到的。
优选地,上述Portal客户端中,还包括:
上线处理单元,用于在本Portal客户端需要上线时向Portal服务器发送上线请求报文,并接收Portal服务器在对所述第一Portal客户端的上线认证通过后返回的上线回应报文,所述上线回应报文中携带有所述Portal服务器为所述第一Portal客户端分配的用户序列号。
本发明还提供了一种在Portal服务器和Portal客户端之间防重放攻击的方法,包括:
步骤1,Portal服务器接收到针对第一Portal客户端的下线请求报文,所述下线请求报文中包括有第一验证字、第一下线序列号和第一Portal客户端的第一IP地址;
步骤2,Portal服务器判断所述第一下线序列号是否处于本地维护的防重放的滑动窗口范围之内:若是,则进入步骤3,否则丢弃所述下线请求报文并结束流程;其中,所述滑动窗口的两端分别是所述Portal服务器当前已分配出去、且尚未通过下线认证的Portal客户端的下线序列号中的最大者和最小者,所述下线序列号的分配是Portal服务器接收到各个Portal客户端在需要下线时发送的用于请求下线序列号的序列号请求报文后,按照接收到所述序列号请求报文的先后顺序,为各个Portal客户端顺次分配的;
步骤3,Portal服务器根据预定摘要算法,对预置共享密钥和所述下线请求报文中的预定字段进行摘要计算,得到第二验证字,并判断第一、第二验证字是否相同:若是,则判断所述第一Portal客户端的下线认证通过;否则,丢弃所述下线请求报文并结束流程;其中,所述预定字段中包括有所述第一下线序列号。
优选地,上述方法中,还包括:
所述Portal服务器接收到各个Portal客户端在需要下线时发送的用于请求下线序列号的序列号请求报文后,按照接收到所述序列号请求报文的先后顺序,为各个Portal客户端顺次分配下线序列号。
本发明又提供了一种在Portal服务器和Portal客户端之间防重放攻击的方法,包括:
第一Portal客户端在需要下线时,向Portal服务器发送用于请求下线序列号的序列号请求报文,并接收Portal服务器返回的序列号回应报文,所述序列号回应报文中携带有所述Portal服务器为所述第一Portal客户端分配的下线序列号,其中,所述下线序列号的分配是所述Portal服务器根据接收到各个Portal客户端发送的序列号请求报文的先后顺序,为各个Portal客户端顺次分配的;
第一Portal客户端向所述Portal服务器发送下线请求报文,所述下线请求报文中包括有第一验证字、所述第一下线序列号和第一Portal客户端的第一IP地址,其中,所述第一验证字是根据预定摘要算法,对预置共享密钥和所述下线请求报文中的预定字段进行摘要计算所得到的,所述预定字段包括有所述第一下线序列号;
其中,所述下线请求报文中的第一下线序列号用于供所述Portal服务器判断是否处于所述Portal服务器维护的防重放的滑动窗口范围之内,并在判断结果为否时丢弃所述下线请求报文;其中,所述滑动窗口的两端分别是所述Portal服务器当前已分配出去、且尚未通过下线认证的Portal客户端的下线序列号中的最大者和最小者;
所述下线请求报文中的第一验证字用于供所述Portal服务器与第二验证字进行比较,并在第一、第二验证字相同时判断所述第一Portal客户端的下线认证通过,在所述第一、第二验证字不相同时丢弃所述下线请求报文;其中,所述第二验证字是所述Portal服务器在所述第一、第二下线序列号相同时,根据预定摘要算法对预置共享密钥和所述预定字段进行摘要计算得到的。
本发明还提供了另一种Portal服务器,包括:
接收单元,用于收到针对第一Portal客户端的下线请求报文,所述下线请求报文中包括有第一验证字、第一下线序列号和第一Portal客户端的第一IP地址;
第一判断单元,用于判断所述第一下线序列号是否处于本地维护的防重放的滑动窗口范围之内:若是,则触发第二判断单元,否则丢弃所述下线请求报文;其中,所述滑动窗口的两端分别是所述Portal服务器当前已分配出去、且尚未通过下线认证的Portal客户端的下线序列号中的最大者和最小者,所述下线序列号的分配是Portal服务器接收到各个Portal客户端在需要下线时发送的用于请求下线序列号的序列号请求报文后,按照接收到所述序列号请求报文的先后顺序,为各个Portal客户端顺次分配的;
第二判断单元,用于根据预定摘要算法,对预置共享密钥和所述下线请求报文中的预定字段进行摘要计算,得到第二验证字,并判断第一、第二验证字是否相同:若是,则判断所述第一Portal客户端的下线认证通过;否则,丢弃所述下线请求报文;其中,所述预定字段中包括有所述第一下线序列号。
优选地,上述Portal服务器中,还包括:
序列号分配单元,用于在接收到各个Portal客户端在需要下线时发送的用于请求下线序列号的序列号请求报文后,按照接收到所述序列号请求报文的先后顺序,为各个Portal客户端顺次分配下线序列号。
本发明还提供另一种Portal客户端,包括:
序列号请求单元,用于在本Portal客户端需要下线时,向Portal服务器发送用于请求下线序列号的序列号请求报文,并接收Portal服务器返回的序列号回应报文,所述序列号回应报文中携带有所述Portal服务器为所述第一Portal客户端分配的下线序列号,其中,所述下线序列号的分配是所述Portal服务器根据接收到各个Portal客户端发送的序列号请求报文的先后顺序,为各个Portal客户端顺次分配的;
下线处理单元,用于向所述Portal服务器发送下线请求报文,所述下线请求报文中包括有第一验证字、所述第一下线序列号和第一Portal客户端的第一IP地址,其中,所述第一验证字是根据预定摘要算法,对预置共享密钥和所述下线请求报文中的预定字段进行摘要计算所得到的,所述预定字段包括有所述第一下线序列号;
其中,所述下线请求报文中的第一下线序列号用于供所述Portal服务器判断该第一下线序列号是否处于所述Portal服务器本地设置的防重放的滑动窗口范围之内,并在判断结果为否时丢弃所述下线请求报文;其中,所述滑动窗口的两端分别是所述Portal服务器当前已分配出去、且尚未通过下线认证的Portal客户端的下线序列号中的最大者和最小者;
所述下线请求报文中的第一验证字用于供所述Portal服务器与第二验证字进行比较,并在第一、第二验证字相同时判断所述第一Portal客户端的下线认证通过,在所述第一、第二验证字不相同时丢弃所述下线请求报文;其中,所述第二验证字是所述Portal服务器在所述第一、第二下线序列号相同时,根据预定摘要算法对预置共享密钥和所述预定字段进行摘要计算得到的。
从以上所述可以看出,本发明提供的在Portal服务器和Portal客户端之间防重放攻击的方法及设备,通过Portal客户端为客户端分配对应的序列号(如用户序列号或下线序列号),并在下线认证过程中利用该序列号来检测重放报文,从而能够有效地防止下线请求报文的重放攻击,提高Portal认证***的安全性。
附图说明
图1为现有技术的Portal客户端主动要求下线的流程示意图;
图2为本发明实施例1所述防重放攻击的方法的流程示意图;
图3为Portal协议报文的格式示意图;
图4为本发明实施例1所述Portal服务器的结构示意图;
图5为本发明实施例1所述Portal客户端的结构示意图;
图6为本发明实施例2所述防重放攻击的方法的流程示意图;
图7为本发明实施例2所述Portal服务器的结构示意图;
图8为本发明实施例2所述Portal客户端的结构示意图。
具体实施方式
现有技术中存在中间人重放攻击安全问题的原因在于,现有技术方案中的Portal服务器主要是验证了下线请求报文中的本次的可信性。换句话说,验证的是下线请求报文的部分指定字段,预置共享密钥和下线请求报文中的鉴别码(Authenticator)字段这三者之间的可信关系。根据这个关系的认证过程只能够保证本次的请求报文的可信性,即如果该报文被攻击者篡改过,可以检测出来。但是,不能验证该请求报文的首发性,也就是说,不能区分该请求报文是否是重复发送的。
本发明的主要思想是,在Portal服务器对于Portal客户端的验证过程中,通过引入和该Portal用户相关联的可信因素,来解决中间人重放攻击导致的安全问题。以下将结合附图,通过具体实施例对本发明作进一步的说明。
<实施例1>
本实施例中,Portal服务器在任一Portal客户端上线后为该Portal客户端分配一个用户序列号,并且对于同一Portal客户端,Portal服务器尽量保证该Portal客户端在每次上线后被分配到不同的用户序列号,并且Portal服务器在本地保存各个在线Portal客户端的用户序列号和IP地址之间的对应关系,进而在接收到Portal客户端的下线请求报文后,根据本地保存的对应关系以及下线请求报文中携带的用户序列号,验证该报文的首发性。
如图2所示,本实施例提供的在Portal服务器和Portal客户端之间防重放攻击的方法,包括以下步骤:
步骤21,Portal客户端在需要上线时,向Portal服务器发送上线请求报文(login_request);Portal服务器在该Portal客户端的上线认证通过后,为该Portal客户端分配IP地址和用户序列号,并向该Portal客户端返回一个用于指示认证通过的上线回应报文(login_response),该上线回应报文中包括一个字段(如自定义的USER_SEQNUM字段),该字段携带有分配给该Portal客户端的、用来唯一标识该Portal客户端的用户序列号,同时,Portal服务器还在本地维护一个对应关系表,在该对应关系表中保存分配该Portal客户端的IP地址和用户序列号之间的对应关系。Portal客户端接收到上线回应报文后,从中提取Portal服务器为其分配的IP地址和用户序列号,此后Portal客户端能够使用该IP地址访问互联网。
这里,Portal服务器在为Portal客户端分配用户序列号时,需要保证Portal客户端在不同次上线后被分配到同一用户序列号的概率不大于预定值,具体的分配方式可以是:
1)在一个预定大小(假设为N)的数值空间内,随机选取一个数值,作为Portal客户端的用户序列号。这种分配方式下,假设Portal客户端在第1次上线后被分配到用户序列号1,则在第2次上线后仍然被分配到用户序列号1的概率为1/N。只要N足够大,就能够保证Portal客户端在不同次上线后被分配到同一用户序列号的概率足够小。例如,当N取232或264时,能够满足实际使用中的防重放攻击的需求。
2)按照各个Portal客户端上线认证通过的先后顺序,将预定的数值空间(假设为N)内的数值顺次分配给各个Portal客户端,作为各个Portal客户端的用户序列号。这种情况下,假设Portal客户端在第1次上线后被分配到用户序列号1,则在第2次上线后仍然被分配到用户序列号1的概率小于1/N。
这里,顺次分配可以是顺次递增分配,如Portal客户端的上线认证通过的先后顺序为:Portal客户端1、Portal客户端2、Portal客户端3、...,那么为Portal客户端1、Portal客户端2、Portal客户端3、...分配的用户序列号分别是:n、n+1、n+2、...。在分配的用户序列号达到数值空间的上限时,则继续从数值空间的下限开始循环进行分配。
顺次分配还可以是顺次递减分配,此时对于上述Portal客户端1、Portal客户端2、Portal客户端3、...分配的用户序列号则分别是:n、n-1、n-2、...。在分配的用户序列号达到数值空间的下限时,则继续从数值空间的上限开始循环进行分配。
下表1中示出了Portal服务器维护的对应关系表的中可能包括的内容。其中每行的用户序列号和IP地址就是Portal服务器为某个客户端所分配的用户序列号和IP地址。
表1
从本实施例的后文可以看出,本实施例中,Portal服务器检查的是由Portal服务器分配给该Portal客户端的IP地址和用户序列号之间的对应关系。而某一个客户端在不同次的上线过程中,恰好被分到相同的IP地址和相同的用户序列号的概率更低,以264大小的用户序列号数值空间为例,该概率为:1/m*264,其中假设m为IP地址的可分配空间且IP地址也是随机分配。这个概率已经极其微小了,对于目前实际使用中的防重放需求来说已经足够。如果需要更强的安全保证,可以考虑进一步增加用户序列号数值空间的大小;还可以周期性地在Portal客户端和Portal服务器之间进行预置共享密钥的更新。
步骤22,假设某个Portal客户端,如第一Portal客户端需要下线,该第一Portal客户端将向Portal服务器发送下线请求报文,所述下线请求报文中包括有第一验证字、所述第一用户序列号和第一Portal客户端的第一IP地址,其中,所述第一验证字是第一Portal客户端根据预定摘要算法,对所述下线请求报文中的预定字段和本地保存的预置共享密钥进行摘要计算所得到的,所述预定字段包括有所述第一用户序列号。
这里,所述下线请求报文中的第一用户序列号用于提供给所述Portal服务器与第二用户序列号进行比较,并在第一、第二用户序列号不相同时丢弃所述下线请求报文,其中,所述第二用户序列号是所述Portal服务器查找本地保存的对应关系表得到的与第一IP地址对应的用户序列号,所述对应关系表中保存有所述Portal服务器为各个在线Portal客户端分配的IP地址与用户序列号之间的对应关系,并且任一Portal客户端在任意两次上线后被分配到同一用户序列号的概率不大于预定值。在第一、第二用户序列号相同时,所述下线请求报文中的第一验证字则用于提供给所述Portal服务器与第二验证字进行比较,并在第一、第二验证字相同时判断所述第一Portal客户端的下线认证通过,在所述第一、第二验证字不相同时丢弃所述下线请求报文;其中,所述第二验证字是所述Portal服务器在所述第一、第二用户序列号相同时,根据预定摘要算法对预置共享密钥和所述预定字段进行摘要计算得到的。
这里,第一Portal客户端需要根据预定摘要算法(如MD5),对下线请求报文中的预定字段和预置共享密钥进行摘要计算。下线请求报文是一种Portal协议报文,Portal协议报文的格式如图3所示。本实施例中,用于进行摘要计算的所述预定字段包括:Ver字段、Type字段、PAP/CHAP字段、Rsvd字段、SerialNo字段、ReqID字段、UserIP字段、UserPort字段、ErrCode字段、AttrNum字段、16个字节的0和Attributes字段,计算得到的第一验证字则携带在认证请求报文中的鉴别码(Authenticator)字段。其中,第一用户序列号包含在Attributes字段中的子属性字段USER_SEQNUM中。
步骤23,Portal服务器接收到针对第一Portal客户端的上述下线请求报文后,从该报文中提取第一Portal客户端的第一IP地址和第一用户序列号,并在本地保存的对应关系表中查找所述第一IP地址对应的第二用户序列号,并判断所述第二用户序列号是否与所述第一用户序列号相同:若是,则进入步骤24,否则进入步骤26;
步骤24,Portal服务器根据预定摘要算法,对所述下线请求报文中的所述预定字段和本地保存的预置共享密钥进行摘要计算,得到第二验证字,并判断所述下线请求报文中携带的第一验证字是否与所述第二验证字相同:若是,则进入步骤25;否则进入步骤26。
这里,服务器和客户端各自保存的预置共享密钥是相同的,共享密钥的同步方法与现有技术相同。
步骤25,Portal服务器判断所述第一Portal客户端的下线认证通过。在所述第一Portal客户端的下线认证通过之后,Portal服务器将按照现有技术的相同的处理方式,继续和BAS交互第一Portal客户端请求下线的相关信息,以及在接收到BAS返回的响应报文后,向第一Portal客户端返回下线回应报文,用于指示下线成功。第一Portal客户端收到该下线回应报文后,认为自己已成功下线。
步骤26,Portal服务器判断所述第一Portal客户端的下线认证失败,此时直接丢弃所述下线请求报文并结束流程。
从以上流程可以看出,本实施例中Portal客户端在每次上线后分配到的用户序列号通常都不会相同,并且Portal客户端将用户序列号作为MD5摘要运算的一个因子,使得下线请求报文中也包含有用户序列号的信息。这样,当中间人攻击者截获到Portal客户端向Portal服务器发送的某一次的下线请求报文,并在该Portal客户端再次上线后重放该下线请求报文进行攻击时,由于该下线请求报文中的用户序列号与该Portal客户端当前被分配的用户序列号不同,因此Portal服务器能够判断出该下线请求报文是一个重放报文,于是对该报文进行丢弃处理,使得攻击者的攻击失败。即使攻击者截获了Portal客户端最近一次上线时Portal服务器所分配的用户序列号,并且使用该用户序列号替代重放的下线请求报文中的对应字段时,Portal服务器仍然能够通过上述步骤24检测出来,因此Portal服务器在根据下线请求报文中的预定字段(该预定字段包括用户序列号)和预置共享密钥进行MD5运算时,会发现运算结果与该下线请求报文中携带的验证字不同,因此判断该下线请求报文发生了篡改,于是仍然将该下线请求报文丢弃。
本实施例还提供了用于实施上述防重放攻击的方法的设备,具体包括Portal服务器和Portal客户端。
其中,如图4所示,本实施例提供的Portal服务器,包括:
接收单元,用于接收到针对第一Portal客户端的下线请求报文,所述下线请求报文中包括有第一验证字、第一用户序列号和第一Portal客户端的第一IP地址;
第一判断单元,用于在本地保存的对应关系表中查找所述第一IP地址对应的第二用户序列号,并判断所述第二用户序列号是否与所述第一用户序列号相同:若是,则触发第二判断单元;否则丢弃所述下线请求报文;其中,所述对应关系表中保存有所述Portal服务器为各个在线Portal客户端分配的IP地址与用户序列号之间的对应关系,并且任一Portal客户端在任意两次上线后被分配到同一用户序列号的概率不大于预定值;
第二判断单元,根据预定摘要算法,对预置共享密钥和所述下线请求报文中的预定字段进行摘要计算,得到第二验证字,并判断第一、第二验证字是否相同:若是,则判断所述第一Portal客户端的下线认证通过;否则,丢弃所述下线请求报文;其中,所述预定字段包括有所述第一用户序列号。
优选地,图4所示的Portal服务器还包括:序列号分配单元,用于在各个Portal客户端上线认证通过后,为各个Portal客户端分配用户序列号,并将所分配的用户序列号携带在认证回应报文中发送给对应的Portal客户端。具体的,所述序列号分配单元,还用于对于任一Portal客户端,从预定的数值空间内随机选择一个数值,作为该Portal客户端的用户序列号;或者,用于按照各个Portal客户端上线认证通过的先后顺序,将预定的数值空间内的数值顺次分配给各个Portal客户端,作为各个Portal客户端的用户序列号。
如图5所示,本实施例提供的Portal客户端,包括:
下线处理单元,用于在本Portal客户端需要下线时,向所述Portal服务器发送下线请求报文,所述下线请求报文中包括有第一验证字、第一Portal客户端的第一IP地址和第一用户序列号,其中,所述第一用户序列号是所述Portal服务器在第一Portal客户端上线后为第一Portal客户端分配的序列号,且任一Portal客户端在每次上线后被所述Portal服务器分配到同一用户序列号的概率小于预定值;所述第一验证字是根据预定摘要算法,对预置共享密钥和所述下线请求报文中的预定字段进行摘要计算所得到的,所述预定字段包括有所述第一用户序列号;
其中,所述下线请求报文中的第一用户序列号用于提供给所述Portal服务器与第二用户序列号进行比较,并在第一、第二用户序列号不相同时丢弃所述下线请求报文,其中,所述第二用户序列号是所述Portal服务器查找本地保存的对应关系表得到的与第一IP地址对应的用户序列号,所述对应关系表中保存有所述Portal服务器为各个在线Portal客户端分配的IP地址与用户序列号之间的对应关系,并且任一Portal客户端在任意两次上线后被分配到同一用户序列号的概率不大于预定值;
在第一、第二用户序列号相同时,所述下线请求报文中的第一验证字用于供所述Portal服务器与第二验证字进行比较,并在第一、第二验证字相同时判断所述第一Portal客户端的下线认证通过,在所述第一、第二验证字不相同时丢弃所述下线请求报文;其中,所述第二验证字是所述Portal服务器在所述第一、第二用户序列号相同时,根据预定摘要算法对预置共享密钥和所述预定字段进行摘要计算得到的。
优选地,图5所示的Portal客户端,还包括:
上线处理单元,用于在本Portal客户端需要上线时向Portal服务器发送上线请求报文,并接收Portal服务器在对所述第一Portal客户端的上线认证通过后返回的上线回应报文,所述上线回应报文中携带有所述Portal服务器为所述第一Portal客户端分配的用户序列号。
<实施例2>
本实施例中,Portal客户端在下线时,需要先向Portal服务器请求一个下线序列号,该下线序列号是顺次分配给各个Portal客户端的,即,按照各个Portal客户端的下线顺序,顺次递增或顺次递减分配的序列号,并且,Portal服务器还在本地维护一用于防重放的滑动窗口,利用该滑动窗口来检测下线请求报文的首发性。
如图6所示,本实施例提供的在Portal服务器和Portal客户端之间防重放攻击的方法,包括以下步骤:
步骤61,Portal客户端在需要下线时,首先向Portal服务器发送一用于请求下线序列号的序列号请求报文;
步骤62,Portal服务器接收到各个Portal客户端在需要下线时发送的用于请求下线序列号的序列号请求报文后,按照接收到所述序列号请求报文的先后顺序,为各个Portal客户端顺次分配下线序列号,并向各个Portal客户端分别发送序列号回应报文,所述序列号回应报文中携带有分配给对应Portal客户端的下线序列号。这样,各个需要下线的Portal客户端就能够从序列号回应报文中提取Portal服务器为自己分配的下线序列号。
这里,顺次分配可以是顺次递增分配,如接收到各个Portal客户端的序列号好请求报文的先后顺序为:Portal客户端1、Portal客户端2、Portal客户端3、...,那么为Portal客户端1、Portal客户端2、Portal客户端3、...分配的下线序列号分别是:n、n+1、n+2、...。在分配的下线序列号达到预定大小的数值空间的上限时,则继续从数值空间的下限开始循环进行分配。这里n是一个整数。
顺次分配还可以是顺次递减分配,此时对于上述Portal客户端1、Portal客户端2、Portal客户端3、...分配的下线序列号则分别是:n、n-1、n-2、...。在分配的下线序列号达到预定大小的数值空间的下限时,则继续从数值空间的上限开始循环进行分配。
上述数值空间的大小可以根据实际应用环境,如Portal客户端数量的多少进行选取,例如取232或264通常能够满足实际使用中的防重放攻击的需求。本实施例并不对数值空间的具体大小进行限定,即使该数值空间较小,按照本实施例的处理方式,也能够在一定概率上判断出重放攻击的报文,从而在一定程度上防止下线请求报文的重放攻击。
步骤63,以需要下线的任一Portal客户端(假设为第一Portal客户端)为例进行说明,第一Portal客户端在接收到下线回应报文后,提取其中携带的下线序列号(假设为第一下线序列号),然后向所述Portal服务器发送下线请求报文,所述下线请求报文中包括有第一验证字、所述第一下线序列号和第一Portal客户端的第一IP地址,其中,所述第一验证字是根据预定摘要算法,对本地保存的预置共享密钥和所述下线请求报文中的预定字段进行摘要计算所得到的,所述预定字段包括有所述第一下线序列号。
这里,所述下线请求报文中的第一下线序列号用于供所述Portal服务器判断该第一下线序列号是否处于所述Portal服务器维护的防重放的滑动窗口范围之内,并在判断结果为否时丢弃所述下线请求报文;其中,所述滑动窗口的两端分别是所述Portal服务器当前已分配出去、且尚未通过下线认证的Portal客户端的下线序列号中的最大者和最小者;
在所述第一下线序列号处于所述滑动窗口范围之内时,所述下线请求报文中的第一验证字用于提供给所述Portal服务器与第二验证字进行比较,并在第一、第二验证字相同时判断所述第一Portal客户端的下线认证通过,在所述第一、第二验证字不相同时丢弃所述下线请求报文;其中,所述第二验证字是所述Portal服务器在所述第一、第二下线序列号相同时,根据预定摘要算法对预置共享密钥和所述预定字段进行摘要计算得到的。
步骤64,Portal服务器接收到针对第一Portal客户端的所述下线请求报文后,提取所述下线请求报文中的第一验证字、第一下线序列号和第一Portal客户端的第一IP地址,然后判断所述第一下线序列号是否处于本地维护的防重放的滑动窗口范围之内,所述滑动窗口的两端分别是所述Portal服务器当前已分配出去、且尚未通过下线认证的Portal客户端的下线序列号中的最大者和最小者:若是,则进入步骤65,否则进入步骤67。
步骤65,Portal服务器根据预定摘要算法,对预置共享密钥和所述下线请求报文中的预定字段进行摘要计算,得到第二验证字,并判断第一、第二验证字是否相同:若是,则进入步骤66;否则进入步骤67。
步骤66,Portal服务器判断所述第一Portal客户端的下线认证通过。在所述第一Portal客户端的下线认证通过之后,Portal服务器将对所述滑动窗口进行相应的滑动,使得滑动窗口的两端分别为Portal服务器当前已分配出去、且尚未通过下线认证的Portal客户端的下线序列号中的最大者和最小者。在所述第一Portal客户端的下线认证通过之后,Portal服务器还将按照现有技术的处理流程,继续和BAS交互第一Portal客户端请求下线的相关信息,以及在接收到BAS返回的响应报文后,向第一Portal客户端返回用于指示下线成功的下线回应报文,第一Portal客户端收到该下线回应报文后,认为自己已成功下线。
这里,在第一Portal客户端的下线认证通过之后,Portal服务器可能需要将所述滑动窗口进行适当的滑动移位,以使其两端分别与当前已分配出去、且尚未通过下线认证的Portal客户端的下线序列号中的最大者和最小者相对应。
步骤67,Portal服务器判断所述第一Portal客户端的下线认证失败,此时直接丢弃所述下线请求报文并结束本流程。
从以上流程可以看出,本实施例利用下线序列号的滑动窗口来验证报文的首发性,以防止下线请求报文的重放攻击。当攻击者利用先前截获的某个Portal客户端的下线请求报文发起重放攻击,由于重放的下线请求报文中的下线序列号通常会处于滑动窗口之外,将导致该下线请求报文被丢弃,攻击最终失败。即使攻击者截获了Portal服务器为Portal客户端最近一次分配的下线序列号,并且使用该下线序列号替代先前截获的下线请求报文中的对应字段,Portal服务器仍然能够通过上述步骤65检测出来,因此Portal服务器在根据下线请求报文中的预定字段(该预定字段包括下线序列号)和预置共享密钥进行MD5运算时,会发现运算结果与该下线请求报文中携带的验证字不同,因此判断该下线请求报文发生了篡改,于是仍然将该下线请求报文丢弃。
本实施例还提供了用于实施上述防重放攻击的方法的设备,具体包括Portal服务器和Portal客户端。
其中,如图7所示,本实施例提供的Portal服务器,包括:
接收单元,用于收到针对第一Portal客户端的下线请求报文,所述下线请求报文中包括有第一验证字、第一下线序列号和第一Portal客户端的第一IP地址;
第一判断单元,用于判断所述第一下线序列号是否处于本地维护的防重放的滑动窗口范围之内:若是,则触发第二判断单元,否则丢弃所述下线请求报文;其中,所述滑动窗口的两端分别是所述Portal服务器当前已分配出去、且尚未通过下线认证的Portal客户端的下线序列号中的最大者和最小者,所述下线序列号的分配是Portal服务器接收到各个Portal客户端在需要下线时发送的用于请求下线序列号的序列号请求报文后,按照接收到所述序列号请求报文的先后顺序,为各个Portal客户端顺次分配的;
第二判断单元,用于根据预定摘要算法,对预置共享密钥和所述下线请求报文中的预定字段进行摘要计算,得到第二验证字,并判断第一、第二验证字是否相同:若是,则判断所述第一Portal客户端的下线认证通过;否则,丢弃所述下线请求报文;其中,所述所述预定字段中包括有所述第一下线序列号。
优选地,图7所示的Portal服务器,还包括:序列号分配单元,用于在接收到各个Portal客户端在需要下线时发送的用于请求下线序列号的序列号请求报文后,按照接收到所述序列号请求报文的先后顺序,为各个Portal客户端顺次分配下线序列号。
其中,如图8所示,本实施例提供的Portal客户端,包括:
序列号请求单元,用于在本Portal客户端需要下线时,向Portal服务器发送用于请求下线序列号的序列号请求报文,并接收Portal服务器返回的序列号回应报文,所述序列号回应报文中携带有所述Portal服务器为所述第一Portal客户端分配的下线序列号,其中,所述下线序列号的分配是所述Portal服务器根据接收到各个Portal客户端发送的序列号请求报文的先后顺序,为各个Portal客户端顺次分配的;
下线处理单元,用于向所述Portal服务器发送下线请求报文,所述下线请求报文中包括有第一验证字、所述第一下线序列号和第一Portal客户端的第一IP地址,其中,所述第一验证字是根据预定摘要算法,对预置共享密钥和所述下线请求报文中的预定字段进行摘要计算所得到的,所述预定字段包括有所述第一下线序列号;
其中,所述下线请求报文中的第一下线序列号用于供所述Portal服务器判断该第一下线序列号是否处于所述Portal服务器本地设置的防重放的滑动窗口范围之内,并在判断结果为否时丢弃所述下线请求报文;其中,所述滑动窗口的两端分别是所述Portal服务器当前已分配出去、且尚未通过下线认证的Portal客户端的下线序列号中的最大者和最小者。
在所述第一下线序列号处于所述滑动窗口范围之内时,所述下线请求报文中的第一验证字用于供所述Portal服务器与第二验证字进行比较,并在第一、第二验证字相同时判断所述第一Portal客户端的下线认证通过,在所述第一、第二验证字不相同时丢弃所述下线请求报文;其中,所述第二验证字是所述Portal服务器在所述第一、第二下线序列号相同时,根据预定摘要算法对预置共享密钥和所述预定字段进行摘要计算得到的。
综上所述,本发明实施例提供的防重放攻击的方法及设备中,Portal客户端为客户端分配对应的序列号(如用户序列号或下线序列号),并在下线认证过程中利用该序列号来检测重放报文,从而能够有效地防止下线请求报文的重放攻击,提高Portal认证***的安全性。
以上所述仅是本发明的实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (17)
1.一种在Portal服务器和Portal客户端之间防重放攻击的方法,其特征在于,包括:
步骤A,Portal服务器接收到针对第一Portal客户端的下线请求报文,所述下线请求报文中包括有第一验证字、第一用户序列号和第一Portal客户端的第一IP地址;
步骤B,Portal服务器在本地保存的对应关系表中查找所述第一IP地址对应的第二用户序列号,并判断第一、第二用户序列号是否相同:若是,则进入步骤C,否则丢弃所述下线请求报文并结束流程;其中,所述对应关系表中保存有所述Portal服务器为各个在线Portal客户端分配的IP地址与用户序列号之间的对应关系,并且任一Portal客户端在任意两次上线后被分配到同一用户序列号的概率不大于预定值;
步骤C,Portal服务器根据预定摘要算法,对预置共享密钥和所述下线请求报文中的预定字段进行摘要计算,得到第二验证字,并判断第一、第二验证字是否相同:若是,则判断所述第一Portal客户端的下线认证通过;否则,丢弃所述下线请求报文并结束流程;其中,所述预定字段包括有所述第一用户序列号。
2.如权利要求1所述的方法,其特征在于,还包括:
所述Portal服务器在各个Portal客户端上线认证通过后,为各个Portal客户端分配用户序列号,并将所分配的用户序列号携带在认证回应报文中发送给对应的Portal客户端。
3.如权利要求2所述的方法,其特征在于,
所述为各个Portal客户端分配用户序列号是:
对于任一Portal客户端,从预定的数值空间内随机选择一个数值,作为该Portal客户端的用户序列号;或者,按照各个Portal客户端上线认证通过的先后顺序,将预定的数值空间内的数值顺次分配给各个Portal客户端,作为各个Portal客户端的用户序列号。
4.如权利要求2所述的方法,其特征在于,所述步骤C中,在判断所述第一Portal客户端的下线认证通过后,所述Portal服务器进一步删除所述对应关系表中保存的所述第一IP地址与所述第二用户序列号之间的对应关系。
5.一种在Portal服务器和Portal客户端之间防重放攻击的方法,其特征在于,包括:
第一Portal客户端在需要下线时,向Portal服务器发送下线请求报文,所述下线请求报文中包括有第一验证字、第一Portal客户端的第一IP地址和第一用户序列号,其中,所述第一用户序列号是所述Portal服务器在第一Portal客户端上线后为第一Portal客户端分配的用户序列号,且任一Portal客户端在每次上线后被所述Portal服务器分配到同一用户序列号的概率小于预定值;所述第一验证字是根据预定摘要算法,对预置共享密钥和所述下线请求报文中的预定字段进行摘要计算所得到的,所述预定字段包括有所述第一用户序列号;
其中,所述下线请求报文中的第一用户序列号用于提供给所述Portal服务器与第二用户序列号进行比较,并在第一、第二用户序列号不相同时丢弃所述下线请求报文,其中,所述第二用户序列号是所述Portal服务器查找本地保存的对应关系表得到的与第一IP地址对应的用户序列号,所述对应关系表中保存有所述Portal服务器为各个在线Portal客户端分配的IP地址与用户序列号之间的对应关系,并且任一Portal客户端在任意两次上线后被分配到同一用户序列号的概率不大于预定值;
所述下线请求报文中的第一验证字则用于提供给所述Portal服务器与第二验证字进行比较,并在第一、第二验证字相同时判断所述第一Portal客户端的下线认证通过,在所述第一、第二验证字不相同时丢弃所述下线请求报文;其中,所述第二验证字是所述Portal服务器在所述第一、第二用户序列号相同时,根据预定摘要算法对预置共享密钥和所述预定字段进行摘要计算得到的。
6.如权利要求5所述的方法,其特征在于,在发送所述下线请求报文之前,所述方法还包括:
第一Portal客户端在本Portal客户端需要上线时向Portal服务器发送上线请求报文,并接收Portal服务器在对所述第一Portal客户端的上线认证通过后返回的上线回应报文,所述上线回应报文中携带有所述Portal服务器为所述第一Portal客户端分配的用户序列号。
7.一种Portal服务器,其特征在于,包括:
接收单元,用于接收到针对第一Portal客户端的下线请求报文,所述下线请求报文中包括有第一验证字、第一用户序列号和第一Portal客户端的第一IP地址;
第一判断单元,用于在本地保存的对应关系表中查找所述第一IP地址对应的第二用户序列号,并判断第一、第二用户序列号是否相同:若是,则触发第二判断单元;否则丢弃所述下线请求报文;其中,所述对应关系表中保存有所述Portal服务器为各个在线Portal客户端分配的IP地址与用户序列号之间的对应关系,并且任一Portal客户端在任意两次上线后被分配到同一用户序列号的概率不大于预定值;
第二判断单元,根据预定摘要算法,对预置共享密钥和所述下线请求报文中的预定字段进行摘要计算,得到第二验证字,并判断第一、第二验证字是否相同:若是,则判断所述第一Portal客户端的下线认证通过;否则,丢弃所述下线请求报文;其中,所述预定字段包括有所述第一用户序列号。
8.如权利要求7所述的Portal服务器,其特征在于,还包括:
序列号分配单元,用于在各个Portal客户端上线认证通过后,为各个Portal客户端分配用户序列号,并将所分配的用户序列号携带在认证回应报文中发送给对应的Portal客户端。
9.如权利要求8所述的Portal服务器,其特征在于,
所述序列号分配单元,还用于对于任一Portal客户端,从预定的数值空间内随机选择一个数值,作为该Portal客户端的用户序列号;或者,用于按照各个Portal客户端上线认证通过的先后顺序,将预定的数值空间内的数值顺次分配给各个Portal客户端,作为各个Portal客户端的用户序列号。
10.一种Portal客户端,其特征在于,包括:
下线处理单元,用于在本Portal客户端需要下线时,向所述Portal服务器发送下线请求报文,所述下线请求报文中包括有第一验证字、第一Portal客户端的第一IP地址和第一用户序列号,其中,所述第一用户序列号是所述Portal服务器在第一Portal客户端上线后为第一Portal客户端分配的用户序列号,且任一Portal客户端在每次上线后被所述Portal服务器分配到同一用户序列号的概率小于预定值;所述第一验证字是根据预定摘要算法,对预置共享密钥和所述下线请求报文中的预定字段进行摘要计算所得到的,所述预定字段包括有所述第一用户序列号;
其中,所述下线请求报文中的第一用户序列号用于供所述Portal服务器与第二用户序列号进行比较,并在第一、第二用户序列号不相同时丢弃所述下线请求报文,其中,所述第二用户序列号是所述Portal服务器查找本地保存的对应关系表得到的与第一IP地址对应的用户序列号,所述对应关系表中保存有所述Portal服务器为各个在线Portal客户端分配的IP地址与用户序列号之间的对应关系,并且任一Portal客户端在任意两次上线后被分配到同一用户序列号的概率不大于预定值;
所述下线请求报文中的第一验证字则用于提供给所述Portal服务器与第二验证字进行比较,并在第一、第二验证字相同时判断所述第一Portal客户端的下线认证通过,在所述第一、第二验证字不相同时丢弃所述下线请求报文;其中,所述第二验证字是所述Portal服务器在所述第一、第二用户序列号相同时,根据预定摘要算法对预置共享密钥和所述预定字段进行摘要计算得到的。
11.如权利要求10所述的Portal客户端,其特征在于,还包括:
上线处理单元,用于在本Potal客户端需要上线时向Portal服务器发送上线请求报文,并接收Portal服务器在对所述第一Portal客户端的上线认证通过后返回的上线回应报文,所述上线回应报文中携带有所述Portal服务器为所述第一Portal客户端分配的用户序列号。
12.一种在Portal服务器和Portal客户端之间防重放攻击的方法,其特征在于,包括:
步骤1,Portal服务器接收到针对第一Portal客户端的下线请求报文,所述下线请求报文中包括有第一验证字、第一下线序列号和第一Portal客户端的第一IP地址;
步骤2,Portal服务器判断所述第一下线序列号是否处于本地维护的防重放的滑动窗口范围之内:若是,则进入步骤3,否则丢弃所述下线请求报文并结束流程;其中,所述滑动窗口的两端分别是所述Portal服务器当前已分配出去、且尚未通过下线认证的Portal客户端的下线序列号中的最大者和最小者,所述下线序列号的分配是Portal服务器接收到各个Portal客户端在需要下线时发送的用于请求下线序列号的序列号请求报文后,按照接收到所述序列号请求报文的先后顺序,为各个Portal客户端顺次分配的;
步骤3,Portal服务器根据预定摘要算法,对预置共享密钥和所述下线请求报文中的预定字段进行摘要计算,得到第二验证字,并判断第一、第二验证字是否相同:若是,则判断所述第一Portal客户端的下线认证通过;否则,丢弃所述下线请求报文并结束流程;其中,所述预定字段中包括有所述第一下线序列号。
13.如权利要求12所述的方法,其特征在于,还包括:
所述Portal服务器接收到各个Portal客户端在需要下线时发送的用于请求下线序列号的序列号请求报文后,按照接收到所述序列号请求报文的先后顺序,为各个Portal客户端顺次分配下线序列号。
14.一种在Portal服务器和Portal客户端之间防重放攻击的方法,其特征在于,包括:
第一Portal客户端在需要下线时,向Portal服务器发送用于请求下线序列号的序列号请求报文,并接收Portal服务器返回的序列号回应报文,所述序列号回应报文中携带有所述Portal服务器为所述第一Portal客户端分配的下线序列号,其中,所述下线序列号的分配是所述Portal服务器根据接收到各个Portal客户端发送的序列号请求报文的先后顺序,为各个Portal客户端顺次分配的;
第一Portal客户端向所述Portal服务器发送下线请求报文,所述下线请求报文中包括有第一验证字、所述第一下线序列号和第一Portal客户端的第一IP地址,其中,所述第一验证字是根据预定摘要算法,对预置共享密钥和所述下线请求报文中的预定字段进行摘要计算所得到的,所述预定字段包括有所述第一下线序列号;
其中,所述下线请求报文中的第一下线序列号用于供所述Portal服务器判断是否处于所述Portal服务器维护的防重放的滑动窗口范围之内,并在判断结果为否时丢弃所述下线请求报文;其中,所述滑动窗口的两端分别是所述Portal服务器当前已分配出去、且尚未通过下线认证的Portal客户端的下线序列号中的最大者和最小者;
所述下线请求报文中的第一验证字用于供所述Portal服务器与第二验证字进行比较,并在第一、第二验证字相同时判断所述第一Portal客户端的下线认证通过,在所述第一、第二验证字不相同时丢弃所述下线请求报文;其中,所述第二验证字是所述Portal服务器在所述第一、第二下线序列号相同时,根据预定摘要算法对预置共享密钥和所述预定字段进行摘要计算得到的。
15.一种Portal服务器,其特征在于,包括:
接收单元,用于收到针对第一Portal客户端的下线请求报文,所述下线请求报文中包括有第一验证字、第一下线序列号和第一Portal客户端的第一IP地址;
第一判断单元,用于判断所述第一下线序列号是否处于本地维护的防重放的滑动窗口范围之内:若是,则触发第二判断单元,否则丢弃所述下线请求报文;其中,所述滑动窗口的两端分别是所述Portal服务器当前已分配出去、且尚未通过下线认证的Portal客户端的下线序列号中的最大者和最小者,所述下线序列号的分配是Portal服务器接收到各个Portal客户端在需要下线时发送的用于请求下线序列号的序列号请求报文后,按照接收到所述序列号请求报文的先后顺序,为各个Portal客户端顺次分配的;
第二判断单元,用于根据预定摘要算法,对预置共享密钥和所述下线请求报文中的预定字段进行摘要计算,得到第二验证字,并判断第一、第二验证字是否相同:若是,则判断所述第一Portal客户端的下线认证通过;否则,丢弃所述下线请求报文;其中,所述预定字段中包括有所述第一下线序列号。
16.如权利要求15所述的Portal服务器,其特征在于,还包括:
序列号分配单元,用于在接收到各个Portal客户端在需要下线时发送的用于请求下线序列号的序列号请求报文后,按照接收到所述序列号请求报文的先后顺序,为各个Portal客户端顺次分配下线序列号。
17.一种Portal客户端,其特征在于,包括:
序列号请求单元,用于在本Portal客户端需要下线时,向Portal服务器发送用于请求下线序列号的序列号请求报文,并接收Portal服务器返回的序列号回应报文,所述序列号回应报文中携带有所述Portal服务器为所述第一Portal客户端分配的下线序列号,其中,所述下线序列号的分配是所述Portal服务器根据接收到各个Portal客户端发送的序列号请求报文的先后顺序,为各个Portal客户端顺次分配的;
下线处理单元,用于向所述Portal服务器发送下线请求报文,所述下线请求报文中包括有第一验证字、所述第一下线序列号和第一Portal客户端的第一IP地址,其中,所述第一验证字是根据预定摘要算法,对预置共享密钥和所述下线请求报文中的预定字段进行摘要计算所得到的,所述预定字段包括有所述第一下线序列号;
其中,所述下线请求报文中的第一下线序列号用于供所述Portal服务器判断该第一下线序列号是否处于所述Portal服务器本地设置的防重放的滑动窗口范围之内,并在判断结果为否时丢弃所述下线请求报文;其中,所述滑动窗口的两端分别是所述Portal服务器当前已分配出去、且尚未通过下线认证的Portal客户端的下线序列号中的最大者和最小者;
所述下线请求报文中的第一验证字用于供所述Portal服务器与第二验证字进行比较,并在第一、第二验证字相同时判断所述第一Portal客户端的下线认证通过,在所述第一、第二验证字不相同时丢弃所述下线请求报文;其中,所述第二验证字是所述Portal服务器在所述第一、第二下线序列号相同时,根据预定摘要算法对预置共享密钥和所述预定字段进行摘要计算得到的。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910237527.5A CN102065067B (zh) | 2009-11-11 | 2009-11-11 | 一种在门户服务器和客户端之间防重放攻击的方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910237527.5A CN102065067B (zh) | 2009-11-11 | 2009-11-11 | 一种在门户服务器和客户端之间防重放攻击的方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102065067A true CN102065067A (zh) | 2011-05-18 |
CN102065067B CN102065067B (zh) | 2014-06-25 |
Family
ID=44000170
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910237527.5A Expired - Fee Related CN102065067B (zh) | 2009-11-11 | 2009-11-11 | 一种在门户服务器和客户端之间防重放攻击的方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102065067B (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102684884A (zh) * | 2012-05-24 | 2012-09-19 | 杭州华三通信技术有限公司 | 一种Portal Web服务器及其防止伪造下线请求的方法 |
CN102761560A (zh) * | 2012-08-01 | 2012-10-31 | 飞天诚信科技股份有限公司 | 一种验证信息完整性的方法和*** |
CN102801733A (zh) * | 2012-08-28 | 2012-11-28 | 盛科网络(苏州)有限公司 | Ptp中设置安全认证的方法 |
CN102857521A (zh) * | 2012-10-12 | 2013-01-02 | 盛科网络(苏州)有限公司 | 设置oam安全认证的方法及装置 |
CN103237020A (zh) * | 2013-04-07 | 2013-08-07 | 杭州华三通信技术有限公司 | 避免状态机被攻击的方法及服务器、交换机 |
CN103441983A (zh) * | 2013-07-11 | 2013-12-11 | 盛科网络(苏州)有限公司 | 基于链路层发现协议的信息保护方法和装置 |
WO2014110774A1 (en) * | 2013-01-18 | 2014-07-24 | Hewlett-Packard Development Company, L.P. | Preventing an input/output blocking attack to a wireless access point |
CN104105125A (zh) * | 2013-04-15 | 2014-10-15 | ***通信集团北京有限公司 | 一种业务处理方法、装置及*** |
CN104917765A (zh) * | 2015-06-10 | 2015-09-16 | 杭州华三通信技术有限公司 | 一种防范攻击的方法和设备 |
WO2015149669A1 (zh) * | 2014-04-03 | 2015-10-08 | 国家电网公司 | 一种可信的网络攻击过滤装置及网络攻击过滤方法 |
WO2016123907A1 (zh) * | 2015-02-06 | 2016-08-11 | 中兴通讯股份有限公司 | 一种检测重复仿真报文的方法及装置 |
CN106453408A (zh) * | 2016-11-21 | 2017-02-22 | 杭州华三通信技术有限公司 | 一种防仿冒下线攻击的方法和装置 |
CN106789884A (zh) * | 2016-11-16 | 2017-05-31 | 上海斐讯数据通信技术有限公司 | 一种Portal认证方法和*** |
US10264013B2 (en) | 2013-01-18 | 2019-04-16 | Hewlett Packard Enterprise Development Lp | Preventing a memory attack to a wireless access point |
CN112653699A (zh) * | 2020-12-22 | 2021-04-13 | 迈普通信技术股份有限公司 | 一种bfd认证方法、装置及电子设备 |
CN112671605A (zh) * | 2020-12-16 | 2021-04-16 | 建信金融科技有限责任公司 | 一种测试方法、装置及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1416241A (zh) * | 2002-10-16 | 2003-05-07 | 华为技术有限公司 | 同时支持基于不同设备网络接入认证的方法 |
JP2004302869A (ja) * | 2003-03-31 | 2004-10-28 | Fuji Xerox Co Ltd | アクセス管理サーバ、ネットワーク装置、ネットワークシステム、アクセス管理方法 |
CN101217567A (zh) * | 2008-01-08 | 2008-07-09 | 杭州华三通信技术有限公司 | 一种页面的推送方法、***和装置 |
CN101277308A (zh) * | 2008-05-23 | 2008-10-01 | 杭州华三通信技术有限公司 | 一种隔离内外网络的方法、认证服务器及接入交换机 |
-
2009
- 2009-11-11 CN CN200910237527.5A patent/CN102065067B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1416241A (zh) * | 2002-10-16 | 2003-05-07 | 华为技术有限公司 | 同时支持基于不同设备网络接入认证的方法 |
JP2004302869A (ja) * | 2003-03-31 | 2004-10-28 | Fuji Xerox Co Ltd | アクセス管理サーバ、ネットワーク装置、ネットワークシステム、アクセス管理方法 |
CN101217567A (zh) * | 2008-01-08 | 2008-07-09 | 杭州华三通信技术有限公司 | 一种页面的推送方法、***和装置 |
CN101277308A (zh) * | 2008-05-23 | 2008-10-01 | 杭州华三通信技术有限公司 | 一种隔离内外网络的方法、认证服务器及接入交换机 |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102684884B (zh) * | 2012-05-24 | 2016-08-03 | 杭州华三通信技术有限公司 | 一种Portal Web服务器及其防止伪造下线请求的方法 |
CN102684884A (zh) * | 2012-05-24 | 2012-09-19 | 杭州华三通信技术有限公司 | 一种Portal Web服务器及其防止伪造下线请求的方法 |
CN102761560B (zh) * | 2012-08-01 | 2015-01-14 | 飞天诚信科技股份有限公司 | 一种验证信息完整性的方法和*** |
CN102761560A (zh) * | 2012-08-01 | 2012-10-31 | 飞天诚信科技股份有限公司 | 一种验证信息完整性的方法和*** |
CN102801733A (zh) * | 2012-08-28 | 2012-11-28 | 盛科网络(苏州)有限公司 | Ptp中设置安全认证的方法 |
CN102857521A (zh) * | 2012-10-12 | 2013-01-02 | 盛科网络(苏州)有限公司 | 设置oam安全认证的方法及装置 |
WO2014110774A1 (en) * | 2013-01-18 | 2014-07-24 | Hewlett-Packard Development Company, L.P. | Preventing an input/output blocking attack to a wireless access point |
US10264013B2 (en) | 2013-01-18 | 2019-04-16 | Hewlett Packard Enterprise Development Lp | Preventing a memory attack to a wireless access point |
CN103237020B (zh) * | 2013-04-07 | 2016-08-17 | 杭州华三通信技术有限公司 | 避免状态机被攻击的方法及服务器、交换机 |
CN103237020A (zh) * | 2013-04-07 | 2013-08-07 | 杭州华三通信技术有限公司 | 避免状态机被攻击的方法及服务器、交换机 |
CN104105125A (zh) * | 2013-04-15 | 2014-10-15 | ***通信集团北京有限公司 | 一种业务处理方法、装置及*** |
CN104105125B (zh) * | 2013-04-15 | 2017-08-25 | ***通信集团北京有限公司 | 一种业务处理方法、装置及*** |
CN103441983A (zh) * | 2013-07-11 | 2013-12-11 | 盛科网络(苏州)有限公司 | 基于链路层发现协议的信息保护方法和装置 |
WO2015149669A1 (zh) * | 2014-04-03 | 2015-10-08 | 国家电网公司 | 一种可信的网络攻击过滤装置及网络攻击过滤方法 |
WO2016123907A1 (zh) * | 2015-02-06 | 2016-08-11 | 中兴通讯股份有限公司 | 一种检测重复仿真报文的方法及装置 |
CN104917765A (zh) * | 2015-06-10 | 2015-09-16 | 杭州华三通信技术有限公司 | 一种防范攻击的方法和设备 |
CN106789884A (zh) * | 2016-11-16 | 2017-05-31 | 上海斐讯数据通信技术有限公司 | 一种Portal认证方法和*** |
CN106453408A (zh) * | 2016-11-21 | 2017-02-22 | 杭州华三通信技术有限公司 | 一种防仿冒下线攻击的方法和装置 |
CN112671605A (zh) * | 2020-12-16 | 2021-04-16 | 建信金融科技有限责任公司 | 一种测试方法、装置及电子设备 |
CN112653699A (zh) * | 2020-12-22 | 2021-04-13 | 迈普通信技术股份有限公司 | 一种bfd认证方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN102065067B (zh) | 2014-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102065067B (zh) | 一种在门户服务器和客户端之间防重放攻击的方法及设备 | |
CN101415012B (zh) | 一种防御地址解析协议报文攻击的方法和*** | |
CN101345743B (zh) | 防止利用地址解析协议进行网络攻击的方法及其*** | |
US8706866B2 (en) | Virtual server and method for identifying zombie, and sinkhole server and method for integratedly managing zombie information | |
CN105897782A (zh) | 一种针对接口的调用请求的处理方法及装置 | |
Shawahna et al. | EDoS-ADS: An enhanced mitigation technique against economic denial of sustainability (EDoS) attacks | |
CN102572815B (zh) | 一种对终端应用请求的处理方法、***及装置 | |
CN109660556B (zh) | 基于信息安全的用户登陆方法、装置、设备和存储介质 | |
CN109714370B (zh) | 一种基于http协议端云安全通信的实现方法 | |
CN109104475B (zh) | 连接恢复方法、装置及*** | |
Ren et al. | A novel dynamic user authentication scheme | |
CN103338201B (zh) | 一种多服务器环境下注册中心参与的远程身份认证方法 | |
CN104660605A (zh) | 一种多因子身份验证方法及其*** | |
CN109756460B (zh) | 一种防重放攻击方法及装置 | |
CN101715009A (zh) | 一种安全的地址分配方法、检测装置、设备和*** | |
CN102185871A (zh) | 一种报文的处理方法和设备 | |
CN101599967A (zh) | 基于802.1x认证***的权限控制方法及*** | |
CN110943840B (zh) | 一种签名验证方法 | |
US20140330689A1 (en) | System and Method for Verifying Online Banking Account Identity Using Real-Time Communication and Digital Certificate | |
Kumar et al. | DDoS attack mitigation in cloud targets using scale-inside out assisted container separation | |
CN110035035B (zh) | 一种单点登录的二次认证方法及*** | |
CN104093135A (zh) | 一种radius认证计费速率调整方法及装置 | |
CN101707604B (zh) | 一种防恶意攻击的方法、***及装置 | |
CN113596839A (zh) | 一种安全可靠的定向访问免流流量认证方法 | |
Chae et al. | The extended authentication protocol using e-mail authentication in OAuth 2.0 protocol for secure granting of user access |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Patentee after: Xinhua three Technology Co., Ltd. Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base Patentee before: Huasan Communication Technology Co., Ltd. |
|
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140625 Termination date: 20191111 |