什么是RPKI

文章目录

    • 为什么需要RPKI
    • RPKI是如何工作的
    • RPKI功能扩展



RPKI(Resource Public Key Infrastructure,资源公钥基础设施)是一种基于PKI(Public Key Infrastructure,公钥基础设施)的技术,专门用于验证BGP发布的路由信息的真实性和合法性,防止路由劫持等网络安全问题。
PKI是一种用于管理和验证数字证书的技术,它主要用来保障数据交换的安全性和完整性。RPKI可以说是PKI的一种应用,专门用于保障BGP路由的安全性。


为什么需要RPKI

早期互联网是由几个主要的核心AS(Autonomous System,自治系统)和一些边缘AS构成,各个AS之间通过一种域间路由协议,也就是BGP来交互路由信息,保障互联网的路由可达。这一时期互联网的主要目标是完成数据传输任务,各个AS之间相互可信,因此BGP设计之初并未考虑路由信息的真实可信问题。然而随着互联网从一个简单的信息共享平台发展到一个商业平台,互联网上已经有成千上万个遍布全世界的可路由AS,很难保证每个AS通告的路由信息都是完整的、真实的或可信的,在无任何安全机制的情况下,当邻居通告的是虚假路由信息时,域间路由系统面临严峻的安全威胁。

BGP是目前广泛使用的域间路由协议,是实现全球网络自治系统互联互通的基础保障,但是由于BGP缺乏对路由通告内容真实性的保障,无论是攻击者的蓄意攻击,或是网络管理员的错误配置都可能导致路由劫持问题的发生。路由劫持对互联网的正常运行影响极大,一些大规模的劫持事件甚至可能导致大面积的网络瘫痪。目前BGP最严重的一个安全威胁是BGP前缀劫持,BGP前缀劫持可以分为前缀劫持和子前缀劫持,如图1(b)和图1©所示。BGP正常发布场景如图1(a)所示,自治网络AS1是IP地址10.1.0.0/16的合法持有者,它通过BGP消息向外通告包含该前缀的AS_PATH为1的路由信息,该路由通告被AS2接收到,AS2一方面将目的地址包含在10.1.0.0/16地址块中的IP数据包经该路径发送给AS1,另一方面把自己的AS号加到该AS_Path的最前端,并继续向外通告该路由,即向外通告IP前缀为10.1.0.0/16,AS_PATH为<2 1>的路由。AS3、AS4和AS2类似,这里不再赘述。

而当前缀劫持发生后,恶意攻击者往往通过伪造BGP消息中的起源AS号来实施路由劫持,如图1(b)所示,在AS1向外通告10.1.0.0/16的基础上,AS4恶意伪造路由通告,即向外谎称自己是10.1.0.0/16的起源AS。AS3收到的10.1.0.0/16的真实路由的AS_PATH长度为2,虚假路由的AS_PATH长度是1,根据BGP最短AS_Path优先原则,AS3将选取该虚假路由,因此原本流向AS1的全部流量被劫持到AS4,这就是前缀劫持。

子前缀劫持是恶意攻击者通过构造更为详细的BGP路由消息来实施路由劫持,如图1©所示,在AS1向外通告10.1.0.0/16的基础上,AS4恶意构造更为详细的路由通告,即向外发出比10.1.0.0/16更加具体的通告,即10.1.0.0/24,根据BGP最长前缀匹配原则,AS2和AS3到达10.1.0.0/24的流量将会发往AS4,这就是子前缀劫持。

BGP前缀劫持场景

因此,互联网运营者期望有一种技术可以让某个IP地址的真正持有者能以明确、可验证的方式授权一个或者多个AS作为其地址的初始路由广播者,并且每个AS都可以获得该授权信息并进行验证,从而避免类似路由劫持这样的网络安全事故发生。为此,IETF安全域间路由(Secure Inter-Domain Routing,SIDR)工作组提出了RPKI协议并将其进行标准化。在图1(b)所示的例子中,部署RPKI以后,接收到虚假路由通告的AS3就可以明确判断AS1才是IP地址10.1.0.0/16合法的广播者,而AS4是假冒的,那么路由劫持现象就可以避免了。

RPKI的思想来源于1997年BBN公司提出的用以解决BGP前缀劫持问题的安全边界网关协议(Secure BGP,S-BGP)解决方案,S-BGP通过在BGP通告中附加AS的签名来验证IP地址前缀和AS的绑定关系,但是由于S-BGP存在密钥管理复杂、计算开销大等缺陷,并没有得以部署。RPKI正是沿用了S-BGP通过签名将IP地址前缀和AS号绑定的思想,但为了不修改BGP以及尽可能地降低边界路由器的开销,RPKI并没有在BGP通告中附加签名,而是将签名以一种带外的方式独立存储于RPKI资料库中,由专门的服务器获取并验证签名证书,路由器获取验证后的结果指导路由选择。因此与BGP兼容、带外的设计理念是RPKI得以部署的重要原因。

在网络中部署RPKI具有以下几方面的优势:

  • 保证网络安全:RPKI通过验证AS的授权关系,防止网络攻击者伪造路由来劫持网络数据流,从而保障网络安全。
  • 提高网络可靠性:RPKI可以提高路由的可信度和稳定性,减少路由泄露,从而提高网络的可靠性。
  • 保护用户商业利益:RPKI可以保护用户的商业利益,防止网络攻击者通过伪造路由来窃取用户的敏感信息,避免经济损失等问题。
  • 促进互联网健康发展:RPKI可以保障路由安全,从而促进互联网的健康发展。

RPKI是如何工作的

重要概念

  1. 互联网号码资源分配架构
    如下图所示,互联网号码资源分配机构是一个负责管理全球互联网号码资源的组织,包括IP地址、AS号、域名等。它的主要职责是制定全球互联网号码资源的分配规则和标准,确保互联网的稳定和安全。


互联网号码资源分配架构

  1. 资源公钥基础设施
    RPKI是一种数字证书系统,它的基本功能就是对这些资源(IP地址、AS号)提供密码学上可验证的担保。

  2. 证书
    任何有权利进行资源再分配的资源持有者都必须能够为再分配资源签发证书。
    RPKI中的两大证书包括CA(Certificate Authority,证书颁发机构证书)证书和EE证书(End Entity Certificate,终端实体证书),CA证书用来担保IP地址和AS号的分配,因此CA证书将IANA和每个区域互联网注册管理机构(Regional Internet Registry,RIR)、国家互联网注册机构(National Internet Registry,NIR)以及互联网服务提供商(Internet Service Provider,ISP)关联起来;EE证书用来验证路由源授权(Route Origin Authorizations,ROA)。
    拥有CA证书的实体称为CA,每个CA都会维护一个自己的资料库供RP同步自己的证书和签名对象,RPKI资料库就是由所有CA的资料库共同组成的,这正是RPKI架构中的重要组成部分,证书存储系统。

  3. ROA
    ROA是指某个IP地址的所有者已经将其持有的IP地址授权给某个AS。

  4. RPKI资料库
    RPKI资料库是用来存储证书和签名的数据库。

  5. RPKI依赖方(Relying Party,RP)
    RPKI依赖方是连接RPKI体系和互联网域间路由系统之间的桥梁。RP负责从RPKI资料库中周期性地同步下载证书和签名(ROA),并进行验证,从而获得IP地址前缀与AS号的真实绑定关系。RP会将这一结果下发给路由器,路由器获得这些数据后用于判断BGP路由消息的真实性。

RPKI整体架构

如前文所述,RPKI是由IETF安全域间路由工作组制定的一个专用PKI框架,由近30篇RFC组成。这些技术规范中包括了保证RPKI系统正常运行的RPKI架构,如下图所示,RPKI整体架构包含:证书签发体系、证书存储系统以及证书同步验证机制。

RPKI整体架构

下面分别介绍RPKI架构的各个组成部分:

  • 证书签发体系:由分布全球的RPKI认证中心组成,用于RPKI资源证书签发。
  • 证书存储系统:RPKI涉及的所有证书都存放在RPKI资料库中,RPKI资料库是一个采用分布式存储结构,由很多数据库组成。
  • 证书同步验证机制:RPKI资料库可以供依赖方同步,RP同步并验证RPKI证书和签名对象。RP同步并验证后将验证结果(IP地址前缀和ASN的绑定关系)提供给互联网域间路由系统中的边界路由器指导路由过滤,该系统是由部署在不同网络自治域的BGP路由器组成。

路由起源认证过程

RPKI的证书签发体系与互联网号码资源分配架构相对应,如下图所示。证书签发体系通过由上至下逐级颁发资源证书来进行资源授权,证书的内容包含IP地址前缀/AS号与接收机构的绑定关系,表明该资源持有者得到了使用此部分号码资源的合法授权。


RPKI证书签发体系

以上图为例,由上而下逐级颁发资源证书的过程如下:

为了方便读者理解,本文中资源证书颁发过程是一个简单案例,证书格式也只是简化版证书格式,非实际证书格式。

  1. APNIC签发自签名的根证书①:{签发者:APNIC,接收者:APNIC,号码资源:10.1.0.0/16,10.2.0.0/16,AS1-AS99 },证书生成后,APNIC会将根证书存储在自己的资料库中;
  2. APNIC使用根证书①为ISP1签发资源证书②:{签发者:APNIC,接收者:ISP1,号码资源:10.1.0.0/18,10.2.0.0/20,AS1-AS9},证书生成后,ISP1也会将签发的证书存储在自己的资料库中;
  3. ISP1使用自己的证书②签发ROA③:{签发者:ISP1,绑定关系:10.1.1.0/24 & AS1},通过签发ROA签名来授权某个自治网络对某个IP地址前缀发起路由起源通告。ROA将该自治网络的AS号与该IP前缀绑定在一起。

在下图中,AS 200收到的10.1.1.0/24前缀的两个路由起源通告,原本它无从判断两个起源AS孰真孰假。如果它部署了RPKI依赖方,Device B就可以从RPKI资料库中下载到ROA数据库,并验证<10.1.1.0/24 AS100>的绑定关系是真实的。当AS 200分别从AS 100和AS 300接收到10.1.1.0/24前缀路由时,比较源AS与ROA数据库是否一致,如果一致,则ROA校验结果为有效路由,如果不一致,则为无效路由。所以10.1.1.0/24 AS100与ROA数据库一致,为有效路由,进而判断起源于AS 100的路由通告是合法的,而10.1.1.0/24 AS 300与ROA数据库不一致,为无效路由,进而判断起源于AS300的路由通告是非法的。

另外华为还提供了一种在没有RPKI依赖方的情况下,Device B通过配置静态ROA数据库的方式来实现ROA校验,在一定程度上也能实现路由防劫持。


ROA校验

RPKI功能扩展

RPKI区域验证是RPKI的一种验证机制,通过验证从外域EBGP对等体收到的路由是否属于本区域路由来控制选路结果,防止域内的路由被域外攻击者劫持,从而确保域内的主机能够安全地访问内部服务。

区域验证有两种典型应用场景,分别是区域验证场景和区域联盟场景:

区域验证场景

如下图所示,AS1、AS2、AS3同属于某个运营商的网络,AS3与其他运营商网络AS100连接。用户在AS1接入,访问位于AS2的地址是10.1.0.0/16的服务器。正常情况下用户通过AS1-AS3-AS2路径访问服务器。如果AS100存在攻击者伪造路由10.1.0.0/24,由于攻击者发布的路由更详细,用户访问服务器的流量将被攻击者窃取。为解决以上问题,可以在AS3的边界路由器上部署区域验证功能,将AS1、AS2、AS3划分为区域1。AS3从AS100收到的攻击路由,路由源是AS2,属于本区域,但是由于是从区域1之外的BGP对等体接收到,因此区域校验不合法,路由无效或降低优先级处理。


区域验证场景

区域联盟验证场景

如下图所示,AS1、AS2、AS3同属于某个运营商的网络,AS4、AS5属于合作运营商的网络,AS3、AS4同时与其他运营商的AS100连接。用户在AS1接入,访问位于AS5的地址是10.1.0.0/16的服务器。正常情况下用户通过AS1-AS3-AS4-AS5路径访问服务器。如果AS100存在攻击者伪造路由10.1.1.0/24,由于攻击者发布的路由更详细,用户访问服务器的流量将被攻击者窃取。为解决以上问题,可以在AS3的边界路由器上部署区域验证功能,将AS1、AS2、AS3划分为区域1,AS4、AS5划分为区域2,区域1和2共同组成区域联盟1。AS3从AS100收到的攻击路由,路由源是AS5,属于本区域联盟,但是由于是从区域联盟外的BGP对等体接收到,因此区域校验不合法,路由无效或降低优先级处理。


区域联盟验证场景


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1155769.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

什么是RR

文章目录为什么使用RRRR的工作原理RR的使用场景在大规模的BGP网络中加入RR&#xff08;Route Reflector&#xff09;&#xff0c;是用来解决IBGP全连接网络的一种方案。 RR&#xff08;Route Reflector&#xff09;作为一种特殊的IBGP路由器&#xff0c;可以作为全网路由条目存…

什么是热插拔

文章目录 什么场景下需要进行热插拔如何进行热插拔 热插拔又称为带电插拔或热替换&#xff0c;是指在不切断设备电源的情况下&#xff0c;将主控板、接口板、光模块等部件插入或拔出设备。执行热插拔操作前需要详细阅读部件说明文档&#xff0c;避免误操作造成人身伤害或设备损…

亲测广东等离子处理机厂家

等离子表面处理技术&#xff1a;如何甄选真正可靠的设备制造商&#xff1f;在制造业向绿色、精密化转型的浪潮中&#xff0c;等离子表面处理机作为一种高效、环保的预处理技术&#xff0c;正日益成为提升产品性能与合格率的关键装备。然而&#xff0c;面对市场上琳琅满目的设备…

智能表格识别技术突破传统OCR局限,实现复杂纸质表格的精准数字化转换

当你翻出一张泛黄的纸质电费单、一份密密麻麻的医院化验报告&#xff0c;或是一本夹着复杂统计表格的老年鉴&#xff0c;是否曾想过&#xff1a;这些看似“沉默”的纸面信息&#xff0c;能不能一键变成电脑里整齐可查的电子表格&#xff1f;过去&#xff0c;答案往往是“难”—…

这几款iPhone“邪修”软件,好用到逆天!

在日常使用iPhone的过程中&#xff0c;不知道屏幕前的你是否和我一样&#xff0c;总希望有一些“神奇”的APP&#xff0c;能悄无声息地提升效率、丰富生活&#xff0c;甚至帮你完成一些看似不可能的任务&#xff1f;本篇内容&#xff0c;小编就为大家精心推荐7款被不少用户称为…

【开题答辩全过程】以 基于小程序的精品衣柜系统的设计与实现为例,包含答辩的问题和答案

个人简介一名14年经验的资深毕设内行人&#xff0c;语言擅长Java、php、微信小程序、Python、Golang、安卓Android等开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。感谢大家的…

[大模型架构] LangGraph AI 工作流编排(15)

一、LangGraph 核心概念拆解&#xff08;理解工作流的 “骨架”&#xff09; 视频首先系统讲解 LangGraph 的核心组件与设计思想&#xff0c;避免开发者因概念模糊导致后续开发踩坑&#xff0c;核心围绕 “状态&#xff08;State&#xff09;、节点&#xff08;Node&#xff0…

【开题答辩全过程】以 基于Java的健身俱乐部管理系统的设计与开发为例,包含答辩的问题和答案

个人简介一名14年经验的资深毕设内行人&#xff0c;语言擅长Java、php、微信小程序、Python、Golang、安卓Android等开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。感谢大家的…

【大数据毕设推荐】基于Spark的大学排名数据可视化系统,Python+Hadoop技术栈详解 毕业设计 选题推荐 毕设选题 数据分析 机器学习

✍✍计算机毕设指导师** ⭐⭐个人介绍&#xff1a;自己非常喜欢研究技术问题&#xff01;专业做Java、Python、小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目&#xff1a;有源码或者技术上的问题欢迎在评论区一起讨论交流&#xff01; ⚡⚡有什么问题可以…

【开题答辩全过程】以 基于Web技术的知识付费平台为例,包含答辩的问题和答案

个人简介一名14年经验的资深毕设内行人&#xff0c;语言擅长Java、php、微信小程序、Python、Golang、安卓Android等开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。感谢大家的…

深度解读.NET中ConcurrentDictionary:高效线程安全字典的原理与应用

深度解读.NET中ConcurrentDictionary&#xff1a;高效线程安全字典的原理与应用 在多线程编程场景下&#xff0c;数据的并发访问控制是确保程序正确性和性能的关键。.NET中的ConcurrentDictionary提供了一种线程安全的字典实现&#xff0c;允许在多个线程同时访问和修改字典时&…

在外如何用手机像翻相册一样查看其他设备里所有文件?

在外急需调取家里NAS、电脑的资料&#xff1f;别再折腾U盘和复杂的远程设置了。今天就教你用节点小宝&#xff0c;像翻看自己手机相册一样&#xff0c;随时随地、直观地访问你所有设备里的文件。一把钥匙 打开所有设备的“文件抽屉”节点小宝的“远程文件”功能就是一把钥匙。它…

智能电商客服:AI工具驱动的服务价值链重构与行业突围

一、行业核心矛盾&#xff1a;全渠道割裂与价值创造乏力的双重瓶颈当前电商服务场景已呈现“多触点、碎片化、高并发”特征&#xff0c;传统客服模式难以适配行业发展需求。一方面&#xff0c;消费者分散于抖音、小红书、电商平台等多渠道&#xff0c;人工客服需频繁切换操作界…

C++跨平台开发的核心挑战平台差异性处理操作系统AP

C跨平台开发的核心挑战平台差异性处理 硬件架构差异&#xff08;x86/ARM&#xff09;、操作系统API&#xff08;Windows/Linux/macOS&#xff09;、编译器行为&#xff08;GCC/Clang/MSVC&#xff09;带来的兼容性问题。需要抽象系统调用&#xff0c;处理字节序、内存对齐等底层…

Linux网络编程-UDP 广播原理与实战

一、UDP 广播核心概念 UDP 广播是指一台主机向所在子网&#xff08;同一局域网&#xff09;内的所有主机发送数据的通信方式&#xff0c;是 UDP 无连接特性的典型应用场景。 1.1 广播地址分类 类型格式 / 示例特点受限广播地址255.255.255.255① 不会被路由器转发&#xff1…

从机械傀儡到具身智能:机器人控制模型的演变实录

大众往往容易被波士顿动力早期的机器人视频误导&#xff0c;认为机器人技术的进步主要源于液压系统或机械结构的优化。这种观点忽略了问题的本质。机器人进化的核心始终在于控制算法的迭代&#xff0c;即“大脑”的处理逻辑如何从简单的指令执行转变为对物理世界的复杂理解。 确…

Java性能优化实战技术文章大纲性能优化的基本原则

Java性能优化实战技术文章大纲性能优化的基本原则理解性能优化的核心目标&#xff1a;减少资源消耗、提高响应速度、增强系统稳定性 避免过度优化&#xff0c;基于实际业务场景和数据驱动决策 采用可量化的指标评估优化效果&#xff08;如TPS、RT、GC频率等&#xff09;JVM层优…

基于STM3251单片机的草坪培育智能控制系统设计(程序源码+实物+原理图+PCB+论文+答辩稿)

博主介绍 &#x1f497;CSDN从事毕设辅导第一人&#xff0c;本着诚信、靠谱、质量在业界获得优秀口碑&#xff0c;在此非常希望和行业内的前辈交流学习&#xff0c;欢迎成考学历咨询老师、大学老师前来合作交流&#x1f497; 我们可以做什么&#xff1f; &#x1f31f;拥有的…

Linux网络编程-UDP 组播原理与实战

一、UDP 组播核心概念UDP 通信有三种典型模式&#xff0c;组播是单播和广播的中间形态&#xff0c;能精准向指定一组主机通信&#xff0c;大幅节省网络带宽&#xff1a;通信模式特点适用场景单播一对一&#xff08;两台主机端对端通信&#xff09;精准的点对点数据传输&#xf…

深入解析 VPC:云端网络架构的核心基石

在云计算的世界里&#xff0c;VPC&#xff08;Virtual Private Cloud&#xff0c;虚拟私有云&#xff09;并非一个单纯的技术术语&#xff0c;它是构建安全、可靠云基础设施的根本前提。许多初学者在接触云服务时&#xff0c;往往直接跳过网络配置去启动虚拟机或数据库&#xf…