Re: [Sidrops] I-D Action: draft-ietf-sidrops-rpki-rsc-07.txt

Russ Housley <housley@vigilsec.com> Mon, 23 May 2022 21:04 UTC

Return-Path: <housley@vigilsec.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 F3B90C183F82 for <sidrops@ietfa.amsl.com>; Mon, 23 May 2022 14:04:01 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level:
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_NONE=0.001] autolearn=ham autolearn_force=no
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 TOVFSbKCjGzN for <sidrops@ietfa.amsl.com>; Mon, 23 May 2022 14:04:00 -0700 (PDT)
Received: from mail3.g24.pair.com (mail3.g24.pair.com [66.39.134.11]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id C1610C183F81 for <sidrops@ietf.org>; Mon, 23 May 2022 14:04:00 -0700 (PDT)
Received: from mail3.g24.pair.com (localhost [127.0.0.1]) by mail3.g24.pair.com (Postfix) with ESMTP id 7302E146233; Mon, 23 May 2022 17:03:59 -0400 (EDT)
Received: from [10.0.1.2] (pfs.iad.rg.net [198.180.150.6]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail3.g24.pair.com (Postfix) with ESMTPSA id 580BE145D29; Mon, 23 May 2022 17:03:59 -0400 (EDT)
Content-Type: text/plain; charset="us-ascii"
Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.21\))
From: Russ Housley <housley@vigilsec.com>
In-Reply-To: <YovdiIzWJ1Cw3QUO@snel>
Date: Mon, 23 May 2022 17:03:58 -0400
Cc: George Michaelson <ggm@algebras.org>, Ben Maddison <benm@workonline.africa>, Randy Bush <randy@psg.com>, SIDR Operations WG <sidrops@ietf.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <F51216BA-1556-4441-8048-7B0258F0F959@vigilsec.com>
References: <YoZ/bsYUeHpCW3Mc@snel> <D55CE24C-36E2-4976-84BB-BDB19E0E2CC2@vigilsec.com> <DB9P190MB10839201BF38E8D1BCD485BBC0D09@DB9P190MB1083.EURP190.PROD.OUTLOOK.COM> <3BDB58DF-0431-4676-9606-611C129A4B0B@vigilsec.com> <m2o7ztfe4d.wl-randy@psg.com> <20220520012253.zu4abj7kotvg3m3z@benm-laptop> <80AD7E72-1F42-4314-B0A8-69819904F2EB@vigilsec.com> <20220520135826.23h6eaurre7zvqxs@benm-laptop> <17C2DA7E-A5CB-49EE-8148-FB223A12D992@vigilsec.com> <CAKr6gn1vcma0=2v4k9i+i6C3Z4odx5A=vn+yFVQZJVkFicZwRA@mail.gmail.com> <YovdiIzWJ1Cw3QUO@snel>
To: Job Snijders <job=40fastly.com@dmarc.ietf.org>
X-Mailer: Apple Mail (2.3445.104.21)
Archived-At: <https://mailarchive.ietf.org/arch/msg/sidrops/Aja136mHk3dkx7jipUOvIS_UFys>
Subject: Re: [Sidrops] I-D Action: draft-ietf-sidrops-rpki-rsc-07.txt
X-BeenThere: sidrops@ietf.org
X-Mailman-Version: 2.1.34
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: Mon, 23 May 2022 21:04:02 -0000


> On May 23, 2022, at 3:16 PM, Job Snijders <job=40fastly.com@dmarc.ietf.org> wrote:
> 
> Dear all,
> 
> I'm slightly puzzled with the feedback and not entirely sure how to
> proceed. I'll try to summarize my understanding so far and re-iterate
> the direction the authors are trying to navigate towards.
> 
> I believe the ASN.1 module serves mainly two purposes: on the one hand
> it is a reference for programmers on what possible permutations might
> exist, and another use is to autogenerate code (through macros or an
> ASN.1 compiler) for use in signer/validator implementation.
> 
> With the above in mind, it seems prudent to codify as many constraints
> as possible in the ASN.1 module itself, rather than through 'decorative'
> (normative) text in the elaboration on what the ASN.1 notation means.
> 
> An example of what I mean with 'decorative text' is RFC 8209 section
> 3.1.3.5 which states "the 'inherit' element MUST NOT be specified."). I
> think constraints expressed through ASN.1 are somewhat stronger than
> what can be expressed in text for human consumption.
> 
> Context:
> ========
> 
> The draft-ietf-sidrops-rpki-rsc-06 spec did not accomodate encoding of
> inheritance and RDI (which seems accepted by this working group). Then
> some implementers asked for RSC to be more 'on the wire'-compatible with
> existing 3779 encoder/decoder higher level libcrypto functions, which
> they argued makes implementation easier. The result of these discussions
> was -07.
> 
> The -07 spec offers improved compatibility with existing 3779 functions,
> and still prohibits inheritance & RDI, and also removes the SAFI byte as
> the concept of SAFI seems not applicable to RSC. To the authors this
> seemed the best of all worlds: the voices displeased with -06 indicated
> contentment, and existing and new implementers would be able to use the
> RSC ASN.1 module from which it is clear what the constraints are.
> 
> But now, Russ, Randy, and George voice a concern about the SAFI octet!
> 
> To me it seems somewhat internally inconsistent to prohibit RDI &
> inheritance - but not the SAFI octet. Anyone encoding a SAFI octet in
> RSC eContent is creating a malformed object, subsequently a decode
> failure seems the preferred and expected outcome. Right?
> 
> Status update on running code: I believe there are three implementations
> known to adhere to the -07 format: a development version of OpenBSD
> rpki-client, Ben Maddison's rpkimancer, and Tom Harrison's RSC demo. 
> 
> options:
> 
>    1) revert back to -06 wireformat (3 implementations exist)
>    2) keep document as-is (3 implementations exist for -07)
>    3) permit SAFI byte to exist in the ASN.1 notation, add decorative
>       text that presence of SAFI octet MUST trigger failure.
>    4) ??? something I didn't think of ???
> 
> Feedback welcome!
> 
> Kind regards,
> 
> Job


Job:

Thanks for the clear explanation of the discussion to date.  I did not see anyone advocate for the inclusion of 'inherit' in the document.

I'm advocation for a one line change to the ASN.1 module:

OLD:

 addressFamily        OCTET STRING (SIZE (2)),

NEW:

 addressFamily        OCTET STRING (SIZE (2..3)),

My reason is that an implementer that has an implementation based on the RFC 3779 module might generate a 3 octet value.  While unexpected, I think that a decode failure is the wrong result.  In stead, the decode should succeed, then the recipient can decide whether to cause an error or to ignore the unexpected octet.

Russ