RPKI与互联网路由安全

由大量自治网络互通而成的全球互联网,能否安全稳定的运行,关键在于IP地址管理和路由控制。而RPKI(互联网码号资源公钥基础设施)即将成为互联网IP地址分配系统和路由系统的信任锚点和管理入口,对于各大网络运营商和持有IP地址资源的企业来说,RPKI将不可避免的成为它们新的工作重点和挑战。

ZDNS作为国内领先的互联网基础资源服务提供商,自2014年成立RPKI研发团队,对RPKI进行持续深入的研究。实验室主任马迪博士和rpki发明人Stephen Kent博士合著的“rpki数据安全威胁模型”在2017年发布为IETF RFC 8211。目前,马迪博士还是RPKI验证软件国际开源项目RPSTIR(bgpsecurity.net)的负责人。ZDNS致力于RPKI在我国的部署方案和运行机制, 在RPKI与互联网路由安全的相关研发工作中,发挥着重要作用。

自治网络和BGP协议

互联网由许多独立发展的自治网络(AS)所组成,政府、网络运营商(ISP)、大学和企业都可以运行自己的自治网络。每一个自治网络都会被分配一个全球唯一的编号,称为AS号。自治网络之间通过域间路由协议BGP来共享路由信息:每个AS负责将自己的IP地址前缀(即一段连续的IP地址块)通告给邻居AS,扩散到全球互联网,使得互联网上任意两个可全球路由的IP前缀都能进行通信。

图1里,自治网络AS3是IP地址前缀16.1.0.0/16的合法持有者,它通过BGP协议消息向外通告包含该前缀的AS路径为3的路由信息,该路由通告被邻居AS1接收到;AS1一方面将目的地址包含在16.1.0.0/16地址块中的IP数据包经该路径发送给AS3,另一方面把自己的AS号加到该AS路径的最前端,并继续向外通告该路由,即向外通告IP前缀为16.1.0.0/16,AS路径为1 3的路由。AS7、AS5和AS2遵从同样的BGP路由协议。

图1: AS3向外通告16.1.0.0/16

. IP地址前缀和AS号分配机制

IP地址前缀和AS号的分配是在一个分级体系中进行的,如图2所示:该体系顶层是互联网码号资源分配的最高权威机构IANA。其下是五大地区性互联网注册机构(RIR),包括亚太区APNIC,北美ARIN、欧洲RIPE NCC、拉丁美洲LACNIC和非洲AFRINIC,它们负责分配和管理各自地域内的IP地址和AS号。在RIR之下还可以存在一些注册机构, 如:国家级注册机构(NIR)和普通地区级注册机构(LIR,如网络运营商)。这些机构从上级RIR得到IP地址前缀和AS号,然后留作己用或继续向下级会员分配。

图2:互联网码号资源分配

互联网路由劫持

BGP协议在安全性上存在非常明显的设计缺陷:在进行路由通告的过程中,每个自治网络无条件地信任邻居发给自己的任何路由通告,即使邻居通告的是虚假的路由信息,这些信息也会被接受并且被继续传播。这就给互联网带来不安全和不稳定的因素,导致路由劫持等安全事故频发:2017年4月, Visa、MasterCard等37个国际金融机构的50条IP前缀被劫持到俄罗斯国有电信运营商Rostelecom,劫持持续了5~7分钟;2017年8月,谷歌意外泄露了从邻居AS得到的内部路由信息,劫持了全球超过13.5万条路由,其中日本NTT是受影响最大的ISP,导致日本大范围断网约1小时。

恶意攻击者往往通过伪造BGP消息中的起源AS号来实施路由劫持。如图3所示,在AS3向外通告16.1.0.0/16的基础上,AS2恶意伪造路由通告,即向外谎称自己是16.1.0.0/16的起源AS。AS5收到的16.1.0.0/16的真实路由长度为3,虚假路由长度为1,根据BGP最短AS路径优先的原则,AS5将选取该虚假路由,因此原本流向AS3的全部流量被劫持到AS2。该虚假路由经由AS5发送给AS7,AS7收到的16.1.0.0/16的真实路由和虚假路由的AS路径长度一样,AS7会根据其他路由规则选择真实路由和虚假路由之一,如果选择了后者,那么原本流向AS3的流量同样会被劫持到AS2。

图3: AS2非法向外通告16.1.0.0/16

针对互联网路由系统存在的安全问题,工业界和学术界提出过很多解决方案,但是均没得到广泛应用。最终,RPKI方案脱颖而出,经由IETF标准化,正在被互联网注册机构、网络运营商和IP地址持有机构部署使用。对于这些机构和企业来说,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验证软件技术要求及其扩展功能的标准化工作。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值