[Sidrops] Re: draft-li-sidrops-rpki-repository-problem-statement-00
Job Snijders <job@fastly.com> Mon, 30 September 2024 17:00 UTC
Return-Path: <job@fastly.com>
X-Original-To: sidrops@ietfa.amsl.com
Delivered-To: sidrops@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B3AF9C1519B6 for <sidrops@ietfa.amsl.com>; Mon, 30 Sep 2024 10:00:07 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.105
X-Spam-Level:
X-Spam-Status: No, score=-2.105 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, SPF_NONE=0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=fastly.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ZaI3zFeR2WMo for <sidrops@ietfa.amsl.com>; Mon, 30 Sep 2024 10:00:03 -0700 (PDT)
Received: from mail-ej1-x62f.google.com (mail-ej1-x62f.google.com [IPv6:2a00:1450:4864:20::62f]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 10C4FC14F69C for <sidrops@ietf.org>; Mon, 30 Sep 2024 10:00:02 -0700 (PDT)
Received: by mail-ej1-x62f.google.com with SMTP id a640c23a62f3a-a7aa086b077so681836166b.0 for <sidrops@ietf.org>; Mon, 30 Sep 2024 10:00:02 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fastly.com; s=google; t=1727715601; x=1728320401; darn=ietf.org; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:to:from:date:from:to:cc :subject:date:message-id:reply-to; bh=WQ6K0xrIQC0LIvVhY2YoO+yJdfsHhS25Vhmg1+t5iKM=; b=cEcTHAf6HQhhBTP/WvGzAoW1PlcJmnJtZAHE6J2A2jBzSqFXn55Ek0uap6gYkpJ8Nk XPii+unSs7Cx063uODlH5eYihsMqXOoDYjSk9sjTUoMZ+8vXwRxUc+rcQAiBu9wUGW4s 5T2rZjeyTrdmZ5OnK66zPFsCN0B7BHwJ2Jj18=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1727715601; x=1728320401; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=WQ6K0xrIQC0LIvVhY2YoO+yJdfsHhS25Vhmg1+t5iKM=; b=lz6wsUItLGPx4C0hctJytZNjZRXYaTfcI24vAzHnIn4bM27E0Ki/xh8KKNe1GpeXpb JNkmroyF7i6Wi1ZWX6clfDugkfKAE26vUmYmrK+Me2V18rAn6POsewvm1uPETvhZ9MVU bR1kh+uvuvpZjO9m6yVoOH8I2Ye3m4xlFHvawE6dhh9e4z85b6xJET95hmYb/bo3x1YO CWmpLwwb/PNzUiuY2YMCY97jyskUfRFRN/ctrpyIC8fm+faWCtbyN4AIVsvM9pFty1dp JbiolXx/WcOqUw82Vp4mybGMNM2bFTSr5I9Kl0jifhONVWLaqtUoaBqurl6ERAwJfxwz 8taQ==
X-Gm-Message-State: AOJu0YxGg6r2cNBDfuZHpbPtNosZtN7XbppNq35PAN2pnFzhNuSm8ECl H519tjUXpduJBhzuoxoNKap2+mBaDZFnXO8WtCL29efrhPWpcs/PeVcCYVggKxF+3OF/bmftEvN V8FVU729mol38zzU4HPEc6psjopKUvv3Z9f+etaqk7rRL/bKPD6r6nKA+qx/LZNsri28wCgZOo2 WPyJVLT2nBR71NjATXgLEO5w==
X-Google-Smtp-Source: AGHT+IHdf29Cbii3wQq9IK/TGcaNotCtAbwWU2T05NGmFsmzS/SXOb4wW+1tSg0t6D0EIxjYVLzD0A==
X-Received: by 2002:a17:907:6d15:b0:a91:158c:8057 with SMTP id a640c23a62f3a-a93c4aeb8bbmr1415010266b.54.1727715600490; Mon, 30 Sep 2024 10:00:00 -0700 (PDT)
Received: from fast ([2a10:3781:276:0:ed11:c245:3053:2bdf]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-a93c2948210sm557049366b.106.2024.09.30.09.59.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 30 Sep 2024 10:00:00 -0700 (PDT)
Date: Mon, 30 Sep 2024 16:59:58 +0000
From: Job Snijders <job@fastly.com>
To: sidrops@ietf.org
Message-ID: <ZvrZDmFJ8C7hVT87@fast>
References: <6cd72bd.debe.192335eef16.Coremail.suyy@mail.zgclab.edu.cn>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <6cd72bd.debe.192335eef16.Coremail.suyy@mail.zgclab.edu.cn>
X-Clacks-Overhead: GNU Terry Pratchett
Message-ID-Hash: S2JPZMTDOPT5DX73TAWTNMWXDHPQFPSQ
X-Message-ID-Hash: S2JPZMTDOPT5DX73TAWTNMWXDHPQFPSQ
X-MailFrom: job@fastly.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-sidrops.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
X-Mailman-Version: 3.3.9rc4
Precedence: list
Subject: [Sidrops] Re: draft-li-sidrops-rpki-repository-problem-statement-00
List-Id: A list for the SIDR Operations WG <sidrops.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/sidrops/GyFG6enaDn0zriThDZS9YDNbuos>
List-Archive: <https://mailarchive.ietf.org/arch/browse/sidrops>
List-Help: <mailto:sidrops-request@ietf.org?subject=help>
List-Owner: <mailto:sidrops-owner@ietf.org>
List-Post: <mailto:sidrops@ietf.org>
List-Subscribe: <mailto:sidrops-join@ietf.org>
List-Unsubscribe: <mailto:sidrops-leave@ietf.org>
Dear Yingying Su, authors, working group,
I find that I disagree with much of this internet-draft's
characterisation of 'problems' in the space of RPKI deployment.
I've processed the internet-draft through 'cat -n' to add line numbers,
and will reply to parts of the internet-draft where I perceive factual
issues which in turn undermine conclusion presented in the I-D.
173 We have observed
174 that the current RPKI Repository lacks the ability to provide
175 reliable services to RPs. RPKI allows certificates issued by a CA to
176 be stored only at the PP operated by that CA, which means that any
177 failure of a PP can hinder RPs from obtaining complete RPKI data.
The publication point need not be operated by the CA. For example, all
CAs subordinate to NIC.BR publish into NIC.BR's publication service. The
subordinate SAs do not operate NIC.BR's publication point.
178 Then, as delegated RPKI becomes more popular, an increasing number of
179 CAs choose to maintain their own repository instances.
I fail to see evidence for this assertion. As far as I understand the
'hosted RPKI' approach by far is the most popular choice with no signs
this approach's popularity is declining.
Today more than half of the Internet's global routing table entries are
RPKI-valid and estimates by Kentik suggest that between 70% and 80% of
Internet traffic is forwarded towards IP destinations covered by RPKI
ROAs.
At the moment of writing there are 44 FQDNs associated with non-RIR
operated publication services and 14 FQDNs associated with NIR or RIR
operated publication services.
The RIR operated publication services contain 222,934 ROA objects; the
non-RIR publication services contain 42,578 ROA objects. ~ 75% of the
ROAs in the non-RIR publication services are issued and served by
National Internet Registries (NIRs). This means that only 10,691 ROAs
(4% of the global total) reside in non-RIR/non-NIR publication services.
Of that 4%, about 84% of ROAs are issued by a single entity (a large
cloud provider). Accounting for all of the above and excluding the one
cloud provider, only 1,620 ROAs (0.6%) reside in non-RIR/non-NIR
publications.
None of these numbers suggest that there is increasing popularity
towards delegated 'self-hosted' publication services. In fact, we can
see that currently only a tiny tiny minority of operators choose to run
their own publication services, with some taking this approach
exclusively for experimentation/development/analytical purposes.
179 However, some
180 of these repositories lack robust, secure, and reliable
181 infrastructure.
Sure, but this is a problem for those publication operators and for the
CAs who choose to publish into such unreliable publication services. CAs
ought to apply a vendor selection process when it comes to RPKI
publication services. Failure to select a vendor with a robust secure
reliable publication service is not a problem of the RPKI, it is the CAs
own responsibility.
181 Furthermore, the proliferation of repositories will
182 affect the scalability of RPKI, as RPs need to traverse all PPs to
183 refresh their local caches.
I'd argue there is no meaningfull proliferation of publication services
given the overwhelming popularity of RIR/NIR operated publication
services (based on the number of ROA objects available via NIR/RIR
operated publication servers).
205 2. Reliability Analysis
206
207 Although the current RPKI Repository is globally distributed, each CA
208 only stores the RPKI objects it issues in the unique PP it runs. If
209 any PP fails (malfunctions or is attacked), RPs will not be able to
210 fetch the RPKI objects issued by its CA, and the integrity of the
211 global RPKI object view cannot be guaranteed.
RFC 7115 correctly notes in section 6:
"""
Like the DNS, the global RPKI presents only a loosely consistent
view, depending on timing, updating, fetching, etc. Thus, one
cache or router may have different data about a particular prefix
than another cache or router. There is no 'fix' for this, it is
the nature of distributed data with distributed caches.
"""
There never was any guarantee for "integrity of the global RPKI object
view" to begin with, this simply is part of the RPKI's design. Each
Relying Party can cryptographically verify the objects it managed to
download, and each distinct caRepository contained within a publication
service can accuractly be checked for integrity using RPKI Manifests
(RFC 9286), additionally Relying Parties can compare purported new and
locally cached versions of objects to overcome malfunction or tampering.
Thus, I see no value in a problem statement which boils down to "if the
RP cannot download the file, it cannot cannot access the file's content"
- which would be a truism, and ignores various resilliency techniques
that RPs have implemented.
213 As of August, 2024, there are 42,950 RCs and 303,918 ROAs in RPKI
214 Repository.
I checked this August 31st, 2024 tarball produced as part of the rpkiviews.org project:
http://josephine.sobornost.net/josephine.sobornost.net/rpkidata/2024/08/31/rpki-20240831T233656Z.tgz
This archive contains 261,446 ROA objects and 43,507 Resource
Certificates. It is unclear to me how the authors saw an additional
42,472 ROA objects compared to my own datasets. Is there a difference in
methodology? For example, are invalid (expired) ROAs are also included?
I calculated the low, high, median, and mean number of valid ROA objects
as seen by validator instances in Frankfurt and Amsterdam throughout
August 2024:
Amsterdam (NL) Frankfurt (DE)
Minimum: 256,819 256,826
Maximum: 261,590 261,592
Median: 259,133 259,171
Mean: 259,139 259,126
Std Deviation: 1,467 1,484
Throughout August 2024 we saw an increase of about 5,000 extra ROA
objects, bringing us to a total of ~ 261,500.
214 For each RC, we extracts the SIA field that records the
215 URI of its HTTPS-based RRDP file (Since all PPs now support RRDP and
216 serve RPs through RRDP files, the analysis of the RPKI Repository
217 focuses primarily on RRDP Repository). The result shows that there
218 are currently 63 independent repository instances (SIA fields of RCs
219 held by the same entity may share the same PP, therefore, the number
220 of repositories is much lower than that of RCs).
Thank goodness :-)
252 Measurement results show that although RRDP enables the use of
253 Content Distribution Networks (CDNs) infrastructure for resilient
254 service, only 9 out of 63 repositories are hosted in CDNs, with 8
255 being hosted on Cloudflare AS13335 and 1 on Amazon AS16509. It also
256 shows that out of 63 repositories, 60 of them are hosted in a single
257 AS.
63 minus 9 minus 1 is 53. How can 60 be hosed in a single AS? Which AS
is this? Is there a calculation error? The above observation does not
match with my own datasets.
258 It means that the accessibility of these repositories is highly
258 dependent on the reachability of a single AS.
If the previous paragraph contained a measurement error, the above
conclusion does not hold true.
258 Worse still, among the
259 repositories whose corresponding ASes have deployed ROAs, there are
260 14 of them carry the ROA of the ASes in which they are located. It
261 means that once the repository goes down and the RPs cannot fetch its
262 ROAs, the route of the AS that the repository locates in may be
263 downgraded by ROV adopters. Then, even if the repository is
264 restored, those ROV adopters still cannot access the repository, in
265 which case the access of the repository depends on the reachability
266 of the AS it locates in, while the reachability of the AS also
267 depends on the access of the repository.
Yes, this was already noted in RFC 6483 section 3:
"""
Potential circular dependence is a consideration here: if the
authoritative publication point of the repository of ROAs, or that of
any certificate used in relation to an address prefix, is located at
an address that lies within the address prefix described in a ROA,
then the repository can only be accessed by the RP once a route for
the prefix has been accepted by the RP's local routing domain.
"""
Publication service operators will need to take care of potential for
circular dependices.
269 Real-world incidents of repository breakdowns do occur at times. On
270 6 April 2020, the repository maintained by RIPE NCC suffered a sudden
271 increase in connection to service [RIPE-downtime], resulting in it
272 appearing as down to many RPs for 7 hours (RIPE's services are
273 already hosted on CDNs). On 15 May 2020, the Japan operated
274 repository was out of service for 10 hours due to hardware failure
275 [service-outage], and between 26 Jan 2022 and 2 Feb 2022, due to full
276 disk space, all ROAs in its repository again became invalid
285 [disk-outage]. During 10 July 2024 to 12 July 2024, we also found
286 that RPKI data synchronized through Routinator [routinator] once
287 again had missing parts from RIPE NCC.
Yes, problems occur in the real world. Then again, temporal inability to
synchronize with a given publication service does not immediately render
previously fetched & cached objects invalid. As per RFC 9286, Relying
Party implementation should use locally cached objects until such time
they become stale. In practise this means there is time budget for
publication point outages.
289 3. Scalability Analysis
290
291 In current RPKI infrastructure, refreshing the local cache of each RP
292 involves traversing all repositories to fetch the updated RPKI
293 objects. However, RPKI Repository has grown from 5 repositories run
294 by five RIRs to more than 60 repositories and is expected to increase
295 dramatically with the further deployment of ROA.
I challenge the assertion there will be a dramatic increase in
non-RIR/non-NIR repositories.
297 On the one hand, with a deeper understanding of RPKI, ROA deployers
298 prefer to adopt delegated RPKI to flexibly control their RPKI
299 objects. In the survey, 45.3% of the AS administrators using hosted
300 RPKI say they have plans to run their own repositories for flexible
301 certificate signing and control.
Perhaps the survey inadvertently contained leading questions? Almost
everyone I've spoken about RPKI ROA deployment strongly prefers to
outsource the issuance of ROAs and subsequent hosting of ROA objects to
the RIR they already are paying for those services. Very few companies
want to take on additional responsibility for zero commercial gain. The
numbers from earlier in this email also do not corroborate that 'self
hosting' is popular or going to be popular.
301 The result shows that delegated
302 RPKI will emerge as a trend, and the number of independent
303 repositories will inevitably increase. The work [beyond-limits]
304 predicts that when ROA is fully deployed, the number of repositories
305 will reach 10K and there will be 140K active RPs, the RPKI snapshot
306 download would easily exceed 1 hour (on the premise that each
307 repository is well accessible).
I predict the number of publication services will not reach 10K when
fully deployed, I base this on the simple observation that the Internet
operator community now already is above 50% routing table coverage, and
there only are ~ 44 FQDNs associated with non-RIR/non-NIR operations.
307 Since RPs are required to check the
308 updates of all repositories when refreshing their local caches, the
309 increasing number of repositories will result in higher refresh
310 costs. It may prevent RPs from obtaining routing information in a
311 timely manner, and also prohibits the release of use cases such as
312 temporary ROAs to enable ISPs to perform tactical traffic engineering
313 to ease congestion.
I challenge the assertion that short-lived ROAs cannot be used for
tactical traffic-engineering. Keep in mind that multiple Prefix entries
can be aggregated into a single ROA, in doing so substantially reducing
the number of bytes that have to be transferred from publication service
to Relying Party.
315 On the other hand, RPKI Repository is designed without a strict
316 admission mechanism, allowing entities to apply for RC from RIRs or
317 other RPKI CA entities, register as delegated CAs, and then operate
318 repositories with a small fee and identity verification. Therefore,
319 some repositories for unwanted purposes (measurement, attack
320 experiments, etc.) are gradually emerging. Furthermore, the low
321 barriers to running repositories and joining RPKI Repository will
322 introduce unforeseen risks to RPs. For example, a malicious CA can
323 create a large number of descendant RCs and operate numerous
324 repositories to make RPs endlessly retrieve repositories, thus
325 exhausting and paralyzing RPs.
Such CAs would violate RIR terms & conditions and be hampered by various
protection mechanisms embedded in modern day Relying Party
implementations. Furthermore in the RPKI attackers need to take note of
attribution due to the non-repudial nature of the signature chains.
Deterrents against malicious actions exist in the form of reactive legal
action.
325 Although the most popular RP
326 software, Routinator [routinator], has set the default value for the
327 maximum searchable RPKI-tree depth to 32 in its latest version
328 0.14.1, and the RPKI-client has set the default value to 12, neither
329 has provided a value for RPKI-tree width (as it is difficult to set a
330 reasonable threshold).
Both Routinator and rpki-client have implicit width limits. Whether
those limits are useful or not is a separate conversation, but the claim
'there are no width limits' does not hold true.
330 Similarly, it is also challenging for RP
331 softwares to clearly limit the maximum number of accessible
332 repositories. In addition, a series of recent academic works have
341 emerged that exploit repository vulnerabilities to cause repository
342 downtime, thereby preventing it from providing normal services to RPs
343 [behind-the-scenes]. There are also works [beyond-limits][stalloris]
344 that manipulate malicious repositories to attack RPs, thus
345 obstructing the synchronization of RPKI data.
The papers referenced here are not entirely without controversy.
347 In addition, with the increasing rate of ROV deployment, more and
348 more RPs will connect to RPKI Repository. It will undoubtedly
349 increase the burden on the repositories. In summary, as RPKI
350 deployment progresses further, RPs will need to access more
351 repositories, and repositories will need to serve more RPs. This
352 increase in the number of bidirectional connections will threaten the
353 scalability of the RPKI system.
Yes, more RPs == more data. Tending to the RPKI is like tending to a
garden, active maintenance is required. Recent examples to improve
future scalability include the implementation & publication of RFC 9589
(optimizing RRDP -> Rsync switchovers), or for example the
implementation of support for HTTP content encoding compression in Fort
and Rpki-client.
355 4. Security Analysis
356
357 In current RPKI infrastructure, RPKI authority (CA and its
358 corresponding repository manager) uploads the RCs and ROAs it signs
359 for subordinate INR holders to the repository it specified. It means
360 that RPKI authorities control the signing and management of RPKI
361 objects in their repositories and have significant unilateral power.
362 The disproportionate division of power between RPKI authorities and
363 INR holders will poses three issues:
Yes, this is the nature of subordination.
365 (1) Since the current RPKI Repository is not tamper resistant,
366 authorities can unilaterally undermine any RPKI objects without
367 consent from subordinate INR holders. Malicious or breached
368 authorities can perform arbitrary operation on INR holders'
369 certificates, such as deletion, corruption, modification, or
370 revocation (see [RFC8211] for more details). These operations often
371 involve diminishing the set of INRs associated with the affected INR
372 holders. A malicious RPKI authority can also compromise RPs, for
373 example, showing incomplete or inaccurate RPKI object views to RPs.
Manifests protect individual caRepositories by informing Relying Parties
what the state of the caRepository ought to be. Also, CAs themselves
choose which publication service they want to use. RFC 8211 enumerates a
number of detrimental actions in order to inform the broader community
of 'what could go wrong', repeating the keypoints does not make for a
new problem statement.
375 (2) INR holders and RPs can only rely on RPKI authorities without the
376 ability to verify that their security requirements are being met.
377 Specifically, INR holders cannot know if their RPKI objects are
378 securely stored in the authorities' repositories and can be publicly
379 seen and fetched by all RPs; RPs cannot verify the integrity and
380 accuracy of the RPKI objects they synchronize from RPKI Repository.
INR holders are able to monitor the contents of publication services.
Indeed INR holders cannot verify whether all RPs fetched & validated a
given object; then again, website operators also cannot know whether all
people on the planet can access their website. Various monitoring
services exist to resolve these types of issues both for website
operators and INR holders.
397 (3) The history of RPKI objects is not easily auditable. A complete
398 longitudinal view of RPKI objects is necessary to defend against
399 malicious manipulation of the RPKI Repository and to resolve
400 conflicts between authorities and INR holders. Although RPs can
401 periodically fetch RPKI objects to keep track of their historical
402 versions, it is costly, without any guarantee of completeness. Since
403 RPKI lacks a trustworthy historical RPKI object record, it is also
404 challenging, if not impossible, to hold authorities accountable even
405 if attacks are detected after the fact.
The above simply is not true. Already today various projects exist for
longitudinal view of RPKI objects:
https://ftp.ripe.net/rpki/
http://www.rpkiviews.org/
https://delta-rpkilines.nlnetlabs.net/
Using the public keys contained within the RIR TALs and timestamps
provided in the above archives, one can reconstruct with great accuracy
what objects existed at what times. While there is no guarantee of
completeness, the number of data collectors (at least 10 nodes globally
distributed that I know of) makes it challenging to reliably hide
manipulation within a global publication scope.
407 In the survey, 44.1% of the AS administrators explicitly expressed
408 concerns about malicious RPKI authorities (11.5% of them chose "not
409 sure"). Two administrators provided additional feedback, indicating
410 that they consider the threat from the RPKI authorities to be the
411 most serious problem. One of them said they had lost all their ROAs
412 due to administrative/human reasons. It can be seen that threats
413 from RPKI authorities are also widely recognized in the industry.
Selecting one or more Trust Anchor Locators (as Relying Party) for use
is the RP assuming trust in the Trust Anchor operator, this means that
violation of that trust is considered out of scope. The rest of the
trust arcs are 'derived trust', calculated using subjective logic.
A subset of INR holders are in the position to transfer their INR
holdings from one RIR to another RIR should there be significant
concerns about operational threats. Failure to pay bill for rendered
services might result in revocation of ROAs, such is life when
purchasing services.
415 5. Summary: Problems of the current RPKI Repository
416
417 Based on the measurement and analysis described in the previous
418 section, this section summarizes the main problems of the current
419 RPKI Repository and the key reason behind these issues: the binding
420 of the repository PP with the CA.
The previous section contains a number of potential issues, so I am
hesitant to accept what follows.
422 5.1. P1: Every RPKI object is a singleton in RPKI Repository.
423
424 Although the current RPKI Repository is globally distributed, RPKI
425 does not provide distributed storage for RPKI objects. The binding
426 of PP and CA causes each RPKI objects to be stored only in the PP run
427 by the CA that issued the object, instead of being stored in multiple
428 repository nodes. Therefore, the current RPKI Repository cannot
429 guarantee that RP can obtain complete RPKI data when some repository
430 nodes fail. Even worse, the singleton nature of RPKI objects also
431 introduces unwanted interdependence between the accessibility of a
432 CA’s PP and the reachability of the AS that the PP locates. Since
433 RPKI ensures the routing security and reachability of ASes, it is
434 fair to expect PPs to remain accessible during any incident when
435 corresponding ASes become unreachable.
The definition of 'singleton' is missing in this context. In the
existing technology stack it is perfectly possible to store RPKI objects
in multiple places. One example is that objects are accessible via both
RRDP and RSYNC. Publication service operators can use DNS to provide
multiple A & AAAA records to clients which point to multiple nodes
hosting copies of the objects in hand. Publication operators can also
leverage BGP anycasting to introduce multiple copies distributed across
multiple nodes.
Furthermore it is technically possible for RIRs to provide Certification
services to out-of-region INR holders. The fact that at present day none
of the RIR offers such a service is a political problem, not a technical
one.
437 5.2. P2: RPKI Repository is costly in RP refreshing.
438
439 Refreshing the local cache of each RP involves traversing all
440 repositories to fetch the updated RPKI objects. However, the binding
441 of the repository PP to the CA causes the number of repository
442 instances to increase dramatically with the further deployment of ROA
443 (as the number of CAs that hold RCs increase). Furthermore, as AS
444 administrators gain a deeper understanding of RPKI technology,
453 delegated RPKI has emerged as a trend, CAs are more willing to
454 maintain the repository PP themselves to achieve more flexible
455 certificate signing and management. The growth in the number of
456 repository instances increases the cost of RP refreshes, the growth
457 in the number of RPs brings burdens to repositories, and both will
458 threaten the scalability of RPKI.
Delegated RPKI has not emerged as a trend.
460 5.3. P3: Unilateral reliance on authority.
461
462 The current RPKI authority (CA) not only operates a certificate
463 engine but also operates a publication repository to store all RPKI
464 objects it signs. It means that although the RPKI authority issues
465 certificates to subordinate INR holders, the management of these
466 certificates (especially their storage and distribution) is entirely
467 controlled by the RPKI authority. The current RPKI Repository
468 architecture exacerbates the power imbalance between the RPKI CA and
469 subordinate INR holders and may also lead to RPs being deceived by
470 receiving inaccurate or incomplete RPKI data from malicious RPKI
471 authorities. However, INR holders and RPs have no choice but to rely
472 unilaterally on the RPKI authority. This unilateral reliance
473 prevents RPKI from proactively defending against the threats from
474 malicious RPKI authorities. Moreover, it is also challenging to
475 provide a complete and trustworthy longitudinal view of RPKI objects
476 for post-incident audits, as the RPKI data is entirely controlled by
477 the CA that signed it.
This is the nature of subordination.
497 7. Security Considerations
498
499 TBD
While the internet-draft notes that though delegation a chain of CAs
could introduce a substantial number of publication service endpoints;
what's omitted from the internet-draft is that various Relying Party
implementations have developed mitigations to address the risk of
misbehaving publication service endpoints.
For example, rpki-client imposes a size limit and a time limit on
per-endpoint synchronization operations. A global repository count limit
also exists. Repositories are contacted in random order, noting that in
practise the RIR operated publication endpoints are placed towards the
front of the queue (as the TA certificates point via the SIA point to
RIR operated endpoints). If an endpoint ends up not being queued for
synchronization, locally cached objects will be used, and perhaps in the
next process execution it will be synchronized.
All in all, the above means that the further 'away' from the root, the
less reliable global visibility becomes. This decrease in reliable
accessibility applies to both legit and malicious endpoints. This is a
healthy property of the architecture. This property encourages operators
to use the RIR provided services rather than solving things in-house.
This in turn reduces the number of endpoints to synchronize to, and
reduces bandwidth consumption.
The longer a chain becomes, the more fragile it becomes (be it because
of intermediate Certification Authorities or distinct intermediate
publication endpoints). Often times overly long dependency chains are
the result of choices the INR holder themselves made, self-inflicted
risk so to speak. Yes, the RPKI technology stack has a fair bit of rope
for people to hang themselves. This probably is true for most heavy
machinery. The solution resides in outreach and education "how to
optimally configure ROAs, where to host them"; and IMHO less so in
adoption an imperfect problem statement.
If an INR holder wants to maximally increase the chances of all RPs
globally fetching & validating their ROAs, then they should simply use
their RIR's certification & publication services!
Kind regards,
Job
- [Sidrops] draft-li-sidrops-rpki-repository-proble… Yingying Su
- [Sidrops] Re: draft-li-sidrops-rpki-repository-pr… Job Snijders
- [Sidrops] Re: draft-li-sidrops-rpki-repository-pr… Tim Bruijnzeels
- [Sidrops] Re: draft-li-sidrops-rpki-repository-pr… Yingying Su
- [Sidrops] Re: draft-li-sidrops-rpki-repository-pr… Job Snijders
- [Sidrops] Re: draft-li-sidrops-rpki-repository-pr… Job Snijders
- [Sidrops] Re: draft-li-sidrops-rpki-repository-pr… Yingying Su
- [Sidrops] Re: draft-li-sidrops-rpki-repository-pr… Job Snijders
- [Sidrops] Re: draft-li-sidrops-rpki-repository-pr… Yingying Su
- [Sidrops] Re: [Sidrops] draft-li-sidrops-rpki-rep… Tim Bruijnzeels
- [Sidrops] Re: [Sidrops] draft-li-sidrops-rpki-rep… Yingying Su
- [Sidrops] Re: [Sidrops] draft-li-sidrops-rpki-rep… Tim Bruijnzeels