一种RPKI资料库及数据同步方法与流程

文档序号:12279006阅读:350来源:国知局
一种RPKI资料库及数据同步方法与流程

本申请涉及网络安全技术领域,更具体地说,涉及一种RPKI资料库及数据同步方法。



背景技术:

资源公钥基础设施(Resource Public Key Infrastructure,RPKI)是一种用于保障互联网码号资源(IP地址、AS号)分配信息真实性的公钥证书体系,是保障边界网关协议(Border Gateway Protocol,BGP)系统安全的重要手段。

RPKI系统通常包括三个基本的功能组件,包括证书管理机构(Certification Authority,CA)、RPKI资料库(Repository)和多个RPKI依赖方(Relying Party,RP)。这三个基本功能组件通过签发、传送、存储、验证RPKI产生的各种数字对象来相互协作,共同完成RPKI的路由起源验证功能,并通过这种验证来指导边界路由器的路由决策,帮助边界路由器检验BGP报文的真实性,从而防止域间路由劫持的发生。

但是随着RPKI依赖方数量的不断增加以及RPKI资料库的权威化和集中化的趋势,RPKI资料库中存储的证书和签名对象的数量也越来越多,RPKI资料库对其存储数据的同步和维护的难度也越来越大,如何提高RPKI资料库应对全球缓存系统(即RPKI依赖方)进行数据同步时的处理性能,成为RPKI全球化部署的一个关键问题。



技术实现要素:

为解决上述技术问题,本发明提供了一种RPKI资料库及数据同步方法,以实现提升RPKI资料库对RPKI依赖方进行数据同步时的处理性能的目的。

为实现上述技术目的,本发明实施例提供了如下技术方案:

一种RPKI资料库,包括:主发布点和至少两个从发布点;其中,

所述主发布点用于保持所述至少两个从发布点的数据同步;

各所述从发布点用于响应资源公钥基础设施RPKI依赖方的资源请求,并根据所述资源请求向所述RPKI依赖方发送所请求数据。

可选的,各所述从发布点通过任播技术响应所述RPKI依赖方的资源请求。

一种数据同步方法,应用于上述任一项所述的RPKI资料库,所述RPKI资料库包括主发布点和至少两个从发布点,各所述从发布点用于响应资源公钥基础设施RPKI依赖方的资源请求,并根据所述资源请求向所述RPKI依赖方发送所请求数据;所述数据同步方法包括:

所述主发布点保持所述至少两个从发布点的数据同步。

可选的,所述主发布点保持所述至少两个从发布点的数据同步包括:

当所述主发布点的存储数据存在更新时,所述主发布点向所有所述从发布点发送通知消息;

若所述从发布点接收到所述通知消息,向所述主发布点发送响应消息,并向所述主发布点发送序列请求信息;

所述主发布点接收到所述序列请求信息后,向发送该序列请求信息的从发布点发送序列应答信息,所述序列应答信息包括所述主发布点当前的序列号;

所述从发布点接收到所述序列应答信息后,根据所述序列应答信息判断是否需要进行数据同步,如果是,则向所述主发布点发送数据请求信息;

所述主发布点接收到所述数据请求信息后与发送该数据请求信息的从发布点进行数据同步。

可选的,所述当所述主发布点的存储数据存在更新时向所有所述从发布点发送通知消息包括:

当所述主发布点的存储数据存在更新时依次向所有所述从发布点发送通知消息。

可选的,所述从发布点接收到所述序列应答信息后,根据所述序列应答信息判断是否需要进行数据同步包括:

所述从发布点接收到所述序列应答信息后,获取所述序列应答信息中包括的所述主发布点当前的序列号;

判断所述主发布点当前的序列号与自身当前序列号是否一致;

其中,判断出所述主发布点当前的序列号与自身当前序列号不一致时,向所述主发布点发送数据请求信息。

可选的,所述主发布点接收到所述数据请求信息后与发送该数据请求信息的从发布点进行数据同步,包括:

所述主发布点接收到所述数据请求信息后,向发送该数据请求信息的从发布点发送同步开始信息,并与该从发布点进行数据同步;

当与该从发布点的数据同步完成后,所述主发布点向该从发布点发送同步结束信息。

可选的,当所述主发布点的存储数据存在更新时,所述主发布点向所有所述从发布点发送通知消息之后,还包括:

所述主发布点记录向各所述从发布点发送通知消息的发送时间;

当所述发送时间大于预设时间值,且未接收到该从发布点发送的响应信息时,再次向该从发布点发送通知消息。

可选的,所述预设时间值的取值范围为1s±900ms,包括端点值。

可选的,还包括:

各所述从发布点以预设频率向所述主发布点发送序列请求信息。

从上述技术方案可以看出,本发明实施例提供了一种RPKI资料库及数据同步方法,其中,所述RPKI资料库包括主发布点和至少两个从发布点,所述主发布点用于保持所述至少两个从发布点的数据同步;各所述从发布点用于响应资源公钥基础设施RPKI依赖方的资源请求,并根据所述资源请求向所述RPKI依赖方发送所请求数据。所述RPKI资料库改变了传统RPKI资料库单一层次发布点的模式,构建了包括主发布点和至少两个从发布点的新结构,在所述RPKI资料库中,主发布点用于在自身数据存在更新时向所述至少两个从发布点进行数据同步,以保持各所述从发布点与所述主发布点的数据一致,而各所述从发布点用于响应资源公钥基础设施RPKI依赖方的资源请求,并根据所述资源请求向所述RPKI依赖方发送所请求数据,由于所述RPKI资料库具有至少两个从发布点,降低了各个从发布点同时响应RPKI依赖方的资源请求的数量,从而提升了所述RPKI资料库对RPKI依赖方进行数据同步时的处理性能,为RPKI全球化部署提供可能。

进一步的,所述RPKI资料库不需要改变RPKI系统中的信任锚点的数量,避免出现利用增加信任锚点数量提升RPKI资料库处理性能而出现的信任锚点管理难度增加的问题。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请的一个实施例提供的一种RPKI资料库的结构示意图;

图2为本申请的一个实施例提供的主发布点与从发布点之间的通信流程示意图;

图3为本申请的一个实施例提供的一种数据同步方法的流程示意图;

图4为本申请的另一个实施例提供的一种数据同步方法的流程示意图;

图5为本申请的又一个实施例提供的一种数据同步方法的流程示意图;

图6为本申请的再一个实施例提供的一种数据同步方法的流程示意图;

图7为本申请的一个优选实施例提供的一种数据同步方法的流程示意图;

图8为本申请的另一个优选实施例提供的一种数据同步方法的流程示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本申请实施例提供了一种RPKI资料库,如图1所示,包括:主发布点100和至少两个从发布点200;其中,

所述主发布点100用于保持所述至少两个从发布点200的数据同步;

各所述从发布点200用于响应资源公钥基础设施RPKI依赖方的资源请求,并根据所述资源请求向所述RPKI依赖方发送所请求数据。

需要说明的是,所述RPKI资料库改变了传统RPKI资料库单一层次发布点的模式,构建了包括主发布点100和至少两个从发布点200的新结构,在所述RPKI资料库中,主发布点100用于在自身数据存在更新时向所述至少两个从发布点200进行数据同步,以保持各所述从发布点200与所述主发布点100的数据一致,而各所述从发布点200用于响应资源公钥基础设施RPKI依赖方的资源请求,并根据所述资源请求向所述RPKI依赖方发送所请求数据,由于所述RPKI资料库具有至少两个从发布点200,降低了各个从发布点200同时响应RPKI依赖方的资源请求的数量,从而提升了所述RPKI资料库对RPKI依赖方进行数据同步时的处理性能,为RPKI全球化部署提供可能。

并且所述RPKI资料库包括主发布点100和多个从发布点200的结构有利于降低各所述从发布点200的数据同步请求处理压力,从而降低在响应所述RPKI依赖方进行数据同步时出现错误的概率,提升了所述RPKI资料库的稳定性,进而增强对诸如分布式拒绝服务(Distributed Denial of Service,DDOS)攻击的抗性,提升RPKI资料库的可扩展性及抗攻击能力。

进一步的,所述RPKI资料库不需要改变RPKI系统中的信任锚点的数量,避免出现利用增加信任锚点数量提升RPKI资料库处理性能而出现的信任锚点管理难度增加的问题。

还需要说明的是,所述主发布点100与各所述从发布点200的数据同步过程如图2所示,包括:

当所述主发布点100的存储数据存在更新时,所述主发布点依次向所有所述从发布点200发送通知消息。

需要说明的是,所述主发布点100的存储数据存在更新是指当所述主发布点100的存储数据出现撤销、更改或新增的情况。所述主发布点100的存储数据是指RPKI系统中的证书管理机构发布的证书文件及签名对象。

还需要说明的是,所述主发布点100不同时向所有所述从发布点200发送通知消息的目的是避免所有的从发布点200收到所述通知消息后同一时间向所述主发布点100发送响应消息而造成所述主发布点100消息处理通道拥塞的情况出现。所述主发布点100在向一个所述从发布点200发送通知消息后间隔一定时间(例如1ms)后,再向另一个所述从发布点200发送通知消息,本申请对该间隔时间的具体取值并不做限定,具体视实际情况而定。

若所述从发布点200接收到所述通知消息后向所述主发布点100发送响应消息,并向所述主发布点100发送序列请求信息。

需要说明的是,优选的,当所述主发布点100在向某一从发布点200发送通知消息后的一定时间内(例如1s)没有收到该从发布点200发送的响应消息时,将再次向该从发布点200发送响应消息,如果这个过程重复多次都没有收到该从发布点200发送的响应信息则停止向该从发布点200发送通知消息,这个重复次数和再次发送的间隔时间由RPKI资料库的管理人员进行设定,本申请对它们的具体取值并不做限定,具体视实际情况而定。

所述主发布点100接收到所述序列请求信息后向发送该序列请求信息的从发布点200发送序列应答信息,所述序列应答信息包括所述主发布点100当前的序列号;

所述从发布点200接收到所述序列应答信息后,根据所述序列应答信息判断是否需要进行数据同步,如果是,则向所述主发布点100发送数据请求信息。

需要说明的是,在初始状态下,所述主发布点100和各所述从发布点200内都会有根据各自存储的数据状态设定一个序列号,该序列号初始值为0,当所述主发布点100内存储的数据发生变更时,所述主发布点100内的序列号的值增加预设步长(例如1),此时各所述从发布点200内的序列号仍为0,当某一从发布点200接收到所述序列应答信息后,根据所述序列应答信息可以获得所述主发布点100当前的序列号(1),并与自身的序列号(0)进行比较,所述主发布点100当前的序列号和自身的序列号不一致(1>0)时,向所述主发布点100发送数据请求信息,并且当该从发布点200完成与所述主发布点100的数据同步后,该从发布点200的序列号也增加预设步长(例如由0增加1变为1)。

所述主发布点100接收到所述数据请求信息后与发送该数据请求信息的从发布点200进行数据同步。

在本申请的一个具体实施例中,所述主发布点100接收到所述数据请求信息后与发送该数据请求信息的从发布点200进行数据同步具体包括:

所述主发布点100接收到所述数据请求信息后,向发送该数据请求信息的从发布点200发送同步开始信息,并与该从发布点200进行数据同步;

当与该从发布点200的数据同步完成后,所述主发布点100向该从发布点200发送同步结束信息。

需要说明的是,所述主发布点100与各所述从发布点200之间使用RSYNC协议完成数据同步,其具体过程已为本领域技术人员所熟知,本申请在此不做赘述。

在上述实施例的基础上,在本申请的一个优选实施例中,各所述从发布点200以预设频率向所述主发布点100发送序列请求信息。

需要说明的是,各所述从发布点200以预设频率向所述主发布点100发送序列请求信息的目的是避免所述从发布点200接收不到所述主发布点100发送的更新消息,从而导致该从发布点200无法与所述主发布点100进行数据同步的情况出现。

所述预设频率可以为1次/30min或1次/60min或1次/90min。一般而言,各所述从发布点200主动向所述主发布点100发送序列请求信息的时间间隔应较长,以避免所述主发布点和从发布点之间的过多的“无效同步”(即所述主发布点与所述从发布点之间的数据相同,无需进行数据同步而所述从发布点发送序列请求信息的情况)的过程,一般而言,各所述从发布点200主动向所述主发布点100发送序列请求信息的时间间隔应大于或等于30min。本申请对所述预设频率的具体取值并不做限定,具体视实际情况而定。

在上述实施例的基础上,在本申请的另一个优选实施例中,各所述从发布点200通过任播技术响应所述RPKI依赖方的资源请求。

需要说明的是,在本实施例中,各所述从发布点200通过路由系统的任播(ANYCAST)技术响应所述RPKI依赖方的资源请求,可以使各个RPKI依赖方获取距离其最近的从发布点200的地址,进一步提升所述RPKI资料库对所述RPKI依赖方的资源请求的处理性能。

RPKI依赖方周期性的从RPKI资料库获取路由源授权(Route Origin Authorization,ROA)等签名对象进行验证,并将验证结果反馈至BGP路由器以构建路由过滤表项。

相应的,本申请实施例还提供了一种数据同步方法,应用于上述任一实施例所述的RPKI资料库,所述RPKI资料库包括主发布点和至少两个从发布点,各所述从发布点用于响应资源公钥基础设施RPKI依赖方的资源请求,并根据所述资源请求向所述RPKI依赖方发送所请求数据;如图3所示,所述数据同步方法包括:

S10:所述主发布点保持所述至少两个从发布点的数据同步。

具体地,如图4所示,所述主发布点保持所述至少两个从发布点的数据同步包括:

S101:当所述主发布点的存储数据存在更新时,所述主发布点向所有所述从发布点发送通知消息。

需要说明的是,所述主发布点的存储数据存在更新是指当所述主发布点的存储数据出现撤销、更改或新增的情况。所述主发布点的存储数据是指RPKI系统中的证书管理机构发布的证书文件及签名对象。

S102:若所述从发布点接收到所述通知消息,向所述主发布点发送响应消息,并向所述主发布点发送序列请求信息。

S103:所述主发布点接收到所述序列请求信息后,向发送该序列请求信息的从发布点发送序列应答信息,所述序列应答信息包括所述主发布点当前的序列号;

S104:所述从发布点接收到所述序列应答信息后,根据所述序列应答信息判断是否需要进行数据同步,如果是,则向所述主发布点发送数据请求信息;

S105:所述主发布点接收到所述数据请求信息后与发送该数据请求信息的从发布点进行数据同步。

需要说明的是,所述主发布点与各所述从发布点之间使用RSYNC协议完成数据同步,其具体过程已为本领域技术人员所熟知,本申请在此不做赘述。

在上述实施例的基础上,在本申请的一个优选实施例中,如图5所示,所述当所述主发布点的存储数据存在更新时向所有所述从发布点发送通知消息包括:

S1011:当所述主发布点的存储数据存在更新时依次向所有所述从发布点发送通知消息。

需要说明的是,所述主发布点不同时向所有所述从发布点发送通知消息的目的是避免所有的从发布点收到所述通知消息后同一时间向所述主发布点发送响应消息而造成所述主发布点消息处理通道拥塞的情况出现。所述主发布点在向一个所述从发布点发送通知消息后间隔一定时间(例如1ms)后,再向另一个所述从发布点发送通知消息,本申请对该间隔时间的具体取值并不做限定,具体视实际情况而定。

在上述实施例的基础上,在本申请的另一个优选实施例中,如图6所示,所述从发布点接收到所述序列应答信息后,根据所述序列应答信息判断是否需要进行数据同步包括:

S1041:所述从发布点接收到所述序列应答信息后,获取所述序列应答信息中包括的所述主发布点当前的序列号;

S1042:判断所述主发布点当前的序列号与自身当前序列号是否一致;

其中,判断出所述主发布点当前的序列号与自身当前序列号不一致时,向所述主发布点发送数据请求信息;判断出所述主发布点当前的序列号与自身当前序列号一致时,数据同步过程终止。

具体地,在初始状态下,所述主发布点和各所述从发布点内都会有根据各自存储的数据状态设定一个序列号,该序列号初始值为0,当所述主发布点内存储的数据发生变更时,所述主发布点内的序列号的值增加预设步长(例如1),此时各所述从发布点内的序列号仍为0,当某一从发布点接收到所述序列应答信息后,根据所述序列应答信息可以获得所述主发布点当前的序列号(1),并与自身的序列号(0)进行比较,所述主发布点当前的序列号和自身的序列号不一致(1>0)时,向所述主发布点发送数据请求信息,并且当该从发布点完成与所述主发布点的数据同步后,该从发布点的序列号也增加预设步长(例如由0增加1变为1)。

在上述实施例的基础上,在本申请的又一个优选实施例中,如图7所示,所述主发布点接收到所述数据请求信息后与发送该数据请求信息的从发布点进行数据同步,包括:

S1051:所述主发布点接收到所述数据请求信息后,向发送该数据请求信息的从发布点发送同步开始信息,并与该从发布点进行数据同步;

S1052:当与该从发布点的数据同步完成后,所述主发布点向该从发布点发送同步结束信息。

在上述实施例的基础上,在本申请的再一个优选实施例中,如图8所示,当所述主发布点的存储数据存在更新时,所述主发布点向所有所述从发布点发送通知消息之后还包括:

S1012:所述主发布点记录向各所述从发布点发送通知消息的发送时间,当所述发送时间大于预设时间值,且未接收到该从发布点发送的响应信息时,再次向该从发布点发送通知消息。

需要说明的是,优选的,当所述主发布点在向某一从发布点发送通知消息后的预设时间内(例如1s)没有收到该从发布点发送的响应消息时,将再次向该从发布点发送响应消息,如果这个过程重复多次都没有收到该从发布点发送的响应信息则停止向该从发布点发送通知消息,这个重复次数和所述预设时间由RPKI资料库的管理人员进行设定,在本申请的一个实施例中,所述预设时间值的取值范围为1s±900ms,包括端点值。本申请对它们的具体取值并不做限定,具体视实际情况而定。

在上述实施例的基础上,在本申请的一个具体实施例中,所述数据同步方法还包括:

各所述从发布点以预设频率向所述主发布点发送序列请求信息。

各所述从发布点以预设频率向所述主发布点发送序列请求信息的目的是避免所述从发布点接收不到所述主发布点发送的更新消息,从而导致该从发布点无法与所述主发布点进行数据同步的情况出现。

所述预设频率可以为1次/30min或1次/60min或1次/90min。一般而言,各所述从发布点主动向所述主发布点发送序列请求信息的时间间隔应较长,以避免所述主发布点和从发布点之间的过多的“无效同步”(即所述主发布点与所述从发布点之间的数据相同,无需进行数据同步而所述从发布点发送序列请求信息的情况)的过程,一般而言,各所述从发布点主动向所述主发布点发送序列请求信息的时间间隔应大于或等于30min。本申请对所述预设频率的具体取值并不做限定,具体视实际情况而定。

综上所述,本申请实施例提供了一种RPKI资料库及数据同步方法,其中,所述RPKI资料库包括主发布点和至少两个从发布点,所述主发布点用于保持所述至少两个从发布点的数据同步;各所述从发布点用于响应资源公钥基础设施RPKI依赖方的资源请求,并根据所述资源请求向所述RPKI依赖方发送所请求数据。所述RPKI资料库改变了传统RPKI资料库单一层次发布点的模式,构建了包括主发布点和至少两个从发布点的新结构,在所述RPKI资料库中,主发布点用于在自身数据存在更新时向所述至少两个从发布点进行数据同步,以保持各所述从发布点与所述主发布点的数据一致,而各所述从发布点用于响应资源公钥基础设施RPKI依赖方的资源请求,并根据所述资源请求向所述RPKI依赖方发送所请求数据,由于所述RPKI资料库具有至少两个从发布点,降低了各个从发布点同时响应RPKI依赖方的资源请求的数量,从而提升了所述RPKI资料库对RPKI依赖方进行数据同步时的处理性能,为RPKI全球化部署提供可能。

进一步的,所述RPKI资料库不需要改变RPKI系统中的信任锚点的数量,避免出现利用增加信任锚点数量提升RPKI资料库处理性能而出现的信任锚点管理难度增加的问题。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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