Re: [Acme] tls-sni-01 validation compromise

Martin Thomson <martin.thomson@gmail.com> Fri, 22 January 2016 04:09 UTC

Return-Path: <martin.thomson@gmail.com>
X-Original-To: acme@ietfa.amsl.com
Delivered-To: acme@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C06271B3790 for <acme@ietfa.amsl.com>; Thu, 21 Jan 2016 20:09:27 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2
X-Spam-Level:
X-Spam-Status: No, score=-2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, SPF_PASS=-0.001] autolearn=ham
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 zNzZSCXNv0IC for <acme@ietfa.amsl.com>; Thu, 21 Jan 2016 20:09:26 -0800 (PST)
Received: from mail-io0-x22c.google.com (mail-io0-x22c.google.com [IPv6:2607:f8b0:4001:c06::22c]) (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 5389A1B3788 for <acme@ietf.org>; Thu, 21 Jan 2016 20:09:26 -0800 (PST)
Received: by mail-io0-x22c.google.com with SMTP id 1so76443250ion.1 for <acme@ietf.org>; Thu, 21 Jan 2016 20:09:26 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=Y46nUyFBUu6h0b/8GIWAim5MTPRNs8xZ2ynEtp9TPbw=; b=JFvRCu0/le7LXwzFSobk0MhEYq8kyngaSiPi0GrtD3RWVXYTTjiPHKnluXdoq+fyMM zX00UxaeZQrWKtPVkaz1ruoHTBzg83mdtmaR+g1wsmiI0fuO1cGxe2pzbkiD4bsEn6/j ul1/9b+QFa6/lTn4PrFPZsePumT17Amf3Ib1bOWoyp8TdT/Y/r5M/UX7oTv5/vGEn7U4 zRaL5IdH8JU1DHrL/UFenAIh4sNkSIhfHKOFrZKx0jV2FNCkKidTqQhBz/voSRqfUVBD kXY4/X5E1DPqyfTsHdl42APunwFFYeJMZ2/iMlZfPN+YyEFN8H2Q436XpNDsgWfgzjdA 2MYA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=Y46nUyFBUu6h0b/8GIWAim5MTPRNs8xZ2ynEtp9TPbw=; b=XblGmRxdlvfa/f90qXO9NZpC1r97w99FaNbSE6TVomecwCJTzd93L1W+mDzTFiGKmz FCBl5KnlpBHPArieOCOcTlX8ShHNSPTBaxzHSESqdAAoV/vH6uUpBmYptUXTUowhbJY4 1T2QVyH26tHtH6yQndDN76kps0pdcEO33Ev5DUo4tQEw5is+DJqC1nm9ZA/kodWHkWRL hoOfS9UKsdBDS1j5uO1eRn8BHxpPoB9Io6og5z3eAhkXjn2iGXKA/5zjfYzQ58HbWNub M/XoX+riIFLEU5U9Suw0FY+pia/+GZqE8PC3kOisMcZjpZLaM+Zv+8MTkRo1m3o5IGUB jPnQ==
X-Gm-Message-State: AG10YOQ8t8vVcwp2svN4TeorTntIFZzclo8NM55jY1rU4t0jUsYypK9utSeeVNU4+zWQMV7Id+aP6N5vGQg73w==
MIME-Version: 1.0
X-Received: by 10.107.16.199 with SMTP id 68mr1567980ioq.100.1453435765756; Thu, 21 Jan 2016 20:09:25 -0800 (PST)
Received: by 10.36.149.130 with HTTP; Thu, 21 Jan 2016 20:09:25 -0800 (PST)
In-Reply-To: <CABkgnnVMDFnz3EARBBw=OhnHo3USsJo4ynpBCrca_Df6XGDSeQ@mail.gmail.com>
References: <CAES3dxRZ7ieQ+G0Zv0oZmehUFPGU36KUdvrkSL+MMLSQWbP08w@mail.gmail.com> <CABkgnnVMDFnz3EARBBw=OhnHo3USsJo4ynpBCrca_Df6XGDSeQ@mail.gmail.com>
Date: Fri, 22 Jan 2016 15:09:25 +1100
Message-ID: <CABkgnnVZy-vycuZ86DnVCwy57nuv62Buut+Gt2=TbXERUwmd+g@mail.gmail.com>
From: Martin Thomson <martin.thomson@gmail.com>
To: Jehiah Czebotar <jehiah@gmail.com>
Content-Type: text/plain; charset="UTF-8"
Archived-At: <http://mailarchive.ietf.org/arch/msg/acme/bGNeK-u_Jr5ue-5nuOMf324IU6M>
Cc: "acme@ietf.org" <acme@ietf.org>
Subject: Re: [Acme] tls-sni-01 validation compromise
X-BeenThere: acme@ietf.org
X-Mailman-Version: 2.1.15
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: Fri, 22 Jan 2016 04:09:27 -0000

Thinking more about this, if the intent is to make the tls-sni-xx
challenge analogous to the http-xx one, then the request would encode
the token (not a hash of the key authorization) and the response to
that challenge would include the key authorization (as I suggest
below).

On 22 January 2016 at 14:03, Martin Thomson <martin.thomson@gmail.com> wrote:
> On 22 January 2016 at 13:38, Jehiah Czebotar <jehiah@gmail.com> wrote:
>> 1) Change the requirement that the self signed cert have one DNSName,
>> and require the response to have TWO DNS names. One that matches the
>> requested hostname, and a second that is secret which proves it can
>> only be created by the appropriate party initiating validation
>> 2) Remove reliance on SNI matching, and make the challenge `tls-01`
>> and fulfill the same HTTP response requirements as `http-01` where the
>> Hostname, and request path are untrusted, but the response body with
>> full keyAuthorization proves the connection to the requestor. This
>> opens up the possibility of TLS validation against the $domain being
>> validated instead of relying on a .acme.invalid hostname.
>
> I think that the suggestion that the challenge response include
> something unique to the challenge (as http-01 already does) is a fine
> suggestion.  I don't think that it matters much how that is done.  If
> the intent is to verify that the requester exercises control over the
> TLS server, having this restricted to things that are part of the TLS
> server configuration is probably advisable.
>
> To that end, adding a key authorization to the certificate would seem
> to be the best option.  Whether that is done as a second
> subjectAltName or as a separate extension probably doesn't matter
> much.
>
> Following through with a challenge like http-01 would work, but it
> means playing with the configuration of the server in two places.