[Acme] Content-Type and file extensions for HTTP01 challenges

Peter Eckersley <pde@eff.org> Fri, 13 November 2015 00:44 UTC

Return-Path: <pde@mail2.eff.org>
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 BF7531B3B39 for <acme@ietfa.amsl.com>; Thu, 12 Nov 2015 16:44:37 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.012
X-Spam-Level:
X-Spam-Status: No, score=-7.012 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_HELO_PASS=-0.001, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] 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 Tz8ej318QI6d for <acme@ietfa.amsl.com>; Thu, 12 Nov 2015 16:44:35 -0800 (PST)
Received: from mail2.eff.org (mail2.eff.org [173.239.79.204]) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 61AC21B3A9F for <acme@ietf.org>; Thu, 12 Nov 2015 16:44:35 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=eff.org; s=mail2; h=Content-Type:MIME-Version:Message-ID:Subject:To:From:Date; bh=z3SMCOTkx3Cy2y+qOnc4Oijnl3YHPOqzRqO8sMyEkZA=; b=BvFJhrUCDfsClFiyAhuqHlEyW3mwZb8+yWgs5S3uMrw8PVy1XWxfs9zXz8O1Jhb2YDGmTD1l1cHCrnp1nREe2tdJ7Onl61q1mMc32iG5f26uIWfNVeCnPcBowEJIYh3VN79nqVKRPa6JoGoYW7mwm6JUPyRY7tu+GNyZZb81QMk=;
Received: ; Thu, 12 Nov 2015 16:44:36 -0800
Date: Thu, 12 Nov 2015 16:44:36 -0800
From: Peter Eckersley <pde@eff.org>
To: "acme@ietf.org" <acme@ietf.org>
Message-ID: <20151113004436.GB18430@eff.org>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
User-Agent: Mutt/1.5.21 (2010-09-15)
Archived-At: <http://mailarchive.ietf.org/arch/msg/acme/3L-KgghiJSbT2C9BtusBehg2ZFU>
Subject: [Acme] Content-Type and file extensions for HTTP01 challenges
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, 13 Nov 2015 00:44:37 -0000

https://github.com/ietf-wg-acme/acme/pull/40 was just merged, but we
didn't actually get consensus that dropping Content-Type restrictions
altogether was a good idea.  

The options are:

 0.keep the old spec (Content-Type application/jose+json, no file 
   extensions allowed)

 1 keep the application/jose+json Content-Type requirement, add or allow
   a .jose file extension in the challenge

 2 switch to text/plain but add or allow a .txt file extension

 3 drop all Content-Type requirements (PR #40)

 4 leave the matter totally up to the CA (it can tell the client if
   there's a Content-Type requirement, and if so what it is)

I believe the purpose of the Content-Type requirement was to mitigate
against file-dropping attacks in web applications.  Everyone agrees that
option 0 is a bad spot on the security/usability tradeoff.  But is 3 the
best answer?  Can we keep some anti-file-dropping protection without
making manual authentication a pain?  Or are the two inherently the same
thing?


-- 
Peter Eckersley                            pde@eff.org
Chief Computer Scientist          Tel  +1 415 436 9333 x131
Electronic Frontier Foundation    Fax  +1 415 436 9993