Re: [Anima] Benjamin Kaduk's Discuss on draft-ietf-anima-bootstrapping-keyinfra-39: (with DISCUSS and COMMENT)
Benjamin Kaduk <kaduk@mit.edu> Tue, 31 March 2020 15:03 UTC
Return-Path: <kaduk@mit.edu>
X-Original-To: anima@ietfa.amsl.com
Delivered-To: anima@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 109783A2299; Tue, 31 Mar 2020 08:03:04 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.001
X-Spam-Level:
X-Spam-Status: No, score=0.001 tagged_above=-999 required=5 tests=[SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
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 CTLfs7uu9nHm; Tue, 31 Mar 2020 08:03:02 -0700 (PDT)
Received: from outgoing.mit.edu (outgoing-auth-1.mit.edu [18.9.28.11]) (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 4B06C3A2292; Tue, 31 Mar 2020 08:02:19 -0700 (PDT)
Received: from kduck.mit.edu ([24.16.140.251]) (authenticated bits=56) (User authenticated as kaduk@ATHENA.MIT.EDU) by outgoing.mit.edu (8.14.7/8.12.4) with ESMTP id 02VF23r4029072 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 31 Mar 2020 11:02:05 -0400
Date: Tue, 31 Mar 2020 08:02:02 -0700
From: Benjamin Kaduk <kaduk@mit.edu>
To: Michael Richardson <mcr@sandelman.ca>
Cc: The IESG <iesg@ietf.org>, draft-ietf-anima-bootstrapping-keyinfra@ietf.org, anima-chairs@ietf.org, anima@ietf.org, tte+ietf@cs.fau.de
Message-ID: <20200331150202.GH50174@kduck.mit.edu>
References: <158561301296.11367.9776561744635554098@ietfa.amsl.com> <4603.1585620652@localhost>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <4603.1585620652@localhost>
User-Agent: Mutt/1.12.1 (2019-06-15)
Archived-At: <https://mailarchive.ietf.org/arch/msg/anima/JKHk2Q3BB62nTZfGnzMCzgeAFsY>
Subject: Re: [Anima] Benjamin Kaduk's Discuss on draft-ietf-anima-bootstrapping-keyinfra-39: (with DISCUSS and COMMENT)
X-BeenThere: anima@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Autonomic Networking Integrated Model and Approach <anima.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/anima>, <mailto:anima-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/anima/>
List-Post: <mailto:anima@ietf.org>
List-Help: <mailto:anima-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/anima>, <mailto:anima-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 31 Mar 2020 15:03:04 -0000
Hi Michael, On Mon, Mar 30, 2020 at 10:10:52PM -0400, Michael Richardson wrote: > > > Benjamin Kaduk via Datatracker <noreply@ietf.org> wrote: > > Unfortunately, it seems that the "pinned-domain-cert" in the issued voucher > > is the registrar's cert, not the CA cert. (Given that the documented > > workflow is > > That's entirely correct. > The thing in the voucher validates the TLS connection that the pledge sees. I'm not quite sure if the "that" that is entirely correct is intended to be "the voucher artifact in the -39" or "pinned-domain-cert should be the CA cert that signed the registrar's cert". I agree that the primary role of the pinned-domain-cert is to validate the provisional TLS connection to the registrar, but validating a TLS connection can be done by indicating that any certificate in the chain is trusted, from leaf/end-entity up to root CA. If the pledge goes on to perform full EST (which is currently listed as optional), then the exact contents of the pinned-domain-cert don't matter in practice very much other than validating the provisional TLS connection, but for the case where the pledge stops after BRSKI and does not do full EST, having a domain CA certificate seems much more useful than just knowing that the registrar's end-entity certificate is trusted. My interpretation of "pinned-domain-cert is always a CA certificate" seems to have persistent support throughout the text: Section 5.5.2: The registrar's certificate chain is extracted from the signature method. The entire registrar certificate chain was included in the CMS structure, as specified in Section 5.5. This CA certificate will be used to populate the "pinned-domain-cert" of the voucher being issued. Section 5.6: pinned-domain-cert: The domain CA cert. See Section 5.5.2. This figure is illustrative, for an example, see Appendix C.2 Section 5.6.2: The 'pinned-domain-cert' element of the voucher contains the domain CA's public key. The pledge MUST use the 'pinned-domain-cert' trust anchor to immediately complete authentication of the provisional TLS connection. [...] The pinned-domain-cert MAY be installed as an trust anchor for future operations such as enrollment (e.g. [RFC7030] as recommended) or trust anchor management or raw protocols that do not need full PKI based key management. It can be used to authenticate any dynamically discovered EST server that contain the id-kp-cmcRA extended key usage extension as detailed in EST RFC7030 section 3.6.1; but to reduce system complexity the pledge SHOULD avoid additional discovery operations. Instead the pledge SHOULD communicate directly with the [...] but I'd be happy to learn why I'm misreading things. As far as the bigger picture goes, I think that the BRSKI document as a whole is essentially done, and only know of the last issues (noted in my ballot position on the -39) that, given my current understanding of the document, seems to be factual errors where the document is internally inconsistent with itself. Once they get resolved (whether by educating me on my improper understanding or by updating the text), I expect to change my ballot position to YES so the document can get approved for publication. (With Ignas having cycled off the IESG, it currently does not have a YES.) I am even willing to produce an updated example voucher artifact myself, if that would help expedite things -- I believe I already have the needed keys/certs locally from my review of the -39. As an alternate option, if more expedient, I could probably even accept just adding a note to the example that says that the pledge goes on to perform full EST, so the pinned-domain-cert is only needed to validate the provisional TLS connection. Please let me know if I'm missing anything here. Thanks, Ben
- [Anima] Benjamin Kaduk's Discuss on draft-ietf-an… Benjamin Kaduk via Datatracker
- Re: [Anima] Benjamin Kaduk's Discuss on draft-iet… Michael Richardson
- Re: [Anima] Benjamin Kaduk's Discuss on draft-iet… Brian E Carpenter
- Re: [Anima] Benjamin Kaduk's Discuss on draft-iet… Benjamin Kaduk
- Re: [Anima] Benjamin Kaduk's Discuss on draft-iet… Benjamin Kaduk
- Re: [Anima] Benjamin Kaduk's Discuss on draft-iet… Eliot Lear
- Re: [Anima] Benjamin Kaduk's Discuss on draft-iet… Michael Richardson
- Re: [Anima] Benjamin Kaduk's Discuss on draft-iet… Esko Dijk
- Re: [Anima] Benjamin Kaduk's Discuss on draft-iet… Max Pritikin (pritikin)
- Re: [Anima] Benjamin Kaduk's Discuss on draft-iet… Michael Richardson
- Re: [Anima] Benjamin Kaduk's Discuss on draft-iet… Michael Richardson
- Re: [Anima] Benjamin Kaduk's Discuss on draft-iet… Benjamin Kaduk
- Re: [Anima] Benjamin Kaduk's Discuss on draft-iet… Esko Dijk
- Re: [Anima] Benjamin Kaduk's Discuss on draft-iet… Esko Dijk
- Re: [Anima] Benjamin Kaduk's Discuss on draft-iet… Michael Richardson
- Re: [Anima] Benjamin Kaduk's Discuss on draft-iet… Michael Richardson
- Re: [Anima] Benjamin Kaduk's Discuss on draft-iet… Esko Dijk
- [Anima] ACME integrations with BRSKI and cmcRA bit Michael Richardson
- Re: [Anima] ACME integrations with BRSKI and cmcR… Esko Dijk
- [Anima] ACME integrations with BRSKI and the cmcR… Michael Richardson
- Re: [Anima] ACME integrations with BRSKI and the … Esko Dijk
- Re: [Anima] [Acme] ACME integrations with BRSKI a… Deb Cooley
- Re: [Anima] [Acme] ACME integrations with BRSKI a… Michael Richardson