开放式最短路径优先报文处理方法及拟态设备与流程

文档序号:23551541发布日期:2021-01-05 21:10阅读:124来源:国知局
开放式最短路径优先报文处理方法及拟态设备与流程

本发明涉及互联网通信技术领域,特别涉及一种开放式最短路径优先报文处理方法及拟态设备。



背景技术:

近些年,随着互联网通信技术的不断发展,通信应用得到了前所未有的普及。开放式最短路径优先(openshortestpathfirst,ospf)是广泛使用的一种动态路由协议,它属于链路状态路由协议,具有路由变化收敛速度快、无路由环路、支持变长子网掩码(vlsm)和汇总、层次区域划分等优点。每个路由器负责发现、维护与邻居的关系,并将已知的邻居列表和链路费用lsu(linkstateupdate)报文描述,通过可靠的泛洪与自治系统as(autonomoussystem)内的其他路由器周期性交互,学习到整个自治系统的网络拓扑结构;并通过自治系统边界的路由器注入其他as的路由信息,从而得到整个internet的路由信息。每隔一个特定时间或当链路状态发生变化时,重新生成lsa,路由器通过泛洪机制将新lsa通告出去,以便实现路由的实时更新。

根据rfc2328标准规定,ospf协议报文的认证分为三种:空认证(nullauthentication)、简单密码认证(simplepasswordauthentication),密码学认证(cryptographicauthentication)。对于空认证和简单密码认证的ospf协议报文,仅是针对ospf协议报文做认证,但是对于认证的字段并不相同。对于密码学认证的ospf协议报文,在对ospf协议报文进行认证的同时,需要考虑ospf协议报文的密码学序列号(cryptographicsequencenumber),确保收到的密码学序列号符合标准规定的原则。通信系统数据传输过程中的数据安全越来越得到更多人关注,传输过程中的数据安全越来越得到更多人的关注,传统的路由设备一般没有防火墙、防病毒等对恶意攻击相关安全防护手段,并且其潜在的漏洞众多,一旦攻击者控制了路由设备,就可发起大规模的中间人攻击,进行敏感数据窃取或篡改,甚至导致网络大规模瘫痪。拟态交换机和拟态路由器等拟态设备的出现提供了一种新的解决思路,拟态设备在其架构中引入多个异构冗余的执行体,通过对不同执行体的策略或者周期性调度,对外呈现特征的不确定性变化。通过对各个执行体生成的路由表项进行路由裁决,生成共识路由表;在差异化设计的前提下,不同执行体存在完全相同漏洞或后门的概率极低,攻击者即使控制了部分执行体,拟态裁决机制也会给识别出其恶意行为,极大地提高拟态设备应对网络攻击的能力。为配合拟态设备及外部设备之间的数据交互,需要ospf协议代理组件能够针对报文类型分别进行处理,以保证报文交互有效性。



技术实现要素:

为此,本发明提供一种开放式最短路径优先报文处理方法及拟态设备,通过在拟态设备中引入依据报文类型进行相应处理的ospf代理模块,能够保证ospf路由数据的多元化,便于网络防御中拟态方案的有效实施。

按照本发明所提供的设计方案,一种开放式最短路径优先报文处理方法,其特征在于,通过在拟态设备中设置ospf协议代理模块实现外部设备与拟态设备中各执行体之间协议报文的交互认证处理,拟态设备中各执行体分为并列设置的主执行体和多个从执行体,该交互认证处理过程包含:

针对来自外设备的ospf协议报文,缓存邻居相关信息,该相关信息中每个邻居的键值由外部设备ip地址、外部设备routerid、外部设备区域id、拟态设备ip地址、拟态设备routerid组成,并依据报文类型确定是否转发给拟态设备中各执行体;

针对来自拟态设备中各执行体的ospf协议报文,依据报文类型确定是否将该ospf协议报文转发给外部设备。

作为本发明开放式最短路径优先报文处理方法,进一步地,针对ospf协议报文中设置密码学认证的情形,缓存邻居相关消息时,根据每个邻居键值标记更新密码学序列号,并对密码学序列号进行缓存。

作为本发明开放式最短路径优先报文处理方法,进一步地,ospf协议报文类型为hello报文时,针对协议报文来自外部设备的情形,若协议报文是空认证或简单密码认证,则将该协议报文复制分发至拟态设备中各执行体,若协议报文是密码学认证,则根据邻居键值标记更新缓存中的密码学序列号值将协议报文复制分发至拟态设备中各执行体;针对协议报文来自拟态设备中各执行体的情形,将协议报文按原有流程进行转发。

作为本发明开放式最短路径优先报文处理方法,进一步地,ospf协议报文类型为dd报文时,针对协议报文来自外部设备的情形,若协议报文是空认证或简单密码认证,则将协议报文转发至主执行体,若协议报文是密码学认证,则根据邻居键值更新缓存中密码学序列值将协议报文转发至主执行体;协议报文来自拟态设备中主执行体时,将协议报文按照原有流程转发,若协议报文来自拟态设备中从执行体时,则根据协议报文中目的ip、区域id字段查询缓存中邻居信息,并将内生报文发送至源执行体。

作为本发明开放式最短路径优先报文处理方法,进一步地,内生报文构造中,如果配置为空认证,则重新计算内生协议报文头部校验和值,若配置为简单密码认证,则根据配置认证字段填写内生协议报文身份认证字段,并重新计算内生协议报文头部校验和值,若配置为密码学认证,将协议报文中头部校验和值填写为0,并根据邻居信息缓存的密码学序列号填写协议报文头部密码学序列号,重新生成新的消息摘要,并添加至内生报文中。

作为本发明开放式最短路径优先报文处理方法,进一步地,ospf协议报文类型为lsr报文时,针对协议报文来自外部设备的情形,若协议报文是空认证或简单密码认证,则将协议报文转发至主执行体,若协议报文是密码学认证,则根据邻居键值标记更新缓存中密码学序列键值,并将协议报文转发至主执行体;协议报文来自拟态设备中主执行体时,将协议报文按原有流程转发,若来自从执行体,则根据协议报文中目的ip、区域id字段查询缓冲中邻居信息,并将内生报文发送至源执行体。

作为本发明开放式最短路径优先报文处理方法,进一步地,内生报文构造中,如果配置为空认证,则重新计算内生报文头部校验和值,若配置为简单密码认证,则根据配置认证字段填写内生报文身份认证字段,并重新计算内生报文头部校验和值,若配置为密码学认证,将内生报文中头部校验和值填写为0,并根据邻居信息缓存的密码学序列号填写协议报文头部密码学序列号,重新生成新的消息摘要,并添加至内生报文中。

作为本发明开放式最短路径优先报文处理方法,进一步地,ospf协议报文类型为lsu报文时,针对协议报文来自外部设备的情形,若协议报文是空认证或者简单密码认证,则将协议报文发送至各执行体,若协议报文是密码学认证,则根据邻居键值标记更新缓存中密码学序列值,并将协议报文转发至各执行体;协议报文来自拟态设备中主执行体时,则将协议报文按原有流程转发,若来自从执行体,则将协议报文丢弃。

作为本发明开放式最短路径优先报文处理方法,进一步地,ospf协议报文类型为lsa报文时,针对协议报文来自外部设备的情形,若协议报文是空认证或者简单密码认证,则将协议报文发送至主执行体,若协议报文是密码学认证,则根据邻居键值标记更新缓存中密码学序列值,并将协议报文转发至主执行体;协议报文来自拟态设备中主执行体时,则将协议报文按原有流程转发,若来自从执行体,则将协议报文丢弃。

作为本发明开放式最短路径优先报文处理方法,进一步地,拟态设备中主执行体和各从执行体采用执行相同功能的异构软件和/或硬件结构。

进一步地,基于上述的方法,本发明还提供一种拟态设备,应用于通信网络中开放式最短路径优先报文处理,包含:设于网络设备之间的ospf代理模块,和与ospf代理模块连接的主执行体和多个从执行体,所述主执行体和多个从执行体并列设置且采用执行相同功能的异构软件和/或硬件结构,其中,ospf代理模块,针对来自外设备的ospf协议报文,缓存邻居相关信息,该相关信息中每个邻居的键值由外部设备ip地址、外部设备routerid、外部设备区域id、拟态设备ip地址、拟态设备routerid组成,并依据报文类型确定是否转发给拟态设备中各执行体;针对来自拟态设备中各执行体的ospf协议报文,依据报文类型确定是否将该ospf协议报文转发给外部设备。

本发明的有益效果:

本发明通过在拟态设备中引入ospf代理模块,有针对性地结合ospf报文类型进行相应报文的转发处理。鉴于目前传统路由设备对于开启密码学认证的ospf报文处理的复杂性和安全性,需要在拟态设备的不同执行体做定制化的处理,提供一种在ospf代理模块中对于开启密码学认证的ospf报文的处理方案,有效保证对于所有开启密码学认证的报文能够正确的处理和转发,保证外部设备以及拟态设备内部各个执行体对所有类型的ospf协议报文的交互及认证,能够提升内部各个执行体的安全性,能够保证ospf路由数据的多元化,提升通信系统中数据交互的正常有效性,便于网络防御中拟态方案的有效实施,能够为其他路由协议代理(如is-is)提供解决问题的思路。

附图说明:

图1为实施例中拟态设备架构示意;

图2为实施例中ospf协议报文头部示意;

图3为实施例中空认证协议报文头部示意;

图4为实施例中简单密码认证协议报文头部示意;

图5为实施例中密码学认证协议报文头部示意。

具体实施方式:

为使本发明的目的、技术方案和优点更加清楚、明白,下面结合附图和技术方案对本发明作进一步详细的说明。

信系统数据传输过程中的数据安全越来越得到更多人关注,传输过程中的数据安全越来越得到更多人的关注,拟态交换机和拟态路由器等拟态设备的出现提供了一种新的解决思路。本发明实施例,提供一种拟态设备,应用于通信网络中开放式最短路径优先报文处理,包含:设于网络设备之间的ospf代理模块,和与ospf代理模块连接的主执行体和多个从执行体,所述主执行体和多个从执行体并列设置且采用执行相同功能的异构软件和/或硬件结构,其中,ospf代理模块,针对来自外设备的ospf协议报文,缓存邻居相关信息,该相关信息中每个邻居的键值由外部设备ip地址、外部设备routerid、外部设备区域id、拟态设备ip地址、拟态设备routerid组成,并依据报文类型确定是否转发给拟态设备中各执行体;针对来自拟态设备中各执行体的ospf协议报文,依据报文类型确定是否将该ospf协议报文转发给外部设备。

拟态设备包含几个具备相同功能特性的异构执行体,ospf(openshortestpathfirst)协议代理是用于协调外部设备与内部各个执行体之间ospf协议报文的交互而新增的一个功能模块,能够针对性地结合ospf报文类型进行相应报文的转发处理,并将各个执行体发送过来的ospf协议报文进行特殊处理,对外部呈现出一个单一路由设备;保证外部设备以及拟态设备内部各个执行体对ospf协议报文的交互及认证。拟态设备参见图1所示,包含多个具备相同功能的异构执行体,通常分为一个主执行体和多个从执行体,这些执行体配置相同,所接收的输入相同,但是输出可能并不相同。

根据rfc2328标准规定,ospf协议报文的认证分为三种:空认证(nullauthentication)、简单密码认证(simplepasswordauthentication),密码学认证(cryptographicauthentication)。对于空认证和简单密码认证的ospf协议报文,仅是针对ospf协议报文做认证,但是对于认证的字段并不相同。对于密码学认证的ospf协议报文,在对ospf协议报文进行认证的同时,需要考虑ospf协议报文的密码学序列号(cryptographicsequencenumber),确保收到的密码学序列号符合标准规定的原则。因此,本案实施例中,ospf协议代理针对所述三种认证的ospf协议报文分别进行处理,从而保证外部设备以及内部各个执行体对ospf协议报文的交互能够正常有效的进行。

ospf协议报文头部(ospfheader)如图2所示,当设置空认证时ospf协议报文头部中认证(authentication)字段的布局如图3所示。当设置简单密码认证时,ospf协议报文头部中认证(authentication)字段的布局如图4所示。当设置密码学认证时,ospf协议报文头部中认证(authentication)字段的布局如图5所示。结合上述内容及附图,本案实施例中ospf协议代理模块的报文处理可分为两种情形,一种是来自外部设备,一种是来自拟态设备内各执行体。下面针对每种情形做相应的解释说明:

对于来自外部设备的ospf协议报文,拟态设备会统一发送到ospf协议代理模块进行处理,步骤如下:

1.ospf协议代理模块接收来自外部设备的ospf协议报文。

2.ospf协议代理模块缓存该邻居的相关信息,其中每个邻居的键值key由外部设备ip地址,外部设备routerid,外部设备areaid,该拟态设备ip地址,该拟态设备routerid组成。

3.对于设置了密码学认证的ospf协议报文,需要根据每个邻居键值key标记更新密码学序列号(cryptographicsequencenumber),并对密码学序列号(cryptographicsequencenumber)进行缓存。

4.根据报文类型确定是否转发给内部的各个执行体。

以下就ospf具体协议报文来提出具体实施措施:

1)ospf协议代理模块接收来自外部设备的hello报文。

若ospf协议报文头部中的authtype是空认证或者简单密码认证,将hello报文复制分发给各个活动的执行体。

若ospf报文头部中的authtype是密码学认证,ospf协议代理根据该邻居键值key标记更新缓存中的密码学序列号(cryptographicsequencenumber)的值,并将hello报文复制分发给各个活动的执行体。

2)ospf协议代理模块接收来自外部设备的dd(databasedescriptionpacket)报文。

若ospf协议报文头部中的authtype是空认证或者简单密码认证,将dd报文直接发送给主执行体。

若ospf协议报文头部中的authtype是密码学认证,ospf协议代理根据该邻居键值key标记更新缓存中的密码学序列号(cryptographicsequencenumber)的值,并将dd报文发送给主执行体。

3)ospf协议代理模块接收来自外部设备的lsr(linkstaterequest)报文。

若ospf协议报文头部中的authtype是空认证或者简单密码认证,将lsr报文直接发送给主执行体。

若ospf协议报文头部中的authtype是密码学认证,ospf协议代理根据该邻居键值key标记更新缓存中的密码学序列号(cryptographicsequencenumber)的值,并将lsr报文发送给主执行体。

4)ospf协议代理模块接收来自外部设备的lsu报文(linkstateupdate)。

若ospf协议报文头部中的authtype是空认证或者简单密码认证,将lsu报文直接发送给所有活动的执行体。

若ospf协议报文头部中的authtype是密码学认证,ospf协议代理根据该邻居键值key标记更新缓存中的密码学序列号(cryptographicsequencenumber)的值,并将lsu报文发送给所有活动的执行体。

5)ospf协议代理模块接收来自外部设备的lsa报文(linkstateacknowledge)。

若ospf协议报文头部中的authtype是空认证或者简单密码认证,将lsa报文直接发送给主执行体。

若ospf协议报文头部中的authtype是密码学认证,ospf协议代理根据该邻居键值key标记更新缓存中的密码学序列号(cryptographicsequencenumber)的值,将lsa报文发送给主执行体

对于来自内部各个执行体的ospf协议报文,拟态设备会统一发送到ospf协议代理模块进行处理,步骤如下:

1.ospf协议代理模块接收来自内部各个执行体的ospf协议报文。

2.根据ospf协议报文类型,ospf协议代理模块会将ospf协议报文发送给外部设备,或者内生相应的ospf协议报文发送给源执行体,或者直接将该ospf协议报文进行丢弃。

以下就ospf具体协议报文来提出具体实施措施:

1)ospf协议代理模块接收来自内部主执行体的hello报文,将hello报文按照原有流程进行转发。

2)ospf协议代理模块接收来自内部从执行体的hello报文,将hello报文按照原有流程进行转发。

3)ospf协议代理模块接收来自内部主执行体的dd报文,将dd报文按照原有流程进行转发。

4)ospf协议代理模块接收来自内部从执行体的dd报文,根据dd报文中的目的ip、区域id(areaid)字段查询缓存中的邻居信息,查询成功后,将内生dd报文发送给源执行体。这里将dd报文主要字段的构造过程描述如下:

ospf协议代理模块会根据dd报文的源mac和目的mac分别填入到内生dd报文中的目的mac和源mac字段。

ospf协议代理模块会根据dd报文的源ip和目的ip分别填入到内生dd报文中ip头部的目的ip和源ip字段,并重新计算ipchecksum值。

ospf协议代理模块会根据查询到的邻居信息填写内生dd报文中ospf协议报文头部的routerid和areaid字段。

如果配置的是空认证,ospf协议代理模块会重新计算内生dd报文中的ospf协议报文头部checksum值。

如果配置的是简单密码认证,ospf协议代理模块会根据配置中的32比特认证字段填入内生dd报文的ospf协议报文头部的authentication字段,并重新计算内生dd报文中的ospf头部checksum值。

如果配置的是密码学认证,ospf协议代理模块会将dd报文中的ospf头部checksum值填写为0,并根据查询到邻居信息缓存的密码学序列号填入到ospf协议报文头部的密码学序列号(cryptographicsequencenumber),ospf协议代理会根据配置的keyid等信息重新计算生成新的messagedigest,并添加到内生dd报文后面。

ospf协议代理模块会根据所接收dd报文的routerid与查询到的邻居缓存信息中的routerid做比较确定master/slave关系,填入dbdescription中的master字段,从而确定后续的dd序列号的值,填入到内生dd报文中的ddsequence字段。

根据是否是第一条dd报文填入内生dd报文中dbdescription中的init字段,根据是否是最后一条报文填写内生dd报文中、dbdescription中的more字段。

5)ospf协议代理模块接收来自内部主执行体的lsr协议报文,将lsr报文按照原有流程进行转发。

6)ospf协议代理模块接收来自内部从执行体的lsr报文,根据收到的lsr报文中的目的ip、区域id(areaid)字段查询缓存中的邻居信息,查询成功后,将内生lsa报文回复给源执行体。这里将lsa的主要字段如何构造描述如下:

ospf协议代理会模块根据所收到lsr报文的源mac和目的mac填入到内生dd报文中的目的mac和源mac字段。

ospf协议代理模块会根据lsr报文的源ip和目的ip填入到内生lsa报文中ip头部的目的ip和源ip字段,并重新计算ipchecksum字段。

ospf协议代理模块根据查询到的邻居信息填写内生lsa报文中ospf协议报文头部的routerid和areaid字段。

如果配置的是空认证,ospf协议代理模块会重新计算lsa报文中的ospf协议报文头部的checksum值。

如果配置的是简单密码认证,ospf协议代理模块会根据配置中的32比特认证字段填入内生lsa报文中ospf协议报文头部的authentication字段,并重新计算lsa报文中的ospf协议报文头部的checksum值。

如果配置的是密码认证,ospf协议代理模块会将lsa报文中的ospf协议报文头部的checksum值填写为0,并根据查询到邻居信息缓存的密码学认证序列号填入到ospf协议报文头部的密码学序列号(cryptographicsequencenumber),ospf协议代理会根据配置的keyid等信息重新计算新的messagedigest,并添加到lsa报文后面。

ospf协议代理模块将所收到的lsr报文中的lsa头部对应填写到内生lsa报文中的lsa头部。

7)ospf协议代理模块接收来自内部主执行体的lsu报文,将lsu报文按照原有流程进行转发。

8)ospf协议代理模块接收来自内部从执行体的lsu报文,将lsu报文丢弃。

9)ospf协议代理模块接收来自内部主执行体的lsa报文,将lsa报文按照原有流程进行转发。

10)ospf协议代理模块接收来自内部从执行体的lsa报文,将lsa报文丢弃。

通过在拟态设备中引入ospf代理模块,有针对性地结合ospf报文类型进行相应报文的转发处理,保证外部设备以及拟态设备内部各个执行体对ospf协议报文的交互及认证,能够保证ospf路由数据的多元化,提升通信系统中数据交互的正常有效性,便于网络防御中拟态方案的有效实施。

除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对步骤、数字表达式和数值并不限制本发明的范围。

基于上述的系统,本发明实施例还提供一种服务器,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述的系统。

基于上述的系统,本发明实施例还提供一种计算机可读介质,其上存储有计算机程序,其中,该程序被处理器执行时实现上述的系统。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述系统实施例中的对应过程,在此不再赘述。

附图中的流程图和框图显示了根据本发明的多个实施例的系统、系统和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和系统,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述系统的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1