一种在门户服务器和客户端之间防重放攻击的方法及设备的制作方法

文档序号:7720045阅读:174来源:国知局
专利名称:一种在门户服务器和客户端之间防重放攻击的方法及设备的制作方法
技术领域
本发明涉及安全认证技术领域,具体涉及一种在门户(Portal)Portal服务器和 Portal客户端之间防重放攻击的方法及设备。
背景技术
Portal认证通常也称为Web认证,即通过网页(Web)方式进行用户认证。一般将 Portal认证网站称为门户网站。Portal认证协议主要应用于基于WEB的宽带接入认证系 统中,完成用户的认证和授权。未认证用户上网时,设备强制用户登录到特定站点,用户可 以免费访问其中的服务。当用户需要使用互联网中的其它信息时,必须在门户网站进行认 证,只有认证通过后用户才可以使用互联网资源。整个Portal认证过程涉及到了认证Portal客户端(Portal Client)、认证服务器 (Portal krver)、宽带接入服务器(BAS,Broad Access Server)和认证授权与计费(AAA, Authentication Authorization Accounting)月艮务器。认证主要通过在 Portal Server 禾口 BAS之间的协议交互,协议采用非严格意义上的客户端/服务器(Client/Server)结构,大 部分消息采用请求/响应(Request/Response)方式进行交互。目前,Portal客户端主动要求下线的处理流程如图1所示。在Portal客户端 主动要求下线的过程中,Portal客户端会先主动向Portal服务器发送下线请求报文 (L0G0UT_REQUEST(0x66)),其中该下线请求报文中的认证(Authenticator)字段是对该下 线请求报文中的部分字段和Portal客户端的预置共享密钥进行信息-摘要算法5(MD5, Message-Digest algorithm 5)摘要计算而得出的。当Portal服务器收到上述下线请求报 文后,就会根据这个请求报文中的部分字段和Portal服务器的预置共享密钥进行MD5摘要 计算得到一个值,并和Portal客户端的Authenticator字段的值进行比较,如果相同,就认 为报文是合法的,执行与BAS的交互,最后向Portal客户端返回下线回应报文;否则就认为 报文错误,可以简单丢弃,并进行对丢弃报文的统计。上述处理过程是Portal服务器对于 Portal客户端的一个认证过程。为了完成这个认证过程,要求Portal服务器和Portal客 户端两端需要配置相同的预置共享密钥Gecret),并且双方都是采用相同的加密算法(如 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客户端的验证过程中,通过弓I 入和该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 取或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-l、n-2、...。在分配的用户序列 号达到数值空间的下限时,则继续从数值空间的上限开始循环进行分配。下表1中示出了 Portal服务器维护的对应关系表的中可能包括的内容。其中每 行的用户序列号和IP地址就是Portal服务器为某个客户端所分配的用户序列号和IP地 址。
权利要求
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服 务器在所述第一、第二下线序列号相同时,根据预定摘要算法对预置共享密钥和所述预定 字段进行摘要计算得到的。
全文摘要
本发明提供了一种在门户服务器和客户端之间防重放攻击的方法及设备。本发明通过Portal服务器为客户端分配对应的序列号,例如用户序列号或下线序列号,并在下线认证过程中利用该序列号来检测重放报文,从而能够有效地防止下线请求报文的重放攻击,提高Portal认证系统的安全性。
文档编号H04L29/06GK102065067SQ20091023752
公开日2011年5月18日 申请日期2009年11月11日 优先权日2009年11月11日
发明者伊莉娜, 刘洋 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1