Same-Origin Policy for the RPKI Repository Delta Protocol (RRDP)
draft-ietf-sidrops-rrdp-same-origin-02
The information below is for an old version of the document.
| Document | Type |
This is an older version of an Internet-Draft that was ultimately published as RFC 9674.
|
|
|---|---|---|---|
| Author | Job Snijders | ||
| Last updated | 2024-09-25 (Latest revision 2024-07-27) | ||
| Replaces | draft-spaghetti-sidrops-rrdp-same-origin | ||
| RFC stream | Internet Engineering Task Force (IETF) | ||
| Formats | |||
| Reviews | |||
| Additional resources | Mailing list discussion | ||
| Stream | WG state | Submitted to IESG for Publication | |
| Document shepherd | Keyur Patel | ||
| Shepherd write-up | Show Last changed 2024-08-26 | ||
| IESG | IESG state | Became RFC 9674 (Proposed Standard) | |
| Consensus boilerplate | Yes | ||
| Telechat date | (None) | ||
| Responsible AD | Warren Kumari | ||
| Send notices to | keyur@arrcus.com | ||
| IANA | IANA review state | IANA OK - No Actions Needed |
draft-ietf-sidrops-rrdp-same-origin-02
SIDROPS J. Snijders
Internet-Draft Fastly
Updates: 8182 (if approved) 27 July 2024
Intended status: Standards Track
Expires: 28 January 2025
Same-Origin Policy for the RPKI Repository Delta Protocol (RRDP)
draft-ietf-sidrops-rrdp-same-origin-02
Abstract
This document describes a Same-Origin Policy (SOP) requirement for
RPKI Repository Delta Protocol (RRDP) servers and clients.
Application of SOP in RRDP client/server communication isolates
resources such as Delta and Snapshot files from different Repository
Servers, reducing possible attack vectors. This document updates RFC
8182.
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on 28 January 2025.
Copyright Notice
Copyright (c) 2024 IETF Trust and the persons identified as the
document authors. All rights reserved.
Snijders Expires 28 January 2025 [Page 1]
Internet-Draft RRDP Same-Origin Policy July 2024
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 . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1. Requirements Language . . . . . . . . . . . . . . . . . . 2
2. Implications of cross-origin resource requests in RRDP . . . 3
3. Changes to RFC 8182 . . . . . . . . . . . . . . . . . . . . . 3
3.1. New Requirements for RRDP Repository Servers . . . . . . 3
3.2. New Requirements for Relying Parties using RRDP . . . . . 3
4. Deployability in the Internet's current RPKI . . . . . . . . 4
5. Security Considerations . . . . . . . . . . . . . . . . . . . 4
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 4
7. References . . . . . . . . . . . . . . . . . . . . . . . . . 4
7.1. Normative References . . . . . . . . . . . . . . . . . . 4
7.2. Informative References . . . . . . . . . . . . . . . . . 5
Appendix A. Acknowledgements . . . . . . . . . . . . . . . . . . 5
Appendix B. Implementation status . . . . . . . . . . . . . . . 6
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 6
1. Introduction
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 to restrict how a document loaded
from one origin can cause interaction with resources from another
origin. See [RFC6454] for an overview of the concept of an "origin".
Application of SOP in RRDP client/server communication isolates
resources such as Delta and Snapshot files from different Repository
Servers, reducing possible attack vectors. 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.
Snijders Expires 28 January 2025 [Page 2]
Internet-Draft RRDP Same-Origin Policy July 2024
2. Implications of cross-origin resource requests in RRDP
The first RRDP protocol specification did not explicitly disallow
'cross-origin' URI references from the Update Notification file
(Section 3.5.1 of [RFC8182]) towards Delta (Section 3.5.3 of
[RFC8182]) and Snapshot (Section 3.5.2 of [RFC8182]) files, and was
silent on the topic of HTTP Redirection (Section 15.4 of [RFC9110]).
The implication of cross-origin references in Update Notification
files is that one Repository Server can reference RRDP resources on
another Repository Server and in doing so inappropriately increase
the resource consumption for both RRDP clients and the referenced
Repository Server. An adversary could also employ cross-origin HTTP
Redirects towards other Repository Servers, causing similar
undesirable behavior.
3. Changes to RFC 8182
To overcome the aforementioned 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
Snijders Expires 28 January 2025 [Page 3]
Internet-Draft RRDP Same-Origin Policy July 2024
| * 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 of
| [RFC8182] for considerations.
|
| * The Relying Party MUST NOT follow HTTP Redirection following
| 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 of [RFC8182] for considerations.
4. Deployability in the Internet's current RPKI
In the past 2.5 years no RRDP Repository Servers have employed cross-
origin URIs in Update Notification Files.
At the moment of writing only one RRDP server (reached following the
TALs of the five Regional Internet Registies) employs a same-origin
HTTP redirect.
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.
5. Security Considerations
This internet-draft patches an oversight in the original RRDP
protocol specification: cross-origin requests are detrimental as they
allow one repository operator to increase resource consumption for
other repository operators and RRDP clients. Another way to avoid
undesirable implications (as described in Section 2) would be for a
future version of the RRDP protocol to use relative URIs instead of
absolute URIs.
6. IANA Considerations
No IANA actions required.
7. References
7.1. Normative References
Snijders Expires 28 January 2025 [Page 4]
Internet-Draft RRDP Same-Origin Policy July 2024
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>.
[RFC6454] Barth, A., "The Web Origin Concept", RFC 6454,
DOI 10.17487/RFC6454, December 2011,
<https://www.rfc-editor.org/info/rfc6454>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>.
[RFC8182] Bruijnzeels, T., Muravskiy, O., Weber, B., and R. Austein,
"The RPKI Repository Delta Protocol (RRDP)", RFC 8182,
DOI 10.17487/RFC8182, July 2017,
<https://www.rfc-editor.org/info/rfc8182>.
[RFC9110] Fielding, R., Ed., Nottingham, M., Ed., and J. Reschke,
Ed., "HTTP Semantics", STD 97, RFC 9110,
DOI 10.17487/RFC9110, June 2022,
<https://www.rfc-editor.org/info/rfc9110>.
7.2. Informative References
[FORT-validator]
Leiva, A., "FORT validator",
<https://fortproject.net/en/validator>.
[Routinator]
NLNet Labs, "Routinator",
<https://github.com/NLnetLabs/routinator/>.
[rpki-client]
Jeker, C., Snijders, J., Dzonsons, K., and T. Buehler,
"rpki-client", <https://www.rpki-client.org/>.
[rpki-prover]
Puzanov, M., "rpki-prover",
<https://github.com/lolepezy/rpki-prover>.
Appendix A. 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 for their review.
Snijders Expires 28 January 2025 [Page 5]
Internet-Draft RRDP Same-Origin Policy July 2024
Appendix B. Implementation status
This section is to be removed before publishing as an RFC.
This section records the status of known implementations of the
protocol defined by this specification at the time of posting of this
Internet-Draft, and is based on a proposal described in RFC 7942.
The description of implementations in this section is intended to
assist the IETF in its decision processes in progressing drafts to
RFCs. Please note that the listing of any individual implementation
here does not imply endorsement by the IETF. Furthermore, no effort
has been spent to verify the information presented here that was
supplied by IETF contributors. This is not intended as, and must not
be construed to be, a catalog of available implementations or their
features. Readers are advised to note that other implementations may
exist.
According to RFC 7942, "this will allow reviewers and working groups
to assign due consideration to documents that have the benefit of
running code, which may serve as evidence of valuable experimentation
and feedback that have made the implemented protocols more mature.
It is up to the individual working groups to use this information as
they see fit".
* OpenBSD's [rpki-client]
* Mikhail Puzanov's [rpki-prover]
* FORT project's [FORT-validator]
* NLNet Labs' [Routinator]
Author's Address
Job Snijders
Fastly
Amsterdam
Netherlands
Email: job@fastly.com
Snijders Expires 28 January 2025 [Page 6]