Re: [Sidrops] Benjamin Kaduk's Discuss on draft-ietf-sidrops-6486bis-09: (with DISCUSS and COMMENT)

Job Snijders <job@fastly.com> Thu, 10 March 2022 14:59 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 ADEF83A17FB for <sidrops@ietfa.amsl.com>; Thu, 10 Mar 2022 06:59:01 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.109
X-Spam-Level:
X-Spam-Status: No, score=-2.109 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_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=fastly.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id tV1mIQeYTmLd for <sidrops@ietfa.amsl.com>; Thu, 10 Mar 2022 06:58:57 -0800 (PST)
Received: from mail-ed1-x52c.google.com (mail-ed1-x52c.google.com [IPv6:2a00:1450:4864:20::52c]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 0CEC83A17FA for <sidrops@ietf.org>; Thu, 10 Mar 2022 06:58:56 -0800 (PST)
Received: by mail-ed1-x52c.google.com with SMTP id w4so7306128edc.7 for <sidrops@ietf.org>; Thu, 10 Mar 2022 06:58:56 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fastly.com; s=google; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to; bh=qdgfmXaXfCaJ/NFzEFx1CwfIEli6YiBOXkHIX/T1LLw=; b=MDRDldoXwlpBOBUAM7sYxHFDxkWMFzouTxpPQnzQfne8z1/osMTcI7KQHd8QTxjxtm 5N3lLBImOOj+uvdRCaru1Pfn2MF/t9USZ39He8bGrseExrCAM15YRKkc+/2m1Oc+n13f n+5AioNCgkF+LA+0D8tvMF1lbd6eW7mhdG0nI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=qdgfmXaXfCaJ/NFzEFx1CwfIEli6YiBOXkHIX/T1LLw=; b=T6tnAUrcpcta4QWdMqvtinCQXYjoNalDVMDGxOTgwc2rYl+3TrITX6h7O3Y4MH7x52 c93QN5E+qKw+8jeo+7ZkyxYEgwh6QL3Heir1u/ob61dEAe7viCN6cTUghoJOTXkmVVW8 sM9zF2w/gp9spZUBp7NlDrd+nlzRJiGJXQP3S1aARgrMOTzAiBthvJorgqRhAfFuL8/T mn6eNHbh7Ndj0BTYHAZPczLwTfojcWUBehgVmRkKYv9Y70BVYRpNL6bge2CO8wuvM6FL sbDi3UtZSrP0dWgzofQDQnr334COhs2xPf9b2uB/mpqVY/qmXpNWi7rFeis9+lhUM6GB aXNg==
X-Gm-Message-State: AOAM533e4eZLDB3cNV6NVxKk7rdndieWh/kxELFtWBWfbv+4x51GryIh Ac2FpafHgx1HbVJDeIsv18h01g==
X-Google-Smtp-Source: ABdhPJxrNFxGBSlOxlx55PFpZ3X8V0vuSEjV5dzDV/Uu2ou+oI/gXEWMR0joNx4XJ+WU87EFbYXqAQ==
X-Received: by 2002:aa7:da93:0:b0:416:4aca:bef7 with SMTP id q19-20020aa7da93000000b004164acabef7mr4845832eds.296.1646924334726; Thu, 10 Mar 2022 06:58:54 -0800 (PST)
Received: from snel ([2a10:3781:276:2:16f6:d8ff:fe47:2eb7]) by smtp.gmail.com with ESMTPSA id g2-20020aa7c842000000b0041314b98872sm2058151edt.22.2022.03.10.06.58.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 10 Mar 2022 06:58:54 -0800 (PST)
Date: Thu, 10 Mar 2022 15:58:52 +0100
From: Job Snijders <job@fastly.com>
To: Rob Austein <sra@hactrn.net>
Cc: Benjamin Kaduk <kaduk@mit.edu>, The IESG <iesg@ietf.org>, sidrops-chairs@ietf.org, morrowc@ops-netman.net, sidrops@ietf.org, draft-ietf-sidrops-6486bis@ietf.org
Message-ID: <YioSLIyyA5rDiz7t@snel>
References: <164366773060.21391.16732854790829264927@ietfa.amsl.com> <YgZTmoUhfxlsQKMJ@snel> <20220225235526.GY12881@kduck.mit.edu> <20220227002536.3516E2EA009D@minas-ithil.hactrn.net>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <20220227002536.3516E2EA009D@minas-ithil.hactrn.net>
X-Clacks-Overhead: GNU Terry Pratchett
Archived-At: <https://mailarchive.ietf.org/arch/msg/sidrops/bPiJoS0XuI9cWkFopUey4MaF1gA>
Subject: Re: [Sidrops] Benjamin Kaduk's Discuss on draft-ietf-sidrops-6486bis-09: (with DISCUSS and COMMENT)
X-BeenThere: sidrops@ietf.org
X-Mailman-Version: 2.1.29
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: Thu, 10 Mar 2022 14:59:02 -0000

Hi Rob, everyone,

Quick note from my side: this has not fallen off my radar. Based on
Rob's feedback I'm now trying to research the origins of the DISCUSS at
hand for a better understanding, and assessing what currently deployed
RP / CA implementations do. At times this work feels like attempting to
thread an arrow through two rings [1] :-)

Next week I hope to be able to circle back to the group with more
information, or a proposal for a path forward.

Kind regards,

Job

[1]: The Legend of Zelda: Breath of the Wild

On Sat, Feb 26, 2022 at 07:25:36PM -0500, Rob Austein wrote:
> Apologies for jumping in late here, I've been distracted by $dayjob
> (which has not been RPKI for many years now) and only just saw this.
> 
> I fear that I must object, strongly, to Job's proposed change:
> 
> > > ----- section 4: Manifest Definition ----
> > > 
> > > OLD section 4.2.1 second paragraph:
> > >    Because a "one-time-use" EE certificate is employed to verify a
> > >    manifest, it is RECOMMENDED that the EE certificate have a validity
> > >    period that coincides with the interval from thisUpdate to nextUpdate
> > >    in the manifest, to prevent needless growth of the CA's CRL.
> > > 
> > > NEW Section 4.2.1:
> > >    Because a "one-time-use" EE certificate is employed to verify a
> > >    manifest, the EE certificate MUST be issued with a validity period
> > >    that coincides with the interval from thisUpdate to nextUpdate in the
> > >    manifest, to prevent needless growth of the CA's CRL.
> > > 
> > > ----- Section 5: Manifest Generation ----
> > > 
> > > OLD Section 5.1 last paragraph:
> > >        It is RECOMMENDED that the validity interval of the EE
> > >        certificate exactly match the thisUpdate and nextUpdate times of
> > >        the manifest.
> > >        Note: An RP MUST verify all mandated syntactic constraints, i.e.,
> > >        constraints imposed on a CA via a "MUST".
> > > 
> > > NEW section 5.1:
> > >        The validity interval of the EE certificate MUST exactly match
> > >        the thisUpdate and nextUpdate times specified in the manifest's
> > >        eContent. (An RP MUST NOT consider misalignment of the validity
> > >        interval misalignment in and of itself to be an error.)
> 
> This business of pinning the manifiest EE certificate's validity
> period to the manifest's thisUpdate/nextUpdate interval has always
> been a bad idea, I've objected to it in the WG before, and we have a
> long sad history of operational disasters resulting from
> implementations that followed that recommendation.
> 
> The typical failure mode (demonstrated at least once each by three of
> the RIRs) is to pick a thisUpdate/nextUpdate cycle on the order of a
> day or so (reasonable), then go home for a long weekend, during which
> something breaks and no new updates occur.
> 
> The manifest thisUpdate/nextUpdate semantics are (deliberately) very
> much like the CRL semantics: failure to issue a new manifest by the
> nextUpdate time does not automatically invalidate all the existing
> data, it's just a hint that something might be wrong.  Think of it as
> a staleness indication.  Slightly stale, log a warning but no big
> deal (yet).  Gets stale enough, maybe you don't want to eat that.
> 
> Certificate expiration, on the other hand, is a hard failure.  When a
> manifest's EE certificate expires without being replaced, the data
> listed in the manifest is just gone.
> 
> So when an RIR does this with the manifest directly under their root
> certificate, a large portion of the total database goes away.  Oops.
> 
> Manifests only have EE certificates because they're a patch on the
> side of X.509.  If X.509 had allowed us to sign manifests using the CA
> certificate, as with CRLs, we would have done that.  But it doesn't,
> so we have the manifest EE certificates, OK, but that's no reason to
> kill large portions of the database every time an operator near the
> root of the tree says "oops".
> 
> All of this has been discussed before, and should be both in WG
> archives and in notes from face to face meetings (probably both the
> SIDR and SIDROPS WGs, not a new topic).
> 
> My own RPKI CA implementation uses the validity interval of the parent
> CA certificate as the validity interval of the manifest EE
> certificate, and has for about fifteen years now.  I'm not aware of
> any operational problems that have arisen as a result.
> 
> Yes, there's a potential issue of a CRL getting too long, but if it
> happens at all, it happens at a predictable rate, and one can always
> rekey if it's really becoming big enough to be a problem.
> 
> Job's proposed change makes the bad idea a requirement rather than
> just bad advice, hence my objection.