一种应对信息中心网络恶意内容传播的解决方法与流程

文档序号:12493806阅读:224来源:国知局
一种应对信息中心网络恶意内容传播的解决方法与流程

本发明属于通信技术领域,涉及一种内容中心网络中内容目标的分段转发策略。



背景技术:

信息中心网络(Information-Centric Networks,ICNs)是未来网络的重要组成部分,ICN旨在建立一种简单、通用、灵活的通信架构,这种架构以内容为中心而不再以主机为中心,即ICN更关注的是内容本身,而不是内容存储的地理位置。ICN典型特征之一是网络内置缓存,路由器上部署高速存储设备缓存网络中的部分内容对象,用户请求缓存的内容时,路由器直接将内容回复给用户,而无需再向上游内容提供商请求,这样可以缩短用户获取内容的时间,提高QoS。内容中心网络(Content-Centric Networking,CCN)是ICN网络架构之一。CCN中具有网络内置缓存功能的路由器要维护三种数据结构,即FIB(Forwarding Information Base)、PIT(Pending Interest Table)和CS(Content Store)。其中,FIB与IP网络中的FIB表功能类似,主要用于请求信息的路由转发。请求在向上转发的同时,会在PIT中留下内容请求信息对应的到达端口号信息等,便于该内容对象的回传。CS根据缓存决策,确定是否存储收到的内容数据包。

CCN通信流程如图1所示。内容消费者,即发送请求(兴趣包)的用户,向网络发送请求①,路由器收到数据包时优先查找本地CS,若在CS找到请求内容,则根据PIT表将内容返回至消费者⑥→⑧;若缓存中没有该内容对象,则继续查找PIT,确认是否已经向上请求过该内容,如果是,则在对应表项中添加端口号;如果PIT中没有该内容条目,则在PIT表中添加该请求信息,同时根据FIB将该请求兴趣包向上游节点转发②→④。内容提供商收到兴趣包后,将签名后的内容对象按原路由方式返回⑤→⑧;CCN中内容提供商会对自己提供的内容对象进行签名,消费者或路由器通过计算加密的哈希值验证收到的数据包是否一致,在图1中,如果内容提供方P1为恶意内容提供商,即P1用正确的内容签名提供虚假内容。当请求兴趣包被发送到P1时,P1将伪造的内容按原路由方式返回给消费者。这些被伪造的内容与消费者所请求内容命名结构相匹配,但却与消费者所希望获得的内容并不一致,诸如广告等虚假信息。

由于现有的传输网节点无法对内容进行甄别,在很大程度上依然使用虚假内容来响应后续请求。网络的这种无意识性将会导致诸多问题,从运营商的角度看主要有:

①网络无法提供正确内容,导致用户反复发出对相同内容的请求,造成网络资源浪费,甚至拥塞;

②网络在相当长的时间内无法提供正确的内容,这将极大降低网络的服务质量,导致客源流失。

从消费者的角度看主要有:

①消费者忙于对虚假内容的签名进行验证,消费者端的资源被严重消耗;

②消费者多次获取到虚假内容,极大地降低用户体验。

根据上述分析可知,恶意内容提供商向网络回复虚假内容会对运营商和用户产生严重影响。针对上述问题,要保证消费者不会接受收到的虚假数据包,现在主要有两种方式:

①在终端用户侧对内容对象进行验证,即用户收到签名后根据获取到的公钥来判别内容提供商的签名是否正确。该方法虽然可以发现虚假内容,但其将会给消费者应用程序带来严重负担,严重的会导致应用进程崩溃。

②网络中所有节点验证通过它的每个数据包,即:传输路径上的每个节点均对内容提供商返回的数据包的签名进行校验,校验的方法与终端用户校验的方法一致。该方法虽然可以有效避免消费者收到虚假内容,但传输路径上的每个节点都对数据包的签名进行验证时,不仅要考虑节点的计算能力,而且获取验证密钥的过程将会增加链路时延,严重降低网络的服务质量而且该方法会极大地增加节点负担。

上述两种方案各有优缺点,由于网络验证通过的所有数据包至少在目前探讨的CCN体系中并不可取,因此,我们提出一种折衷方案,关键节点验证方案。关键节点验证方案是指,选择网络中部分节点进行内容验证。此方案结合上述两种方案的优点,能够保证服务质量。同时,能有效避免它们的缺点,减轻网路中节点的计算负担,同时也减少众多节点获取密钥而产生的时延。ICN网络中从内容源获取数据包,会经过网络中多个路由器但是具体选择哪一个或者哪一些路由器进行内容包的验证,使得网络性能最佳,这是关键节点验证方案要解决的问题。

关键节点验证方案在CCN签名机制基础上,利用基于内容名的路由方式,使中间路由器可以对内容目标进行验证,尽早发现虚假内容,并停止向下游传递该虚假内容,因此避免了传送虚假内容而造成网络资源的浪费。同时,该ICN路由器会重构并重发请求,尽最大努力为消费者获取正确内容。



技术实现要素:

本发明旨在解决以上现有技术的问题。提出了一种能够保证服务质量、减轻网路中节点的计算负担、同时也减少众多节点获取密钥而产生的时延的应对信息中心网络恶意内容传播的解决方法。本发明的技术方案如下:

一种应对信息中心网络恶意内容传播的解决方法,包括步骤:用户发送兴趣包请求;内容提供商根据内容请求回复内容对象,其还包括以下步骤:在请求的内容对象包的保留字段中添加验证判断字段Checkout、验证节点的确定步骤及对关键节点的验证步骤;当有恶意内容提供商沿兴趣包请求路由的反向路径回复数据包至用户时,中间节点根据验证节点确定策略确定是否对数据包进行验证,确定进行验证的节点执行“节点验证流程”。

进一步的,所述验证判断字段为1比特的Checkout字段,在数据包中用C表示,数据传输路径上的节点能够根据该字段值来判别数据包签名是否已经被验证,当Checkout字段取值为0时代表数据包没有被验证,当Checkout字段取值为1时代表签名已经被验证。

进一步的,所述内容对象验证节点的确定步骤包括以下三种情况:

情况一:当转发路径上每个节点根据自身的缓存策略决定缓存返回的内容时,无论数据包中Checkout字段是否为1,该节点均需对返回数据包的签名进行验证;如果签名验证通过,节点将数据包头中Checkout字段的值设为1;

情况二:如果内容在该节点上的请求频率超过节点请求门限,且验证字段为0时,该节点即为需验证节点,对收到的数据包进行验证,同样地,如果验证成功,节点将数据包头中Checkout字段值设为1;

情况三:如果数据包沿原路径返回直到最后一跳即到达消费者的接入路由器,数据包仍未被验证,即Checkout字段值为0,此时该接入路由器节点即为需验证节点,此时,接入路由器将负责数据包验证工作。

进一步的,所述情况二内容在节点上的请求频率门限的确定为:路由器节点根据最近的请求情况为每一类请求的内容的请求次数计算出一个平均值E,当对于某种内容的请求次数超过节点收到的内容请求的平均值E时,节点则对该内容进行验证。

进一步的,所述验证字段为在数据包的保留字段中新增加一个HopLimit字段,用于表示兴趣包的生存时间值。

进一步的,所述确定进行验证的节点根据验证字段判断执行节点验证流程包括步骤:确定进行验证的节点利用本节点获取到的公钥对数据包重新计算签名如RSA算法,若签名与内容提供商提供的签名一致则验证通过,节点将数据包转发至下一跳;若重新计算得到签名与内容提供商提供的签名不一致,即表示签名验证不通过,则该节点检查返回数据包的HopLimit是否为0,如果为0,则将InterestReturn包转发至下一跳,并依次转发至消费者,通告消费者数据包验证不通过且HopLimit值为0;如果不为0,节点则利用PIT内对于该请求的记录重新构造请求信息,然后复制该HopLimit的值,并丢弃数据包;最后,节点将上述HopLimit值添加到新构造的请求当中,并将该请求转发至下一跳,向其他路径进行请求。

进一步的,所述兴趣包的PacketType值为0,数据包PacketType值为1,InterestReturn包的值为2,ReturnCode的不同值表示不同的错误情况,消费者通过检查ReturnCode的值即可探查到内容获取失败的原因。

本发明的优点及有益效果如下:

1、本发明标识是否已经进行验证操作Checkout字段只占1个比特,因此其在数据包中所占的开销很少。

2、利用基于内容名的路由方式,使中间路由器可以对内容目标进行验证,尽早发现虚假内容,并停止向下游传递该虚假内容,因此避免了传送虚假内容而造成网络资源的浪费。

3、对内容对象进行验证的ICN路由器会重构并重发请求,尽最大努力为消费者获取正确内容,保证服务质量。

附图说明

图1是恶意内容提供商回复虚假内容示意图及CCN通信拓扑图;

图2本发明优选实施例的方案整体流程图

图3为本发明的技术方案的实施例1的实现图;

图4为本发明的技术方案的实施例2的实现图;

图5 Checkout字段在数据包中的位置;

图6 HopLimit字段;

图7 InterestReturn包固定头部。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、详细地描述。所描述的实施例仅仅是本发明的一部分实施例。

本发明解决上述技术问题的技术方案是,

如图1所示为本发明所述的一种应对信息中心网络恶意内容传播解决方法的工作流程图,如图所示,该方法包括验证节点确定策略和节点验证流程两个模块。其中验证节点确定策略模块主要用于确定对内容对象进行验证的关键节点,节点验证流程则是关键节点确定后节点对内容对象签名进行验证的流程。

本方案提出在请求的内容对象包的保留字段中添加1比特的Checkout字段(在数据包中用C表示,如图5所示),数据传输路径上的节点能够根据该字段值来判别数据包签名是否已经被验证。当Checkout字段取值为0时代表数据包没有被验证,当Checkout字段取值为1时代表签名已经被验证。值得注意的是,Checkout字段只占1个比特,因此其在数据包中所占的开销很少,这也是本方案的优点之一。

我们将本方法分为两部分(整体方案如图2所示),即:完成签名验证工作节点确定策略以及节点验证流程。综合考虑CCN节点自身条件和节点缓存策略,我们提出完成签名验证工作节点的确定策略。共有三种情况:

其一:转发路径上每个节点根据自身的缓存策略决定缓存返回的内容时,无论数据包中Checkout字段是否为1,该节点对返回数据包的签名进行验证;如果签名验证通过,节点将数据包头中Checkout字段的值设为1。

其二:如果内容在该节点上的请求频率超过节点请求门限,且验证字段为0,节点需对收到的数据包进行验证。同样地,如果验证成功,节点将数据包头中Checkout字段值设为1。针对如何确定请求门限这一问题,一个可行方案是:路由器节点根据最近的请求情况为每一类请求的内容的请求次数计算出一个平均值E。当对于某种内容的请求次数超过节点收到的内容请求的平均值E时,节点则对该内容进行验证。

其三:如果数据包沿原路径返回直到最后一跳(消费者的接入路由器),数据包仍未被验证,即Checkout字段值为0,此时,接入路由器将负责验证工作。

在本方案中,当某一路由器收到数据包时,首先判断是否需要缓存该内容,其次依次进行第二、第三种情况的判断。若传输路径上某节点对返回的数据包签名进行了验证,它便将Checkout字段标记为1;其他节点若无需缓存该内容,则不再对该数据包进行验证。

上述内容是确定验证节点的策略以及三种情况在某一节点中的判别顺序。当某节点需要对数据包签名进行验证时,该节点开始执行节点验证流程。

在设计节点验证流程时,由于在数据包中并没有类似于HopLimit的字段,而对于兴趣包HopLimit实时值的记录非常重要,该值将决定是否重新构造请求信息,因此提出在数据包的保留字段中新增加一个HopLimit字段,当请求包被发送到内容提供商时,内容提供商复制请求包的HopLimit值,并将其添加到自己的HopLimit字段当中,然后再将数据包装发给下游节点。新增加的HopLimit字段如附图6所示。

节点验证流程的主要内容是:节点利用本节点获取到的公钥对数据包重新计算签名,若签名与内容提供商提供的签名一致则验证通过,节点将数据包转发至下一跳;若重新计算得到签名与内容提供商提供的签名不一致,即表示签名验证不通过,则该节点检查返回数据包的HopLimit是否为0,如果为0,则将InterestReturn包(固定头部如图7所示)转发至下一跳,并依次转发至消费者,通告消费者数据包验证不通过且HopLimit值为0。如果不为0,节点则利用PIT(Pending Interest Table)内对于该请求的记录重新构造请求信息,然后复制该HopLimit的值,并丢弃数据包。最后,节点将上述HopLimit值添加到新构造的请求当中,并将该请求转发至下一跳,向其他路径进行请求。

图7是InterestReturn包的固定头部。Interest包、数据包以及InterestReturn包的固定首部具有相似的结构。其中Interest包的PacketType值为0,数据包PacketType值为1,InterestReturn包的值为2。ReturnCode的不同值表示不同的错误情况,消费者通过检查ReturnCode的值即可探查到内容获取失败的原因。

实施例1:

图3所示为CCN通信拓扑图。如图所示,链路上实线箭头标识的是用户兴趣包的发送过程,虚线箭头标识的是内容提供商回复内容对象的过程,R1、R3、R5为传输路径上的中间路由器。

步骤301:消费者向网络发送请求①,到达路由器R1,R1在PIT表中添加该请求信息,同时根据FIB将该请求兴趣包向上游节点转发②→④。

步骤302:恶意内容提供商P1收到兴趣包后,复制兴趣包中HopLimit值,并将兴趣包丢弃。P1伪造内容对象并将复制的HopLimit值添加到内容对象中,然后用正确的公钥进行签名,将签名后的内容对象按原路由反向路径转发至下一跳⑤,内容对象到达R5,R5根据缓存决定策略决定缓存该内容。

步骤303:R5执行节点验证流程,R5利用本节点获取到的公钥对数据包重新计算签名:

(1)若R5对当前内容对象重新计算得到的签名与内容提供商提供的签名一致,R5将数据包转发至下一跳,并沿原路由返回至消费者⑥→⑧。

(2)若R5对当前内容对象重新计算得到的签名与内容提供商提供的签名不一致,R5检查返回内容对象的HopLimit,此时HopLimtit值为0,R5丢弃数据包,将InterestReturn包转发至下一跳,并依次转发至消费者⑥→⑧,通告消费者数据包签名验证未通过且HopLimit到期。

(3)若R5对当前内容对象重新计算得到的签名与内容提供商提供的签名不一致,R5检查返回内容对象的HopLimit,此时HopLimtit值不为0,R5利用PIT内对于该请求的记录重新构造请求信息,然后复制该HopLimit值,并丢弃数据包。最后,R5将上述HopLimit值添加到重构请求包,将请求转发至下一跳,向其他路径进行请求。

步骤304:根据上述规则,R5根据签名验证结果执行相应操作。

实施例2:

图4为网络运行中的另一种情况。

步骤401:消费者向网络发送请求,中间路由器转发兴趣包至内容提供商P1①→④。

步骤402:恶意内容提供商P1收到兴趣包后,复制兴趣包中HopLimit值,并将兴趣包丢弃。P1伪造内容对象并将复制的HopLimit值添加到内容对象中,然后用正确的公钥进行签名,将签名后的内容对象按原路由回复⑤→⑦。

步骤403:R1检查收到的内容对象,此时Checkout字段值为0,消费者接入路由器R1负责对内容对象进行验证。

(1)若R1签名验证为通过R1将数据包发送给用户;

(2)若R1签名验证结果为未通过且内容对象HopLimit为0,R1丢弃数据包,将InterestReturn包转发至下一跳,并依次转发至消费者⑥→⑧。

(3)若R1签名验证结果为未通过且内容对象HopLimit不为0,R1利用PIT内对于该请求的记录重新构造请求信息,并复制内容对象HopLimit值,丢弃数据包。最后,R1将上述HopLimit值添加到重构请求包,将请求转发至下一跳,向其他路径进行请求。

步骤404:根据上述规则,R1根据签名验证结果执行相应操作。

以上这些实施例应理解为仅用于说明本发明而不用于限制本发明的保护范围。在阅读了本发明的记载的内容之后,技术人员可以对本发明作各种改动或修改,这些等效变化和修饰同样落入本发明权利要求所限定的范围。

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