[Sidrops] Re: AD Review of draft-ietf-sidrops-rpki-ccr
Job Snijders <job@bsd.nl> Mon, 01 June 2026 10:25 UTC
Return-Path: <job@bsd.nl>
X-Original-To: sidrops@mail2.ietf.org
Delivered-To: sidrops@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id 5D644F89ACA0; Mon, 1 Jun 2026 03:25:00 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ietf.org; s=ietf1; t=1780309500; bh=XKNNlzdcHeRWTgwwTq47JnEzumYnO5ZAiPlyIKgjhWs=; h=Date:From:To:Cc:Subject:References:In-Reply-To; b=bVn1YSKvY+HctZiO9tz7NkDqF96dKTWu8dnJp/eA4hUGDXf4Z8Ri+sRKSCW22oQ2d uNBCV+5tYrHcqRgdhbcf4hEyZ+vqJHiyPEg5kkVJ4UJ3Ad8p2kV7c4Wk2Xqyehc57T LGVcD3us8qBvfBlxUfn79S4JyVadt0SCBIyYvDqM=
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -2.098
X-Spam-Level:
X-Spam-Status: No, score=-2.098 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, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (2048-bit key) header.d=bsd.nl
Received: from mail2.ietf.org ([166.84.6.31]) by localhost (mail2.ietf.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 23YlSQ5wUlYS; Mon, 1 Jun 2026 03:24:59 -0700 (PDT)
Received: from dane.soverin.net (dane.soverin.net [185.233.34.46]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id 9A167F89AC98; Mon, 1 Jun 2026 03:24:59 -0700 (PDT)
Received: from smtp.soverin.net (unknown [10.10.4.100]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by dane.soverin.net (Postfix) with ESMTPS id 4gTVT02QK8zbMm; Mon, 01 Jun 2026 10:24:52 +0000 (UTC)
Received: from smtp.soverin.net (smtp.soverin.net [10.10.4.100]) by soverin.net (Postfix) with ESMTPSA id 4gTVSz6BBrzFG; Mon, 1 Jun 2026 10:24:51 +0000 (UTC)
Authentication-Results: smtp.soverin.net; dkim=pass (2048-bit key; unprotected) header.d=bsd.nl header.i=@bsd.nl header.a=rsa-sha256 header.s=soverin1 header.b=AJU0tHjg; dkim-atps=neutral
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsd.nl; s=soverin1; t=1780309492; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=8dx6Pc2bX98qpIhti6NIV+NNw/ylTdOjIN/Oqr6g0qQ=; b=AJU0tHjgKq6tjlamFPkxGHjY9m919aENLSlm3HDocpEgUpLH2tF2QMf9fOzf3i/JP1EgbI XA/DQlq8M/gi0RAdM1Zjthk9Ng8nyFU8lUAdJUuawz2hYCFR58v3V637Wy1ba7Y+j3BPZs QTjDqHu8ZFgYTa/o6WwiEYmg9xdV+ub41AWs1WcaiPeovpGSy6x0Vj0kR3vIPZIYeAhbxM a68lRW5WqJYyf4PpJm+GGRUc4MeJoFeUYcn9xU1y4nS/Ib62E0ULpV+p2p16NBeFJ+eplo GBO4G5tidhRHRrJyErRZc6srN5n/cSugNLt4Q+9P84vishs5bU5Tq6EXDMuuug==
X-CM-Envelope: MS4xfLcJvKTjA4xlkjGFvriVEVWB5t3eQy8TOTCJBIgp6AVvjvF6zlwB3cP+TV6oNThc1zovfZ9iswEBDo3G4AIA4qO0hkvV4c60iyZOOndTbZHV9ja+khb4 kf89zf+dtFCyBRLfUDSzg2blRos9Z7FdbsWp+tOrLJa5XF01r1rx4R/STcWuuGT/BdDD9VlKiXuepsmQK9zeY+MfZEmLM/aDJO+CrsRpjqntq1mjauwtL876 SUxtb4yc5PUIhT6WHGnhJQ0q64vn5l3mUuMRBGGumQJshNtpaHvkqaEQ16WqceS0YjaQA8rZccHIpGERdsRoP9b8k1Pe7Hk1MCBMomxSoRRGW4w1ReKzpLSr fULNVqAj
X-Soverin-Id: 019e82b7-0120-743e-ba8a-b0b4f49f0da7
Date: Mon, 01 Jun 2026 10:24:50 +0000
From: Job Snijders <job@bsd.nl>
To: mohamed.boucadair@orange.com
Message-ID: <ah1d8pAW1G42k9HU@feather.sobornost.net>
References: <PAUP264MB6756C6F888B3281FE21AB43E88152@PAUP264MB6756.FRAP264.PROD.OUTLOOK.COM>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <PAUP264MB6756C6F888B3281FE21AB43E88152@PAUP264MB6756.FRAP264.PROD.OUTLOOK.COM>
X-Clacks-Overhead: GNU Erik Bais
X-Spampanel-Class: ham
Message-ID-Hash: J7FEBTEQ477WGDIVMY3II76TIQ5SNDQX
X-Message-ID-Hash: J7FEBTEQ477WGDIVMY3II76TIQ5SNDQX
X-MailFrom: job@bsd.nl
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
CC: "draft-ietf-sidrops-rpki-ccr@ietf.org" <draft-ietf-sidrops-rpki-ccr@ietf.org>, "draft-ietf-sidrops-aspa-profile.all@ietf.org" <draft-ietf-sidrops-aspa-profile.all@ietf.org>, SIDRops IETF <sidrops@ietf.org>
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [Sidrops] Re: AD Review of draft-ietf-sidrops-rpki-ccr
List-Id: A list for the SIDR Operations WG <sidrops.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/sidrops/xHl1TIOILADM6ecq2dycMnyARRA>
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 Med, Thank you for your time to review this document and your help to get it ready for publication! On Mon, Jun 01, 2026 at 08:54:26AM +0000, mohamed.boucadair@orange.com wrote: > Hi Job, Bart, Tim, and Theo, > (also ccing @authors of draft-ietf-sidrops-aspa-profile<mailto:draft-ietf-sidrops-aspa-profile.all@ietf.org> as draft-ietf-sidrops-rpki-ccr has as normative dependency on aspa) > > Thank you for the effort put into this well-written document. > > Please find below some comments (following the text order, not importance): > > # Cite a reference when RPKI is call called out You mean a reference to RFC 6480? In the abstract or in the introduction? I don't recall you wanted the same thing in other recent RPKI drafts, but I might be misunderstanding what your guidance here is? > # Versatile > > Both the abstract and introduction says that the format is versatile. What does that means concretely? Versatile is an adjective that describes something capable of adapting to many different functions, activities, or purposes. > # Applicability > > OLD: > 1.1. History > > The format was initially designed to support comparative analysis of > multiple RP instances using a variety of RPKI transport protocols > ([RFC5781], [RFC8182], and [I-D.ietf-sidrops-rpki-erik-protocol]). > > > NEW: > The CCR format was initially designed to support comparative analysis of > multiple RP instances using a variety of RPKI transport protocols > ([RFC5781], [RFC8182], and [I-D.ietf-sidrops-rpki-erik-protocol]). > However, CCR can be applicable to various use cases such as those > listed in Section 4. It is out of the scope of this document > to provide an exhaustive inventory of such uses. I'm not sure this is an improvement - this HISTORY paragraph details the eh... overview of past events. I'm not sure how a sentence indicating some kind of contrast to the previous sentence on historical fact is responsive. As things currently are, both the Abstract, and the Introduction section, and Section 4 make it clear that the CCR profile is versatile (multi-functional). > # ContentInfo > > CURRENT: > The content of a CCR file is an instance of ContentInfo. > > Maybe add a reference to RFC5652? sure. > # Conflict in the ASN1.0 Module > > CURRENT: > RpkiCanonicalCacheRepresentation-2025 > { iso(1) member-body(2) us(840) rsadsi(113549) > pkcs(1) pkcs9(9) smime(16) mod(0) id-mod-rpkiCCR-2025(TBD) } > > .. > CAS, PAS > FROM RPKI-ASPA-2023 -- in [draft-ietf-sidrops-aspa-profile] > { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) > pkcs-9(9) smime(16) modules(0) id-mod-rpki-aspa-2023(TBD) } > > Vs. > > +=========+=====================+=============================+ > | Decimal | Description | References | > +=========+=====================+=============================+ > | TBD | id-mod-rpkiCCR-2025 | draft-ietf-sidrops-rpki-ccr | > +---------+---------------------+-----------------------------+ > > Please fix and add a note to the RFC Editor about how to handle the various TBDs. I'm not sure I see the conflict? It is my understanding IANA will assign OIDs for the module identifier upon RFC publication. id-mod-rpki-aspa-2023 will be resolved through publication of draft-ietf-sidrops-aspa-profile. Implication being that the CCR draft might wait a bit in the RFC Editor queue waiting for ASPA profile draft to arrive. That's ok. > # Consistency > > The narrative text includes normative text that do not completely morror the content of the ASN1.0 module. For example, the module includes: > > CURRENT: > -- at least one of mfts, vrps, vaps, tas, or rks MUST be present > > This raises the question about which one is authoritative. I guess in this case, both are authoritative. Please add an explicit text saying so. The ASN.1 formal notation itself, the comment in the ASN.1 code, and the natural language text are consistent with each other. ASN.1 module: "at least one of mfts, vrps, vaps, tas, or rks MUST be present" Section 3.4: "Each CCR contains one or more fields representing particular aspects of the cache's state." What is not clear? Do you prefer the sentence to read as follows? Section 3.4: "Each CCR MUST contain one or more fields representing particular aspects of the cache's state." > # Ambiguity > > CURRENT: > For the purposes of this > section, CCR generation begins once the RP's fetching and validation > operations are completed. > > I fail to see how "For the purposes of this section," restricts the behavior described here. Can that be deleted? If not, can you please explain the intent and reword accordingly. It was added in collaboration with a working group participant (Tom Harrison). Keep in mind that fetching, validation, and CCR generation all three are operations that consume non-zero time. The goal is to clarify the meaning of producedAt and how to produce internally consistent CCRs. I'd prefer to keep the sentence as-is. > # Implementation note > > CURRENT: > Implementers should note the ellipsis > extension marker in the RpkiCanonicalCacheRepresentation ASN.1 > notation and anticipate future changes as new signed object types are > standardized. > > ## What does that mean concretely? Are you familiar with the meaning of '...' in ASN.1 ? https://www.ibm.com/support/pages/what-does-string-three-elipses-mean-asn1 In many ASN.1-related RFCs the '...' ellipsis extension marker is used. It seems friendlier to the reading implementer to put in a reminder (A) the ellipsis is there (B) perhaps structure their code in a way that future extensions are frictionless. > ## Future state support would require a new module structure, anyway. > > # Ordering > > CURRENT: > The sequence elements of the subordinates field MUST be > sorted in ascending order by interpreting each SubjectKeyIdentifier > value as an unsigned 160-bit integer and MUST be unique with respect > to each other. > > This text and similar imposes ordering constraints, however, it is not clear what are the implications of not following these MUSTs. Does violating these MUST lead to a broken file? Can we please be explicit about the intended behavior? Yes, if it is not ordered in the specified way the file is broken. I personally am not entirely sure it would be super helpful to replace all occurances of MUST with a pattern of "MUST do xyz, otherwise the file is invalid". I think it is clear these MUSTs stand on their own. > # Rationale > > CURRENT: > Readers and > writers of CCR data are RECOMMENDED to support data compression using > Gzip ([RFC1952]) in context of durable storage. > > Please add some text to explain the rationale of the recommendation and why this is not provided as a mandatory to implement. Please provide a rationale why this should be mandatory-to-implement? :-) To be clear: a non-compressed CCR is _not_ an invalid CCR! In Section 5.3 it is noted that CCR compresses very well. Operators can choose to take advantage of that, or not. It is up to them? For example, when storing multiple CCRs in a single Posix Pax Interchange Format archive which itself is compressed (.tar.gz file), it would not make sense to store the CCRs in Gzipped form (i.e., double compression does not lead to increased efficiency). Or, operators might use a filesystem that does compression at the block level (for example, ZFS). Mandating Gzip support seems a step too far, it depends a bit on the deployment context of the consumer & reader whether using Gzip makes sense, but certainly a recommendation is in order to make folks aware of the benefits of LZ77 / Huffman coding in context of CCR. > # Media types > > ## Please update so that the registration template in RFC 6838 is followed for each type requests. You'd like me to repeat the fields that the same for the two flavours? Note that the second registration is just a structured syntax specifier. > ## In order to ease referencing a specific type, please use a specific subsection for each media type. ok. > # Normative references > > The following are listed as Informative, while there are normatively cited in the doc: > > [RFC1952] Deutsch, P., "GZIP file format specification version 4.3", > RFC 1952, DOI 10.17487/RFC1952, May 1996, > <https://www.rfc-editor.org/info/rfc1952>. > > [RFC8205] Lepinski, M., Ed. and K. Sriram, Ed., "BGPsec Protocol > Specification", RFC 8205, DOI 10.17487/RFC8205, September > 2017, <https://www.rfc-editor.org/info/rfc8205>. > > CURRENT: > writers of CCR data are RECOMMENDED to support data compression using > Gzip ([RFC1952]) in context of durable storage. > ... > An instance of RouterKeyState contains an rksets field which > represents the current set of valid BGPsec Router Keys [RFC8205] > encoded as a SEQUENCE of RouterKeySet instances. Yup, those should be normative. Thanks. > # Missing reference > > ## Add RFC8792 as an Informative reference. ok, thanks. > ## Make sure that RFC is also called out as a reference in the text. sure, but ... why? Isn't the heading above the text enough? > # Examples > > ## Consider adding some brief narrative text to explain what this example is illustrating. sure. https://github.com/job/draft-sidrops-rpki-ccr/issues/20 > ## Documentation ranges > > The examples uses various ranges reserved for documentation. However, there is this ASN 65123 which does not fall under such ranges. Please update. Thanks - Theo is addressing that through https://github.com/job/draft-sidrops-rpki-ccr/pull/19 > ## Interop > > Can we please confirm that this example can be decoded correctly by at least of the other implementations listed in the document? Correct decoding of the example was confirmed by two implementations. > # You may find some editorial proposals, fixes, and nits at: https://github.com/job/draft-sidrops-rpki-ccr/pull/18/changes. Fantastic, thank you. There are a few details we need to hash out, but by and large the editorial suggestions seem OK. Kind regards, Job
- [Sidrops] AD Review of draft-ietf-sidrops-rpki-ccr mohamed.boucadair
- [Sidrops] Re: AD Review of draft-ietf-sidrops-rpk… Job Snijders
- [Sidrops] Re: AD Review of draft-ietf-sidrops-rpk… mohamed.boucadair
- [Sidrops] Re: AD Review of draft-ietf-sidrops-rpk… Job Snijders
- [Sidrops] Re: AD Review of draft-ietf-sidrops-rpk… Job Snijders
- [Sidrops] Re: AD Review of draft-ietf-sidrops-rpk… mohamed.boucadair
- [Sidrops] Re: AD Review of draft-ietf-sidrops-rpk… mohamed.boucadair
- [Sidrops] Re: AD Review of draft-ietf-sidrops-rpk… Job Snijders
- [Sidrops] Re: AD Review of draft-ietf-sidrops-rpk… Tom Harrison
- [Sidrops] Re: AD Review of draft-ietf-sidrops-rpk… mohamed.boucadair