首页> 中国专利> 基于混沌加密算法解决IMS网络DNS欺骗攻击的方法

基于混沌加密算法解决IMS网络DNS欺骗攻击的方法

摘要

本发明公开了信息安全技术领域中的一种基于混沌加密算法解决IMS网络DNS欺骗攻击的方法。通过共享密钥K计算混沌参数,并构造第一混沌系统;利用第一混沌系统对查询数据包的序列号进行加密得到E

著录项

  • 公开/公告号CN101651677A

    专利类型发明专利

  • 公开/公告日2010-02-17

    原文格式PDF

  • 申请/专利权人 北京交通大学;

    申请/专利号CN200910092055.9

  • 发明设计人 朱刚;陆程遂;艾渤;

    申请日2009-09-11

  • 分类号H04L29/06;H04L29/12;H04L9/00;H04W12/04;H04W12/06;

  • 代理机构北京众合诚成知识产权代理有限公司;

  • 代理人童晓琳

  • 地址 100044 北京市西直门外上园村3号北京交通大学科技处

  • 入库时间 2023-12-17 23:27:13

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-11-03

    未缴年费专利权终止 IPC(主分类):H04L29/06 授权公告日:20120808 终止日期:20160911 申请日:20090911

    专利权的终止

  • 2012-08-08

    授权

    授权

  • 2010-04-21

    实质审查的生效 IPC(主分类):H04L29/06 申请日:20090911

    实质审查的生效

  • 2010-02-17

    公开

    公开

说明书

技术领域

本发明属于信息安全技术领域,尤其涉及一种基于混沌加密算法解决IMS网络DNS欺骗攻击的方法。

背景技术

3GPP(The 3rd Generation Partnership Project,第三代移动通信伙伴计划)Release 5版本开始定义的IMS(IP Multimedia Subsystem,IP多媒体子系统),是将IP技术与移动通信深度融合的产物。IMS充分利用了IP网络的低成本、高宽带利用率和快速提供服务的特性,以及移动通信网络灵活接入和安全架构的优势,并吸取了目前基于软交换的NGN(Next Generation Network,下一代网络)在业务开展中的问题,已经成为下一代通信网络领域对于FMC(Fixed Mobile Convergence,固定移动融合)技术的共识。

DNS(Domain Name System,域名系统)是IP网络中的重要基础设施,被设计为一个联机分布式数据库系统,其主要作用是将易于记忆的主机名称映射为枯燥难记的IP地址。例如,用户在浏览器地址栏输入www.google.com,DNS会将其转换成为机器可以识别的IP地址64.233.189.99。许多应用层软件都需要直接使用DNS解析系统。它是网页浏览、电子邮件、Telnet等各种网络应用正常运行的前提和保障。

IMS网络的安全机制AKA(Authentication and Key Agreement,认证和密钥协商)协议沿用了3G无线网络鉴权机制的原理和核心算法,用于用户认证和会话密钥的分发,使用“挑战/应答”模式完成用户和网络之间的双向认证。它的实现基于一个长期共享密钥和一个随机序列号,它们仅在HSS(Home Subscriber Server,归属用户服务器)的认证中心模块和UE(UserEquipment,用户设备)的ISIM(IP Multimedia Services Identity Module,IMS用户身份模块)中可见。

然而,由于IP协议存在着固有的缺陷和安全漏洞,使移动通信网络引入IMS架构后,面临着与现有互联网同样的安全威胁,如DNS欺骗、DOS(Denialof Service,拒绝服务)攻击等。

DNS作为Internet的早期协议,从一开始就被认为是一个完全开放的协作体系,其中存在的各类数据从未进行加密,没有提供适当的信息保护和认证机制,同时基础设施、骨干设备的安全性也没有得到足够的重视,只使用一个明文序列号来匹配DNS查询-应答数据包和进行有效性鉴别,这使得其它DNS服务器或客户端上的攻击者可以很容易地监听到查询请求,并伪造DNS应答包将合法用户的域名解析请求重定向到恶意的IP地址上,从而实现DNS欺骗攻击。

发明内容

本发明的目的在于,提出一种基于混沌加密算法解决IMS网络DNS欺骗攻击的方法,用于解决DNS易于遭受欺骗攻击的问题。

本发明的技术方案是,一种基于混沌加密算法防御DNS欺骗攻击的方法,其特征在于,所述方法包括下列步骤:

步骤1:当DNS查询方发起DNS查询请求时,所述DNS查询方选择混沌系统模型,并通过ISIM模块的共享密钥K或者IMS网络域分配的密钥对计算混沌参数,构造第一混沌系统;

步骤2:再利用所述第一混沌系统对查询数据包的序列号进行加密,将得到的加密序列号与查询数据包的内容合并后发送;

步骤3:DNS查询方在等待DNS应答方发送的DNS应答数据包的同时,迭代计算所述加密序列号,得到第一混沌系统迭代加密序列号;

步骤4:DNS应答方接收到查询数据包后,由所述DNS查询方接入认证时使用的共享密钥K及步骤1所述的混沌系统模型,构造参数相同的第二混沌系统,并对所述加密序列号进行迭代计算,得到第二混沌系统迭代加密序列号,与查询结果合并,组成DNS应答数据包后返回DNS查询方;

步骤5:DNS查询方对DNS应答数据包进行判断,如果第一混沌系统迭代加密序列号与第二混沌系统迭代加密序列号相等,则DNS应答数据包为合法应答数据包,DNS查询方对DNS应答数据包进行正常操作;否则DNS应答数据包为欺骗应答数据包,DNS查询方将所述欺骗应答数据包丢弃。

所述的混沌系统模型具体选用Henon二维离散混沌映射。

所述通过ISIM模块的共享密钥K计算混沌参数具体是:

所述步骤4中,在DNS应答方将DNS应答数据包返回DNS查询方之后,等待DNS查询方发送的下一个DNS查询数据包之前,还包括DNS应答方预先计算第二混沌系统迭代加密序列号后两步的迭代值并存储在DNS应答方序列缓存表中,用于对后续DNS查询数据包进行处理,减少处理时延。

所述步骤5在DNS查询方接收到DNS应答数据包后,判断第一混沌系统迭代加密序列号与第二混沌系统迭代加密序列号是否相等之前,还包括DNS查询方判断第二混沌系统迭代加密序列号是否正常,如果不正常,DNS查询方向DNS应答方发送失步通告。

所述步骤5之后,还包括DNS查询方使用第一混沌系统对所述第一混沌系统迭代加密序列号进行一步迭代计算,并将计算结果作为DNS查询数据包的序列号;DNS应答方使用第二混沌系统对所述DNS查询数据包的序列号进行一步迭代计算,并将计算结果作为DNS应答数据包的序列号;继续重复进行DNS查询与应答通信。

所述DNS查询方包括用户设备或者DNS查询服务器,用于发起DNS查询请求。

所述DNS应答方包括DNS服务器或者DNS应答服务器,用于根据DNS查询请求返回查询结果。

本发明基于混沌加密算法,在DNS查询方和DNS应答方,使用参数相同且模型相同的混沌系统,在DNS查询与应答通信过程中,分别对查询数据包的序列号和应答数据包的序列号进行加密或者迭代计算,从而确保了DNS查询与应答通信的安全。同时,加密或者迭代计算只对数据包的序列号进行,保证了运算的实时性。

附图说明

图1是DNS欺骗防御示意图;

图2是基于混沌加密算法解决IMS网络DNS欺骗攻击的方法的原理图;

图3是本发明提供的实施例1的流程图;

图4是DNS查询数据包格式示意图;

图5是本发明提供的实施例2的流程图。

具体实施方式

下面结合附图,对优选实施例作详细说明。应该强调的是,下述说明仅仅是示例性的,而不是为了限制本发明的范围及其应用。

图1是DNS欺骗防御示意图。图1中,在域名解析查询过程中,DNS客户端向DNS服务器发送对于a.b.c.d的域名解析请求的DNS查询数据包,攻击者监听到查询请求后,根据请求序列号向DNS客户端(也就是被攻击者)发送欺骗应答数据包,通知与a.b.c.d对应的IP地址为4.3.2.1,合法DNS服务器查询后返回包含正确IP地址1.2.3.4的合法应答数据包,但时间上会晚于攻击者的应答,增加混沌加密序列号的DNS欺骗防御方法则可以区分合法应答包与虚假应答包。

图2是基于混沌加密算法解决IMS网络DNS欺骗攻击的方法的原理图。图2中,针对目前IMS网络DNS经常遇到的欺骗攻击,本发明提出了一种基于混沌加密算法解决IMS网络DNS欺骗攻击的方法,该方法的基本原理是:在DNS查询方发起DNS查询请求时,DNS查询方先选择混沌系统,再通过ISIM模块的共享密钥K或者IMS网络域分配的密钥K计算混沌参数,并构造第一混沌系统。之后再利用第一混沌系统对查询数据包的序列号进行加密,将得到的加密序列号与查询数据包的内容合并后发送;DNS查询方在等待DNS应答数据包的同时,迭代计算加密序列号,得到第一混沌系统迭代加密序列号;DNS应答方接收到查询数据包后,构造与第一混沌系统具有相同混沌加密参数的第二混沌系统,并对所述加密序列号进行迭代计算,得到第二混沌系统迭代加密序列号,与查询结果合并,组成DNS应答数据包后返回DNS查询方;DNS查询方对DNS应答数据包进行判断,如果第一混沌系统迭代加密序列号与第二混沌系统迭代加密序列号相等,则DNS应答数据包为合法应答数据包,DNS查询方对DNS应答数据包进行正常操作;否则DNS应答数据包为欺骗应答数据包,DNS查询方将所述欺骗应答数据包丢弃。

实施例1

图3是本发明提供的实施例1的流程图。图3中,在本发明的实施例1提供的基于混沌加密算法解决IMS网络DNS欺骗攻击的方法中,DNS查询方具体采用用户设备,即DNS终端,用户发起DNS查询请求;DNS应答方具体采用DNS服务器,DNS服务器接收用户设备发送的查询数据包并返回查询结果。本实施例具体包括下列步骤:

步骤101:当用户设备发起DNS查询请求时,先通过ISIM模块的共享密钥K计算混沌参数。

用户设备作为DNS客户端可以从智能卡的ISIM模块中读取共享密钥,智能卡即通常使用的SIM卡(Subscriber Identity Module,用户身份识别模块),是一张内含大规模集成电路的智能卡,用来登记用户身份识别数据和信息。每个DNS客户端都需要接一个。ISIM即IMS SIM,保存IMS用户信息并为IMS网络提供安全保障,如鉴权、生成密钥的算法等。

对于DNS客户端,即用户设备,可以直接从智能卡的ISIM模块中读取共享密钥K。而IMS中没有专门的DNS服务器这一网络实体(因特网有),DNS服务器的功能是在服务呼叫会话控制功能(S-CSCF,Serving-Call SessionControl Function)上实现的(IMS核心网主要由代理呼叫会话控制功能Proxy-CSCF、问询呼叫会话控制功能Interrogating-CSCF和S-CSCF组成),S-CSCF还有对用户设备进行接入认证,保证通信前只有拥有合法SIM卡的用户才能接入网络的功能,它在提供DNS服务前的接入认证过程已从HSS的认证数据库下载了用户的共享密钥K,并保存在内存中。

共享密钥K是IMS网络AKA安全机制中使用的密钥之一,是终端设备的根密钥。对共享密钥K经归一化处理后,计算混沌加密参数。在本实施例中,设定混沌加密参数为a,则在本发明中,a具体可以是:a=K2128-1×0.33+1.07.

步骤102:选择混沌系统模型,并根据所述混沌系统模型,在用户设备和DNS服务器上构造两个具有相同混沌加密参数的混沌系统,分别记作第一混沌系统和第二混沌系统。

在本实施例中,选择Henon二维离散混沌映射,作为混沌系统模型,该混沌系统模型满足如下公式:

X1(k+1)=1+X2(k)-aX12(k)

X2(k+1)=0.3X1(k)

其中,k是混沌加密值的序号,(k=0,1,2,...)。

分别在用户设备和DNS服务器上构造两个具有相同参数的混沌系统,记作第一混沌系统和第二混沌系统。在DNS服务器上构造的第二混沌系统可以在DNS服务器收到用户设备发送的查询数据包时,进行构造。

步骤103:在用户设备发送DNS查询数据包前,使用第一混沌系统对DNS查询数据包的序列号进行加密,得到加密序列号EH,A(ID1);其中第一下标H表示使用Henon混沌加密算法,第二下标A表示第一混沌系统,以上计算均使用64-bit双精度类型。查询数据包的序列号即查询数据包的包头序列号,因为每个数据包的序列号只有一个,因此本发明中简称查询数据包的序列号。

步骤104:用户设备用加密序列号EH,A(ID1)作为查询数据包的序列号,与查询数据包的查询请求内容一起发送到DNS服务器。

图4是DNS查询数据包格式示意图。图4中,DNS查询数据包主要包括序列号、标志、问题数、资源记录数、授权资源记录数、额外资源记录数和查询数据等参数。其中,图4中第一行数字0、1、2、3表示字节数,第二行数值0-7表示比特位,每字节包含8个比特位,习惯上从0开始计数。根据技术上的需要,序列号至少需能抵御穷举攻击,其余字段与原DNS协议兼容,所以序列号、标志、问题数、资源记录数、授权资源记录数、额外资源记录数和查询数据的长度,在本实施例中,分别为64、16、16、16、16、16比特位和可变长度。各个参数的含义如下表(表1,见下页)。

  参数名称  参数意义  序列号  经过Henon混沌加密后的序列号,用来判断响应  与请求是否匹配  标志  表示请求或响应报文的类型,包括授权、截断、  递归、失步等字段,除失步字段替换保留字段外,其  余均与RFC1035标准兼容  问题数  查询问题的数量  资源记录数  DNS应答段中返回的资源记录数  授权资源记录数  DNS应答段中所包括的授权域名服务器的资源记  录数  额外资源记录数  附加的授权域名服务器资源记录数  查询数据  DNS查询正文,包括查询问题(或应答)、授权和  额外信息(资源记录数可变)

表1:防御DNS欺骗攻击使用的查询数据包参数含义表。

步骤105:用户设备在等待DNS服务器发送的DNS应答数据包的同时,对加密序列号EH,A(ID1)进行一步迭代计算,获得第一混沌系统迭代加密序列号EH,A(ID2)。

步骤106:DNS服务器接收到用户设备发送的DNS查询数据包后,不必对加密序列号EH,A(ID1)进行解密,直接利用具有相同混沌加密参数a的第二混沌系统对加密序列号EH,A(ID1)进行一步迭代计算,得到第二混沌系统迭代加密序列号EH,B(ID2)。

步骤107:DNS服务器将所述第二混沌系统迭代加密序列号EH,B(ID2)作为DNS应答数据包的序列号,并与查询资源记录数据库得到的DNS查询结果合并,生成完整的DNS应答数据包,发送到用户设备。生成完整的DNS应答数据包的结果与DNS查询数据包的结构相同,如图4所示。

步骤108:用户设备接收到DNS应答数据包后,判断DNS应答数据包的序列号EH,B(ID2)(也就是第二混沌系统迭代加密序列号)与第一混沌系统迭代加密序列号EH,A(ID2)是否相等,如果是,则执行步骤109;否则,执行步骤110。

步骤109:DNS应答数据包为合法应答数据包,用户设备对DNS应答数据包进行正常操作。

步骤110:DNS应答数据包为欺骗应答数据包,用户设备将所述欺骗应答数据包丢弃。

由于第一混沌系统和第二混沌系统为混沌加密参数相同的Henon混沌系统,他们计算得到的迭代结果也相等。而在IMS网络中要实施DNS欺骗的恶意服务器,虽然能够窃听到DNS查询数据包并在合法应答数据包到达前,将伪造的虚假应答数据包路由至被攻击者,但攻击者不具备与第一混沌系统和第二混沌系统参数相同的混沌系统,欺骗应答报文会因(EH,A(ID1)+1)、EH,C(ID2)或其他形式的错误序列号而被丢弃。

上述步骤107中,在DNS服务器将DNS应答数据包发送到用户设备之后,等待用户设备发送的下一个DNS查询数据包之前,还可以加入步骤107’,在该步骤中,DNS服务器预先计算第二混沌系统迭代加密序列号EH,B(ID2)的后两步的迭代值RH,B(ID4)并存储在DNS服务器序列缓存表中,用于对后续DNS查询数据包进行处理,减少处理时延。DNS服务器序列缓存表的格式下表(表2,见下页)所示。

  编号  IP地址  参数aH  EH,B(IDn+2)  TTL  1  IP1  aH1  EH,B1(IDn+2)  TTL1  2  IP2  aH2  EH,B2(IDn+2)  TTL2  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  n  IPn  aHn  EH,Bn(IDn+2)  TTLn  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .

表2:DNS服务器序列缓存表存储格式

表2中,各个字段的含义如下表(表3)。

  参数名称  参数意义  编号  区分不同的缓存条目  IP地址  表示与DNS服务器通信的各用户设备,在进行DNS  递归查询时也可以表示其他DNS服务器  参数aH  由共享密钥生成的Henon混沌加密参数  EH,B(IDn+2)  在混沌系统B中预先计算的后两步迭代值  TTL  缓存条目的生存时间,超时则由DNS服务器自动  删除

表3:DNS服务器序列缓存表字段含义

上述步骤108在用户设备接收到DNS应答数据包后,判断应返回的DNS应答数据包的序列号EH,B(ID2)与第一混沌系统迭代加密序列号EH,A(ID2)是否相等之前,还可以包括步骤108’,在该步骤中,用户设备判断DNS应答数据包的序列号是否正常。如果DNS应答数据包的序列号不正常,则DNS应答数据包的序列号是失步或错误的序列号,用户设备向DNS服务器发送失步通告。同时,将图4所示的DNS查询数据包标志部分的失步字段置为1。当DNS查询服务器向DNS应答服务器发送失步通告后,在进行新的DNS查询-应答通信时,跳回步骤101或者步骤103。如果跳回步骤101,则需要重新构造混沌系统;如果跳回步骤103,则不需重新构造混沌系统,使用已有的混沌系统即可。

在DNS进行完一次查询与应答通信,比如用户设备在查询第一个网址(如www.google.com)后,又要继续查询其它网址(如www.sina.com),即进行下一个查询与应答通信,为了防止目前网络中的重放技术,可以继续使用上述方法,分别用第一混沌系统和第二混沌系统对查询数据包的序列号和应答数据包的序列号进行迭代计算,并通过比较迭代计算后的查询数据包的序列号和应答数据包的序列号,来判断DNS是否遭到欺骗攻击。

如背景技术最后一段最后两行所述,攻击者在交换机或路由器上窃听到用户设备发送的DNS查询数据包及其中的EH,A(ID3),由于不需进行DNS查询,直接将恶意IP地址填入应答字段,而且授权资源记录数、额外资源记录数一般不进行计算而全部为空或为固定值,所以能够早于合法应答数据包到达,如果攻击者也将窃听到的EH,A(ID3)填入应答数据包,则难以区分出恶意应答。针对上述情况,当DNS完成第一次查询与应答通信之后,还可以使用本发明继续进行查询与应答通信。具体过程是,在上述步骤108之后,如果用户设备继续与DNS服务器进行查询与应答通信,则用户设备可以使用第一混沌系统对第一混沌系统迭代加密序列号EH,A(ID2)进行一步迭代计算得到EH,A(ID3),将计算结果作为DNS查询数据包的序列号,然后将DNS查询数据包发送到DNS服务器。在等待DNS服务器发送的应答数据包时,用户设备的第一混沌系统对EH,A(ID3)进行一步迭代计算得到EH,A(ID4)。DNS服务器收到DNS查询数据包后,使用第二混沌系统对EH,A(ID3)进行一步迭代计算得到EH,B(ID4),由于该步骤可以事先通过步骤107’完成,并存储在DNS服务器序列缓存表中,因此如果事先计算出了EH,B(ID4),可以通过读取DNS服务器序列缓存表获得EH,B(ID4)。在获得EH,B(ID4)后,DNS服务器还可以对EH,B(ID4)进行两步迭代,得到EH,B(ID6),并存在DNS服务器序列缓存表中,用于对后续DNS查询数据包进行处理。将EH,B(ID4)作为DNS应答数据包的序列号,与查询资源记录数据库得到的DNS查询结果合并,生成完整的DNS应答数据包,发送到用户设备。用户设备在收到DNS应答数据包后,判断EH,A(ID4)和EH,B(ID4)的值,确定DNS应答数据包后是否合法。

此后,如果用户设备还要与DNS服务器进行查询与应答通信,则可以使用EH,A(ID5)和EH,B(ID6)分别作为DNS查询数据包的序列号和DNS应答数据包的序列号,用于判断DNS应答数据包的合法性。依此类推,可以成对使用EH,A(IDn)和EH,B(IDn+1)(n=2k+1,k=1,2,3...)分别作为DNS查询数据包的序列号和DNS应答数据包的序列号,在后续用户设备与DNS服务器进行的查询与应答通信中,判断DNS应答数据包的合法性。

实施例2

图5是本发明提供的实施例2的流程图。图5中,在本发明的实施例2提供的基于混沌加密算法解决IMS网络DNS欺骗攻击的方法中,DNS查询方具体采用DNS查询服务器,用于发起DNS查询请求;DNS应答方具体采用DNS应答服务器,用于接收DNS查询服务器发送的查询数据包并返回查询结果。本实施例具体包括下列步骤:

步骤201:当DNS查询服务器发起DNS查询请求时,DNS查询服务器与DNS应答服务器利用IMS网络域SA(安全联盟)分配的密钥对,通过公式计算混沌参数,并分别在DNS查询服务器和DNS查询应答器上构造参数相同的混沌系统,分别记作第一混沌系统和第二混沌系统。

在本步骤中,DNS应答服务器建立的第二混沌系统,也可在DNS应答服务器收到DNS查询服务器发送的查询数据包后建立。

步骤202:DNS查询服务器发起查询前,使用第一混沌系统对查询数据包的序列号加密,得到加密序列号EH,A(ID1);其中第一下标H表示使用Henon混沌加密算法,第二下标A表示第一混沌系统,以上计算均使用64-bit双精度类型。

步骤203:DNS查询服务器将加密序列号EH,A(ID1)与DNS查询内容合并,生成完整的DNS查询数据包并发送至DNS应答服务器。DNS查询数据包格式如图4所示,因其在实施例1中已有详细介绍,故此处不再赘述。

步骤204:DNS查询服务器在等待DNS应答数据包的同时,对加密序列号EH,A(ID1)进行一步迭代计算,获得第一混沌系统迭代加密序列号EH,A(ID2)。

步骤205:DNS应答服务器接收到DNS查询数据包后,不必对加密的序列号进行解密,直接利用第二混沌系统对加密序列号EH,A(ID1)进行一步迭代计算,得到第二混沌系统迭代加密序列号EH,B(ID2)。

步骤206:DNS应答服务器将上一步骤的计算结果与查询资源记录数据库得到的DNS查询结果合并,生成完整的DNS应答数据包并发送。此时,上一步的计算结果为第二混沌系统迭代加密序列号EH,B(ID2),将其与查询资源记录数据库得到的DNS查询结果合并,生成完整的DNS应答数据包并发送到DNS应答服务器。

步骤207:当DNS查询服务器接收到DNS应答数据包时,对DNS应答数据包的序列号与DNS查询服务器在等待DNS应答数据包时预先计算的迭代结果进行比较判断,判断二者是否相等,如果是,则执行步骤208;否则执行步骤213。此时,DNS应答数据包的序列号为第二混沌系统迭代加密序列号EH,B(ID2),DNS查询服务器在等待DNS应答数据包时预先计算的迭代结果为第一混沌系统迭代加密序列号EH,A(ID2),比较EH,B(ID2)与EH,A(ID2),判断二者是否相等,如果是,则执行步骤208;否则执行步骤213。

步骤208:DNS应答数据包为合法应答数据包,DNS查询服务器对DNS应答数据包进行正常操作。如果DNS查询服务器与DNS应答服务器继续使用前述混沌迭代值作为序列号进行DNS查询-应答通信,则继续执行步骤209。

步骤209:DNS查询服务器使用第一混沌系统对第一混沌系统迭代加密序列号EH,A(ID2)进行一步迭代计算得到EH,A(ID3),将计算结果作为DNS查询数据包的序列号。

步骤210:将步骤209计算的结果与DNS查询数据包的内容合并,组成完整的DNS查询数据包,发送到DNS应答服务器。

步骤211:DNS查询服务器在等待DNS应答数据包的同时,对步骤209的计算结果EH,A(ID3)进行一步迭代计算得到EH,A(ID4)。

步骤212:DNS应答服务器使用第一混沌系统对步骤211的计算结果EH,A(ID3)进行一步迭代计算得到EH,B(ID4),而后跳转至步骤206。

此时,DNS应答服务器的上一步骤的计算结果已经成为步骤212的计算结果EH,B(ID4),将其与查询资源记录数据库得到的DNS查询结果合并,生成完整的DNS应答数据包并发送。而步骤207中,DNS查询服务器接收到DNS应答数据包时,对DNS应答数据包的序列号与DNS查询服务器在等待DNS应答数据包时预先计算的迭代结果进行比较判断。此时,DNS应答数据包的序列号为EH,B(ID4),DNS查询服务器在等待DNS应答数据包时预先计算的迭代结果为步骤212的计算结果EH,A(ID4),对EH,B(ID4)和EH,A(ID4)进行比较判断,判断二者是否相等,如果是,则执行步骤208;否则执行步骤209。重复执行步骤208-步骤212,在后续的DNS查询-应答通信中,可以进行循环迭代。即使用EH,A(IDn)和EH,B(IDn+1)(n=2k+1,k=1,2,3...)分别作为DNS查询数据包的序列号和DNS应答数据包的序列号,在后续DNS查询服务器与DNS应答服务器进行的查询与应答通信中,判断DNS应答数据包的合法性。

步骤213:DNS应答数据包为欺骗应答数据包,DNS查询服务器将所述欺骗应答数据包丢弃。如果DNS查询服务器与DNS应答服务器继续进行DNS查询-应答通信,则可跳转至步骤201,生成新的混沌系统,重新执行步骤201-207,进行DNS查询-应答通信。也可以不用生成新的混沌系统,使用已有的混沌系统,此时跳转至步骤202,执行步骤202-207。在本实施例中,不重新构造混沌系统,如果DNS查询服务器与DNS应答服务器继续进行DNS查询-应答通信,则跳回步骤202,如图5所示。

另外,在本实施例中,在上述步骤206中,当DNS应答服务器将DNS应答数据包发送到DNS查询服务器之后,等待DNS查询服务器发送的下一个DNS查询数据包之前,还可以加入步骤206’,在步骤206’中,DNS应答服务器预先计算上一步骤的后两步的迭代值,如果上一步骤是步骤205,则后两步的迭代值为EH,B(ID4);如果上一步骤是步骤212,则后两步的迭代值为EH,B(IDn+1)(n=2k+1,k=2,3...),将其存储在DNS应答服务器序列缓存表中,用于对后续DNS查询数据包进行处理,可以减少处理时延。DNS应答服务器序列缓存表的格式如实施例1中的表2和表3所示。

上述步骤207在DNS查询服务器接收到DNS应答数据包后,判断DNS应答数据包的序列号与DNS查询服务器在等待DNS应答数据包时预先计算的迭代结果是否相等之前,还可以包括步骤207’,在该步骤中,DNS查询服务器判断DNS应答数据包的序列号是否正常。如果DNS应答数据包的序列号不正常,则DNS应答数据包的序列号是失步或错误的序列号,DNS查询服务器向DNS应答服务器发送失步通告。同时,将图4所示的DNS查询数据包标志部分的失步字段置为1。当DNS查询服务器向DNS应答服务器发送失步通告后,在进行新的DNS查询-应答通信时,跳回步骤201或者步骤202。如果跳回步骤201,则需要重新构造混沌系统;如果跳回步骤202,则不需重新构造混沌系统,使用已有的混沌系统即可。

本发明基于混沌加密算法,在DNS查询方和DNS应答方,使用参数相同且模型相同的混沌系统,在DNS查询与应答通信过程中,分别对查询数据包的序列号和应答数据包的序列号进行加密或者迭代计算,从而确保了DNS查询与应答通信的安全。同时,这种方法比对整个数据包进行加密的开销小,在递归查询中更有优势。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号