Re: [Acme] Why "HTTP verification"

Ángel González <angel@tls.16bits.net> Tue, 02 December 2014 23:23 UTC

Return-Path: <angel@tls.16bits.net>
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 1CCC21A1BCA for <acme@ietfa.amsl.com>; Tue, 2 Dec 2014 15:23:39 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.602
X-Spam-Level:
X-Spam-Status: No, score=-1.602 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, MIME_8BIT_HEADER=0.3, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=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 Svzy0N7bMsGr for <acme@ietfa.amsl.com>; Tue, 2 Dec 2014 15:23:37 -0800 (PST)
Received: from mailer.hiddenmail.net (mailer.hiddenmail.net [199.195.249.9]) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id C37C81A6EE0 for <acme@ietf.org>; Tue, 2 Dec 2014 15:23:34 -0800 (PST)
Received: from mailer by mailer.hiddenmail.net with local (Exim 4.80) (envelope-from <angel@tls.16bits.net>) id 1Xvwn7-0003UO-OK for acme@ietf.org; Wed, 03 Dec 2014 00:23:33 +0100
Message-ID: <1417562605.2793.10.camel@tls.16bits.net>
From: Ángel González <angel@tls.16bits.net>
To: acme@ietf.org
Date: Wed, 03 Dec 2014 00:23:25 +0100
In-Reply-To: <CAK6vND9GcnQ1UbrLd6osj4vQ-GDr5Gwwh-Cx97nSHw-z3i5Vkw@mail.gmail.com>
References: <B80ACB30-1A35-440E-B250-AB8C80D1FAF1@vpnc.org> <CAK6vND-001PK0gP_3Txoge2hvYiKPuA+trd9zj7PzaooOOMH3A@mail.gmail.com> <20141202194441.GA285@mournblade.imrryr.org> <CAK6vND9GcnQ1UbrLd6osj4vQ-GDr5Gwwh-Cx97nSHw-z3i5Vkw@mail.gmail.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Mailer: Evolution 3.12.8
Mime-Version: 1.0
Archived-At: http://mailarchive.ietf.org/arch/msg/acme/nhw1sA8_ZSWDHWkoyqmb27-w8Cs
Subject: Re: [Acme] Why "HTTP verification"
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: <http://www.ietf.org/mail-archive/web/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: Tue, 02 Dec 2014 23:23:39 -0000

Peter Bowen wrote:
> On Tue, Dec 2, 2014 at 11:44 AM, Viktor Dukhovni <ietf-dane@dukhovni.org> wrote:
> > On Tue, Dec 02, 2014 at 11:15:40AM -0800, Peter Bowen wrote:
> >
> >> The primary case where I see a problem is when the site already has a
> >> trusted certificate and wants to use ACME to get a new certificate.
> >> They are unlikely to want to replace their working certificate with a
> >> self-signed certificate.  So the proof would need to happen at the
> >> HTTP layer, not the TLS layer.
> >
> > They can request a certificate for the same private key.  The
> > "self-signed" thing so not precise.  The real requirement would be
> > *some* certificate with the same key, not necessarily self-signed.
> > So issued by another CA should be fine.
> 
> I would hope that many sites would have a policy of rotating their
> private key, as a reasonable number of clients still use the same key
> for identification and key exchange.  I'm not sure what the protocol
> should look like for proving possession of the old and new keys at the
> same time, but it would be good to support this case.
> 
> Thanks,
> Peter

If the only reason for http verification is to allow a pre-existing
certificate on 443, signing a message with the current key is a much
stronger guarantee than placing a file accessible by http.

It would be possible to steal a certificate at date X and get the new
certificate at X+n, but since the stolen certificate would need to stay
current, I find hard that the attacker couldn't also have obtained a
certificate if http were used (a compromised backup maybe?). And given
that the previous certificate would still be in use, such compromise
would still be unnoticed.

Maybe require that http proof contains the new certificate signed with
the current cert ?