Re: [Sidrops] [WG ADOPTION] draft-yan-sidrops-roa-considerations - 04/16/2021

Job Snijders <job@fastly.com> Tue, 30 March 2021 12:02 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 8CB0C3A0E30 for <sidrops@ietfa.amsl.com>; Tue, 30 Mar 2021 05:02:13 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
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_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, 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 IrnotXV7LrTk for <sidrops@ietfa.amsl.com>; Tue, 30 Mar 2021 05:02:09 -0700 (PDT)
Received: from mail-ej1-x633.google.com (mail-ej1-x633.google.com [IPv6:2a00:1450:4864:20::633]) (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 054653A0E31 for <sidrops@ietf.org>; Tue, 30 Mar 2021 05:02:08 -0700 (PDT)
Received: by mail-ej1-x633.google.com with SMTP id w3so24446311ejc.4 for <sidrops@ietf.org>; Tue, 30 Mar 2021 05:02:08 -0700 (PDT)
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=q8Ng88Y/O8gkcALP72znbuPo/VJYluwcDCctIiFvkOY=; b=fwAs3Xtj7v6WdxDRL5cGa7p4qsMBzLEBf6AKIvggea+nbqe0xn0Ztx07wxHel0KvX2 vsjzlVIjHAqFspwf/cQ5VpysEYWrF6PPc3rhAk/GaXGOyXlvF+sRYplEAprK9zPTGTiV qS5uROeybjTRc0kybprInFrIdkxG9aB8BQyEk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=q8Ng88Y/O8gkcALP72znbuPo/VJYluwcDCctIiFvkOY=; b=j8gqI/hnlHJ3wDeXPaQySlExUrUJpNtTWCvMczuqtMmgKoJCtn3cJRORzMVDgqpBOn OcW1c6AqA40jZUK+JZZRUmr4c00753pAj7QdgqTxRbnlUOB/XC+4OZOd+jCMlkXSE05E AxWiuGPZbsOchdBxjZ5SOT8vGMYkgUU2/gFBY2eYOE8q0TbpDZpojEEdgYMJmvdLXaYe 5TQRfQEqZFXYdmZLItLgUWqYF22C5z7AopDK81RT3jAnY4QZkMhC1y4b/ZGYJIIpaocP nRp2MdgcoiXkkJPRnjmDh6F1e4UYbGGpdmALDBj4WImlYHD6+5yzq43l8Ya1my+y4ksq yCQA==
X-Gm-Message-State: AOAM530p8hWx+hNni258vaKuvkyuLBf18/hJELOWmAyo84UUIa4HVdK1 i9dgi4tRWcYd3MLHRZq9XuCviQ==
X-Google-Smtp-Source: ABdhPJwq0xO2PQTbCGiGbIXQUlp7SS/5KZU4Zaw+K2LBMYcTvUkaavvgKAL2ELftjCumwiCEdUCDFw==
X-Received: by 2002:a17:906:11d1:: with SMTP id o17mr33048321eja.517.1617105725850; Tue, 30 Mar 2021 05:02:05 -0700 (PDT)
Received: from snel (mieli.sobornost.net. [45.138.228.4]) by smtp.gmail.com with ESMTPSA id bm10sm11234923edb.2.2021.03.30.05.02.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 30 Mar 2021 05:02:04 -0700 (PDT)
Date: Tue, 30 Mar 2021 14:02:03 +0200
From: Job Snijders <job@fastly.com>
To: Tim Bruijnzeels <tim@nlnetlabs.nl>
Cc: Chris Morrow <morrowc@ops-netman.net>, SIDROps Chairs <sidrops-chairs@ietf.org>, sidrops@ietf.org, sidrops-ads@ietf.org
Message-ID: <YGMTO4AMFSn+GZoy@snel>
References: <87lfa94xyj.wl-morrowc@ops-netman.net> <67F48899-3B77-4722-B467-F73D50DF1006@nlnetlabs.nl> <YGL2twQ2eEsMQHPq@snel> <8BA83ECF-3D1A-4057-9E24-46CDA779604B@nlnetlabs.nl>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <8BA83ECF-3D1A-4057-9E24-46CDA779604B@nlnetlabs.nl>
X-Clacks-Overhead: GNU Terry Pratchett
Archived-At: <https://mailarchive.ietf.org/arch/msg/sidrops/LdH8hQjnTRf72LcecDTvn6ONkzE>
Subject: Re: [Sidrops] [WG ADOPTION] draft-yan-sidrops-roa-considerations - 04/16/2021
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: Tue, 30 Mar 2021 12:02:14 -0000

On Tue, Mar 30, 2021 at 01:24:32PM +0200, Tim Bruijnzeels wrote:
> > On 30 Mar 2021, at 12:00, Job Snijders <job=40fastly.com@dmarc.ietf.org> wrote:
> No, the publication server does not validate content. See RFC 8181:
> 
> 5.  Security Considerations
> 
>    The RPKI publication protocol and the data it publishes use entirely
>    separate PKIs for authentication.  The published data is
>    authenticated within the RPKI, and this protocol has nothing to do
>    with that authentication, nor does it require that the published
>    objects be valid in the RPKI.

Interesting! Today I learned something :-)

I thought the *Repository* server is expected to validate objects
submitted by its repository clients, at least that is how I interpret
the implementation of some RPKI CA software.

The text in the Security Considerations seems at odds with the existence
of the 'bad_cms_signature: Bad CMS signature' error code. How can a bad
CMS signature be detected if the receiving Repository is not validating?

I'd still suggest to expand on the 'safeguard' language to avoid ROA
creation when resources listed in eContent are not contained by
resources listed as subordinate on the EE cert. Perhaps the authors of
the draft at hand can elaborate on what was intended with 'safeguard'?

> That being said.. as yet another aside..
> 
> I have been thinking of proposing extensions to the publication
> protocol (RFC 8181) to make Publication Servers somewhat more
> responsible. For example they could enforce quota both in terms of
> number of files, and size. They could also verify objects, e.g. only
> allow known types, and only allow objects which at least parse. But
> there is a potential issue then with bugs in verification code. Also,
> if this is done for security then it may not matter because malicious
> CAs could 'just' run their own publication server, until they might be
> revoked by an angry parent CA. Still... I think this is worth a
> (separate) discussion. Raising the barrier to abuse and mistakes seems
> like a good idea.

These are excellent suggestions, I agree an 'Object too large' error
code (and others) would be helpful.

> > I would suggest:
> > 
> > """
> > 3) A safeguard scheme is essential to protect the process of ROA
> >   issuance. Before committing to the issuance of a ROA object, the
> >   signer software should confirm the ipAddrBlocks in the To-Be-Signed
> >   eContent are fully contained by the RFC 3779 extensions listed on the
> >   End-Entity certificate used to generate the signature. 
> > """
> > 
> > In other words, a signing pipeline would help the operator by performing
> > RFC 6482 Section 4 validation *before* constructing the ROA, to prevent
> > constructing ROAs the Repository operator would consider invalid.
> 
> All RPKI CA implementations that I know of already take care to issue
> objects which do not overclaim. The problem is that a delegated CA may
> not find out that a parent has shrunk their resources until whenever
> it happens to send them a "Resource Class List Request" as defined in
> RFC 6492.
> 
> It would be much nicer practice if parent CAs can hold off shrinking
> resources until a child has had a chance to clean up. I will suggest
> some text to the ROV timing draft.. not sure that this belongs there,
> but it may be a start.

The trouble is that by the time the client issues a "Resource Class List
Query", the resources may already have been shrunken and 'its too late'
for the child CA.

Frequently polling the superior CA can help reduce the time window in
which the overclaiming exists, but ultimately I think the default
validation algorithm should be changed to avoid this brittleness.

I hope this group can jointly work on https://datatracker.ietf.org/doc/draft-spaghetti-sidrops-rpki-validation-update/

Kind regards,

Job