Re: [Sidrops] WG Adoption call for draft-harrison-sidrops-manifest-numbers-01 - ENDS 04/15/2024 (April 15 2024)
Tim Bruijnzeels <tbruijnzeels@ripe.net> Wed, 03 April 2024 09:14 UTC
Return-Path: <tbruijnzeels@ripe.net>
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 60E6FC14CE29 for <sidrops@ietfa.amsl.com>; Wed, 3 Apr 2024 02:14:28 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.096
X-Spam-Level:
X-Spam-Status: No, score=-7.096 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_HI=-5, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=ripe.net
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 8TsIAkiIiaQY for <sidrops@ietfa.amsl.com>; Wed, 3 Apr 2024 02:14:24 -0700 (PDT)
Received: from pikapika.ripe.net (pikapika.ripe.net [IPv6:2001:67c:2e8:11::c100:1315]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 28108C15107F for <sidrops@ietf.org>; Wed, 3 Apr 2024 02:14:23 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=ripe.net; s=massmailer20240129; h=To:References:Message-Id:Content-Transfer-Encoding:Cc :Date:In-Reply-To:From:Subject:Mime-Version:Content-Type:Sender:Reply-To: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive:List-Unsubscribe-Post; bh=JytLLd85FhtgAuD8wqKZkh4589OjKmtezZk4W685l4M=; b=y8cHbi0eOFjFCcndEnLrltdjFk 6NqRQ51DGj+6CZ2+yOe2/gd/bXsELIWQYOCscwmdS+HrIRI3jZGOiGBBQ2qcm/0CIyx3F6d2MVyPU othVmy3OakbbS2m64tbqvVtWSmBcW6sYPufjsKckVAtS6TCBQr3zGy5cVc0794Pw8LEgREJCyoj88 xhoVORQgp0g0h9aU3m47+JYAF0Ft+zgQQotdGB8p6alxIydJC9oFndp3HwRr/+NRZ9w00zVbtLxhD tGF3MqsiRKg5QdLlETowCiaIkN+6QaM7OmsaGO4cOKscVNmkh0IWGvy/rVD8R/OWFR+ZCDf/0An7T 0z4URu1Q==;
Received: from [2001:67c:2e8:9::c100:14e6] (helo=smtpclient.apple) by pikapika.ripe.net with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.97.1) (envelope-from <tbruijnzeels@ripe.net>) id 1rrwhH-000000003ED-2S2L; Wed, 03 Apr 2024 09:14:19 +0000
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3774.500.171.1.1\))
From: Tim Bruijnzeels <tbruijnzeels@ripe.net>
In-Reply-To: <Zgwz2HEWQndhRYkg@snel>
Date: Wed, 03 Apr 2024 11:14:09 +0200
Cc: Keyur Patel <keyur=40arrcus.com@dmarc.ietf.org>, "sidrops@ietf.org" <sidrops@ietf.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <182ECD97-788C-4BC4-9FF6-355DFE11DF5E@ripe.net>
References: <4744462D-78D9-45EE-B3A2-06FF329EA87C@arrcus.com> <A77D691F-57BD-4A00-90E6-E61F257B43EB@ripe.net> <Zgwz2HEWQndhRYkg@snel>
To: Job Snijders <job=40fastly.com@dmarc.ietf.org>
X-Mailer: Apple Mail (2.3774.500.171.1.1)
Archived-At: <https://mailarchive.ietf.org/arch/msg/sidrops/siKWiwo1Uhyg8ljw_ENyIcSnV2c>
Subject: Re: [Sidrops] WG Adoption call for draft-harrison-sidrops-manifest-numbers-01 - ENDS 04/15/2024 (April 15 2024)
X-BeenThere: sidrops@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: A list for the SIDR Operations WG <sidrops.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/sidrops>, <mailto:sidrops-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/sidrops/>
List-Post: <mailto:sidrops@ietf.org>
List-Help: <mailto:sidrops-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/sidrops>, <mailto:sidrops-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 03 Apr 2024 09:14:28 -0000
Hi, > On 2 Apr 2024, at 18:35, Job Snijders <job=40fastly.com@dmarc.ietf.org> wrote: > > Dear Tim, WG, > > On Tue, Apr 02, 2024 at 01:45:59PM +0200, Tim Bruijnzeels wrote: >> I support adoption and discussion. >> >> I understand the issue this seeks to address for TA manifests. I am >> not 100% convinced yet that the name change is the most desirable way >> to achieve this. Perhaps it is. An alternative thought would be to >> allow resetting the manifest number to a low value (or well: 1, but >> RPs may not see it if another update follows shortly after) in case >> the number has exceeded some extremely large value (like 2 to the >> power of 159 ~ 19 octets and 8 bits…). I am not sure yet that this is >> better either but I am just putting it out here as a thought. > > Yup, Tom's deck on slide 5 also suggested 'Use serial number arithmetic > to facilitate rollover' as a possible strategy: > https://datatracker.ietf.org/meeting/119/materials/slides-119-sidrops-manifest-number-handling-02 If only there would have been more time to discuss presentations ;) > > Thank you for sharing your thoughts, I think it is good to discuss and > document our choices in the SIDROPS mailing list archives. I think there > are three compelling reasons not to use serial number arithmetic in this > particular context: > > 1) The algorithm presented by RFC 1982 ("Serial Number Arithmetic") has > a significant shortcoming: there are sequence numbers for which > comparison is undefined. A potential solution is to use signed two's > complement binary arithmetic operations to workaround this shortfall, > this implies serial numbers of a bit-length matching the machine's > integer sizes (usually 32 or 64 bit), but in the RPKI we're dealing > with 159-bit serials... I consider arithmetic operations on a number > space this large an unwelcome complication to be avoided if possible. > > 2) As you (Tim) point out: "RPs may not see it if another update follows > shortly after". Indeed, depending on all RPs seeing the initiation > and subsequent steps of the arithmetic trick seems fragile to me. > > RFC 1982 section 7 states: > > "If this [red: a decrease] must be done, then take special care to > verify that ALL servers have correctly succeeded in following the > primary server's serial number changes, at each step." > > The type of verification RFC 1982 refers to is not possible in the > RPKI, as a CA can't query RPs whether they have correctly succeeded > in following the manifest's serial number changes. Yeah, sure, but we could still think about a reset to a low number if the number exceeded large some number. This being applicable to TA manifest they are typically not republished frequently. E.g. a TA could only be allowed to reset after a manifest has been out there for a while, like days or weeks, or even months. If this is to be more generally applicable to CAs (rather than forcing them to do the key rollover mentioned) then this is probably not possible. > > 3) Speaking from my own experience with the rpki-client implementation, > the code paths which open a previously cached manifest and a > purported new manifest along side each other, adequately validate & > compare these two objects, and finally select one of the two; > - already today - are amongst the most complicated pieces of code we > have to maintain. I am very hesitant to add more complications (such > as outlined above in reason 1) to this part of the code base beyond > what's already there. > > My gut feeling is that 'filename change effectively results in serial > numer reset' is easier to implement and easier to explain, than a > RFC1982-based approach; having said that, I do recognize it certainly is > not the only possible approach. Ok, my concern is not blocking. If this is the way that current RP implementers want to go that is fine by me (other RP implementers, opinions?). But just to explain where my dislike of names comes from: I don’t implement an RP today, but I was part of the team that implemented one many years ago (see RFC 8488). This implementation intentionally separated RPKI object fetching and validation, and did not rely on names. (and later versions of that software also used asynchronous fetching of objects to prevent blocking validation on bad repos). The reason for not relying on names was that this would help to make validation URI and transport agnostic - allowing for different mechanisms and possibly even mirroring in future. Using names as an identifier in the way this I-D proposes complicates that approach a bit. Then again, it seems that all other RP implementations just use names as stable identifiers. So, this probable is not an issue to them. Kind regards, Tim > > Kind regards, > > Job > > _______________________________________________ > Sidrops mailing list > Sidrops@ietf.org > https://www.ietf.org/mailman/listinfo/sidrops
- [Sidrops] WG Adoption call for draft-harrison-sid… Keyur Patel
- Re: [Sidrops] WG Adoption call for draft-harrison… Geoff Huston
- Re: [Sidrops] WG Adoption call for draft-harrison… Job Snijders
- Re: [Sidrops] WG Adoption call for draft-harrison… Tim Bruijnzeels
- Re: [Sidrops] WG Adoption call for draft-harrison… Tim Bruijnzeels
- Re: [Sidrops] WG Adoption call for draft-harrison… Ben Maddison
- Re: [Sidrops] WG Adoption call for draft-harrison… Martin Hoffmann
- Re: [Sidrops] WG Adoption call for draft-harrison… Rob Austein
- Re: [Sidrops] WG Adoption call for draft-harrison… Tom Strickx
- Re: [Sidrops] WG Adoption call for draft-harrison… Russ Housley
- Re: [Sidrops] WG Adoption call for draft-harrison… Theo Buehler