Re: [Acme] AD Review: draft-ietf-acme-ip-04

Roland Shoemaker <roland@letsencrypt.org> Mon, 28 January 2019 20:48 UTC

Return-Path: <roland@letsencrypt.org>
X-Original-To: acme@ietfa.amsl.com
Delivered-To: acme@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 989861311FF for <acme@ietfa.amsl.com>; Mon, 28 Jan 2019 12:48:36 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.553
X-Spam-Level:
X-Spam-Status: No, score=-6.553 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-4.553, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=letsencrypt.org
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 omhFCm__MPEu for <acme@ietfa.amsl.com>; Mon, 28 Jan 2019 12:48:33 -0800 (PST)
Received: from mail-ot1-x32c.google.com (mail-ot1-x32c.google.com [IPv6:2607:f8b0:4864:20::32c]) (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 3339F1311FE for <acme@ietf.org>; Mon, 28 Jan 2019 12:48:33 -0800 (PST)
Received: by mail-ot1-x32c.google.com with SMTP id t5so15946699otk.1 for <acme@ietf.org>; Mon, 28 Jan 2019 12:48:32 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=letsencrypt.org; s=google; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=v5qh3NTqqxZxoe2QhV0xN0XNagqqtBq6Q0FcTeJNS6A=; b=O1PhFsU+HWufc1H4uB3WX2PuG8rtUEl2qsL9nYI18nI2XDl/kjJI29Fkd0nap3qOvC tEZtjXy08T9O5X0z5wRHhBPgVhzWdqTKP0n54jQX5ztrI2/GOha2uSMD89/vnX2UgB3r hxwkyFKltHm3/X2AJcddTW29kjwFDZmGQ9mzI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=v5qh3NTqqxZxoe2QhV0xN0XNagqqtBq6Q0FcTeJNS6A=; b=uGQbnIbogTWIAzvA5r8iEo1gKzdDh2z4mbBGpwzsL7gWpAfQ+GNjH9jK604tmZCSXc dXppBzXLSToYslwCUPLAWqv1y++PsT2/vxAZh/TnJe12NM8npi8SKTlpSJRlTjEyJzWS hjXolSm89xpDhiaRNv9YvyfXD9WqQk8D9/XNhmQbawHO/HkeSCI9lFi0E6oFBT8GZFTG LxTVb3wIBaLxxAzzuM9O0Lhr/96ELp6yVWlqBk+sbaWyiRu3rz2qhG3uGNop3Y6yuOMh E5WA7DiVG6rmlru+Uolm+xW+PvoALr8hzHoQZqL0ECc3Q3BOgXt6H03fHXO4YNBeNBrg nGyw==
X-Gm-Message-State: AJcUukdaBurXr6AePF5/3o8H/1zd+M9ljQOXSY6GJPg76NQ2T2Gi09kx ZR3in5cUeF6gokej7+W+4rwy4Q==
X-Google-Smtp-Source: ALg8bN45EaFYos8u3t+qzW3MmEGy8l/s0ix6mCut2B+2NpNTvqHdLiGzb1Lo+L1KQfQv4XTJUKV6fw==
X-Received: by 2002:a9d:4d06:: with SMTP id n6mr17077388otf.160.1548708512214; Mon, 28 Jan 2019 12:48:32 -0800 (PST)
Received: from ?IPv6:2600:1700:bd50:a5b0:850b:2200:3627:1ebb? ([2600:1700:bd50:a5b0:850b:2200:3627:1ebb]) by smtp.gmail.com with ESMTPSA id a66sm5435797oib.42.2019.01.28.12.48.31 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 28 Jan 2019 12:48:31 -0800 (PST)
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 12.2 \(3445.102.3\))
From: Roland Shoemaker <roland@letsencrypt.org>
In-Reply-To: <CABcZeBMk=PxQAZ4RaxpLk3XOVtvq-Q080-EkddJKx9gFV40TmQ@mail.gmail.com>
Date: Mon, 28 Jan 2019 12:48:30 -0800
Cc: draft-ietf-acme-ip@ietf.org, IETF ACME <acme@ietf.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <42C48AB7-F948-425C-87C0-E8191EA451F9@letsencrypt.org>
References: <CABcZeBO6hMya76xfQh+5tcEpn_MMLk0CySuzGrnRnSn+8Dy3Pg@mail.gmail.com> <8DE69EB5-C1FB-404A-B9EC-BBA677D51601@letsencrypt.org> <CABcZeBMk=PxQAZ4RaxpLk3XOVtvq-Q080-EkddJKx9gFV40TmQ@mail.gmail.com>
To: Eric Rescorla <ekr@rtfm.com>
X-Mailer: Apple Mail (2.3445.102.3)
Archived-At: <https://mailarchive.ietf.org/arch/msg/acme/j8peTskrxupK0AyJyJomS99iOqw>
Subject: Re: [Acme] AD Review: draft-ietf-acme-ip-04
X-BeenThere: acme@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Automated Certificate Management Environment <acme.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/acme>, <mailto:acme-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/acme/>
List-Post: <mailto:acme@ietf.org>
List-Help: <mailto:acme-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/acme>, <mailto:acme-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 28 Jan 2019 20:48:37 -0000

By controlling the reverse tree do you mean the actual DNS zone? If so that provide no leverage for an attack. The value sent in the SNI isn’t any value retrieved from the DNS for the reverse mapping of the address, but the reverse mapping itself. If the IP being validated was 1.2.3.4 then the SNI sent would be 4.3.2.1.in-addr.arpa. This was originally suggested when Corey Bonnell pointed out that 6066 disallows literal IP addresses in the SNI HostName and Rich Salz and Richard Barnes suggested we just use the reverse mapping instead. Perhaps the text could be reworked here to clarify this further?

> On Jan 26, 2019, at 6:21 AM, Eric Rescorla <ekr@rtfm.com> wrote:
> 
> 
> 
> On Thu, Jan 24, 2019 at 11:50 AM Roland Shoemaker <roland@letsencrypt.org> wrote:
> Comments inline:
> 
> > On Dec 24, 2018, at 12:32 PM, Eric Rescorla <ekr@rtfm.com> wrote:
> > 
> > Rich version of this review at:
> > https://mozphab-ietf.devsvcdev.mozaws.net/D4180
> > 
> > 
> > IMPORTANT
> > S 3.
> > >      used to refer to fully qualified domain names.  If a ACME server
> > >      wishes to request proof that a user controls a IPv4 or IPv6 address
> > >      it MUST create an authorization with the identifier type "ip".  The
> > >      value field of the identifier MUST contain the textual form of the
> > >      address as defined in [RFC1123] Section 2.1 for IPv4 and in [RFC4291]
> > >      Section 2.2 for IPv6.
> > 
> > Are all three variants here valid?
> 
> I think requiring the canonical representation defined in 5952 Section 4 to be supported makes sense, but would be in favor of also allowing supporting any of the other 4291 representations if the implementer wishes.
> 
> > 
> > 
> > S 4.
> > >      For the "tls-alpn-01" the subjectAltName extension in the validation
> > >      certificate MUST contain a single iPAddress which matches the address
> > >      being validated.  As [RFC6066] does not permit IP addresses to be
> > >      used in the SNI extension the server MUST instead use the IN-
> > >      ADDR.ARPA [RFC1034] or IP6.ARPA [RFC3596] reverse mapping of the IP
> > >      address as the SNI value instead of the literal IP address.
> > 
> > What happens if an attacker forces an incorrect SNI on you here? I
> > don't see any security analysis below, but I suspect it's bad,
> > 
> 
> I’m not sure I understand how an attacker would force an incorrect SNI? tls-alpn-01 requires that the server verify that the SNI that it is provided matches what it expects.
> 
> I'm talking about an attacker who controls the reverse tree, and thus can cause the server to use an SNI of his choice.
> 
> 
> > COMMENTS
> > S 6.
> > >   
> > >   6.  Security Considerations
> > >   
> > >      Given the often short delegation periods for IP addresses provided by
> > >      various service providers CAs MAY want to impose shorter lifetimes
> > >      for certificates which contain IP identifiers.  They MAY also impose
> > 
> > https://tools.ietf.org/rfcmarkup?doc=6919#section-6
> > 
> > If the WG thinks that providers ought to do this, then it should say
> > so.
> > 
> 
> I don’t think it makes sense for the document to mandate this as it’s not an implementation detail but a policy one which the relevant policy authorities (such as CABF) may dictate themselves in the future putting this document at odds with those requirements.
> 
> I don't agree. It's the IETF's job to provide a complete and clear spec. The text implies that we think that you ought to use a shorter lifetime and then the MAY totally undercuts that. This text either should be removed or you should use a SHOULD or MUST. See also https://tools.ietf.org/rfcmarkup?doc=6919#section-6
> 
> -Ekr