RFC 9674

Same-Origin Policy for the RPKI Repository Delta Protocol (RRDP)

๐Ÿ“… published December 2024, from ietf

RFC 9674: Same-Origin Policy for the RPKI Repository Delta Protocol (RRDP) ๐ŸŽ€

Okay bestie, here are the deets ๐Ÿ’–

  • Series: Internet Engineering Task Force (IETF) ๐ŸŒธ
  • Author: J. Snijders (Job Snijders), Fastly ๐Ÿงš
  • Category: Standards Track โœจ
  • Date: December 2024 ๐Ÿ“…
  • Updates: RFC 8182 ๐Ÿ” (it doesn't list anything it obsoletes)
  • ISSN: 2070-1721 ๐Ÿ’œ

Abstract โœจ

Okay so this doc lays out a Same-Origin Policy (SOP) requirement for RPKI Repository Delta Protocol (RRDP) servers and clients. ๐Ÿ’… Applying a SOP in RRDP client/server communication keeps resources like Delta and Snapshot files from different Repository Servers separated, which cuts down on possible attack vectors ๐Ÿ›ก๏ธ. This document updates RFC 8182 ๐Ÿฆ‹.


Status of This Memo ๐Ÿ“œ

This is an Internet Standards Track document. ๐ŸŽ€

This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 7841. ๐Ÿซถ

Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at https://www.rfc-editor.org/info/rfc9674. ๐Ÿ”


Copyright (c) 2024 IETF Trust and the persons identified as the document authors. All rights reserved. ๐ŸŒˆ

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License. ๐Ÿ“


Table of Contents ๐Ÿ—‚๏ธ

1.  Introduction
  1.1.  Requirements Language
2.  Implications of Cross-Origin Resource Requests in RRDP
3.  Changes to RFC 8182
  3.1.  New Requirements for RRDP Repository Servers
  3.2.  New Requirements for Relying Parties Using RRDP
4.  Deployability in the Internet's Current RPKI
5.  Security Considerations
6.  IANA Considerations
7.  References
  7.1.  Normative References
  7.2.  Informative References
Acknowledgements
Author's Address

1. Introduction ๐ŸŒธ

Okay this is the main event ๐Ÿ’–. This document specifies a Same-Origin Policy (SOP) requirement for RPKI Repository Delta Protocol (RRDP) servers and clients. The SOP concept is a security mechanism that restricts how a document loaded from one origin can cause interaction with resources from another origin. For an overview of the concept of an "origin," see [RFC6454] ๐Ÿ”Ž. Applying a SOP in RRDP client/server communication isolates resources such as Delta and Snapshot files from different Repository Servers, reducing possible attack vectors ๐Ÿ›ก๏ธ. Another way to avoid the undesirable implications (as described in Section 2) would be for a future version of RRDP to use relative URIs instead of absolute URIs ๐Ÿ”ฎ. This document updates [RFC8182] ๐Ÿฆ‹.

1.1. Requirements Language ๐Ÿ“–

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here. ๐ŸŽ€


2. Implications of Cross-Origin Resource Requests in RRDP ๐Ÿ‘€

Okay so the first RRDP spec didn't explicitly disallow 'cross-origin' URI references from the Update Notification file (Section 3.5.1 of [RFC8182]) pointing to Delta (Section 3.5.3 of [RFC8182]) and Snapshot (Section 3.5.2 of [RFC8182]) files ๐Ÿ™ˆ. It was also silent on the topic of HTTP Redirection (Section 15.4 of [RFC9110]). Messy, I know ๐Ÿ’€.

The implication of cross-origin references in Update Notification files is that one Repository Server can reference RRDP resources on another Repository Server. Doing that can inappropriately increase the resource consumption for both RRDP clients and the referenced Repository Server ๐Ÿ˜ค. An adversary could also use cross-origin HTTP Redirects towards other Repository Servers, causing similar undesirable behavior ๐Ÿšซ.


3. Changes to RFC 8182 ๐Ÿ› ๏ธ

To overcome the issue described in Section 2, RRDP Repository Servers and Clients MUST apply a Same-Origin Policy to both the URIs referenced in an Update Notification File and any HTTP Redirects. ๐Ÿซถ

3.1. New Requirements for RRDP Repository Servers ๐Ÿ–ฅ๏ธ

The following checklist items are added to Section 3.5.1.3 of [RFC8182]:

NEW

|  *  The "uri" attribute in the snapshot element and optional delta
|     elements MUST be part of the same origin (i.e., represent the
|     same principal), meaning referenced URIs MUST have the same
|     scheme, host, and port as the URI for the Update Notification
|     File specified in the referring RRDP SIA AccessDescription.
|
|  *  The Repository Server MUST NOT respond with HTTP Redirects
|     towards locations with an origin different from the origin of
|     the Update Notification File specified in the referring RRDP
|     SIA AccessDescription.

3.2. New Requirements for Relying Parties Using RRDP ๐Ÿงš

The following adds to Section 3.4.1 of [RFC8182]:

NEW

|  *  The Relying Party MUST verify whether the "uri" attributes in
|     the Update Notification File are of the same origin as the
|     Update Notification File itself.  If this verification fails,
|     the file MUST be rejected and RRDP cannot be used; see
|     Section 3.4.5 for considerations.  Implementations SHOULD log a
|     message when cross-origin referrals are detected.
|
|  *  The Relying Party MUST NOT follow HTTP Redirection that results
|     from attempts to download Update Notification, Delta, and
|     Snapshot files if the target origin is different from the
|     origin of the Update Notification File specified in the
|     referring RRDP SIA AccessDescription.  If this verification
|     fails, the RRDP session MUST be rejected and RRDP cannot be
|     used; see Section 3.4.5 for considerations.  Implementations
|     SHOULD log a message when cross-origin redirects are detected.

4. Deployability in the Internet's Current RPKI ๐ŸŒ

Analyzing the [rpkiviews] archives for the period from April to September 2024, only one RRDP server (reached following the Trust Anchor Locators (TALs) of the five Regional Internet Registries) employed a same-origin HTTP redirect. In the period October 2021 - October 2024, no RRDP Repository Servers were observed that employed cross-origin URIs in Update Notification Files. ๐Ÿ”

This means that imposing a requirement for the application of a Same-Origin Policy does not cause any existing commonly used RRDP Repository Server operations to become non-compliant. Phew ๐Ÿ˜ฎโ€๐Ÿ’จโœจ.


5. Security Considerations ๐Ÿ”

This document addresses an oversight in the original RRDP specification: Cross-origin requests are detrimental as they allow one repository operator to increase resource consumption for other repository operators and RRDP clients. ๐Ÿšจ

6. IANA Considerations ๐Ÿ“‹

This document has no IANA actions. ๐ŸŒท


7. References ๐Ÿ“š

7.1. Normative References ๐Ÿ’Ž

7.2. Informative References ๐Ÿ’ญ


Acknowledgements ๐Ÿ’œ

The author wishes to thank Theo Buehler, Claudio Jeker, Alberto Leiva, Tim Bruijnzeels, Ties de Kock, Martin Hoffmann, and Mikhail Puzanov for their helpful feedback, comments, and implementation work. The author wishes to thank Keyur Patel, Meral Shirazipour, Niclas Comstedt, Dan Harkins, Erik Kline, Roman Danyliw, and ร‰ric Vyncke for their review. ๐Ÿซถ๐ŸŒˆ


Author's Address ๐Ÿงธ

Job Snijders Fastly Amsterdam Netherlands Email: job@fastly.com ๐Ÿ’Œ

๐Ÿ“ฆ where this page comes from