Re: [Anima] Benjamin Kaduk's Discuss on draft-ietf-anima-bootstrapping-keyinfra-28: (with DISCUSS and COMMENT)

Benjamin Kaduk <kaduk@mit.edu> Tue, 29 October 2019 03:19 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 297C5120047; Mon, 28 Oct 2019 20:19:02 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.2
X-Spam-Level:
X-Spam-Status: No, score=-4.2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_PASS=-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 hF62nWFNOLaT; Mon, 28 Oct 2019 20:19:00 -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 01A31120046; Mon, 28 Oct 2019 20:18:59 -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 x9T3IisX017305 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 28 Oct 2019 23:18:46 -0400
Date: Mon, 28 Oct 2019 20:18:43 -0700
From: Benjamin Kaduk <kaduk@mit.edu>
To: Michael Richardson <mcr+ietf@sandelman.ca>
Cc: draft-ietf-anima-bootstrapping-keyinfra@ietf.org, The IESG <iesg@ietf.org>, tte+ietf@cs.fau.de, anima@ietf.org, anima-chairs@ietf.org
Message-ID: <20191029031843.GO69013@kduck.mit.edu>
References: <157132132983.10248.1050846253932775557.idtracker@ietfa.amsl.com> <20191018012352.GB43312@kduck.mit.edu> <22000.1572299410@localhost>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <22000.1572299410@localhost>
User-Agent: Mutt/1.12.1 (2019-06-15)
Archived-At: <https://mailarchive.ietf.org/arch/msg/anima/dRnxwr8DfOhq_ufECtHYXDZN0XI>
Subject: Re: [Anima] Benjamin Kaduk's Discuss on draft-ietf-anima-bootstrapping-keyinfra-28: (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, 29 Oct 2019 03:19:02 -0000

Trimming heavily, with great thanks for the numerous updates...

On Mon, Oct 28, 2019 at 05:50:10PM -0400, Michael Richardson wrote:
> 
> Benjamin Kaduk <kaduk@mit.edu> wrote:
>     > I also have some more comments that didn't make it into my ballot position;
>     > please consider them as well.  I will put them in the datatracker for
>     > posterity, but will have it not generate an additional mail since the
>     > mostly-duplicate contents would be confusing.
> 
[...]
> 
>     doc> o  The registrar forwards the voucher to the pledge when requested.
> 
>     > I suggest "validates and forwards" to cover the case where the registrar
>     > applies policy.
> 
> the whole text is:
>           <t>The registrar requests and validates the voucher from the MASA.</t>
> 
>           <t>The registrar forwards the voucher to the pledge when
>           requested.</t>
> 
> so validates is already in the previous point, I think.

Indeed.  Apparently the page break caused me to forget; sorry for the noise
:(

>     > Section 5.8
> 
>     doc> although it results in additional network traffic.  The relying MASA
>     doc> implementation MAY leverage internal state to associate this request
>     doc> with the original, and by now already validated, voucher-request so
>     doc> as to avoid an extra crypto validation.
> 
>     > It seems that doing so would turn the voucher-request into a bearer
>     > token for retrieving audit-log information (if the MASA accepts
>     > unauthenticated clients).
> 
> That's what's intended.

I can see why that functionality is needed, but it seems likely to
introduce some privacy and/or security considerations to document.  It's a
bit too late in the day for me to reason through them, though.

>     > Section 11
> 
>     > I am somewhat embarassed that I did not previously note that the
>     > mechanism used to generate the domainID needs to be
>     > second-preimage-resistant or an attacker can claim to be a registrar for
>     > a domain that already exists.
> 
> Right now, that's in:
> 
> 5.8.2.  Calculation of domainID
> 
>    The domainID is a binary value (a BIT STRING) that uniquely
>    identifies a Registrar by the "pinned-domain-cert"
> 
>    If the "pinned-domain-cert" certificate includes the
>    SubjectKeyIdentifier (Section 4.2.1.2 [RFC5280]), then it is to be
>    used as the domainID.  If not, the SPKI Fingerprint as described in
>    [RFC7469] section 2.4 is to be used.  This value needs to be
>    calculated by both MASA (to populate the audit-log), and by the
>    Registrar (to recognize itself).
> 
> We tried hard and found a way not to say SHA-1 directly, allowing SHA256 to
> replace it appropriately.

That's all good and admirable; I'm suggesting that we add a note in the
security considerations of this document noting that we rely on the
domainID (however determined) to be second-preimage-resistant.

>     > Section 11.2
> 
>     doc> Although the nonce used by the Pledge in the voucher-request does not
>     doc> require a strong cryptographic randomness, the use of TLS in all of
>     doc> the protocols in this document does.
> 
>     > We discuss the need for strong randomness in the nonce in Section 11.3,
>     > so it's not clear this is actually true.
> 
> We don't think that the voucher nonce has to be of the same quality as something that
> goes into a KDF.  It is at the level of TCP Sequeunce number, not seed for
> generating a private key...

I mean, we literally say "Reducing the possibility of this is why the
pledge is mandated to generate a strong random or pseudo-random number
nonce."  So to also say "the nonce [...] does not require a strong
cryptographic randomness" seems to be in conflict with the former
statement.
Are you saying that "strong random" and "strong cryptographic random" mean
different things, or am I misreading the document in some other way?

Thanks,

Ben