RPKI与互联网路由安全(下)

为了抵御日趋频繁和严重的互联网路由劫持事故,RPKI(互联网码号资源公钥基础设施)应运而生。它通过签发和认证一种特定格式的x.509数字证书和数字签名,帮助路由器检验BGP消息的真实性,从而增强BGP协议的安全,帮助避免互联网路由劫持。我们介绍RPKI的原理和发展现状。

RPKI基本原理

RPKI的基本思想是构建一个PKI(公钥基础设施)来完成对IP地址前缀和AS号的所有权和使用权的认证。RPKI包括证书认证体系和依赖方两大组件,其中证书认证体系与上一篇文章介绍的“IP地址前缀与AS号分配体系”相对应,如图1所示。

图1:RPKI证书认证体系

每一个互联网码号资源的注册机构和持有机构都可以作为RPKI的一个认证权威(即“签发证书的实体”,简称CA)。CA主要有两个功能:

1. 通过签发RPKI资源证书来认证码号资源分配关系。一个CA将其持有的一部分IP地址资源/AS号分配给下级机构的同时,它签发一张资源证书给该机构,以确认这次分配行为。证书的内容是IP地址前缀/AS号与接收机构的绑定关系。以图1为例:

APNIC签发自签名的根证书①:{签发者:APNIC,接收者:APNIC,码号资源:1.1.0.0/16,2.2.0.0/16,AS1-AS99 }

APNIC使用根证书①为ISP1签发资源证书②:{签发者:APNIC,接收者:ISP1,码号资源:1.1.0.0/18,2.2.0.0/20,AS1-AS9}

ISP1使用自己的证书②为ISP2签发资源证书③:{签发者:ISP1,接收者:ISP2,码号资源:1.1.1.0/24,AS1-AS3}

2. 通过签发ROA(路由起源认证)签名来授权某个自治网络对某个IP地址前缀发起路由起源通告。ROA将该自治网络的AS号与该IP前缀绑定在一起。在图1中:

ISP2使用自己的证书③签发ROA④:{签发者:ISP2,绑定关系:1.1.1.0/24 & AS1}

以上这些资源证书和ROA签名都在各CA维护的发布点中存储并发布,由所有这些发布点组成的分布式数据库即RPKI资料库。

RPKI依赖方(RP)负责从RPKI资料库中周期性的同步下载这些证书和签名,并验证它们的有效性,从而得到IP前缀与AS号的真实授权关系。路由器从RPKI依赖方得到这些数据,用于判断BGP路由消息的真实性,即路由消息中起源AS是否有通告该IP前缀的合法授权。

在图2中,AS2收到1.1.1.0/24前缀的两个路由起源通告,原本它无从判断这两个起源AS孰真孰假。如果它部署了RPKI依赖方,就可以从RPKI资料库中下载到图1里的资源证书①②③和ROA签名④,并且通过成功构建认证链①→②→③→④验证ROA④里的绑定关系<1.1.1.0/24 & AS1>是真实的,从而判断起源于AS1的路由通告是有效的,而起源于AS3的路由通告是无效的。

图2:用RPKI验证路由起源通告的真实性

RPKI依赖方是连接RPKI体系和互联网域间路由系统之间的桥梁,它在互联网安全认证基础设施的IP地址和路由安全领域有着举足轻重的作用。每一个域间路由参与者,如骨干网运营商和ISP,都可以部署自己的RP,或选择自己信任的第三方RP,委托其处理RPKI信息。随着云计算模式日趋普遍,这种第三方的RP服务或将逐渐迁移到云端,使得RPKI业务作为互联网公共服务的定位更加清晰。

RPKI发展现状

2006年IETF域间路由安全(SIDR)工作组成立,开始对RPKI进行标准化工作。2016年,IETF域间路由安全运行机制(SIDROPS)工作组成立,标志着RPKI部署方案和运行机制成为研究重点。自2009年开始构建以来,五大RIR均已部署自己的RPKI信任锚点,为会员托管RPKI的CA服务。路由设备提供商、骨干网提供商、ISP和ICP也陆续开展RPKI相关工作,如Cisco、Juniper、华为、Verizon、Level3、Comcast、Google、Microsoft和Facebook等。截止到2018年4月,全球RPKI路由通告覆盖率已达到9.4%。

目前全球有三种RPKI依赖方验证软件:rpki validator、RPSTIR以及rpki.net。其中RPSTIR是一个RPKI开源项目,最初由RPKI的发明公司美国BBN公司发起。目前,互联网域名系统北京市工程研究中心(ZDNS)的马迪博士是RPSTIR开源项目的负责人,在全球范围内统筹该软件的更新维护工作,并正在IETF积极推动RPKI验证软件技术要求及其扩展功能的标准化工作。

原创文章,作者:Safeidc,如若转载,请注明出处:https://www.safeidc.cn/2021/06/rpki-route2.html

发表评论

邮箱地址不会被公开。

联系我们

在线咨询:点击这里给我发消息

时间:周一至周五,9:30-18:30,节假日休息