Re: [Acme] ACME breaking change: Most GETs become POSTs

Jacob Hoffman-Andrews <jsha@eff.org> Fri, 31 August 2018 19:30 UTC

Return-Path: <jsha@eff.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 B7BB7130DD0 for <acme@ietfa.amsl.com>; Fri, 31 Aug 2018 12:30:53 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.011
X-Spam-Level:
X-Spam-Status: No, score=-7.011 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, T_DKIMWL_WL_HIGH=-0.01] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=eff.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 3f-IGd-galL5 for <acme@ietfa.amsl.com>; Fri, 31 Aug 2018 12:30:52 -0700 (PDT)
Received: from mail2.eff.org (mail2.eff.org [173.239.79.204]) (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 AEFF8124C04 for <acme@ietf.org>; Fri, 31 Aug 2018 12:30:52 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=eff.org; s=mail2; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:MIME-Version: Date:Message-ID:From:References:Cc:To:Subject:Sender:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=TJ4NsokzDyWo3svZ2fY4bgeOdmt4ATZd1yBt1+uP9mk=; b=1ZmqFlhMxAdS4QQLYuUHW22eaH J1VEHvm8CBrMO59/AvB+ys/QG4G9WsZyuagP0t/J7xiCQGYTilYaemqhOHAEcdtPbUR2D3ppwqPv4 vXK0ees7HLz84nQ8zJv5YoqBgl3d9aRuIjqYR0g5Mr1TBUkm+5MOIUj8HHu1Xp0iNKR4=;
Received: ; Fri, 31 Aug 2018 12:30:51 -0700
To: Richard Barnes <rlb@ipv.sx>, "Salz, Rich" <rsalz@akamai.com>
Cc: IETF ACME <acme@ietf.org>, Felipe Gasper <felipe@felipegasper.com>
References: <c33184f3-4e64-b7ea-babb-d29e2307f1f3@eff.org> <2a889461-da9e-d3bd-e5a8-688eda61c614@eff.org> <51509028-1939-4851-8BB5-41F94FA146A1@felipegasper.com> <CAL02cgTLEMAMZQicNvXzQrRnGeemrUojmGe_8r=e_YZCNazdsQ@mail.gmail.com> <D171FC21-64FA-4438-AF45-520B5AFEEBF7@akamai.com> <CAL02cgQXx0fBUuxa8ivwTk09J5h8tWiNP8b+8taY8wPJxLypeA@mail.gmail.com>
From: Jacob Hoffman-Andrews <jsha@eff.org>
Message-ID: <4404d740-504c-bba7-d30d-dff385bd1216@eff.org>
Date: Fri, 31 Aug 2018 12:30:51 -0700
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1
MIME-Version: 1.0
In-Reply-To: <CAL02cgQXx0fBUuxa8ivwTk09J5h8tWiNP8b+8taY8wPJxLypeA@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Transfer-Encoding: 8bit
Content-Language: en-US
Archived-At: <https://mailarchive.ietf.org/arch/msg/acme/XAu_56QgpkKuqh48_HA8TEt8Gwo>
Subject: Re: [Acme] ACME breaking change: Most GETs become POSTs
X-BeenThere: acme@ietf.org
X-Mailman-Version: 2.1.27
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, 31 Aug 2018 19:30:54 -0000

On 08/31/2018 07:25 AM, Richard Barnes wrote:
> The problem with using POST-as-GET for certificate resources, as 
> Felipe I think pointed out, is that the thing that downloads the 
> certificate URL is often not an ACME player, doesn't have an account, 
> etc.  It's a web server or something. (cf. the STAR drafts.)  What I'm 
> saying is that it's painful to make them integrate with ACME and we 
> don't get any benefit.
AFAIK, no current ACME client hands off certificate URLs to 
less-privileged processes.

Keeping GETs for certificates undermines the goal of making the 
POST-as-GET change. Certificate resources may be constructed in 
enumerable ways, like:

/account/100/certificate/3438
/account/201/certificate/3439
/account/100/certificate/3440*

While many CAs may not consider correlation of certificates by account 
to be sensitive, our goal with this change is to eliminate a footgun for 
CAs who do consider it sensitive, by simply ensuring all requests are 
authenticated by default. Consistent authentication also has the 
potential to simplify by client and server libraries.

I think it would be a mistake to carve out this exception in the main 
ACME spec for use cases that are still speculative. Instead, if there is 
a use case that truly requires unauthenticated certificate retrieval, it 
should be defined as an extension or an optional feature.

In short, I think certificates should be POST-as-GET just like the other 
resources.

*Note: I'm aware that certificate serial numbers must be randomized, but 
there is no requirement that the certificate serial number be present in 
the URL.