From nobody Mon Dec 1 13:01:31 2014 Return-Path: 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 638401A910B for ; Mon, 1 Dec 2014 13:01:30 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.9 X-Spam-Level: X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=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 daobixYjPoax for ; Mon, 1 Dec 2014 13:01:28 -0800 (PST) Received: from mr11p24im-asmtp001.me.com (mr11p24im-asmtp001.me.com [17.110.78.41]) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 5B7991A1AA2 for ; Mon, 1 Dec 2014 13:01:27 -0800 (PST) Received: from Den (c-67-183-152-156.hsd1.wa.comcast.net [67.183.152.156]) by mr11p24im-asmtp001.me.com (Oracle Communications Messaging Server 7.0.5.33.0 64bit (built Aug 27 2014)) with ESMTPSA id <0NFX00DGX92D3PC0@mr11p24im-asmtp001.me.com> for acme@ietf.org; Mon, 01 Dec 2014 21:01:26 +0000 (GMT) X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:5.13.68,1.0.33,0.0.0000 definitions=2014-12-01_04:2014-12-01,2014-12-01,1970-01-01 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 suspectscore=1 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=7.0.1-1408290000 definitions=main-1412010200 From: Trevor Freeman To: acme@ietf.org References: In-reply-to: Date: Mon, 01 Dec 2014 13:01:20 -0800 Message-id: <000b01d00da9$f5cc37a0$e164a6e0$@icloud.com> MIME-version: 1.0 Content-type: multipart/alternative; boundary="----=_NextPart_000_000C_01D00D66.E7A993E0" X-Mailer: Microsoft Outlook 14.0 Thread-index: AdANqL0JWP9CCDbzSf6tzMqX5TAglwAAS/kg Content-language: en-us Archived-At: http://mailarchive.ietf.org/arch/msg/acme/wnvidbFAnLr9IJQOa7FyjGnELqE Subject: [Acme] How automated should ACME be? X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 01 Dec 2014 21:01:30 -0000 This is a multipart message in MIME format. ------=_NextPart_000_000C_01D00D66.E7A993E0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To digress from the ASN.1 woes discussion, I would like to ask some higher level question: How automated should ACME be? What are the set of automated scenarios we want ACME to support? If I am managing n servers, how automated can I expect the management of those n servers to be? If I wanted to add a new type of certificate to my servers, how many places do I need to visit to make that happen? What I don't see in ACME at the preset is the management request\response pair that would for instance exchange information to enable an ACME client to create certificate requests e.g. what algorithm, parameters etc. ACME is establishing DV scoped RAs. Tying the authentication of the RA to a specific form of authentication seems a little retro. We need a strong form of authentication for the RA, but why don't we tokenize the RA authentication to make ACME support multiple ways to authenticate? Trevor ------=_NextPart_000_000C_01D00D66.E7A993E0 Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable

To digress = from the  ASN.1 woes discussion, I would like to ask some higher = level question:   

 

How = automated should ACME be?

 

What are the = set of automated scenarios we want ACME to support?

 

If I am = managing n servers, how automated can I expect the management of those n = servers to be?

 

If I wanted = to add a new type of certificate to my servers, how many places do I = need to visit to make that happen?

 

What I = don’t see in ACME at the preset is the management request\response = pair that would for instance exchange information to enable an ACME = client to create certificate requests e.g. what algorithm, parameters = etc.

 

ACME is establishing DV scoped RAs. Tying the = authentication of the RA to a specific form of authentication seems a = little retro. We need a strong form of authentication for the RA, but = why don’t we tokenize the RA authentication to make ACME support = multiple ways to authenticate?

 

Trevor

 

 

------=_NextPart_000_000C_01D00D66.E7A993E0-- From nobody Mon Dec 1 13:31:59 2014 Return-Path: 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 C26811ABC75 for ; Mon, 1 Dec 2014 13:31:38 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.278 X-Spam-Level: X-Spam-Status: No, score=-1.278 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FM_FORGED_GMAIL=0.622, FREEMAIL_FROM=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 C_uGdpaVDUF9 for ; Mon, 1 Dec 2014 13:31:37 -0800 (PST) Received: from mail-la0-x22d.google.com (mail-la0-x22d.google.com [IPv6:2a00:1450:4010:c03::22d]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 4F14A1ABC74 for ; Mon, 1 Dec 2014 13:31:37 -0800 (PST) Received: by mail-la0-f45.google.com with SMTP id gq15so9611201lab.32 for ; Mon, 01 Dec 2014 13:31:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type:content-transfer-encoding; bh=JyDaLNpl/75yL4+znMW7NS44FjHTcfCMNubzMNQBXgE=; b=MWxRHuVH11No3L8QMSdnoFX00syhuaTuNJFteoNQaq3gxh/S3weibOquiPOK8L3mvv mCRbsOaQuyKYXr44Gtm7cB9Mve9edfNbX+VEsQMUPxq9J+EYRSxeb1oBn/ZZPR2qGMfA HFWJYm3zXzD2kfTqfJlhktbaGq8Ld8SNPGGOUEtgBgMjyyVqASoU6WfbMdH8Hxdr9exB BlvTj8yiFrtcmY0ByNL02u1kKxDxV4WxnBjUq4WRF2MPWaX9bmI0Zz2rv372m5OeC8wi Lz3rpsSltWfvLoBnr0b2eSvGDtUd29NRBFhT+nL+FT4GUBvZ8WfYmQACgwX1lIo1dI9n 7j6g== MIME-Version: 1.0 X-Received: by 10.112.160.137 with SMTP id xk9mr16396032lbb.99.1417469495720; Mon, 01 Dec 2014 13:31:35 -0800 (PST) Sender: hallam@gmail.com Received: by 10.112.19.42 with HTTP; Mon, 1 Dec 2014 13:31:35 -0800 (PST) In-Reply-To: <000b01d00da9$f5cc37a0$e164a6e0$@icloud.com> References: <000b01d00da9$f5cc37a0$e164a6e0$@icloud.com> Date: Mon, 1 Dec 2014 16:31:35 -0500 X-Google-Sender-Auth: di7_UimZp2s539RBQoSCE7BHqa0 Message-ID: From: Phillip Hallam-Baker To: Trevor Freeman Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Archived-At: http://mailarchive.ietf.org/arch/msg/acme/5YHh2NeUOkaQY3bTTousjpyC_d8 Cc: "acme@ietf.org" Subject: Re: [Acme] How automated should ACME be? X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 01 Dec 2014 21:31:38 -0000 On Mon, Dec 1, 2014 at 4:01 PM, Trevor Freeman wrote: > ACME is establishing DV scoped RAs. Tying the authentication of the RA to= a > specific form of authentication seems a little retro. We need a strong fo= rm > of authentication for the RA, but why don=E2=80=99t we tokenize the RA > authentication to make ACME support multiple ways to authenticate? +1 I don't see any reason to limit an enrollment protocol to one particular validation scheme or for that matter one particular role. If a protocol requires major redesign to support other validation processes or S/MIME versus TLS then we are doing it wrong. We are going to need the flexibility for IPR reasons if nothing else. From nobody Mon Dec 1 16:05:42 2014 Return-Path: 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 DB1E51A1BE1 for ; Mon, 1 Dec 2014 16:05:39 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -6.91 X-Spam-Level: X-Spam-Status: No, score=-6.91 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, 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 r-mmOXil8bwv for ; Mon, 1 Dec 2014 16:05:37 -0800 (PST) Received: from ran.psg.com (ran.psg.com [198.180.150.18]) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 2AEDB1ACD63 for ; Mon, 1 Dec 2014 16:05:29 -0800 (PST) Received: from localhost ([127.0.0.1] helo=ryuu.psg.com.psg.com) by ran.psg.com with esmtp (Exim 4.82) (envelope-from ) id 1Xvay5-0003oz-Vb; Tue, 02 Dec 2014 00:05:26 +0000 Date: Tue, 02 Dec 2014 09:05:24 +0900 Message-ID: From: Randy Bush To: Viktor Dukhovni In-Reply-To: <20141129170537.GK285@mournblade.imrryr.org> References: <547754C0.9050306@cs.tcd.ie> <20141127211348.GE25114@mournblade.imrryr.org> <54784C61.2080508@cs.tcd.ie> <20141128170917.GC285@mournblade.imrryr.org> <88B49E1D-1601-4B86-8D93-14CF71501DFC@vpnc.org> <20141128213724.GG285@mournblade.imrryr.org> <7261AA75-5912-4514-A393-94F602C941C2@vpnc.org> <20141129170537.GK285@mournblade.imrryr.org> User-Agent: Wanderlust/2.15.9 (Almost Unreal) Emacs/22.3 Mule/5.0 (SAKAKI) MIME-Version: 1.0 (generated by SEMI 1.14.7 - "Harue") Content-Type: text/plain; charset=US-ASCII Archived-At: http://mailarchive.ietf.org/arch/msg/acme/pyFzbfkXougpkFP4faPmHCLxVUc Cc: acme@ietf.org Subject: Re: [Acme] kinds of proof X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 02 Dec 2014 00:05:41 -0000 >> And it is clear to me that they should be, if we want to see more encryption >> of traffic. I have no problem with some CAs saying "we'll issue you a cert >> only if you control port X", but I absolutely want that to be a policy of >> the CA, not of the enrollment protocol. > > Paul, do you have any examples of CAs that accept any port, or are > you in part making that up? Comodo for example, requires control > of port 80: or dns randy From nobody Mon Dec 1 16:33:50 2014 Return-Path: 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 785CB1A1AC7 for ; Mon, 1 Dec 2014 16:33:48 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.999 X-Spam-Level: X-Spam-Status: No, score=-1.999 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, HTML_MESSAGE=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 mja5JYnE2vcT for ; Mon, 1 Dec 2014 16:33:47 -0800 (PST) Received: from mail-oi0-x229.google.com (mail-oi0-x229.google.com [IPv6:2607:f8b0:4003:c06::229]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 36C691A1AC6 for ; Mon, 1 Dec 2014 16:33:47 -0800 (PST) Received: by mail-oi0-f41.google.com with SMTP id a3so8379233oib.28 for ; Mon, 01 Dec 2014 16:33:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:from:date:message-id:subject:to:content-type; bh=iDlAOVMJCH/3VWQDQxQCjGz9H02LT8K5Ty0e5gxFUUU=; b=UfHqP8exQQwI+J3nCoPC+2gyn6wDGbh/qmbHkAjEu+q80Msg0m9cfX5Hy235db4FRq AGv55RF8HMC0oBPZjbHHXyxyVo/yjd3H8U7GUFoS5RMDupncUS+hVpdHqNsD2vlQnyTa 8YYg9KACb+uNZ0T9B9TTOqZ6pRwKak7v7SyBR/0EfKdi90Ik9i4w3hLbEPjmdewccQzQ +J2ioUUmPSq9enhpTXuheqlLGOZ/qpbKCZJS271KVTVG7dT47FNo2cp2hDmWIeKe8/Yi AF1ilUause4NZb0uj5rf2Vh2gAJcaSzk3+cO0xy+wehRl/c4d/gdJW/257e6VPpG/ryI EjIw== X-Received: by 10.202.187.66 with SMTP id l63mr35079190oif.13.1417480426355; Mon, 01 Dec 2014 16:33:46 -0800 (PST) MIME-Version: 1.0 Received: by 10.60.81.233 with HTTP; Mon, 1 Dec 2014 16:33:26 -0800 (PST) From: Tony Arcieri Date: Mon, 1 Dec 2014 16:33:26 -0800 Message-ID: To: "acme@ietf.org" Content-Type: multipart/alternative; boundary=001a113ccffe4a0416050930e17f Archived-At: http://mailarchive.ietf.org/arch/msg/acme/5X9hpz9DYBZlcO2WZV8LpgUYvig Subject: [Acme] Threat model for claiming domains X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 02 Dec 2014 00:33:48 -0000 --001a113ccffe4a0416050930e17f Content-Type: text/plain; charset=UTF-8 Is there a published threat model for claiming domains? I haven't been able to find it, but I'd certainly like to read it! If we simply accept a service running on the same IP that a given DNS name points to, there seems ample opportunity to register certificates for services colocated on the same IP. -- Tony Arcieri --001a113ccffe4a0416050930e17f Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Is there a published threat model for claiming domains? I = haven't been able to find it, but I'd certainly like to read it!
If we simply accept a service running on the same IP that = a given DNS name points to, there seems ample opportunity to register certi= ficates for services colocated on the same IP.

--
Tony Arcieri
--001a113ccffe4a0416050930e17f-- From nobody Mon Dec 1 17:12:38 2014 Return-Path: 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 950E41A1A7A for ; Mon, 1 Dec 2014 17:12:36 -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 u41Avk1z6ULv for ; Mon, 1 Dec 2014 17:12:35 -0800 (PST) Received: from mail-pa0-x22f.google.com (mail-pa0-x22f.google.com [IPv6:2607:f8b0:400e:c03::22f]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 291401AC43A for ; Mon, 1 Dec 2014 17:12:35 -0800 (PST) Received: by mail-pa0-f47.google.com with SMTP id kq14so12267964pab.20 for ; Mon, 01 Dec 2014 17:12:34 -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=ApPeUKpGovddffESETJE5Uow1nJGtnZNobDT1K0NDNE=; b=fL/kh6KG+4//NYJ/Ii8Bl5UmBodMWa9BNEHFp7/pI3Tx1oXFYi5ErDQ1wIXjY3Uu3L a8Ojy6kLyr3QMGOHPMbEagXdw4zr1m2f8Q12r6oXYsspa/AQB8ZxM1v5GLGgfXVBoWed oBYyrGal48rbx4EZDRygfzV2qc5uso8xML9BrM5Uek88fvxCgY4docU6VY1XT+QAyDte gkL/cdSB/LX687VSlHS9SYM8fPqP1tEcN0yA0Gs7bZVEXIQomvXN7aq0AUy9CuqHYSY+ DVFVyNM+di9bM3JO8t6AI1Yd2kSn6mXZn03D+Kf7C1Sss4htYnVe1OxMeDa7IXmdeU3Y FMhg== MIME-Version: 1.0 X-Received: by 10.68.179.5 with SMTP id dc5mr740947pbc.147.1417482754407; Mon, 01 Dec 2014 17:12:34 -0800 (PST) Received: by 10.70.76.10 with HTTP; Mon, 1 Dec 2014 17:12:34 -0800 (PST) In-Reply-To: References: <547754C0.9050306@cs.tcd.ie> <20141127211348.GE25114@mournblade.imrryr.org> <54784C61.2080508@cs.tcd.ie> <20141128170917.GC285@mournblade.imrryr.org> <88B49E1D-1601-4B86-8D93-14CF71501DFC@vpnc.org> <20141128213724.GG285@mournblade.imrryr.org> <7261AA75-5912-4514-A393-94F602C941C2@vpnc.org> <20141129170537.GK285@mournblade.imrryr.org> Date: Mon, 1 Dec 2014 17:12:34 -0800 Message-ID: From: Peter Bowen To: Randy Bush Content-Type: text/plain; charset=UTF-8 Archived-At: http://mailarchive.ietf.org/arch/msg/acme/Mzk7LfFnEf4Ec4FyVFj9DVzox-w Cc: acme@ietf.org, Viktor Dukhovni Subject: Re: [Acme] kinds of proof X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 02 Dec 2014 01:12:36 -0000 On Mon, Dec 1, 2014 at 4:05 PM, Randy Bush wrote: >>> And it is clear to me that they should be, if we want to see more encryption >>> of traffic. I have no problem with some CAs saying "we'll issue you a cert >>> only if you control port X", but I absolutely want that to be a policy of >>> the CA, not of the enrollment protocol. >> >> Paul, do you have any examples of CAs that accept any port, or are >> you in part making that up? Comodo for example, requires control >> of port 80: > > or dns Yes, several CAs allow DNS based validation of control. https://gist.github.com/pzb/3b57ddac91ccf0e4c814 lists several of the schemes I've seen used. There is clearly no standard or even quasi-standard for DNS based validation. Thanks, Peter From nobody Mon Dec 1 17:18:48 2014 Return-Path: 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 C03381AC43A for ; Mon, 1 Dec 2014 17:18:46 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.902 X-Spam-Level: X-Spam-Status: No, score=-1.902 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_PASS=-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 LrIhSR8iGClA for ; Mon, 1 Dec 2014 17:18:44 -0800 (PST) Received: from na01-bn1-obe.outbound.protection.outlook.com (mail-bn1on0761.outbound.protection.outlook.com [IPv6:2a01:111:f400:fc10::761]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 9792A1AC42A for ; Mon, 1 Dec 2014 17:18:44 -0800 (PST) Received: from DM2PR0301MB0656.namprd03.prod.outlook.com (25.160.96.18) by DM2PR0301MB0607.namprd03.prod.outlook.com (25.160.95.23) with Microsoft SMTP Server (TLS) id 15.1.26.15; Tue, 2 Dec 2014 01:18:21 +0000 Received: from DM2PR0301MB0655.namprd03.prod.outlook.com (25.160.96.17) by DM2PR0301MB0656.namprd03.prod.outlook.com (25.160.96.18) with Microsoft SMTP Server (TLS) id 15.1.26.15; Tue, 2 Dec 2014 01:18:21 +0000 Received: from DM2PR0301MB0655.namprd03.prod.outlook.com ([25.160.96.17]) by DM2PR0301MB0655.namprd03.prod.outlook.com ([25.160.96.17]) with mapi id 15.01.0026.003; Tue, 2 Dec 2014 01:18:21 +0000 From: Christian Huitema To: Peter Bowen , Randy Bush Thread-Topic: [Acme] kinds of proof Thread-Index: AQHQCzpQ0gc5ZtwH40O9AzCFhy8+6Zx2kIoAgAAFu4CAAUCrAIADmfIAgAASxACAAAB08A== Date: Tue, 2 Dec 2014 01:18:20 +0000 Message-ID: References: <547754C0.9050306@cs.tcd.ie> <20141127211348.GE25114@mournblade.imrryr.org> <54784C61.2080508@cs.tcd.ie> <20141128170917.GC285@mournblade.imrryr.org> <88B49E1D-1601-4B86-8D93-14CF71501DFC@vpnc.org> <20141128213724.GG285@mournblade.imrryr.org> <7261AA75-5912-4514-A393-94F602C941C2@vpnc.org> <20141129170537.GK285@mournblade.imrryr.org> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [2001:4898:80e8:ed31::2] x-microsoft-antispam: BCL:0;PCL:0;RULEID:;SRVR:DM2PR0301MB0656;UriScan:; x-exchange-antispam-report-test: UriScan:; x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:; SRVR:DM2PR0301MB0656; x-forefront-prvs: 0413C9F1ED x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(6009001)(199003)(51704005)(189002)(551934003)(101416001)(46102003)(74316001)(19580395003)(54356999)(15975445006)(77156002)(62966003)(21056001)(54606007)(33656002)(54206007)(106356001)(31966008)(77096004)(68736005)(20776003)(64706001)(120916001)(92566001)(92726001)(93886004)(95666004)(106116001)(99286002)(575784001)(99396003)(86362001)(122556002)(107046002)(40100003)(86612001)(76576001)(2656002)(4396001)(76176999)(97736003)(87936001)(50986999)(105586002)(3826002); DIR:OUT; SFP:1102; SCL:1; SRVR:DM2PR0301MB0656; H:DM2PR0301MB0655.namprd03.prod.outlook.com; FPR:; SPF:None; MLV:sfv; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Microsoft-Antispam: BCL:0;PCL:0;RULEID:;SRVR:DM2PR0301MB0607; X-OriginatorOrg: microsoft.onmicrosoft.com Archived-At: http://mailarchive.ietf.org/arch/msg/acme/zTmfnyI7P_UaoK_sWfi6do2V_aM Cc: "acme@ietf.org" , Viktor Dukhovni Subject: Re: [Acme] kinds of proof X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 02 Dec 2014 01:18:46 -0000 >> or dns > > Yes, several CAs allow DNS based validation of control. > https://gist.github.com/pzb/3b57ddac91ccf0e4c814 lists several of the sch= emes I've seen used. There is clearly no > standard or even quasi-standard= for DNS based validation. To belabor the obvious: if someone somehow controls the DNS entry for the d= omain, they can put up a MITM attack and "insert" whatever content is suita= ble for validation. Consider the following attack: attacker engages an automated transaction wi= th the CA, simultaneously manages to spoof the DNS entry, gets certificate.= That should definitely be part of the threat model. -- Christian Huitema From nobody Mon Dec 1 18:54:42 2014 Return-Path: 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 2F9BC1A007C for ; Mon, 1 Dec 2014 18:54:41 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.9 X-Spam-Level: X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9] 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 OlDXRwAj9Mo0 for ; Mon, 1 Dec 2014 18:54:39 -0800 (PST) Received: from mournblade.imrryr.org (mournblade.imrryr.org [38.117.134.19]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id CFCAE1A000E for ; Mon, 1 Dec 2014 18:54:39 -0800 (PST) Received: by mournblade.imrryr.org (Postfix, from userid 1034) id DE0C8282FBC; Tue, 2 Dec 2014 02:54:38 +0000 (UTC) Date: Tue, 2 Dec 2014 02:54:38 +0000 From: Viktor Dukhovni To: "acme@ietf.org" Message-ID: <20141202025438.GH285@mournblade.imrryr.org> References: <20141127211348.GE25114@mournblade.imrryr.org> <54784C61.2080508@cs.tcd.ie> <20141128170917.GC285@mournblade.imrryr.org> <88B49E1D-1601-4B86-8D93-14CF71501DFC@vpnc.org> <20141128213724.GG285@mournblade.imrryr.org> <7261AA75-5912-4514-A393-94F602C941C2@vpnc.org> <20141129170537.GK285@mournblade.imrryr.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.23 (2014-03-12) Archived-At: http://mailarchive.ietf.org/arch/msg/acme/EnnOD9SqPOFOf8Wf8UN3c2543_8 Subject: Re: [Acme] kinds of proof X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: acme@ietf.org List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 02 Dec 2014 02:54:41 -0000 On Tue, Dec 02, 2014 at 01:18:20AM +0000, Christian Huitema wrote: > > Yes, several CAs allow DNS based validation of control. I thought this too obvious to mention, I was talking *additional* verification methods other than DNS. > To belabor the obvious: if someone somehow controls the DNS entry > for the domain, they can put up a MITM attack and "insert" whatever > content is suitable for validation. That's not an attack. If you control the DNS, you control the domain, which is what DV is supposed to verify. I'd like to see is that resolvers used by CAs should support DNSSEC, and for signed domains apply the appropriate checks. Which then leaves room for MiTM attacks via the various DV email addresses, and port 80 checks, which perhaps should be re-considered when the candidate DV domain is signed. -- Viktor. From nobody Mon Dec 1 20:47:41 2014 Return-Path: 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 CF9B81A00D8 for ; Mon, 1 Dec 2014 20:47:39 -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 X8sCMvzvssyP for ; Mon, 1 Dec 2014 20:47:38 -0800 (PST) Received: from mail-pa0-x232.google.com (mail-pa0-x232.google.com [IPv6:2607:f8b0:400e:c03::232]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 82EB41A00D6 for ; Mon, 1 Dec 2014 20:47:38 -0800 (PST) Received: by mail-pa0-f50.google.com with SMTP id bj1so12565007pad.23 for ; Mon, 01 Dec 2014 20:47:37 -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 :content-type; bh=iGQU71uAWAlCMQoB8BszpawMBGbfSzLO2XncD66fq+M=; b=h5VyPfjEamtWTBABObtjAaAbamZ3UoNbv8xJw+7EnpfqoP8v8xSpH8LHUI1hVvO7wa 2+yFgCNDK+txYWZJvClPem6L+Xsep054mAAbcR3MWxJ58LMSWaQEN65Wbh74wrZbtwnM ArAKjcvrVylenoBdNzIx5WOCcGwAfAkKUoW877UeQq7k02LE1gNkTxVRBNZWh5adSqoE 75gzYudqNfGhjBhmkxLPZv+Gc/+eaGOebzjlnbO62Eq5BpXrY2LoKLwWrevpnmnnjorx 6DzEj8GLTsqnCRH5OZWX3NfIg7js28peerhccStbI/4vJr16j8zC4O8kZg8GAGsFBsZW HFqQ== MIME-Version: 1.0 X-Received: by 10.66.235.74 with SMTP id uk10mr108080232pac.16.1417495657649; Mon, 01 Dec 2014 20:47:37 -0800 (PST) Received: by 10.70.76.10 with HTTP; Mon, 1 Dec 2014 20:47:37 -0800 (PST) In-Reply-To: <20141202025438.GH285@mournblade.imrryr.org> References: <20141127211348.GE25114@mournblade.imrryr.org> <54784C61.2080508@cs.tcd.ie> <20141128170917.GC285@mournblade.imrryr.org> <88B49E1D-1601-4B86-8D93-14CF71501DFC@vpnc.org> <20141128213724.GG285@mournblade.imrryr.org> <7261AA75-5912-4514-A393-94F602C941C2@vpnc.org> <20141129170537.GK285@mournblade.imrryr.org> <20141202025438.GH285@mournblade.imrryr.org> Date: Mon, 1 Dec 2014 20:47:37 -0800 Message-ID: From: Peter Bowen To: acme@ietf.org Content-Type: text/plain; charset=UTF-8 Archived-At: http://mailarchive.ietf.org/arch/msg/acme/BJuh_gVxtewKPkqMH8P49OZV_dU Subject: Re: [Acme] kinds of proof X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 02 Dec 2014 04:47:40 -0000 On Mon, Dec 1, 2014 at 6:54 PM, Viktor Dukhovni wrote: > On Tue, Dec 02, 2014 at 01:18:20AM +0000, Christian Huitema wrote: > >> > Yes, several CAs allow DNS based validation of control. > > I thought this too obvious to mention, I was talking *additional* > verification methods other than DNS. Today it is not too obvious, as the requirements that CAs follow do not explicitly allow DNS based validation of control but do explicitly allow web page based (http) validation of control. Obviously fetching a Web page identified by a uniform resource identifier containing the FQDN requires a DNS lookup, but this is never mentioned in the current requirements. Thanks, Peter From nobody Tue Dec 2 09:29:57 2014 Return-Path: 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 4A76C1A1AD8 for ; Tue, 2 Dec 2014 09:29:55 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -3.647 X-Spam-Level: X-Spam-Status: No, score=-3.647 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HELO_MISMATCH_COM=0.553, RCVD_IN_DNSWL_MED=-2.3] 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 36T82qI6PTxO for ; Tue, 2 Dec 2014 09:29:53 -0800 (PST) Received: from proper.com (Hoffman.Proper.COM [207.182.41.81]) (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 8555E1A1C06 for ; Tue, 2 Dec 2014 09:29:53 -0800 (PST) Received: from [10.20.30.90] (142-254-17-119.dsl.dynamic.fusionbroadband.com [142.254.17.119]) (authenticated bits=0) by proper.com (8.14.9/8.14.7) with ESMTP id sB2HTqxZ059197 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Tue, 2 Dec 2014 10:29:53 -0700 (MST) (envelope-from paul.hoffman@vpnc.org) X-Authentication-Warning: proper.com: Host 142-254-17-119.dsl.dynamic.fusionbroadband.com [142.254.17.119] claimed to be [10.20.30.90] Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 8.1 \(1993\)) From: Paul Hoffman In-Reply-To: Date: Tue, 2 Dec 2014 09:29:51 -0800 Content-Transfer-Encoding: quoted-printable Message-Id: References: <20141127211348.GE25114@mournblade.imrryr.org> <54784C61.2080508@cs.tcd.ie> <20141128170917.GC285@mournblade.imrryr.org> <88B49E1D-1601-4B86-8D93-14CF71501DFC@vpnc.org> <20141128213724.GG285@mournblade.imrryr.org> <7261AA75-5912-4514-A393-94F602C941C2@vpnc.org> <20141129170537.GK285@mournblade.imrryr.org> <20141202025438.GH285@mournblade.imrryr.org> To: acme@ietf.org X-Mailer: Apple Mail (2.1993) Archived-At: http://mailarchive.ietf.org/arch/msg/acme/jzlEudL0edYYvBbW-sMmLjZ8WMs Subject: Re: [Acme] kinds of proof X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 02 Dec 2014 17:29:55 -0000 Greetings. It seems that some people want ACME to force a higher level = of assurance on the protocol than those of us who are trying to get more = authenticated encryption everywhere would want. Given that we still = don't have a published Internet Draft (ahem), it would be good to come = to agreement early on what is going to be required. A specific use case that is important to me is someone running a web = server on a commercial hoster should be able to get a TLS cert using = ACME even if the hoster does not have its own ACME support. The site = admin in that case should be able to run an ACME client on their laptop = and be able to go through the ACME steps needed to get a cert that they = can load into their web site, then tell the hoster to turn on port 443. If the hoster supports the ACME steps itself, the web admin might not = even need to do anything: the hoster can run ACME for them to get the = cert. Given that hosters are always trying to cut customer service = costs, ACME should allow hosters to automate the cert process to the = point where no human interaction is needed after the hoster decides = "this site will now use HTTPS". Proposal: - ACME clients and servers can be run without human interaction during = the ACME exchange itself. All configuration can be done before the ACME = client initiates the session, as long as the system running the ACME = client has control over the service for which the certificate is being = issued. A human may need to make manual changes if their system does not = have an ACME setup, but the ACME protocol supports full automation as = well. - A CA must verify that the system on which the ACME client is running = can control the service for which the certificate is being issued. - The system running the ACME client does not have to have control over = the DNS service that controls the domain name being used in the = requested certificate; however, particular DNS control can be required = by policy by an ACME server. - The ACME protocol has to have expressive enough semantics so that an = ACME server can tell an ACME client in detail what policy is causing the = ACME server to reject a particular certificate request. From nobody Tue Dec 2 09:37:36 2014 Return-Path: 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 042391A1AE6 for ; Tue, 2 Dec 2014 09:37:30 -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 sTPa9phSRvv9 for ; Tue, 2 Dec 2014 09:37:25 -0800 (PST) Received: from mail-pd0-x230.google.com (mail-pd0-x230.google.com [IPv6:2607:f8b0:400e:c02::230]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B77691A1B4F for ; Tue, 2 Dec 2014 09:37:19 -0800 (PST) Received: by mail-pd0-f176.google.com with SMTP id y10so13570306pdj.21 for ; Tue, 02 Dec 2014 09:37:19 -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:content-transfer-encoding; bh=hL0f1shutiIMf1KTSEadGdG5y23u8e2QDZXnmYBrJto=; b=stPYiTcWmYy8rGpYEVvuMdjzaRXUH8yKZD6o4MNdOodiFCSZIh/Ind9RvgQGswFgYP Pfbeo7ONhxBhc/79wZt2Y7/B+9sY8Dh+51A88IW+4OlcxfVQMPstMIlnZo8SfpLKJUP3 6MohsZQkmdxShAlA/JRJMAzh4UQaV3GrCqLMR4g3jvFN1POElkCVGIzSxsQicVNT+fmd RLfhX5pyH08bfGJ5UnvkaF+/PBR8LDkYdcTCbW7/w+/fg6c5zrYUWgQh0PPfJzz7joxg rjJZhoFIW7hUaX+MiqdqjIMEtxDHbu1UM135ouQIHdOvd7FKb+pGmCMeXfiHXNrOVFeQ +LLA== MIME-Version: 1.0 X-Received: by 10.66.221.198 with SMTP id qg6mr743711pac.106.1417541838360; Tue, 02 Dec 2014 09:37:18 -0800 (PST) Received: by 10.70.76.10 with HTTP; Tue, 2 Dec 2014 09:37:18 -0800 (PST) In-Reply-To: References: <20141127211348.GE25114@mournblade.imrryr.org> <54784C61.2080508@cs.tcd.ie> <20141128170917.GC285@mournblade.imrryr.org> <88B49E1D-1601-4B86-8D93-14CF71501DFC@vpnc.org> <20141128213724.GG285@mournblade.imrryr.org> <7261AA75-5912-4514-A393-94F602C941C2@vpnc.org> <20141129170537.GK285@mournblade.imrryr.org> <20141202025438.GH285@mournblade.imrryr.org> Date: Tue, 2 Dec 2014 09:37:18 -0800 Message-ID: From: Peter Bowen To: Paul Hoffman Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Archived-At: http://mailarchive.ietf.org/arch/msg/acme/T9rT0rtGfz110r5N2B9SsIpLmec Cc: acme@ietf.org Subject: Re: [Acme] kinds of proof X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 02 Dec 2014 17:37:30 -0000 On Tue, Dec 2, 2014 at 9:29 AM, Paul Hoffman wrote: > Greetings. It seems that some people want ACME to force a higher level of= assurance on the protocol than those of us who are trying to get more auth= enticated encryption everywhere would want. Given that we still don't have = a published Internet Draft (ahem), it would be good to come to agreement ea= rly on what is going to be required. > > A specific use case that is important to me is someone running a web serv= er on a commercial hoster should be able to get a TLS cert using ACME even = if the hoster does not have its own ACME support. The site admin in that ca= se should be able to run an ACME client on their laptop and be able to go t= hrough the ACME steps needed to get a cert that they can load into their we= b site, then tell the hoster to turn on port 443. > > If the hoster supports the ACME steps itself, the web admin might not eve= n need to do anything: the hoster can run ACME for them to get the cert. Gi= ven that hosters are always trying to cut customer service costs, ACME shou= ld allow hosters to automate the cert process to the point where no human i= nteraction is needed after the hoster decides "this site will now use HTTPS= ". I would also encourage that the case be supported where the "hoster" controls the DNS but not the content on the site. This is the situation for most CDNs and Load Balancing services. Technically the CDN/LB could special case responses for a well known path, as it is handling the HTTP connection, but it is frequently easier to validate control via DNS. > Proposal: > > - ACME clients and servers can be run without human interaction during th= e ACME exchange itself. All configuration can be done before the ACME clien= t initiates the session, as long as the system running the ACME client has = control over the service for which the certificate is being issued. A human= may need to make manual changes if their system does not have an ACME setu= p, but the ACME protocol supports full automation as well. > > - A CA must verify that the system on which the ACME client is running ca= n control the service for which the certificate is being issued. If the ACME client can change DNS, then it clearly can effectively control the service (FQDN) for which the certificate is being issued. > - The system running the ACME client does not have to have control over t= he DNS service that controls the domain name being used in the requested ce= rtificate; however, particular DNS control can be required by policy by an = ACME server. I would expect an ACME server can choose to support DNS-based verification, HTTP-based verification, TLS-based verification, or some combination thereof. > - The ACME protocol has to have expressive enough semantics so that an AC= ME server can tell an ACME client in detail what policy is causing the ACME= server to reject a particular certificate request. > > > _______________________________________________ > Acme mailing list > Acme@ietf.org > https://www.ietf.org/mailman/listinfo/acme From nobody Tue Dec 2 09:52:28 2014 Return-Path: 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 B386B1A6F3C for ; Tue, 2 Dec 2014 09:52:22 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -14.511 X-Spam-Level: X-Spam-Status: No, score=-14.511 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_RP_MATCHES_RCVD=-0.01, USER_IN_DEF_DKIM_WL=-7.5] 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 hWItWobXBgOS for ; Tue, 2 Dec 2014 09:52:15 -0800 (PST) Received: from aer-iport-3.cisco.com (aer-iport-3.cisco.com [173.38.203.53]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 537101A6EFC for ; Tue, 2 Dec 2014 09:52:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=1281; q=dns/txt; s=iport; t=1417542735; x=1418752335; h=message-id:date:from:mime-version:to:subject; bh=SS9dn2bRGAF7R03fVEv+ZxB1Kqn0YVYnjug4bUPHRJE=; b=lR3g2t+/T7EXxVpRjpjIuRh4QWz8r5B8mgrPSds2YMm8unfaQEw1/EGY z1FPeom813hStpjjSI1L66U1vahpisRGS8JvP58DmeAFQktko5lsnb5lM KyyKMmg8NtX80kws5X+a0oemccAnviEfn9SSnkaUoQ6ei/isJxQqidGRK c=; X-Files: signature.asc : 486 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ArEEACT7fVStJssW/2dsb2JhbABbhzfLZgEBAQEBfYQsVT0WCwILAwIBAgE/GQgBAYg8sEuPRZcKkQyCX4FTBZJvgUuHTIdGjVuDfD6CdwEBAQ X-IronPort-AV: E=Sophos;i="5.07,501,1413244800"; d="asc'?scan'208";a="254009709" Received: from aer-iport-nat.cisco.com (HELO aer-core-3.cisco.com) ([173.38.203.22]) by aer-iport-3.cisco.com with ESMTP; 02 Dec 2014 17:52:13 +0000 Received: from [10.61.83.192] (ams3-vpn-dhcp5057.cisco.com [10.61.83.192]) by aer-core-3.cisco.com (8.14.5/8.14.5) with ESMTP id sB2HqDfs016218 for ; Tue, 2 Dec 2014 17:52:13 GMT Message-ID: <547DFC4B.9040408@cisco.com> Date: Tue, 02 Dec 2014 18:52:11 +0100 From: Eliot Lear User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 MIME-Version: 1.0 To: acme@ietf.org Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="sSrtSkDedomwSO2isbpF0nJ2EvvB6ESb8" Archived-At: http://mailarchive.ietf.org/arch/msg/acme/gbMnpDGx0Xu90dcPxsW-a_LbDNk Subject: [Acme] acme in a firewalled environment X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 02 Dec 2014 17:52:22 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --sSrtSkDedomwSO2isbpF0nJ2EvvB6ESb8 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Question: Are the myriad of enterprise servers in scope for ACME? In those environments it's not unreasonable to assume that a firewall exists to prevent incoming connections, and DNS control is not available. In fact split DNS might introduce all sorts of fun resolution issues even if control is possible from the inside. Eliot --sSrtSkDedomwSO2isbpF0nJ2EvvB6ESb8 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (Darwin) iQEcBAEBAgAGBQJUffxMAAoJEIe2a0bZ0noznFsIAL7KsoK0OwjzdF8V1+/+f/Xf /ONjLcthkYpQlX4AKoEazUUWcFZxsV2ocIdoYVrytutT6Q6yZdP1w24zXB1XbRsk e+3fpdjd5h5MALo/NjsrQvKnsoDGZAmMzBs1whY2oF4wbvP2AE8MosgfVOU44Hg3 q8hoj6+sYSZx5nBSiB5KZ6qTCz5adhLh/e1V4r3LkGnK1ZdnBJ4oF/N0bXwRYGV8 1Onag6IUGGxl8D9lI2L12yInXMdnfPGEt539cgidXycankGPIuZlc/MU3vNrQ99w ifu+g9/AmGtP0TJrKI0eKmd3iCQHSrITbk9wA3cXkLajcHvJgBA5LbeHc2lRvVI= =UJvP -----END PGP SIGNATURE----- --sSrtSkDedomwSO2isbpF0nJ2EvvB6ESb8-- From nobody Tue Dec 2 10:02:03 2014 Return-Path: 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 5ABE61A0673 for ; Tue, 2 Dec 2014 10:01:55 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -3.647 X-Spam-Level: X-Spam-Status: No, score=-3.647 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HELO_MISMATCH_COM=0.553, RCVD_IN_DNSWL_MED=-2.3] 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 WTVQpkcPifKt for ; Tue, 2 Dec 2014 10:01:52 -0800 (PST) Received: from proper.com (Hoffman.Proper.COM [207.182.41.81]) (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 A6BB11A0392 for ; Tue, 2 Dec 2014 10:01:52 -0800 (PST) Received: from [10.20.30.90] (142-254-17-119.dsl.dynamic.fusionbroadband.com [142.254.17.119]) (authenticated bits=0) by proper.com (8.14.9/8.14.7) with ESMTP id sB2I1ogW066341 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 2 Dec 2014 11:01:51 -0700 (MST) (envelope-from paul.hoffman@vpnc.org) X-Authentication-Warning: proper.com: Host 142-254-17-119.dsl.dynamic.fusionbroadband.com [142.254.17.119] claimed to be [10.20.30.90] Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 8.1 \(1993\)) From: Paul Hoffman In-Reply-To: Date: Tue, 2 Dec 2014 10:01:50 -0800 Content-Transfer-Encoding: quoted-printable Message-Id: <48A047C0-BD1E-41DE-9DAE-0E3DA3F2420B@vpnc.org> References: <20141127211348.GE25114@mournblade.imrryr.org> <54784C61.2080508@cs.tcd.ie> <20141128170917.GC285@mournblade.imrryr.org> <88B49E1D-1601-4B86-8D93-14CF71501DFC@vpnc.org> <20141128213724.GG285@mournblade.imrryr.org> <7261AA75-5912-4514-A393-94F602C941C2@vpnc.org> <20141129170537.GK285@mournblade.imrryr.org> <20141202025438.GH285@mournblade.imrryr.org> To: Peter Bowen X-Mailer: Apple Mail (2.1993) Archived-At: http://mailarchive.ietf.org/arch/msg/acme/P-AT6CUq-k8tNbxZd8cNkwqRNGw Cc: acme@ietf.org Subject: Re: [Acme] kinds of proof X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 02 Dec 2014 18:01:55 -0000 On Dec 2, 2014, at 9:37 AM, Peter Bowen wrote: >=20 > On Tue, Dec 2, 2014 at 9:29 AM, Paul Hoffman = wrote: >> Greetings. It seems that some people want ACME to force a higher = level of assurance on the protocol than those of us who are trying to = get more authenticated encryption everywhere would want. Given that we = still don't have a published Internet Draft (ahem), it would be good to = come to agreement early on what is going to be required. >>=20 >> A specific use case that is important to me is someone running a web = server on a commercial hoster should be able to get a TLS cert using = ACME even if the hoster does not have its own ACME support. The site = admin in that case should be able to run an ACME client on their laptop = and be able to go through the ACME steps needed to get a cert that they = can load into their web site, then tell the hoster to turn on port 443. >>=20 >> If the hoster supports the ACME steps itself, the web admin might not = even need to do anything: the hoster can run ACME for them to get the = cert. Given that hosters are always trying to cut customer service = costs, ACME should allow hosters to automate the cert process to the = point where no human interaction is needed after the hoster decides = "this site will now use HTTPS". >=20 > I would also encourage that the case be supported where the "hoster" > controls the DNS but not the content on the site. This is the > situation for most CDNs and Load Balancing services. Technically the > CDN/LB could special case responses for a well known path, as it is > handling the HTTP connection, but it is frequently easier to validate > control via DNS. This seems like an important additional use case. >=20 >> Proposal: >>=20 >> - ACME clients and servers can be run without human interaction = during the ACME exchange itself. All configuration can be done before = the ACME client initiates the session, as long as the system running the = ACME client has control over the service for which the certificate is = being issued. A human may need to make manual changes if their system = does not have an ACME setup, but the ACME protocol supports full = automation as well. >>=20 >> - A CA must verify that the system on which the ACME client is = running can control the service for which the certificate is being = issued. >=20 > If the ACME client can change DNS, then it clearly can effectively > control the service (FQDN) for which the certificate is being issued. Yes. The current wording supports the new use case. =20 >=20 >> - The system running the ACME client does not have to have control = over the DNS service that controls the domain name being used in the = requested certificate; however, particular DNS control can be required = by policy by an ACME server. >=20 > I would expect an ACME server can choose to support DNS-based > verification, HTTP-based verification, TLS-based verification, or some > combination thereof. The current wording supports the new use case. >=20 >> - The ACME protocol has to have expressive enough semantics so that = an ACME server can tell an ACME client in detail what policy is causing = the ACME server to reject a particular certificate request. --Paul Hoffman= From nobody Tue Dec 2 10:02:06 2014 Return-Path: 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 6B5C31A0392 for ; Tue, 2 Dec 2014 10:01:57 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -14.511 X-Spam-Level: X-Spam-Status: No, score=-14.511 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_RP_MATCHES_RCVD=-0.01, USER_IN_DEF_DKIM_WL=-7.5] 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 s99FTTBVyT0w for ; Tue, 2 Dec 2014 10:01:55 -0800 (PST) Received: from rcdn-iport-3.cisco.com (rcdn-iport-3.cisco.com [173.37.86.74]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 655561A1AAC for ; Tue, 2 Dec 2014 10:01:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=741; q=dns/txt; s=iport; t=1417543315; x=1418752915; h=message-id:date:from:mime-version:to:subject:references: in-reply-to:content-transfer-encoding; bh=EJW7Lf+E49xcoSk/FFGpd37MMENT+1o+au/iXj4WJow=; b=QMbdePivfwTQnsT4YEjpyNA2KxuwsEKPRRbOY3Lh89NXJSvw7YCbQJfZ 2cs0OU0PLsAgSZVgdoTy+JPKliG0P7qLi1+Lq0CrD/3yDvbKeCzXaoaIg aw3EKH7yKkEWBR/sD4ue/KEjp3Qe8rJTSvEfBJU1BiiS33sdMtMrZgumW k=; X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AkMHAIT9fVStJA2D/2dsb2JhbABbgweEMLBRAQEBAQEBBQF3mFYCgSQWAQEBAQF9hAMBAQQjFUARCxgCAgUWCwICCQMCAQIBRRMIAQGIPMAfllwBAQEBBgIBH4ErhQiKQxaCX4FTAQSLAZEFgSyGGolZhAKEGx+CdwEBAQ X-IronPort-AV: E=Sophos;i="5.07,502,1413244800"; d="scan'208";a="376950694" Received: from alln-core-1.cisco.com ([173.36.13.131]) by rcdn-iport-3.cisco.com with ESMTP; 02 Dec 2014 18:01:54 +0000 Received: from [10.129.24.137] ([10.129.24.137]) by alln-core-1.cisco.com (8.14.5/8.14.5) with ESMTP id sB2I1sEh020336 for ; Tue, 2 Dec 2014 18:01:54 GMT Message-ID: <547DFE94.6090307@cisco.com> Date: Tue, 02 Dec 2014 11:01:56 -0700 From: Ben Schumacher Organization: Cisco Systems, Inc. User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:31.0) Gecko/20100101 Thunderbird/31.2.0 MIME-Version: 1.0 To: acme@ietf.org References: <547DFC4B.9040408@cisco.com> In-Reply-To: <547DFC4B.9040408@cisco.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Archived-At: http://mailarchive.ietf.org/arch/msg/acme/osE6lBk8TjJrNiV6QGLSQQVQv3I Subject: Re: [Acme] acme in a firewalled environment X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 02 Dec 2014 18:01:57 -0000 On 12/2/14 10:52 AM, Eliot Lear wrote: > Question: > > Are the myriad of enterprise servers in scope for ACME? In those > environments it's not unreasonable to assume that a firewall exists to > prevent incoming connections, and DNS control is not available. In fact > split DNS might introduce all sorts of fun resolution issues even if > control is possible from the inside. Eliot- I would say it is probably out of scope, with regard to public CAs, but there is nothing that would prevent an enterprise-wide CA that could be ACME enabled. For example, ACME could be integrated into the Certificate Management functionality of your enterprise directory services / host management infrastructure. Thanks, Ben From nobody Tue Dec 2 10:05:16 2014 Return-Path: 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 7A0CC1A6F93 for ; Tue, 2 Dec 2014 10:05:13 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -3.647 X-Spam-Level: X-Spam-Status: No, score=-3.647 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HELO_MISMATCH_COM=0.553, RCVD_IN_DNSWL_MED=-2.3] 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 am4Sc-Z5ViSy for ; Tue, 2 Dec 2014 10:05:12 -0800 (PST) Received: from proper.com (Hoffman.Proper.COM [207.182.41.81]) (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 C75DA1A6F64 for ; Tue, 2 Dec 2014 10:05:11 -0800 (PST) Received: from [10.20.30.90] (142-254-17-119.dsl.dynamic.fusionbroadband.com [142.254.17.119]) (authenticated bits=0) by proper.com (8.14.9/8.14.7) with ESMTP id sB2I5A1H067100 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Tue, 2 Dec 2014 11:05:11 -0700 (MST) (envelope-from paul.hoffman@vpnc.org) X-Authentication-Warning: proper.com: Host 142-254-17-119.dsl.dynamic.fusionbroadband.com [142.254.17.119] claimed to be [10.20.30.90] From: Paul Hoffman Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Message-Id: Date: Tue, 2 Dec 2014 10:05:10 -0800 To: acme@ietf.org Mime-Version: 1.0 (Mac OS X Mail 8.1 \(1993\)) X-Mailer: Apple Mail (2.1993) Archived-At: http://mailarchive.ietf.org/arch/msg/acme/gX-yQtEd1DHSNxoqKelemRbWFYU Subject: [Acme] Why "HTTP verification" X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 02 Dec 2014 18:05:13 -0000 Greetings again. A few people have asked for HTTP-based verification for = the certificate request, but I'm not sure that is needed. Are there = environments where someone who will be able to stand up a server with a = CA-issued cert on HTTPS-over-443 could not stand up such a service with = a temporary self-issued cert? If not, what is the value of checking if = the person can control the content on port 80? --Paul Hoffman= From nobody Tue Dec 2 10:07:53 2014 Return-Path: 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 F25141A0392 for ; Tue, 2 Dec 2014 10:07:51 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.977 X-Spam-Level: X-Spam-Status: No, score=-1.977 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7] 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 wHnONL9amjWv for ; Tue, 2 Dec 2014 10:07:50 -0800 (PST) Received: from mail-vc0-f170.google.com (mail-vc0-f170.google.com [209.85.220.170]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id DE9FF1A6EE7 for ; Tue, 2 Dec 2014 10:07:49 -0800 (PST) Received: by mail-vc0-f170.google.com with SMTP id hy4so6116677vcb.15 for ; Tue, 02 Dec 2014 10:07:49 -0800 (PST) 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=l57jRCIrHekeJhxHvCbjtP+H99lc0URZRKUx/OX38gw=; b=ZysCJylmFhvwjnNKODzLgVcHPfcQK31szP0Uyo9JwpaNX0JcV3bYu3S/MRk0vraLQM Kqmf2Gky6ZS3dTZabAfKsWg8KHQT+h3vNFDOCA/6ShiIdq3UDB0EhF36+/N3JuUo8qAs T6nfP8gYJIF8wfC/3SHc05sN0xF2B4TRhDeVhZcXrnZmu5RrVSOfA5Aeae2ZxIk5CR6q S7d99/cclO3CFuHlYKwiA0asvi6Ra9aE4kQIn6RcYz+qBJmMp/NZA6XBzeOBCkbOCNtu +pDm1QQmEX9p1o0/JPjvbtYdhnbTVNJkzcOvgK4ueea3Ccu3K/ol+GegW12Yh4ythQ0u 43hg== X-Gm-Message-State: ALoCoQmF6kTVI4U43p6juaDhEmF34dYP/BowqBVN7eu1b6QqCocvVv27e1YOycsCEjKHzRLXvpCb MIME-Version: 1.0 X-Received: by 10.221.66.143 with SMTP id xq15mr430567vcb.35.1417543669091; Tue, 02 Dec 2014 10:07:49 -0800 (PST) Received: by 10.31.149.1 with HTTP; Tue, 2 Dec 2014 10:07:49 -0800 (PST) In-Reply-To: <547DFE94.6090307@cisco.com> References: <547DFC4B.9040408@cisco.com> <547DFE94.6090307@cisco.com> Date: Tue, 2 Dec 2014 10:07:49 -0800 Message-ID: From: Richard Barnes To: Ben Schumacher Content-Type: multipart/alternative; boundary=001a113608d2d9a31d05093f9aa3 Archived-At: http://mailarchive.ietf.org/arch/msg/acme/RRP-JK1soAGzMYcbAXssYIcKh4U Cc: "acme@ietf.org" Subject: Re: [Acme] acme in a firewalled environment X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 02 Dec 2014 18:07:52 -0000 --001a113608d2d9a31d05093f9aa3 Content-Type: text/plain; charset=UTF-8 Presumably, your web server (or whatever server you're going to use this cert for) is going to need to accept incoming connections. On Tue, Dec 2, 2014 at 10:01 AM, Ben Schumacher wrote: > On 12/2/14 10:52 AM, Eliot Lear wrote: > >> Question: >> >> Are the myriad of enterprise servers in scope for ACME? In those >> environments it's not unreasonable to assume that a firewall exists to >> prevent incoming connections, and DNS control is not available. In fact >> split DNS might introduce all sorts of fun resolution issues even if >> control is possible from the inside. >> > > Eliot- > > I would say it is probably out of scope, with regard to public CAs, but > there is nothing that would prevent an enterprise-wide CA that could be > ACME enabled. > > For example, ACME could be integrated into the Certificate Management > functionality of your enterprise directory services / host management > infrastructure. > > Thanks, > Ben > > _______________________________________________ > Acme mailing list > Acme@ietf.org > https://www.ietf.org/mailman/listinfo/acme > --001a113608d2d9a31d05093f9aa3 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Presumably, your web server (or whatever server you're= going to use this cert for) is going to need to accept incoming connection= s.

On Tu= e, Dec 2, 2014 at 10:01 AM, Ben Schumacher <bschumac@cisco.com> wrote:
On 12/2/14 10:52 AM, Eliot Lear wrote:
Question:

Are the myriad of enterprise servers in scope for ACME?=C2=A0 In those
environments it's not unreasonable to assume that a firewall exists to<= br> prevent incoming connections, and DNS control is not available.=C2=A0 In fa= ct
split DNS might introduce all sorts of fun resolution issues even if
control is possible from the inside.

Eliot-

I would say it is probably out of scope, with regard to public CAs, but the= re is nothing that would prevent an enterprise-wide CA that could be ACME e= nabled.

For example, ACME could be integrated into the Certificate Management funct= ionality of your enterprise directory services / host management infrastruc= ture.

Thanks,
Ben

_______________________________________________
Acme mailing list
Acme@ietf.org
ht= tps://www.ietf.org/mailman/listinfo/acme

--001a113608d2d9a31d05093f9aa3-- From nobody Tue Dec 2 10:28:01 2014 Return-Path: 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 0D1721A6FBC for ; Tue, 2 Dec 2014 10:27:59 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.278 X-Spam-Level: X-Spam-Status: No, score=-1.278 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FM_FORGED_GMAIL=0.622, FREEMAIL_FROM=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 lzL2b9zpDr8H for ; Tue, 2 Dec 2014 10:27:57 -0800 (PST) Received: from mail-la0-x22e.google.com (mail-la0-x22e.google.com [IPv6:2a00:1450:4010:c03::22e]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 7B8991A6F0D for ; Tue, 2 Dec 2014 10:27:56 -0800 (PST) Received: by mail-la0-f46.google.com with SMTP id q1so6166391lam.5 for ; Tue, 02 Dec 2014 10:27:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type:content-transfer-encoding; bh=aMfkeYPlkHHBZUJ5mLBVzBX/PUGdOFDjFV2t9MBOpwY=; b=wzao5hkLDnEX4/BkeYSJPefB9urMkIHxAbVelcy5RWWAyBItB8jGVfaHlXwpjJPQLt ykgzZ9tslRfBG7uDB0sYAV5Au2tWJrUGcLyKVRXZlxSmMjRABZaApiV1xQ4EcIuLfYa/ AXpM3ABydqdQx1Ek0lqbjDtteru3E5l+QzBtIBK1aTMpWcIzyeAWTFeVT5Q7/KJ4y0QI FveLKK3lP7ZRrFf6sWPLhd7oibA4ZNQiZJnyhKIlBFvcBcYmjRw2jrknqeqPbkOB2BqJ IyHmjdylfpW7S/s1fFfSOjuRmdt0XLv4W9nA8Ou0miZOOR6Q1rwnU2PlJYbpZBd7TfEj aj8w== MIME-Version: 1.0 X-Received: by 10.112.199.40 with SMTP id jh8mr596270lbc.5.1417544874967; Tue, 02 Dec 2014 10:27:54 -0800 (PST) Sender: hallam@gmail.com Received: by 10.112.19.42 with HTTP; Tue, 2 Dec 2014 10:27:54 -0800 (PST) In-Reply-To: References: <20141127211348.GE25114@mournblade.imrryr.org> <54784C61.2080508@cs.tcd.ie> <20141128170917.GC285@mournblade.imrryr.org> <88B49E1D-1601-4B86-8D93-14CF71501DFC@vpnc.org> <20141128213724.GG285@mournblade.imrryr.org> <7261AA75-5912-4514-A393-94F602C941C2@vpnc.org> <20141129170537.GK285@mournblade.imrryr.org> <20141202025438.GH285@mournblade.imrryr.org> Date: Tue, 2 Dec 2014 13:27:54 -0500 X-Google-Sender-Auth: T5G4vA1tJY9qqTUsjzbR-q8bqPM Message-ID: From: Phillip Hallam-Baker To: Paul Hoffman Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Archived-At: http://mailarchive.ietf.org/arch/msg/acme/6n4734pqRure0EsUC7K39sN_BPE Cc: "acme@ietf.org" Subject: Re: [Acme] kinds of proof X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 02 Dec 2014 18:27:59 -0000 On Tue, Dec 2, 2014 at 12:29 PM, Paul Hoffman wrote= : > Greetings. It seems that some people want ACME to force a higher level of= assurance on the protocol than those of us who are trying to get more auth= enticated encryption everywhere would want. Given that we still don't have = a published Internet Draft (ahem), it would be good to come to agreement ea= rly on what is going to be required. Well we don't have a draft from the LetsEncrypt folk. But we have a protocol for automated cert issue that has been in service for several years now. It is tested and works. We also have plug ins to integrate to all the major servers. This is a solved problem. The only new part is making the issue a standard so that the plugin gets integrated into the servers as native code. Which is of course key to making the automatic part easy to use. At the moment deployers have the following choices: 1) Install a certificate on their server following the instructions provided (20 APP per renewal) 2) Install a plug in that automates the installation and renewal (30 APP one time effort) If the plug in functionality is integrated to the server then the number of APP (Administrator Pain Points) decreases significantly, hopefully it becomes 5 APP or less. Now I am not suggesting that we simply take the Comodo protocol as is. It could probably use some work, people want JSON/REST type protocols (whatever that might mean). But we don't need to wait on some folk who have yet to set up a service to document their proposal. > A specific use case that is important to me is someone running a web serv= er on a commercial hoster should be able to get a TLS cert using ACME even = if the hoster does not have its own ACME support. The site admin in that ca= se should be able to run an ACME client on their laptop and be able to go t= hrough the ACME steps needed to get a cert that they can load into their we= b site, then tell the hoster to turn on port 443. That may be possible for the subset of cases where the commercial provider provides the necessary access. I am not sure how automatic it can be made without support from the hosting provider though. > If the hoster supports the ACME steps itself, the web admin might not eve= n need to do anything: the hoster can run ACME for them to get the cert. Gi= ven that hosters are always trying to cut customer service costs, ACME shou= ld allow hosters to automate the cert process to the point where no human i= nteraction is needed after the hoster decides "this site will now use HTTPS= ". If you want cooperation from the hosting providers then ACME has to be capable of meeting all the use cases of the providers. Which means EV and OV certs. It also means being capable of integrating with whatever account management tools they provide. > Proposal: > > - ACME clients and servers can be run without human interaction during th= e ACME exchange itself. All configuration can be done before the ACME clien= t initiates the session, as long as the system running the ACME client has = control over the service for which the certificate is being issued. A human= may need to make manual changes if their system does not have an ACME setu= p, but the ACME protocol supports full automation as well. Seems reasonable. > - A CA must verify that the system on which the ACME client is running ca= n control the service for which the certificate is being issued. Seems we are assuming a particular deployment model here. > - The system running the ACME client does not have to have control over t= he DNS service that controls the domain name being used in the requested ce= rtificate; however, particular DNS control can be required by policy by an = ACME server. Again seems like this is mechanism, not requirements. > - The ACME protocol has to have expressive enough semantics so that an AC= ME server can tell an ACME client in detail what policy is causing the ACME= server to reject a particular certificate request. That seems reasonable. Meeting that requirement could end up involving cases of the form 'Chosen CA can't issue cert because of CAA record, can't issue because there is a minimum validation policy of EV, can't issue because of a prior pinning requirement.' From nobody Tue Dec 2 10:36:46 2014 Return-Path: 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 8DCA81A6EE4 for ; Tue, 2 Dec 2014 10:36:43 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.278 X-Spam-Level: X-Spam-Status: No, score=-1.278 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FM_FORGED_GMAIL=0.622, FREEMAIL_FROM=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 OYJbOZ8Y7vvx for ; Tue, 2 Dec 2014 10:36:42 -0800 (PST) Received: from mail-la0-x236.google.com (mail-la0-x236.google.com [IPv6:2a00:1450:4010:c03::236]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 142531A1B21 for ; Tue, 2 Dec 2014 10:36:42 -0800 (PST) Received: by mail-la0-f54.google.com with SMTP id pv20so6523994lab.27 for ; Tue, 02 Dec 2014 10:36:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=MigF7ZWo92cDeaRHKNcnYStensTuC7GSxf6fY/1nV6o=; b=bx35slu0WB/ZqELB8sPDnBUZK/i8x5dgMIGLs2BVyVphswzgdDvsLRjvFo9Tav0uaY ZDaAbxkn0ZTS+XtYnSUqfJEnGkD46Lk4L+Cg8zvPwccF33S0a6QVrV4XMW5B6aPHCcwY Bj/sf379HWMHh3TI/y0kvhFyRi4DYuVl3UfEDtvzDfak3yNCxKy9XezmFlm5O3a7iSNT VGNkhYZK/vP5ttwluH99EYKnjk31j/3nUPSlfUonYRILx53TthXaikZEijYIrJ7Empbk CFFYPCd+Ak4+h2UBpjMFl6JoEnqlCAg1fzqsQtSPoO7vZM5HmeoYqoGOXHslpDgBe5+7 v8Nw== MIME-Version: 1.0 X-Received: by 10.112.162.101 with SMTP id xz5mr566703lbb.49.1417545400577; Tue, 02 Dec 2014 10:36:40 -0800 (PST) Sender: hallam@gmail.com Received: by 10.112.19.42 with HTTP; Tue, 2 Dec 2014 10:36:40 -0800 (PST) In-Reply-To: <547DFE94.6090307@cisco.com> References: <547DFC4B.9040408@cisco.com> <547DFE94.6090307@cisco.com> Date: Tue, 2 Dec 2014 13:36:40 -0500 X-Google-Sender-Auth: 6eIS7lH391fOsyD-iwCxv51tH7A Message-ID: From: Phillip Hallam-Baker To: Ben Schumacher Content-Type: text/plain; charset=UTF-8 Archived-At: http://mailarchive.ietf.org/arch/msg/acme/X8SOFm2KRB2noEf74XLv4x5etz0 Cc: "acme@ietf.org" Subject: Re: [Acme] acme in a firewalled environment X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 02 Dec 2014 18:36:43 -0000 I would assert that it is completely in scope because we have most experience of meeting this requirement. It is also the only model that is going to scale long term. Right now I have 20 services running on 5 servers in my house and I am an outlier. It won't be long before that is a commonplace situation for Internet of Things. The consumer use case is going to look very much like the enterprise. If you want encryption everywhere then you have to support a mechanism that allows one successful validation interaction to be amortized over multiple certificate subscriptions. It is easy enough to do. It is simply a matter of getting the architecture right. And that isn't too difficult since we have at least two tried and tested proprietary schemes that can be used as starting points (OK I don't speak for Symantec's willingness to contribute but Comodo would certainly like to be out of the server plug in maintenance game. On Tue, Dec 2, 2014 at 1:01 PM, Ben Schumacher wrote: > On 12/2/14 10:52 AM, Eliot Lear wrote: >> >> Question: >> >> Are the myriad of enterprise servers in scope for ACME? In those >> environments it's not unreasonable to assume that a firewall exists to >> prevent incoming connections, and DNS control is not available. In fact >> split DNS might introduce all sorts of fun resolution issues even if >> control is possible from the inside. > > > Eliot- > > I would say it is probably out of scope, with regard to public CAs, but > there is nothing that would prevent an enterprise-wide CA that could be ACME > enabled. > > For example, ACME could be integrated into the Certificate Management > functionality of your enterprise directory services / host management > infrastructure. > > Thanks, > Ben > > _______________________________________________ > Acme mailing list > Acme@ietf.org > https://www.ietf.org/mailman/listinfo/acme From nobody Tue Dec 2 10:40:18 2014 Return-Path: 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 A01DF1A6F0D for ; Tue, 2 Dec 2014 10:40:17 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.278 X-Spam-Level: X-Spam-Status: No, score=-1.278 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FM_FORGED_GMAIL=0.622, FREEMAIL_FROM=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 fVS8cIPlRX_q for ; Tue, 2 Dec 2014 10:40:16 -0800 (PST) Received: from mail-la0-x236.google.com (mail-la0-x236.google.com [IPv6:2a00:1450:4010:c03::236]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 73DD01A1BD4 for ; Tue, 2 Dec 2014 10:40:16 -0800 (PST) Received: by mail-la0-f54.google.com with SMTP id pv20so6529893lab.27 for ; Tue, 02 Dec 2014 10:40:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=YJy41/faOkog6CVQEDKcyIvIeLsqflRfjJ6jkVCTs4E=; b=ut35csurGTT2GBWmdyWQkj3HCClYUsmV1J/Y6xwSCoNiYDie3zHC9Oj7PEBHLOsqaq zouDdaLwwiPmJnkL9DC0fSGDK3BZ4xsnrlXRcouYF7+lhhr9UNYxLMpNdUrGnVDZoqBK mjxTLv5yhKVFZ3fJQfTsH0rXLxkgbbZhR4f1p/Zjg/pyhU6O+CZU4D0161y4LQVl8FdR 1szGdrrnRguv8kiZ6TLW7UfM7jIQlGEdHA35hNAs2kFeq4QuF/34WR55tpwwY4FBdz5P LXhjrXv91r1L9c1yREIspIkiunRja1eFJJbTjMmZvjATbgelfd5guVAxYF9NkoUzFeQl gPaw== MIME-Version: 1.0 X-Received: by 10.152.8.194 with SMTP id t2mr615598laa.21.1417545615007; Tue, 02 Dec 2014 10:40:15 -0800 (PST) Sender: hallam@gmail.com Received: by 10.112.19.42 with HTTP; Tue, 2 Dec 2014 10:40:14 -0800 (PST) In-Reply-To: References: <547DFC4B.9040408@cisco.com> <547DFE94.6090307@cisco.com> Date: Tue, 2 Dec 2014 13:40:14 -0500 X-Google-Sender-Auth: O0tdBczHv8mMTD8g-ZWjHrlOOJc Message-ID: From: Phillip Hallam-Baker To: Richard Barnes Content-Type: text/plain; charset=UTF-8 Archived-At: http://mailarchive.ietf.org/arch/msg/acme/GveJdTHRlIGAdaREKv-UpPAN_rA Cc: Ben Schumacher , "acme@ietf.org" Subject: Re: [Acme] acme in a firewalled environment X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 02 Dec 2014 18:40:17 -0000 On Tue, Dec 2, 2014 at 1:07 PM, Richard Barnes wrote: > Presumably, your web server (or whatever server you're going to use this > cert for) is going to need to accept incoming connections. You assume that this is all going to be driven by the Web Server that is going to use the certificate. That is a very limiting model. If I am starting a cloud service, I want to be able to give it all the data it needs to start when I tell it to spawn the virtual machine. From nobody Tue Dec 2 10:55:57 2014 Return-Path: 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 53F621A6FCF for ; Tue, 2 Dec 2014 10:55:56 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -2.61 X-Spam-Level: X-Spam-Status: No, score=-2.61 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7, 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 FVNsJuOkhFXy for ; Tue, 2 Dec 2014 10:55:54 -0800 (PST) Received: from prod-mail-xrelay07.akamai.com (prod-mail-xrelay07.akamai.com [72.246.2.115]) by ietfa.amsl.com (Postfix) with ESMTP id 7F14F1A6FC9 for ; Tue, 2 Dec 2014 10:55:54 -0800 (PST) Received: from prod-mail-xrelay07.akamai.com (localhost.localdomain [127.0.0.1]) by postfix.imss70 (Postfix) with ESMTP id B76C6475CB; Tue, 2 Dec 2014 18:55:53 +0000 (GMT) Received: from prod-mail-relay07.akamai.com (prod-mail-relay07.akamai.com [172.17.121.112]) by prod-mail-xrelay07.akamai.com (Postfix) with ESMTP id 8E1864755D; Tue, 2 Dec 2014 18:55:53 +0000 (GMT) Received: from email.msg.corp.akamai.com (usma1ex-cas3.msg.corp.akamai.com [172.27.123.32]) by prod-mail-relay07.akamai.com (Postfix) with ESMTP id 8A01280048; Tue, 2 Dec 2014 18:55:53 +0000 (GMT) Received: from usma1ex-cashub5.kendall.corp.akamai.com (172.27.105.21) by usma1ex-dag1mb2.msg.corp.akamai.com (172.27.123.102) with Microsoft SMTP Server (TLS) id 15.0.913.22; Tue, 2 Dec 2014 13:55:52 -0500 Received: from USMBX1.msg.corp.akamai.com ([169.254.1.15]) by USMA1EX-CASHUB5.kendall.corp.akamai.com ([172.27.105.21]) with mapi; Tue, 2 Dec 2014 13:55:52 -0500 From: "Salz, Rich" To: Phillip Hallam-Baker , Richard Barnes Date: Tue, 2 Dec 2014 13:55:52 -0500 Thread-Topic: [Acme] acme in a firewalled environment Thread-Index: AdAOX27k78fHLRstQXyIzhzIs9mVrAAABNjg Message-ID: <2A0EFB9C05D0164E98F19BB0AF3708C71D547A9BBD@USMBX1.msg.corp.akamai.com> References: <547DFC4B.9040408@cisco.com> <547DFE94.6090307@cisco.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: acceptlanguage: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Archived-At: http://mailarchive.ietf.org/arch/msg/acme/hZhviDNsKCTPzZmBaj6XIje47lc Cc: Ben Schumacher , "acme@ietf.org" Subject: Re: [Acme] acme in a firewalled environment X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 02 Dec 2014 18:55:56 -0000 > You assume that this is all going to be driven by the Web Server that is = going > to use the certificate. That is a very limiting model. Yes, that is the model. I don't think it's limiting. It's deliberately no= t all-encompassing. The first version of ACME should be very constrained to meet its initial re= quirements. We don't want to boil the ocean or address EV certs or enterpr= ise enrollment right away. There are many existing methods for doing those= things. If some proprietary offerings are brought forward, we should look= at reconciling them. Also, some folks have complained that there is no I-D yet. Really? Is it t= hat important to have an individual I-D submission before there's even been= a BoF about forming a WG? /r$ =20 From nobody Tue Dec 2 11:15:53 2014 Return-Path: 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 898511A6FDD for ; Tue, 2 Dec 2014 11:15:49 -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 G8RLJkX_0Xzh for ; Tue, 2 Dec 2014 11:15:43 -0800 (PST) Received: from mail-pd0-x22e.google.com (mail-pd0-x22e.google.com [IPv6:2607:f8b0:400e:c02::22e]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id E912C1A6FDE for ; Tue, 2 Dec 2014 11:15:40 -0800 (PST) Received: by mail-pd0-f174.google.com with SMTP id w10so13770019pde.33 for ; Tue, 02 Dec 2014 11:15:40 -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:content-transfer-encoding; bh=VGkzgDZWiz6ui7XFC1o22VmRWKYVLRQqMmV2MyQX63o=; b=lUWaRrL0kFK77+Mfa51SIx1L9H1mJqbr/kYAJ2naCcZ7A3S2JMoyAQaTA4RD1jpn1k lQC8sk5RaDxEZWYqi/hWSkNXgz7LALnUVyWJjo6X0KoIv6+wdYi+VwWXPBNLBlRvJQN4 8sx679VdaDHwosKiTXwDwwNprqASP19I7v1xgxnyTSVqohbSsrEaIth+81+9KhdC7YXL XYq/Pnly2pjTzJhIHReIu05Rahc8wYUXdST1e4ovjjRbCOnGkvQ1j4hIGL0kBTLpwe5K fAsjaHG0OhAjMWy045j/Brm9kj2QrnO4sHXHX7w/d629ffei15pzVfEFqfwCYpVfBPAD 2ZWg== MIME-Version: 1.0 X-Received: by 10.70.90.11 with SMTP id bs11mr1759322pdb.16.1417547740203; Tue, 02 Dec 2014 11:15:40 -0800 (PST) Received: by 10.70.76.10 with HTTP; Tue, 2 Dec 2014 11:15:40 -0800 (PST) In-Reply-To: References: Date: Tue, 2 Dec 2014 11:15:40 -0800 Message-ID: From: Peter Bowen To: Paul Hoffman Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Archived-At: http://mailarchive.ietf.org/arch/msg/acme/GYfJvemftHvOtiD9jnlTNe63eLA Cc: acme@ietf.org 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 02 Dec 2014 19:15:49 -0000 On Tue, Dec 2, 2014 at 10:05 AM, Paul Hoffman wrote= : > Greetings again. A few people have asked for HTTP-based verification for = the certificate request, but I'm not sure that is needed. Are there environ= ments where someone who will be able to stand up a server with a CA-issued = cert on HTTPS-over-443 could not stand up such a service with a temporary s= elf-issued cert? If not, what is the value of checking if the person can co= ntrol the content on port 80? 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. Thanks, Peter From nobody Tue Dec 2 11:23:28 2014 Return-Path: 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 1194B1A6F32 for ; Tue, 2 Dec 2014 11:23:22 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -14.51 X-Spam-Level: X-Spam-Status: No, score=-14.51 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01, USER_IN_DEF_DKIM_WL=-7.5] 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 ytg5JnElw6Jt for ; Tue, 2 Dec 2014 11:23:18 -0800 (PST) Received: from aer-iport-3.cisco.com (aer-iport-3.cisco.com [173.38.203.53]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id EB9B41A1BE9 for ; Tue, 2 Dec 2014 11:23:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=3111; q=dns/txt; s=iport; t=1417548198; x=1418757798; h=message-id:date:from:mime-version:to:cc:subject: references:in-reply-to; bh=dq8yHCwAL4HowdvPTB9iV203hGG8PH/MhbbM3hnJbtE=; b=PRRhANHAx6F4S/0LPROQDg+K7G1W2RDmRFZwbwfJJ7MzcPtJsF13S1fl cHajDm8MUtmw6GAfx0c3MqBK5Fo85Rwy6d25hS6YRNV4QnE8xH69i6kOo 2qR/VK6l8xNPL4cWv52nIX54kOBOhQrY4cgPq/uAAt/rGB0/asVFGmbEo E=; X-Files: signature.asc : 486 X-IronPort-AV: E=Sophos;i="5.07,502,1413244800"; d="asc'?scan'208,217";a="254081568" Received: from aer-iport-nat.cisco.com (HELO aer-core-1.cisco.com) ([173.38.203.22]) by aer-iport-3.cisco.com with ESMTP; 02 Dec 2014 19:23:15 +0000 Received: from [10.61.83.192] (ams3-vpn-dhcp5057.cisco.com [10.61.83.192]) by aer-core-1.cisco.com (8.14.5/8.14.5) with ESMTP id sB2JNFOv024318; Tue, 2 Dec 2014 19:23:15 GMT Message-ID: <547E11A2.1010209@cisco.com> Date: Tue, 02 Dec 2014 20:23:14 +0100 From: Eliot Lear User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 MIME-Version: 1.0 To: Richard Barnes , Ben Schumacher References: <547DFC4B.9040408@cisco.com> <547DFE94.6090307@cisco.com> In-Reply-To: Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="leC9Xm8Hj3L55kIPnQpaiLMnAVircFBhR" Archived-At: http://mailarchive.ietf.org/arch/msg/acme/auxoMGiC81nuEaUO6gBgCh7gyhg Cc: "acme@ietf.org" Subject: Re: [Acme] acme in a firewalled environment X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 02 Dec 2014 19:23:23 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --leC9Xm8Hj3L55kIPnQpaiLMnAVircFBhR Content-Type: multipart/alternative; boundary="------------060706060804000503000307" This is a multi-part message in MIME format. --------------060706060804000503000307 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On 12/2/14, 7:07 PM, Richard Barnes wrote: > Presumably, your web server (or whatever server you're going to use > this cert for) is going to need to accept incoming connections. Sure. I think the only additional protocol aspect here is discovery.=20 For the enterprise that case is easy (I think), which is to use an optional SRV record. From the service aspect, I do have another question, which is whether name constraints can be used in combination with an intermediate CA to avoid having to diddle browser cert caches.=20 ACME already supports them, so that's not a protocol thing. Eliot --------------060706060804000503000307 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
On 12/2/14, 7:07 PM, Richard Barnes wrote:
Presumably, your web server (or whatever server you're going to use this cert for) is going to need to accept incoming connections.

Sure.=C2=A0 I think the only additional protocol aspect here is discovery.=C2=A0 For the enterprise that case is easy (I think), whic= h is to use an optional SRV record.=C2=A0 From the service aspect, I do ha= ve another question, which is whether name constraints can be used in combination with an intermediate CA to avoid having to diddle browser cert caches.=C2=A0 ACME already supports them, so that's not = a protocol thing.

Eliot
--------------060706060804000503000307-- --leC9Xm8Hj3L55kIPnQpaiLMnAVircFBhR Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (Darwin) iQEcBAEBAgAGBQJUfhGiAAoJEIe2a0bZ0nozCWkH/2xvcv8+9PrOkfLYtlMumsGq rp2fab4oLkj9IPtKf+OAyvroZqIi0gjuOwnBliIsHihj6ZM2+ti/mPOMydRMOFsT tDEcdFP8Hu9Ig22zZA1mnrEQx2XyiTwFDYwBLH5FyjVUQuO9q/1Tz408kZqsnbwz Urq9vyse2fPLyj4AFagQBhFznPMn/18hGW2gbb6IWxbujezhwQvemuVTWfObdH0e T7GeW3CNy9BulQel1YVpkzeKvr7KvLtB/sBJlci7IqrKglSjb80DYAuMyKlRQqii C/KGvmRpDeDgzJ/7N+od43S9aq46ROKhq9+As9gcSalYSHxuqt2VXntgdWL5hCk= =wt4D -----END PGP SIGNATURE----- --leC9Xm8Hj3L55kIPnQpaiLMnAVircFBhR-- From nobody Tue Dec 2 11:36:31 2014 Return-Path: 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 AD4A71A1EF7 for ; Tue, 2 Dec 2014 11:36:29 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.9 X-Spam-Level: X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=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 Dq_zPcOFhY4v for ; Tue, 2 Dec 2014 11:36:26 -0800 (PST) Received: from mr11p24im-asmtp001.me.com (mr11p24im-asmtp001.me.com [17.110.78.41]) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 592651A6FE2 for ; Tue, 2 Dec 2014 11:36:26 -0800 (PST) Received: from Den (c-67-183-152-156.hsd1.wa.comcast.net [67.183.152.156]) by mr11p24im-asmtp001.me.com (Oracle Communications Messaging Server 7.0.5.33.0 64bit (built Aug 27 2014)) with ESMTPSA id <0NFY00M50ZSN9K10@mr11p24im-asmtp001.me.com> for acme@ietf.org; Tue, 02 Dec 2014 19:36:25 +0000 (GMT) X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:5.13.68,1.0.33,0.0.0000 definitions=2014-12-02_08:2014-12-02,2014-12-02,1970-01-01 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 suspectscore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=7.0.1-1408290000 definitions=main-1412020167 From: Trevor Freeman To: 'Paul Hoffman' , acme@ietf.org References: <20141127211348.GE25114@mournblade.imrryr.org> <54784C61.2080508@cs.tcd.ie> <20141128170917.GC285@mournblade.imrryr.org> <88B49E1D-1601-4B86-8D93-14CF71501DFC@vpnc.org> <20141128213724.GG285@mournblade.imrryr.org> <7261AA75-5912-4514-A393-94F602C941C2@vpnc.org> <20141129170537.GK285@mournblade.imrryr.org> <20141202025438.GH285@mournblade.imrryr.org> In-reply-to: Date: Tue, 02 Dec 2014 11:36:18 -0800 Message-id: <007501d00e67$3f0b2620$bd217260$@icloud.com> MIME-version: 1.0 Content-type: multipart/alternative; boundary="----=_NextPart_000_0076_01D00E24.30EE00A0" X-Mailer: Microsoft Outlook 14.0 Thread-index: AQGSAWoMOWbPM63Lg/bucBKRIHyRQwI/XhhvAhyJYcsBIF/JYQKjNS8FAafZ1toB1+EZBQGt8DVOAc9pp/8CXEbkjQJll7srAw5ul9gBnkNCnJw0bKgg Content-language: en-us Archived-At: http://mailarchive.ietf.org/arch/msg/acme/pdoSyhnykSvrKOj3v_Ppjx1X5T4 Subject: Re: [Acme] kinds of proof X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 02 Dec 2014 19:36:29 -0000 This is a multipart message in MIME format. ------=_NextPart_000_0076_01D00E24.30EE00A0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit -----Original Message----- From: Acme [mailto:acme-bounces@ietf.org] On Behalf Of Paul Hoffman Sent: Tuesday, December 02, 2014 9:30 AM To: acme@ietf.org Subject: Re: [Acme] kinds of proof Greetings. It seems that some people want ACME to force a higher level of assurance on the protocol than those of us who are trying to get more authenticated encryption everywhere would want. Given that we still don't have a published Internet Draft (ahem), it would be good to come to agreement early on what is going to be required. A specific use case that is important to me is someone running a web server on a commercial hoster should be able to get a TLS cert using ACME even if the hoster does not have its own ACME support. The site admin in that case should be able to run an ACME client on their laptop and be able to go through the ACME steps needed to get a cert that they can load into their web site, then tell the hoster to turn on port 443. If the hoster supports the ACME steps itself, the web admin might not even need to do anything: the hoster can run ACME for them to get the cert. Given that hosters are always trying to cut customer service costs, ACME should allow hosters to automate the cert process to the point where no human interaction is needed after the hoster decides "this site will now use HTTPS". Proposal: - ACME clients and servers can be run without human interaction during the ACME exchange itself. All configuration can be done before the ACME client initiates the session, as long as the system running the ACME client has control over the service for which the certificate is being issued. A human may need to make manual changes if their system does not have an ACME setup, but the ACME protocol supports full automation as well. [TF] Totally agree with the sentiment. However each ACME client will need some minimal configuration and I stress minimal. I would submit it should be possible to use: 1. The URL of the ACME server 2. An authenticator to prove this request belongs to a DV RA That is all we need. The ACME client should be able to use this data to learn when type of request(s) to build, what parameters to use, then summit the request with a high confidence it will success because it used the information from the ACME server to build the request, and install the certified once issued. The small the bootstrap data set, the less scope for misstates when repeating across multiple ACME clients. - A CA must verify that the system on which the ACME client is running can control the service for which the certificate is being issued. [TF] The ACME server would have previously verified the DV RA. The biding between the RA and the individual request is a form of delegations i.e. this request belongs to the DV RA. - The system running the ACME client does not have to have control over the DNS service that controls the domain name being used in the requested certificate; however, particular DNS control can be required by policy by an ACME server. [TF] This relates to the type of proof and scope the DV RA used. If the DV RA used a DNS based POC then the CA can issue names in any subdomain i.e. if you validated foo.com then you can issue *.foo.com. If the POC was to a specific URL, then the ACME server can only issue to that same domain name. - The ACME protocol has to have expressive enough semantics so that an ACME server can tell an ACME client in detail what policy is causing the ACME server to reject a particular certificate request. [TF] an ACME server can tell an ACME client in detail what is causing the ACME server to reject a particular certificate request. Let's not assume the only failures are policy. _______________________________________________ Acme mailing list Acme@ietf.org https://www.ietf.org/mailman/listinfo/acme ------=_NextPart_000_0076_01D00E24.30EE00A0 Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable

 

 

-----Original Message-----
From: Acme = [mailto:acme-bounces@ietf.org] On Behalf Of Paul Hoffman
Sent: = Tuesday, December 02, 2014 9:30 AM
To: acme@ietf.org
Subject: Re: = [Acme] kinds of proof

 

Greetings. It seems that some people want ACME to = force a higher level of assurance on the protocol than those of us who = are trying to get more authenticated encryption everywhere would want. = Given that we still don't have a published Internet Draft (ahem), it = would be good to come to agreement early on what is going to be = required.

 

A specific use case that is important to me is = someone running a web server on a commercial hoster should be able to = get a TLS cert using ACME even if the hoster does not have its own ACME = support. The site admin in that case should be able to run an ACME = client on their laptop and be able to go through the ACME steps needed = to get a cert that they can load into their web site, then tell the = hoster to turn on port 443.

 

If the = hoster supports the ACME steps itself, the web admin might not even need = to do anything: the hoster can run ACME for them to get the cert. Given = that hosters are always trying to cut customer service costs, ACME = should allow hosters to automate the cert process to the point where no = human interaction is needed after the hoster decides "this site = will now use HTTPS".

 

Proposal:

 

- ACME = clients and servers can be run without human interaction during the ACME = exchange itself. All configuration can be done before the ACME client = initiates the session, as long as the system running the ACME client has = control over the service for which the certificate is being issued. A = human may need to make manual changes if their system does not have an = ACME setup, but the ACME protocol supports full automation as = well.

[TF] Totally agree with the sentiment. However = each ACME client will need some minimal configuration and I stress = minimal. I would submit it should be possible to = use:

1.       = The URL of the ACME = server

2.       = An authenticator to prove this request belongs to = a DV RA

That is all we need. The ACME client should be = able to use this data to learn when type of request(s) to build, what = parameters to use, then summit the request with a high confidence it = will success because it used the information from the ACME server to = build the request, and install the certified once issued. The small the = bootstrap data set, the less scope for misstates when repeating across = multiple ACME clients.

 

- A CA = must verify that the system on which the ACME client is running can = control the service for which the certificate is being = issued.

[TF] The ACME server would have previously = verified the DV RA. The biding between the RA and the individual request = is a form of delegations i.e. this request belongs to the DV RA. =

 

- The = system running the ACME client does not have to have control over the = DNS service that controls the domain name being used in the requested = certificate; however, particular DNS control can be required by policy = by an ACME server.

[TF] This relates to the type of proof and scope = the DV RA used. If the DV RA used a DNS based POC then the CA can issue = names in any subdomain i.e. if you validated foo.com then you can issue = *.foo.com. If the POC was to a specific URL, then the ACME server can = only issue to that same domain name.

 

- The = ACME protocol has to have expressive enough semantics so that an ACME = server can tell an ACME client in detail what policy is causing the ACME = server to reject a particular certificate request.

[TF] an ACME = server can tell an ACME client in detail what is causing the ACME server = to reject a particular certificate request.  Let’s not assume = the only failures are policy.

 

 

_______________________________________________=

Acme mailing list

Acme@ietf.org<= o:p>

https://www.ietf.org/mail= man/listinfo/acme

------=_NextPart_000_0076_01D00E24.30EE00A0-- From nobody Tue Dec 2 11:44:46 2014 Return-Path: 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 4002C1A1F16 for ; Tue, 2 Dec 2014 11:44:44 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.9 X-Spam-Level: X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9] 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 9j4dKsZ_U8Hj for ; Tue, 2 Dec 2014 11:44:43 -0800 (PST) Received: from mournblade.imrryr.org (mournblade.imrryr.org [38.117.134.19]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id F1CA41A1EF7 for ; Tue, 2 Dec 2014 11:44:42 -0800 (PST) Received: by mournblade.imrryr.org (Postfix, from userid 1034) id 08F4C282FD0; Tue, 2 Dec 2014 19:44:42 +0000 (UTC) Date: Tue, 2 Dec 2014 19:44:42 +0000 From: Viktor Dukhovni To: acme@ietf.org Message-ID: <20141202194441.GA285@mournblade.imrryr.org> References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.23 (2014-03-12) Archived-At: http://mailarchive.ietf.org/arch/msg/acme/BBiScYgexy0C1mjDj95TzLSQqhw Subject: Re: [Acme] Why "HTTP verification" X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: acme@ietf.org List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 02 Dec 2014 19:44:44 -0000 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. [ Nobody has taken me up on discussing the question of whether unauthenticated leap-of-faith by the CA is appropriate when the domain is DNSSEC signed. With signed domains verification of actual DNS control is substantially stronger than the other methods (unauthenticated email, or unauthenticated HTTP). I hope this ultimately gets discussed. ] -- Viktor. From nobody Tue Dec 2 12:43:35 2014 Return-Path: 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 19AB51A1DE1 for ; Tue, 2 Dec 2014 12:43:34 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -6.91 X-Spam-Level: X-Spam-Status: No, score=-6.91 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, 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 W0dOpNtAHWrS for ; Tue, 2 Dec 2014 12:43:33 -0800 (PST) Received: from ran.psg.com (ran.psg.com [198.180.150.18]) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 16EAA1A1B5A for ; Tue, 2 Dec 2014 12:43:33 -0800 (PST) Received: from localhost ([127.0.0.1] helo=ryuu.psg.com.psg.com) by ran.psg.com with esmtp (Exim 4.82) (envelope-from ) id 1XvuIF-0003JL-Aq for acme@ietf.org; Tue, 02 Dec 2014 20:43:31 +0000 Date: Wed, 03 Dec 2014 05:43:30 +0900 Message-ID: From: Randy Bush To: acme In-Reply-To: References: <20141127211348.GE25114@mournblade.imrryr.org> <54784C61.2080508@cs.tcd.ie> <20141128170917.GC285@mournblade.imrryr.org> <88B49E1D-1601-4B86-8D93-14CF71501DFC@vpnc.org> <20141128213724.GG285@mournblade.imrryr.org> <7261AA75-5912-4514-A393-94F602C941C2@vpnc.org> <20141129170537.GK285@mournblade.imrryr.org> <20141202025438.GH285@mournblade.imrryr.org> User-Agent: Wanderlust/2.15.9 (Almost Unreal) Emacs/22.3 Mule/5.0 (SAKAKI) MIME-Version: 1.0 (generated by SEMI 1.14.7 - "Harue") Content-Type: text/plain; charset=US-ASCII Archived-At: http://mailarchive.ietf.org/arch/msg/acme/h1Z8WGp2r7crVmkJ_cyLB6VDopQ Subject: Re: [Acme] kinds of proof X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 02 Dec 2014 20:43:34 -0000 [ statement of obvious ] if the goal is merely to enable OE, then self signed will do. [ personally, i trust a self-signed cert about as much as one descending from one of the 300+ cas who paid to be installed in the browser. ] "oh, but we want the browser (or mail client or ...) indicator to turn green." well then, we need to agree on what that green indicator means (swamp 1), and then how to 'prove' that the certificate requestor meets those criteria (swamp 2), and how that proof continues in time. i am not seeing simple clear guidance through either swamp. randy From nobody Tue Dec 2 13:41:50 2014 Return-Path: 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 B54521A1A48 for ; Tue, 2 Dec 2014 13:41:45 -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 Ys_WSgnbY_vn for ; Tue, 2 Dec 2014 13:41:43 -0800 (PST) Received: from mail-pa0-x231.google.com (mail-pa0-x231.google.com [IPv6:2607:f8b0:400e:c03::231]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id BA3F01A1B11 for ; Tue, 2 Dec 2014 13:41:42 -0800 (PST) Received: by mail-pa0-f49.google.com with SMTP id eu11so14261014pac.36 for ; Tue, 02 Dec 2014 13:41:41 -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 :content-type; bh=Dd/TrAg9N1nZJs2+1nMpjHgbjmKcdoolsi7irsOwhxQ=; b=JBe8lFZACEm+D0AdhyO5HFXPFKwv9ihea21zBQUhe/nK/BSKohbe/8HyqT66gtI2Nc Asvv+FwsyxIcJmiN4EnU3/EIBYIdMFiaVrOFec05rhZeWRLUhqHxj9ESDg5+/CavsdaY X7X2HhVdE492/RfoheztDYcka1rT4jwM8ntvgRpRUk7a9tcoh/FW2TE0dqIFxJY3icRV 5Yaoc9dYMZTbZvX3Gv6o67eOtkKrNl+rAhBrOvbkPoeWuNYpFaMjR2FzuUxopQBsE+e5 DtkHk8s8HoKkdA4xErdcRZxAMX0CoEZbLKTiDzBfZ4qiYsDDQNJ0ySNt2WEdauJpW1Ef XnXQ== MIME-Version: 1.0 X-Received: by 10.70.20.129 with SMTP id n1mr2200055pde.135.1417556501598; Tue, 02 Dec 2014 13:41:41 -0800 (PST) Received: by 10.70.76.10 with HTTP; Tue, 2 Dec 2014 13:41:41 -0800 (PST) In-Reply-To: <20141202194441.GA285@mournblade.imrryr.org> References: <20141202194441.GA285@mournblade.imrryr.org> Date: Tue, 2 Dec 2014 13:41:41 -0800 Message-ID: From: Peter Bowen To: acme@ietf.org Content-Type: text/plain; charset=UTF-8 Archived-At: http://mailarchive.ietf.org/arch/msg/acme/i3tZGenwBUEpkHzCsWkdhpHEd9o 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 02 Dec 2014 21:41:45 -0000 On Tue, Dec 2, 2014 at 11:44 AM, Viktor Dukhovni 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 From nobody Tue Dec 2 13:53:53 2014 Return-Path: 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 5CA751A6FB6 for ; Tue, 2 Dec 2014 13:53:52 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.278 X-Spam-Level: X-Spam-Status: No, score=-1.278 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FM_FORGED_GMAIL=0.622, FREEMAIL_FROM=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 cySc9Z7eEODp for ; Tue, 2 Dec 2014 13:53:51 -0800 (PST) Received: from mail-lb0-x234.google.com (mail-lb0-x234.google.com [IPv6:2a00:1450:4010:c04::234]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id F3F7B1A6F40 for ; Tue, 2 Dec 2014 13:53:50 -0800 (PST) Received: by mail-lb0-f180.google.com with SMTP id l4so10989744lbv.39 for ; Tue, 02 Dec 2014 13:53:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=b9CNTHM4fRymfoUB1ghtbO6D1u75ydFP2oysXdDcIzg=; b=aQYLYF2BDjncGG9/XvUi6QSM2XBWc8uE7NZ4vHbKMmKCYH1aIQIMJcKkack1q+MBYG fKGV8pmbAfKIErxXdwfADJ5rhV3i/N5zSZK1VRCvYDOyRXQAPwAc68TK/wjW1tugvpnD 3VldlScLi8huyzZf0O65s/Gyw+FC60EMQYbHFiKx3AQEduWUdOZme4Bpqy7UztyEK6yb ilj7oWGc1s3IapwBuCfBVJbC2Qe7GetNKU8xW1Iw8HH48SCGL6XiudAABjyROLs2NpvT /4pB5GRQitHTAh9NVS+WRW1n6abKTMYnQy+Ll1kb851GDcdXPZ+BD5K+xR5QOpBCwOs6 AVnA== MIME-Version: 1.0 X-Received: by 10.152.116.79 with SMTP id ju15mr1318251lab.84.1417557229233; Tue, 02 Dec 2014 13:53:49 -0800 (PST) Sender: hallam@gmail.com Received: by 10.112.19.42 with HTTP; Tue, 2 Dec 2014 13:53:49 -0800 (PST) In-Reply-To: References: <20141202194441.GA285@mournblade.imrryr.org> Date: Tue, 2 Dec 2014 16:53:49 -0500 X-Google-Sender-Auth: v0gkImTnAWysdxxzgHV_dE7z3C0 Message-ID: From: Phillip Hallam-Baker To: Peter Bowen Content-Type: text/plain; charset=UTF-8 Archived-At: http://mailarchive.ietf.org/arch/msg/acme/kcJ_V5m-vHvxHiMPzZZsYPWdEk0 Cc: "acme@ietf.org" 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 02 Dec 2014 21:53:52 -0000 On Tue, Dec 2, 2014 at 4:41 PM, Peter Bowen wrote: > On Tue, Dec 2, 2014 at 11:44 AM, Viktor Dukhovni 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. Absolutely! Rotating the private key is one of the biggest potential wins here. There are good reasons for not rotating keys on Key Signing Certs in certain situations but the only reason it doesn't get done on end entity certs is the problematic management protocols. Automating the issue means we can drop the cert lifetime. From nobody Tue Dec 2 14:36:40 2014 Return-Path: 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 408E81A1AC9 for ; Tue, 2 Dec 2014 14:36:38 -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 TuTT6D9kLxSi for ; Tue, 2 Dec 2014 14:36:37 -0800 (PST) Received: from mail-oi0-x234.google.com (mail-oi0-x234.google.com [IPv6:2607:f8b0:4003:c06::234]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 2DE6B1A1A6E for ; Tue, 2 Dec 2014 14:36:26 -0800 (PST) Received: by mail-oi0-f52.google.com with SMTP id h136so9750771oig.25 for ; Tue, 02 Dec 2014 14:36:25 -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=nQZjOTgflei54RVorB60MK8ETek7h2naw8V9HTt/AX4=; b=RVukj5YpelY03rVoEbiIzapp9mnd2+AsDsykAZZ3c9hMnlW3Js2tn0fS+eo1NyizBk DFwulaLyVyhiWxLpGSET/1FUqykZsE6jNUkCXJ/axL3WsYKiLa+NPasKV2Db9/e9JK3d P+OjcOn831KR/cIfeeuQqRvp2BGl1NAcBJkISB8gkNtAbDJ+CCZHnto/WcyoREDeejQg 8DRTLukq5YFhQi2H/+1pW7DvoxOg/06XDGF+DXo1PvN8L5KQ9plmb1GZolZfpLrVcSSf EfVuaGdvA4CjN/wwPp/9/hvOyZ10pz7AZcG7QPA453cGiqL/J5t7PIyb3IC3xpIHZdxp +H1A== MIME-Version: 1.0 X-Received: by 10.202.168.204 with SMTP id r195mr1108205oie.72.1417559785445; Tue, 02 Dec 2014 14:36:25 -0800 (PST) Received: by 10.202.115.4 with HTTP; Tue, 2 Dec 2014 14:36:25 -0800 (PST) In-Reply-To: References: <20141127211348.GE25114@mournblade.imrryr.org> <54784C61.2080508@cs.tcd.ie> <20141128170917.GC285@mournblade.imrryr.org> <88B49E1D-1601-4B86-8D93-14CF71501DFC@vpnc.org> <20141128213724.GG285@mournblade.imrryr.org> <7261AA75-5912-4514-A393-94F602C941C2@vpnc.org> <20141129170537.GK285@mournblade.imrryr.org> <20141202025438.GH285@mournblade.imrryr.org> Date: Tue, 2 Dec 2014 14:36:25 -0800 Message-ID: From: Martin Thomson To: Randy Bush Content-Type: text/plain; charset=UTF-8 Archived-At: http://mailarchive.ietf.org/arch/msg/acme/V-5cTiJ9SrBKcv5F5WMiyOySj0A Cc: acme Subject: Re: [Acme] kinds of proof X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 02 Dec 2014 22:36:38 -0000 On 2 December 2014 at 12:43, Randy Bush wrote: > i am not seeing simple clear guidance through either swamp. I am not seeking guidance through either swamp either. From nobody Tue Dec 2 15:02:38 2014 Return-Path: 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 448CA1A1BCA for ; Tue, 2 Dec 2014 15:02:35 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.91 X-Spam-Level: X-Spam-Status: No, score=-1.91 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, 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 8mX8FMKIK28U for ; Tue, 2 Dec 2014 15:02:32 -0800 (PST) Received: from mercury.scss.tcd.ie (mercury.scss.tcd.ie [134.226.56.6]) by ietfa.amsl.com (Postfix) with ESMTP id 51F481A1BFB for ; Tue, 2 Dec 2014 15:02:23 -0800 (PST) Received: from localhost (localhost [127.0.0.1]) by mercury.scss.tcd.ie (Postfix) with ESMTP id 84922BEDB; Tue, 2 Dec 2014 23:01:58 +0000 (GMT) X-Virus-Scanned: Debian amavisd-new at scss.tcd.ie Received: from mercury.scss.tcd.ie ([127.0.0.1]) by localhost (mercury.scss.tcd.ie [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 8px_xJZ5E_ng; Tue, 2 Dec 2014 23:01:57 +0000 (GMT) Received: from [10.128.160.222] (unknown [212.76.224.120]) by mercury.scss.tcd.ie (Postfix) with ESMTPSA id A2DBEBEC0; Tue, 2 Dec 2014 23:01:56 +0000 (GMT) Message-ID: <547E44E4.4020403@cs.tcd.ie> Date: Tue, 02 Dec 2014 23:01:56 +0000 From: Stephen Farrell User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.2.0 MIME-Version: 1.0 To: "Salz, Rich" , Phillip Hallam-Baker , Richard Barnes References: <547DFC4B.9040408@cisco.com> <547DFE94.6090307@cisco.com> <2A0EFB9C05D0164E98F19BB0AF3708C71D547A9BBD@USMBX1.msg.corp.akamai.com> In-Reply-To: <2A0EFB9C05D0164E98F19BB0AF3708C71D547A9BBD@USMBX1.msg.corp.akamai.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Archived-At: http://mailarchive.ietf.org/arch/msg/acme/Xx2MuMYzj9Ln1NxeakvhwLJ3mE8 Cc: Ben Schumacher , "acme@ietf.org" Subject: Re: [Acme] acme in a firewalled environment X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 02 Dec 2014 23:02:35 -0000 Hi Rich, On 02/12/14 18:55, Salz, Rich wrote: > Is it that important to have an individual I-D submission before > there's even been a BoF about forming a WG? Sometimes it is, e.g. IPR and all that. Now while I'd be hopeful, since I know the proponents well, that's not going to be true for all the folks who might be interested in the proposal and who prefer .well-known IPR arrangements. S. From nobody Tue Dec 2 15:02:39 2014 Return-Path: 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 928741A1BF2 for ; Tue, 2 Dec 2014 15:02:35 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.91 X-Spam-Level: X-Spam-Status: No, score=-1.91 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, 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 39yUQvGcg39j for ; Tue, 2 Dec 2014 15:02:32 -0800 (PST) Received: from mercury.scss.tcd.ie (mercury.scss.tcd.ie [134.226.56.6]) by ietfa.amsl.com (Postfix) with ESMTP id 51F7A1A1C04 for ; Tue, 2 Dec 2014 15:02:23 -0800 (PST) Received: from localhost (localhost [127.0.0.1]) by mercury.scss.tcd.ie (Postfix) with ESMTP id 22D8ABEDC; Tue, 2 Dec 2014 23:01:58 +0000 (GMT) X-Virus-Scanned: Debian amavisd-new at scss.tcd.ie Received: from mercury.scss.tcd.ie ([127.0.0.1]) by localhost (mercury.scss.tcd.ie [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id VMc08y2z6CQZ; Tue, 2 Dec 2014 23:01:57 +0000 (GMT) Received: from [10.128.160.222] (unknown [212.76.224.120]) by mercury.scss.tcd.ie (Postfix) with ESMTPSA id AF01BBEDB; Tue, 2 Dec 2014 23:01:56 +0000 (GMT) Message-ID: <547E44E4.5050704@cs.tcd.ie> Date: Tue, 02 Dec 2014 23:01:56 +0000 From: Stephen Farrell User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.2.0 MIME-Version: 1.0 To: "Salz, Rich" , Phillip Hallam-Baker , Richard Barnes References: <547DFC4B.9040408@cisco.com> <547DFE94.6090307@cisco.com> <2A0EFB9C05D0164E98F19BB0AF3708C71D547A9BBD@USMBX1.msg.corp.akamai.com> In-Reply-To: <2A0EFB9C05D0164E98F19BB0AF3708C71D547A9BBD@USMBX1.msg.corp.akamai.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Archived-At: http://mailarchive.ietf.org/arch/msg/acme/QEo4rWRutMBDn17oZWruMtHtoc0 Cc: Ben Schumacher , "acme@ietf.org" Subject: Re: [Acme] acme in a firewalled environment X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 02 Dec 2014 23:02:35 -0000 Hi Rich, On 02/12/14 18:55, Salz, Rich wrote: > Is it that important to have an individual I-D submission before > there's even been a BoF about forming a WG? Sometimes it is, e.g. IPR and all that. Now while I'd be hopeful, since I know the proponents well, that's not going to be true for all the folks who might be interested in the proposal and who prefer .well-known IPR arrangements. S. From nobody Tue Dec 2 15:08:38 2014 Return-Path: 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 A386A1A1A90 for ; Tue, 2 Dec 2014 15:08:35 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.278 X-Spam-Level: X-Spam-Status: No, score=-1.278 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FM_FORGED_GMAIL=0.622, FREEMAIL_FROM=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 bZBGrgT0efmm for ; Tue, 2 Dec 2014 15:08:34 -0800 (PST) Received: from mail-la0-x22e.google.com (mail-la0-x22e.google.com [IPv6:2a00:1450:4010:c03::22e]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A99A21A1A6B for ; Tue, 2 Dec 2014 15:08:33 -0800 (PST) Received: by mail-la0-f46.google.com with SMTP id q1so6619918lam.19 for ; Tue, 02 Dec 2014 15:08:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=O5+yotYJmc6tkfJREICsdMG0X3ilwoU8Bv5k+oj4msk=; b=EKo606CMGvWLqToQkvjFFeLALHeZ7qdWtTTLJ7g5O++mD8en+hTzjh3rB93GFpuoCc 5ugszRDxrBqYbS5GJB/gq3tC6id22t9pcE37xJeoKfjcilH4hjrhlYCeja3kfp/fykbq fYsUYcxJyrbsw4QEinANdBAhMdIlZa8Nx25m9n+c/eiEZis/eGQn28r6DWPyNaXEE6TT s0ZFEh4jSW61Fab3uu65J7Xrv32erR8gogSoDvWsK9fYUZJnzxXOniDQDMzsWmZV0Hiw 3TwrTGXQbtSRAJmf74JHeovULAqGlJNSnpslYbnh08CRie2KZlk3QxYSzpcUl4cxBsPm m67g== MIME-Version: 1.0 X-Received: by 10.112.162.101 with SMTP id xz5mr1466130lbb.49.1417561711597; Tue, 02 Dec 2014 15:08:31 -0800 (PST) Sender: hallam@gmail.com Received: by 10.112.19.42 with HTTP; Tue, 2 Dec 2014 15:08:31 -0800 (PST) In-Reply-To: <547E44E4.4020403@cs.tcd.ie> References: <547DFC4B.9040408@cisco.com> <547DFE94.6090307@cisco.com> <2A0EFB9C05D0164E98F19BB0AF3708C71D547A9BBD@USMBX1.msg.corp.akamai.com> <547E44E4.4020403@cs.tcd.ie> Date: Tue, 2 Dec 2014 18:08:31 -0500 X-Google-Sender-Auth: 41CF-EJB3ZjfFsVLuHDLfHm7Kp4 Message-ID: From: Phillip Hallam-Baker To: Stephen Farrell Content-Type: text/plain; charset=UTF-8 Archived-At: http://mailarchive.ietf.org/arch/msg/acme/h8d3Kq2d0_W-9iwfLKE8OLHRxJc Cc: Richard Barnes , "Salz, Rich" , "acme@ietf.org" , Ben Schumacher Subject: Re: [Acme] acme in a firewalled environment X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 02 Dec 2014 23:08:36 -0000 On Tue, Dec 2, 2014 at 6:01 PM, Stephen Farrell wrote: > > Hi Rich, > > On 02/12/14 18:55, Salz, Rich wrote: >> Is it that important to have an individual I-D submission before >> there's even been a BoF about forming a WG? > > Sometimes it is, e.g. IPR and all that. Now while I'd be hopeful, > since I know the proponents well, that's not going to be true > for all the folks who might be interested in the proposal and > who prefer .well-known IPR arrangements. I think you have the wrong model of where the IPR problems are likely to come from. I very much doubt that the proposers of the ACME protocol will establish a patent claim in the protocol. But that does not mean that others haven't done so already. From nobody Tue Dec 2 15:13:09 2014 Return-Path: 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 483581A1A90 for ; Tue, 2 Dec 2014 15:13:05 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.91 X-Spam-Level: X-Spam-Status: No, score=-1.91 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, 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 mE2jVTegm00s for ; Tue, 2 Dec 2014 15:12:53 -0800 (PST) Received: from mercury.scss.tcd.ie (mercury.scss.tcd.ie [134.226.56.6]) by ietfa.amsl.com (Postfix) with ESMTP id C52E21A1BCA for ; Tue, 2 Dec 2014 15:12:28 -0800 (PST) Received: from localhost (localhost [127.0.0.1]) by mercury.scss.tcd.ie (Postfix) with ESMTP id 35815BEC4; Tue, 2 Dec 2014 23:12:28 +0000 (GMT) X-Virus-Scanned: Debian amavisd-new at scss.tcd.ie Received: from mercury.scss.tcd.ie ([127.0.0.1]) by localhost (mercury.scss.tcd.ie [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id TBZaHb9MchDl; Tue, 2 Dec 2014 23:12:26 +0000 (GMT) Received: from [10.128.160.222] (unknown [212.76.224.120]) by mercury.scss.tcd.ie (Postfix) with ESMTPSA id 9CCE5BEC0; Tue, 2 Dec 2014 23:12:26 +0000 (GMT) Message-ID: <547E475A.5030803@cs.tcd.ie> Date: Tue, 02 Dec 2014 23:12:26 +0000 From: Stephen Farrell User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.2.0 MIME-Version: 1.0 To: Phillip Hallam-Baker References: <547DFC4B.9040408@cisco.com> <547DFE94.6090307@cisco.com> <2A0EFB9C05D0164E98F19BB0AF3708C71D547A9BBD@USMBX1.msg.corp.akamai.com> <547E44E4.4020403@cs.tcd.ie> In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Archived-At: http://mailarchive.ietf.org/arch/msg/acme/Rp6fEVke8amKC7-rXbObV5HbRT4 Cc: Richard Barnes , "Salz, Rich" , "acme@ietf.org" , Ben Schumacher Subject: Re: [Acme] acme in a firewalled environment X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 02 Dec 2014 23:13:05 -0000 On 02/12/14 23:08, Phillip Hallam-Baker wrote: > On Tue, Dec 2, 2014 at 6:01 PM, Stephen Farrell > wrote: >> >> Hi Rich, >> >> On 02/12/14 18:55, Salz, Rich wrote: >>> Is it that important to have an individual I-D submission before >>> there's even been a BoF about forming a WG? >> >> Sometimes it is, e.g. IPR and all that. Now while I'd be hopeful, >> since I know the proponents well, that's not going to be true >> for all the folks who might be interested in the proposal and >> who prefer .well-known IPR arrangements. > > > I think you have the wrong model of where the IPR problems are likely > to come from. > > I very much doubt that the proposers of the ACME protocol will > establish a patent claim in the protocol. But that does not mean that > others haven't done so already. Sure, that too. S. > > _______________________________________________ > Acme mailing list > Acme@ietf.org > https://www.ietf.org/mailman/listinfo/acme > > From nobody Tue Dec 2 15:23:43 2014 Return-Path: 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 ; 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 ; 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 ; Tue, 2 Dec 2014 15:23:34 -0800 (PST) Received: from mailer by mailer.hiddenmail.net with local (Exim 4.80) (envelope-from ) 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: =?ISO-8859-1?Q?=C1ngel_Gonz=E1lez?= To: acme@ietf.org Date: Wed, 03 Dec 2014 00:23:25 +0100 In-Reply-To: References: <20141202194441.GA285@mournblade.imrryr.org> 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 = 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. >=20 > 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. >=20 > 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 ? From nobody Tue Dec 2 20:59:03 2014 Return-Path: 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 AB36C1A008B for ; Tue, 2 Dec 2014 20:59:02 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -0.977 X-Spam-Level: X-Spam-Status: No, score=-0.977 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, MIME_8BIT_HEADER=0.3, RCVD_IN_DNSWL_NONE=-0.0001] 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 iSw_FvwgTfCs for ; Tue, 2 Dec 2014 20:59:01 -0800 (PST) Received: from sasl.smtp.pobox.com (pb-smtp1.int.icgroup.com [208.72.237.35]) by ietfa.amsl.com (Postfix) with ESMTP id E51771A007E for ; Tue, 2 Dec 2014 20:59:00 -0800 (PST) Received: from sasl.smtp.pobox.com (unknown [127.0.0.1]) by pb-smtp1.pobox.com (Postfix) with ESMTP id 337DB23425 for ; Tue, 2 Dec 2014 23:58:59 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=pobox.com; h=mime-version :in-reply-to:references:from:date:message-id:subject:to:cc :content-type; s=sasl; bh=IaFEUuhhZNU7kQQLteX5FsUcrxQ=; b=oD1Dsg +FrJMDfi5TuMNcYc8Sc2BqpkYa0MH4g3gYxVH5uqRVJ9in7ZeIeer2WlHO61tBSq QHFWvHZRVjCZkuxBDa3ME/OnKS18YDnG3CTpDmc3l4xpEj3kpfe4QgtrFXoRzYjr dFUaxCqoDOlE5pPaz3a5Yi/gHD136VVUrosK4= Received: from pb-smtp1.int.icgroup.com (unknown [127.0.0.1]) by pb-smtp1.pobox.com (Postfix) with ESMTP id 2933023422 for ; Tue, 2 Dec 2014 23:58:59 -0500 (EST) Received: from mail-oi0-f51.google.com (unknown [209.85.218.51]) (using TLSv1 with cipher ECDHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by pb-smtp1.pobox.com (Postfix) with ESMTPSA id 5890C23414 for ; Tue, 2 Dec 2014 23:58:58 -0500 (EST) Received: by mail-oi0-f51.google.com with SMTP id e131so10346025oig.24 for ; Tue, 02 Dec 2014 20:58:57 -0800 (PST) X-Received: by 10.60.102.211 with SMTP id fq19mr2013954oeb.2.1417582737487; Tue, 02 Dec 2014 20:58:57 -0800 (PST) MIME-Version: 1.0 Received: by 10.182.11.36 with HTTP; Tue, 2 Dec 2014 20:58:17 -0800 (PST) In-Reply-To: <1417562605.2793.10.camel@tls.16bits.net> References: <20141202194441.GA285@mournblade.imrryr.org> <1417562605.2793.10.camel@tls.16bits.net> From: Eric Mill Date: Tue, 2 Dec 2014 23:58:17 -0500 Message-ID: To: =?UTF-8?B?w4FuZ2VsIEdvbnrDoWxleg==?= Content-Type: multipart/alternative; boundary=089e01160a2e81fef7050948b3f7 X-Pobox-Relay-ID: 171C1D96-7AA9-11E4-9FF3-42529F42C9D4-82875391!pb-smtp1.pobox.com Archived-At: http://mailarchive.ietf.org/arch/msg/acme/BqXA2q3zkQxIJ27ZArMwUJ7PMRI Cc: acme@ietf.org 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 03 Dec 2014 04:59:02 -0000 --089e01160a2e81fef7050948b3f7 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Would providing the proof in an HTTP header (on an HTTPS connection using any cert at all) be a stronger guarantee of Real Domain Control (and not malicious user-submitted content) than providing it in the HTTP response body? On Tue, Dec 2, 2014 at 6:23 PM, =C3=81ngel Gonz=C3=A1lez wrote: > Peter Bowen wrote: > > On Tue, Dec 2, 2014 at 11:44 AM, Viktor Dukhovni > 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 ? > > > _______________________________________________ > Acme mailing list > Acme@ietf.org > https://www.ietf.org/mailman/listinfo/acme > --=20 konklone.com | @konklone --089e01160a2e81fef7050948b3f7 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Would providing the proof in an HTTP header (on an HTTPS c= onnection using any cert at all) be a stronger guarantee of Real Domain Con= trol (and not malicious user-submitted content) than providing it in the HT= TP response body?

On Tue, Dec 2, 2014 at 6:23 PM, =C3=81ngel Gonz=C3=A1lez <angel@t= ls.16bits.net> wrote:
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 alrea= dy has a
> >> trusted certificate and wants to use ACME to get a new certif= icate.
> >> They are unlikely to want to replace their working certificat= e with a
> >> self-signed certificate.=C2=A0 So the proof would need to hap= pen at the
> >> HTTP layer, not the TLS layer.
> >
> > They can request a certificate for the same private key.=C2=A0 Th= e
> > "self-signed" thing so not precise.=C2=A0 The real requ= irement 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<= br> > for identification and key exchange.=C2=A0 I'm not sure what the p= rotocol
> 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<= br> 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 ?


_______________________________________________
Acme mailing list
Acme@ietf.org
ht= tps://www.ietf.org/mailman/listinfo/acme



--
=
--089e01160a2e81fef7050948b3f7-- From nobody Tue Dec 2 21:36:45 2014 Return-Path: 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 EC6A81A00B5 for ; Tue, 2 Dec 2014 21:36:43 -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=unavailable 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 C5NXix2LdyLp for ; Tue, 2 Dec 2014 21:36:33 -0800 (PST) Received: from mail-oi0-x231.google.com (mail-oi0-x231.google.com [IPv6:2607:f8b0:4003:c06::231]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id BE2451A009E for ; Tue, 2 Dec 2014 21:36:32 -0800 (PST) Received: by mail-oi0-f49.google.com with SMTP id i138so10221121oig.36 for ; Tue, 02 Dec 2014 21:36:32 -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=gtrjxqzhR1bQsWo//eLIxXe9ngbuRxew9M02S6YTre8=; b=WTZIJfcvscMl8ubz3CZRwH3k6mgUllVtEAj/uHBDRTd+xeozprFCxVRKnY+qQJuZM0 M3UVR01TH0TENKYTDfqZkCwbh8fvhNmZDYSoGilB2WiW1alQuCmnUFRiOv8hjGX5+GCp WTuld43oLectv0nHGMl3Dil/+PaXYrdcJxiCf/uPE7H+xkjelut8ccgfpy9H0eMPru5t qhlguOdRJk2KlF5PFJd9urbNGlrHX5t5LzecxTU//g94P3O4ZhF1hYL0faXLLW8d9dT9 LqEkx39NSoPo8qN4G9uKzCpVVYrsySpdI73dPkwREYORcrz3b5C7qqPg0lx68DOyoMu3 grxw== MIME-Version: 1.0 X-Received: by 10.60.219.7 with SMTP id pk7mr2053568oec.0.1417584992080; Tue, 02 Dec 2014 21:36:32 -0800 (PST) Received: by 10.202.115.4 with HTTP; Tue, 2 Dec 2014 21:36:32 -0800 (PST) In-Reply-To: References: Date: Tue, 2 Dec 2014 21:36:32 -0800 Message-ID: From: Martin Thomson To: Peter Bowen Content-Type: text/plain; charset=UTF-8 Archived-At: http://mailarchive.ietf.org/arch/msg/acme/0__iI-divSFfliVVN8Dj4bHyGgA Cc: "acme@ietf.org" , Paul Hoffman 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 03 Dec 2014 05:36:44 -0000 On 2 December 2014 at 11:15, 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. I think that we can do better than this. That's why I opened . The protocol requires proof of possession for establishing a request for a certificate. Requiring a self-signed certificate means that you can only use the simpleHttps (I don't see an HTTP variant here), for completely new installations. Presumably renewals can be protected by periodic checks to see that the site remains valid, but it does little for a new key. I think that as long as there is some way to generate POP for the key that a certificate is being issued for, it makes little sense to require that the HTTPS connection is served with that key. I understand why the proposal has that, but it makes it impossible to renew. The SNI verification at least allows the server some information it can used to select a self-signed certificate, and this could use ALPN for the same thing, but that seems like overkill. I think that I would like to be able to have a check like this for key rollovers as well as the initial setup, so I think that a different design is appropriate. From nobody Wed Dec 3 07:27:26 2014 Return-Path: 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 7CE0E1A1B67 for ; Wed, 3 Dec 2014 07:27:23 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.278 X-Spam-Level: X-Spam-Status: No, score=-1.278 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FM_FORGED_GMAIL=0.622, FREEMAIL_FROM=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 ZvcguLyZJ_DF for ; Wed, 3 Dec 2014 07:27:22 -0800 (PST) Received: from mail-la0-x230.google.com (mail-la0-x230.google.com [IPv6:2a00:1450:4010:c03::230]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 83D801A1B71 for ; Wed, 3 Dec 2014 07:27:20 -0800 (PST) Received: by mail-la0-f48.google.com with SMTP id s18so12980448lam.35 for ; Wed, 03 Dec 2014 07:27:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=6iF3z9EtXkE02wltUmSN+VkjR6EgDMFIutvjNk2wfUc=; b=A0A/oi7EmNO/a8PRw4gv7k6eMWHO5zheZmoWIITJFwP0p759P7flAbW8UQMvVns5GP CmZZmcy9VPHxH/J3I7D+gdEzZbZlB5P7Wjww+r4UYLfIAFOS+Y+DLymTqkECnjcRRQc2 ph4x4+Ihyf0sUlDYN/0yU8FGvXvkesu1WHma6YZoDplPLJHl5s7Lol4mdqiVSEZ9mrIW uEnQrgsFXo/nu5MrwL1bTGF6/tpNb1g62A2UpKykpQTZzq31zuhRb149wA5GzBqgk44x RkB79QrbclSUjNwSatHJKcUvgI29IzuxKfani91d57JIZLDsY9xbkYl2EPKcyPD4eks8 LoBg== MIME-Version: 1.0 X-Received: by 10.112.162.101 with SMTP id xz5mr4672370lbb.49.1417620439096; Wed, 03 Dec 2014 07:27:19 -0800 (PST) Sender: hallam@gmail.com Received: by 10.112.19.42 with HTTP; Wed, 3 Dec 2014 07:27:18 -0800 (PST) In-Reply-To: <547E11A2.1010209@cisco.com> References: <547DFC4B.9040408@cisco.com> <547DFE94.6090307@cisco.com> <547E11A2.1010209@cisco.com> Date: Wed, 3 Dec 2014 10:27:18 -0500 X-Google-Sender-Auth: mBB7O-N_TTcydqUAWmct3ZIBVJk Message-ID: From: Phillip Hallam-Baker To: Eliot Lear Content-Type: text/plain; charset=UTF-8 Archived-At: http://mailarchive.ietf.org/arch/msg/acme/5Cn55OCkmLX9s_9eLeEZP6ZQcv4 Cc: Richard Barnes , Ben Schumacher , "acme@ietf.org" Subject: Re: [Acme] acme in a firewalled environment X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 03 Dec 2014 15:27:23 -0000 Discovery is certainly an issue. The other issue is negotiation If the proposal here is that the IETF only support one provider of the certs then you don't need negotiation or discovery as both can just be hard coded. But that would be a proprietary protocol getting a standards imprimatur. Given that this is not going to be a case where latency is critical, one method on the protocol should probably be a service enquiry allowing the potential subscriber to find out what issuing roots, algorithms and validation mechanisms are offered. At the protocol level, ev and ov don't actually have a lot of impact since it is the applicant that is being validated above and beyond dv, not the server. So all that is needed is a means to bind the request to the account that has been or will be validated. So the responses are not just accept/reject, there is also the possibility of pending. Pending is going to be needed in any case for corner cases that can't be done manually. From nobody Wed Dec 3 07:57:05 2014 Return-Path: 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 EF3471A1B3F for ; Wed, 3 Dec 2014 07:57:03 -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 iimwbn326XRD for ; Wed, 3 Dec 2014 07:56:59 -0800 (PST) Received: from mail-oi0-x22f.google.com (mail-oi0-x22f.google.com [IPv6:2607:f8b0:4003:c06::22f]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 2FB4E1A1B48 for ; Wed, 3 Dec 2014 07:56:59 -0800 (PST) Received: by mail-oi0-f47.google.com with SMTP id v63so11004798oia.6 for ; Wed, 03 Dec 2014 07:56:58 -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=ZG0xO8bqVrHkML83Lsx6YXez2+JeQcQI2yxak52mj8I=; b=BPEeMntTVb5HssHw8pQ8u8lJc/0OO4MG8WpkcXILhyGraFRkNtp0Gpq2mLLz1aUiOP QIXEy2JHqalOh3XAfwoYCu+JvS8Vzzx3/TC//L8ByGjet9EPrSOj1JY6lluagL73DgHY +VdmmryBOPwNksRXo/4uuRPQQEyoX+AJjR/5DVF2dZwWL2GY3mdMb28lW2BBhHg/Om2/ HND4jcG93w5oT0kMu2d7CXB3mzf+I8ss8tc0y20GTF7+YIy7AJY8owX0siOjaC95Mmr4 RQd8M7COmwk/ArWv3DpXlGJAXzaLSd7gZgTr9g9FsMuvsY5tsRH1GzZQLmatEVPEKGbS qc7g== MIME-Version: 1.0 X-Received: by 10.183.24.129 with SMTP id ii1mr3596805obd.34.1417622218380; Wed, 03 Dec 2014 07:56:58 -0800 (PST) Received: by 10.202.115.4 with HTTP; Wed, 3 Dec 2014 07:56:58 -0800 (PST) In-Reply-To: References: <547DFC4B.9040408@cisco.com> <547DFE94.6090307@cisco.com> <547E11A2.1010209@cisco.com> Date: Wed, 3 Dec 2014 07:56:58 -0800 Message-ID: From: Martin Thomson To: Phillip Hallam-Baker Content-Type: text/plain; charset=UTF-8 Archived-At: http://mailarchive.ietf.org/arch/msg/acme/627N8QlAyIcRxAgYeCIs_4zdZwI Cc: Richard Barnes , Ben Schumacher , "acme@ietf.org" , Eliot Lear Subject: Re: [Acme] acme in a firewalled environment X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 03 Dec 2014 15:57:04 -0000 On 3 December 2014 at 07:27, Phillip Hallam-Baker wrote: > Given that this is not going to be a case where latency is critical, > one method on the protocol should probably be a service enquiry > allowing the potential subscriber to find out what issuing roots, > algorithms and validation mechanisms are offered. That's not a bad idea: https://github.com/letsencrypt/acme-spec/issues/36 From nobody Wed Dec 3 08:02:45 2014 Return-Path: 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 2F57D1A1BDA for ; Wed, 3 Dec 2014 08:02:30 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.388 X-Spam-Level: X-Spam-Status: No, score=-1.388 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] 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 LCeCI7Swoad0 for ; Wed, 3 Dec 2014 08:02:28 -0800 (PST) Received: from mail-qg0-x229.google.com (mail-qg0-x229.google.com [IPv6:2607:f8b0:400d:c04::229]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id C67581A1BBE for ; Wed, 3 Dec 2014 08:01:39 -0800 (PST) Received: by mail-qg0-f41.google.com with SMTP id j5so11306160qga.28 for ; Wed, 03 Dec 2014 08:01:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:references:from:date:message-id:subject:to:cc :content-type; bh=n6Z2EVEkI1+iv0LhjbUIVuUPb87RYoQ1B544d6F936w=; b=GnPSr19Cqqgh6QcSlXjVE53UIW4ea1INiAovKz1c/WdXD/8qIdW4AZoo4u0eYDLcqU paC/+4XdVww5t/VqSfQCo76+3atU8bKXafoADk+w2ZXwh/ws2BqCXTozWVe9wwVC70w9 f3w0te2biqFZVmqGcxapRUhv0JBSG6AcSk+d9jSTVJDgFUmdLueQceBoOHhg5wnxehOo cAqsnHkaTYlyXhKFodzMysJVvF584qYTJNsm9jYiJuC+HVN+f7cWwlv0YMqXZFpKd9zX VuIT4C3Jh7XusxQFW80p4xxOQNBUkPLl8bZJzUfjHIE/GzExlAW9mrN2E5snIpSk/eZ/ bq2g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:references:from:date:message-id :subject:to:cc:content-type; bh=n6Z2EVEkI1+iv0LhjbUIVuUPb87RYoQ1B544d6F936w=; b=MI91GkGQFgl968nvQX51fGRJqM6gTgp4RhJQRSaw6W3MPIMxLOSqr07A0iGZUdJm45 6+uCFkU60dPwXy6lJLhpj8Vbek5w0bw06h9M6BtRXB+v6aPUjZw0Ikjd+KjcH0TqFo9A xsPElDE2PTti2y2+eDFWxhcUicbARcd4Vgq2sHyYbIQO6Xq5SsqAzDo0pbb1+ZO/zFrL L4pyRL+vPgw+HUrMaOTtgfvDQ/Y4B/RJyBR0h1ZbQpMfsLY0Vp3B6qOBUVRzVem3lkln KxjIS3Pz83wOlnRtvpGZSyC46h06IbhFGIR7QXyxrZHgktv5bhob1H2LmClSwB/i2Bd9 i9HA== X-Gm-Message-State: ALoCoQlQXQ5n02KtK0AivaIziwBP6zhWjxZZWS8vvOhkwDJxWo5SQe7WPMQ4yFvRJWWyQMITGZ3r X-Received: by 10.224.129.196 with SMTP id p4mr8764375qas.1.1417622498629; Wed, 03 Dec 2014 08:01:38 -0800 (PST) MIME-Version: 1.0 References: From: Ben Laurie Date: Wed, 03 Dec 2014 16:01:37 +0000 Message-ID: To: Peter Bowen , Paul Hoffman Content-Type: multipart/alternative; boundary=001a11c2cc9e7520ac050951f5df Archived-At: http://mailarchive.ietf.org/arch/msg/acme/VJvNVPQdmdqBjQaObGXeILju8BA Cc: acme@ietf.org 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 03 Dec 2014 16:02:30 -0000 --001a11c2cc9e7520ac050951f5df Content-Type: text/plain; charset=UTF-8 On Tue Dec 02 2014 at 7:15:54 PM Peter Bowen wrote: > On Tue, Dec 2, 2014 at 10:05 AM, Paul Hoffman > wrote: > > Greetings again. A few people have asked for HTTP-based verification for > the certificate request, but I'm not sure that is needed. Are there > environments where someone who will be able to stand up a server with a > CA-issued cert on HTTPS-over-443 could not stand up such a service with a > temporary self-issued cert? If not, what is the value of checking if the > person can control the content on port 80? > > 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. Why would you need to replace it? You use SNI on some new domain... > So the proof would need to happen at the > HTTP layer, not the TLS layer. > > Thanks, > Peter > > _______________________________________________ > Acme mailing list > Acme@ietf.org > https://www.ietf.org/mailman/listinfo/acme > --001a11c2cc9e7520ac050951f5df Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable

On Tue Dec 02 2014 at 7:15:54 PM Peter B= owen <pzbowen@gmail.com> wro= te:
On Tue, Dec 2, 2014 at 10:05 AM, Paul= Hoffman <pau= l.hoffman@vpnc.org> wrote:
> Greetings again. A few people have asked for HTTP-based verification f= or the certificate request, but I'm not sure that is needed. Are there = environments where someone who will be able to stand up a server with a CA-= issued cert on HTTPS-over-443 could not stand up such a service with a temp= orary self-issued cert? If not, what is the value of checking if the person= can control the content on port 80?

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.=C2=A0

Why would yo= u need to replace it? You use SNI on some new domain...
=C2=A0
So the proof would need to happen at the=
HTTP layer, not the TLS layer.

Thanks,
Peter

_______________________________________________
Acme mailing list
Acme@ietf.org
ht= tps://www.ietf.org/mailman/listinfo/acme
--001a11c2cc9e7520ac050951f5df-- From nobody Wed Dec 3 08:20:33 2014 Return-Path: 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 D43F91A6EE7 for ; Wed, 3 Dec 2014 08:20:29 -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 zYItbOxMYmse for ; Wed, 3 Dec 2014 08:20:27 -0800 (PST) Received: from mail-ob0-x234.google.com (mail-ob0-x234.google.com [IPv6:2607:f8b0:4003:c01::234]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id DCC051A6F44 for ; Wed, 3 Dec 2014 08:20:21 -0800 (PST) Received: by mail-ob0-f180.google.com with SMTP id wp4so1301277obc.11 for ; Wed, 03 Dec 2014 08:20:21 -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=OLgbzhNcS8OKGp1P2QQfmObiwkCELPHsQ2AilLPi+o0=; b=oIjciM2J1oMDmPJOPu4i8UoVn+ngE5s3p2WDtlZJWVDuiSLP8ExIHeUibTOr9K02q2 B+tFYD9Q0s5z7lAbkcTb2G7hswCz4IYWbdgFxEZIxVkQ1CT1AE4piNo5vUTxq2FbFBLw ZURXnJNZNpqI6guL256UMACiU1RUZ8a8XtUiUKJ78WPJTRaGi/vKiKiQ2ILunY76hCjo WnBfrpsyC5qoUh3GH/wSx9xBNtHXakR0QoCFEeaNxYVPtG19Ax7DzJM9BpIelR1CHzgo jHW7Vd0Lu7a8umZKanz3nchFOxxHdhpadyA+x2jw73K3mGftQjdcJOR6rngsKdya3MBe /g0w== MIME-Version: 1.0 X-Received: by 10.202.111.3 with SMTP id m3mr3505551oic.16.1417623621188; Wed, 03 Dec 2014 08:20:21 -0800 (PST) Received: by 10.202.115.4 with HTTP; Wed, 3 Dec 2014 08:20:21 -0800 (PST) In-Reply-To: References: Date: Wed, 3 Dec 2014 08:20:21 -0800 Message-ID: From: Martin Thomson To: Ben Laurie Content-Type: text/plain; charset=UTF-8 Archived-At: http://mailarchive.ietf.org/arch/msg/acme/DQk3tjoqKFkvL4u55Z-LAf6JiLQ Cc: "acme@ietf.org" , Peter Bowen , Paul Hoffman 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 03 Dec 2014 16:20:30 -0000 On 3 December 2014 at 08:01, Ben Laurie wrote: > Why would you need to replace it? You use SNI on some new domain... That is currently only specified for the dvsni validation method. And it creates an additional burden on the implementation AND it makes it much, much harder to deploy something like this. If you have a front-end that routes on SNI, then it would need to be modified. The advantage of simpleHttps is that it doesn't depend on control of the demux point. From nobody Wed Dec 3 08:30:17 2014 Return-Path: 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 530811A1B4B for ; Wed, 3 Dec 2014 08:30:13 -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 EFDyectGnFv0 for ; Wed, 3 Dec 2014 08:30:09 -0800 (PST) Received: from mail-pa0-x230.google.com (mail-pa0-x230.google.com [IPv6:2607:f8b0:400e:c03::230]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 88CF21A1B3F for ; Wed, 3 Dec 2014 08:30:09 -0800 (PST) Received: by mail-pa0-f48.google.com with SMTP id rd3so16020836pab.35 for ; Wed, 03 Dec 2014 08:30:08 -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=/Wq+QXlTLRTbd1l56o6Fd6C43oQgWIRxsM9ChyExs2c=; b=zE+HUSEzW2y7b5a+UgIQbOdaJpDkv2yb/X+Dl3q/OVyVkZyH1g9YXP2cPrgWjbLhP+ sBw1X5F2UsBsp6/b/sCRB9yaieL4HNtpNbVq++Kf7oppbSXiwDcUgWZ2UdE3KJKpoaYF WGkMC1ue7mvq1VQgPWHyXvsxfx4lwa9u/tD1kX2HaFg0LgAe3GhWiziGUjrDJYXGUbcj XSUD0AkWeqG3azI0EeAh8PJIY0BfCKatHxpt/s7Ca9xrlhZ56/0j+q8ytEeewyFcNkt5 SiWGTTOA+02J+ZrhAgk1agNG9YHae6R6NFzOx85R1WxIVSW+FOc1j4uNPjLnuyckwl3C me2Q== MIME-Version: 1.0 X-Received: by 10.70.90.11 with SMTP id bs11mr10682292pdb.16.1417624208220; Wed, 03 Dec 2014 08:30:08 -0800 (PST) Received: by 10.70.76.10 with HTTP; Wed, 3 Dec 2014 08:30:08 -0800 (PST) In-Reply-To: References: Date: Wed, 3 Dec 2014 08:30:08 -0800 Message-ID: From: Peter Bowen To: Ben Laurie Content-Type: text/plain; charset=UTF-8 Archived-At: http://mailarchive.ietf.org/arch/msg/acme/VPmq2Sl5uing-ububXNuyzHrXI4 Cc: acme@ietf.org, Paul Hoffman 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 03 Dec 2014 16:30:13 -0000 On Wed, Dec 3, 2014 at 8:01 AM, Ben Laurie wrote: > On Tue Dec 02 2014 at 7:15:54 PM Peter Bowen wrote: >> On Tue, Dec 2, 2014 at 10:05 AM, Paul Hoffman wrote: >> > Greetings again. A few people have asked for HTTP-based verification for >> > the certificate request, but I'm not sure that is needed. Are there >> > environments where someone who will be able to stand up a server with a >> > CA-issued cert on HTTPS-over-443 could not stand up such a service with a >> > temporary self-issued cert? If not, what is the value of checking if the >> > person can control the content on port 80? >> >> 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. > > Why would you need to replace it? You use SNI on some new domain... Assuming I want to get a new certificate for secure.example.org, which is current using a certificate from Connotation, a trusted CA. How would using SNI on another FQDN help validate control of secure.example.org? The ACME proposal suggests that "DV + Proof of Possession of previous CA-signed key" is the appropriate mechanism for "Existing valid certs, first use of ACME." However I don't see a clear definition of DV outside of DVSNI. Thanks, Peter From nobody Wed Dec 3 12:32:25 2014 Return-Path: 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 DB6A41A6F3A for ; Wed, 3 Dec 2014 12:32:17 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.277 X-Spam-Level: X-Spam-Status: No, score=-1.277 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FM_FORGED_GMAIL=0.622, FREEMAIL_FROM=0.001, HTML_MESSAGE=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 Hqxkv6R3N72P for ; Wed, 3 Dec 2014 12:32:15 -0800 (PST) Received: from mail-la0-x229.google.com (mail-la0-x229.google.com [IPv6:2a00:1450:4010:c03::229]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 673AC1A1B4A for ; Wed, 3 Dec 2014 12:31:52 -0800 (PST) Received: by mail-la0-f41.google.com with SMTP id hv19so8482436lab.14 for ; Wed, 03 Dec 2014 12:31:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:date:message-id:subject:from:to:content-type; bh=3X0KFftyEFYdHgwaDTTP0guDkptqVqBzPBVkKVvy/Zs=; b=UjUIt93CTTbL3M/8eRpevo3/6vBayyaDOdkodxTVCSwxq791zEeknN9S++qY2iC0DP NBU3Vm9VkTWT7GcgteJTp7JXglTr7/+2Vy5DKXd+HdO1kih7gQR0rnPYkvRFFZHJD761 xHMQqX6Yt6wDWXRRjWil67wM40PXTKN/WmfuRtXyN/UuvSPb829QBBNUjEMkKju/T0oI 3aXeJxlQSu8Sr7BEQVDZm0bDREIpem+JvmjOvTGpS89SO1LWVqHSr9Etfy0FB/MUBTzb 1OBHPefDl1LhmBTnZSLI/UGpYLjvBQGIyELpMxllq5/yB8g08Ra/jwjqTEMytNEexekr LS3Q== MIME-Version: 1.0 X-Received: by 10.112.27.133 with SMTP id t5mr5968091lbg.45.1417638710841; Wed, 03 Dec 2014 12:31:50 -0800 (PST) Sender: hallam@gmail.com Received: by 10.112.19.42 with HTTP; Wed, 3 Dec 2014 12:31:50 -0800 (PST) Date: Wed, 3 Dec 2014 15:31:50 -0500 X-Google-Sender-Auth: mnhz59jnKK8jo2YHIrWZL8TqB-4 Message-ID: From: Phillip Hallam-Baker To: "acme@ietf.org" Content-Type: multipart/alternative; boundary=001a1133b04ac79666050955bbdd Archived-At: http://mailarchive.ietf.org/arch/msg/acme/O89RZ8a3_FBchxrf3dZXiclNBfc Subject: [Acme] (Re)Design sketch X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 03 Dec 2014 20:32:18 -0000 --001a1133b04ac79666050955bbdd Content-Type: text/plain; charset=UTF-8 Comodo has an existing API for certificate issue. It is functional and works but it isn't ideal because: 1) It isn't JSON and we have customers that demand JSON. 2) It is proprietary which means we have to support plug ins for a large number of servers which is costly and reduces the utility to larger installations. 3) It is rather crusty as features have been added gradually over the years by a variety of authors in a variety of styles. If we follow the path of only addressing the problems considered important by one CA that has yet to issue a cert then the result is only going to address the first two problems. We will end up with another PKIX situation where the stack is ridiculously complicated BECAUSE of the attempts to 'keep it simple'. Lowballing requirements results in redundancy and unnecessary complexity. A better way to address the problem is to architect the system recognizing that in some circumstances functions will be split across different actors at subscriber site at the start rather than trying to retrofit this capability as an afterthought. It isn't just enterprise firewalls that present corner cases. Managing credentials on a Web service in the cloud presents similar issues. *Architectural Constraints:* * Use the existing CSR format for proof of possession of the private key for X.509v3 issue. * Use JSON encoding for all new structures and protocol messages. * Assume HTTP binding, do not rely on HTTPS for security properties. * Use SRV and CAA records in DNS to enable automation. *Actors:* Subject: The party whose identity is validated Issuer: The party that issues the certificate Host: The machine on which the private key and certificate are installed Recognizing that the Host is not the same as the Subject is important as without that distinction it becomes impossible to talk about failures or attacks in a meaningful way. Note that as far as the protocol interactions are concerned, the Issuer need not be a CA. A CA is a party that is subject to audit and insurance and has actual custody of the signing key. It is not actually necessary for the Subject to have a direct interaction with their CA. In the ideal situation any party with more than a dozen certs is going to channel cert requests through a local issuer which forwards them to a CA (possibly through another intermediary). *Processes:* Validation: Determining that a purported subject meets a set of criteria specified by a certificate policy and in particular has the right to use a specified identity. Key Generation: Generating a public/private key pair Certificate Issue: Signing a Certificate While each process must occur at least once for a certificate to be issued, these are three separate processes. In particular, Validation is an interaction with the certificate subject, Certificate Issue is to the Host holding the corresponding private key. In any deployment that has more than one host it is going to be desirable to amortize a validation process across the multiple hosts. Today Key Generation and Validation might occur once every three years and Certificate Issue once a year. One of the reasons I am interested in automating Cert Management is to change these parameters. My ideal situation would be to perform Key Generation and Certificate Issue every 24 hours with overlapping 72 hour validity intervals of which 24 hours is backdated. I certainly don't want to have to perform OV or EV validation every 24 hours. I am not averse to performing the DV component of validation every 24 hours as well but the most appropriate response to single validation failure after a long stream of successful validations is probably to notify the system admin rather than force their site offline. A somewhat more complicated question is how to deal with the problem of multiple ports, multiple protocols and multiple applications on the same host. We should not limit the use of HTTP validation to certificates that will be used with HTTP. While the requirements appear complicated, it is actually fairly straightforward to support them all if we recognize the distinction between the Subject and the Host. Since there is a relationship between the subject and the issuer that potentially persists across multiple certificate issue transactions, this implies some form of account/credential. Since we are doing PKI we can insist that the credential used to authenticate transactions be a public key. For a free cert provider with a zero touch model, the account identifier might well be simply the public key or a fingerprint thereof. If the account identifier is never seen by a user, it does not need to be particularly human readable. Thoughts? Comments? --001a1133b04ac79666050955bbdd Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Comodo has an existing API for certificate issue. It is fu= nctional and works but it isn't ideal because:

1) It= isn't JSON and we have customers that demand JSON.

2) It is proprietary which means we have to support plug ins for a la= rge number of servers which is costly and reduces the utility to larger ins= tallations.

3) It is rather crusty as features hav= e been added gradually over the years by a variety of authors in a variety = of styles.

If we follow the path of only addressin= g the problems considered important by one CA that has yet to issue a cert = then the result is only going to address the first two problems. We will en= d up with another PKIX situation where the stack is ridiculously complicate= d BECAUSE of the attempts to 'keep it simple'.

=
Lowballing requirements results in redundancy and unnecessary complexi= ty.


A better way to address the pro= blem is to architect the system recognizing that in some circumstances func= tions will be split across different actors at subscriber site at the start= rather than trying to retrofit this capability as an afterthought.

It isn't just enterprise firewalls that present corne= r cases. Managing credentials on a Web service in the cloud presents simila= r issues.


Architectural Constrai= nts:

* Use the existing CSR format for proof o= f possession of the private key for X.509v3 issue.
* Use JSON enc= oding for all new structures and protocol messages.
* Assume HTTP= binding, do not rely on HTTPS for security properties.
* Use SRV= and CAA records in DNS to enable automation.


=
Actors:

Subject: The party whose= identity is validated
Issuer: The party that issues the certific= ate
Host: The machine on which the private key and certificate ar= e installed

Recognizing that the Host is not the s= ame as the Subject is important as without that distinction it becomes impo= ssible to talk about failures or attacks in a meaningful way.
Note that as far as the protocol interactions are concerned, th= e Issuer need not be a CA. A CA is a party that is subject to audit and ins= urance and has actual custody of the signing key. It is not actually necess= ary for the Subject to have a direct interaction with their CA.
<= br>
In the ideal situation any party with more than a dozen certs= is going to channel cert requests through a local issuer which forwards th= em to a CA (possibly through another intermediary).


Processes:

Validation: Det= ermining that a purported subject meets a set of criteria specified by a ce= rtificate policy and in particular has the right to use a specified identit= y.

Key Generation: Generating a public/private key= pair

Certificate Issue: Signing a Certificate


While each process must occur at least= once for a certificate to be issued, these are three separate processes.= =C2=A0

In particular, Validation is an interaction= with the certificate subject, Certificate Issue is to the Host holding the= corresponding private key. In any deployment that has more than one host i= t is going to be desirable to amortize a validation process across the mult= iple hosts.


Today Key Generation an= d Validation might occur once every three years and Certificate Issue once = a year. One of the reasons I am interested in automating Cert Management is= to change these parameters.

My ideal situation wo= uld be to perform Key Generation and Certificate Issue every 24 hours with = overlapping 72 hour validity intervals of which 24 hours is backdated. I ce= rtainly don't want to have to perform OV or EV validation every 24 hour= s.

I am not averse to performing the DV component = of validation every 24 hours as well but the most appropriate response to s= ingle validation failure after a long stream of successful validations is p= robably to notify the system admin rather than force their site offline.


A somewhat more complicated question = is how to deal with the problem of multiple ports, multiple protocols and m= ultiple applications on the same host.

We should n= ot limit the use of HTTP validation to certificates that will be used with = HTTP.


While the requirements appear= complicated, it is actually fairly straightforward to support them all if = we recognize the distinction between the Subject and the Host. Since there = is a relationship between the subject and the issuer that potentially persi= sts across multiple certificate issue transactions, this implies some form = of account/credential. Since we are doing PKI we can insist that the creden= tial used to authenticate transactions be a public key.

For a free cert provider with a zero touch model, the account identif= ier might well be simply the public key or a fingerprint thereof. If the ac= count identifier is never seen by a user, it does not need to be particular= ly human readable.


Thoughts? Commen= ts?



--001a1133b04ac79666050955bbdd-- From nobody Wed Dec 3 19:45:07 2014 Return-Path: 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 DD9E91A0010 for ; Wed, 3 Dec 2014 19:41:01 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -0.5 X-Spam-Level: X-Spam-Status: No, score=-0.5 tagged_above=-999 required=5 tests=[BAYES_05=-0.5, HTML_MESSAGE=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 fyrBEDDVN_s1 for ; Wed, 3 Dec 2014 19:40:56 -0800 (PST) Received: from mr11p24im-asmtp001.me.com (mr11p24im-asmtp001.me.com [17.110.78.41]) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 856141A0013 for ; Wed, 3 Dec 2014 19:40:56 -0800 (PST) Received: from Den (c-67-183-152-156.hsd1.wa.comcast.net [67.183.152.156]) by mr11p24im-asmtp001.me.com (Oracle Communications Messaging Server 7.0.5.33.0 64bit (built Aug 27 2014)) with ESMTPSA id <0NG100JQKGW5OY50@mr11p24im-asmtp001.me.com> for acme@ietf.org; Thu, 04 Dec 2014 03:40:55 +0000 (GMT) X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:5.13.68,1.0.33,0.0.0000 definitions=2014-12-04_02:2014-12-03,2014-12-04,1970-01-01 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 suspectscore=2 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=7.0.1-1408290000 definitions=main-1412040036 From: Trevor Freeman To: 'Phillip Hallam-Baker' , acme@ietf.org References: In-reply-to: Date: Wed, 03 Dec 2014 19:40:47 -0800 Message-id: <002d01d00f74$1823d990$486b8cb0$@icloud.com> MIME-version: 1.0 Content-type: multipart/alternative; boundary="----=_NextPart_000_002E_01D00F31.0A07C580" X-Mailer: Microsoft Outlook 14.0 Thread-index: AQLN9r/Q5ArEYkdTvz45Letl4obCxJqC7odA Content-language: en-us Archived-At: http://mailarchive.ietf.org/arch/msg/acme/f9RkFnB53kdSNB79c_DzAIzPWqY Subject: Re: [Acme] (Re)Design sketch X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 04 Dec 2014 03:41:02 -0000 This is a multipart message in MIME format. ------=_NextPart_000_002E_01D00F31.0A07C580 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable See inline =20 From: Acme [mailto:acme-bounces@ietf.org] On Behalf Of Phillip = Hallam-Baker Sent: Wednesday, December 03, 2014 12:32 PM To: acme@ietf.org Subject: [Acme] (Re)Design sketch =20 Comodo has an existing API for certificate issue. It is functional and = works but it isn't ideal because: =20 1) It isn't JSON and we have customers that demand JSON. =20 2) It is proprietary which means we have to support plug ins for a large = number of servers which is costly and reduces the utility to larger = installations. =20 3) It is rather crusty as features have been added gradually over the = years by a variety of authors in a variety of styles. =20 If we follow the path of only addressing the problems considered = important by one CA that has yet to issue a cert then the result is only = going to address the first two problems. We will end up with another = PKIX situation where the stack is ridiculously complicated BECAUSE of = the attempts to 'keep it simple'. =20 Lowballing requirements results in redundancy and unnecessary = complexity. =20 =20 A better way to address the problem is to architect the system = recognizing that in some circumstances functions will be split across = different actors at subscriber site at the start rather than trying to = retrofit this capability as an afterthought. =20 It isn't just enterprise firewalls that present corner cases. Managing = credentials on a Web service in the cloud presents similar issues. =20 =20 Architectural Constraints: =20 * Use the existing CSR format for proof of possession of the private key = for X.509v3 issue. [TF] Seems reasonable. There is a lot of code on many platforms to do = this.=20 * Use JSON encoding for all new structures and protocol messages. [TF] Seems reasonable if we are defining something new.=20 * Assume HTTP binding, do not rely on HTTPS for security properties. [TF] Why would we need HTTP?=20 * Use SRV and CAA records in DNS to enable automation. [TF] These seem niece to have ret than must haves. You can provide = better load bailing and floe via NLB rather than SRV records.=20 =20 Actors: =20 Subject: The party whose identity is validated Issuer: The party that issues the certificate Host: The machine on which the private key and certificate are installed [TF] There is also the DVRA =20 Recognizing that the Host is not the same as the Subject is important as = without that distinction it becomes impossible to talk about failures or = attacks in a meaningful way. =20 Note that as far as the protocol interactions are concerned, the Issuer = need not be a CA. A CA is a party that is subject to audit and insurance = and has actual custody of the signing key. It is not actually necessary = for the Subject to have a direct interaction with their CA. [TF] You will have to elaborate on the Asser <> CA part because I have = always takes the issuer to be by definition a CA. The ACME server is a = front end to a CA. =20 In the ideal situation any party with more than a dozen certs is going = to channel cert requests through a local issuer which forwards them to a = CA (possibly through another intermediary). [TF] Do you mean ACME server chaining where one ACME server sends = request to another ACE server? =20 Processes: =20 Validation: Determining that a purported subject meets a set of criteria = specified by a certificate policy and in particular has the right to use = a specified identity. [TF] Determining that a request meets a set criteria as determined by a = certificate policy. The policy will establish a LoA for the binding to = the subject name. =20 Key Generation: Generating a public/private key pair =20 Certificate Issue: Signing a Certificate =20 =20 While each process must occur at least once for a certificate to be = issued, these are three separate processes.=20 =20 In particular, Validation is an interaction with the certificate = subject, Certificate Issue is to the Host holding the corresponding = private key. In any deployment that has more than one host it is going = to be desirable to amortize a validation process across the multiple = hosts. [TF] Validation does not require interaction with the entity making the = request. An administrator may have proven control of the domain thereby = authorizing the issuance of certificates in the domain namespace and the = subject making the request it technically their delegate.=20 =20 Today Key Generation and Validation might occur once every three years = and Certificate Issue once a year. One of the reasons I am interested in = automating Cert Management is to change these parameters. =20 My ideal situation would be to perform Key Generation and Certificate = Issue every 24 hours with overlapping 72 hour validity intervals of = which 24 hours is backdated. I certainly don't want to have to perform = OV or EV validation every 24 hours. [TF] Ironic in that this is the model proposed by Barb Fox many moons = ago=E2=80=A6 I get the frequent cert issuance but frequent key = generation seems a bit ott given the move to pfs. Reissuing a = certificate with the same key is a safer process. =20 I am not averse to performing the DV component of validation every 24 = hours as well but the most appropriate response to single validation = failure after a long stream of successful validations is probably to = notify the system admin rather than force their site offline. [TF] We need to look at the threat model for the actual proofs. You = could generate false negative due to operational procedures on the part = of the domain.=20 =20 A somewhat more complicated question is how to deal with the problem of = multiple ports, multiple protocols and multiple applications on the same = host. [TF] Why should you care what the cert gets used for? We should not limit the use of HTTP validation to certificates that will = be used with HTTP. [TF] Don=E2=80=99t you mean HTTPS validation? =20 While the requirements appear complicated, it is actually fairly = straightforward to support them all if we recognize the distinction = between the Subject and the Host. Since there is a relationship between = the subject and the issuer that potentially persists across multiple = certificate issue transactions, this implies some form of = account/credential. Since we are doing PKI we can insist that the = credential used to authenticate transactions be a public key. =20 For a free cert provider with a zero touch model, the account identifier = might well be simply the public key or a fingerprint thereof. If the = account identifier is never seen by a user, it does not need to be = particularly human readable. =20 =20 Thoughts? Comments? =20 =20 =20 ------=_NextPart_000_002E_01D00F31.0A07C580 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable

See inline

 

From:= = Acme [mailto:acme-bounces@ietf.org] On Behalf Of Phillip = Hallam-Baker
Sent: Wednesday, December 03, 2014 12:32 = PM
To: acme@ietf.org
Subject: [Acme] (Re)Design = sketch

 

Comodo = has an existing API for certificate issue. It is functional and works = but it isn't ideal because:

 

1) It isn't JSON and we have customers that demand = JSON.

 

2) It is proprietary which means we have to support = plug ins for a large number of servers which is costly and reduces the = utility to larger installations.

 

3) It is rather crusty as features have been added = gradually over the years by a variety of authors in a variety of = styles.

 

If we follow the path of only addressing the problems = considered important by one CA that has yet to issue a cert then the = result is only going to address the first two problems. We will end up = with another PKIX situation where the stack is ridiculously complicated = BECAUSE of the attempts to 'keep it simple'.

 

Lowballing requirements results in redundancy and = unnecessary complexity.

 

 

A = better way to address the problem is to architect the system recognizing = that in some circumstances functions will be split across different = actors at subscriber site at the start rather than trying to retrofit = this capability as an afterthought.

 

It isn't just enterprise firewalls that present corner = cases. Managing credentials on a Web service in the cloud presents = similar issues.

 

 

Architectural = Constraints:

 

* = Use the existing CSR format for proof of possession of the private key = for X.509v3 issue.

[TF] Seems reasonable. There is a lot of code on many platforms to do = this.

* Use JSON = encoding for all new structures and protocol messages.

[TF] Seems reasonable if we are defining something new. =

* Assume HTTP = binding, do not rely on HTTPS for security properties.

[TF] Why would we need HTTP?

* Use SRV and = CAA records in DNS to enable automation.

[TF] = These seem niece to have = ret than must haves. You can provide better load bailing and floe via = NLB rather than SRV records.

 

Actors:

 

Subject: The party whose identity is = validated

Issuer: The = party that issues the certificate

Host: The machine on which the private key and = certificate are installed

[TF] There is also the DVRA

 

Recognizing that the Host is not the same as the = Subject is important as without that distinction it becomes impossible = to talk about failures or attacks in a meaningful = way.

 

Note that as far as the protocol interactions are = concerned, the Issuer need not be a CA. A CA is a party that is subject = to audit and insurance and has actual custody of the signing key. It is = not actually necessary for the Subject to have a direct interaction with = their CA.

[TF] You will have to elaborate on the Asser <> CA part because = I have always takes the issuer to be by definition a CA. The ACME server = is a front end to a CA.

 

In the ideal situation any party with more than a = dozen certs is going to channel cert requests through a local issuer = which forwards them to a CA (possibly through another = intermediary).

[TF] Do you mean ACME server chaining where one ACME = server sends request to another ACE = server?

 

Processes:

 

Validation: Determining that a purported subject meets = a set of criteria specified by a certificate policy and in particular = has the right to use a specified identity.

[TF] Determining that a request meets a set criteria as determined by = a certificate policy. The policy will establish a LoA for the binding to = the subject name.

 

Key Generation: Generating a public/private key = pair

 

Certificate Issue: Signing a = Certificate

 

 

While each process must occur at least once for a = certificate to be issued, these are three separate = processes. 

 

In particular, Validation is an interaction with the = certificate subject, Certificate Issue is to the Host holding the = corresponding private key. In any deployment that has more than one host = it is going to be desirable to amortize a validation process across the = multiple hosts.

[TF] = Validation does not require = interaction with the entity making the request. An administrator may = have proven control of the domain thereby authorizing the issuance of = certificates in the domain namespace and the subject making the request = it technically their delegate.

 

Today Key Generation and Validation might occur once = every three years and Certificate Issue once a year. One of the reasons = I am interested in automating Cert Management is to change these = parameters.

 

My ideal situation would be to perform Key Generation = and Certificate Issue every 24 hours with overlapping 72 hour validity = intervals of which 24 hours is backdated. I certainly don't want to have = to perform OV or EV validation every 24 hours.

[TF] Ironic in that this is the model proposed by Barb Fox many moons = ago=E2=80=A6 I get the frequent cert issuance but frequent key = generation seems a bit ott given the move to pfs. Reissuing a = certificate with the same key is a safer process.

 

I = am not averse to performing the DV component of validation every 24 = hours as well but the most appropriate response to single validation = failure after a long stream of successful validations is probably to = notify the system admin rather than force their site = offline.

[TF] We need to look at the threat model for the = actual proofs. You could generate false negative due to operational = procedures on the part of the domain. =

 

A = somewhat more complicated question is how to deal with the problem of = multiple ports, multiple protocols and multiple applications on the same = host.

[TF] Why should you care what the cert gets used = for?

We should not = limit the use of HTTP validation to certificates that will be used with = HTTP.

[TF] Don=E2=80=99t you mean HTTPS = validation?

 

While the requirements appear complicated, it is = actually fairly straightforward to support them all if we recognize the = distinction between the Subject and the Host. Since there is a = relationship between the subject and the issuer that potentially = persists across multiple certificate issue transactions, this implies = some form of account/credential. Since we are doing PKI we can insist = that the credential used to authenticate transactions be a public = key.

 

For a free cert provider with a zero touch model, the = account identifier might well be simply the public key or a fingerprint = thereof. If the account identifier is never seen by a user, it does not = need to be particularly human readable.

 

 

Thoughts? Comments?

 

 

 

------=_NextPart_000_002E_01D00F31.0A07C580-- From nobody Sun Dec 7 22:38:55 2014 Return-Path: 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 E578E1A6F7F for ; Sun, 7 Dec 2014 22:38:51 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: 3.599 X-Spam-Level: *** X-Spam-Status: No, score=3.599 tagged_above=-999 required=5 tests=[BAYES_50=0.8, HELO_EQ_AU=0.377, HOST_EQ_AU=0.327, HTML_MESSAGE=0.001, J_CHICKENPOX_101=0.6, J_CHICKENPOX_51=0.6, J_CHICKENPOX_52=0.6, RCVD_IN_DNSWL_LOW=-0.7, RELAY_IS_203=0.994] 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 HS0_vSNcwCGC for ; Sun, 7 Dec 2014 22:38:49 -0800 (PST) Received: from ipxavo.tcif.telstra.com.au (ipxavo.tcif.telstra.com.au [203.35.135.200]) by ietfa.amsl.com (Postfix) with ESMTP id CD8401A6F6B for ; Sun, 7 Dec 2014 22:38:47 -0800 (PST) X-IronPort-AV: E=Sophos;i="5.07,536,1413205200"; d="scan'208,217";a="244408379" Received: from unknown (HELO ipccvi.tcif.telstra.com.au) ([10.97.217.208]) by ipoavi.tcif.telstra.com.au with ESMTP; 08 Dec 2014 17:24:32 +1100 X-IronPort-AV: E=McAfee;i="5600,1067,7645"; a="261762693" Received: from wsmsg3752.srv.dir.telstra.com ([172.49.40.173]) by ipccvi.tcif.telstra.com.au with ESMTP; 08 Dec 2014 17:38:46 +1100 Received: from WSMSG3153V.srv.dir.telstra.com ([172.49.40.159]) by WSMSG3752.srv.dir.telstra.com ([172.49.40.173]) with mapi; Mon, 8 Dec 2014 17:38:46 +1100 From: "Manger, James" To: "acme@ietf.org" Date: Mon, 8 Dec 2014 17:38:44 +1100 Thread-Topic: ACME signature mechanics Thread-Index: AdASsZ0M8xUwytSnTxy9udVU0T4hkg== Message-ID: <255B9BB34FB7D647A506DC292726F6E127D5205188@WSMSG3153V.srv.dir.telstra.com> Accept-Language: en-US, en-AU Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: acceptlanguage: en-US, en-AU Content-Type: multipart/alternative; boundary="_000_255B9BB34FB7D647A506DC292726F6E127D5205188WSMSG3153Vsrv_" MIME-Version: 1.0 Archived-At: http://mailarchive.ietf.org/arch/msg/acme/SkJma2ZHVoHIrr06vIGCxGfW1os Subject: [Acme] ACME signature mechanics X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Dec 2014 06:38:52 -0000 --_000_255B9BB34FB7D647A506DC292726F6E127D5205188WSMSG3153Vsrv_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable draft-barnes-acme looks like a promising spec. https://github.com/letsencrypt/acme-spec/blob/master/draft-barnes-acme.txt A couple of comments: 1. The bytes to-be-signed for the various messages are the concatenation of= a few fields, with no separators. signature-input =3D nonce || content signature-input =3D signature-nonce || identifier || server-nonce signature-input =3D signature-nonce || server-nonce This looks problematic as the bytes to-be-signed are not unambiguous by the= mselves. The same signature (eg over ABC) is valid even if bytes are moved = from a nonce to the content (eg nonce=3DA, content=3DBC; and nonce=3DAB, co= ntent=3DC). The same signature may be valid when treated as a different typ= e of message (eg signature-nonce=3DA, identifier=3DB, server-nonce=3DC). Suggestion: signature-input =3D || || ... (wh= ere is the length in bytes of the following field, encoded in 8 byt= es) [P.S. Watson Ladd pointed out a similar issue with HOBA earlier today in an= email titled "[http-auth] Concatenation is not injective". http://www.ietf= .org/mail-archive/web/http-auth/current/msg02053.html] 2. Appending 'path' to '.well-known/acme-challenge' as part of a simpleHttp= s challenge (section 6.1) looks dangerous if not done carefully. What if 'p= ath' is "../../user/alice/whatever"? Suggestion: I would be tempted to say: "take the 'path' string value, UTF-8= encode it, base64url-encode those bytes, then append to '.well-known/acme-= challenge'". 3. 'nonce' is "at least 16 bytes, base64-encoded" according to section 5.2 = "Signatures". Is the base64-encoding removed before using the nonce as part= of the signature input? -- James Manger --_000_255B9BB34FB7D647A506DC292726F6E127D5205188WSMSG3153Vsrv_ Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable

draft-barnes-acm= e looks like a promising spec.

https://github.com/letsencrypt/acme-spec/blob/master/draft-barnes-acme= .txt

 

 

A couple of comments= :

 

1. The bytes to-be-signed for the various messages are the concatenatio= n of a few fields, with no separators.

&= nbsp;  signature-input =3D nonce || content

   signature-input =3D signature-nonce || identifier || = server-nonce

   signature-inpu= t =3D signature-nonce || server-nonce

Th= is looks problematic as the bytes to-be-signed are not unambiguous by thems= elves. The same signature (eg over ABC) is valid even if bytes are moved fr= om a nonce to the content (eg nonce=3DA, content=3DBC; and nonce=3DAB, cont= ent=3DC). The same signature may be valid when treated as a different type = of message (eg signature-nonce=3DA, identifier=3DB, server-nonce=3DC).=

 

Su= ggestion: signature-input =3D <len1><field1> || <len2><= ;field2> || … (where <lenn> is  the length in by= tes of the following field, encoded in 8 bytes)

 

[P.S. Watson Ladd pointed= out a similar issue with HOBA earlier today in an email titled “[htt= p-auth] Concatenation is not injective”. http://www.ietf.org/ma= il-archive/web/http-auth/current/msg02053.html]

 

 

2. Appending ‘path’ to ‘.well-known= /acme-challenge’ as part of a simpleHttps challenge (section 6.1) loo= ks dangerous if not done carefully. What if ‘path’ is “..= /../user/alice/whatever”?

&nb= sp;

Suggestion: I would be tempted to say: &#= 8220;take the ‘path’ string value, UTF-8 encode it, base64url-e= ncode those bytes, then append to ‘.well-known/acme-challenge’&= #8221;.

 

 

3. ‘nonce’ = is “at least 16 bytes, base64-encoded” according to section 5.2= “Signatures”. Is the base64-encoding removed before using the = nonce as part of the signature input?

 

--

James Manger

 

= --_000_255B9BB34FB7D647A506DC292726F6E127D5205188WSMSG3153Vsrv_-- From nobody Sun Dec 7 22:59:17 2014 Return-Path: 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 E42241A6F80 for ; Sun, 7 Dec 2014 22:59:15 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -0.177 X-Spam-Level: X-Spam-Status: No, score=-0.177 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, J_CHICKENPOX_101=0.6, J_CHICKENPOX_51=0.6, J_CHICKENPOX_52=0.6, RCVD_IN_DNSWL_LOW=-0.7] 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 e4pvGc4U26Vk for ; Sun, 7 Dec 2014 22:59:14 -0800 (PST) Received: from mail-vc0-f176.google.com (mail-vc0-f176.google.com [209.85.220.176]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 15D641A1A1E for ; Sun, 7 Dec 2014 22:59:14 -0800 (PST) Received: by mail-vc0-f176.google.com with SMTP id hq12so1850792vcb.21 for ; Sun, 07 Dec 2014 22:59:13 -0800 (PST) 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=xCRMGxR6ZjR4R2g33Y42KAQ/z4FEC766bmo9/hLTTc0=; b=ErRush/jf3ahYwJOtykFbRPBOJlvS42mduVDEqtAdXFv0ofC7qRIQlF4+Y9cv/79PG 9BnRCD+9Il80HKwPd2MKc+u82Cfk6to537qSeWV8WUXXicxsTiagJpl8vX3ZBgzEM4q8 zZ4PCip0R6D5guSFLjnMcsms29RxdAE9HDHhgVFLCYtAJWGPJRpZeGx5CS6+8sNM6Dvb Qcvb5RNhmcSUVVDGPW6DzoNRVVgQelqPImD581bMjPpsNgFuRFA6FJkO/aI3hJu+T+st 7wyHruFrIKtwsEy8Ka5tIzX62/3Gr3JOcHefUGpHZDYWG5EMnl0oXnzipYHI2mMCtjjr IMNw== X-Gm-Message-State: ALoCoQn3R2zoI9Y5JteTelyQ9s2Rnarj8kOout+jMsCINS68Des/92w7PjrIQDZUjXCVmlLxxsZk MIME-Version: 1.0 X-Received: by 10.52.117.161 with SMTP id kf1mr19920725vdb.65.1418021953202; Sun, 07 Dec 2014 22:59:13 -0800 (PST) Received: by 10.31.139.9 with HTTP; Sun, 7 Dec 2014 22:59:13 -0800 (PST) In-Reply-To: <255B9BB34FB7D647A506DC292726F6E127D5205188@WSMSG3153V.srv.dir.telstra.com> References: <255B9BB34FB7D647A506DC292726F6E127D5205188@WSMSG3153V.srv.dir.telstra.com> Date: Sun, 7 Dec 2014 22:59:13 -0800 Message-ID: From: Richard Barnes To: "Manger, James" Content-Type: multipart/alternative; boundary=bcaec547cbddce2e740509aef67b Archived-At: http://mailarchive.ietf.org/arch/msg/acme/2nyR8aJGCypzAPWk436IUBv6sIo Cc: "acme@ietf.org" Subject: Re: [Acme] ACME signature mechanics X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Dec 2014 06:59:16 -0000 --bcaec547cbddce2e740509aef67b Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Hey James, Thanks for the comments. On Sun, Dec 7, 2014 at 10:38 PM, Manger, James < James.H.Manger@team.telstra.com> wrote: > draft-barnes-acme looks like a promising spec. > > https://github.com/letsencrypt/acme-spec/blob/master/draft-barnes-acme.tx= t > Thanks! > > A couple of comments: > > > > 1. The bytes to-be-signed for the various messages are the concatenation > of a few fields, with no separators. > > signature-input =3D nonce || content > > signature-input =3D signature-nonce || identifier || server-nonce > > signature-input =3D signature-nonce || server-nonce > > This looks problematic as the bytes to-be-signed are not unambiguous by > themselves. The same signature (eg over ABC) is valid even if bytes are > moved from a nonce to the content (eg nonce=3DA, content=3DBC; and nonce= =3DAB, > content=3DC). The same signature may be valid when treated as a different > type of message (eg signature-nonce=3DA, identifier=3DB, server-nonce=3DC= ). > > > > Suggestion: signature-input =3D || || =E2= =80=A6 (where > is the length in bytes of the following field, encoded in 8 > bytes) > > > > [P.S. Watson Ladd pointed out a similar issue with HOBA earlier today in > an email titled =E2=80=9C[http-auth] Concatenation is not injective=E2=80= =9D. > http://www.ietf.org/mail-archive/web/http-auth/current/msg02053.html] > Adam Langley also pointed this out in a Github issue. I think the simplest answer is going to be to just use JWS to sign the entire request, including the nonce as a protected header field. That gets around these issues, and re-uses the JWS machinery. > 2. Appending =E2=80=98path=E2=80=99 to =E2=80=98.well-known/acme-challeng= e=E2=80=99 as part of a > simpleHttps challenge (section 6.1) looks dangerous if not done carefully= . > What if =E2=80=98path=E2=80=99 is =E2=80=9C../../user/alice/whatever=E2= =80=9D? > > > > Suggestion: I would be tempted to say: =E2=80=9Ctake the =E2=80=98path=E2= =80=99 string value, > UTF-8 encode it, base64url-encode those bytes, then append to > =E2=80=98.well-known/acme-challenge=E2=80=99=E2=80=9D. > Good point. It seems like a simpler solution would just be to require that the "path" value meet a certain ABNF, e.g., the URL-safe base64 alphabet. The only reason that the client provides the path is to let it avoid collisions if it has multiple validations in progress, so there's not a need for it to be especially expressive. > 3. =E2=80=98nonce=E2=80=99 is =E2=80=9Cat least 16 bytes, base64-encoded= =E2=80=9D according to section 5.2 > =E2=80=9CSignatures=E2=80=9D. Is the base64-encoding removed before using= the nonce as part > of the signature input? > That was my intent, but if we make the JWS change mentioned above, then this won't matter. --Richard > > > -- > > James Manger > > > > _______________________________________________ > Acme mailing list > Acme@ietf.org > https://www.ietf.org/mailman/listinfo/acme > > --bcaec547cbddce2e740509aef67b Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hey James,

Thanks for the comments.

On Sun, Dec 7, 2014 at 10:3= 8 PM, Manger, James <James.H.Manger@team.telstra.com>= wrote:
=C2=A0
Thanks!
=C2=A0

=

=C2=A0

A couple of= comments:

=C2=A0

=

1. The bytes to-be-signed for the various messages a= re the concatenation of a few fields, with no separators.

=

=C2=A0=C2=A0 signature-input =3D nonce || content=

=C2=A0=C2=A0 signature-input =3D sign= ature-nonce || identifier || server-nonce

=C2=A0=C2=A0 signature-input =3D signature-nonce || server-nonce<= /u>

This looks problematic as the bytes to= -be-signed are not unambiguous by themselves. The same signature (eg over A= BC) is valid even if bytes are moved from a nonce to the content (eg nonce= =3DA, content=3DBC; and nonce=3DAB, content=3DC). The same signature may be= valid when treated as a different type of message (eg signature-nonce=3DA,= identifier=3DB, server-nonce=3DC).

=C2=A0

Suggestion: signature-input= =3D <len1><field1> || <len2><field2> || =E2=80=A6 = (where <lenn> is=C2=A0 the length in bytes of the following fi= eld, encoded in 8 bytes)

=C2= =A0

[P.S. Watson Ladd pointed out a simila= r issue with HOBA earlier today in an email titled =E2=80=9C[http-auth] Con= catenation is not injective=E2=80=9D. http://www.ie= tf.org/mail-archive/web/http-auth/current/msg02053.html]


Adam Langley also pointed this out in a G= ithub issue.

I think the simplest answer is going to be t= o just use JWS to sign the entire request, including the nonce as a protect= ed header field.=C2=A0 That gets around these issues, and re-uses the JWS m= achinery.

=C2=A0

2. Appending =E2=80=98p= ath=E2=80=99 to =E2=80=98.well-known/acme-challenge=E2=80=99 as part of a s= impleHttps challenge (section 6.1) looks dangerous if not done carefully. W= hat if =E2=80=98path=E2=80=99 is =E2=80=9C../../user/alice/whatever=E2=80= =9D?

=C2=A0

Suggestion: I would be tempted to say: =E2=80=9Ctake the = =E2=80=98path=E2=80=99 string value, UTF-8 encode it, base64url-encode thos= e bytes, then append to =E2=80=98.well-known/acme-challenge=E2=80=99=E2=80= =9D.


Good point.=C2=A0 It s= eems like a simpler solution would just be to require that the "path&q= uot; value meet a certain ABNF, e.g., the URL-safe base64 alphabet.=C2=A0 T= he only reason that the client provides the path is to let it avoid collisi= ons if it has multiple validations in progress, so there's not a need f= or it to be especially expressive.

=C2=A0=C2=A0
=

3. =E2=80=98nonce=E2=80=99 is =E2=80=9Ca= t least 16 bytes, base64-encoded=E2=80=9D according to section 5.2 =E2=80= =9CSignatures=E2=80=9D. Is the base64-encoding removed before using the non= ce as part of the signature input?


That was my intent, but if we make the JWS change men= tioned above, then this won't matter.

--Richard

=C2=A0

=C2=A0

--=

James Manger

=C2=A0


______________________________= _________________
Acme mailing list
Acme@ietf.org
ht= tps://www.ietf.org/mailman/listinfo/acme


--bcaec547cbddce2e740509aef67b-- From nobody Sun Dec 7 23:15:56 2014 Return-Path: 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 17C851A6FD4 for ; Sun, 7 Dec 2014 23:15:44 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: 1.799 X-Spam-Level: * X-Spam-Status: No, score=1.799 tagged_above=-999 required=5 tests=[BAYES_50=0.8, HELO_EQ_AU=0.377, HOST_EQ_AU=0.327, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, RELAY_IS_203=0.994] 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 5dtfikHiwou3 for ; Sun, 7 Dec 2014 23:15:43 -0800 (PST) Received: from ipxavo.tcif.telstra.com.au (ipxavo.tcif.telstra.com.au [203.35.135.200]) by ietfa.amsl.com (Postfix) with ESMTP id 9D9D71A6FCC for ; Sun, 7 Dec 2014 23:15:42 -0800 (PST) X-IronPort-AV: E=Sophos;i="5.07,537,1413205200"; d="scan'208,217";a="244415310" Received: from unknown (HELO ipcavi.tcif.telstra.com.au) ([10.97.217.200]) by ipoavi.tcif.telstra.com.au with ESMTP; 08 Dec 2014 18:01:22 +1100 X-IronPort-AV: E=McAfee;i="5600,1067,7645"; a="319179452" Received: from wsmsg3704.srv.dir.telstra.com ([172.49.40.197]) by ipcavi.tcif.telstra.com.au with ESMTP; 08 Dec 2014 18:15:37 +1100 Received: from WSMSG3153V.srv.dir.telstra.com ([172.49.40.159]) by WSMSG3704.srv.dir.telstra.com ([172.49.40.197]) with mapi; Mon, 8 Dec 2014 18:15:36 +1100 From: "Manger, James" To: Richard Barnes Date: Mon, 8 Dec 2014 18:15:35 +1100 Thread-Topic: [Acme] ACME signature mechanics Thread-Index: AdAStHwHzfxL5PPwRgSpi3Ok2vOPrgAAV8zw Message-ID: <255B9BB34FB7D647A506DC292726F6E127D52051C8@WSMSG3153V.srv.dir.telstra.com> References: <255B9BB34FB7D647A506DC292726F6E127D5205188@WSMSG3153V.srv.dir.telstra.com> In-Reply-To: Accept-Language: en-US, en-AU Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: acceptlanguage: en-US, en-AU Content-Type: multipart/alternative; boundary="_000_255B9BB34FB7D647A506DC292726F6E127D52051C8WSMSG3153Vsrv_" MIME-Version: 1.0 Archived-At: http://mailarchive.ietf.org/arch/msg/acme/kdKNWaUVJL2v-sIB8BfeDqX47V8 Cc: "acme@ietf.org" Subject: Re: [Acme] ACME signature mechanics X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Dec 2014 07:15:44 -0000 --_000_255B9BB34FB7D647A506DC292726F6E127D52051C8WSMSG3153Vsrv_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Mi4gQXBwZW5kaW5nIOKAmHBhdGjigJkgdG8g4oCYLndlbGwta25vd24vYWNtZS1jaGFsbGVuZ2Xi gJkgYXMgcGFydCBvZiBhIHNpbXBsZUh0dHBzIGNoYWxsZW5nZSAoc2VjdGlvbiA2LjEpIGxvb2tz IGRhbmdlcm91cyBpZiBub3QgZG9uZSBjYXJlZnVsbHkuIFdoYXQgaWYg4oCYcGF0aOKAmSBpcyDi gJwuLi8uLi91c2VyL2FsaWNlL3doYXRldmVy4oCdPw0KDQpTdWdnZXN0aW9uOiBJIHdvdWxkIGJl IHRlbXB0ZWQgdG8gc2F5OiDigJx0YWtlIHRoZSDigJhwYXRo4oCZIHN0cmluZyB2YWx1ZSwgVVRG LTggZW5jb2RlIGl0LCBiYXNlNjR1cmwtZW5jb2RlIHRob3NlIGJ5dGVzLCB0aGVuIGFwcGVuZCB0 byDigJgud2VsbC1rbm93bi9hY21lLWNoYWxsZW5nZeKAmeKAnS4NCg0KPiBHb29kIHBvaW50LiAg SXQgc2VlbXMgbGlrZSBhIHNpbXBsZXIgc29sdXRpb24gd291bGQganVzdCBiZSB0byByZXF1aXJl IHRoYXQgdGhlICJwYXRoIiB2YWx1ZSBtZWV0IGEgY2VydGFpbiBBQk5GLCBlLmcuLCB0aGUgVVJM LXNhZmUgYmFzZTY0IGFscGhhYmV0LiAgVGhlIG9ubHkgcmVhc29uIHRoYXQgdGhlIGNsaWVudCBw cm92aWRlcyB0aGUgcGF0aCBpcyB0byBsZXQgaXQgYXZvaWQgY29sbGlzaW9ucyBpZiBpdCBoYXMg bXVsdGlwbGUgdmFsaWRhdGlvbnMgaW4gcHJvZ3Jlc3MsIHNvIHRoZXJlJ3Mgbm90IGEgbmVlZCBm b3IgaXQgdG8gYmUgZXNwZWNpYWxseSBleHByZXNzaXZlLg0KDQpUaGF0IG1pZ2h0IGJlIHNpbXBs ZXIsIGJ1dCBpdCByZWxpZXMgb24gY2xpZW50cyBkb2luZyBpbnB1dCB2YWxpZGF0aW9uIG9uIOKA mHBhdGjigJkuIFRlbGxpbmcgdGhlIGNsaWVudCB0byBCNjQgd2hhdGV2ZXIgaXQgZ2V0cyBtaWdo dCBiZSBqdXN0IGEgc21pZGdlbiBzYWZlci4NCg0KLS0NCkphbWVzIE1hbmdlcg0K --_000_255B9BB34FB7D647A506DC292726F6E127D52051C8WSMSG3153Vsrv_ Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: base64 PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWlj cm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv VFIvUkVDLWh0bWw0MCI+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj1Db250ZW50LVR5cGUgY29udGVu dD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij48bWV0YSBuYW1lPUdlbmVyYXRvciBjb250ZW50 PSJNaWNyb3NvZnQgV29yZCAxMiAoZmlsdGVyZWQgbWVkaXVtKSI+PHN0eWxlPjwhLS0NCi8qIEZv bnQgRGVmaW5pdGlvbnMgKi8NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6IkNhbWJyaWEgTWF0 aCI7DQoJcGFub3NlLTE6MiA0IDUgMyA1IDQgNiAzIDIgNDt9DQpAZm9udC1mYWNlDQoJe2ZvbnQt ZmFtaWx5OkNhbGlicmk7DQoJcGFub3NlLTE6MiAxNSA1IDIgMiAyIDQgMyAyIDQ7fQ0KLyogU3R5 bGUgRGVmaW5pdGlvbnMgKi8NCnAuTXNvTm9ybWFsLCBsaS5Nc29Ob3JtYWwsIGRpdi5Nc29Ob3Jt YWwNCgl7bWFyZ2luOjBjbTsNCgltYXJnaW4tYm90dG9tOi4wMDAxcHQ7DQoJZm9udC1zaXplOjEy LjBwdDsNCglmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIiwic2VyaWYiO30NCmE6bGluaywg c3Bhbi5Nc29IeXBlcmxpbmsNCgl7bXNvLXN0eWxlLXByaW9yaXR5Ojk5Ow0KCWNvbG9yOmJsdWU7 DQoJdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt9DQphOnZpc2l0ZWQsIHNwYW4uTXNvSHlwZXJs aW5rRm9sbG93ZWQNCgl7bXNvLXN0eWxlLXByaW9yaXR5Ojk5Ow0KCWNvbG9yOnB1cnBsZTsNCgl0 ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO30NCnAuTXNvTGlzdFBhcmFncmFwaCwgbGkuTXNvTGlz dFBhcmFncmFwaCwgZGl2Lk1zb0xpc3RQYXJhZ3JhcGgNCgl7bXNvLXN0eWxlLXByaW9yaXR5OjM0 Ow0KCW1hcmdpbi10b3A6MGNtOw0KCW1hcmdpbi1yaWdodDowY207DQoJbWFyZ2luLWJvdHRvbTow Y207DQoJbWFyZ2luLWxlZnQ6MzYuMHB0Ow0KCW1hcmdpbi1ib3R0b206LjAwMDFwdDsNCglmb250 LXNpemU6MTIuMHB0Ow0KCWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iLCJzZXJpZiI7fQ0K c3Bhbi5FbWFpbFN0eWxlMTcNCgl7bXNvLXN0eWxlLXR5cGU6cGVyc29uYWwtcmVwbHk7DQoJZm9u dC1mYW1pbHk6IkNhbGlicmkiLCJzYW5zLXNlcmlmIjsNCgljb2xvcjojMUY0OTdEO30NCi5Nc29D aHBEZWZhdWx0DQoJe21zby1zdHlsZS10eXBlOmV4cG9ydC1vbmx5O30NCkBwYWdlIFdvcmRTZWN0 aW9uMQ0KCXtzaXplOjYxMi4wcHQgNzkyLjBwdDsNCgltYXJnaW46NzIuMHB0IDcyLjBwdCA3Mi4w cHQgNzIuMHB0O30NCmRpdi5Xb3JkU2VjdGlvbjENCgl7cGFnZTpXb3JkU2VjdGlvbjE7fQ0KLS0+ PC9zdHlsZT48IS0tW2lmIGd0ZSBtc28gOV0+PHhtbD4NCjxvOnNoYXBlZGVmYXVsdHMgdjpleHQ9 ImVkaXQiIHNwaWRtYXg9IjEwMjYiIC8+DQo8L3htbD48IVtlbmRpZl0tLT48IS0tW2lmIGd0ZSBt c28gOV0+PHhtbD4NCjxvOnNoYXBlbGF5b3V0IHY6ZXh0PSJlZGl0Ij4NCjxvOmlkbWFwIHY6ZXh0 PSJlZGl0IiBkYXRhPSIxIiAvPg0KPC9vOnNoYXBlbGF5b3V0PjwveG1sPjwhW2VuZGlmXS0tPjwv aGVhZD48Ym9keSBsYW5nPUVOLUFVIGxpbms9Ymx1ZSB2bGluaz1wdXJwbGU+PGRpdiBjbGFzcz1X b3JkU2VjdGlvbjE+PGRpdj48ZGl2PjxkaXY+PGJsb2NrcXVvdGUgc3R5bGU9J2JvcmRlcjpub25l O2JvcmRlci1sZWZ0OnNvbGlkICNDQ0NDQ0MgMS4wcHQ7cGFkZGluZzowY20gMGNtIDBjbSA2LjBw dDttYXJnaW4tbGVmdDo0LjhwdDttYXJnaW4tcmlnaHQ6MGNtJz48ZGl2PjxkaXY+PHAgY2xhc3M9 TXNvTm9ybWFsIHN0eWxlPSdtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRv bS1hbHQ6YXV0byc+Mi4gQXBwZW5kaW5nIOKAmHBhdGjigJkgdG8g4oCYLndlbGwta25vd24vYWNt ZS1jaGFsbGVuZ2XigJkgYXMgcGFydCBvZiBhIHNpbXBsZUh0dHBzIGNoYWxsZW5nZSAoc2VjdGlv biA2LjEpIGxvb2tzIGRhbmdlcm91cyBpZiBub3QgZG9uZSBjYXJlZnVsbHkuIFdoYXQgaWYg4oCY cGF0aOKAmSBpcyDigJwuLi8uLi91c2VyL2FsaWNlL3doYXRldmVy4oCdPzxvOnA+PC9vOnA+PC9w PjxwIGNsYXNzPU1zb05vcm1hbCBzdHlsZT0nbXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1h cmdpbi1ib3R0b20tYWx0OmF1dG8nPiZuYnNwOzxvOnA+PC9vOnA+PC9wPjxwIGNsYXNzPU1zb05v cm1hbCBzdHlsZT0nbXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0 OmF1dG8nPlN1Z2dlc3Rpb246IEkgd291bGQgYmUgdGVtcHRlZCB0byBzYXk6IOKAnHRha2UgdGhl IOKAmHBhdGjigJkgc3RyaW5nIHZhbHVlLCBVVEYtOCBlbmNvZGUgaXQsIGJhc2U2NHVybC1lbmNv ZGUgdGhvc2UgYnl0ZXMsIHRoZW4gYXBwZW5kIHRvIOKAmC53ZWxsLWtub3duL2FjbWUtY2hhbGxl bmdl4oCZ4oCdLjxvOnA+PC9vOnA+PC9wPjwvZGl2PjwvZGl2PjwvYmxvY2txdW90ZT48ZGl2Pjxw IGNsYXNzPU1zb05vcm1hbD48bzpwPiZuYnNwOzwvbzpwPjwvcD48L2Rpdj48ZGl2PjxwIGNsYXNz PU1zb05vcm1hbCBzdHlsZT0nbWFyZ2luLWJvdHRvbToxMi4wcHQnPjxzcGFuIHN0eWxlPSdjb2xv cjojMUY0OTdEJz4mZ3Q7IDwvc3Bhbj5Hb29kIHBvaW50LiZuYnNwOyBJdCBzZWVtcyBsaWtlIGEg c2ltcGxlciBzb2x1dGlvbiB3b3VsZCBqdXN0IGJlIHRvIHJlcXVpcmUgdGhhdCB0aGUgJnF1b3Q7 cGF0aCZxdW90OyB2YWx1ZSBtZWV0IGEgY2VydGFpbiBBQk5GLCBlLmcuLCB0aGUgVVJMLXNhZmUg YmFzZTY0IGFscGhhYmV0LiZuYnNwOyBUaGUgb25seSByZWFzb24gdGhhdCB0aGUgY2xpZW50IHBy b3ZpZGVzIHRoZSBwYXRoIGlzIHRvIGxldCBpdCBhdm9pZCBjb2xsaXNpb25zIGlmIGl0IGhhcyBt dWx0aXBsZSB2YWxpZGF0aW9ucyBpbiBwcm9ncmVzcywgc28gdGhlcmUncyBub3QgYSBuZWVkIGZv ciBpdCB0byBiZSBlc3BlY2lhbGx5IGV4cHJlc3NpdmUuPG86cD48L286cD48L3A+PC9kaXY+PGRp dj48cCBjbGFzcz1Nc29Ob3JtYWw+Jm5ic3A7Jm5ic3A7PG86cD48L286cD48L3A+PC9kaXY+PC9k aXY+PHAgY2xhc3M9TXNvTm9ybWFsPjxzcGFuIHN0eWxlPSdjb2xvcjojMUY0OTdEJz5UaGF0IG1p Z2h0IGJlIHNpbXBsZXIsIGJ1dCBpdCByZWxpZXMgb24gY2xpZW50cyBkb2luZyBpbnB1dCB2YWxp ZGF0aW9uIG9uIOKAmHBhdGjigJkuIFRlbGxpbmcgdGhlIGNsaWVudCB0byBCNjQgd2hhdGV2ZXIg aXQgZ2V0cyBtaWdodCBiZSBqdXN0IGEgc21pZGdlbiBzYWZlci48bzpwPjwvbzpwPjwvc3Bhbj48 L3A+PHAgY2xhc3M9TXNvTm9ybWFsPjxzcGFuIHN0eWxlPSdmb250LXNpemU6MTEuMHB0O2ZvbnQt ZmFtaWx5OiJDYWxpYnJpIiwic2Fucy1zZXJpZiI7Y29sb3I6IzFGNDk3RCc+PG86cD4mbmJzcDs8 L286cD48L3NwYW4+PC9wPjxwIGNsYXNzPU1zb05vcm1hbD48c3BhbiBzdHlsZT0nZm9udC1zaXpl OjExLjBwdDtmb250LWZhbWlseToiQ2FsaWJyaSIsInNhbnMtc2VyaWYiO2NvbG9yOiMxRjQ5N0Qn Pi0tPG86cD48L286cD48L3NwYW4+PC9wPjxwIGNsYXNzPU1zb05vcm1hbD48c3BhbiBzdHlsZT0n Zm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseToiQ2FsaWJyaSIsInNhbnMtc2VyaWYiO2NvbG9y OiMxRjQ5N0QnPkphbWVzIE1hbmdlcjxvOnA+PC9vOnA+PC9zcGFuPjwvcD48L2Rpdj48L2Rpdj48 L2Rpdj48L2JvZHk+PC9odG1sPg== --_000_255B9BB34FB7D647A506DC292726F6E127D52051C8WSMSG3153Vsrv_-- From nobody Sun Dec 7 23:45:12 2014 Return-Path: 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 37DA91A6FF5 for ; Sun, 7 Dec 2014 23:45:11 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.977 X-Spam-Level: X-Spam-Status: No, score=-1.977 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7] 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 SnxGl7JkYS4U for ; Sun, 7 Dec 2014 23:45:09 -0800 (PST) Received: from mail-vc0-f181.google.com (mail-vc0-f181.google.com [209.85.220.181]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 807B01A6FE1 for ; Sun, 7 Dec 2014 23:45:09 -0800 (PST) Received: by mail-vc0-f181.google.com with SMTP id le20so1935677vcb.12 for ; Sun, 07 Dec 2014 23:45:08 -0800 (PST) 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=EztPufirnZixZrDegLdTMbJSgn7MJKmouooOZaTZ/9I=; b=bM6npG0qP5moPjXE7nYGdEiqvfO84pN2kWKupwdQf8fZzKfPvU5WJ1BL7nVHoJUaHE 73GRnFi4hvReu3jjmaORC5cxchFhAPoh8dvx7o2Rrqn5HAdWavkSjVKpiEFbDOH/tYCO cGC4kll+X1Dr6alwNiiml7DcXr1wPix1V/HnH8nkT0qaDHPc8RAwyHWAt80Qkwit1aoC QOB3A+QSB0QO1tS4npw4gbh+k2Fabu60gC79CdYUvu1Z9JfMpcqeAKP+/GB5rPmX1cO7 ZDjbYE4bV9M67CZPEtulS8DbT1RUSwkcXmaf1kHSiBvkRvoI6aUXBqxaeR7+XY+chru8 doyA== X-Gm-Message-State: ALoCoQkIBgVp10K6+0Iu3q0q0Kds39jP8CSLChHFG7dxs4qUhhlTzt6v8PCZ+T4TpkutstAHMMo2 MIME-Version: 1.0 X-Received: by 10.221.66.143 with SMTP id xq15mr23956697vcb.35.1418024708691; Sun, 07 Dec 2014 23:45:08 -0800 (PST) Received: by 10.31.139.9 with HTTP; Sun, 7 Dec 2014 23:45:08 -0800 (PST) In-Reply-To: <255B9BB34FB7D647A506DC292726F6E127D52051C8@WSMSG3153V.srv.dir.telstra.com> References: <255B9BB34FB7D647A506DC292726F6E127D5205188@WSMSG3153V.srv.dir.telstra.com> <255B9BB34FB7D647A506DC292726F6E127D52051C8@WSMSG3153V.srv.dir.telstra.com> Date: Sun, 7 Dec 2014 23:45:08 -0800 Message-ID: From: Richard Barnes To: "Manger, James" Content-Type: multipart/alternative; boundary=001a113608d20b68e10509af9bfd Archived-At: http://mailarchive.ietf.org/arch/msg/acme/aMhg-ijjhUBUtZEdS6p6mRuVkg4 Cc: "acme@ietf.org" Subject: Re: [Acme] ACME signature mechanics X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Dec 2014 07:45:11 -0000 --001a113608d20b68e10509af9bfd Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On Sun, Dec 7, 2014 at 11:15 PM, Manger, James < James.H.Manger@team.telstra.com> wrote: > 2. Appending =E2=80=98path=E2=80=99 to =E2=80=98.well-known/acme-challeng= e=E2=80=99 as part of a > simpleHttps challenge (section 6.1) looks dangerous if not done carefully= . > What if =E2=80=98path=E2=80=99 is =E2=80=9C../../user/alice/whatever=E2= =80=9D? > > > > Suggestion: I would be tempted to say: =E2=80=9Ctake the =E2=80=98path=E2= =80=99 string value, > UTF-8 encode it, base64url-encode those bytes, then append to > =E2=80=98.well-known/acme-challenge=E2=80=99=E2=80=9D. > > > > > Good point. It seems like a simpler solution would just be to require > that the "path" value meet a certain ABNF, e.g., the URL-safe base64 > alphabet. The only reason that the client provides the path is to let it > avoid collisions if it has multiple validations in progress, so there's n= ot > a need for it to be especially expressive. > > > > That might be simpler, but it relies on clients doing input validation on > =E2=80=98path=E2=80=99. Telling the client to B64 whatever it gets might = be just a smidgen > safer. > Relies on *servers* doing input validation; the client chooses the path. And if the server isn't validating its inputs, we have bigger problems :) Since not checking other inputs can lead to the issuance of bad certs. --Richard > -- > > James Manger > --001a113608d20b68e10509af9bfd Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable


On Sun, Dec 7, 2014 at 11:15 PM, Manger, James <James.H.= Manger@team.telstra.com> wrote:
=

2. Appending =E2=80=98path=E2=80=99 to =E2=80= =98.well-known/acme-challenge=E2=80=99 as part of a simpleHttps challenge (= section 6.1) looks dangerous if not done carefully. What if =E2=80=98path= =E2=80=99 is =E2=80=9C../../user/alice/whatever=E2=80=9D?

=

=C2=A0

Sugge= stion: I would be tempted to say: =E2=80=9Ctake the =E2=80=98path=E2=80=99 = string value, UTF-8 encode it, base64url-encode those bytes, then append to= =E2=80=98.well-known/acme-challenge=E2=80=99=E2=80=9D.

=C2=A0

=

> Good point.=C2=A0 It seems like a simpler s= olution would just be to require that the "path" value meet a cer= tain ABNF, e.g., the URL-safe base64 alphabet.=C2=A0 The only reason that t= he client provides the path is to let it avoid collisions if it has multipl= e validations in progress, so there's not a need for it to be especiall= y expressive.

=C2=A0=C2= =A0

That might be simpler, but it relies on clients doing in= put validation on =E2=80=98path=E2=80=99. Telling the client to B64 whateve= r it gets might be just a smidgen safer.

=

Relies on *servers* doing input validation= ; the client chooses the path.=C2=A0 And if the server isn't validating= its inputs, we have bigger problems :)=C2=A0 Since not checking other inpu= ts can lead to the issuance of bad certs.

--Richard
=C2=A0

--

= James Manger


--001a113608d20b68e10509af9bfd-- From nobody Tue Dec 16 01:22:55 2014 Return-Path: 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 D2B161ACD42 for ; Tue, 16 Dec 2014 01:22:52 -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 gWvX--HSXbu9 for ; Tue, 16 Dec 2014 01:22:51 -0800 (PST) Received: from mail-wg0-x22b.google.com (mail-wg0-x22b.google.com [IPv6:2a00:1450:400c:c00::22b]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id BA74C1A1A67 for ; Tue, 16 Dec 2014 01:22:50 -0800 (PST) Received: by mail-wg0-f43.google.com with SMTP id l18so16940282wgh.2 for ; Tue, 16 Dec 2014 01:22:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:subject :content-type:content-transfer-encoding; bh=aSDtJZBNuaf2jaQp2hkLPpRJM4/KGF8G5rhltQ/rqxU=; b=Xm+OFykc2IZHRu30oPUEP+QGkmEZKMDO258EgqcUctVyQOHC+dTXPpDP4PWVI/ZBU4 Ji4hc3E5ZVovbhFStxgIe9d54GhI9GStUAnCzVqwDqEzhQrGiwFU2IrJSNgSQG0PLtCP NABietdlZUNtfh7Rrp08TVKi5fx1i9GxhdmM8IuMsqs53EfEB9E0X/Eaa8OO5ihCFOYa U97lK377NvCHRWYTx5pLUKqlHkHt+pCE4OXTICTMbPS2D2YIBTH1i3bY2yfXFglGUS8a LNRcLWKWPl5Tdsgl6qKa1qEQm5QMUkwnI3azmLsH11Tap2HX/539cOcjLXPJVhR9aZOs /1MA== X-Received: by 10.194.108.98 with SMTP id hj2mr60620778wjb.102.1418721769502; Tue, 16 Dec 2014 01:22:49 -0800 (PST) Received: from [192.168.1.79] (52.16.14.81.rev.sfr.net. [81.14.16.52]) by mx.google.com with ESMTPSA id e7sm340760wjx.31.2014.12.16.01.22.48 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Tue, 16 Dec 2014 01:22:48 -0800 (PST) Message-ID: <548FF9E3.1020703@gmail.com> Date: Tue, 16 Dec 2014 10:22:43 +0100 From: Anders Rundgren User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 MIME-Version: 1.0 To: acme@ietf.org Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Archived-At: http://mailarchive.ietf.org/arch/msg/acme/vNTcThXh5_gin0D_kb9XIx_zlRk Subject: Re: [Acme] ACME signature mechanics X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Dec 2014 09:22:53 -0000 When the transition to JWS has been made, human-readable ACME messages like { "type": "certificateRequest", "csr": "5jNudRx6Ye4HzKEqT5...FS6aKdZeGsysoCo4H9P", "signature": { "alg": "RS256", "nonce": "h5aYpWVkq-xlJh6cpR-3cw", "sig": "KxITJ0rNlfDMAtfDr8eAw...fSSoehDFNZKQKzTZPtQ", "jwk": { "kty":"RSA", "e":"AQAB", "n":"KxITJ0rNlfDMAtfDr8eAw...fSSoehDFNZKQKzTZPtQ" } } } will rather look like { "payload":"", "protected":"", "header":, "signature":"" } Which apart from being ugly JWS also requires a JSON schema validator (or similar mechanism) to work on separate, unpacked parts of the message. Although I don't expect this to change, you may (or may not) want to know that clear-text JSON signatures (without the complexity of XML DSig), is not black magic, you only have to use JSON parsers that doesn't "manipulate" input data: https://openkeystore.googlecode.com/svn/resources/trunk/docs/jcs.html#Sample_Signature Cheers AndersR From nobody Tue Dec 16 02:54:31 2014 Return-Path: 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 08A071A1A50 for ; Tue, 16 Dec 2014 02:54:29 -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 fSXrHxngGFqA for ; Tue, 16 Dec 2014 02:54:27 -0800 (PST) Received: from mail-wg0-x229.google.com (mail-wg0-x229.google.com [IPv6:2a00:1450:400c:c00::229]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 698301A0108 for ; Tue, 16 Dec 2014 02:54:27 -0800 (PST) Received: by mail-wg0-f41.google.com with SMTP id y19so17090592wgg.0 for ; Tue, 16 Dec 2014 02:54:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:subject :content-type:content-transfer-encoding; bh=flYEK9NTYx2xrgjVJNrDTPnDuefFvYtJTGLydA3eJFQ=; b=mGDCiwY7p1totdNWU8WXyH25nftxwEVMQ74jq+2167F0+475m2/E3MeSiqudiG4/Km fBVEg7sktwJ7ujlnNgjOUG1lanKh1dKNobIV1krSg7si53DW7Am9oNlt4+yD77ZIDOJo 8VSF/llHOmhM83N5PNSKmngX4v1G/rFAKb0hKCiB1Ob8NEdK2h/CF7AxsON3ifmNBCK8 gvc5A+12W2s/tXSA1R9sQFLW1CxqbkPamzUetE1yQAC0sqstXS56FoAdUwIhFyHyy3ci ex74pJ8SwnRWa3PWuG1QXJxu8fwmKbHzu0TsONYMx946ARd95hOpUo9K57o9Q00OxIVU q8uQ== X-Received: by 10.194.87.100 with SMTP id w4mr61956745wjz.65.1418727265659; Tue, 16 Dec 2014 02:54:25 -0800 (PST) Received: from [192.168.1.79] (52.16.14.81.rev.sfr.net. [81.14.16.52]) by mx.google.com with ESMTPSA id dr3sm1691190wib.4.2014.12.16.02.54.24 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Tue, 16 Dec 2014 02:54:25 -0800 (PST) Message-ID: <54900F5C.2000809@gmail.com> Date: Tue, 16 Dec 2014 11:54:20 +0100 From: Anders Rundgren User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 MIME-Version: 1.0 To: acme@ietf.org Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Archived-At: http://mailarchive.ietf.org/arch/msg/acme/UpGE2533QZpjQAfbvsIqHx340-c Subject: [Acme] CSR in JSON X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Dec 2014 10:54:29 -0000 Hi List, I don't see an absolute necessity continuing with PKCS #10 in a JSON-world: https://openkeystore.googlecode.com/svn/resources/trunk/docs/keygen2.html#Sample.KeyCreationResponse I was able to integrate this (with ease) in EJBCA which is the most widely used Open Source CA. Anders From nobody Tue Dec 16 05:09:38 2014 Return-Path: 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 DB8A31ACD88 for ; Tue, 16 Dec 2014 05:09:25 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.277 X-Spam-Level: X-Spam-Status: No, score=-1.277 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FM_FORGED_GMAIL=0.622, FREEMAIL_FROM=0.001, HTML_MESSAGE=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 H4nCVMI606hH for ; Tue, 16 Dec 2014 05:09:24 -0800 (PST) Received: from mail-lb0-x22a.google.com (mail-lb0-x22a.google.com [IPv6:2a00:1450:4010:c04::22a]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 168A11ACD84 for ; Tue, 16 Dec 2014 05:09:15 -0800 (PST) Received: by mail-lb0-f170.google.com with SMTP id 10so10994010lbg.1 for ; Tue, 16 Dec 2014 05:09:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:content-type; bh=sdpAY9eMLpV6CSEeF7cZKQCkph3Y70Y+nCFyrJZ/H50=; b=A6voMmb/EmAOmZ5Rmsjmo+lPEQpmu82TygikfR/xKgbUKyetsZeNAw8C5HfLP0/b1g nFomFTeFQeBF+G9CwiYHOmRmcN0irRaaDqqqCoLhHcvokZdYhNDm3kK6ucyM3Kti1u2U c3y9SauNrfslxgnevdxrkUTyGcfBT/8Tlf5AYoS/Ov/wawZPS3I+E98W04mp8abjZ9z/ Eg6PVY9s7JlAcfuawTEtrKWW9byNH/4fEM6qJU6T3z1wUBxWW3+3+G7JzKnbxhuS28fF PXS+BUIocdB4dJp7o644eAul395VpFgaXxDjBVCGwsF+spSgwlnhGJ4nIwOyhuQBhef7 a1CA== MIME-Version: 1.0 X-Received: by 10.153.11.170 with SMTP id ej10mr35662128lad.24.1418735347706; Tue, 16 Dec 2014 05:09:07 -0800 (PST) Sender: hallam@gmail.com Received: by 10.112.19.42 with HTTP; Tue, 16 Dec 2014 05:09:07 -0800 (PST) In-Reply-To: <54900F5C.2000809@gmail.com> References: <54900F5C.2000809@gmail.com> Date: Tue, 16 Dec 2014 08:09:07 -0500 X-Google-Sender-Auth: aawZB3TO1o5pAHYYS0WCklIZy_I Message-ID: From: Phillip Hallam-Baker To: "acme@ietf.org" Content-Type: multipart/alternative; boundary=001a113479146e345f050a551024 Archived-At: http://mailarchive.ietf.org/arch/msg/acme/zrk11XD_q75E25z-3k0e7HuAZx8 Subject: Re: [Acme] CSR in JSON X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Dec 2014 13:09:26 -0000 --001a113479146e345f050a551024 Content-Type: text/plain; charset=UTF-8 Since we are going to be generating X.509 certificates, ASN.1 is inescapable. There is a lot of machinery that depends on generating CSRs. So support for CSRs is essential. Duplicating that functionality in JSON does not seem like a priority to me. Now if we were getting rid of the ASN.1 in the certs as well I could see a point. But that is not a 1.0 thing. On Tue, Dec 16, 2014 at 5:54 AM, Anders Rundgren < anders.rundgren.net@gmail.com> wrote: > > Hi List, > I don't see an absolute necessity continuing with PKCS #10 in a JSON-world: > https://openkeystore.googlecode.com/svn/resources/trunk/docs/keygen2.html# > Sample.KeyCreationResponse > > I was able to integrate this (with ease) in EJBCA which is the most widely > used Open Source CA. > > Anders > > _______________________________________________ > Acme mailing list > Acme@ietf.org > https://www.ietf.org/mailman/listinfo/acme > --001a113479146e345f050a551024 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Since we are going to be generating X.509 certificates, AS= N.1 is inescapable.

There is a lot of machinery that dep= ends on generating CSRs. So support for CSRs is essential. Duplicating that= functionality in JSON does not seem like a priority to me.

<= /div>

Now if we were getting rid of the ASN.1 in the cer= ts as well I could see a point. But that is not a 1.0 thing.

=

On Tu= e, Dec 16, 2014 at 5:54 AM, Anders Rundgren <anders.rundgren= .net@gmail.com> wrote:
Hi List,=
I don't see an absolute necessity continuing with PKCS #10 in a JSON-wo= rld:
https://openkeystor= e.googlecode.com/svn/resources/trunk/docs/keygen2.html#Sample.KeyCreationResponse

I was able to integrate this (with ease) in EJBCA which is the most widely = used Open Source CA.

Anders

_______________________________________________
Acme mailing list
Acme@ietf.org
ht= tps://www.ietf.org/mailman/listinfo/acme
--001a113479146e345f050a551024-- From nobody Tue Dec 16 07:47:58 2014 Return-Path: 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 EC4ED1A1B05 for ; Tue, 16 Dec 2014 07:47:56 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -2.61 X-Spam-Level: X-Spam-Status: No, score=-2.61 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7, 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 yP5G_q_ZEFZL for ; Tue, 16 Dec 2014 07:47:49 -0800 (PST) Received: from prod-mail-xrelay07.akamai.com (prod-mail-xrelay07.akamai.com [72.246.2.115]) by ietfa.amsl.com (Postfix) with ESMTP id 2EB401A1B30 for ; Tue, 16 Dec 2014 07:47:49 -0800 (PST) Received: from prod-mail-xrelay07.akamai.com (localhost.localdomain [127.0.0.1]) by postfix.imss70 (Postfix) with ESMTP id 12C7347622; Tue, 16 Dec 2014 15:47:48 +0000 (GMT) Received: from prod-mail-relay07.akamai.com (prod-mail-relay07.akamai.com [172.17.121.112]) by prod-mail-xrelay07.akamai.com (Postfix) with ESMTP id 05E1C4761B; Tue, 16 Dec 2014 15:47:48 +0000 (GMT) Received: from email.msg.corp.akamai.com (usma1ex-cas1.msg.corp.akamai.com [172.27.123.30]) by prod-mail-relay07.akamai.com (Postfix) with ESMTP id 001F680040; Tue, 16 Dec 2014 15:47:48 +0000 (GMT) Received: from usma1ex-cashub5.kendall.corp.akamai.com (172.27.105.21) by usma1ex-dag1mb5.msg.corp.akamai.com (172.27.123.105) with Microsoft SMTP Server (TLS) id 15.0.913.22; Tue, 16 Dec 2014 10:47:41 -0500 Received: from USMBX1.msg.corp.akamai.com ([169.254.1.15]) by USMA1EX-CASHUB5.kendall.corp.akamai.com ([172.27.105.21]) with mapi; Tue, 16 Dec 2014 10:47:41 -0500 From: "Salz, Rich" To: Phillip Hallam-Baker , "acme@ietf.org" Date: Tue, 16 Dec 2014 10:47:40 -0500 Thread-Topic: [Acme] CSR in JSON Thread-Index: AdAZMZCRzRACJy++TUK50xKZr6xCzQAFb6pQ Message-ID: <2A0EFB9C05D0164E98F19BB0AF3708C71D54F0F27D@USMBX1.msg.corp.akamai.com> References: <54900F5C.2000809@gmail.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: acceptlanguage: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Archived-At: http://mailarchive.ietf.org/arch/msg/acme/C0xTnjD7EUxoRMCMtj_10_HSHzE Subject: Re: [Acme] CSR in JSON X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Dec 2014 15:47:57 -0000 PiBTaW5jZSB3ZSBhcmUgZ29pbmcgdG8gYmUgZ2VuZXJhdGluZyBYLjUwOSBjZXJ0aWZpY2F0ZXMs IEFTTi4xIGlzIGluZXNjYXBhYmxlLg0KDQpZZXMsIGJ1dCBub3QgbmVjZXNzYXJpbHkgZm9yIGFu eXRpbmcgb3RoZXIgdGhhbiB0aGUgY2VydHMuDQoNCj5UaGVyZSBpcyBhIGxvdCBvZiBtYWNoaW5l cnkgdGhhdCBkZXBlbmRzIG9uIGdlbmVyYXRpbmcgQ1NScy4gU28gc3VwcG9ydCBmb3IgQ1NScyBp cyBlc3NlbnRpYWwuIER1cGxpY2F0aW5nIHRoYXQgZnVuY3Rpb25hbGl0eSBpbiBKU09OIGRvZXMg bm90IHNlZW0gbGlrZSBhIHByaW9yaXR5IHRvIG1lLg0KDQpBZ3JlZSB3aXRoIGZpcnN0IHNlbnRl bmNlLCBkaXNhZ3JlZSB3aXRoIHRoZSBzZWNvbmQsIGFuZCBoYXZlIGFuIG9wZW4gbWluZCBvbiB0 aGUgdGhpcmQuDQoNClRoZXJlIGFyZSBtYW55IGNlcnRpZmljYXRlIGVucm9sbG1lbnQgcHJvdGNv bHMgYW5kIGRhdGEgZm9ybWF0cyBhbHJlYWR5IG91dCB0aGVyZS4gIEkgZG9uJ3QgYmVsaWV2ZSBB Q01FIG5lZWRzIHRvIGJlIHRpZWQgdG8gaW50ZXJvcCB3aXRoIGFueSBvZiB0aGVtLiBBZnRlciBh bGwsIGlmIHRoZXkgd2VyZSBhcyB3aWxkbHkgc3VjY2Vzc2Z1bCBhcyBpbml0aWFsbHkgZXhwZWN0 ZWQsIHRoZXJlIHdvdWxkbid0IGJlIG5lZWQgZm9yIHlldCBhbm90aGVyLg0KDQo= From nobody Tue Dec 16 08:23:30 2014 Return-Path: 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 5C52C1A1B44 for ; Tue, 16 Dec 2014 08:23:29 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.977 X-Spam-Level: X-Spam-Status: No, score=-1.977 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7] 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 vtqmGoVAQXuB for ; Tue, 16 Dec 2014 08:23:27 -0800 (PST) Received: from mail-vc0-f178.google.com (mail-vc0-f178.google.com [209.85.220.178]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 3D8761A1B30 for ; Tue, 16 Dec 2014 08:23:27 -0800 (PST) Received: by mail-vc0-f178.google.com with SMTP id hq11so6649618vcb.37 for ; Tue, 16 Dec 2014 08:23:26 -0800 (PST) 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=e8Z4SsnT0ghmk09SoUJdrbJntNPbS2xWfh8m+esxXpg=; b=JRxIcE1fuHyx5ryL9zxvRtTb4+8+07/Klq8l0FLDFWbvB4vTIY4c9ty9S4DQL2jOvc Q+2ZPoUe+WkUeS8TOSrOjfzZGjing9OmwOrIpN4C2CjeFPgQBPJJzg5JU/ldMeadxgVU GEhbN2lrIHaLbXNFg0pKCA8n67IBUlvAXgV5utJDZ/bKHdBaT+QR1BplkcvY198LWwbR Eq/KknRZpBYrImovRSrkOlkPZturZD8/I3a6B+9eYSw7+WifmTNEyg+wsRB+xTH7cyWY GedeKEnMc3i+me9Ua3ZJ9RBKsxY2H5gLm1mHZfi4rDO9fCz2LgcT75l6pyR3eQLv+f2P k2Aw== X-Gm-Message-State: ALoCoQleJfDV4woMSXEFV1PcgAMq8rZQIevAz9cFB29R6XbRhfCWWF05OGBkqx5NpRLQqedVdSaY MIME-Version: 1.0 X-Received: by 10.220.92.69 with SMTP id q5mr20894601vcm.35.1418747006219; Tue, 16 Dec 2014 08:23:26 -0800 (PST) Received: by 10.31.139.9 with HTTP; Tue, 16 Dec 2014 08:23:26 -0800 (PST) In-Reply-To: <2A0EFB9C05D0164E98F19BB0AF3708C71D54F0F27D@USMBX1.msg.corp.akamai.com> References: <54900F5C.2000809@gmail.com> <2A0EFB9C05D0164E98F19BB0AF3708C71D54F0F27D@USMBX1.msg.corp.akamai.com> Date: Tue, 16 Dec 2014 11:23:26 -0500 Message-ID: From: Richard Barnes To: "Salz, Rich" Content-Type: multipart/alternative; boundary=089e015375ba550bac050a57c7ea Archived-At: http://mailarchive.ietf.org/arch/msg/acme/XfuSHiG44a2X_JO85D3WYsiBU7I Cc: Phillip Hallam-Baker , "acme@ietf.org" Subject: Re: [Acme] CSR in JSON X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Dec 2014 16:23:29 -0000 --089e015375ba550bac050a57c7ea Content-Type: text/plain; charset=UTF-8 On Tue, Dec 16, 2014 at 10:47 AM, Salz, Rich wrote: > > > Since we are going to be generating X.509 certificates, ASN.1 is > inescapable. > > Yes, but not necessarily for anyting other than the certs. > > >There is a lot of machinery that depends on generating CSRs. So support > for CSRs is essential. Duplicating that functionality in JSON does not seem > like a priority to me. > > Agree with first sentence, disagree with the second, and have an open mind > on the third. > > There are many certificate enrollment protcols and data formats already > out there. I don't believe ACME needs to be tied to interop with any of > them. After all, if they were as wildly successful as initially expected, > there wouldn't be need for yet another. > I'm in sort of the same place as PHB here. No, we don't necessarily have to interop with legacy stuff (though it wouldn't hurt). But we do need a language to talk about X.509 certs, and CSRs have that. If we invented something new, we would have to re-do a bunch of stuff that CSRs already have. Of course, if we get extensibility right, we can add a non-CSR option in the future, if people really think they need it. --Richard > > _______________________________________________ > Acme mailing list > Acme@ietf.org > https://www.ietf.org/mailman/listinfo/acme > --089e015375ba550bac050a57c7ea Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable


On Tue, Dec 16, 2014 at 10:47 AM, Salz, Rich <rsalz@akamai.com><= /span> wrote:
> Since we = are going to be generating X.509 certificates, ASN.1 is inescapable.

Yes, but not necessarily for anyting other than the certs.

>There is a lot of machinery that depends on generating CSRs. So support= for CSRs is essential. Duplicating that functionality in JSON does not see= m like a priority to me.

Agree with first sentence, disagree with the second, and have an ope= n mind on the third.

There are many certificate enrollment protcols and data formats already out= there.=C2=A0 I don't believe ACME needs to be tied to interop with any= of them. After all, if they were as wildly successful as initially expecte= d, there wouldn't be need for yet another.

I'm in sort of the same place as PHB here.=C2=A0 No, we don'= ;t necessarily have to interop with legacy stuff (though it wouldn't hu= rt).=C2=A0 But we do need a language to talk about X.509 certs, and CSRs ha= ve that.=C2=A0 If we invented something new, we would have to re-do a bunch= of stuff that CSRs already have.

Of course, if we get extensibility= right, we can add a non-CSR option in the future, if people really think t= hey need it.

--Richard

=C2=A0

_______________________________________________
Acme mailing list
Acme@ietf.org
ht= tps://www.ietf.org/mailman/listinfo/acme
--089e015375ba550bac050a57c7ea-- From nobody Tue Dec 16 08:24:11 2014 Return-Path: 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 096841A1BC4 for ; Tue, 16 Dec 2014 08:24:09 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.277 X-Spam-Level: X-Spam-Status: No, score=-1.277 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FM_FORGED_GMAIL=0.622, FREEMAIL_FROM=0.001, HTML_MESSAGE=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 Vuv2lrvdw7EC for ; Tue, 16 Dec 2014 08:24:08 -0800 (PST) Received: from mail-lb0-x230.google.com (mail-lb0-x230.google.com [IPv6:2a00:1450:4010:c04::230]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 32B111A1BA4 for ; Tue, 16 Dec 2014 08:24:08 -0800 (PST) Received: by mail-lb0-f176.google.com with SMTP id p9so11043382lbv.21 for ; Tue, 16 Dec 2014 08:24:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=Aj9fKABcwjcuxJXg6F0Clp/m0BxC+A8JM5nHFRQEm3M=; b=LZDXEHIUSwG/8zc1QmtWYV00bWUB+5tiLNg1q4uKrSA4ycAkNDmacYN2F9f/Vhgzzz fAzIMfBpn6HVAlVQHqTl76HxSfzQyJfWJOyEhzUeHb5LXQe0RTEVEkSrtu9+PBfB4pdU 7TLWJ/9Oe4MN58h5RMBMnLoJmlemFshm8oHhAgUz6so11hUqRLZRLmO7HG1IJinsGEBy /0I/dYc2N9eoLfMjxCQdrEw36l7+4usoREhMbAEWMxxu2yJpsS8bS3LXy4HUEjoznIwL NQ2GES1MxB07ztD80I+aHoblruJ7QABhMkLCEht7/XwWekjLn25q7Tv4hiMdFth32U6r Z68g== MIME-Version: 1.0 X-Received: by 10.152.219.3 with SMTP id pk3mr36530005lac.19.1418747046707; Tue, 16 Dec 2014 08:24:06 -0800 (PST) Sender: hallam@gmail.com Received: by 10.112.19.42 with HTTP; Tue, 16 Dec 2014 08:24:06 -0800 (PST) In-Reply-To: <2A0EFB9C05D0164E98F19BB0AF3708C71D54F0F27D@USMBX1.msg.corp.akamai.com> References: <54900F5C.2000809@gmail.com> <2A0EFB9C05D0164E98F19BB0AF3708C71D54F0F27D@USMBX1.msg.corp.akamai.com> Date: Tue, 16 Dec 2014 11:24:06 -0500 X-Google-Sender-Auth: lJHac2qqYuLcdvEbBOpJmaQH2oE Message-ID: From: Phillip Hallam-Baker To: "Salz, Rich" Content-Type: multipart/alternative; boundary=001a113409d4bec9cc050a57c909 Archived-At: http://mailarchive.ietf.org/arch/msg/acme/Wu0QVxiW65bjXKwPCJMCaf3ji_c Cc: "acme@ietf.org" Subject: Re: [Acme] CSR in JSON X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Dec 2014 16:24:10 -0000 --001a113409d4bec9cc050a57c909 Content-Type: text/plain; charset=UTF-8 On Tue, Dec 16, 2014 at 10:47 AM, Salz, Rich wrote: > > > Since we are going to be generating X.509 certificates, ASN.1 is > inescapable. > > Yes, but not necessarily for anyting other than the certs. > > >There is a lot of machinery that depends on generating CSRs. So support > for CSRs is essential. Duplicating that functionality in JSON does not seem > like a priority to me. > > Agree with first sentence, disagree with the second, and have an open mind > on the third. > > There are many certificate enrollment protcols and data formats already > out there. I don't believe ACME needs to be tied to interop with any of > them. After all, if they were as wildly successful as initially expected, > there wouldn't be need for yet another. > CSR is widely successful, it is used for pretty much 100% of the public certs issued. I am pretty sure there is no actual 'need' for yet another enrollment protocol. We could almost certainly implement automated enrollment by extending one of the existing schemes. The reason it is preferable to move to a new protocol rather than extend the existing ones is that the only part of the protocol that is strongly coupled to the PKIX part is CSR and the cost of making any change to the protocol is almost entirely the cost of QA. So reuse of legacy code isn't much of an issue. Most of the code and hardware out there has been written based on a CSR though. --001a113409d4bec9cc050a57c909 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
On T= ue, Dec 16, 2014 at 10:47 AM, Salz, Rich <rsalz@akamai.com> w= rote:
> Since we are goin= g to be generating X.509 certificates, ASN.1 is inescapable.

Yes, but not necessarily for anyting other than the certs.

>There is a lot of machinery that depends on generating CSRs. So support= for CSRs is essential. Duplicating that functionality in JSON does not see= m like a priority to me.

Agree with first sentence, disagree with the second, and have an ope= n mind on the third.

There are many certificate enrollment protcols and data formats already out= there.=C2=A0 I don't believe ACME needs to be tied to interop with any= of them. After all, if they were as wildly successful as initially expecte= d, there wouldn't be need for yet another.

CSR is widely successful, it is used for pretty much 100% of the pu= blic certs issued.

I am pretty sure there is no ac= tual 'need' for yet another enrollment protocol. We could almost ce= rtainly implement automated enrollment by extending one of the existing sch= emes.

The reason it is preferable to move to a new= protocol rather than extend the existing ones is that the only part of the= protocol that is strongly coupled to the PKIX part is CSR and the cost of = making any change to the protocol is almost entirely the cost of QA. So reu= se of legacy code isn't much of an issue.

Most= of the code and hardware out there has been written based on a CSR though.=

=C2=A0
--001a113409d4bec9cc050a57c909-- From nobody Tue Dec 16 08:27:58 2014 Return-Path: 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 8ED681A1BDF for ; Tue, 16 Dec 2014 08:27:47 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.977 X-Spam-Level: X-Spam-Status: No, score=-1.977 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7] 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 rtOI7vlM4Bon for ; Tue, 16 Dec 2014 08:27:45 -0800 (PST) Received: from mail-vc0-f170.google.com (mail-vc0-f170.google.com [209.85.220.170]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 0312C1A1BDB for ; Tue, 16 Dec 2014 08:27:39 -0800 (PST) Received: by mail-vc0-f170.google.com with SMTP id hy4so6595643vcb.29 for ; Tue, 16 Dec 2014 08:27:39 -0800 (PST) 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=TX8baUFQ/XGmsvWiz89pupzG3CazRODvtRNUIkdz0vM=; b=RL2D1RWstkQ8sxKYsGrOc4QKfsYionjkS6ZhcCNFxtlZi/91PooyaGyN8j5K6cTd8b POrAX0TD24B3OL2V10CisFnMfux571VYSlAQScPXzBjgAJFv6DKzlrNL+OLheowVXX/g M36goC4/vCIBXZXHlXCVYaHUXfdpZ7Zq+lH5IATnE1Q60OAqHgoSZQg4Y+wrqg9ToK44 G6z8tDvpjUYFEarcqviCuCEZq/1CpoWaxTgq9PXBHKpsQEl26tp79Xdfirl35tHvEAJ3 oYycZogwW11iVo8Q78bC7/LMOjL5Df/NSXf2pEAnUcU6jorlsBfx33LiVjakB6PWpwSh prkg== X-Gm-Message-State: ALoCoQlupXnw3Wqif3i0j9PhEe1o2qoRhaFqV2YTFjUSMGPyQbcxeqsatiucHFPaEPtmm02vHo0P MIME-Version: 1.0 X-Received: by 10.52.252.3 with SMTP id zo3mr19477284vdc.51.1418747259058; Tue, 16 Dec 2014 08:27:39 -0800 (PST) Received: by 10.31.139.9 with HTTP; Tue, 16 Dec 2014 08:27:39 -0800 (PST) In-Reply-To: <548FF9E3.1020703@gmail.com> References: <548FF9E3.1020703@gmail.com> Date: Tue, 16 Dec 2014 11:27:39 -0500 Message-ID: From: Richard Barnes To: Anders Rundgren Content-Type: multipart/alternative; boundary=001a1133e3b867109a050a57d6cc Archived-At: http://mailarchive.ietf.org/arch/msg/acme/r4-d0uGKfm4Zmiq6C41M7m-9ZVs Cc: "acme@ietf.org" Subject: Re: [Acme] ACME signature mechanics X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Dec 2014 16:27:49 -0000 --001a1133e3b867109a050a57d6cc Content-Type: text/plain; charset=UTF-8 I think there might be a middle way here. I've been musing about making a "Content-Signature" header that just carries a JWS signature over the payload (no HTTP headers). Since HTTP has to carry the payload bit-exact, there's no c14n nonsense, so this could be much simpler than other HTTP signing proposals. It's sort of like JCS, except that there is actually a guarantee that the payload stays the same ;) That said, if your concern is really human readability, I don't think it's a tragedy to make someone copy/paste into a base64 decoder. On Tue, Dec 16, 2014 at 4:22 AM, Anders Rundgren < anders.rundgren.net@gmail.com> wrote: > > When the transition to JWS has been made, human-readable ACME messages like > > { > "type": "certificateRequest", > "csr": "5jNudRx6Ye4HzKEqT5...FS6aKdZeGsysoCo4H9P", > "signature": { > "alg": "RS256", > "nonce": "h5aYpWVkq-xlJh6cpR-3cw", > "sig": "KxITJ0rNlfDMAtfDr8eAw...fSSoehDFNZKQKzTZPtQ", > "jwk": { > "kty":"RSA", > "e":"AQAB", > "n":"KxITJ0rNlfDMAtfDr8eAw...fSSoehDFNZKQKzTZPtQ" > } } } > > will rather look like > > { > "payload":"", > "protected":"", > "header":, > "signature":"" > } > > Which apart from being ugly JWS also requires a JSON schema validator (or > similar > mechanism) to work on separate, unpacked parts of the message. > > Although I don't expect this to change, you may (or may not) want to know > that > clear-text JSON signatures (without the complexity of XML DSig), is not > black magic, > you only have to use JSON parsers that doesn't "manipulate" input data: > https://openkeystore.googlecode.com/svn/resources/ > trunk/docs/jcs.html#Sample_Signature > > Cheers > AndersR > > _______________________________________________ > Acme mailing list > Acme@ietf.org > https://www.ietf.org/mailman/listinfo/acme > --001a1133e3b867109a050a57d6cc Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
I think there might be a middle way here.=C2=A0 I'= ;ve been musing about making a "Content-Signature" header that ju= st carries a JWS signature over the payload (no HTTP headers).=C2=A0 Since = HTTP has to carry the payload bit-exact, there's no c14n nonsense, so t= his could be much simpler than other HTTP signing proposals.=C2=A0 It's= sort of like JCS, except that there is actually a guarantee that the paylo= ad stays the same ;)

That said, if your concern is = really human readability, I don't think it's a tragedy to make some= one copy/paste into a base64 decoder.
<= br>
On Tue, Dec 16, 2014 at 4:22 AM, Anders Rundg= ren <anders.rundgren.net@gmail.com> wrote:When the transition to JWS has been made, human-re= adable ACME messages like

=C2=A0 =C2=A0{
=C2=A0 =C2=A0 =C2=A0"type": "certificateRequest",
=C2=A0 =C2=A0 =C2=A0"csr": "5jNudRx6Ye4HzKEqT5...FS6a= KdZeGsysoCo4H9P",
=C2=A0 =C2=A0 =C2=A0"signature": {
=C2=A0 =C2=A0 =C2=A0 =C2=A0"alg": "RS256",
=C2=A0 =C2=A0 =C2=A0 =C2=A0"nonce": "h5aYpWVkq-xlJh6cpR-3cw&= quot;,
=C2=A0 =C2=A0 =C2=A0 =C2=A0"sig": "KxITJ0rNlfDMAtfDr8eAw...<= u>
fSSoehDFNZKQKzTZPtQ",
=C2=A0 =C2=A0 =C2=A0 =C2=A0"jwk": {
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0"kty":"RSA",
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0"e":"AQAB",
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0"n":"KxITJ0rNlfDMAtfDr8eAw= ...fSSoehDFNZKQKzTZPtQ"
=C2=A0 }=C2=A0 }=C2=A0 }

will rather look like

{
=C2=A0 "payload":"<base64>",
=C2=A0 "protected":"<base64>",
=C2=A0 "header":<base64>,
=C2=A0 "signature":"<base64>"
}

Which apart from being ugly JWS also requires a JSON schema validator (or s= imilar
mechanism) to work on separate, unpacked parts of the message.

Although I don't expect this to change, you may (or may not) want to kn= ow that
clear-text JSON signatures (without the complexity of XML DSig), is not bla= ck magic,
you only have to use JSON parsers that doesn't "manipulate" i= nput data:
https://openkeystore.googl= ecode.com/svn/resources/trunk/docs/jcs.html#Sample_Signature<= /a>

Cheers
AndersR

_______________________________________________
Acme mailing list
Acme@ietf.org
ht= tps://www.ietf.org/mailman/listinfo/acme
--001a1133e3b867109a050a57d6cc-- From nobody Tue Dec 16 08:33:47 2014 Return-Path: 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 081E81A1BED for ; Tue, 16 Dec 2014 08:33:45 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.277 X-Spam-Level: X-Spam-Status: No, score=-1.277 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FM_FORGED_GMAIL=0.622, FREEMAIL_FROM=0.001, HTML_MESSAGE=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 yu4I8u8zSa1F for ; Tue, 16 Dec 2014 08:33:43 -0800 (PST) Received: from mail-la0-x231.google.com (mail-la0-x231.google.com [IPv6:2a00:1450:4010:c03::231]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A27BA1A1BEE for ; Tue, 16 Dec 2014 08:33:42 -0800 (PST) Received: by mail-la0-f49.google.com with SMTP id hs14so11657164lab.36 for ; Tue, 16 Dec 2014 08:33:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=H+tc8eZ3dwbfemep9iWBaRwLb/NEja11q+m0e5wJ7D8=; b=VdcsavlUmBqXuysbNrMwlzxmYdeOLCX+akIUnAEqaZJAfRJx46IHX9Q1dbZFOymvuY F8hrI35I3KCEYNNDCK9pdPWaeQWM6ULj5YtFChFbBI3Fl52/puwCEA1WrNSvWJr3/M/+ zMdUsEiuuhjZTI6euPK5uI6ygvZKsRMhQFG/taYyn5kZXtm6qC3czGaBu8o1ziTNfusS 54icKRdqRqCz5y9uIiauN5yZtRCWrjl33d3AbKitVd3RI3nEcFVmSh0Fgy1w3ljnKA3b 2DU1CYrT6e6TCaUHddNDwQQjmDavr0VJFiHJQTqUfxnX5xWTi5QgZ9fCTJYdVpw32BY2 sKLg== MIME-Version: 1.0 X-Received: by 10.112.131.1 with SMTP id oi1mr28750388lbb.2.1418747621153; Tue, 16 Dec 2014 08:33:41 -0800 (PST) Sender: hallam@gmail.com Received: by 10.112.19.42 with HTTP; Tue, 16 Dec 2014 08:33:41 -0800 (PST) In-Reply-To: References: <54900F5C.2000809@gmail.com> <2A0EFB9C05D0164E98F19BB0AF3708C71D54F0F27D@USMBX1.msg.corp.akamai.com> Date: Tue, 16 Dec 2014 11:33:41 -0500 X-Google-Sender-Auth: ugx3rw0F9sXTzpMl7RriL53wF7k Message-ID: From: Phillip Hallam-Baker To: Richard Barnes Content-Type: multipart/alternative; boundary=047d7b343106fc2500050a57ebf7 Archived-At: http://mailarchive.ietf.org/arch/msg/acme/EtUd_cwFwY2BenIdbPXIDRsAPwY Cc: "Salz, Rich" , "acme@ietf.org" Subject: Re: [Acme] CSR in JSON X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Dec 2014 16:33:45 -0000 --047d7b343106fc2500050a57ebf7 Content-Type: text/plain; charset=UTF-8 On Tue, Dec 16, 2014 at 11:23 AM, Richard Barnes wrote: > > > > On Tue, Dec 16, 2014 at 10:47 AM, Salz, Rich wrote: >> >> > Since we are going to be generating X.509 certificates, ASN.1 is >> inescapable. >> >> Yes, but not necessarily for anyting other than the certs. >> >> >There is a lot of machinery that depends on generating CSRs. So support >> for CSRs is essential. Duplicating that functionality in JSON does not seem >> like a priority to me. >> >> Agree with first sentence, disagree with the second, and have an open >> mind on the third. >> >> There are many certificate enrollment protcols and data formats already >> out there. I don't believe ACME needs to be tied to interop with any of >> them. After all, if they were as wildly successful as initially expected, >> there wouldn't be need for yet another. >> > > I'm in sort of the same place as PHB here. No, we don't necessarily have > to interop with legacy stuff (though it wouldn't hurt). But we do need a > language to talk about X.509 certs, and CSRs have that. If we invented > something new, we would have to re-do a bunch of stuff that CSRs already > have. > > Of course, if we get extensibility right, we can add a non-CSR option in > the future, if people really think they need it. > > +1 I want to have as little to do with PKIX as possible. It is a Jenga specification at this point. But there is an issue as to what level of abstraction we want ACME to work at. In the PKIX days it was assumed that the end entity would know what sort of cert it wants and ask for it. These days, I am not sure. Lets say we have a site with twenty hosts, some of which process payments, some do ordinary web stuff, some do email. We are likely to have different certificates in use for the different purposes. Should we be expected to configure the end host to know what flavor of cert to install or is that something that we would want to control centrally? If the objective is encrypt by default, we are going to end up with a lot more hosts with certs and a bigger management issue. I see two approaches possible: 1) The end host specifies the type of cert it needs 2) The end hosts specifies what it wants to do with the cert (i.e. domain name and protocol) and lets the issuer sort out what to do --047d7b343106fc2500050a57ebf7 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable


On Tue, Dec 16, 2014 at 11:23 AM, Richard Barnes <= rlb@ipv.sx> w= rote:


On Tue, Dec = 16, 2014 at 10:47 AM, Salz, Rich <rsalz@akamai.com> wrote:> Since we are going to be generating = X.509 certificates, ASN.1 is inescapable.

Yes, but not necessarily for anyting other than the certs.

>There is a lot of machinery that depends on generating CSRs. So support= for CSRs is essential. Duplicating that functionality in JSON does not see= m like a priority to me.

Agree with first sentence, disagree with the second, and have an ope= n mind on the third.

There are many certificate enrollment protcols and data formats already out= there.=C2=A0 I don't believe ACME needs to be tied to interop with any= of them. After all, if they were as wildly successful as initially expecte= d, there wouldn't be need for yet another.

I'm in sort of the same place as PHB here.=C2=A0 No= , we don't necessarily have to interop with legacy stuff (though it wou= ldn't hurt).=C2=A0 But we do need a language to talk about X.509 certs,= and CSRs have that.=C2=A0 If we invented something new, we would have to r= e-do a bunch of stuff that CSRs already have.

Of course, if we get e= xtensibility right, we can add a non-CSR option in the future, if people re= ally think they need it.
=

= +1

I want to have as little to do with PKIX as pos= sible. It is a Jenga specification at this point.

= But there is an issue as to what level of abstraction we want ACME to work = at. In the PKIX days it was assumed that the end entity would know what sor= t of cert it wants and ask for it. These days, I am not sure.

Lets say we have a site with twenty hosts, some = of which process payments, some do ordinary web stuff, some do email. We ar= e likely to have different certificates in use for the different purposes. = Should we be expected to configure the end host to know what flavor of cert= to install or is that something that we would want to control centrally?

If the objective is encrypt by default, we are goin= g to end up with a lot more hosts with certs and a bigger management issue.=


I see two approaches possible:

1) The end host specifies the type of cert it needs
2) The end hosts specifies what it wants to do with the cert (i.e.= domain name and protocol) and lets the issuer sort out what to do



--047d7b343106fc2500050a57ebf7-- From nobody Tue Dec 16 08:48:23 2014 Return-Path: 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 482E71A6F1D for ; Tue, 16 Dec 2014 08:48:13 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.666 X-Spam-Level: X-Spam-Status: No, score=-1.666 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, IP_NOT_FRIENDLY=0.334, RCVD_IN_DNSWL_NONE=-0.0001] 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 hX-cdUcXANDd for ; Tue, 16 Dec 2014 08:48:11 -0800 (PST) Received: from homiemail-a107.g.dreamhost.com (sub4.mail.dreamhost.com [69.163.253.135]) by ietfa.amsl.com (Postfix) with ESMTP id 73A5A1A6EFE for ; Tue, 16 Dec 2014 08:47:46 -0800 (PST) Received: from homiemail-a107.g.dreamhost.com (localhost [127.0.0.1]) by homiemail-a107.g.dreamhost.com (Postfix) with ESMTP id 42B932004F729; Tue, 16 Dec 2014 08:47:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=cryptonector.com; h=date :from:to:cc:subject:message-id:references:mime-version :content-type:in-reply-to; s=cryptonector.com; bh=JYgJPJ2Ipz1FrM /GFcnm7lsPn0g=; b=e5Ql7CPS0EUV5oLZTnp0TbtvA0vhJn5WGBLk5yABKARzfB 5kCxbQBR3d0x48WRbFb0InmifdJtbo5RXCql7FSImFKDI2m7XzclhW6Mt5a4ubZg hETFx0LePR0Mb8jD18pAXeflwxdscZpU7mta2aBSCJloP7O1TW/l1WZ7ZqJ78= Received: from localhost (108-207-244-174.lightspeed.austtx.sbcglobal.net [108.207.244.174]) (Authenticated sender: nico@cryptonector.com) by homiemail-a107.g.dreamhost.com (Postfix) with ESMTPA id D6B872004F706; Tue, 16 Dec 2014 08:47:45 -0800 (PST) Date: Tue, 16 Dec 2014 10:47:45 -0600 From: Nico Williams To: Anders Rundgren Message-ID: <20141216164740.GV3241@localhost> References: <54900F5C.2000809@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <54900F5C.2000809@gmail.com> User-Agent: Mutt/1.5.21 (2010-09-15) Archived-At: http://mailarchive.ietf.org/arch/msg/acme/AOMjGh0FtHRSO3tk7pP2C-s-3pU Cc: acme@ietf.org Subject: Re: [Acme] CSR in JSON X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Dec 2014 16:48:13 -0000 On Tue, Dec 16, 2014 at 11:54:20AM +0100, Anders Rundgren wrote: > I don't see an absolute necessity continuing with PKCS #10 in a JSON-world: > https://openkeystore.googlecode.com/svn/resources/trunk/docs/keygen2.html#Sample.KeyCreationResponse As long as there's no ambiguity between the thing to be signed as a CSR (in whatever encoding, and of whatever form) and other things to be signed with the same key, a different format than PKCS#10 should be fine. Nico -- From nobody Tue Dec 16 09:05:21 2014 Return-Path: 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 A949C1A6FB5 for ; Tue, 16 Dec 2014 09:05:12 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.977 X-Spam-Level: X-Spam-Status: No, score=-1.977 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7] 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 cg_TgqzoxK3W for ; Tue, 16 Dec 2014 09:05:03 -0800 (PST) Received: from mail-lb0-f182.google.com (mail-lb0-f182.google.com [209.85.217.182]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 4AFCB1A1BE3 for ; Tue, 16 Dec 2014 09:05:03 -0800 (PST) Received: by mail-lb0-f182.google.com with SMTP id f15so12333318lbj.27 for ; Tue, 16 Dec 2014 09:05:01 -0800 (PST) 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=rsBx5wGlXgHgL/DJJjN11vVrR6OIX5tBrEfgWqgGGJk=; b=GQ/ZoTN6sH8rqnmYjNrzFrvj6gr5wPvPzEdERhJdUbO7jQfuN07iOxSN3kCGPFNi+q /Ohz+0Bejp/R+lwHKEiI2Ud4pdnNW2wB6gpNqOhQ8uUU5p7c63EPDcTcUBTdmY7sZir1 PE3FrtyPEQaJypiWDZFnKcP1cw46kkUc+7O6ofJCNNOemVt9KTaMW5Rzamz2i8yqptBU DHhVpq0BJFh2IWfaqbEzRMCvEBfHtquOTBtgciWspW4z8dSvxGb+/v3esFCBWg9If2m5 bPUaNqUXxNGCcSsb1FUfZUxeeVapR2ESfvFPrf6ucVv6iBANOZmF9AtmbvvOCxGS1T7o GXPA== X-Gm-Message-State: ALoCoQl8KK21KZSB1JasvJXMkRhWiI3E3iHkp6Rhipw6Ciht+maVNMC3QswFFFnamVEWNfKlDa55 MIME-Version: 1.0 X-Received: by 10.112.63.99 with SMTP id f3mr36014953lbs.47.1418749501756; Tue, 16 Dec 2014 09:05:01 -0800 (PST) Received: by 10.25.12.215 with HTTP; Tue, 16 Dec 2014 09:05:01 -0800 (PST) In-Reply-To: <20141216164740.GV3241@localhost> References: <54900F5C.2000809@gmail.com> <20141216164740.GV3241@localhost> Date: Tue, 16 Dec 2014 12:05:01 -0500 Message-ID: From: Richard Barnes To: Nico Williams Content-Type: multipart/alternative; boundary=001a11c3d1e813eb88050a585ced Archived-At: http://mailarchive.ietf.org/arch/msg/acme/1srNmxgKr4Uu4py6kgzA9aGtx1g Cc: "acme@ietf.org" , Anders Rundgren Subject: Re: [Acme] CSR in JSON X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Dec 2014 17:05:14 -0000 --001a11c3d1e813eb88050a585ced Content-Type: text/plain; charset=UTF-8 On Tue, Dec 16, 2014 at 11:47 AM, Nico Williams wrote: > On Tue, Dec 16, 2014 at 11:54:20AM +0100, Anders Rundgren wrote: > > I don't see an absolute necessity continuing with PKCS #10 in a > JSON-world: > > > https://openkeystore.googlecode.com/svn/resources/trunk/docs/keygen2.html#Sample.KeyCreationResponse > > As long as there's no ambiguity between the thing to be signed as a CSR > (in whatever encoding, and of whatever form) and other things to be > signed with the same key, a different format than PKCS#10 should be > fine. > The challenge is making sure there's no ambiguity. That has pretty much been worked out with PKCS#10. --Richard > > Nico > -- > > _______________________________________________ > Acme mailing list > Acme@ietf.org > https://www.ietf.org/mailman/listinfo/acme > --001a11c3d1e813eb88050a585ced Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
On Tue, Dec 16, 2014 at 11:47 AM, Nico Williams <nic= o@cryptonector.com> wrote:
On Tue, = Dec 16, 2014 at 11:54:20AM +0100, Anders Rundgren wrote:
> I don't see an absolute necessity continuing with PKCS #10 in a JS= ON-world:
> https://openke= ystore.googlecode.com/svn/resources/trunk/docs/keygen2.html#Sample.KeyCreat= ionResponse

As long as there's no ambiguity between the thing to be signed a= s a CSR
(in whatever encoding, and of whatever form) and other things to be
signed with the same key, a different format than PKCS#10 should be
fine.

The challenge is making sure ther= e's no ambiguity.=C2=A0 That has pretty much been worked out with PKCS#= 10.

--Richard

=C2=A0

Nico
--

_______________________________________________
Acme mailing list
Acme@ietf.org
ht= tps://www.ietf.org/mailman/listinfo/acme
--001a11c3d1e813eb88050a585ced-- From nobody Tue Dec 16 09:14:05 2014 Return-Path: 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 0E1401A1BE0 for ; Tue, 16 Dec 2014 09:13:42 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.666 X-Spam-Level: X-Spam-Status: No, score=-1.666 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, IP_NOT_FRIENDLY=0.334, RCVD_IN_DNSWL_NONE=-0.0001] 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 Ucp2HSIJQQ0N for ; Tue, 16 Dec 2014 09:13:41 -0800 (PST) Received: from homiemail-a66.g.dreamhost.com (sub4.mail.dreamhost.com [69.163.253.135]) by ietfa.amsl.com (Postfix) with ESMTP id A520A1A6EFC for ; Tue, 16 Dec 2014 09:12:02 -0800 (PST) Received: from homiemail-a66.g.dreamhost.com (localhost [127.0.0.1]) by homiemail-a66.g.dreamhost.com (Postfix) with ESMTP id 64D25350079; Tue, 16 Dec 2014 09:12:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=cryptonector.com; h=date :from:to:cc:subject:message-id:references:mime-version :content-type:in-reply-to; s=cryptonector.com; bh=3pSX+/ZTdxymJy rBtiylXHfInpI=; b=PlZu/dJfvWGqbejLyLpmVKGo+3nHwOHIw2RnS2G82i1boh fBQ4CAt4+kPBxBHKssuitVe9VezmBSnV4ojTGOnmxSTBAfC4wEAAT49Yvr/W2XVJ JKCozYCck/hSrSVXCOjutbxYpINPde4etDv5TbAKpGXnmZun4YI8zt2wtlRPI= Received: from localhost (108-207-244-174.lightspeed.austtx.sbcglobal.net [108.207.244.174]) (Authenticated sender: nico@cryptonector.com) by homiemail-a66.g.dreamhost.com (Postfix) with ESMTPA id 0FEEF350078; Tue, 16 Dec 2014 09:12:01 -0800 (PST) Date: Tue, 16 Dec 2014 11:12:01 -0600 From: Nico Williams To: Richard Barnes Message-ID: <20141216171156.GY3241@localhost> References: <54900F5C.2000809@gmail.com> <20141216164740.GV3241@localhost> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) Archived-At: http://mailarchive.ietf.org/arch/msg/acme/3Oi38rPeUSITA__pev-DZaQ43f0 Cc: "acme@ietf.org" , Anders Rundgren Subject: Re: [Acme] CSR in JSON X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Dec 2014 17:13:42 -0000 On Tue, Dec 16, 2014 at 12:05:01PM -0500, Richard Barnes wrote: > On Tue, Dec 16, 2014 at 11:47 AM, Nico Williams > wrote: > > On Tue, Dec 16, 2014 at 11:54:20AM +0100, Anders Rundgren wrote: > > > I don't see an absolute necessity continuing with PKCS #10 in a > > JSON-world: > > > > > https://openkeystore.googlecode.com/svn/resources/trunk/docs/keygen2.html#Sample.KeyCreationResponse > > > > As long as there's no ambiguity between the thing to be signed as a CSR > > (in whatever encoding, and of whatever form) and other things to be > > signed with the same key, a different format than PKCS#10 should be > > fine. > > The challenge is making sure there's no ambiguity. That has pretty much > been worked out with PKCS#10. I didn't say it would be easy. I just stated a constraint on the alternatives. I think this is a strong incentive to stick to PKCS#10, though it's not a foregone conclusion that we must. Nico -- From nobody Tue Dec 16 09:14:06 2014 Return-Path: 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 235B91A7016 for ; Tue, 16 Dec 2014 09:14:01 -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 jlKXyg2E5KeN for ; Tue, 16 Dec 2014 09:13:58 -0800 (PST) Received: from mail-wg0-x22e.google.com (mail-wg0-x22e.google.com [IPv6:2a00:1450:400c:c00::22e]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 165AA1A7013 for ; Tue, 16 Dec 2014 09:12:37 -0800 (PST) Received: by mail-wg0-f46.google.com with SMTP id x13so17985770wgg.19 for ; Tue, 16 Dec 2014 09:12:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=L3hHNoKzYiul4su9oJrpIqFDs3xxmXpxldKqv85J+kE=; b=l4RO+J9I19ASafkr1YQcg2NRqR7A3uw4M3+exWmMhnipIR2PaYIl8SeH0Zyjynn1AI qk1Q4WBKe0sSWjoGf6P+ZXpVIlwk6au3geTW1VJEea0hwEl28ePgHVyTF3Z6Ar1NoVxI /zAq3aqdPjmbBIpE5nWbIct3VYqU66612B70R0ZkgkzLGNgDQVjNbxm5MAi1WQryHFkV 7IrR097PfJrEjTQUTGXfMFq1FnPPbrGCW8bCxIQm/DMADh6hGJlj9zdvejQBMJNnX1Oe fnMZJHiQwz3B4o/7GWF+XhZ51d5shnPKwmClUXNN73d3HTzQk4f1g7doZXNpyX5XcHoy bhXQ== X-Received: by 10.194.77.142 with SMTP id s14mr65294457wjw.94.1418749955679; Tue, 16 Dec 2014 09:12:35 -0800 (PST) Received: from [192.168.1.79] (52.16.14.81.rev.sfr.net. [81.14.16.52]) by mx.google.com with ESMTPSA id gs9sm1779273wjc.47.2014.12.16.09.12.34 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Tue, 16 Dec 2014 09:12:34 -0800 (PST) Message-ID: <549067FD.4060307@gmail.com> Date: Tue, 16 Dec 2014 18:12:29 +0100 From: Anders Rundgren User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 MIME-Version: 1.0 To: Richard Barnes , Nico Williams References: <54900F5C.2000809@gmail.com> <20141216164740.GV3241@localhost> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Archived-At: http://mailarchive.ietf.org/arch/msg/acme/xf-LuiC4E2bA7ByHj_NmYXaePME Cc: "acme@ietf.org" Subject: Re: [Acme] CSR in JSON X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Dec 2014 17:14:01 -0000 On 2014-12-16 18:05, Richard Barnes wrote: > On Tue, Dec 16, 2014 at 11:47 AM, Nico Williams > wrote: > > On Tue, Dec 16, 2014 at 11:54:20AM +0100, Anders Rundgren wrote: > > I don't see an absolute necessity continuing with PKCS #10 in a JSON-world: > >https://openkeystore.googlecode.com/svn/resources/trunk/docs/keygen2.html#Sample.KeyCreationResponse > > As long as there's no ambiguity between the thing to be signed as a CSR > (in whatever encoding, and of whatever form) and other things to be > signed with the same key, a different format than PKCS#10 should be > fine. > > > The challenge is making sure there's no ambiguity. That has pretty much been worked out with PKCS#10. As I understand quite a lot of CAs out there do not use anything but the public key + proof of a CSR and take the "information" from other sources. If this applies to ACME I don't know since I haven't fully digested the process model yet. FWIW, the the FIDO/Google folks didn't reuse anything but X.509 in their JSON-based U2F stuff. I found it trivial creating the CSR for SKS/KeyGen2. Anders > > --Richard > > > Nico > -- > > _______________________________________________ > Acme mailing list > Acme@ietf.org > https://www.ietf.org/mailman/listinfo/acme > From nobody Tue Dec 16 10:39:59 2014 Return-Path: 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 097871A86EC for ; Tue, 16 Dec 2014 10:39:58 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -3.647 X-Spam-Level: X-Spam-Status: No, score=-3.647 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HELO_MISMATCH_COM=0.553, RCVD_IN_DNSWL_MED=-2.3] 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 S3BavIJt8Ocu for ; Tue, 16 Dec 2014 10:39:56 -0800 (PST) Received: from proper.com (Hoffman.Proper.COM [207.182.41.81]) (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 B93421A86FC for ; Tue, 16 Dec 2014 10:39:54 -0800 (PST) Received: from [10.20.30.90] (50-1-99-181.dsl.dynamic.fusionbroadband.com [50.1.99.181]) (authenticated bits=0) by proper.com (8.14.9/8.14.7) with ESMTP id sBGIdrpJ049886 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 16 Dec 2014 11:39:54 -0700 (MST) (envelope-from paul.hoffman@vpnc.org) X-Authentication-Warning: proper.com: Host 50-1-99-181.dsl.dynamic.fusionbroadband.com [50.1.99.181] claimed to be [10.20.30.90] Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 8.1 \(1993\)) From: Paul Hoffman In-Reply-To: Date: Tue, 16 Dec 2014 10:39:53 -0800 Content-Transfer-Encoding: quoted-printable Message-Id: References: <54900F5C.2000809@gmail.com> <20141216164740.GV3241@localhost> To: Richard Barnes X-Mailer: Apple Mail (2.1993) Archived-At: http://mailarchive.ietf.org/arch/msg/acme/-gTHPT5NFPl_6Po-LFGByybSer8 Cc: "acme@ietf.org" Subject: Re: [Acme] CSR in JSON X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Dec 2014 18:39:58 -0000 On Dec 16, 2014, at 9:05 AM, Richard Barnes wrote: > The challenge is making sure there's no ambiguity. That has pretty = much been worked out with PKCS#10. No, no it hasn't. There is little agreement about which fields in a CSR = should appear in the issued cert, which fields in the issued cert that = the CA can add, and which fields from the CSR that the CA can change in = the cert. Enrollment protocols that use CSRs handwave. They also don't negotiate the above. If your CSR has two identities and = three key usages in it, and you can show proof of possession for both = identities at all three usages, but the CA issues a cert with just one = of each, should you have to pay for that cert? It would have been nice = if the CA could say "Given that CSR, I'm going to issue this cert, do = you agree?". --Paul Hoffman= From nobody Tue Dec 16 10:48:56 2014 Return-Path: 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 8165A1ACDC7 for ; Tue, 16 Dec 2014 10:48:55 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.977 X-Spam-Level: X-Spam-Status: No, score=-1.977 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7] 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 szebaAEhUMoj for ; Tue, 16 Dec 2014 10:48:53 -0800 (PST) Received: from mail-lb0-f169.google.com (mail-lb0-f169.google.com [209.85.217.169]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1696F1A6EFF for ; Tue, 16 Dec 2014 10:48:53 -0800 (PST) Received: by mail-lb0-f169.google.com with SMTP id p9so11404184lbv.14 for ; Tue, 16 Dec 2014 10:48:51 -0800 (PST) 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=BO2pS/eb2SMOhnz7w6An0VR6++g3wP92U5m3f03UYoA=; b=Xa2jO+9sYtuIxvh+7RtcglDSGKqIyDuJ5eyxeArlLSco/J1kWBf08ZbUwcZFSaQBjA idqb2/0Y8vvmuLy20ewXQ51mRQGl6PYwG2nSzBhHlnZt0PkjT6DJvzXiDEg/V7yDQu6z zYH2SoMN4cWWPs/N+GxHP8LwSc2ssRpmdqzH7deP3Wv+51qmTbSp8zVh7/6ZVcoZCLdk 8MaxH6cgebZ4OYVLxb3dFAuK0JZ25ErxxQCoaAVtMAAOrWnjOVvoXJsBCP8cmY2aquG0 UeH8Ud2zQ6+0YlCeGB7R99uPg+GoU5vsSsD/VBAj8d1Neoc7mLP4iQml0HdIXSPnekYK 4ytA== X-Gm-Message-State: ALoCoQnyNPB+muBb2ylrVLIWSN2zHz9Zectg2YO8usqzC9Rjnn1jzvkuX/4OnnRcAzXt2JdoKtep MIME-Version: 1.0 X-Received: by 10.112.63.99 with SMTP id f3mr36463155lbs.47.1418755731568; Tue, 16 Dec 2014 10:48:51 -0800 (PST) Received: by 10.25.12.215 with HTTP; Tue, 16 Dec 2014 10:48:51 -0800 (PST) In-Reply-To: References: <54900F5C.2000809@gmail.com> <20141216164740.GV3241@localhost> Date: Tue, 16 Dec 2014 13:48:51 -0500 Message-ID: From: Richard Barnes To: Paul Hoffman Content-Type: multipart/alternative; boundary=001a11c3d1e86764e4050a59cfe7 Archived-At: http://mailarchive.ietf.org/arch/msg/acme/A3jUEQsg_j39kU7gGhqRmdWAvik Cc: "acme@ietf.org" Subject: Re: [Acme] CSR in JSON X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Dec 2014 18:48:55 -0000 --001a11c3d1e86764e4050a59cfe7 Content-Type: text/plain; charset=UTF-8 On Tue, Dec 16, 2014 at 1:39 PM, Paul Hoffman wrote: > On Dec 16, 2014, at 9:05 AM, Richard Barnes wrote: > > The challenge is making sure there's no ambiguity. That has pretty much > been worked out with PKCS#10. > > No, no it hasn't. There is little agreement about which fields in a CSR > should appear in the issued cert, which fields in the issued cert that the > CA can add, and which fields from the CSR that the CA can change in the > cert. Enrollment protocols that use CSRs handwave. > > They also don't negotiate the above. If your CSR has two identities and > three key usages in it, and you can show proof of possession for both > identities at all three usages, but the CA issues a cert with just one of > each, should you have to pay for that cert? It would have been nice if the > CA could say "Given that CSR, I'm going to issue this cert, do you agree?". > Fair enough. It seems pretty doubtful that you're ever going to get much resolution on this negotiation, since ultimately, the CA gets to do what it wants*. At least CSR has a clear syntax for talking about these things. Trying to build a full negotiation protocol seems like an infinite well of complexity. In the context of ACME, which is oriented around name validation, it seems like you could solve it partially. For example, you could say that the CA is expected to issue a certificate that contains SANs for all names from the CSR for which the client has proved possession. And probably draw some boxes around subject/issuer/validity with regard to which ones the CA needs to respect and which the client should assume the CA will change. It only really gets fiddly when you start talking about key usages and other extensions, which are secondary to the authentication function of the cert, and honestly probably inappropriate for most ACME contexts. If my only relationship to you is that you proved possession of example.com, how should I decide what uses I grant you over that domain? Seems very CA-specific. --Richard > > --Paul Hoffman --001a11c3d1e86764e4050a59cfe7 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
On Tue, Dec 16, 2014 at 1:39 PM, Paul Hoffman <paul.h= offman@vpnc.org> wrote:
On Dec 16, 2014, at 9:05 AM, Richard Barnes <rlb@ipv.sx> wro= te:
> The challenge is making sure there's no ambiguity.=C2=A0 That has = pretty much been worked out with PKCS#10.

No, no it hasn't. There is little agreement about which fields i= n a CSR should appear in the issued cert, which fields in the issued cert t= hat the CA can add, and which fields from the CSR that the CA can change in= the cert. Enrollment protocols that use CSRs handwave.

They also don't negotiate the above. If your CSR has two identities and= three key usages in it, and you can show proof of possession for both iden= tities at all three usages, but the CA issues a cert with just one of each,= should you have to pay for that cert? It would have been nice if the CA co= uld say "Given that CSR, I'm going to issue this cert, do you agre= e?".

Fair enough. It seems pretty = doubtful that you're ever going to get much resolution on this negotiat= ion, since ultimately, the CA gets to do what it wants*.=C2=A0=C2=A0 At lea= st CSR has a clear syntax for talking about these things.=C2=A0

Try= ing to build a full negotiation protocol seems like an infinite well of com= plexity.=C2=A0 In the context of ACME, which is oriented around name valida= tion, it seems like you could solve it partially.=C2=A0 For example, you co= uld say that the CA is expected to issue a certificate that contains SANs f= or all names from the CSR for which the client has proved possession.=C2=A0= And probably draw some boxes around subject/issuer/validity with regard to= which ones the CA needs to respect and which the client should assume the = CA will change.=C2=A0

It only really gets fiddly when you start tal= king about key usages and other extensions, which are secondary to the auth= entication function of the cert, and honestly probably inappropriate for mo= st ACME contexts.=C2=A0 If my only relationship to you is that you proved p= ossession of example.com, how should I d= ecide what uses I grant you over that domain?=C2=A0 Seems very CA-specific.=

--Richard

=C2=A0

--Paul Hoffman
--001a11c3d1e86764e4050a59cfe7-- From nobody Tue Dec 16 11:12:17 2014 Return-Path: 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 152531A1B99 for ; Tue, 16 Dec 2014 11:12:15 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -3.647 X-Spam-Level: X-Spam-Status: No, score=-3.647 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HELO_MISMATCH_COM=0.553, RCVD_IN_DNSWL_MED=-2.3] 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 S2HGfMCFPFfc for ; Tue, 16 Dec 2014 11:12:13 -0800 (PST) Received: from proper.com (Hoffman.Proper.COM [207.182.41.81]) (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 1C5371ACD95 for ; Tue, 16 Dec 2014 11:12:13 -0800 (PST) Received: from [10.20.30.90] (50-1-99-181.dsl.dynamic.fusionbroadband.com [50.1.99.181]) (authenticated bits=0) by proper.com (8.14.9/8.14.7) with ESMTP id sBGJCBoc053601 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 16 Dec 2014 12:12:12 -0700 (MST) (envelope-from paul.hoffman@vpnc.org) X-Authentication-Warning: proper.com: Host 50-1-99-181.dsl.dynamic.fusionbroadband.com [50.1.99.181] claimed to be [10.20.30.90] Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 8.1 \(1993\)) From: Paul Hoffman In-Reply-To: Date: Tue, 16 Dec 2014 11:12:11 -0800 Content-Transfer-Encoding: quoted-printable Message-Id: <7EFE41CA-5976-4FF6-8A71-874733890DCC@vpnc.org> References: <54900F5C.2000809@gmail.com> <20141216164740.GV3241@localhost> To: Richard Barnes X-Mailer: Apple Mail (2.1993) Archived-At: http://mailarchive.ietf.org/arch/msg/acme/lMQQdqQlpzcxfwKnEB73zlJbGkc Cc: "acme@ietf.org" Subject: Re: [Acme] CSR in JSON X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Dec 2014 19:12:15 -0000 On Dec 16, 2014, at 10:48 AM, Richard Barnes wrote: > On Tue, Dec 16, 2014 at 1:39 PM, Paul Hoffman = wrote: > On Dec 16, 2014, at 9:05 AM, Richard Barnes wrote: > > The challenge is making sure there's no ambiguity. That has pretty = much been worked out with PKCS#10. >=20 > No, no it hasn't. There is little agreement about which fields in a = CSR should appear in the issued cert, which fields in the issued cert = that the CA can add, and which fields from the CSR that the CA can = change in the cert. Enrollment protocols that use CSRs handwave. >=20 > They also don't negotiate the above. If your CSR has two identities = and three key usages in it, and you can show proof of possession for = both identities at all three usages, but the CA issues a cert with just = one of each, should you have to pay for that cert? It would have been = nice if the CA could say "Given that CSR, I'm going to issue this cert, = do you agree?". >=20 > Fair enough. It seems pretty doubtful that you're ever going to get = much resolution on this negotiation, since ultimately, the CA gets to do = what it wants*. Disagree. It wants to be paid and it wants your repeat business. If our = enrollment protocol doesn't build that, you'll have a bunch of = pissed-off customers. > At least CSR has a clear syntax for talking about these things. =20 No, it really doesn't. In today's CSR, there is no way to say "I would = like a cert for this set of things, but I won't accept one that doesn't = at least have this set of things". It also does not have a clear way of = indicating wildcards in identities: that is done by vague mutual = agreement. I understand the desire not to do the hard work here. It's fine to say = "we can live with CSRs", but not fine to say that the do things well = that we know they don't. > Trying to build a full negotiation protocol seems like an infinite = well of complexity. Not to some of us. > In the context of ACME, which is oriented around name validation, it = seems like you could solve it partially. For example, you could say = that the CA is expected to issue a certificate that contains SANs for = all names from the CSR for which the client has proved possession. =20 That seems fine as long as a response with no cert can also say "I = didn't issue the cert because I could not validate name X which you = asked for" and "I didn't issue the cert because you asked for too many = names". > And probably draw some boxes around subject/issuer/validity with = regard to which ones the CA needs to respect and which the client should = assume the CA will change. That is good, but not enough. Expectations about key usage turns out to = be a huge problem. The location of the subject in the cert (subject vs. = subjectAltName) is a huge issue. The format of some of the subjects = (FQDN vs. DC for domain names) is a a huge issue. > It only really gets fiddly when you start talking about key usages and = other extensions, which are secondary to the authentication function of = the cert, and honestly probably inappropriate for most ACME contexts. =20= Fully disagree: they are not "secondary" at all, certainly not for PKIX.=20= > If my only relationship to you is that you proved possession of = example.com, how should I decide what uses I grant you over that domain? = Seems very CA-specific. That would be fine in a protocol that was not trying to include payment, = but I thought ACME was going to try that (and I think it should).=20 Please don't undershoot here. The sooner we start to deal with all the = issues CSRs have, and enrollment has, the sooner we can be sure which = bits we don't want to do. Assuming from the beginning that we are going = to do some under-specified minimum is not a good way to design a = protocol that we hope will have a huge impact on the security of the = web. --Paul Hoffman= From nobody Tue Dec 16 11:49:01 2014 Return-Path: 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 457931A8752 for ; Tue, 16 Dec 2014 11:48:57 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.977 X-Spam-Level: X-Spam-Status: No, score=-1.977 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7] 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 zHcXJTdejhld for ; Tue, 16 Dec 2014 11:48:53 -0800 (PST) Received: from mail-lb0-f175.google.com (mail-lb0-f175.google.com [209.85.217.175]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 187701A8750 for ; Tue, 16 Dec 2014 11:48:52 -0800 (PST) Received: by mail-lb0-f175.google.com with SMTP id u10so11271858lbd.20 for ; Tue, 16 Dec 2014 11:48:50 -0800 (PST) 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=A0JVpm1JGsMo/0KsCXDLd7v6CGmUi/4quqG7+TYZYgE=; b=OXTzSn+LD25C/WAEq55v7jnkFROj+KEjoWQT0CBHGT7dKyuhs3eCj2xQO8E5NiNMB5 ckXOZ5OSwrIcddLAzquRNZuQkSfxqCb+LE/g3RjHrzA0O9kdFcIKb57MxbsAK4cNOs3z CZAU1p+pUhDjyhqdxjcXCKNiTo9JrrUjzBAVPNOXBTqGwrifxcxbqEec5NvxJdv1wNZq ic+T4zphSJMqWexqFX8WLn+nyqQHX4/iNqlKWYz0A+lyAXaTQzupb9yNa5NJ8Ou1j3qc G4ZgKNGEFdXB6Ka5SuHsfNvlKhshv6bx6J1SAMDsxmXdTv46a/SRilhiJ4i3OvpiL23X ojvQ== X-Gm-Message-State: ALoCoQlXKXv9g03KG+iLKhAszAZMu/GaZp/uPFqBrt1V7wmwmNYD+9bQufqZMvEdtdDo0kmu4BBM MIME-Version: 1.0 X-Received: by 10.112.101.100 with SMTP id ff4mr37029955lbb.94.1418759330441; Tue, 16 Dec 2014 11:48:50 -0800 (PST) Received: by 10.25.12.215 with HTTP; Tue, 16 Dec 2014 11:48:50 -0800 (PST) In-Reply-To: <7EFE41CA-5976-4FF6-8A71-874733890DCC@vpnc.org> References: <54900F5C.2000809@gmail.com> <20141216164740.GV3241@localhost> <7EFE41CA-5976-4FF6-8A71-874733890DCC@vpnc.org> Date: Tue, 16 Dec 2014 14:48:50 -0500 Message-ID: From: Richard Barnes To: Paul Hoffman Content-Type: multipart/alternative; boundary=001a1135e298e9c87f050a5aa56a Archived-At: http://mailarchive.ietf.org/arch/msg/acme/Q9KAxYW7S1ooNET11dPGY-XGKA0 Cc: "acme@ietf.org" Subject: Re: [Acme] CSR in JSON X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Dec 2014 19:48:57 -0000 --001a1135e298e9c87f050a5aa56a Content-Type: text/plain; charset=UTF-8 Please do not get hung up on payment. ACME should support certificate issuance where payment is involved, but that does not have an architectural impact on the protocol. Payment is by nature out of band (since there's no standard for it), and most of the things you're asserting are necessary due to payment are really just, "the client should be able to know what the CA is going to issue". Happy to discuss on those technical grounds. As for undershooting: We should also not overshoot, by biting off more complexity than the baseline requires. The phrase Minimum Viable Product comes to mind. Let's start simple, with hooks to get more complex as needed. If we really want some sort of negotiation system, I would propose something like the following: 0. It is assumed that an ACME-enabled CA will issue certificates for names validated with ACME. 1. Spec defines the semantic of a CSR in the context of ACME: * Body of the certificate partly up to CA * SAN contains only identifiers authorized with CA * Other extensions in CSR must be directly copied to cert 2. If CSR is unacceptable with those rules, CA rejects request 3. CA rejection message can carry a description of what extensions is willing to issue for this cert body (~= set of identifiers) That way, you can build very basic CAs that do no negotiation (e.g., allow whatever CSR requests, allow a specific profile), or the CA can choose to negotiate. From a spec perspective, we can start with the basic, "reject if you don't like it" version, with a basic "i don't like it because" syntax, then elaborate more on the "what i would like" format later. --Richard On Tue, Dec 16, 2014 at 2:12 PM, Paul Hoffman wrote: > > On Dec 16, 2014, at 10:48 AM, Richard Barnes wrote: > > On Tue, Dec 16, 2014 at 1:39 PM, Paul Hoffman > wrote: > > On Dec 16, 2014, at 9:05 AM, Richard Barnes wrote: > > > The challenge is making sure there's no ambiguity. That has pretty > much been worked out with PKCS#10. > > > > No, no it hasn't. There is little agreement about which fields in a CSR > should appear in the issued cert, which fields in the issued cert that the > CA can add, and which fields from the CSR that the CA can change in the > cert. Enrollment protocols that use CSRs handwave. > > > > They also don't negotiate the above. If your CSR has two identities and > three key usages in it, and you can show proof of possession for both > identities at all three usages, but the CA issues a cert with just one of > each, should you have to pay for that cert? It would have been nice if the > CA could say "Given that CSR, I'm going to issue this cert, do you agree?". > > > > Fair enough. It seems pretty doubtful that you're ever going to get much > resolution on this negotiation, since ultimately, the CA gets to do what it > wants*. > > Disagree. It wants to be paid and it wants your repeat business. If our > enrollment protocol doesn't build that, you'll have a bunch of pissed-off > customers. > > > At least CSR has a clear syntax for talking about these things. > > No, it really doesn't. In today's CSR, there is no way to say "I would > like a cert for this set of things, but I won't accept one that doesn't at > least have this set of things". It also does not have a clear way of > indicating wildcards in identities: that is done by vague mutual agreement. > > I understand the desire not to do the hard work here. It's fine to say "we > can live with CSRs", but not fine to say that the do things well that we > know they don't. > > > Trying to build a full negotiation protocol seems like an infinite well > of complexity. > > Not to some of us. > > > In the context of ACME, which is oriented around name validation, it > seems like you could solve it partially. For example, you could say that > the CA is expected to issue a certificate that contains SANs for all names > from the CSR for which the client has proved possession. > > That seems fine as long as a response with no cert can also say "I didn't > issue the cert because I could not validate name X which you asked for" and > "I didn't issue the cert because you asked for too many names". > > > And probably draw some boxes around subject/issuer/validity with regard > to which ones the CA needs to respect and which the client should assume > the CA will change. > > That is good, but not enough. Expectations about key usage turns out to be > a huge problem. The location of the subject in the cert (subject vs. > subjectAltName) is a huge issue. The format of some of the subjects (FQDN > vs. DC for domain names) is a a huge issue. > > > It only really gets fiddly when you start talking about key usages and > other extensions, which are secondary to the authentication function of the > cert, and honestly probably inappropriate for most ACME contexts. > > Fully disagree: they are not "secondary" at all, certainly not for PKIX. > > > If my only relationship to you is that you proved possession of > example.com, how should I decide what uses I grant you over that domain? > Seems very CA-specific. > > That would be fine in a protocol that was not trying to include payment, > but I thought ACME was going to try that (and I think it should). > > Please don't undershoot here. The sooner we start to deal with all the > issues CSRs have, and enrollment has, the sooner we can be sure which bits > we don't want to do. Assuming from the beginning that we are going to do > some under-specified minimum is not a good way to design a protocol that we > hope will have a huge impact on the security of the web. > > --Paul Hoffman --001a1135e298e9c87f050a5aa56a Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Please do not get hung = up on payment.=C2=A0 ACME should support certificate issuance where payment= is involved, but that does not have an architectural impact on the protoco= l.=C2=A0 Payment is by nature out of band (since there's no standard fo= r it), and most of the things you're asserting are necessary due to pay= ment are really just, "the client should be able to know what the CA i= s going to issue".=C2=A0 Happy to discuss on those technical grounds.<= br>
As for undershooting: We should also not overshoot, by bi= ting off more complexity than the baseline requires.=C2=A0 The phrase Minim= um Viable Product comes to mind.=C2=A0 Let's start simple, with hooks t= o get more complex as needed.

If we really want som= e sort of negotiation system, I would propose something like the following:=
0. It is assumed that an ACME-enabled CA will issue certificates = for names validated with ACME.
1. Spec defines the semantic o= f a CSR in the context of ACME:
=C2=A0 * Body of the certificate p= artly up to CA
=C2=A0 * SAN contains only identifiers authori= zed with CA
=C2=A0 * Other extensions in CSR must be directly copi= ed to cert
2. If CSR is unacceptable with those rules, CA rejects = request
3. CA rejection message can carry a description of what e= xtensions is willing to issue for this cert body (~=3D set of identifiers)<= br>
That way, you can build very basic CAs that do no negotiation = (e.g., allow whatever CSR requests, allow a specific profile), or the CA ca= n choose to negotiate.=C2=A0 From a spec perspective, we can start with the= basic, "reject if you don't like it" version, with a basic &= quot;i don't like it because" syntax, then elaborate more on the &= quot;what i would like" format later.

--Richard


On Tue, Dec 16, 2014 at 2:1= 2 PM, Paul Hoffman <paul.hoffman@vpnc.org> wrote:On Dec 16, 2014, at 10:48 AM, Rich= ard Barnes <rlb@ipv.sx> wrote:
> On Tue, Dec 16, 2014 at 1:39 PM, Paul Hoffman <paul.hoffman@vpnc.org> wrote:
> On Dec 16, 2014, at 9:05 AM, Richard Barnes <rlb@ipv.sx> wrote:<= br> > > The challenge is making sure there's no ambiguity.=C2=A0 That= has pretty much been worked out with PKCS#10.
>
> No, no it hasn't. There is little agreement about which fields in = a CSR should appear in the issued cert, which fields in the issued cert tha= t the CA can add, and which fields from the CSR that the CA can change in t= he cert. Enrollment protocols that use CSRs handwave.
>
> They also don't negotiate the above. If your CSR has two identitie= s and three key usages in it, and you can show proof of possession for both= identities at all three usages, but the CA issues a cert with just one of = each, should you have to pay for that cert? It would have been nice if the = CA could say "Given that CSR, I'm going to issue this cert, do you= agree?".
>
> Fair enough. It seems pretty doubtful that you're ever going to ge= t much resolution on this negotiation, since ultimately, the CA gets to do = what it wants*.

Disagree. It wants to be paid and it wants your repeat business. If = our enrollment protocol doesn't build that, you'll have a bunch of = pissed-off customers.

>=C2=A0 =C2=A0At least CSR has a clear syntax for talking about these th= ings.

No, it really doesn't. In today's CSR, there is no way to sa= y "I would like a cert for this set of things, but I won't accept = one that doesn't at least have this set of things". It also does n= ot have a clear way of indicating wildcards in identities: that is done by = vague mutual agreement.

I understand the desire not to do the hard work here. It's fine to say = "we can live with CSRs", but not fine to say that the do things w= ell that we know they don't.

> Trying to build a full negotiation protocol seems like an infinite wel= l of complexity.

Not to some of us.

>=C2=A0 In the context of ACME, which is oriented around name validation= , it seems like you could solve it partially.=C2=A0 For example, you could = say that the CA is expected to issue a certificate that contains SANs for a= ll names from the CSR for which the client has proved possession.

That seems fine as long as a response with no cert can also say &quo= t;I didn't issue the cert because I could not validate name X which you= asked for" and "I didn't issue the cert because you asked fo= r too many names".

> And probably draw some boxes around subject/issuer/validity with regar= d to which ones the CA needs to respect and which the client should assume = the CA will change.

That is good, but not enough. Expectations about key usage turns out= to be a huge problem. The location of the subject in the cert (subject vs.= subjectAltName) is a huge issue. The format of some of the subjects (FQDN = vs. DC for domain names) is a a huge issue.

> It only really gets fiddly when you start talking about key usages and= other extensions, which are secondary to the authentication function of th= e cert, and honestly probably inappropriate for most ACME contexts.

Fully disagree: they are not "secondary" at all, certainly= not for PKIX.

> If my only relationship to you is that you proved possession of example.com, how should I de= cide what uses I grant you over that domain?=C2=A0 Seems very CA-specific.<= br>
That would be fine in a protocol that was not trying to include paym= ent, but I thought ACME was going to try that (and I think it should).

Please don't undershoot here. The sooner we start to deal with all the = issues CSRs have, and enrollment has, the sooner we can be sure which bits = we don't want to do. Assuming from the beginning that we are going to d= o some under-specified minimum is not a good way to design a protocol that = we hope will have a huge impact on the security of the web.

--Paul Hoffman
--001a1135e298e9c87f050a5aa56a-- From nobody Tue Dec 16 12:04:34 2014 Return-Path: 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 C73621A875B for ; Tue, 16 Dec 2014 12:04:32 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.666 X-Spam-Level: X-Spam-Status: No, score=-1.666 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, IP_NOT_FRIENDLY=0.334, RCVD_IN_DNSWL_NONE=-0.0001] 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 3jTVCcMLsML8 for ; Tue, 16 Dec 2014 12:04:32 -0800 (PST) Received: from homiemail-a32.g.dreamhost.com (sub4.mail.dreamhost.com [69.163.253.135]) by ietfa.amsl.com (Postfix) with ESMTP id 02B981A8752 for ; Tue, 16 Dec 2014 12:04:31 -0800 (PST) Received: from homiemail-a32.g.dreamhost.com (localhost [127.0.0.1]) by homiemail-a32.g.dreamhost.com (Postfix) with ESMTP id B252F584064; Tue, 16 Dec 2014 12:04:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=cryptonector.com; h=date :from:to:cc:subject:message-id:references:mime-version :content-type:in-reply-to; s=cryptonector.com; bh=xnmx0U2ZQ96iym pIynUBx1QU29I=; b=JQCdEHxUnf2546b1tPfSzhYPb6CFI+2PhsXxpPHKPWxnWy hcDGWA3I6uTbOUmPEKhiClRQuKbO+riKXWoB72XqG1pHs4w85MnRPi9lRhAuL2RH C67WHF8/FSpl/pX/uyFNmMkFkOv957wMvNyUSh7RfrlXhh1bQv2TuKgcbfaYI= Received: from localhost (108-207-244-174.lightspeed.austtx.sbcglobal.net [108.207.244.174]) (Authenticated sender: nico@cryptonector.com) by homiemail-a32.g.dreamhost.com (Postfix) with ESMTPA id 54AA3584059; Tue, 16 Dec 2014 12:04:31 -0800 (PST) Date: Tue, 16 Dec 2014 14:04:30 -0600 From: Nico Williams To: Paul Hoffman Message-ID: <20141216200426.GF3241@localhost> References: <54900F5C.2000809@gmail.com> <20141216164740.GV3241@localhost> <7EFE41CA-5976-4FF6-8A71-874733890DCC@vpnc.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <7EFE41CA-5976-4FF6-8A71-874733890DCC@vpnc.org> User-Agent: Mutt/1.5.21 (2010-09-15) Archived-At: http://mailarchive.ietf.org/arch/msg/acme/cRq4p_pTx3IhQW_5OAyoC6J61u0 Cc: Richard Barnes , "acme@ietf.org" Subject: Re: [Acme] CSR in JSON X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Dec 2014 20:04:33 -0000 On Tue, Dec 16, 2014 at 11:12:11AM -0800, Paul Hoffman wrote: > On Dec 16, 2014, at 10:48 AM, Richard Barnes wrote: > > At least CSR has a clear syntax for talking about these things. > > No, it really doesn't. In today's CSR, there is no way to say "I would > like a cert for this set of things, but I won't accept one that > doesn't at least have this set of things". It also does not have a > clear way of indicating wildcards in identities: that is done by vague > mutual agreement. Well now, more attributes can be defined to convey such semantics. It's not easy to deal with though. > > Trying to build a full negotiation protocol seems like an infinite > > well of complexity. > > Not to some of us. We do need to negotiate a variety of things here. > > In the context of ACME, which is oriented around name validation, > > it seems like you could solve it partially. For example, you could > > say that the CA is expected to issue a certificate that contains > > SANs for all names from the CSR for which the client has proved > > possession. > > That seems fine as long as a response with no cert can also say "I > didn't issue the cert because I could not validate name X which you > asked for" and "I didn't issue the cert because you asked for too many > names". Yes, nice error codes (and strings) would be... nice. > > It only really gets fiddly when you start talking about key usages > > and other extensions, which are secondary to the authentication > > function of the cert, and honestly probably inappropriate for most > > ACME contexts. > > Fully disagree: they are not "secondary" at all, certainly not for > PKIX. Well, some of this could be profiled. It depends on how general this protocol needs to be. Ideally I'd like both, a general protocol that has reasonable profiles that make implementation easier for common uses. Nico -- From nobody Tue Dec 16 13:14:48 2014 Return-Path: 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 CC4451A876F for ; Tue, 16 Dec 2014 13:14:45 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.277 X-Spam-Level: X-Spam-Status: No, score=-1.277 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FM_FORGED_GMAIL=0.622, FREEMAIL_FROM=0.001, HTML_MESSAGE=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 64dDX4z9W5UF for ; Tue, 16 Dec 2014 13:14:43 -0800 (PST) Received: from mail-lb0-x22e.google.com (mail-lb0-x22e.google.com [IPv6:2a00:1450:4010:c04::22e]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 509A31A70FD for ; Tue, 16 Dec 2014 13:14:43 -0800 (PST) Received: by mail-lb0-f174.google.com with SMTP id 10so11534757lbg.5 for ; Tue, 16 Dec 2014 13:14:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=MGu4Sk82fK/+K9w3VlYzmYmWF7idtyZuZK8sZcSPLrk=; b=C378J7SoW80LKNUyncupsCOMat38HUwrl8KWc0mP27jOEawuLcZcdVS0qcgBmJwhTF WTqBxhTt3olNblLUdmaEU/b3PqbtSnFuBw2GuvWuzeP5FrofdME4zcbYbxe6lN2bRcMY WXqVcyPcN9GYZrYszi7V29Pa/xVOMRL8yftIHv0Is5SDAAmc7u1duS06kmmwq7qnfk+j tPMvxpKQ0EWa3v4pUQBT5VAC5bY8b+jfcesSD40kx0U3Al4FR1ooYjTAqlZ3ENNP/k/6 7/oxKj5pT+eDxgv7aYWdVmhMditdUqn/k/ofaVv9xt55jwFkEvqtn9kIvXV1CLXmeyxM LdMw== MIME-Version: 1.0 X-Received: by 10.112.162.226 with SMTP id yd2mr4669405lbb.1.1418764481690; Tue, 16 Dec 2014 13:14:41 -0800 (PST) Sender: hallam@gmail.com Received: by 10.112.19.42 with HTTP; Tue, 16 Dec 2014 13:14:41 -0800 (PST) In-Reply-To: <7EFE41CA-5976-4FF6-8A71-874733890DCC@vpnc.org> References: <54900F5C.2000809@gmail.com> <20141216164740.GV3241@localhost> <7EFE41CA-5976-4FF6-8A71-874733890DCC@vpnc.org> Date: Tue, 16 Dec 2014 16:14:41 -0500 X-Google-Sender-Auth: FUgi78Wn1m3dPE39l7fAzuVo8Ic Message-ID: From: Phillip Hallam-Baker To: Paul Hoffman Content-Type: multipart/alternative; boundary=089e0112c86cf38514050a5bd86e Archived-At: http://mailarchive.ietf.org/arch/msg/acme/yorx2e8yRmfyPdMS9YagrfbRQ8A Cc: Richard Barnes , "acme@ietf.org" Subject: Re: [Acme] CSR in JSON X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Dec 2014 21:14:46 -0000 --089e0112c86cf38514050a5bd86e Content-Type: text/plain; charset=UTF-8 On Tue, Dec 16, 2014 at 2:12 PM, Paul Hoffman wrote: > > On Dec 16, 2014, at 10:48 AM, Richard Barnes wrote: > > > Fair enough. It seems pretty doubtful that you're ever going to get much > resolution on this negotiation, since ultimately, the CA gets to do what it > wants*. > > Disagree. It wants to be paid and it wants your repeat business. If our > enrollment protocol doesn't build that, you'll have a bunch of pissed-off > customers. Well that is not necessarily the wrong outcome :) Its not really the customer asking most times, it is the software. And that is not always configured to do what the customer wants. Being able to encode what the customer wants is important but if they try sometimes, they get what they need. The ambiguity in the binding here is the reason I consider it a can of worms I doth not want to partake of thank you very much. Since the only reason to change the syntax in phase 1 is to make life easier, I suggest we leave it for later on. > At least CSR has a clear syntax for talking about these things. > > No, it really doesn't. In today's CSR, there is no way to say "I would > like a cert for this set of things, but I won't accept one that doesn't at > least have this set of things". It also does not have a clear way of > indicating wildcards in identities: that is done by vague mutual agreement. > It is really binding the proof of possession to that statement. > I understand the desire not to do the hard work here. It's fine to say "we > can live with CSRs", but not fine to say that the do things well that we > know they don't. > > > Trying to build a full negotiation protocol seems like an infinite well > of complexity. > > Not to some of us. Me neither, we have been over this ground several times. We have working APIs to use as templates. This is a cleanup and consistency job on something that already exists. > In the context of ACME, which is oriented around name validation, it > seems like you could solve it partially. For example, you could say that > the CA is expected to issue a certificate that contains SANs for all names > from the CSR for which the client has proved possession. > > That seems fine as long as a response with no cert can also say "I didn't > issue the cert because I could not validate name X which you asked for" and > "I didn't issue the cert because you asked for too many names". +1 > > > It only really gets fiddly when you start talking about key usages and > other extensions, which are secondary to the authentication function of the > cert, and honestly probably inappropriate for most ACME contexts. > > Fully disagree: they are not "secondary" at all, certainly not for PKIX. +1 The key uses you ask for will affect the validation regime in many instances. > > If my only relationship to you is that you proved possession of > example.com, how should I decide what uses I grant you over that domain? > Seems very CA-specific. > > That would be fine in a protocol that was not trying to include payment, > but I thought ACME was going to try that (and I think it should). > > Please don't undershoot here. The sooner we start to deal with all the > issues CSRs have, and enrollment has, the sooner we can be sure which bits > we don't want to do. Assuming from the beginning that we are going to do > some under-specified minimum is not a good way to design a protocol that we > hope will have a huge impact on the security of the web. +1 This is JSON so I don't see that doing the job right needs to conflict with support for a very minimal subset. --089e0112c86cf38514050a5bd86e Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable


On Tue, Dec 16, 2014 at 2:12 PM, Paul Hoffman <paul.hoffman@vpnc.o= rg> wrote:
On = Dec 16, 2014, at 10:48 AM, Richard Barnes <rlb@ipv.sx> wrote:

> Fair enough. It seems pretty doubtful that you're ever going to ge= t much resolution on this negotiation, since ultimately, the CA gets to do = what it wants*.

Disagree. It wants to be paid and it wants your repeat business. If = our enrollment protocol doesn't build that, you'll have a bunch of = pissed-off customers.

Well that is not nece= ssarily the wrong outcome :)

Its not really the cu= stomer asking most times, it is the software. And that is not always config= ured to do what the customer wants.

Being able to = encode what the customer wants is important but if they try sometimes, they= get what they need.


The ambiguity = in the binding here is the reason I consider it a can of worms I doth not w= ant to partake of thank you very much. Since the only reason to change the = syntax in phase 1 is to make life easier, I suggest we leave it for later o= n.


>=C2=A0 =C2=A0At least CSR has a clear syntax for talking about these th= ings.

No, it really doesn't. In today's CSR, there is no way to sa= y "I would like a cert for this set of things, but I won't accept = one that doesn't at least have this set of things". It also does n= ot have a clear way of indicating wildcards in identities: that is done by = vague mutual agreement.

It is really bi= nding the proof of possession to that statement.
=C2=A0
I understand the desire not to do the hard work here. It's fine to say = "we can live with CSRs", but not fine to say that the do things w= ell that we know they don't.

> Trying to build a full negotiation protocol seems like an infinite wel= l of complexity.

Not to some of us.

Me neither, we ha= ve been over this ground several times. We have working APIs to use as temp= lates. This is a cleanup and consistency job on something that already exis= ts.


>=C2=A0 In the context of ACME, which is oriented around nam= e validation, it seems like you could solve it partially.=C2=A0 For example= , you could say that the CA is expected to issue a certificate that contain= s SANs for all names from the CSR for which the client has proved possessio= n.

That seems fine as long as a response with no cert can also say &quo= t;I didn't issue the cert because I could not validate name X which you= asked for" and "I didn't issue the cert because you asked fo= r too many names".

+1
=C2=A0=

> It only really gets fiddly when you start talking about key usages and= other extensions, which are secondary to the authentication function of th= e cert, and honestly probably inappropriate for most ACME contexts.

Fully disagree: they are not "secondary" at all, certainly= not for PKIX.

+1

= The key uses you ask for will affect the validation regime in many instance= s.

=C2=A0
> If my only relationship to you is that you proved possess= ion of example.com, ho= w should I decide what uses I grant you over that domain?=C2=A0 Seems very = CA-specific.

That would be fine in a protocol that was not trying to include paym= ent, but I thought ACME was going to try that (and I think it should).

Please don't undershoot here. The sooner we start to deal with all the = issues CSRs have, and enrollment has, the sooner we can be sure which bits = we don't want to do. Assuming from the beginning that we are going to d= o some under-specified minimum is not a good way to design a protocol that = we hope will have a huge impact on the security of the web.

+1

This is JSON so I don't se= e that doing the job right needs to conflict with support for a very minima= l subset.=C2=A0
--089e0112c86cf38514050a5bd86e-- From nobody Tue Dec 16 20:53:51 2014 Return-Path: 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 C9B5A1A1BED for ; Tue, 16 Dec 2014 20:53:49 -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 ZFAFPZZKBuxq for ; Tue, 16 Dec 2014 20:53:47 -0800 (PST) Received: from mail-wg0-x22b.google.com (mail-wg0-x22b.google.com [IPv6:2a00:1450:400c:c00::22b]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 8D2BE1A1BCF for ; Tue, 16 Dec 2014 20:53:47 -0800 (PST) Received: by mail-wg0-f43.google.com with SMTP id l18so19268798wgh.16 for ; Tue, 16 Dec 2014 20:53:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=aKb35QcuCSGjc7SduwGuPI7hzs8UpKfSz6K6hgSo6Es=; b=XXEWqU9EdAdbRDJ6653kkCqaVYOxD6MQxhGZ/e6mD5Ove5LXocA/vvwcCRBwbL5sGk oRo0IhKWuecwyM7b3KPYq47QmWE7Vdpd/Fvy/+yqkab+7hRm2mh0zYgWUYydLQhZ6q+N 0+vWXMkBZV8YZ1TFLMmN6UvnjRcJ5hbCaInLYwVkCyniyvTcA3R2fRYbLSrX2A/OXwI7 aBu4zd2MDf3zkr/CvPBccXkcFAI3ePyNLaIy5574DL346xIQ3J5mVOGQqq1lf10x0I1Q Of2bjU1QE/bEczoNEVcO/gShFdwPb1TafEpcmrmJ/W6KJ4/aXaxWgW4kJcefmEN8Z6+2 STJw== X-Received: by 10.180.20.106 with SMTP id m10mr10614860wie.1.1418792026243; Tue, 16 Dec 2014 20:53:46 -0800 (PST) Received: from [192.168.1.79] (52.16.14.81.rev.sfr.net. [81.14.16.52]) by mx.google.com with ESMTPSA id t6sm3514927wjf.49.2014.12.16.20.53.45 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Tue, 16 Dec 2014 20:53:45 -0800 (PST) Message-ID: <54910C53.7000107@gmail.com> Date: Wed, 17 Dec 2014 05:53:39 +0100 From: Anders Rundgren User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 MIME-Version: 1.0 To: Richard Barnes References: <548FF9E3.1020703@gmail.com> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Archived-At: http://mailarchive.ietf.org/arch/msg/acme/FO2_JoMh_h5voUqQBsN9PKaOIMs Cc: "acme@ietf.org" Subject: Re: [Acme] ACME signature mechanics X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Dec 2014 04:53:50 -0000 On 2014-12-16 17:27, Richard Barnes wrote: > I think there might be a middle way here. I've been musing about making a "Content-Signature" header that just carries a JWS signature over the payload (no HTTP headers). Since HTTP has to carry the payload bit-exact, there's no c14n nonsense, so this could be much simpler than other HTTP signing proposals. It's sort of like JCS, except that there is actually a guarantee that the payload stays the same ;) I see. This looks possible but is also a bit of a hack since such signatures can only be verified in a HTTP context. I would stick to your original JWS transition plan. BTW, JCS does not depend on any c14n nonsense; it only requires that JSON property order is respected by the serializer/deserializer while whitespace is entirely insignificant. You can even verify pretty-printed signatures! > > That said, if your concern is really human readability, I don't think it's a tragedy to make someone copy/paste into a base64 decoder. Human readability happens on several levels from documentation to debugging. That headers and payload are disjunct makes these things slightly less appealing. It also means that you can't make a unified JSON schema for a message object. But it surely isn't a show-stopper :-) For KeyGen2 and my payment related work-items the situation is different since these schemes use multiple and wrapping signatures which JWS doesn't handle in a way that I feel would be acceptable. If the CSR would be rewritten in JSON, ACME would be in a comparable position... Cheers, Anders > > On Tue, Dec 16, 2014 at 4:22 AM, Anders Rundgren > wrote: > > When the transition to JWS has been made, human-readable ACME messages like > > { > "type": "certificateRequest", > "csr": "5jNudRx6Ye4HzKEqT5...FS6aKdZeGsysoCo4H9P", > "signature": { > "alg": "RS256", > "nonce": "h5aYpWVkq-xlJh6cpR-3cw", > "sig": "KxITJ0rNlfDMAtfDr8eAw...fSSoehDFNZKQKzTZPtQ", > "jwk": { > "kty":"RSA", > "e":"AQAB", > "n":"KxITJ0rNlfDMAtfDr8eAw...fSSoehDFNZKQKzTZPtQ" > } } } > > will rather look like > > { > "payload":"", > "protected":"", > "header":, > "signature":"" > } > > Which apart from being ugly JWS also requires a JSON schema validator (or similar > mechanism) to work on separate, unpacked parts of the message. > > Although I don't expect this to change, you may (or may not) want to know that > clear-text JSON signatures (without the complexity of XML DSig), is not black magic, > you only have to use JSON parsers that doesn't "manipulate" input data: > https://openkeystore.googlecode.com/svn/resources/trunk/docs/jcs.html#Sample_Signature > > Cheers > AndersR > > _______________________________________________ > Acme mailing list > Acme@ietf.org > https://www.ietf.org/mailman/listinfo/acme > From nobody Wed Dec 17 02:07:28 2014 Return-Path: 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 ADD931A1BBB for ; Wed, 17 Dec 2014 02:07: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 tzx035uxrZ7o for ; Wed, 17 Dec 2014 02:07:26 -0800 (PST) Received: from mail-wi0-x234.google.com (mail-wi0-x234.google.com [IPv6:2a00:1450:400c:c05::234]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 337FF1A8788 for ; Wed, 17 Dec 2014 02:07:25 -0800 (PST) Received: by mail-wi0-f180.google.com with SMTP id n3so15452561wiv.1 for ; Wed, 17 Dec 2014 02:07:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=/gAZR42ZjZwoUNByseU3F+k+y9Pw+tn+RLKPCpXKH/Q=; b=zxy2ty8QYYZpqqQp/0Ar/tic7IXMq2uzzcQs9iWjUYlmf6wp54oagDfI5Z54wWwO9j jCxI3xHnwOSRbln5DtcAgCC+St8Rr5jDqfk7L74TYHqTE7CfF4gZQPyhnfGZBSTFqjBj AhRDJ1WgIFU/PhYUfw/Lk3RwpmbRBzmgO/6BhJaOSi8OuQHroxP/LbBUqDvwfJBDe5g1 UIg+UMOeGUB8e82UAk85jXR7YTtg+PgOb6p6GLDbG7qqfdbty9tzyyoWb/ZQu5Gy3ze/ /n/a8dm5aYDPAwVHrywFJWMm+H5wryz9tElCKXB0Hm31QljVFmUbrFJxfP/cJUV8po9H RKFg== X-Received: by 10.180.88.33 with SMTP id bd1mr12851707wib.10.1418810843946; Wed, 17 Dec 2014 02:07:23 -0800 (PST) Received: from [192.168.1.79] (52.16.14.81.rev.sfr.net. [81.14.16.52]) by mx.google.com with ESMTPSA id 18sm4426994wjr.46.2014.12.17.02.07.23 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Wed, 17 Dec 2014 02:07:23 -0800 (PST) Message-ID: <549155D4.80605@gmail.com> Date: Wed, 17 Dec 2014 11:07:16 +0100 From: Anders Rundgren User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 MIME-Version: 1.0 To: Richard Barnes References: <548FF9E3.1020703@gmail.com> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Archived-At: http://mailarchive.ietf.org/arch/msg/acme/Dot8jK_GmFIGSoTZMJnjT8USXPs Cc: "acme@ietf.org" Subject: Re: [Acme] ACME signature mechanics X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Dec 2014 10:07:27 -0000 FWIW, it seems that Python can do JCS with floating point data as the (expected) exception: import json import collections jcs_signed_data = ( '{ ' ' "now": "2014-12-08T10:25:17Z", ' ' "escapeMe": "\\u20ac$\\u000F\\u000aA\'\\u0042\\u0022\\u005c\\\\\\"\\/", ' ' "numbers": [1e0, 4.50, 6], ' ' "signature": ' ' { ' ' "algorithm": "ES256", ' ' "publicKey": ' ' { ' ' "type": "EC", ' ' "curve": "P-256", ' ' "x": "lNxNvAUEE8t7DSQBft93LVSXxKCiVjhbWWfyg023FCk", ' ' "y": "LmTlQxXB3LgZrNLmhOfMaCnDizczC_RfQ6Kx8iNwfFA" ' ' }, ' ' "value": "MEYCIQDGP3HL5aCGaMlgNlqqnPbq-Dhkli4SkfV_ZoGlhGroowIhAPlPhXOsjpPHgQ8E8M-jUQo8lfgO_GRZUJKsg_-u-aJO" ' ' } ' '}' ) jsonObject = json.loads(jcs_signed_data, object_pairs_hook=collections.OrderedDict) parsed_signature = json.dumps(jsonObject,separators=(',',':'),ensure_ascii=False) print parsed_signature #get all but the signature value jsonObject['signature'].pop('value') normalized_result = json.dumps(jsonObject,separators=(',',':'),ensure_ascii=False) print normalized_result expected_result_adjusted_for_FP = ( u'{"now":"2014-12-08T10:25:17Z","escapeMe":"\u20ac$\\u000f\\nA\'B\\"\\\\\\\\\\"/","numbers":[1.0,4.5,6],"signature":' u'{"algorithm":"ES256","publicKey":{"type":"EC","curve":"P-256","x":"lNxNvAUEE8t7DSQBft93LVSXxKCiVjhbWW' u'fyg023FCk","y":"LmTlQxXB3LgZrNLmhOfMaCnDizczC_RfQ6Kx8iNwfFA"}}}' ) print expected_result_adjusted_for_FP == normalized_result From nobody Wed Dec 17 08:04:39 2014 Return-Path: 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 C457C1A8AE4 for ; Wed, 17 Dec 2014 08:04:34 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.666 X-Spam-Level: X-Spam-Status: No, score=-1.666 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, IP_NOT_FRIENDLY=0.334, RCVD_IN_DNSWL_NONE=-0.0001] 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 KKicEwQ4Yztx for ; Wed, 17 Dec 2014 08:04:34 -0800 (PST) Received: from homiemail-a102.g.dreamhost.com (sub4.mail.dreamhost.com [69.163.253.135]) by ietfa.amsl.com (Postfix) with ESMTP id 5963B1A8AF3 for ; Wed, 17 Dec 2014 08:04:07 -0800 (PST) Received: from homiemail-a102.g.dreamhost.com (localhost [127.0.0.1]) by homiemail-a102.g.dreamhost.com (Postfix) with ESMTP id 354332006D30F; Wed, 17 Dec 2014 08:04:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=cryptonector.com; h=date :from:to:cc:subject:message-id:references:mime-version :content-type:in-reply-to; s=cryptonector.com; bh=KvKV1eTL+Mpsvw HuCr/AqCN1nAQ=; b=dH/c515OM152QLP8fLBcyOFYJfsMZqjEjIn9MBOKf8FsEt 77WeNZWuMbp5Yx/tJk6VV5p6AHpPU8ow90kUs+YPha9WLahpfSYjqKQl/usO3aLj tsjlhRwsrAD1e7l/0TwelUIda+QTsJxPtQUQkyFukwTPi8C61J9hU0Lz+DBfA= Received: from localhost (108-207-244-174.lightspeed.austtx.sbcglobal.net [108.207.244.174]) (Authenticated sender: nico@cryptonector.com) by homiemail-a102.g.dreamhost.com (Postfix) with ESMTPA id CA0CA2006D30A; Wed, 17 Dec 2014 08:04:06 -0800 (PST) Date: Wed, 17 Dec 2014 10:04:06 -0600 From: Nico Williams To: Anders Rundgren Message-ID: <20141217160401.GT3241@localhost> References: <548FF9E3.1020703@gmail.com> <54910C53.7000107@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <54910C53.7000107@gmail.com> User-Agent: Mutt/1.5.21 (2010-09-15) Archived-At: http://mailarchive.ietf.org/arch/msg/acme/_Oxg_zfbSdgDl6p5IACih-LK6R0 Cc: Richard Barnes , "acme@ietf.org" Subject: Re: [Acme] ACME signature mechanics X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Dec 2014 16:04:35 -0000 On Wed, Dec 17, 2014 at 05:53:39AM +0100, Anders Rundgren wrote: > On 2014-12-16 17:27, Richard Barnes wrote: > >I think there might be a middle way here. I've been musing about > >making a "Content-Signature" header that just carries a JWS signature > >over the payload (no HTTP headers). Since HTTP has to carry the > >payload bit-exact, there's no c14n nonsense, so this could be much > >simpler than other HTTP signing proposals. It's sort of like JCS, > >except that there is actually a guarantee that the payload stays the > >same ;) > > [...] > > BTW, JCS does not depend on any c14n nonsense; it only requires that > JSON property order is respected by the serializer/deserializer while > whitespace is entirely insignificant. You can even verify > pretty-printed signatures! You lost me. If whitespace is insignificant, then you must be canonicalizing. Also, I assume you mean object name order by "property order", but this is not required to be preserved by JSON parsers. > >That said, if your concern is really human readability, I don't think > >it's a tragedy to make someone copy/paste into a base64 decoder. I don't either. Nico -- From nobody Wed Dec 17 08:05:49 2014 Return-Path: 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 571021A8AE4 for ; Wed, 17 Dec 2014 08:05:39 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.666 X-Spam-Level: X-Spam-Status: No, score=-1.666 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, IP_NOT_FRIENDLY=0.334, RCVD_IN_DNSWL_NONE=-0.0001] 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 NMZ1HY9Ss9sN for ; Wed, 17 Dec 2014 08:05:33 -0800 (PST) Received: from homiemail-a24.g.dreamhost.com (sub4.mail.dreamhost.com [69.163.253.135]) by ietfa.amsl.com (Postfix) with ESMTP id E8B7F1A8AF0 for ; Wed, 17 Dec 2014 08:05:01 -0800 (PST) Received: from homiemail-a24.g.dreamhost.com (localhost [127.0.0.1]) by homiemail-a24.g.dreamhost.com (Postfix) with ESMTP id C47752C806D; Wed, 17 Dec 2014 08:05:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=cryptonector.com; h=date :from:to:cc:subject:message-id:references:mime-version :content-type:in-reply-to; s=cryptonector.com; bh=xhZF16Dv8jns9n dhvby8p/6L0I0=; b=mGCkIRf9yF4KkU2riInhkM05thWxTwV3tz0XU71ggSd1AO mwfpIBVZjFBv0xsfMShH2AtqhZSUbQLDuNela5fbvpQ2Y+Fpf8NMtBUo37I6DDHA vcf4wLEL+RSbspXW4nNT/uCW9MvkEKDGqRtPkl1dnGXoQ4dCh5KNl3gklsHTY= Received: from localhost (108-207-244-174.lightspeed.austtx.sbcglobal.net [108.207.244.174]) (Authenticated sender: nico@cryptonector.com) by homiemail-a24.g.dreamhost.com (Postfix) with ESMTPA id 636852C806B; Wed, 17 Dec 2014 08:05:01 -0800 (PST) Date: Wed, 17 Dec 2014 10:05:00 -0600 From: Nico Williams To: Anders Rundgren Message-ID: <20141217160456.GU3241@localhost> References: <548FF9E3.1020703@gmail.com> <549155D4.80605@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <549155D4.80605@gmail.com> User-Agent: Mutt/1.5.21 (2010-09-15) Archived-At: http://mailarchive.ietf.org/arch/msg/acme/JTvdsUFHkbsXPmABe8o-l-asRb8 Cc: Richard Barnes , "acme@ietf.org" Subject: Re: [Acme] ACME signature mechanics X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Dec 2014 16:05:43 -0000 On Wed, Dec 17, 2014 at 11:07:16AM +0100, Anders Rundgren wrote: > FWIW, it seems that Python can do JCS with floating point data as the > (expected) exception: JSON parsers are not required to preserve number form. Nico -- From nobody Wed Dec 17 08:38:55 2014 Return-Path: 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 7F6A61A8AF5 for ; Wed, 17 Dec 2014 08:38:53 -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 xweo1ezm_kcq for ; Wed, 17 Dec 2014 08:38:51 -0800 (PST) Received: from mail-wi0-x22a.google.com (mail-wi0-x22a.google.com [IPv6:2a00:1450:400c:c05::22a]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 47EBF1A8AD8 for ; Wed, 17 Dec 2014 08:38:51 -0800 (PST) Received: by mail-wi0-f170.google.com with SMTP id bs8so17572809wib.3 for ; Wed, 17 Dec 2014 08:38:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=JqMxnCSJ11x4Hm1u7VyIh0ShmOyfYMAwsUgGi0D+cWE=; b=idHfcDPZ9NwWNvTIQlyWtj1mNcSAaxanVVFhV9M5J1fbbwNueWaadzhHDRCZlwquC5 lsqD4TfB8T6roE3XnjsqJuQKktiR1laRuo1bLvFgocKTyclXdVAykMF/lwjSmB0vXhkq 7vtobLs/xYSeYns5YSU4cBGdhYIU0JmpFNtRU0x93n/G7MSQYiVTAID4uDSaZilupQE4 adUsUGqAR5wnv2JyKIRf2Nw7UY8BBYy5jKfMBvIZFmeQG0ncrRaNEVbUgLZrzJUx19GL 4wxEpfVEaMtcFm/Yph6rddv6vpVkk3MEO6croAJzhXtRe1I0/cjo7dLDWjib3DCyYkrs kDHQ== X-Received: by 10.180.75.199 with SMTP id e7mr16368140wiw.21.1418834329985; Wed, 17 Dec 2014 08:38:49 -0800 (PST) Received: from [192.168.1.79] (52.16.14.81.rev.sfr.net. [81.14.16.52]) by mx.google.com with ESMTPSA id cz3sm5720300wjb.23.2014.12.17.08.38.48 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Wed, 17 Dec 2014 08:38:49 -0800 (PST) Message-ID: <5491B192.4090208@gmail.com> Date: Wed, 17 Dec 2014 17:38:42 +0100 From: Anders Rundgren User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 MIME-Version: 1.0 To: Nico Williams References: <548FF9E3.1020703@gmail.com> <549155D4.80605@gmail.com> <20141217160456.GU3241@localhost> In-Reply-To: <20141217160456.GU3241@localhost> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Archived-At: http://mailarchive.ietf.org/arch/msg/acme/c_MszZ1uF9sUvgGTBiLkcE5DvPg Cc: Richard Barnes , "acme@ietf.org" Subject: Re: [Acme] ACME signature mechanics X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Dec 2014 16:38:53 -0000 On 2014-12-17 17:05, Nico Williams wrote: > On Wed, Dec 17, 2014 at 11:07:16AM +0100, Anders Rundgren wrote: >> FWIW, it seems that Python can do JCS with floating point data as the >> (expected) exception: > > JSON parsers are not required to preserve number form. Correct. That's hardly a problem since many real-world JSON-using applications must anyway "emulate" missing JS number features like big decimals for money and certificate serial numbers for PKI: https://openkeystore.googlecode.com/svn/resources/trunk/docs/keygen2.html#Data_Types Anders > > Nico > From nobody Wed Dec 17 09:02:47 2014 Return-Path: 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 D7E0E1A900B for ; Wed, 17 Dec 2014 09:02:40 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.277 X-Spam-Level: X-Spam-Status: No, score=-1.277 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FM_FORGED_GMAIL=0.622, FREEMAIL_FROM=0.001, HTML_MESSAGE=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 2-5tKngsN7au for ; Wed, 17 Dec 2014 09:02:39 -0800 (PST) Received: from mail-lb0-x22f.google.com (mail-lb0-x22f.google.com [IPv6:2a00:1450:4010:c04::22f]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 70E441A9028 for ; Wed, 17 Dec 2014 09:02:12 -0800 (PST) Received: by mail-lb0-f175.google.com with SMTP id u10so12778974lbd.20 for ; Wed, 17 Dec 2014 09:02:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=IbKR9gQPswvC6AaRMM+3MhPOZQPK1Udcix1Xkfa2z+0=; b=0EHm6XS35PYzyOgNI74UPBb0Hjub3W32ljKZPqKWSSSsGKghTNS/as2EXMyd3CdnFm GzBSZs56qQx697SKKUKoNn5OT4OUHJr/2H+UjpIv4iOU38PI9aTMO3z/5Ht7bxwH+/ip hZZuh+HTmujEkrvIqGsweQA3AEy/k6spCtwgZxgWchDEINqx70Cf13H5CSbKyLE+zWwV 6iSYiE04uSr+4i9W3NCnOJh5cjLXB9ZiQNKo5Y+9fgt8ZqQTTHO6ZuNvIrmCxCpYbPPJ svoBN+RVDB35s4m0qNVgKz367a2MgIh622YMmC53IDy+rsLoRL5pLLE7MWezAn49ucF+ t+BA== MIME-Version: 1.0 X-Received: by 10.152.8.225 with SMTP id u1mr40093360laa.21.1418835730925; Wed, 17 Dec 2014 09:02:10 -0800 (PST) Sender: hallam@gmail.com Received: by 10.112.19.42 with HTTP; Wed, 17 Dec 2014 09:02:10 -0800 (PST) In-Reply-To: References: <548FF9E3.1020703@gmail.com> Date: Wed, 17 Dec 2014 12:02:10 -0500 X-Google-Sender-Auth: Joc-ekOMxqJahzcW_GpF3_93C3E Message-ID: From: Phillip Hallam-Baker To: Richard Barnes Content-Type: multipart/alternative; boundary=089e0158b79ebc8ea0050a6c6f93 Archived-At: http://mailarchive.ietf.org/arch/msg/acme/LYzeVYSZ5tS6CxjbQ-b9Ynt-1uU Cc: "acme@ietf.org" , Anders Rundgren Subject: Re: [Acme] ACME signature mechanics X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Dec 2014 17:02:41 -0000 --089e0158b79ebc8ea0050a6c6f93 Content-Type: text/plain; charset=UTF-8 On Tue, Dec 16, 2014 at 11:27 AM, Richard Barnes wrote: > > I think there might be a middle way here. I've been musing about making a > "Content-Signature" header that just carries a JWS signature over the > payload (no HTTP headers). Since HTTP has to carry the payload bit-exact, > there's no c14n nonsense, so this could be much simpler than other HTTP > signing proposals. It's sort of like JCS, except that there is actually a > guarantee that the payload stays the same ;) > > That said, if your concern is really human readability, I don't think it's > a tragedy to make someone copy/paste into a base64 decoder. > I do. If we are going to write protocols that can't be easily interpreted in wireline form then why not go binary with JSON-B, CBOR or what have you. I like the idea of using a header like container for the signature. It makes good architectural sense and it is easy to code. A signature is logically meta-data and so it should be expressed as a header. I don't see any value in the 'protected' or 'header' slots. They just confuse the issue. We should have ONE JSON blob that has all the data that we need and sigh that. All the data that is the case shall be signed and any data that is not signed shall be ignored. So the running example would be written thus: Signature: alg=RS256; nonce=h5aYpWVkq-xlJh6cpR-3cw; sig=KxITJ0rNlfDMAtfDr8eAw...fSSoehDFNZKQKzTZPtQ; KeyID=???TBS { "certificateRequest" : { "csr": "5jNudRx6Ye4HzKEqT5...FS6aKdZeGsysoCo4H9P", } } The "certificateRequest" object contains exactly the sequence of octets that is signed. No moving bits round, no splicing, no complications at all. What is in the signature scope and what is not is clear and unambiguous. The only objection I can see to this approach is that it makes JOSE pretty much redundant. That does leave two open issues to be decided though: 1 Should the signature header be part of the HTTP header or the payload? 2 How to encode the KeyID? I have a marginal preference for making the signature header part of the HTTP header because that is how most Web servers and support libraries are designed to work. They make it really easy to pull data out of a header. On many platforms the RFC822 tag value pairs are automatically mapped to corresponding data structures. There is an argument for making the signature part of the payload though. It is not a HTTP protocol header, it is content metadata and these should have always been kept separate. The second one is a little bit more subtle as we definitely need a way to identify which key is used and I don't like the way it is done in the example because we end up specifying the key twice and relying on some party to check they are the same. There lies the path to tears, weeping and gnashing of teeth. I would rather make the KeyID implicit in the case and require the application to ferret it out from whatever CSR type object it is using. It would be perfectly OK in my view to define a parallel JSON structure to allow an all-JSON certificate issue path as an alternative to PKCS#10. It would also be OK to use a combination of both to allow additional information to be provided. But presenting security critical information through redundant paths without a means of forcing cross checking is a bad plan. --089e0158b79ebc8ea0050a6c6f93 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable


On Tue, Dec 16, 2014 at 11:27 AM, Richard Barnes <= rlb@ipv.sx> w= rote:
I think there might be a middle= way here.=C2=A0 I've been musing about making a "Content-Signatur= e" header that just carries a JWS signature over the payload (no HTTP = headers).=C2=A0 Since HTTP has to carry the payload bit-exact, there's = no c14n nonsense, so this could be much simpler than other HTTP signing pro= posals.=C2=A0 It's sort of like JCS, except that there is actually a gu= arantee that the payload stays the same ;)

That sai= d, if your concern is really human readability, I don't think it's = a tragedy to make someone copy/paste into a base64 decoder.

I do. If we are going to write protocols that can= 9;t be easily interpreted in wireline form then why not go binary with JSON= -B, CBOR or what have you.

I like the idea of usin= g a header like container for the signature. It makes good architectural se= nse and it is easy to code. A signature is logically meta-data and so it sh= ould be expressed as a header.

I don't see any= value in the 'protected' or 'header' slots. They just conf= use the issue. We should have ONE JSON blob that has all the data that we n= eed and sigh that. All the data that is the case shall be signed and any da= ta that is not signed shall be ignored.

So the run= ning example would be written thus:


Signature:=C2=A0alg=3DRS256;= =C2=A0nonce=3Dh5aYpWVkq= -xlJh6cpR-3cw;=C2=A0sig= =3DKxITJ0rNlfDMAtfDr8eAw...fSSoehDFNZKQKzTZPtQ; KeyID=3D???TBS

<= span style=3D"font-size:12.8000001907349px">=C2=A0{=C2=A0"certificateRequest" : {=
=C2=A0 =C2=A0 =C2= =A0"csr": "5jNudRx6Ye4HzKEqT5...FS6aK= dZeGsysoCo4H9P",
=C2=A0 }=C2=A0 } =C2=A0

The=C2=A0"certificateRequest" object con= tains exactly the sequence of octets that is signed. No moving bits round, = no splicing, no complications at all. What is in the signature scope and wh= at is not is clear and unambiguous.

The onl= y objection I can see to this approach is that it makes JOSE pretty much re= dundant.


That does leave two open i= ssues to be decided though:

1 Should the signature= header be part of the HTTP header or the payload?
2 How to encod= e the KeyID?


I have a marginal pref= erence for making the signature header part of the HTTP header because that= is how most Web servers and support libraries are designed to work. They m= ake it really easy to pull data out of a header. On many platforms the RFC8= 22 tag value pairs are automatically mapped to corresponding data structure= s.

There is an argument for making the signature p= art of the payload though. It is not a HTTP protocol header, it is content = metadata and these should have always been kept separate.


The second one is a little bit more subtle as we def= initely need a way to identify which key is used and I don't like the w= ay it is done in the example because we end up specifying the key twice and= relying on some party to check they are the same. There lies the path to t= ears, weeping and gnashing of teeth.

I would rathe= r make the KeyID implicit in the case and require the application to ferret= it out from whatever CSR type object it is using. It would be perfectly OK= in my view to define a parallel JSON structure to allow an all-JSON certif= icate issue path as an alternative to PKCS#10. It would also be OK to use a= combination of both to allow additional information to be provided. But pr= esenting security critical information through redundant paths without a me= ans of forcing cross checking is a bad plan.
--089e0158b79ebc8ea0050a6c6f93-- From nobody Wed Dec 17 09:19:30 2014 Return-Path: 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 850BC1A1BD7 for ; Wed, 17 Dec 2014 09:19:22 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.666 X-Spam-Level: X-Spam-Status: No, score=-1.666 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, IP_NOT_FRIENDLY=0.334, RCVD_IN_DNSWL_NONE=-0.0001] 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 acgdgQVLJBM3 for ; Wed, 17 Dec 2014 09:19:21 -0800 (PST) Received: from homiemail-a49.g.dreamhost.com (sub4.mail.dreamhost.com [69.163.253.135]) by ietfa.amsl.com (Postfix) with ESMTP id B93561A1BD4 for ; Wed, 17 Dec 2014 09:19:21 -0800 (PST) Received: from homiemail-a49.g.dreamhost.com (localhost [127.0.0.1]) by homiemail-a49.g.dreamhost.com (Postfix) with ESMTP id 92AB8200B9999; Wed, 17 Dec 2014 09:19:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=cryptonector.com; h=date :from:to:cc:subject:message-id:references:mime-version :content-type:in-reply-to; s=cryptonector.com; bh=VWk8RCI+R2XpFk KYUAT7UExnkaU=; b=eEYTMocWDxxG2h8OZexemlOzhB18wYDYOu8hMof3Es8QXT rKo4D4ihPnoani/vjpk25oNzPhmumf7HGCA2D1Fn5qui9YmUwG9LNA5EWOjWACni l1sT+dSRrcr24rBqioMysadhcf98SZH5TYddIF9inUgNcTbqoSQapkHi/y4hQ= Received: from localhost (108-207-244-174.lightspeed.austtx.sbcglobal.net [108.207.244.174]) (Authenticated sender: nico@cryptonector.com) by homiemail-a49.g.dreamhost.com (Postfix) with ESMTPA id 25A7F200B999E; Wed, 17 Dec 2014 09:19:21 -0800 (PST) Date: Wed, 17 Dec 2014 11:19:20 -0600 From: Nico Williams To: Phillip Hallam-Baker Message-ID: <20141217171915.GX3241@localhost> References: <548FF9E3.1020703@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) Archived-At: http://mailarchive.ietf.org/arch/msg/acme/v4pZeMUvRRRzL_nmxjc4w4sy8mU Cc: Richard Barnes , "acme@ietf.org" , Anders Rundgren Subject: Re: [Acme] ACME signature mechanics X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Dec 2014 17:19:23 -0000 On Wed, Dec 17, 2014 at 12:02:10PM -0500, Phillip Hallam-Baker wrote: > On Tue, Dec 16, 2014 at 11:27 AM, Richard Barnes wrote: > > That said, if your concern is really human readability, I don't think it's > > a tragedy to make someone copy/paste into a base64 decoder. > > I do. If we are going to write protocols that can't be easily interpreted > in wireline form then why not go binary with JSON-B, CBOR or what have you. Well, it does mean having to implement one of those... > I don't see any value in the 'protected' or 'header' slots. They just > confuse the issue. We should have ONE JSON blob that has all the data that > we need and sigh that. All the data that is the case shall be signed and > any data that is not signed shall be ignored. I'd rather have the signature in a JSON text and the signed text encoded as a string in the same text as bears the signature. > The only objection I can see to this approach is that it makes JOSE pretty > much redundant. And that it uses new headers. > That does leave two open issues to be decided though: > > 1 Should the signature header be part of the HTTP header or the payload? The payload. And then you've created a new MIME type. > I have a marginal preference for making the signature header part of the > HTTP header because that is how most Web servers and support libraries are > designed to work. They make it really easy to pull data out of a header. On > many platforms the RFC822 tag value pairs are automatically mapped to > corresponding data structures. I'd rather it be in the payload because then you have less dependence on the transport. E.g., if you're using an IPC mechanism in your server implementation, with a less-privileged front-end passing validated payloads to a more-privileged back-end. > There is an argument for making the signature part of the payload though. > It is not a HTTP protocol header, it is content metadata and these should > have always been kept separate. Exactly. Nico -- From nobody Wed Dec 17 09:27:18 2014 Return-Path: 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 75CE11A1B27 for ; Wed, 17 Dec 2014 09:27:12 -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 nLhwcDmVZiUX for ; Wed, 17 Dec 2014 09:27:11 -0800 (PST) Received: from mail-wi0-x234.google.com (mail-wi0-x234.google.com [IPv6:2a00:1450:400c:c05::234]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B0E961A1F73 for ; Wed, 17 Dec 2014 09:27:10 -0800 (PST) Received: by mail-wi0-f180.google.com with SMTP id n3so16927978wiv.7 for ; Wed, 17 Dec 2014 09:27:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=2BRV9KmPkxzoLjyXrQxtwUVrMf8i/xppv2IgosEvh5A=; b=u29m/dfwgJA4nV9bdYK9ZzNGCQr596qGHTwDAaRe3FBAIa+Y9nJZq0GGxNPTgSxGX3 MAEOoy8ucLjVprPJp0yac97n+hEaz+m3LrVNc89QVGoc09hzv0X/2CdIomtSXNarb4wi E4SkhA7e1Naa4bzJ1Sa64Sk1p8hZ+qClJitIlohhzyBi7VIm9JjllKGvaDUR+Kc3+/Yd uttxzx237KU/nRb/2vngFAmNzupTd9rBCvaIzSnfjDhn5tdfUNKRPUl+Cb0gIN7uC1NU sn8drCgEHkZYW/V0bLLWyY5DYtOxHv438X1h/mbcUEP65MSDZOeXGb6xOlDC0j0izT/f lFkA== X-Received: by 10.194.63.229 with SMTP id j5mr74654148wjs.23.1418837229281; Wed, 17 Dec 2014 09:27:09 -0800 (PST) Received: from [192.168.1.79] (52.16.14.81.rev.sfr.net. [81.14.16.52]) by mx.google.com with ESMTPSA id w10sm5890202wje.10.2014.12.17.09.27.08 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Wed, 17 Dec 2014 09:27:08 -0800 (PST) Message-ID: <5491BCE5.9010002@gmail.com> Date: Wed, 17 Dec 2014 18:27:01 +0100 From: Anders Rundgren User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 MIME-Version: 1.0 To: Nico Williams , Phillip Hallam-Baker , Richard Barnes References: <548FF9E3.1020703@gmail.com> <20141217171915.GX3241@localhost> In-Reply-To: <20141217171915.GX3241@localhost> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Archived-At: http://mailarchive.ietf.org/arch/msg/acme/6kC6cY_5l0Sk_gNcCELMtxVP1sQ Cc: "acme@ietf.org" Subject: [Acme] Integrated with CSR. Re: ACME signature mechanics X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Dec 2014 17:27:12 -0000 The "csr" object holds a public key and an associated signature that goes over the public key and a hypothetical attribute. This is a bare-bones CSR. The counter/attestation-signature goes over the entire package. { "type": "certificateRequest", "csr": { "domain": "acme.com", "signature": { "algorithm": "ES256", "publicKey": { "type": "EC", "curve": "P-256", "x": "vlYxD4dtFJOp1_8_QUcieWCW-4KrLMmFL2rpkY1bQDs", "y": "fxEF70yJenP3SPHM9hv-EnvhG6nXr3_S-fDqoj-F6yM" }, "value": "MEUCIF8p4ZY7YGJFaG8X41S-7ZCv...zesjHVc_pUqAa-IcbqefCTR9AvwivtbKA" } }, "signature": { "algorithm": "RS256", "certificatePath": [ "MIIETTCCAjWgAwIBAgIGAUoqo740MA0GCS...s9Zi90RyQ7UzWNrQjoLERGLkuetIw", "MIIFOjCCAyKgAwIBAgIBATANBgkqhkiG9w...O4Zfwjxug_CkeRb2m2sKaBNgCpJig" ], "value": "EmEcktZ2gyG639-vzCf_3b3A6CF8N_...gXLy-zDCUnXVv_P7kqkJlABNgnNRbeLmtFgw" } } From nobody Wed Dec 17 11:53:56 2014 Return-Path: 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 0B2F61A6FF0 for ; Wed, 17 Dec 2014 11:53:52 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.9 X-Spam-Level: X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=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 29n3X7nnzwm4 for ; Wed, 17 Dec 2014 11:53:49 -0800 (PST) Received: from mr11p24im-asmtp002.me.com (mr11p24im-asmtp002.me.com [17.110.78.42]) (using TLSv1.2 with cipher DHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 62B1E1A1B9C for ; Wed, 17 Dec 2014 11:53:49 -0800 (PST) Received: from Den (c-24-17-210-106.hsd1.wa.comcast.net [24.17.210.106]) by mr11p24im-asmtp002.me.com (Oracle Communications Messaging Server 7.0.5.33.0 64bit (built Aug 27 2014)) with ESMTPSA id <0NGQ00065SLLTE00@mr11p24im-asmtp002.me.com> for acme@ietf.org; Wed, 17 Dec 2014 19:53:48 +0000 (GMT) X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:5.13.68,1.0.33,0.0.0000 definitions=2014-12-17_06:2014-12-17,2014-12-17,1970-01-01 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 suspectscore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=7.0.1-1408290000 definitions=main-1412170192 From: Trevor Freeman To: 'Phillip Hallam-Baker' , 'Richard Barnes' References: <548FF9E3.1020703@gmail.com> In-reply-to: Date: Wed, 17 Dec 2014 11:53:44 -0800 Message-id: <006c01d01a33$2b086890$811939b0$@icloud.com> MIME-version: 1.0 Content-type: multipart/alternative; boundary="----=_NextPart_000_006D_01D019F0.1CEA7FC0" X-Mailer: Microsoft Outlook 14.0 Thread-index: AQKP4NJlmAveeRXosKJTRtRnsZde3wH5Z8HOAZKX1t2a+D8cYA== Content-language: en-us Archived-At: http://mailarchive.ietf.org/arch/msg/acme/4ZNBjkeFGnBro6iek34WasW_C0E Cc: acme@ietf.org, 'Anders Rundgren' Subject: Re: [Acme] ACME signature mechanics X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Dec 2014 19:53:52 -0000 This is a multipart message in MIME format. ------=_NextPart_000_006D_01D019F0.1CEA7FC0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi Richard, =20 There is an alternative to using PKCS#10 as the CSR structure. The ACME = request is using TLS as a transport. You could use the client = certificate portion of TLS to send an X.509 certificate containing the = ACME client public key to the ACME server. All the data the ACME server = needs is in the X.509 structure. You can sign the X.509 certificate = containing the leaf certificate with the authorization public key in the = normal X.509 way. There is just as much X.509 certificate creation code = out there as pkcs#10 creation code so I don=E2=80=99t see that as a big = issue. An upside to this is you also get a meaningful POP in that the = ACME client submitting the request has to use the private key as part of = the TLS negotiation which is a better proof they actually have the = private key. Also all of the ASN.1 structures and the signatures for the = request would be part of the TLS protocol.=20 =20 Trevor =20 From: Acme [mailto:acme-bounces@ietf.org] On Behalf Of Phillip = Hallam-Baker Sent: Wednesday, December 17, 2014 9:02 AM To: Richard Barnes Cc: acme@ietf.org; Anders Rundgren Subject: Re: [Acme] ACME signature mechanics =20 =20 =20 On Tue, Dec 16, 2014 at 11:27 AM, Richard Barnes wrote: I think there might be a middle way here. I've been musing about making = a "Content-Signature" header that just carries a JWS signature over the = payload (no HTTP headers). Since HTTP has to carry the payload = bit-exact, there's no c14n nonsense, so this could be much simpler than = other HTTP signing proposals. It's sort of like JCS, except that there = is actually a guarantee that the payload stays the same ;) =20 That said, if your concern is really human readability, I don't think = it's a tragedy to make someone copy/paste into a base64 decoder. =20 I do. If we are going to write protocols that can't be easily = interpreted in wireline form then why not go binary with JSON-B, CBOR or = what have you. =20 I like the idea of using a header like container for the signature. It = makes good architectural sense and it is easy to code. A signature is = logically meta-data and so it should be expressed as a header. =20 I don't see any value in the 'protected' or 'header' slots. They just = confuse the issue. We should have ONE JSON blob that has all the data = that we need and sigh that. All the data that is the case shall be = signed and any data that is not signed shall be ignored. =20 So the running example would be written thus: =20 =20 Signature: alg=3DRS256; nonce=3Dh5aYpWVkq-xlJh6cpR-3cw; = sig=3DKxITJ0rNlfDMAtfDr8eAw...fSSoehDFNZKQKzTZPtQ; KeyID=3D???TBS =20 { "certificateRequest" : { "csr": "5jNudRx6Ye4HzKEqT5...FS6aKdZeGsysoCo4H9P", } } =20 =20 The "certificateRequest" object contains exactly the sequence of octets = that is signed. No moving bits round, no splicing, no complications at = all. What is in the signature scope and what is not is clear and = unambiguous. =20 The only objection I can see to this approach is that it makes JOSE = pretty much redundant. =20 =20 That does leave two open issues to be decided though: =20 1 Should the signature header be part of the HTTP header or the payload? 2 How to encode the KeyID? =20 =20 I have a marginal preference for making the signature header part of the = HTTP header because that is how most Web servers and support libraries = are designed to work. They make it really easy to pull data out of a = header. On many platforms the RFC822 tag value pairs are automatically = mapped to corresponding data structures. =20 There is an argument for making the signature part of the payload = though. It is not a HTTP protocol header, it is content metadata and = these should have always been kept separate. =20 =20 The second one is a little bit more subtle as we definitely need a way = to identify which key is used and I don't like the way it is done in the = example because we end up specifying the key twice and relying on some = party to check they are the same. There lies the path to tears, weeping = and gnashing of teeth. =20 I would rather make the KeyID implicit in the case and require the = application to ferret it out from whatever CSR type object it is using. = It would be perfectly OK in my view to define a parallel JSON structure = to allow an all-JSON certificate issue path as an alternative to = PKCS#10. It would also be OK to use a combination of both to allow = additional information to be provided. But presenting security critical = information through redundant paths without a means of forcing cross = checking is a bad plan. ------=_NextPart_000_006D_01D019F0.1CEA7FC0 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable

Hi Richard,

 

There is an alternative to using PKCS#10 as the CSR structure. The = ACME request is using TLS as a transport. You could use the client = certificate portion of TLS to send an X.509 certificate containing the = ACME client public key to the ACME server. All the data the ACME server = needs is in the X.509 structure. You can sign the X.509 certificate = containing the leaf certificate with the authorization public key in the = normal X.509 way. =C2=A0There is just as much X.509 certificate creation = code out there as pkcs#10 creation code so I don=E2=80=99t see that as a = big issue. An upside to this is you also get a meaningful POP in that = the ACME client submitting the request has to use the private key as = part of the TLS negotiation which is a better proof they actually have = the private key. Also all of the ASN.1 structures and the signatures for = the request would be part of the TLS protocol.

 

Trevor

 

From:= = Acme [mailto:acme-bounces@ietf.org] On Behalf Of Phillip = Hallam-Baker
Sent: Wednesday, December 17, 2014 9:02 = AM
To: Richard Barnes
Cc: acme@ietf.org; Anders = Rundgren
Subject: Re: [Acme] ACME signature = mechanics

 

 

 

On Tue, = Dec 16, 2014 at 11:27 AM, Richard Barnes <rlb@ipv.sx> = wrote:

I think there might = be a middle way here.  I've been musing about making a = "Content-Signature" header that just carries a JWS signature = over the payload (no HTTP headers).  Since HTTP has to carry the = payload bit-exact, there's no c14n nonsense, so this could be much = simpler than other HTTP signing proposals.  It's sort of like JCS, = except that there is actually a guarantee that the payload stays the = same ;)

 

That = said, if your concern is really human readability, I don't think it's a = tragedy to make someone copy/paste into a base64 = decoder.

 

I = do. If we are going to write protocols that can't be easily interpreted = in wireline form then why not go binary with JSON-B, CBOR or what have = you.

 

I = like the idea of using a header like container for the signature. It = makes good architectural sense and it is easy to code. A signature is = logically meta-data and so it should be expressed as a = header.

 

I = don't see any value in the 'protected' or 'header' slots. They just = confuse the issue. We should have ONE JSON blob that has all the data = that we need and sigh that. All the data that is the case shall be = signed and any data that is not signed shall be = ignored.

 

So the running example would be written = thus:

 

 

Signature: alg=3DRS256; nonce=3Dh5aYpWVkq-xlJh6cpR-3c= w; sig=3DKxITJ0rNlfDMAtfDr8eAw...fSSoehDFNZKQKzTZPtQ; = KeyID=3D???TBS

 

 { "certificateRequest" : = {

     "csr": = "5jNudRx6Ye4HzKEqT5...FS6aKdZeGsysoCo4H9P",
  }  = }  

 

The "certificateRequest" object contains = exactly the sequence of octets that is signed. No moving bits round, no = splicing, no complications at all. What is in the signature scope and = what is not is clear and unambiguous.

 

The only objection I can see to this approach is that = it makes JOSE pretty much redundant.

 

 

That does leave two open issues to be decided = though:

 

1 = Should the signature header be part of the HTTP header or the = payload?

2 How to encode = the KeyID?

 

 

I = have a marginal preference for making the signature header part of the = HTTP header because that is how most Web servers and support libraries = are designed to work. They make it really easy to pull data out of a = header. On many platforms the RFC822 tag value pairs are automatically = mapped to corresponding data structures.

 

There is an argument for making the signature part of = the payload though. It is not a HTTP protocol header, it is content = metadata and these should have always been kept = separate.

 

 

The second one is a little bit more subtle as we = definitely need a way to identify which key is used and I don't like the = way it is done in the example because we end up specifying the key twice = and relying on some party to check they are the same. There lies the = path to tears, weeping and gnashing of = teeth.

 

I = would rather make the KeyID implicit in the case and require the = application to ferret it out from whatever CSR type object it is using. = It would be perfectly OK in my view to define a parallel JSON structure = to allow an all-JSON certificate issue path as an alternative to = PKCS#10. It would also be OK to use a combination of both to allow = additional information to be provided. But presenting security critical = information through redundant paths without a means of forcing cross = checking is a bad = plan.

------=_NextPart_000_006D_01D019F0.1CEA7FC0-- From nobody Wed Dec 17 12:00:29 2014 Return-Path: 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 116A31A8FD7 for ; Wed, 17 Dec 2014 12:00:20 -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 bprcLcy6grEI for ; Wed, 17 Dec 2014 12:00:16 -0800 (PST) Received: from mail-ob0-x233.google.com (mail-ob0-x233.google.com [IPv6:2607:f8b0:4003:c01::233]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1FB621A8701 for ; Wed, 17 Dec 2014 11:59:57 -0800 (PST) Received: by mail-ob0-f179.google.com with SMTP id va2so5585233obc.10 for ; Wed, 17 Dec 2014 11:59:56 -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:content-transfer-encoding; bh=IGFPSRcd9QT2tdCiGl0disY/X+WnPVMY0nGqUaGgfgg=; b=p9aIwBs8MrEeXsJLY63ZKYYLkqGuRDmY6SJj3MfOkafZV77J2Bear5cWhFsxqc7HM1 e7W1Aejl2eaYDj6P1D/z1wk4cvADjlY/dMYQIainL9tdTfRtyrXnNoJ4S98o6oYZA+xE fsnydN3F4lYuf9G4cup+eQWvXyj92afYiiDaOxpcthxf3EWg2OoS/D6B/CkZiUHLBm6K FhcV2t7u8KHcJ1YlJLCnUuXBC7y3Fp2AH595kwIZoMiLGFv3RDASv/R48OfJ5s+DHS2A FEK/ObWDBKeZAWp3TY2UyvPi+zS6Gxn/ngrpZCf9NH5qJ2OtTPUc8QnQMp72GIvpYGxF iJBA== MIME-Version: 1.0 X-Received: by 10.202.212.82 with SMTP id l79mr25635331oig.12.1418846396279; Wed, 17 Dec 2014 11:59:56 -0800 (PST) Received: by 10.202.49.203 with HTTP; Wed, 17 Dec 2014 11:59:56 -0800 (PST) In-Reply-To: <006c01d01a33$2b086890$811939b0$@icloud.com> References: <548FF9E3.1020703@gmail.com> <006c01d01a33$2b086890$811939b0$@icloud.com> Date: Wed, 17 Dec 2014 11:59:56 -0800 Message-ID: From: Martin Thomson To: Trevor Freeman Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Archived-At: http://mailarchive.ietf.org/arch/msg/acme/ULm5Iop5f0SiwAxV_PNh73ehgjI Cc: Richard Barnes , Phillip Hallam-Baker , "acme@ietf.org" , Anders Rundgren Subject: Re: [Acme] ACME signature mechanics X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Dec 2014 20:00:20 -0000 I think that there is the kernel of an idea here. Richard might not like this, but it does have a certain ring to it: See: https://tools.ietf.org/html/draft-thomson-httpbis-cant Maybe the whole signing thing isn't needed. The part about the CSR I get. This isn't just a matter of ensuring that the right pieces of information traverse the network in the protocol, it's also about dealing with the toolchain that exists for generating the certificates. The CSR is valuable in the sense that it is input to what is probably an existing process. On 17 December 2014 at 11:53, Trevor Freeman wrote: > Hi Richard, > > > > There is an alternative to using PKCS#10 as the CSR structure. The ACME > request is using TLS as a transport. You could use the client certificate > portion of TLS to send an X.509 certificate containing the ACME client > public key to the ACME server. All the data the ACME server needs is in t= he > X.509 structure. You can sign the X.509 certificate containing the leaf > certificate with the authorization public key in the normal X.509 way. > There is just as much X.509 certificate creation code out there as pkcs#1= 0 > creation code so I don=E2=80=99t see that as a big issue. An upside to th= is is you > also get a meaningful POP in that the ACME client submitting the request = has > to use the private key as part of the TLS negotiation which is a better > proof they actually have the private key. Also all of the ASN.1 structure= s > and the signatures for the request would be part of the TLS protocol. > > > > Trevor > > > > From: Acme [mailto:acme-bounces@ietf.org] On Behalf Of Phillip Hallam-Bak= er > Sent: Wednesday, December 17, 2014 9:02 AM > To: Richard Barnes > Cc: acme@ietf.org; Anders Rundgren > Subject: Re: [Acme] ACME signature mechanics > > > > > > > > On Tue, Dec 16, 2014 at 11:27 AM, Richard Barnes wrote: > > I think there might be a middle way here. I've been musing about making = a > "Content-Signature" header that just carries a JWS signature over the > payload (no HTTP headers). Since HTTP has to carry the payload bit-exact= , > there's no c14n nonsense, so this could be much simpler than other HTTP > signing proposals. It's sort of like JCS, except that there is actually = a > guarantee that the payload stays the same ;) > > > > That said, if your concern is really human readability, I don't think it'= s a > tragedy to make someone copy/paste into a base64 decoder. > > > > I do. If we are going to write protocols that can't be easily interpreted= in > wireline form then why not go binary with JSON-B, CBOR or what have you. > > > > I like the idea of using a header like container for the signature. It ma= kes > good architectural sense and it is easy to code. A signature is logically > meta-data and so it should be expressed as a header. > > > > I don't see any value in the 'protected' or 'header' slots. They just > confuse the issue. We should have ONE JSON blob that has all the data tha= t > we need and sigh that. All the data that is the case shall be signed and = any > data that is not signed shall be ignored. > > > > So the running example would be written thus: > > > > > > Signature: alg=3DRS256; nonce=3Dh5aYpWVkq-xlJh6cpR-3cw; > sig=3DKxITJ0rNlfDMAtfDr8eAw...fSSoehDFNZKQKzTZPtQ; KeyID=3D???TBS > > > > { "certificateRequest" : { > > "csr": "5jNudRx6Ye4HzKEqT5...FS6aKdZeGsysoCo4H9P", > } } > > > > The "certificateRequest" object contains exactly the sequence of octets t= hat > is signed. No moving bits round, no splicing, no complications at all. Wh= at > is in the signature scope and what is not is clear and unambiguous. > > > > The only objection I can see to this approach is that it makes JOSE prett= y > much redundant. > > > > > > That does leave two open issues to be decided though: > > > > 1 Should the signature header be part of the HTTP header or the payload? > > 2 How to encode the KeyID? > > > > > > I have a marginal preference for making the signature header part of the > HTTP header because that is how most Web servers and support libraries ar= e > designed to work. They make it really easy to pull data out of a header. = On > many platforms the RFC822 tag value pairs are automatically mapped to > corresponding data structures. > > > > There is an argument for making the signature part of the payload though.= It > is not a HTTP protocol header, it is content metadata and these should ha= ve > always been kept separate. > > > > > > The second one is a little bit more subtle as we definitely need a way to > identify which key is used and I don't like the way it is done in the > example because we end up specifying the key twice and relying on some pa= rty > to check they are the same. There lies the path to tears, weeping and > gnashing of teeth. > > > > I would rather make the KeyID implicit in the case and require the > application to ferret it out from whatever CSR type object it is using. I= t > would be perfectly OK in my view to define a parallel JSON structure to > allow an all-JSON certificate issue path as an alternative to PKCS#10. It > would also be OK to use a combination of both to allow additional > information to be provided. But presenting security critical information > through redundant paths without a means of forcing cross checking is a ba= d > plan. > > > _______________________________________________ > Acme mailing list > Acme@ietf.org > https://www.ietf.org/mailman/listinfo/acme > From nobody Wed Dec 17 12:17:20 2014 Return-Path: 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 AF5E51A86F7 for ; Wed, 17 Dec 2014 12:17:18 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.277 X-Spam-Level: X-Spam-Status: No, score=-1.277 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FM_FORGED_GMAIL=0.622, FREEMAIL_FROM=0.001, HTML_MESSAGE=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 d8LmUITBdv8M for ; Wed, 17 Dec 2014 12:17:14 -0800 (PST) Received: from mail-lb0-x236.google.com (mail-lb0-x236.google.com [IPv6:2a00:1450:4010:c04::236]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id C71321A9007 for ; Wed, 17 Dec 2014 12:17:12 -0800 (PST) Received: by mail-lb0-f182.google.com with SMTP id f15so14618521lbj.27 for ; Wed, 17 Dec 2014 12:17:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=Mq+2URTXxjO+ZB1fGJYYGUKWzp7R42DLSafKV38vqDY=; b=C3JvhiKi6lwcGBPt8K0CNLxhsKaBxCQoCjn+cxdlld0LQGXPQhT9x0NFO0QcwYnbDK XGQlMG+uDpMDSAVQPVQIRwHMh6cG8pEjfKt1+H41JQi3F1sk7RZjlB6i5oAcQOxm6JP9 vuwtSrjxIk9d7M6/5Brhau8L4JzFRd9L/SoW51w1RBnLtwUD92VvoBhDqmkmvGxOzKRm +yytV3ybeTr50XaDd5KWV/DkGaFTSzs0/Wddl6MBDF96x5f1fYaaWDlAsVXtDPoZMRAe rnYKRgGAWy1zbdAxJCnLQN7PYw/8gpsrRdcmp9o3bbhutDOIGCAmx7KFyNVJ1wjM2+d1 fSJA== MIME-Version: 1.0 X-Received: by 10.112.27.133 with SMTP id t5mr43104068lbg.45.1418847431274; Wed, 17 Dec 2014 12:17:11 -0800 (PST) Sender: hallam@gmail.com Received: by 10.112.19.42 with HTTP; Wed, 17 Dec 2014 12:17:11 -0800 (PST) In-Reply-To: <006c01d01a33$2b086890$811939b0$@icloud.com> References: <548FF9E3.1020703@gmail.com> <006c01d01a33$2b086890$811939b0$@icloud.com> Date: Wed, 17 Dec 2014 15:17:11 -0500 X-Google-Sender-Auth: GuFewj3Vc3UQ5ZbEGe0l0d2Dqvk Message-ID: From: Phillip Hallam-Baker To: Trevor Freeman Content-Type: multipart/alternative; boundary=001a1133b04a21b6f0050a6f29d7 Archived-At: http://mailarchive.ietf.org/arch/msg/acme/rEl2UhAM8fwPvnkv6CIBCWg5Aqk Cc: Richard Barnes , "acme@ietf.org" , Anders Rundgren Subject: Re: [Acme] ACME signature mechanics X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Dec 2014 20:17:18 -0000 --001a1133b04a21b6f0050a6f29d7 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On Wed, Dec 17, 2014 at 2:53 PM, Trevor Freeman wrote: > > Hi Richard, > > > > There is an alternative to using PKCS#10 as the CSR structure. The ACME > request is using TLS as a transport. You could use the client certificate > portion of TLS to send an X.509 certificate containing the ACME client > public key to the ACME server. All the data the ACME server needs is in t= he > X.509 structure. You can sign the X.509 certificate containing the leaf > certificate with the authorization public key in the normal X.509 way. > There is just as much X.509 certificate creation code out there as pkcs#1= 0 > creation code so I don=E2=80=99t see that as a big issue. An upside to th= is is you > also get a meaningful POP in that the ACME client submitting the request > has to use the private key as part of the TLS negotiation which is a bett= er > proof they actually have the private key. Also all of the ASN.1 structure= s > and the signatures for the request would be part of the TLS protocol. > > > Not in .NET there isn't. Certificate creation is only supported in the C++ stuff. --001a1133b04a21b6f0050a6f29d7 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable


On Wed, Dec 17, 2014 at 2:53 PM, Trevor Freeman <<= a href=3D"mailto:trevor.freeman99@icloud.com" target=3D"_blank">trevor.free= man99@icloud.com> wrote:

Hi Richard,

=C2=A0

There is an alternative to using PKCS#= 10 as the CSR structure. The ACME request is using TLS as a transport. You = could use the client certificate portion of TLS to send an X.509 certificat= e containing the ACME client public key to the ACME server. All the data th= e ACME server needs is in the X.509 structure. You can sign the X.509 certi= ficate containing the leaf certificate with the authorization public key in= the normal X.509 way.=C2=A0 There is just as much X.509 certificate creati= on code out there as pkcs#10 creation code so I don=E2=80=99t see that as a= big issue. An upside to this is you also get a meaningful POP in that the = ACME client submitting the request has to use the private key as part of th= e TLS negotiation which is a better proof they actually have the private ke= y. Also all of the ASN.1 structures and the signatures for the request woul= d be part of the TLS protocol.



Not in .NET there isn= 9;t. Certificate creation is only supported in the C++ stuff. =C2=A0
<= /div>
--001a1133b04a21b6f0050a6f29d7-- From nobody Wed Dec 17 12:28:32 2014 Return-Path: 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 213E11A8F4E for ; Wed, 17 Dec 2014 12:28:31 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.277 X-Spam-Level: X-Spam-Status: No, score=-1.277 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FM_FORGED_GMAIL=0.622, FREEMAIL_FROM=0.001, HTML_MESSAGE=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 RZBT5X6AKxKU for ; Wed, 17 Dec 2014 12:28:29 -0800 (PST) Received: from mail-la0-x233.google.com (mail-la0-x233.google.com [IPv6:2a00:1450:4010:c03::233]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 5AC331A8764 for ; Wed, 17 Dec 2014 12:28:29 -0800 (PST) Received: by mail-la0-f51.google.com with SMTP id ms9so13796731lab.10 for ; Wed, 17 Dec 2014 12:28:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=NOnv/r9Bl/mykS4HfoD5IAfeHI4YYnjzPIUm4S1KjSE=; b=fhKNHlKB1LlDzo+m28AE5dSRmjm2FiliIJJdzF/igjHzCyOOVT8UgW1Pbli9tY+5tC xl9TwTVe/ox368XlB4++vkYB0HEsPYcFCYuOKKCJyxsa+4NpAIxWEtzTIt4HABbzY8vN MeCJPOaDeqb/IousmUSYaNsoNJOsxiI/2XvEQkRqe9u7vhHbkul4/6wO1ic0X7Bmi7H0 Ov4/fWrLHiJjqy98cKkleyRl820sG7lsIRG0u8GTNd8umqVV5yocsygo99H80dbSwvTU NOwkPKg5wS1oflA15DcLuvN0HzGxGSV4DGohl+PtW0jdB9P7qoYweBv9L9/D+jBJrGGZ qFbw== MIME-Version: 1.0 X-Received: by 10.112.55.97 with SMTP id r1mr32637803lbp.49.1418848107874; Wed, 17 Dec 2014 12:28:27 -0800 (PST) Sender: hallam@gmail.com Received: by 10.112.19.42 with HTTP; Wed, 17 Dec 2014 12:28:27 -0800 (PST) In-Reply-To: <20141217171915.GX3241@localhost> References: <548FF9E3.1020703@gmail.com> <20141217171915.GX3241@localhost> Date: Wed, 17 Dec 2014 15:28:27 -0500 X-Google-Sender-Auth: wrb9b-DdbfLBRYJtiuax4QbJcrI Message-ID: From: Phillip Hallam-Baker To: Nico Williams Content-Type: multipart/alternative; boundary=001a11c3f16a75ceb8050a6f5135 Archived-At: http://mailarchive.ietf.org/arch/msg/acme/Kl2jsjeii9V2rxAf5TlXYcnfIWs Cc: Richard Barnes , "acme@ietf.org" , Anders Rundgren Subject: Re: [Acme] ACME signature mechanics X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Dec 2014 20:28:31 -0000 --001a11c3f16a75ceb8050a6f5135 Content-Type: text/plain; charset=UTF-8 On Wed, Dec 17, 2014 at 12:19 PM, Nico Williams wrote: > > On Wed, Dec 17, 2014 at 12:02:10PM -0500, Phillip Hallam-Baker wrote: > > That does leave two open issues to be decided though: > > > > 1 Should the signature header be part of the HTTP header or the payload? > > The payload. And then you've created a new MIME type. *message/rfc822* > > I have a marginal preference for making the signature header part of the > > HTTP header because that is how most Web servers and support libraries > are > > designed to work. They make it really easy to pull data out of a header. > On > > many platforms the RFC822 tag value pairs are automatically mapped to > > corresponding data structures. > > I'd rather it be in the payload because then you have less dependence on > the transport. E.g., if you're using an IPC mechanism in your server > implementation, with a less-privileged front-end passing validated > payloads to a more-privileged back-end. Well so long as the payload is divided into a header portion and a payload portion, I am fine. In fact we could even make both the header and the payload portion JSON encoded and then just use the JSON list spec to put them both in the same wrapper. The only hard part here is that we have a sequence of octets and we need to unambiguously specify exactly where the dividing line is between them: {
} CR LF CR LF { } I am perfectly happy with any one of the following, or with additional control characters thrown in to season the pot if you really must. But I am really insistent that there be exactly one choice: Header = [ {
} ] Payload = [ CR LF CR LF { } ] Header = [ {
} CR LF ] Payload = [ CR LF { } ] Header = [ {
} CR LF CR LF ] Payload = [ { } ] Header = [ {
} WS* ] Payload = [ { } ] The third is consistent with the approach for HTTP, the last is probably the easiest to implement and is a superset of the third. The only problem is that then this approach only works for JSON payloads. > > There is an argument for making the signature part of the payload though. > > It is not a HTTP protocol header, it is content metadata and these should > > have always been kept separate. > > Exactly. --001a11c3f16a75ceb8050a6f5135 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable


On Wed, Dec 17, 2014 at 12:19 PM, Nico Williams <<= a href=3D"mailto:nico@cryptonector.com" target=3D"_blank">nico@cryptonector= .com> wrote:
On Wed, Dec 17,= 2014 at 12:02:10PM -0500, Phillip Hallam-Baker wrote:
> That does leave two open issues to be decided though:
>
> 1 Should the signature header be part of the HTTP header or the payloa= d?

The payload.=C2=A0 And then you've created a new MIME type.

message/rfc822
=C2=A0
> I have a ma= rginal preference for making the signature header part of the
> HTTP header because that is how most Web servers and support libraries= are
> designed to work. They make it really easy to pull data out of a heade= r. On
> many platforms the RFC822 tag value pairs are automatically mapped to<= br> > corresponding data structures.

I'd rather it be in the payload because then you have less depen= dence on
the transport.=C2=A0 E.g., if you're using an IPC mechanism in your ser= ver
implementation, with a less-privileged front-end passing validated
payloads to a more-privileged back-end.

Wel= l so long as the payload is divided into a header portion and a payload por= tion, I am fine.

In fact we could even make both t= he header and the payload portion JSON encoded and then just use the JSON l= ist spec to put them both in the same wrapper. The only hard part here is t= hat we have a sequence of octets and we need to unambiguously specify exact= ly where the dividing line is between them:

{ <= header JSON> } CR LF CR LF { <payload JSON> }

=
I am perfectly happy with any one of the following, or with additional= control characters thrown in to season the pot if you really must. But I a= m really insistent that there be exactly one choice:

Header =3D [ { <header JSON> } ]
Payload =3D [ CR LF CR = LF { <payload JSON> } ]

Header =3D = [ { <header JSON> } CR LF ]
Payload =3D [ =C2=A0CR LF { <= ;payload JSON> } ]

Header =3D [ { &l= t;header JSON> }=C2=A0CR LF CR LF=C2=A0]
Payload =3D [ { <p= ayload JSON> } ]

Header =3D [ { <= header JSON> }=C2=A0WS* ]
Payload =3D [ { <payload JSON>= } ]


The third is consistent = with the approach for HTTP, the last is probably the easiest to implement a= nd is a superset of the third. The only problem is that then this approach = only works for JSON payloads.

=C2=A0
> There is an argument for making the signatur= e part of the payload though.
> It is not a HTTP protocol header, it is content metadata and these sho= uld
> have always been kept separate.

Exactly.
=C2=A0
--001a11c3f16a75ceb8050a6f5135-- From josh@letsencrypt.org Wed Dec 17 13:05:15 2014 Return-Path: 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 DEA121A87AE for ; Wed, 17 Dec 2014 13:05:15 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.378 X-Spam-Level: X-Spam-Status: No, score=-1.378 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FM_FORGED_GMAIL=0.622] 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 Y9xY7LXsuUpp for ; Wed, 17 Dec 2014 13:05:14 -0800 (PST) Received: from mail-ob0-x229.google.com (mail-ob0-x229.google.com [IPv6:2607:f8b0:4003:c01::229]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 9705B1A8790 for ; Wed, 17 Dec 2014 13:05:14 -0800 (PST) Received: by mail-ob0-f169.google.com with SMTP id vb8so5986967obc.0 for ; Wed, 17 Dec 2014 13:05:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=letsencrypt.org; s=google; h=mime-version:date:message-id:subject:from:to:content-type; bh=yoYgJa0GbSTRmxFk9lM5Xst8+jglY8AnrynR565WakQ=; b=aK58jB6Oa/mrzYqZhsNeY6TffcQ5de4RauWPsEtbIvP+t+FQQxfc/ESOTTwOGnyWkM kvY0O2UZLtbzpGBoTTf72qdgjDIITtkdOjoafu1hsVHetVGqjSII75E2YghBtbU9QQVM fP/Ilw8Bk+Kdb1MJ1ghRCpTlKjqMRbSF+tDe4= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:date:message-id:subject:from:to :content-type; bh=yoYgJa0GbSTRmxFk9lM5Xst8+jglY8AnrynR565WakQ=; b=kwyQaX5bO0YaeBNRRsXg8/njkFbOxcYkI/74feX5BXRmPO8Wu/THd1mJmnELjvZJeo r0FyXaWQyB2v4b/UOraKHnvM3SSqfO03j1HMpkS5pyVjVJEXCPtda7E1KJrrKrdOocm6 V38ZWpjU1a4LMRlblx/nF8Vj8uZj3kHBLGwS4MxIh04wm8tbxm2//nuOhoCSXuBGSa4g GsQQ6eJl/eRZLmULQAO18i7tsFrIgQtd1tGs4cvwV068Ap8vXav8Z0Ns2h923rO/mIeZ jMZehvS7FZHFKrEzHm43lahF6L2BDu+EVJOx6r7KqMaHGxv9UmHIPssmFX9YKZ0B8XtC QEQQ== X-Gm-Message-State: ALoCoQk2xwL80zfFv9Y/NSXUml8g8iT83AJBOvdKwJ/6OWP2ToQar8iKm8qZ08lkhgdUbW4NA3QG MIME-Version: 1.0 X-Received: by 10.182.199.106 with SMTP id jj10mr27206463obc.27.1418850313893; Wed, 17 Dec 2014 13:05:13 -0800 (PST) Received: by 10.60.11.134 with HTTP; Wed, 17 Dec 2014 13:05:13 -0800 (PST) X-Originating-IP: [73.31.197.101] Date: Wed, 17 Dec 2014 15:05:13 -0600 Message-ID: From: Josh Aas To: acme@ietf.org Content-Type: text/plain; charset=UTF-8 Archived-At: http://mailarchive.ietf.org/arch/msg/acme/1SHGYkpBS0UCg5q6d0sOnk3SgY4 Subject: [Acme] ACME and Let's Encrypt X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Dec 2014 21:07:01 -0000 Hey all, Some folks have asked about the relationship between ACME and Let's Encrypt, and in particular, whether the Let's Encrypt launch is gated on having an RFC for ACME. I would like to make clear that that is not the case, but that we are still strongly committed to openness. As stated in the original announcement, Let's Encrypt plans to begin operations in Q2 2015. That's only a matter of months from now -- the blink of an eye in IETF time. It will not be practical for Let's Encrypt to wait for the IETF process to conclude. Instead, we will deploy the initial Let's Encrypt service based on a draft version of ACME. As they say, the Internet runs on Internet-drafts. We remain strongly committed to openness in the operation of Let's Encrypt. All of the protocols used by Let's Encrypt will be published in our GitHub repositories, and we will continue to work in the IETF to make an ACME RFC that meets the needs of many stakeholders. Hope this helps clear things up, Josh From nobody Wed Dec 17 14:23:16 2014 Return-Path: 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 4C98C1A874B for ; Wed, 17 Dec 2014 14:23:15 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.666 X-Spam-Level: X-Spam-Status: No, score=-1.666 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, IP_NOT_FRIENDLY=0.334, RCVD_IN_DNSWL_NONE=-0.0001] 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 bt4nu8AIlFN4 for ; Wed, 17 Dec 2014 14:23:14 -0800 (PST) Received: from homiemail-a67.g.dreamhost.com (sub4.mail.dreamhost.com [69.163.253.135]) by ietfa.amsl.com (Postfix) with ESMTP id A143A1A0155 for ; Wed, 17 Dec 2014 14:23:14 -0800 (PST) Received: from homiemail-a67.g.dreamhost.com (localhost [127.0.0.1]) by homiemail-a67.g.dreamhost.com (Postfix) with ESMTP id 5D26027BC064; Wed, 17 Dec 2014 14:23:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=cryptonector.com; h=date :from:to:cc:subject:message-id:references:mime-version :content-type:in-reply-to; s=cryptonector.com; bh=7/gvOA8npefL32 pr7DOhC1xZYwM=; b=lBfQy0zZYZ1jlY97NY/qYFhYU9XWiBfAfPPREeC498Bqnr 3qEsloVp4/pX8wKZVD/6A8gPIICftbfd2drFShwVhAE50KfWFhBBRogZVI3ao/vO NlfkCOYQLo394IlXSPeyPD/YnSvtN+dr1G5jaK/3l1clGV60i7FRLLi2nwD6Y= Received: from localhost (108-207-244-174.lightspeed.austtx.sbcglobal.net [108.207.244.174]) (Authenticated sender: nico@cryptonector.com) by homiemail-a67.g.dreamhost.com (Postfix) with ESMTPA id E973127BC05D; Wed, 17 Dec 2014 14:23:13 -0800 (PST) Date: Wed, 17 Dec 2014 16:23:13 -0600 From: Nico Williams To: Phillip Hallam-Baker Message-ID: <20141217222309.GD3241@localhost> References: <548FF9E3.1020703@gmail.com> <20141217171915.GX3241@localhost> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) Archived-At: http://mailarchive.ietf.org/arch/msg/acme/zFpY138f6vWyJukXXgPvmTOk4WM Cc: Richard Barnes , "acme@ietf.org" , Anders Rundgren Subject: Re: [Acme] ACME signature mechanics X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Dec 2014 22:23:15 -0000 On Wed, Dec 17, 2014 at 03:28:27PM -0500, Phillip Hallam-Baker wrote: > On Wed, Dec 17, 2014 at 12:19 PM, Nico Williams > wrote: > > > > On Wed, Dec 17, 2014 at 12:02:10PM -0500, Phillip Hallam-Baker wrote: > > > > That does leave two open issues to be decided though: > > > > > > 1 Should the signature header be part of the HTTP header or the payload? > > > > The payload. And then you've created a new MIME type. > > > *message/rfc822* I guess that works. > In fact we could even make both the header and the payload portion JSON > encoded and then just use the JSON list spec to put them both in the same > wrapper. The only hard part here is that we have a sequence of octets and > we need to unambiguously specify exactly where the dividing line is between > them: Might as well just have a single JSON value wrapping both (or a JSON text sequence!), but whatever. Nico -- From nobody Wed Dec 17 14:54:20 2014 Return-Path: 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 1BE3C1A8778 for ; Wed, 17 Dec 2014 14:54:13 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.277 X-Spam-Level: X-Spam-Status: No, score=-1.277 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FM_FORGED_GMAIL=0.622, FREEMAIL_FROM=0.001, HTML_MESSAGE=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 ufdKKepvY6GE for ; Wed, 17 Dec 2014 14:54:11 -0800 (PST) Received: from mail-la0-x229.google.com (mail-la0-x229.google.com [IPv6:2a00:1450:4010:c03::229]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 413DD1A8771 for ; Wed, 17 Dec 2014 14:54:11 -0800 (PST) Received: by mail-la0-f41.google.com with SMTP id hv19so47229lab.0 for ; Wed, 17 Dec 2014 14:54:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=Udh2MOK01MhMCyqwu/Z+agjazOqk66benkwBodb+EaU=; b=eTDClmmUqDuXbZDTJJkURC9puL0L1RzSr21vzBhA3LB9uhQ7tQqfDF2lj7TSrGaZq5 kX7YCgtDhyGcufSs8xhDYjk6edcUrE+ChVU9ywpMFxAFUPrD6i685YF5wXmVKFOuWBjt V3Jd0Ty3wn6WSbuwH8OQ30h/09a2/Cy1oCpq6hbw0yYgJe68fm0bus8bCwJxD+FRhwxO //5RJqgkqs1bygUBoCb5TjGtjYykcwdnQJf9qkZqSQ7ww+LjpNvouYQsaCOCTGhu+YfM VOfC9PFkNnGiCztciY/ynd5Aj9FW8AtT2U1/PQqdnxWijiBZDyyJ9D8ybId415DzFoGG C9Fw== MIME-Version: 1.0 X-Received: by 10.152.8.225 with SMTP id u1mr41429684laa.21.1418856849762; Wed, 17 Dec 2014 14:54:09 -0800 (PST) Sender: hallam@gmail.com Received: by 10.112.19.42 with HTTP; Wed, 17 Dec 2014 14:54:09 -0800 (PST) In-Reply-To: <20141217222309.GD3241@localhost> References: <548FF9E3.1020703@gmail.com> <20141217171915.GX3241@localhost> <20141217222309.GD3241@localhost> Date: Wed, 17 Dec 2014 17:54:09 -0500 X-Google-Sender-Auth: vJZYuV-wZ6QbHrIyBVqmvUIaoBo Message-ID: From: Phillip Hallam-Baker To: Nico Williams Content-Type: multipart/alternative; boundary=089e0158b79e847275050a715aa9 Archived-At: http://mailarchive.ietf.org/arch/msg/acme/qGzk66q_ISIIPaarsLQi6u3ciCE Cc: Richard Barnes , "acme@ietf.org" , Anders Rundgren Subject: Re: [Acme] ACME signature mechanics X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Dec 2014 22:54:14 -0000 --089e0158b79e847275050a715aa9 Content-Type: text/plain; charset=UTF-8 On Wed, Dec 17, 2014 at 5:23 PM, Nico Williams wrote: > > On Wed, Dec 17, 2014 at 03:28:27PM -0500, Phillip Hallam-Baker wrote: > > On Wed, Dec 17, 2014 at 12:19 PM, Nico Williams > > wrote: > > > > > > On Wed, Dec 17, 2014 at 12:02:10PM -0500, Phillip Hallam-Baker wrote: > > > > > > That does leave two open issues to be decided though: > > > > > > > > 1 Should the signature header be part of the HTTP header or the > payload? > > > > > > The payload. And then you've created a new MIME type. > > > > > > *message/rfc822* > > I guess that works. > > > In fact we could even make both the header and the payload portion JSON > > encoded and then just use the JSON list spec to put them both in the same > > wrapper. The only hard part here is that we have a sequence of octets and > > we need to unambiguously specify exactly where the dividing line is > between > > them: > > Might as well just have a single JSON value wrapping both (or a JSON > text sequence!), but whatever. No, not at all. At every layer in the stack we have a separation of Header/Payload. And the Payload for one layer contains the Header and Payload for the one above. If the architecture was clean we would have this pattern all the way up the stack. But instead we have rather a lot of places where things are confused. and intertwingled. HTTP being especially bad as part of the header is application protocol and part is message content. Where this becomes a problem is when trying to sign stuff. I want the scope of the signature to be exactly the scope of the payload. Right now my code all works on the basis that the payload is the HTTP payload. But I am more than happy to move to a model where the payload is the message payload. This has other advantages we could make use of later on. For example, we could add encryption without problems. Or we could make it a general metadata prefix for content. Or we could add in slots for content metadata that tends to get conflated with SMTP or HTTP headers making signature and encryption harder than needed. If we try to wrap a JSON object then we are committed to the payload being JSON and we have two areas of ambiguity in the signature scope, the start and the end. Prefixing a signed object with a JSON blob and CRLF is rather simpler. --089e0158b79e847275050a715aa9 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable


On Wed, Dec 17, 2014 at 5:23 PM, Nico Williams <nico@cryptonector.= com> wrote:
On= Wed, Dec 17, 2014 at 03:28:27PM -0500, Phillip Hallam-Baker wrote:
> On Wed, Dec 17, 2014 at 12:19 PM, Nico Williams <nico@cryptonector.com>
> wrote:
> >
> > On Wed, Dec 17, 2014 at 12:02:10PM -0500, Phillip Hallam-Baker wr= ote:
> >
> > That does leave two open issues to be decided though:
> > >
> > > 1 Should the signature header be part of the HTTP header or = the payload?
> >
> > The payload.=C2=A0 And then you've created a new MIME type. >
>
> *message/rfc822*

I guess that works.

> In fact we could even make both the header and the payload portion JSO= N
> encoded and then just use the JSON list spec to put them both in the s= ame
> wrapper. The only hard part here is that we have a sequence of octets = and
> we need to unambiguously specify exactly where the dividing line is be= tween
> them:

Might as well just have a single JSON value wrapping both (or a JSON=
text sequence!), but whatever.

No, not at a= ll. At every layer in the stack we have a separation of Header/Payload. And= the Payload for one layer contains the Header and Payload for the one abov= e.

If the architecture was clean we would have thi= s pattern all the way up the stack. But instead we have rather a lot of pla= ces where things are confused. and intertwingled. HTTP being especially bad= as part of the header is application protocol and part is message content.=


Where this becomes a problem is wh= en trying to sign stuff. I want the scope of the signature to be exactly th= e scope of the payload. Right now my code all works on the basis that the p= ayload is the HTTP payload. But I am more than happy to move to a model whe= re the payload is the message payload.

This has ot= her advantages we could make use of later on. For example, we could add enc= ryption without problems. Or we could make it a general metadata prefix for= content. Or we could add in slots for content metadata that tends to get c= onflated with SMTP or HTTP headers making signature and encryption harder t= han needed.


If we try to wrap a JSO= N object then we are committed to the payload being JSON and we have two ar= eas of ambiguity in the signature scope, the start and the end.
<= br>
Prefixing a signed object with a JSON blob and CRLF is rather= simpler.
--089e0158b79e847275050a715aa9-- From nobody Wed Dec 17 15:03:18 2014 Return-Path: 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 D45EB1A000A for ; Wed, 17 Dec 2014 15:03:16 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.666 X-Spam-Level: X-Spam-Status: No, score=-1.666 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, IP_NOT_FRIENDLY=0.334, RCVD_IN_DNSWL_NONE=-0.0001] 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 4f1HubAFl5LM for ; Wed, 17 Dec 2014 15:03:16 -0800 (PST) Received: from homiemail-a36.g.dreamhost.com (sub4.mail.dreamhost.com [69.163.253.135]) by ietfa.amsl.com (Postfix) with ESMTP id 415001A000B for ; Wed, 17 Dec 2014 15:03:16 -0800 (PST) Received: from homiemail-a36.g.dreamhost.com (localhost [127.0.0.1]) by homiemail-a36.g.dreamhost.com (Postfix) with ESMTP id 1C889778061; Wed, 17 Dec 2014 15:03:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=cryptonector.com; h=date :from:to:cc:subject:message-id:references:mime-version :content-type:in-reply-to; s=cryptonector.com; bh=jLyqcxrD1t4La9 yGdavqORbrqFE=; b=noyDnfRVNDbQ2pMS2E0NBtriSOcbSfToV0dNfpMNw45fmL v45BJjGzG25sNm6y+I6fS2MMiiEjZMbZFkIA1fSZfQ5xQ6gOK1h/dtTNUqcHWz86 2dGKLJS7hpO2Zcrr3qx4rfoBvKSIiAEcoNGjSbjCLXTIjFMXruzdL2fOVDVYo= Received: from localhost (108-207-244-174.lightspeed.austtx.sbcglobal.net [108.207.244.174]) (Authenticated sender: nico@cryptonector.com) by homiemail-a36.g.dreamhost.com (Postfix) with ESMTPA id A5702778057; Wed, 17 Dec 2014 15:03:15 -0800 (PST) Date: Wed, 17 Dec 2014 17:03:15 -0600 From: Nico Williams To: Phillip Hallam-Baker Message-ID: <20141217230310.GC9443@localhost> References: <548FF9E3.1020703@gmail.com> <20141217171915.GX3241@localhost> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) Archived-At: http://mailarchive.ietf.org/arch/msg/acme/Ks7EtvOaJqMkUzBZyfZJK__P7xo Cc: Richard Barnes , "acme@ietf.org" , Anders Rundgren Subject: Re: [Acme] ACME signature mechanics X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Dec 2014 23:03:17 -0000 On Wed, Dec 17, 2014 at 03:28:27PM -0500, Phillip Hallam-Baker wrote: > On Wed, Dec 17, 2014 at 12:19 PM, Nico Williams > wrote: > > > > On Wed, Dec 17, 2014 at 12:02:10PM -0500, Phillip Hallam-Baker wrote: > > > > That does leave two open issues to be decided though: > > > > > > 1 Should the signature header be part of the HTTP header or the payload? > > > > The payload. And then you've created a new MIME type. > > > *message/rfc822* Wouldn't you need to subtype it? From nobody Wed Dec 17 15:06:59 2014 Return-Path: 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 BC5E01A0155 for ; Wed, 17 Dec 2014 15:06:10 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.277 X-Spam-Level: X-Spam-Status: No, score=-1.277 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FM_FORGED_GMAIL=0.622, FREEMAIL_FROM=0.001, HTML_MESSAGE=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 cr1aIX7J0awe for ; Wed, 17 Dec 2014 15:05:59 -0800 (PST) Received: from mail-la0-x233.google.com (mail-la0-x233.google.com [IPv6:2a00:1450:4010:c03::233]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id DE7A91A000B for ; Wed, 17 Dec 2014 15:05:36 -0800 (PST) Received: by mail-la0-f51.google.com with SMTP id ms9so37769lab.38 for ; Wed, 17 Dec 2014 15:05:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=kjxWjLfo9LlZL+Q9q8qtVsDc9gqGQH7wSgUigorJ/3w=; b=ZUV106ndTCiSERXUdfG9IoDxKhwTAxzxUoZaPu+VQYc28gOBcRzRF+wV4S4P068LvG SGREX5gUq6Rkrc3+mqO4Z5l5JKJAfnO6RouEbXREhl0W6Jhb23wVYhV3pwJnWjGsiH9C FZSomjiuPWJyW5N329dPgE/hSDj/7O8IaNkod8nV2Wta0e3Qno0DCWMqvB7Atva3zdEm MsqrqLNFREDngIJ2pwhdFL7tcjvPBp37NtegjADETJdRHT9KxB7ge/v6Kfdh0hMnu1X/ QzNScfe3/ViAoLR3AJzhv0M3u6hIehBOCAlV1aJJMTc2y5nCm+rXPzufe+aAKlTSUeOU jCmQ== MIME-Version: 1.0 X-Received: by 10.152.37.74 with SMTP id w10mr4123508laj.85.1418857534581; Wed, 17 Dec 2014 15:05:34 -0800 (PST) Sender: hallam@gmail.com Received: by 10.112.19.42 with HTTP; Wed, 17 Dec 2014 15:05:34 -0800 (PST) In-Reply-To: <20141217230310.GC9443@localhost> References: <548FF9E3.1020703@gmail.com> <20141217171915.GX3241@localhost> <20141217230310.GC9443@localhost> Date: Wed, 17 Dec 2014 18:05:34 -0500 X-Google-Sender-Auth: UsJZhO58R3manuiscZUo41y8Vho Message-ID: From: Phillip Hallam-Baker To: Nico Williams Content-Type: multipart/alternative; boundary=089e0160b51a55f3a7050a7183ca Archived-At: http://mailarchive.ietf.org/arch/msg/acme/THoVJuCjuXv75D5ezGcF3CblFhY Cc: Richard Barnes , "acme@ietf.org" , Anders Rundgren Subject: Re: [Acme] ACME signature mechanics X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Dec 2014 23:06:13 -0000 --089e0160b51a55f3a7050a7183ca Content-Type: text/plain; charset=UTF-8 On Wed, Dec 17, 2014 at 6:03 PM, Nico Williams wrote: > > On Wed, Dec 17, 2014 at 03:28:27PM -0500, Phillip Hallam-Baker wrote: > > On Wed, Dec 17, 2014 at 12:19 PM, Nico Williams > > wrote: > > > > > > On Wed, Dec 17, 2014 at 12:02:10PM -0500, Phillip Hallam-Baker wrote: > > > > > > That does leave two open issues to be decided though: > > > > > > > > 1 Should the signature header be part of the HTTP header or the > payload? > > > > > > The payload. And then you've created a new MIME type. > > > > > > *message/rfc822* > > Wouldn't you need to subtype it? > No, not at all. The Content-type field can be ignored completely. --089e0160b51a55f3a7050a7183ca Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable


On Wed, Dec 17, 2014 at 6:03 PM, Nico Williams <nico@cryptonector.= com> wrote:
On= Wed, Dec 17, 2014 at 03:28:27PM -0500, Phillip Hallam-Baker wrote:
> On Wed, Dec 17, 2014 at 12:19 PM, Nico Williams <nico@cryptonector.com>
> wrote:
> >
> > On Wed, Dec 17, 2014 at 12:02:10PM -0500, Phillip Hallam-Baker wr= ote:
> >
> > That does leave two open issues to be decided though:
> > >
> > > 1 Should the signature header be part of the HTTP header or = the payload?
> >
> > The payload.=C2=A0 And then you've created a new MIME type. >
>
> *message/rfc822*

Wouldn't you need to subtype it?

No= , not at all. The Content-type field can be ignored completely.
= =C2=A0
--089e0160b51a55f3a7050a7183ca-- From nobody Wed Dec 17 23:08:53 2014 Return-Path: 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 4E0AB1A0BE8 for ; Wed, 17 Dec 2014 23:08:52 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.749 X-Spam-Level: X-Spam-Status: No, score=-1.749 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, HTML_MESSAGE=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 Ca42Dz-MrFhi for ; Wed, 17 Dec 2014 23:08:50 -0800 (PST) Received: from mail-qc0-x230.google.com (mail-qc0-x230.google.com [IPv6:2607:f8b0:400d:c01::230]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id C39E41A0058 for ; Wed, 17 Dec 2014 23:08:49 -0800 (PST) Received: by mail-qc0-f176.google.com with SMTP id i17so447460qcy.7 for ; Wed, 17 Dec 2014 23:08:49 -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=8vJ7o9rUAwErNiALaNzZ9WTCqC6R2ERuQXoZV2f48uk=; b=Lz3m41V4aNfnfVvf/2qBC8BllxBT6Nk+DjGa/Q3UMzMwXL6FvriCM26WhAZiXMCTll QD7jClVhf855s3VMUIZm6CSZdpi8DgQrbtQdmSyAoWOTG8SHP4icufhxJ+WkSHvTt1uu Z151b4rmtPJGwPGeKBGFl8V62THyHH+XQ7+HLx4tGUEqjMHMwfY/heNjYoww4Q1kls5p aC+x7cVKF6TzGslLaxBUaRl1/dJJDkPu7q6kVtcoM0IVNzooVqRbVYKQvLSxgBQaWO4O VCbnx+r0UV5KGlFjfPZs/1Ul40YwN9QFidd60xm/wXR7HujNUaFVKZXCWVPrxH5Y/l3f 0BQA== MIME-Version: 1.0 X-Received: by 10.224.89.70 with SMTP id d6mr1021764qam.76.1418886527535; Wed, 17 Dec 2014 23:08:47 -0800 (PST) Received: by 10.140.48.75 with HTTP; Wed, 17 Dec 2014 23:08:47 -0800 (PST) In-Reply-To: References: Date: Thu, 18 Dec 2014 09:08:47 +0200 Message-ID: From: Iban Eguia To: Josh Aas Content-Type: multipart/alternative; boundary=001a11c3c6aa736f85050a784324 Archived-At: http://mailarchive.ietf.org/arch/msg/acme/UO4gFeDkiYLsPtRlczzReltsGfg Cc: acme@ietf.org Subject: Re: [Acme] ACME and Let's Encrypt X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Dec 2014 07:08:53 -0000 --001a11c3c6aa736f85050a784324 Content-Type: text/plain; charset=UTF-8 Hi, how is going to be updated if there is a major change in the draft? is there going to be a need to be changing the software as the draft changes? Best regards, Iban 2014-12-17 23:05 GMT+02:00 Josh Aas : > > Hey all, > > Some folks have asked about the relationship between ACME and Let's > Encrypt, and in particular, whether the Let's Encrypt launch is gated > on having an RFC for ACME. I would like to make clear that that is > not the case, but that we are still strongly committed to openness. > > As stated in the original announcement, Let's Encrypt plans to begin > operations in Q2 2015. That's only a matter of months from now -- the > blink of an eye in IETF time. It will not be practical for Let's > Encrypt to wait for the IETF process to conclude. Instead, we will > deploy the initial Let's Encrypt service based on a draft version of > ACME. As they say, the Internet runs on Internet-drafts. > > We remain strongly committed to openness in the operation of Let's > Encrypt. All of the protocols used by Let's Encrypt will be published > in our GitHub repositories, and we will continue to work in the IETF > to make an ACME RFC that meets the needs of many stakeholders. > > Hope this helps clear things up, > Josh > > _______________________________________________ > Acme mailing list > Acme@ietf.org > https://www.ietf.org/mailman/listinfo/acme > --001a11c3c6aa736f85050a784324 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi,
how is going to be updated if there is a = major change in the draft? is there going to be a need to be changing the s= oftware as the draft changes?

Best regards,

Iban<= br>

2014-12-= 17 23:05 GMT+02:00 Josh Aas <josh@letsencrypt.org>:Hey all,

Some folks have asked about the relationship between ACME and Let's
Encrypt, and in particular, whether the Let's Encrypt launch is gated on having an RFC for ACME.=C2=A0 I would like to make clear that that is not the case, but that we are still strongly committed to openness.

As stated in the original announcement, Let's Encrypt plans to begin operations in Q2 2015.=C2=A0 That's only a matter of months from now --= the
blink of an eye in IETF time.=C2=A0 It will not be practical for Let's<= br> Encrypt to wait for the IETF process to conclude.=C2=A0 Instead, we will deploy the initial Let's Encrypt service based on a draft version of ACME.=C2=A0 As they say, the Internet runs on Internet-drafts.

We remain strongly committed to openness in the operation of Let's
Encrypt.=C2=A0 All of the protocols used by Let's Encrypt will be publi= shed
in our GitHub repositories, and we will continue to work in the IETF
to make an ACME RFC that meets the needs of many stakeholders.

Hope this helps clear things up,
Josh

_______________________________________________
Acme mailing list
Acme@ietf.org
ht= tps://www.ietf.org/mailman/listinfo/acme
--001a11c3c6aa736f85050a784324-- From nobody Wed Dec 17 23:29:25 2014 Return-Path: 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 82AF41A03A7 for ; Wed, 17 Dec 2014 23:29:24 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.901 X-Spam-Level: X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, 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 srbPrB0guHQr for ; Wed, 17 Dec 2014 23:29:22 -0800 (PST) Received: from mr11p24im-asmtp001.me.com (mr11p24im-asmtp001.me.com [17.110.78.41]) (using TLSv1.2 with cipher DHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 5A9131A07BE for ; Wed, 17 Dec 2014 23:29:22 -0800 (PST) Received: from Den (c-24-17-210-106.hsd1.wa.comcast.net [24.17.210.106]) by mr11p24im-asmtp001.me.com (Oracle Communications Messaging Server 7.0.5.33.0 64bit (built Aug 27 2014)) with ESMTPSA id <0NGR00EXKOSVO530@mr11p24im-asmtp001.me.com> for acme@ietf.org; Thu, 18 Dec 2014 07:29:21 +0000 (GMT) X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:5.13.68,1.0.33,0.0.0000 definitions=2014-12-18_03:2014-12-17,2014-12-18,1970-01-01 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 suspectscore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=7.0.1-1408290000 definitions=main-1412180073 From: Trevor Freeman To: 'Martin Thomson' References: <548FF9E3.1020703@gmail.com> <006c01d01a33$2b086890$811939b0$@icloud.com> In-reply-to: Date: Wed, 17 Dec 2014 23:29:17 -0800 Message-id: <004901d01a94$55e9ebe0$01bdc3a0$@icloud.com> MIME-version: 1.0 Content-type: text/plain; charset=UTF-8 Content-transfer-encoding: quoted-printable X-Mailer: Microsoft Outlook 14.0 Thread-index: AQKP4NJlmAveeRXosKJTRtRnsZde3wH5Z8HOAZKX1t0Cmu8+3QIalcPVmtNUWvA= Content-language: en-us Archived-At: http://mailarchive.ietf.org/arch/msg/acme/Cv1VU-NqDWwr0XQRlVvwUWFHnT4 Cc: 'Richard Barnes' , 'Phillip Hallam-Baker' , acme@ietf.org, 'Anders Rundgren' Subject: Re: [Acme] ACME signature mechanics X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Dec 2014 07:29:24 -0000 The pkcs#10 is a product of the disconnected state we are trying to fix = and was designed to be transport independent. It works of HTTP, in Windows we used it over RPC and DCOM as well so it = achieved its objective such as they were back then. If we are designing something to run over TLS then we can take advantage = of features in the transport such as client auth. PKCS#10 is an input = into the request process but it's not the only game in town. In Windows = we also use X.509 as an input to the signing process. We could convert a = root certificate into a subordinate certificate which freaked a whole = bunch of folks out. We use the X.509 certificate to create a degenerate = pkcs#10 then signed that with an RA certificate. We could take root = certificates like Comodo and Verisign and subordinate them. All you = really need to make this work is a way to encode the public key and = parameters using a format which is widely supported and X.509 does just = that. The TLS protocol provides the POP for the leaf certificate. If you = want to sign the leaf certificate with an authorizing certificate, that = too is possible. -----Original Message----- From: Acme [mailto:acme-bounces@ietf.org] On Behalf Of Martin Thomson Sent: Wednesday, December 17, 2014 12:00 PM To: Trevor Freeman Cc: Richard Barnes; Phillip Hallam-Baker; acme@ietf.org; Anders Rundgren Subject: Re: [Acme] ACME signature mechanics I think that there is the kernel of an idea here. Richard might not = like this, but it does have a certain ring to it: See: https://tools.ietf.org/html/draft-thomson-httpbis-cant Maybe the whole signing thing isn't needed. The part about the CSR I get. This isn't just a matter of ensuring that = the right pieces of information traverse the network in the protocol, = it's also about dealing with the toolchain that exists for generating = the certificates. The CSR is valuable in the sense that it is input to = what is probably an existing process. On 17 December 2014 at 11:53, Trevor Freeman = wrote: > Hi Richard, > > > > There is an alternative to using PKCS#10 as the CSR structure. The=20 > ACME request is using TLS as a transport. You could use the client=20 > certificate portion of TLS to send an X.509 certificate containing the = > ACME client public key to the ACME server. All the data the ACME=20 > server needs is in the > X.509 structure. You can sign the X.509 certificate containing the=20 > leaf certificate with the authorization public key in the normal X.509 = way. > There is just as much X.509 certificate creation code out there as=20 > pkcs#10 creation code so I don=E2=80=99t see that as a big issue. An = upside to=20 > this is you also get a meaningful POP in that the ACME client=20 > submitting the request has to use the private key as part of the TLS=20 > negotiation which is a better proof they actually have the private=20 > key. Also all of the ASN.1 structures and the signatures for the = request would be part of the TLS protocol. > > > > Trevor > > > > From: Acme [mailto:acme-bounces@ietf.org] On Behalf Of Phillip=20 > Hallam-Baker > Sent: Wednesday, December 17, 2014 9:02 AM > To: Richard Barnes > Cc: acme@ietf.org; Anders Rundgren > Subject: Re: [Acme] ACME signature mechanics > > > > > > > > On Tue, Dec 16, 2014 at 11:27 AM, Richard Barnes wrote: > > I think there might be a middle way here. I've been musing about=20 > making a "Content-Signature" header that just carries a JWS signature=20 > over the payload (no HTTP headers). Since HTTP has to carry the=20 > payload bit-exact, there's no c14n nonsense, so this could be much=20 > simpler than other HTTP signing proposals. It's sort of like JCS,=20 > except that there is actually a guarantee that the payload stays the=20 > same ;) > > > > That said, if your concern is really human readability, I don't think=20 > it's a tragedy to make someone copy/paste into a base64 decoder. > > > > I do. If we are going to write protocols that can't be easily=20 > interpreted in wireline form then why not go binary with JSON-B, CBOR = or what have you. > > > > I like the idea of using a header like container for the signature. It = > makes good architectural sense and it is easy to code. A signature is=20 > logically meta-data and so it should be expressed as a header. > > > > I don't see any value in the 'protected' or 'header' slots. They just=20 > confuse the issue. We should have ONE JSON blob that has all the data=20 > that we need and sigh that. All the data that is the case shall be=20 > signed and any data that is not signed shall be ignored. > > > > So the running example would be written thus: > > > > > > Signature: alg=3DRS256; nonce=3Dh5aYpWVkq-xlJh6cpR-3cw;=20 > sig=3DKxITJ0rNlfDMAtfDr8eAw...fSSoehDFNZKQKzTZPtQ; KeyID=3D???TBS > > > > { "certificateRequest" : { > > "csr": "5jNudRx6Ye4HzKEqT5...FS6aKdZeGsysoCo4H9P", > } } > > > > The "certificateRequest" object contains exactly the sequence of=20 > octets that is signed. No moving bits round, no splicing, no=20 > complications at all. What is in the signature scope and what is not = is clear and unambiguous. > > > > The only objection I can see to this approach is that it makes JOSE=20 > pretty much redundant. > > > > > > That does leave two open issues to be decided though: > > > > 1 Should the signature header be part of the HTTP header or the = payload? > > 2 How to encode the KeyID? > > > > > > I have a marginal preference for making the signature header part of=20 > the HTTP header because that is how most Web servers and support=20 > libraries are designed to work. They make it really easy to pull data=20 > out of a header. On many platforms the RFC822 tag value pairs are=20 > automatically mapped to corresponding data structures. > > > > There is an argument for making the signature part of the payload=20 > though. It is not a HTTP protocol header, it is content metadata and=20 > these should have always been kept separate. > > > > > > The second one is a little bit more subtle as we definitely need a way = > to identify which key is used and I don't like the way it is done in=20 > the example because we end up specifying the key twice and relying on=20 > some party to check they are the same. There lies the path to tears,=20 > weeping and gnashing of teeth. > > > > I would rather make the KeyID implicit in the case and require the=20 > application to ferret it out from whatever CSR type object it is=20 > using. It would be perfectly OK in my view to define a parallel JSON=20 > structure to allow an all-JSON certificate issue path as an=20 > alternative to PKCS#10. It would also be OK to use a combination of=20 > both to allow additional information to be provided. But presenting=20 > security critical information through redundant paths without a means=20 > of forcing cross checking is a bad plan. > > > _______________________________________________ > Acme mailing list > Acme@ietf.org > https://www.ietf.org/mailman/listinfo/acme > _______________________________________________ Acme mailing list Acme@ietf.org https://www.ietf.org/mailman/listinfo/acme From nobody Wed Dec 17 23:54:30 2014 Return-Path: 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 B989E1A6F15 for ; Wed, 17 Dec 2014 23:54: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 gwAxIa60OIaO for ; Wed, 17 Dec 2014 23:54:25 -0800 (PST) Received: from mail-wi0-x22a.google.com (mail-wi0-x22a.google.com [IPv6:2a00:1450:400c:c05::22a]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 8DEAC1A09C9 for ; Wed, 17 Dec 2014 23:54:24 -0800 (PST) Received: by mail-wi0-f170.google.com with SMTP id bs8so669583wib.5 for ; Wed, 17 Dec 2014 23:54:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=3YaYWeNVpUiMvomTJm7ELEkfQnbSWiOXx6Sx0KgcsEM=; b=AtyPTEcBZ+1K0MZ8W0Hw0CyUjf6ZvILSz61f1J4l8DTkORhaBOK3ESC1bmXBy4bUqk bML4uKaaQWquCT9cTzH5mr35+j0nd1UNGHzVQusgTGNGJV5iMs+URBgUcLpQv8Gg8iY7 /3xO3TYGtXFY2JsljuwAmbFvpiepQMlZs0rA1brKHvQbZi7OqXtLue2u+hIUN9+mptfs cLcMx73ZPpp1+JQVlC+gUymYHSXEIlG5zYEv0B98pobmTKvEcMWkHsW/7XezO0vErSw8 oMjJtiIkgiabaQMFdNICKyMMmh+4ZkOGUPblxX0Mse0B2gnj6SEPYJ347JGtMPRtO89O 8Pow== X-Received: by 10.181.28.165 with SMTP id jp5mr21955136wid.76.1418889263288; Wed, 17 Dec 2014 23:54:23 -0800 (PST) Received: from [192.168.1.79] (52.16.14.81.rev.sfr.net. [81.14.16.52]) by mx.google.com with ESMTPSA id mo12sm7911818wjc.35.2014.12.17.23.54.21 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Wed, 17 Dec 2014 23:54:22 -0800 (PST) Message-ID: <54928827.9030009@gmail.com> Date: Thu, 18 Dec 2014 08:54:15 +0100 From: Anders Rundgren User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 MIME-Version: 1.0 To: Trevor Freeman , 'Martin Thomson' References: <548FF9E3.1020703@gmail.com> <006c01d01a33$2b086890$811939b0$@icloud.com> <004901d01a94$55e9ebe0$01bdc3a0$@icloud.com> In-Reply-To: <004901d01a94$55e9ebe0$01bdc3a0$@icloud.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Archived-At: http://mailarchive.ietf.org/arch/msg/acme/ybbGOvEMGef9cBMGtI0xFz_iCfM Cc: 'Richard Barnes' , 'Phillip Hallam-Baker' , acme@ietf.org Subject: Re: [Acme] ACME signature mechanics X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Dec 2014 07:54:27 -0000 Having worked with Europe's EAC (e-passport biometric data protection PKI), which works as described below, I would strongly recommend NOT using HTTPS client-certificate authentication because it doesn't fit a normal installation with an external security-proxy. Anders On 2014-12-18 08:29, Trevor Freeman wrote: > The pkcs#10 is a product of the disconnected state we are trying to fix and was designed to be transport independent. > It works of HTTP, in Windows we used it over RPC and DCOM as well so it achieved its objective such as they were back then. > > If we are designing something to run over TLS then we can take advantage of features in the transport such as client auth. PKCS#10 is an input into the request process but it's not the only game in town. In Windows we also use X.509 as an input to the signing process. We could convert a root certificate into a subordinate certificate which freaked a whole bunch of folks out. We use the X.509 certificate to create a degenerate pkcs#10 then signed that with an RA certificate. We could take root certificates like Comodo and Verisign and subordinate them. All you really need to make this work is a way to encode the public key and parameters using a format which is widely supported and X.509 does just that. The TLS protocol provides the POP for the leaf certificate. If you want to sign the leaf certificate with an authorizing certificate, that too is possible. > > -----Original Message----- > From: Acme [mailto:acme-bounces@ietf.org] On Behalf Of Martin Thomson > Sent: Wednesday, December 17, 2014 12:00 PM > To: Trevor Freeman > Cc: Richard Barnes; Phillip Hallam-Baker; acme@ietf.org; Anders Rundgren > Subject: Re: [Acme] ACME signature mechanics > > I think that there is the kernel of an idea here. Richard might not like this, but it does have a certain ring to it: > > See: > https://tools.ietf.org/html/draft-thomson-httpbis-cant > > Maybe the whole signing thing isn't needed. > > The part about the CSR I get. This isn't just a matter of ensuring that the right pieces of information traverse the network in the protocol, it's also about dealing with the toolchain that exists for generating the certificates. The CSR is valuable in the sense that it is input to what is probably an existing process. > > On 17 December 2014 at 11:53, Trevor Freeman wrote: >> Hi Richard, >> >> >> >> There is an alternative to using PKCS#10 as the CSR structure. The >> ACME request is using TLS as a transport. You could use the client >> certificate portion of TLS to send an X.509 certificate containing the >> ACME client public key to the ACME server. All the data the ACME >> server needs is in the >> X.509 structure. You can sign the X.509 certificate containing the >> leaf certificate with the authorization public key in the normal X.509 way. >> There is just as much X.509 certificate creation code out there as >> pkcs#10 creation code so I don’t see that as a big issue. An upside to >> this is you also get a meaningful POP in that the ACME client >> submitting the request has to use the private key as part of the TLS >> negotiation which is a better proof they actually have the private >> key. Also all of the ASN.1 structures and the signatures for the request would be part of the TLS protocol. >> >> >> >> Trevor >> >> >> >> From: Acme [mailto:acme-bounces@ietf.org] On Behalf Of Phillip >> Hallam-Baker >> Sent: Wednesday, December 17, 2014 9:02 AM >> To: Richard Barnes >> Cc: acme@ietf.org; Anders Rundgren >> Subject: Re: [Acme] ACME signature mechanics >> >> >> >> >> >> >> >> On Tue, Dec 16, 2014 at 11:27 AM, Richard Barnes wrote: >> >> I think there might be a middle way here. I've been musing about >> making a "Content-Signature" header that just carries a JWS signature >> over the payload (no HTTP headers). Since HTTP has to carry the >> payload bit-exact, there's no c14n nonsense, so this could be much >> simpler than other HTTP signing proposals. It's sort of like JCS, >> except that there is actually a guarantee that the payload stays the >> same ;) >> >> >> >> That said, if your concern is really human readability, I don't think >> it's a tragedy to make someone copy/paste into a base64 decoder. >> >> >> >> I do. If we are going to write protocols that can't be easily >> interpreted in wireline form then why not go binary with JSON-B, CBOR or what have you. >> >> >> >> I like the idea of using a header like container for the signature. It >> makes good architectural sense and it is easy to code. A signature is >> logically meta-data and so it should be expressed as a header. >> >> >> >> I don't see any value in the 'protected' or 'header' slots. They just >> confuse the issue. We should have ONE JSON blob that has all the data >> that we need and sigh that. All the data that is the case shall be >> signed and any data that is not signed shall be ignored. >> >> >> >> So the running example would be written thus: >> >> >> >> >> >> Signature: alg=RS256; nonce=h5aYpWVkq-xlJh6cpR-3cw; >> sig=KxITJ0rNlfDMAtfDr8eAw...fSSoehDFNZKQKzTZPtQ; KeyID=???TBS >> >> >> >> { "certificateRequest" : { >> >> "csr": "5jNudRx6Ye4HzKEqT5...FS6aKdZeGsysoCo4H9P", >> } } >> >> >> >> The "certificateRequest" object contains exactly the sequence of >> octets that is signed. No moving bits round, no splicing, no >> complications at all. What is in the signature scope and what is not is clear and unambiguous. >> >> >> >> The only objection I can see to this approach is that it makes JOSE >> pretty much redundant. >> >> >> >> >> >> That does leave two open issues to be decided though: >> >> >> >> 1 Should the signature header be part of the HTTP header or the payload? >> >> 2 How to encode the KeyID? >> >> >> >> >> >> I have a marginal preference for making the signature header part of >> the HTTP header because that is how most Web servers and support >> libraries are designed to work. They make it really easy to pull data >> out of a header. On many platforms the RFC822 tag value pairs are >> automatically mapped to corresponding data structures. >> >> >> >> There is an argument for making the signature part of the payload >> though. It is not a HTTP protocol header, it is content metadata and >> these should have always been kept separate. >> >> >> >> >> >> The second one is a little bit more subtle as we definitely need a way >> to identify which key is used and I don't like the way it is done in >> the example because we end up specifying the key twice and relying on >> some party to check they are the same. There lies the path to tears, >> weeping and gnashing of teeth. >> >> >> >> I would rather make the KeyID implicit in the case and require the >> application to ferret it out from whatever CSR type object it is >> using. It would be perfectly OK in my view to define a parallel JSON >> structure to allow an all-JSON certificate issue path as an >> alternative to PKCS#10. It would also be OK to use a combination of >> both to allow additional information to be provided. But presenting >> security critical information through redundant paths without a means >> of forcing cross checking is a bad plan. >> >> >> _______________________________________________ >> Acme mailing list >> Acme@ietf.org >> https://www.ietf.org/mailman/listinfo/acme >> > _______________________________________________ > Acme mailing list > Acme@ietf.org > https://www.ietf.org/mailman/listinfo/acme > From nobody Wed Dec 17 23:54:39 2014 Return-Path: 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 2B1E61A09C9 for ; Wed, 17 Dec 2014 23:54:34 -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 2ygymTBIG4KP for ; Wed, 17 Dec 2014 23:54:31 -0800 (PST) Received: from mail-wi0-x231.google.com (mail-wi0-x231.google.com [IPv6:2a00:1450:400c:c05::231]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D5C2F1A0AF8 for ; Wed, 17 Dec 2014 23:54:30 -0800 (PST) Received: by mail-wi0-f177.google.com with SMTP id l15so843309wiw.4 for ; Wed, 17 Dec 2014 23:54:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=3YaYWeNVpUiMvomTJm7ELEkfQnbSWiOXx6Sx0KgcsEM=; b=Ob5q1/wjFVRnTlIUarhc5pmZYpkFl+jW/DOFunNLVfSLQh9yRhHg3JeHhdHteNReCh Imwoc4SRFiEHMHOLhbc3Y7dIvGZ+GkjbgAfbSIhS8t9Dyrd8CqaWl89SikgauKoWcoAJ xFzSsW5Apl2tbba93ia0ritcj8MNMvBcXwAJL9NVQRyX4zeUsJ62nYGCw8PDz5GdMm7S U8olrf3j3r7zOJzB5coBo3dJ7hnoPr+snXSeo0CNH8nB3JeS79A2N4zMRfCyyYk7i6lk Kw9HV5AohNtM2rjdPAiITpuDh10Y4id5dSCgFmhLJWYCUEdletGWKAGvQVdxY/8jcumQ 9fWw== X-Received: by 10.180.73.235 with SMTP id o11mr21724743wiv.51.1418889269656; Wed, 17 Dec 2014 23:54:29 -0800 (PST) Received: from [192.168.1.79] (52.16.14.81.rev.sfr.net. [81.14.16.52]) by mx.google.com with ESMTPSA id kn5sm7896906wjb.48.2014.12.17.23.54.28 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Wed, 17 Dec 2014 23:54:29 -0800 (PST) Message-ID: <5492882D.7020401@gmail.com> Date: Thu, 18 Dec 2014 08:54:21 +0100 From: Anders Rundgren User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 MIME-Version: 1.0 To: Trevor Freeman , 'Martin Thomson' References: <548FF9E3.1020703@gmail.com> <006c01d01a33$2b086890$811939b0$@icloud.com> <004901d01a94$55e9ebe0$01bdc3a0$@icloud.com> In-Reply-To: <004901d01a94$55e9ebe0$01bdc3a0$@icloud.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Archived-At: http://mailarchive.ietf.org/arch/msg/acme/MSuIHTKU68out1oecCEbkzh3hu8 Cc: 'Richard Barnes' , 'Phillip Hallam-Baker' , acme@ietf.org Subject: Re: [Acme] ACME signature mechanics X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Dec 2014 07:54:34 -0000 Having worked with Europe's EAC (e-passport biometric data protection PKI), which works as described below, I would strongly recommend NOT using HTTPS client-certificate authentication because it doesn't fit a normal installation with an external security-proxy. Anders On 2014-12-18 08:29, Trevor Freeman wrote: > The pkcs#10 is a product of the disconnected state we are trying to fix and was designed to be transport independent. > It works of HTTP, in Windows we used it over RPC and DCOM as well so it achieved its objective such as they were back then. > > If we are designing something to run over TLS then we can take advantage of features in the transport such as client auth. PKCS#10 is an input into the request process but it's not the only game in town. In Windows we also use X.509 as an input to the signing process. We could convert a root certificate into a subordinate certificate which freaked a whole bunch of folks out. We use the X.509 certificate to create a degenerate pkcs#10 then signed that with an RA certificate. We could take root certificates like Comodo and Verisign and subordinate them. All you really need to make this work is a way to encode the public key and parameters using a format which is widely supported and X.509 does just that. The TLS protocol provides the POP for the leaf certificate. If you want to sign the leaf certificate with an authorizing certificate, that too is possible. > > -----Original Message----- > From: Acme [mailto:acme-bounces@ietf.org] On Behalf Of Martin Thomson > Sent: Wednesday, December 17, 2014 12:00 PM > To: Trevor Freeman > Cc: Richard Barnes; Phillip Hallam-Baker; acme@ietf.org; Anders Rundgren > Subject: Re: [Acme] ACME signature mechanics > > I think that there is the kernel of an idea here. Richard might not like this, but it does have a certain ring to it: > > See: > https://tools.ietf.org/html/draft-thomson-httpbis-cant > > Maybe the whole signing thing isn't needed. > > The part about the CSR I get. This isn't just a matter of ensuring that the right pieces of information traverse the network in the protocol, it's also about dealing with the toolchain that exists for generating the certificates. The CSR is valuable in the sense that it is input to what is probably an existing process. > > On 17 December 2014 at 11:53, Trevor Freeman wrote: >> Hi Richard, >> >> >> >> There is an alternative to using PKCS#10 as the CSR structure. The >> ACME request is using TLS as a transport. You could use the client >> certificate portion of TLS to send an X.509 certificate containing the >> ACME client public key to the ACME server. All the data the ACME >> server needs is in the >> X.509 structure. You can sign the X.509 certificate containing the >> leaf certificate with the authorization public key in the normal X.509 way. >> There is just as much X.509 certificate creation code out there as >> pkcs#10 creation code so I don’t see that as a big issue. An upside to >> this is you also get a meaningful POP in that the ACME client >> submitting the request has to use the private key as part of the TLS >> negotiation which is a better proof they actually have the private >> key. Also all of the ASN.1 structures and the signatures for the request would be part of the TLS protocol. >> >> >> >> Trevor >> >> >> >> From: Acme [mailto:acme-bounces@ietf.org] On Behalf Of Phillip >> Hallam-Baker >> Sent: Wednesday, December 17, 2014 9:02 AM >> To: Richard Barnes >> Cc: acme@ietf.org; Anders Rundgren >> Subject: Re: [Acme] ACME signature mechanics >> >> >> >> >> >> >> >> On Tue, Dec 16, 2014 at 11:27 AM, Richard Barnes wrote: >> >> I think there might be a middle way here. I've been musing about >> making a "Content-Signature" header that just carries a JWS signature >> over the payload (no HTTP headers). Since HTTP has to carry the >> payload bit-exact, there's no c14n nonsense, so this could be much >> simpler than other HTTP signing proposals. It's sort of like JCS, >> except that there is actually a guarantee that the payload stays the >> same ;) >> >> >> >> That said, if your concern is really human readability, I don't think >> it's a tragedy to make someone copy/paste into a base64 decoder. >> >> >> >> I do. If we are going to write protocols that can't be easily >> interpreted in wireline form then why not go binary with JSON-B, CBOR or what have you. >> >> >> >> I like the idea of using a header like container for the signature. It >> makes good architectural sense and it is easy to code. A signature is >> logically meta-data and so it should be expressed as a header. >> >> >> >> I don't see any value in the 'protected' or 'header' slots. They just >> confuse the issue. We should have ONE JSON blob that has all the data >> that we need and sigh that. All the data that is the case shall be >> signed and any data that is not signed shall be ignored. >> >> >> >> So the running example would be written thus: >> >> >> >> >> >> Signature: alg=RS256; nonce=h5aYpWVkq-xlJh6cpR-3cw; >> sig=KxITJ0rNlfDMAtfDr8eAw...fSSoehDFNZKQKzTZPtQ; KeyID=???TBS >> >> >> >> { "certificateRequest" : { >> >> "csr": "5jNudRx6Ye4HzKEqT5...FS6aKdZeGsysoCo4H9P", >> } } >> >> >> >> The "certificateRequest" object contains exactly the sequence of >> octets that is signed. No moving bits round, no splicing, no >> complications at all. What is in the signature scope and what is not is clear and unambiguous. >> >> >> >> The only objection I can see to this approach is that it makes JOSE >> pretty much redundant. >> >> >> >> >> >> That does leave two open issues to be decided though: >> >> >> >> 1 Should the signature header be part of the HTTP header or the payload? >> >> 2 How to encode the KeyID? >> >> >> >> >> >> I have a marginal preference for making the signature header part of >> the HTTP header because that is how most Web servers and support >> libraries are designed to work. They make it really easy to pull data >> out of a header. On many platforms the RFC822 tag value pairs are >> automatically mapped to corresponding data structures. >> >> >> >> There is an argument for making the signature part of the payload >> though. It is not a HTTP protocol header, it is content metadata and >> these should have always been kept separate. >> >> >> >> >> >> The second one is a little bit more subtle as we definitely need a way >> to identify which key is used and I don't like the way it is done in >> the example because we end up specifying the key twice and relying on >> some party to check they are the same. There lies the path to tears, >> weeping and gnashing of teeth. >> >> >> >> I would rather make the KeyID implicit in the case and require the >> application to ferret it out from whatever CSR type object it is >> using. It would be perfectly OK in my view to define a parallel JSON >> structure to allow an all-JSON certificate issue path as an >> alternative to PKCS#10. It would also be OK to use a combination of >> both to allow additional information to be provided. But presenting >> security critical information through redundant paths without a means >> of forcing cross checking is a bad plan. >> >> >> _______________________________________________ >> Acme mailing list >> Acme@ietf.org >> https://www.ietf.org/mailman/listinfo/acme >> > _______________________________________________ > Acme mailing list > Acme@ietf.org > https://www.ietf.org/mailman/listinfo/acme > From nobody Thu Dec 18 00:12:48 2014 Return-Path: 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 839BA1A6EDA for ; Thu, 18 Dec 2014 00:12:45 -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 9tSRa_UXTfwn for ; Thu, 18 Dec 2014 00:12:42 -0800 (PST) Received: from mail-wi0-x236.google.com (mail-wi0-x236.google.com [IPv6:2a00:1450:400c:c05::236]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 861861A1EEE for ; Thu, 18 Dec 2014 00:12:42 -0800 (PST) Received: by mail-wi0-f182.google.com with SMTP id h11so885567wiw.3 for ; Thu, 18 Dec 2014 00:12:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:subject:references :in-reply-to:content-type:content-transfer-encoding; bh=rV9Icv3z+uObL1BdgloiUg314ZtX8VCehMCqECmhKEo=; b=L0iytWbjuWqnd67uOeG7keWUfJ3v1XxPrcXF2KJGJpVkUyZt2viYcoU2nr+ra/+y/h bOPMRhIGohlGe36ImmtUvaRoeQfHAc+3j9S/BM4V6Pzq2kDlNt/oZAQlEb5pKhc/g+Kt M5L17e4MdpbVTFqC4qAmGyinXUSn3ToNcvGPdgamCNaItpHOqUnzvDQ7cVlx1phSmlrk Iwpfgyc14HmzLMbCArrnZ/VFAkWdgA5WQhWib55SXj5kXgM5tWFH0GDRko1ElZsKMz6b DT6Q5VTlePxDo8vosGwFThgIDb0xrib62QU7PJmg50NdAvnJSQX6nMmqZBcs3ejoDF0v a27g== X-Received: by 10.194.238.40 with SMTP id vh8mr1644173wjc.57.1418890361150; Thu, 18 Dec 2014 00:12:41 -0800 (PST) Received: from [192.168.1.79] (52.16.14.81.rev.sfr.net. [81.14.16.52]) by mx.google.com with ESMTPSA id jr4sm7982288wjc.20.2014.12.18.00.12.40 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Thu, 18 Dec 2014 00:12:40 -0800 (PST) Message-ID: <54928C71.4020908@gmail.com> Date: Thu, 18 Dec 2014 09:12:33 +0100 From: Anders Rundgren User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 MIME-Version: 1.0 To: "acme@ietf.org" References: <548FF9E3.1020703@gmail.com> <20141217171915.GX3241@localhost> <20141217230310.GC9443@localhost> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Archived-At: http://mailarchive.ietf.org/arch/msg/acme/u9ThfItN6309njEAvxrBo5WNJAo Subject: Re: [Acme] ACME signature mechanics X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Dec 2014 08:12:46 -0000 I would recommend playing a bit with JCS before dismissing it: https://mobilepki.org/jcs The (IMO...) ultimate ACME solution: http://www.ietf.org/mail-archive/web/acme/current/msg00127.html Cheers Anders From nobody Thu Dec 18 03:08:39 2014 Return-Path: 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 E09291A07BE for ; Thu, 18 Dec 2014 03:08:24 -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 5kYQwD0-Rsbq for ; Thu, 18 Dec 2014 03:08:20 -0800 (PST) Received: from mail-wg0-x236.google.com (mail-wg0-x236.google.com [IPv6:2a00:1450:400c:c00::236]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 941EA1A6FBC for ; Thu, 18 Dec 2014 03:08:14 -0800 (PST) Received: by mail-wg0-f54.google.com with SMTP id l2so1268546wgh.41 for ; Thu, 18 Dec 2014 03:08:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:subject :content-type:content-transfer-encoding; bh=RjWma5iOfNMW3pQT/OoLIBsre7jtgJ2qs+tw/j45mUQ=; b=FXQmovrA8XmRLSN6RbFhwmyLoqQ/nph1aXbo0biYWBz7G3txYCn1a5wtbq9jjjJKic fEYPqa0rOJ13euD6rOe+GI2gradFQJh0fyjVdmQ4cRBGI31jGgnuXlg6ZoofG0HwGOFB wIgR3+FHfINBxlRfJP+jSKZTc6x7qUUoAUm8jgulXlWLOeMPn9rWoV/NVGBPmJPI5FsP FhrEcCdJUHW3cGqIPS9Xdp/q+k/et03+K4H2pGB6pINTkaKzGZBDWYKmMU2Yvxp10H/e Xv4rt+tg/fdsUE4qmTdrf0Qs2gi1FWLLQLYv708nGQtyvnBpD9Cq9toit/IQ4WkqzOW2 q+PQ== X-Received: by 10.181.8.193 with SMTP id dm1mr22957518wid.55.1418900893252; Thu, 18 Dec 2014 03:08:13 -0800 (PST) Received: from [192.168.1.79] (52.16.14.81.rev.sfr.net. [81.14.16.52]) by mx.google.com with ESMTPSA id mo12sm8502443wjc.35.2014.12.18.03.08.12 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Thu, 18 Dec 2014 03:08:12 -0800 (PST) Message-ID: <5492B595.6020605@gmail.com> Date: Thu, 18 Dec 2014 12:08:05 +0100 From: Anders Rundgren User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 MIME-Version: 1.0 To: "acme@ietf.org" Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Archived-At: http://mailarchive.ietf.org/arch/msg/acme/ANOHTsx2QCdEjyMBKEyn7aCIEUc Subject: [Acme] Message Type/Version Identifiers X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Dec 2014 11:08:25 -0000 Hi List, Back in the olden days when XML was king, we used a top-level element + namespace (some even added a version attribute) to identify a particular message object. I have "backported" these things to JSON because I think they were good. A system like ACME could also use such a scheme since there will undoubtedly be revisions over time. A real-world example: https://openkeystore.googlecode.com/svn/resources/trunk/docs/keygen2.html#Sample.KeyCreationResponse In my particular take on this, the specific @context and @qualifier objects are registered with a class-factory making the supporting parsing framework return a properly instantiated object of the associated class as well as automatically rejecting unknown object types. The framework is only about 300 lines of java. Anders From nobody Thu Dec 18 04:12:44 2014 Return-Path: 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 C85881A883D for ; Thu, 18 Dec 2014 04:12:41 -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 MoFDJV6d_oMT for ; Thu, 18 Dec 2014 04:12:40 -0800 (PST) Received: from mail-wg0-x22a.google.com (mail-wg0-x22a.google.com [IPv6:2a00:1450:400c:c00::22a]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 214341A883B for ; Thu, 18 Dec 2014 04:12:40 -0800 (PST) Received: by mail-wg0-f42.google.com with SMTP id k14so1442725wgh.29 for ; Thu, 18 Dec 2014 04:12:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:subject :content-type:content-transfer-encoding; bh=rvEttkmW2RKCfel/y3UaXE9w7/38H20oF9F/f4Ukvho=; b=AgNPnNM4tc5NMrIX+Qgu6kVfduKiYRwpoX6L/Ja6E0Re0uiWAS242oUHhSp42zngIT 8EZHDTz39T9E8jaw8VjU+2X3BZJ74J4jpy84kW5JSGKT2FH2KoIiNGUGa1OzeqFm+mHN 4rjKvB1h6T6sJar1Aqp09HJlG2Zx38MjcvY6T3T6wNZRq5W9W/fxA1U2w6JbjFp5iI89 3Zqm/74qCoV8/XjpFQzyaz5e8sMa4lvk6TI840RAb5d5GgMcpt52sZFRxAy98WtoA4tw RhKKxnI2gXYiLJsUPuydNk3eJzkBSVhwLuMk883jV8rNLvMOURHRZAlQ69PEdJetQ7/v 95Rg== X-Received: by 10.194.19.4 with SMTP id a4mr3714012wje.3.1418904758533; Thu, 18 Dec 2014 04:12:38 -0800 (PST) Received: from [192.168.1.79] (52.16.14.81.rev.sfr.net. [81.14.16.52]) by mx.google.com with ESMTPSA id bs2sm8702335wjc.43.2014.12.18.04.12.37 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Thu, 18 Dec 2014 04:12:37 -0800 (PST) Message-ID: <5492C4AF.3050708@gmail.com> Date: Thu, 18 Dec 2014 13:12:31 +0100 From: Anders Rundgren User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 MIME-Version: 1.0 To: "acme@ietf.org" Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Archived-At: http://mailarchive.ietf.org/arch/msg/acme/i8LT0SABVktVfxlckdgoK-keFs8 Subject: [Acme] "authorized key pair" vs CSR keys X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Dec 2014 12:12:42 -0000 Dear List, I'm trying to "decipher" this spec https://letsencrypt.github.io/acme-spec/ but I got lost early on :-( Does/can the CSR use another key-pair than the "authorized key pair"? If not the outer signature seems a bit odd since the CSR itself should contain a signature. Anders From nobody Thu Dec 18 04:34:01 2014 Return-Path: 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 4B78B1A888A for ; Thu, 18 Dec 2014 04:33:59 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.277 X-Spam-Level: X-Spam-Status: No, score=-1.277 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FM_FORGED_GMAIL=0.622, FREEMAIL_FROM=0.001, HTML_MESSAGE=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 PJqV2sjJypG4 for ; Thu, 18 Dec 2014 04:33:58 -0800 (PST) Received: from mail-la0-x229.google.com (mail-la0-x229.google.com [IPv6:2a00:1450:4010:c03::229]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id E5A591A883B for ; Thu, 18 Dec 2014 04:33:57 -0800 (PST) Received: by mail-la0-f41.google.com with SMTP id hv19so895680lab.14 for ; Thu, 18 Dec 2014 04:33:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=3TkppCx7stZ4P7/L4pzPMz/ZKlDHbjN6XkjJ9PFbMjI=; b=Zwj5BQCIqPkKb2dcDu2jWdx4Q1WxH5dZUAjEbzzDJGjWw5Gz/Fu4KzxhQ0NUtuHN99 DlZgq1ARb/3Eat/Ct9/4MUC9hIGbU7JbhP2REIRyXW4+JmP4mqFNxA7XOr4k3a4oXtke dpL5LijDB51P4lwriXsQKPHwc3CGUJFWrB71Epvs4FnG+/ylQvfK/O41JkTfRSvBEQcL 1mp01mRFz/SK5sZzf2+iguqYuJSI5VtItBU13mxvHYD8NKFx5EZ5XHcTGKKB879F2WPr QTBkSUL4VM4XYB+8goy8yFuvXt77xSsbg53fUsjrNhjj8WZneuZmD8Q2KLqnBrd3kOwl 1MBw== MIME-Version: 1.0 X-Received: by 10.112.27.133 with SMTP id t5mr1989204lbg.45.1418906036328; Thu, 18 Dec 2014 04:33:56 -0800 (PST) Sender: hallam@gmail.com Received: by 10.112.19.42 with HTTP; Thu, 18 Dec 2014 04:33:56 -0800 (PST) In-Reply-To: <54928827.9030009@gmail.com> References: <548FF9E3.1020703@gmail.com> <006c01d01a33$2b086890$811939b0$@icloud.com> <004901d01a94$55e9ebe0$01bdc3a0$@icloud.com> <54928827.9030009@gmail.com> Date: Thu, 18 Dec 2014 07:33:56 -0500 X-Google-Sender-Auth: 4BGP6x95h5wZVi0WR5Cw3ooN6CM Message-ID: From: Phillip Hallam-Baker To: Anders Rundgren Content-Type: multipart/alternative; boundary=001a1133b04a43e108050a7cceac Archived-At: http://mailarchive.ietf.org/arch/msg/acme/m3cvKDpEYXZn_YGwhXNM90kQ7Mo Cc: Richard Barnes , Martin Thomson , "acme@ietf.org" , Trevor Freeman Subject: Re: [Acme] ACME signature mechanics X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Dec 2014 12:33:59 -0000 --001a1133b04a43e108050a7cceac Content-Type: text/plain; charset=UTF-8 On Thu, Dec 18, 2014 at 2:54 AM, Anders Rundgren < anders.rundgren.net@gmail.com> wrote: > > Having worked with Europe's EAC (e-passport biometric data protection PKI), > which works as described below, I would strongly recommend NOT using HTTPS > client-certificate authentication because it doesn't fit a normal > installation > with an external security-proxy. +1 Part of the objective here should be to put the end customer in control by running their own issue point that is a proxy to a CA or another proxy. Binding the authentication to the transport means that the proof of possession can only be verified by the proxy which breaks the model. On top of which, it is really yucky to implement. The less time spent traveling unimplemented, unexplored and un-debugged code paths, the better. Minimal TLS stacks for embedded devices don't typically do client auth. See 'minimal'. --001a1133b04a43e108050a7cceac Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
On T= hu, Dec 18, 2014 at 2:54 AM, Anders Rundgren <anders.rundgren= .net@gmail.com> wrote:
Having w= orked with Europe's EAC (e-passport biometric data protection PKI),
which works as described below, I would strongly recommend NOT using HTTPS<= br> client-certificate authentication because it doesn't fit a normal insta= llation
with an external security-proxy.

+1

Part of the objective here should be to put the end custo= mer in control by running their own issue point that is a proxy to a CA or = another proxy. Binding the authentication to the transport means that the p= roof of possession can only be verified by the proxy which breaks the model= .
=C2=A0
On top of which, it is really yucky to impleme= nt. The less time spent traveling unimplemented, unexplored and un-debugged= code paths, the better.


Minimal TL= S stacks for embedded devices don't typically do client auth. See '= minimal'.
--001a1133b04a43e108050a7cceac-- From nobody Thu Dec 18 04:49:49 2014 Return-Path: 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 6BA481A888D for ; Thu, 18 Dec 2014 04:49:45 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -2.61 X-Spam-Level: X-Spam-Status: No, score=-2.61 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7, 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 Bzw6FsTtgY-K for ; Thu, 18 Dec 2014 04:49:43 -0800 (PST) Received: from prod-mail-xrelay07.akamai.com (prod-mail-xrelay07.akamai.com [72.246.2.115]) by ietfa.amsl.com (Postfix) with ESMTP id 353CE1A8879 for ; Thu, 18 Dec 2014 04:49:42 -0800 (PST) Received: from prod-mail-xrelay07.akamai.com (localhost.localdomain [127.0.0.1]) by postfix.imss70 (Postfix) with ESMTP id E20BA47621; Thu, 18 Dec 2014 12:49:41 +0000 (GMT) Received: from prod-mail-relay06.akamai.com (prod-mail-relay06.akamai.com [172.17.120.126]) by prod-mail-xrelay07.akamai.com (Postfix) with ESMTP id CB0484761C; Thu, 18 Dec 2014 12:49:41 +0000 (GMT) Received: from email.msg.corp.akamai.com (usma1ex-casadmn.msg.corp.akamai.com [172.27.123.33]) by prod-mail-relay06.akamai.com (Postfix) with ESMTP id 62478202F; Thu, 18 Dec 2014 12:49:41 +0000 (GMT) Received: from usma1ex-cashub5.kendall.corp.akamai.com (172.27.105.21) by usma1ex-dag1mb4.msg.corp.akamai.com (172.27.123.104) with Microsoft SMTP Server (TLS) id 15.0.913.22; Thu, 18 Dec 2014 07:49:40 -0500 Received: from USMBX1.msg.corp.akamai.com ([169.254.1.15]) by USMA1EX-CASHUB5.kendall.corp.akamai.com ([172.27.105.21]) with mapi; Thu, 18 Dec 2014 07:49:40 -0500 From: "Salz, Rich" To: Iban Eguia , Josh Aas Date: Thu, 18 Dec 2014 07:49:39 -0500 Thread-Topic: [Acme] ACME and Let's Encrypt Thread-Index: AdAakYS6nyz0lt3IS0yQOmycP3B//gAL2mQg Message-ID: <2A0EFB9C05D0164E98F19BB0AF3708C71D54F0F844@USMBX1.msg.corp.akamai.com> References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: acceptlanguage: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Archived-At: http://mailarchive.ietf.org/arch/msg/acme/engCqHhbjbfXULeiQ6GT6_nrchA Cc: "acme@ietf.org" Subject: Re: [Acme] ACME and Let's Encrypt X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Dec 2014 12:49:45 -0000 PiBob3cgaXMgZ29pbmcgdG8gYmUgdXBkYXRlZCBpZiB0aGVyZSBpcyBhIG1ham9yIGNoYW5nZSBp biB0aGUgZHJhZnQ/IGlzIHRoZXJlIGdvaW5nIHRvIGJlIGEgbmVlZCB0byBiZSBjaGFuZ2luZyB0 aGUgc29mdHdhcmUgYXMgdGhlIGRyYWZ0IGNoYW5nZXM/DQoNClllcy4NCg0KTm8gZGlmZmVyZW50 IHRoYW4gYW55IG90aGVyIHNvZnR3YXJlL3N0YW5kYXJkIGludGVyYWN0aW9uLCBzdWNoIGFzIFRM UyAxLjMsIEhUVFAvMiwgYW5kIHNvIG9uLg0KDQo= From nobody Thu Dec 18 04:57:16 2014 Return-Path: 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 5DA731A8891 for ; Thu, 18 Dec 2014 04:57:14 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.91 X-Spam-Level: X-Spam-Status: No, score=-1.91 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, 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 2FhIdeZYC5j7 for ; Thu, 18 Dec 2014 04:57:12 -0800 (PST) Received: from mout.gmx.net (mout.gmx.net [212.227.17.22]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 9D5901A888D for ; Thu, 18 Dec 2014 04:57:11 -0800 (PST) Received: from [192.168.131.138] ([80.92.123.25]) by mail.gmx.com (mrgmx102) with ESMTPSA (Nemesis) id 0M03qC-1Xn4Yu1BF6-00uIEB; Thu, 18 Dec 2014 13:57:04 +0100 Message-ID: <5492CF1B.7010508@gmx.net> Date: Thu, 18 Dec 2014 13:56:59 +0100 From: Hannes Tschofenig User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0 MIME-Version: 1.0 To: Phillip Hallam-Baker , Anders Rundgren References: <548FF9E3.1020703@gmail.com> <006c01d01a33$2b086890$811939b0$@icloud.com> <004901d01a94$55e9ebe0$01bdc3a0$@icloud.com> <54928827.9030009@gmail.com> In-Reply-To: OpenPGP: id=4D776BC9 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="ABs5MMDmX4OaHL1wSqk4BiR9hCoHkvj2e" X-Provags-ID: V03:K0:UJqnHRTA+49lZYT0koe4es9+JkhLdIcSO3Dgz1mR0yjsSjdc8tS 5lInvp5h0MQBLEz2ypIPbQVSoQvc6FDwuP7TSAEWckoVDf47fJacUsmI2/Wx8iWH2+i1ceW 9VpTIGRwgOHICwt3xq/gIcxbRkp/WeZuTMVG/g34zAJZmFoRZj4QbGm1plVnaWwSg4urvvv Ur5jkX+YB0PJ/O7NPnuug== X-UI-Out-Filterresults: notjunk:1; Archived-At: http://mailarchive.ietf.org/arch/msg/acme/PdpLDlXzOY2lrEDPYmO_ULmeuP8 Cc: Richard Barnes , Trevor Freeman , "acme@ietf.org" , Martin Thomson Subject: Re: [Acme] ACME signature mechanics X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Dec 2014 12:57:14 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --ABs5MMDmX4OaHL1wSqk4BiR9hCoHkvj2e Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable Hi Phillip, this statement caught my attention: On 12/18/2014 01:33 PM, Phillip Hallam-Baker wrote: > Minimal TLS stacks for embedded devices don't typically do client auth.= > See 'minimal'. It depends what devices you are talking about, for what purpose they use TLS/DTLS, and what the overall design pattern of the device is. With the work we are doing in other working groups, such as DICE, we are trying to give guidance on how to use TLS/DTLS for use with Internet of Things (=3Dsmall embedded devices) in an effort to bring more (standardized) security protocols into those devices. With that work we are heavily relying on mutual authentication at the DTLS/TLS level. Ciao Hannes PS: I also don't think that the discussion on this list is relevant to embedded devices. --ABs5MMDmX4OaHL1wSqk4BiR9hCoHkvj2e Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 Comment: GPGTools - http://gpgtools.org iQEcBAEBCgAGBQJUks8cAAoJEGhJURNOOiAt1KkH/iXwo3VfanjVv2aDSO/FTNrs NqSbVQQ9yk3T4nXnB1RwVwtoRj333Ceyi3EWO40yByf7s9oKarpV/Q7saYcdfbTJ eT3IOkdzxHHD3wAFRuOIJi3JA6LxJkZtm+SHa7n25xW+0ltQBDfx9Rep9ZxxzUcQ HhT+QsXNVhiTTVw4T14qMTCoUbWp6fPV/wk7Ic7VMeQNRdTr8zJMBg4MO6Hz3JOY LU9RfkeYZbvjLqpLEdY1224bDYsOoKtvLuwBEGmzVFrHNlDGshnUK6xr+/slwgI0 ZF8da0cTy7D+sFoqWm5qsLDjyp0ywBkmNNxFXRJGehD1uR3jk5QTLr1w5Uprhkc= =pVzz -----END PGP SIGNATURE----- --ABs5MMDmX4OaHL1wSqk4BiR9hCoHkvj2e-- From nobody Thu Dec 18 05:18:06 2014 Return-Path: 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 645781A88C7 for ; Thu, 18 Dec 2014 05:18:05 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.277 X-Spam-Level: X-Spam-Status: No, score=-1.277 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FM_FORGED_GMAIL=0.622, FREEMAIL_FROM=0.001, HTML_MESSAGE=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 BRr2-W4WXRkU for ; Thu, 18 Dec 2014 05:17:59 -0800 (PST) Received: from mail-la0-x22d.google.com (mail-la0-x22d.google.com [IPv6:2a00:1450:4010:c03::22d]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D42A31A88C6 for ; Thu, 18 Dec 2014 05:17:58 -0800 (PST) Received: by mail-la0-f45.google.com with SMTP id gq15so981637lab.18 for ; Thu, 18 Dec 2014 05:17:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=+USD/3JWpVxk3MXaKEwy0bRvWavkRmi151vTANcrmy8=; b=pGe+AOcPW5iMy6gEyIqZ1sO8xtrBiie3xaZ6oyUotDuZmPxNoacs4T/mptO59j79vo u8qP4RHq0lfoL8Ee93jaczMd+9JJ2ure2Y/vtg4Gjq+Qdz/NSHdG/TjTi0hU3UeBRWnp 2OUNIFa5fifVmvwZ3Q7HWpsRTNVMcjG1r/zxBjisd/23OzM16iypkIsCnwDAAw04k+SI r5ywYlm21mdYf9Ovn+IQNMLjMOdteWlk/j4jVnmJuZnXIHpxvXAP70aI+DfXvLUIC2Rh qWILriOcNSGs0fQXNBiTYTMmVCee5JxcLlnB+C5iNwZtjPveCVpSapMHH0De4AMRfjPY TIgQ== MIME-Version: 1.0 X-Received: by 10.112.119.201 with SMTP id kw9mr2129739lbb.99.1418908677334; Thu, 18 Dec 2014 05:17:57 -0800 (PST) Sender: hallam@gmail.com Received: by 10.112.19.42 with HTTP; Thu, 18 Dec 2014 05:17:57 -0800 (PST) In-Reply-To: <5492CF1B.7010508@gmx.net> References: <548FF9E3.1020703@gmail.com> <006c01d01a33$2b086890$811939b0$@icloud.com> <004901d01a94$55e9ebe0$01bdc3a0$@icloud.com> <54928827.9030009@gmail.com> <5492CF1B.7010508@gmx.net> Date: Thu, 18 Dec 2014 08:17:57 -0500 X-Google-Sender-Auth: ep9m_E_AsEHZk62z1AxWX5XoPDQ Message-ID: From: Phillip Hallam-Baker To: Hannes Tschofenig Content-Type: multipart/alternative; boundary=047d7bae49daae6b28050a7d6b75 Archived-At: http://mailarchive.ietf.org/arch/msg/acme/weHZLdG4Y6io_wFtPLKVy0ssra0 Cc: Richard Barnes , Trevor Freeman , "acme@ietf.org" , Martin Thomson , Anders Rundgren Subject: Re: [Acme] ACME signature mechanics X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Dec 2014 13:18:05 -0000 --047d7bae49daae6b28050a7d6b75 Content-Type: text/plain; charset=UTF-8 On Thu, Dec 18, 2014 at 7:56 AM, Hannes Tschofenig < hannes.tschofenig@gmx.net> wrote: > > Hi Phillip, > > this statement caught my attention: > > On 12/18/2014 01:33 PM, Phillip Hallam-Baker wrote: > > Minimal TLS stacks for embedded devices don't typically do client auth. > > See 'minimal'. > > It depends what devices you are talking about, for what purpose they use > TLS/DTLS, and what the overall design pattern of the device is. > > With the work we are doing in other working groups, such as DICE, we are > trying to give guidance on how to use TLS/DTLS for use with Internet of > Things (=small embedded devices) in an effort to bring more > (standardized) security protocols into those devices. > > With that work we are heavily relying on mutual authentication at the > DTLS/TLS level. > > Ciao > Hannes > > PS: I also don't think that the discussion on this list is relevant to > embedded devices. > Why not? Support for embedded devices and the cloud is the main forcing function here. We already have mechanisms that support automated certificate management, there are dozens. There is little need for these when a customer only has one cert and no need for standardization unless the customer has multiple CAs which is very rare except for the very largest customers. The best justification for making ACME an IETF standard as opposed to LetsEncrypt going off and doing their own thing like every CA to date is that we want to move to an environment where every device uses TLS all the time. Internet of Things and Cloud computing are the two forcing factors that make a standardized, automated issue scheme essential. I want to be able to unpack my Nest thermostat, plug it in and have it grab a certificate from my local cert issue point as part of the mechanism by which I grant it access to my home network. This is an application layer protocol. It should have authentication at the application layer. The reason TLS client auth isn't very useful is that client authentication is an application layer concern, not a transport layer concern. --047d7bae49daae6b28050a7d6b75 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable


On Thu, Dec 18, 2014 at 7:56 AM, Hannes Tschofenig &l= t;hannes.tsc= hofenig@gmx.net> wrote:
Hi Phil= lip,

this statement caught my attention:

On 12/18/2014 01:33 PM, Phillip Hallam-Baker wrote:
> Minimal TLS stacks for embedded devices don't typically do client = auth.
> See 'minimal'.

It depends what devices you are talking about, for what purpose they= use
TLS/DTLS, and what the overall design pattern of the device is.

With the work we are doing in other working groups, such as DICE, we are trying to give guidance on how to use TLS/DTLS for use with=C2=A0 Internet = of
Things (=3Dsmall embedded devices) in an effort to bring more
(standardized) security protocols into those devices.

With that work we are heavily relying on mutual authentication at the
DTLS/TLS level.

Ciao
Hannes

PS: I also don't think that the discussion on this list is relevant to<= br> embedded devices.

Why not?=C2=A0
<= div>
Support for embedded devices and the cloud is the main f= orcing function here. We already have mechanisms that support automated cer= tificate management, there are dozens. There is little need for these when = a customer only has one cert and no need for standardization unless the cus= tomer has multiple CAs which is very rare except for the very largest custo= mers.

The best justification for making ACME an IE= TF standard as opposed to LetsEncrypt going off and doing their own thing l= ike every CA to date is that we want to move to an environment where every = device uses TLS all the time. Internet of Things and Cloud computing are th= e two forcing factors that make a standardized, automated issue scheme esse= ntial.=C2=A0


I want to be able to u= npack my Nest thermostat, plug it in and have it grab a certificate from my= local cert issue point as part of the mechanism by which I grant it access= to my home network.

This is an application layer = protocol. It should have authentication at the application layer. The reaso= n TLS client auth isn't very useful is that client authentication is an= application layer concern, not a transport layer concern.
--047d7bae49daae6b28050a7d6b75-- From nobody Thu Dec 18 05:23:41 2014 Return-Path: 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 18F351A88AB for ; Thu, 18 Dec 2014 05:23:41 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.91 X-Spam-Level: X-Spam-Status: No, score=-1.91 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, 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 3ZSLXk-q-B_v for ; Thu, 18 Dec 2014 05:23:38 -0800 (PST) Received: from mout.gmx.net (mout.gmx.net [212.227.15.19]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 405241A1EFF for ; Thu, 18 Dec 2014 05:23:38 -0800 (PST) Received: from [192.168.131.138] ([80.92.123.25]) by mail.gmx.com (mrgmx003) with ESMTPSA (Nemesis) id 0M1F72-1Xm04P1eg4-00tCFK; Thu, 18 Dec 2014 14:23:21 +0100 Message-ID: <5492D548.4010709@gmx.net> Date: Thu, 18 Dec 2014 14:23:20 +0100 From: Hannes Tschofenig User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0 MIME-Version: 1.0 To: Phillip Hallam-Baker References: <548FF9E3.1020703@gmail.com> <006c01d01a33$2b086890$811939b0$@icloud.com> <004901d01a94$55e9ebe0$01bdc3a0$@icloud.com> <54928827.9030009@gmail.com> <5492CF1B.7010508@gmx.net> In-Reply-To: OpenPGP: id=4D776BC9 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="009V8A5RG08GmgITIBtESuxJ4UxcQ0DdE" X-Provags-ID: V03:K0:IMyLq1jtYYhIMuKiiWQueTwbg/PkQz2cpz1Ow0ZYh9DsRstvojd NhocYgm8ObmMlQpUy3aRSS8DP6VroHcbW7pyDlZs5AOMR3HGSEi0NttvGjeiYRkgFQgqW47 eKDY+aiaFyo8b0YYmCXD3txt911IaOGi4hi0VrCQE+FZ/6XcsbRb2YRM4e8Dy0fUa4sXUZG oBZk2ChnNuTGtMSOfU+LA== X-UI-Out-Filterresults: notjunk:1; Archived-At: http://mailarchive.ietf.org/arch/msg/acme/UUyzhXg0gp8PMCQIfw3jKghPQp0 Cc: Richard Barnes , Martin Thomson , "acme@ietf.org" , Trevor Freeman , Anders Rundgren Subject: Re: [Acme] ACME signature mechanics X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Dec 2014 13:23:41 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --009V8A5RG08GmgITIBtESuxJ4UxcQ0DdE Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable Hi Phillip, we already have a mechanism for issuing certificates to embedded devices, namely OMA Lightweight M2M. It is already used today. That specification is a version of the OMA device management protocol (which is also widely used) but uses different protocols that are more suitable for the embedded side, such as CoAP and JSON. Hence, I doubt that this work is something the IoT community is asking fo= r. Ciao Hannes On 12/18/2014 02:17 PM, Phillip Hallam-Baker wrote: >=20 >=20 > On Thu, Dec 18, 2014 at 7:56 AM, Hannes Tschofenig > > wrote: >=20 > Hi Phillip, >=20 > this statement caught my attention: >=20 > On 12/18/2014 01:33 PM, Phillip Hallam-Baker wrote: > > Minimal TLS stacks for embedded devices don't typically do client= auth. > > See 'minimal'. >=20 > It depends what devices you are talking about, for what purpose the= y use > TLS/DTLS, and what the overall design pattern of the device is. >=20 > With the work we are doing in other working groups, such as DICE, w= e are > trying to give guidance on how to use TLS/DTLS for use with Intern= et of > Things (=3Dsmall embedded devices) in an effort to bring more > (standardized) security protocols into those devices. >=20 > With that work we are heavily relying on mutual authentication at t= he > DTLS/TLS level. >=20 > Ciao > Hannes >=20 > PS: I also don't think that the discussion on this list is relevant= to > embedded devices. >=20 >=20 > Why not?=20 >=20 > Support for embedded devices and the cloud is the main forcing function= > here. We already have mechanisms that support automated certificate > management, there are dozens. There is little need for these when a > customer only has one cert and no need for standardization unless the > customer has multiple CAs which is very rare except for the very larges= t > customers. >=20 > The best justification for making ACME an IETF standard as opposed to > LetsEncrypt going off and doing their own thing like every CA to date i= s > that we want to move to an environment where every device uses TLS all > the time. Internet of Things and Cloud computing are the two forcing > factors that make a standardized, automated issue scheme essential.=20 >=20 >=20 > I want to be able to unpack my Nest thermostat, plug it in and have it > grab a certificate from my local cert issue point as part of the > mechanism by which I grant it access to my home network. >=20 > This is an application layer protocol. It should have authentication at= > the application layer. The reason TLS client auth isn't very useful is > that client authentication is an application layer concern, not a > transport layer concern. >=20 >=20 > _______________________________________________ > Acme mailing list > Acme@ietf.org > https://www.ietf.org/mailman/listinfo/acme >=20 --009V8A5RG08GmgITIBtESuxJ4UxcQ0DdE Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 Comment: GPGTools - http://gpgtools.org iQEcBAEBCgAGBQJUktVIAAoJEGhJURNOOiAtYT4H+gM9JgWL3Fd4IEYy+Ta43LvF EIfkmI3tGz7HK7McddcO2uIhwOJHU1xeSjtrx9dhkcchR1V8MMyTfffD/UktuK16 o+uyHq+HlUSmXeBwNYlF7kIeZ3pP28zxjUOdrrrXohIhN6yhApn+S1t1hhddJbfg 9oxsyE48E1XGqKCOVYs8phUXxyeYL4/IGDi9Br52rJX01NM3zILxEGGsd0Xim38q RZxuGqQNBKsI5F3lBjgX/c7MufZnZOVu+mkT5xQyoOl+rmHFgnjNRksBPFc/+iu8 V5kZfiStK4YO18hqTl0M2M2fTYGGBtoqA69X7Qslz5YRHB6PazlkEJ27OX/1kog= =QoDs -----END PGP SIGNATURE----- --009V8A5RG08GmgITIBtESuxJ4UxcQ0DdE-- From nobody Thu Dec 18 06:12:20 2014 Return-Path: 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 7F0391A8A12 for ; Thu, 18 Dec 2014 06:11:54 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.277 X-Spam-Level: X-Spam-Status: No, score=-1.277 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FM_FORGED_GMAIL=0.622, FREEMAIL_FROM=0.001, HTML_MESSAGE=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 rAXHqfai59Wl for ; Thu, 18 Dec 2014 06:11:53 -0800 (PST) Received: from mail-lb0-x22d.google.com (mail-lb0-x22d.google.com [IPv6:2a00:1450:4010:c04::22d]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id C382D1A89B5 for ; Thu, 18 Dec 2014 06:11:44 -0800 (PST) Received: by mail-lb0-f173.google.com with SMTP id z12so1017912lbi.4 for ; Thu, 18 Dec 2014 06:11:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=Myqtoc5OxbLXw0kapBFPhH0fawPbLt+ER3s7k4gonJ4=; b=s1XpwLY0il5G0XCxMjW0yqEBCKmVZb49m4Jk8UtnSJo9QoQaAMVQwsJKW8DKtS6u80 2e5N/HYjAUOH8QrMhScmtjESU6pymHR3rOCq7WGgDalPF5yTA8Y9FtalJoOeq4OXXXzS 2f5goSRg2D9nhKRzNQTVg99B9ynTG4mWmbu5dhFXOsqeGC2ytbEQbRovUYGj1GYpR5N1 IKUYBa+WMlM6Jc0E02UFuyBupc8IUeg4am0R6igRiqhvaw/pbme9tkIaEoGhO/Bc5n9I oCTmXX3eK2YuET7rAkQP3e0io6JdY3Jv3fejnD3GqVVuqgMItO/ZVOxO8X69YLrVN8bJ iGjw== MIME-Version: 1.0 X-Received: by 10.112.27.133 with SMTP id t5mr2459947lbg.45.1418911903244; Thu, 18 Dec 2014 06:11:43 -0800 (PST) Sender: hallam@gmail.com Received: by 10.112.19.42 with HTTP; Thu, 18 Dec 2014 06:11:43 -0800 (PST) In-Reply-To: <5492D548.4010709@gmx.net> References: <548FF9E3.1020703@gmail.com> <006c01d01a33$2b086890$811939b0$@icloud.com> <004901d01a94$55e9ebe0$01bdc3a0$@icloud.com> <54928827.9030009@gmail.com> <5492CF1B.7010508@gmx.net> <5492D548.4010709@gmx.net> Date: Thu, 18 Dec 2014 09:11:43 -0500 X-Google-Sender-Auth: SWwdYS0sej8Pwl1Mf-z6i_MhaT8 Message-ID: From: Phillip Hallam-Baker To: Hannes Tschofenig Content-Type: multipart/alternative; boundary=001a1133b04af5eb71050a7e2b0b Archived-At: http://mailarchive.ietf.org/arch/msg/acme/IQlTB3URiw7oFCREUVmzQ_vtmRs Cc: Richard Barnes , Martin Thomson , "acme@ietf.org" , Trevor Freeman , Anders Rundgren Subject: Re: [Acme] ACME signature mechanics X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Dec 2014 14:11:54 -0000 --001a1133b04af5eb71050a7e2b0b Content-Type: text/plain; charset=UTF-8 On Thu, Dec 18, 2014 at 8:23 AM, Hannes Tschofenig < hannes.tschofenig@gmx.net> wrote: > > Hi Phillip, > > we already have a mechanism for issuing certificates to embedded > devices, namely OMA Lightweight M2M. It is already used today. > That specification is a version of the OMA device management protocol > (which is also widely used) but uses different protocols that are more > suitable for the embedded side, such as CoAP and JSON. > > Hence, I doubt that this work is something the IoT community is asking for. Is there a pointer to the spec that is publicly accessible? In the short term that might be the case. But in the longer term IoT is not going to be a special case of the Internet, it is going to be the Internet. I think you are making a case for looking at the OMA protocol and deciding if we can use it. --001a1133b04af5eb71050a7e2b0b Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable


On Thu, Dec 18, 2014 at 8:23 AM, Hannes Tschofenig &l= t;hannes.tsc= hofenig@gmx.net> wrote:
Hi Phil= lip,

we already have a mechanism for issuing certificates to embedded
devices, namely OMA Lightweight M2M. It is already used today.
That specification is a version of the OMA device management protocol
(which is also widely used) but uses different protocols that are more
suitable for the embedded side, such as CoAP and JSON.

Hence, I doubt that this work is something the IoT community is asking for.=

Is there a pointer to the spec that is pub= licly accessible?

In the short term that might be = the case. But in the longer term IoT is not going to be a special case of t= he Internet, it is going to be the Internet.

I thi= nk you are making a case for looking at the OMA protocol and deciding if we= can use it.

--001a1133b04af5eb71050a7e2b0b-- From nobody Thu Dec 18 06:43:03 2014 Return-Path: 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 B22EB1A89ED for ; Thu, 18 Dec 2014 06:43:01 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.91 X-Spam-Level: X-Spam-Status: No, score=-1.91 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, 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 y1j55D2XOWLF for ; Thu, 18 Dec 2014 06:42:59 -0800 (PST) Received: from mout.gmx.net (mout.gmx.net [212.227.17.22]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1C3221A89F1 for ; Thu, 18 Dec 2014 06:42:59 -0800 (PST) Received: from [192.168.131.138] ([80.92.123.25]) by mail.gmx.com (mrgmx102) with ESMTPSA (Nemesis) id 0MZOan-1YMiyP0TK1-00LEMo; Thu, 18 Dec 2014 15:42:52 +0100 Message-ID: <5492E7EA.9000300@gmx.net> Date: Thu, 18 Dec 2014 15:42:50 +0100 From: Hannes Tschofenig User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0 MIME-Version: 1.0 To: Phillip Hallam-Baker References: <548FF9E3.1020703@gmail.com> <006c01d01a33$2b086890$811939b0$@icloud.com> <004901d01a94$55e9ebe0$01bdc3a0$@icloud.com> <54928827.9030009@gmail.com> <5492CF1B.7010508@gmx.net> <5492D548.4010709@gmx.net> In-Reply-To: OpenPGP: id=4D776BC9 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="oJfINucR08ewuB8aQNJFKLNn9qgJ9SgMA" X-Provags-ID: V03:K0:DBkv5bJObmg78+oGffzF3OFEHYMr3YyhACSGU8wK9PS2WTk4JSv IhJuIy6jbqmODJ+z6KOvMp7pzmOidkPb9CIfdOcqel0WqvrdFLSe56znSl8xsvPkci5dVUk y95MJzIqaA9LWHDHYMo5/zEGNH4FUfQ9ohGQlLKUpKcmhk92cgwT+zfnZjDo4eAf9cfcp2c 0wCfU+xwrJdJ4fV53loUw== X-UI-Out-Filterresults: notjunk:1; Archived-At: http://mailarchive.ietf.org/arch/msg/acme/saOCHdQ4SoZjmdXBbZsDxLr4eEY Cc: Richard Barnes , Martin Thomson , "acme@ietf.org" , Trevor Freeman , Anders Rundgren Subject: Re: [Acme] ACME signature mechanics X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Dec 2014 14:43:01 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --oJfINucR08ewuB8aQNJFKLNn9qgJ9SgMA Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi Phillip, the relevant OMA specification can be found here: http://openmobilealliance.org/about-oma/work-program/m2m-enablers/ (Click on the 'OMA Lightweight M2M (LWM2M) protocol' for the version for IoT devices and 'OMA Device Management (DM)' for the stuff that is used on mobile phones.) Here is a tutorial: http://community.arm.com/servlet/JiveServlet/previewBody/8693-102-3-15745= /ARM%20OMA%20Lightweight%20M2M%20Tutorial.pdf When you look through the tutorial then you will see that IoT devices need more than just credentials (which is why the specification talks a lot about device management). Here is open source code: https://github.com/jvermillard/leshan https://github.com/01org/liblwm2m The next interop event will take place in January 2015: http://openmobilealliance.org/oma-lwm2m-testfest-registration-now-open/ > IoT is not going to be a special case of the Internet The LWM2M specification re-uses the work from the CORE working group (including CoAP, and CoAP resource server), DTLS, JSON and many IETF other specifications. Still, the needs for provisioning a certificate to a Web server are, however, different from provisioning a light bulb. Judging from the abstract of the ACME specification their document is focused on the Web and nothing else. That's fine (delta the duplication of already existing work in that area). Ciao Hannes On 12/18/2014 03:11 PM, Phillip Hallam-Baker wrote: >=20 >=20 > On Thu, Dec 18, 2014 at 8:23 AM, Hannes Tschofenig > > wrote: >=20 > Hi Phillip, >=20 > we already have a mechanism for issuing certificates to embedded > devices, namely OMA Lightweight M2M. It is already used today. > That specification is a version of the OMA device management protoc= ol > (which is also widely used) but uses different protocols that are m= ore > suitable for the embedded side, such as CoAP and JSON. >=20 > Hence, I doubt that this work is something the IoT community is > asking for. >=20 >=20 > Is there a pointer to the spec that is publicly accessible? >=20 > In the short term that might be the case. But in the longer term IoT is= > not going to be a special case of the Internet, it is going to be the > Internet. >=20 > I think you are making a case for looking at the OMA protocol and > deciding if we can use it. >=20 --oJfINucR08ewuB8aQNJFKLNn9qgJ9SgMA Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 Comment: GPGTools - http://gpgtools.org iQEcBAEBCgAGBQJUkufqAAoJEGhJURNOOiAtT/QH+wT1hOSGnUsXv6cyA0MWgyGl x+ipQv791OTqRr1JE85dEq8cs5Wl/49mDGlOTtp6QEdNIkyYGF0dTMxURmUz25Nu /SCNJSsGpYaxElfqYtrQcDd9okv/THP8zR8jhOOHppKrfVrfnXFoC9NjuL16V27R PhUEGQzraCoDUU+fPoVeCqrfH6ANMNyTqrjoU66V9YrUEMzoYuLGLZqYsXaS6B02 QmCye0HuYEwggGlDf8qJzfPd3KtFIr9/RoNlsrAJePZzDsKnAAkUHcWUsc1cR1eP 3smj3rbyuyBPqUsiVELv1skp+AxOAU/4tbxpy+MBeIphkVvxN1TRFEp/i0vvOsQ= =Lyzt -----END PGP SIGNATURE----- --oJfINucR08ewuB8aQNJFKLNn9qgJ9SgMA-- From nobody Thu Dec 18 06:46:58 2014 Return-Path: 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 4945F1A8A44 for ; Thu, 18 Dec 2014 06:46:56 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1 X-Spam-Level: X-Spam-Status: No, score=-1 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, FREEMAIL_REPLY=1, 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 A2X9va2IIBse for ; Thu, 18 Dec 2014 06:46:55 -0800 (PST) Received: from mail-wi0-x232.google.com (mail-wi0-x232.google.com [IPv6:2a00:1450:400c:c05::232]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A2DA41A8A43 for ; Thu, 18 Dec 2014 06:46:54 -0800 (PST) Received: by mail-wi0-f178.google.com with SMTP id em10so2066985wid.5 for ; Thu, 18 Dec 2014 06:46:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=N+ZUKM7kwcapExrdJOxytZ1XRICLEWODY5+OayDCas0=; b=fiiZnZ/K1cglZcVISYsrM9BNqdO66D42NgwAwwDmAhx37owwEGxjDVk3uDQYhrLHdi BpOuslaATMZhVkmA6acU16wpvE6kNCWrKbkqSjAYEyNM+oFOBmkLQcpQhMt1G6jpqo+J A+KNZFaSkdqOpJG/RAjS1hz1D/2KcQ56KsrhSoTZQ8QsSu34MfO0SDphrKkUyeVCABA9 oJ0AyLTAj5A3h6ElKt2fD4uyY4anQZHk2/uKKEZc3rE/8UDA9eSOMwWiGsoFxEVeMOTr LkuQQYV+kmcDPC3KxBPWtR0+pC6nfZp9cX7NgX4BVE/bLxLeu8xRIulvmQK5OpR0QrIr WK1Q== X-Received: by 10.194.89.3 with SMTP id bk3mr5331633wjb.92.1418914013297; Thu, 18 Dec 2014 06:46:53 -0800 (PST) Received: from [192.168.1.79] (52.16.14.81.rev.sfr.net. [81.14.16.52]) by mx.google.com with ESMTPSA id u13sm6360197wjr.26.2014.12.18.06.46.52 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Thu, 18 Dec 2014 06:46:52 -0800 (PST) Message-ID: <5492E8D5.1020103@gmail.com> Date: Thu, 18 Dec 2014 15:46:45 +0100 From: Anders Rundgren User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 MIME-Version: 1.0 To: Phillip Hallam-Baker , Hannes Tschofenig References: <548FF9E3.1020703@gmail.com> <006c01d01a33$2b086890$811939b0$@icloud.com> <004901d01a94$55e9ebe0$01bdc3a0$@icloud.com> <54928827.9030009@gmail.com> <5492CF1B.7010508@gmx.net> <5492D548.4010709@gmx.net> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Archived-At: http://mailarchive.ietf.org/arch/msg/acme/gNd23xsalAzBD1q4vQKtxKxEjOw Cc: Richard Barnes , Martin Thomson , "acme@ietf.org" , Trevor Freeman Subject: Re: [Acme] ACME signature mechanics X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Dec 2014 14:46:56 -0000 On 2014-12-18 15:11, Phillip Hallam-Baker wrote: > > > On Thu, Dec 18, 2014 at 8:23 AM, Hannes Tschofenig > wrote: > > Hi Phillip, > > we already have a mechanism for issuing certificates to embedded > devices, namely OMA Lightweight M2M. It is already used today. > That specification is a version of the OMA device management protocol > (which is also widely used) but uses different protocols that are more > suitable for the embedded side, such as CoAP and JSON. > > Hence, I doubt that this work is something the IoT community is asking for. > > > Is there a pointer to the spec that is publicly accessible? > > In the short term that might be the case. But in the longer term IoT is not going to be a special case of the Internet, it is going to be the Internet. > > I think you are making a case for looking at the OMA protocol and deciding if we can use it. I think the key-word here is "managed". ACME is not a management protocol. Just to add more confusion, there is another large class of devices which (IMO...) isn't served by ACME or OMA-DM and that are privately owned mobile computing devices (phones tablets). This is what SKS/KeyGen2 is targeting. So (in principle) we may need three protocols which I guess will leave us with 10 or so :-) Anders https://play.google.com/store/apps/details?id=org.webpki.mobile.android > From nobody Thu Dec 18 07:28:45 2014 Return-Path: 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 E6FE71A8A15 for ; Thu, 18 Dec 2014 07:28:41 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.277 X-Spam-Level: X-Spam-Status: No, score=-1.277 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FM_FORGED_GMAIL=0.622, FREEMAIL_FROM=0.001, HTML_MESSAGE=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 rj7OUlTglPCz for ; Thu, 18 Dec 2014 07:28:40 -0800 (PST) Received: from mail-la0-x22f.google.com (mail-la0-x22f.google.com [IPv6:2a00:1450:4010:c03::22f]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id DFB141A8931 for ; Thu, 18 Dec 2014 07:28:39 -0800 (PST) Received: by mail-la0-f47.google.com with SMTP id hz20so1164323lab.20 for ; Thu, 18 Dec 2014 07:28:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=JZ5YlFuEHcJIQqSQ/HRria62ZpIF2XIWMfrtZIVFhvA=; b=phLDwYWWEeowtt7G68YwJwSkWOh0dvoUmpEWsrSRlCpDAq//kKT5hEY8iBRUE0HxAd fGZWBYqRXnm1s4qk7QY4mERcRnvfyFW5RiLyXtwORcQo8WUT4psTfRSnL/qnzDf64KQt RXOv/TmAb2yeK45KhNeDzCVcjtAP3LIz8f6TBgqoGDv7DHvoieQL+JaPBB/sTcGYgMrx hTG1U5AVhX/fl7XYQe6oB1tAunagPPWDlHvrH3HfwJYgc525DGca3r3+BZoyrFNPquxZ 0wCjbm3sif8fFhgyDC78mWZjhGBgXLFkwDcAerI7HB/bA2dmOuJ3W53mJ5kATRC3tslS vcIQ== MIME-Version: 1.0 X-Received: by 10.112.55.97 with SMTP id r1mr2768728lbp.49.1418916518355; Thu, 18 Dec 2014 07:28:38 -0800 (PST) Sender: hallam@gmail.com Received: by 10.112.19.42 with HTTP; Thu, 18 Dec 2014 07:28:38 -0800 (PST) In-Reply-To: <2A0EFB9C05D0164E98F19BB0AF3708C71D54F0F844@USMBX1.msg.corp.akamai.com> References: <2A0EFB9C05D0164E98F19BB0AF3708C71D54F0F844@USMBX1.msg.corp.akamai.com> Date: Thu, 18 Dec 2014 10:28:38 -0500 X-Google-Sender-Auth: xiUMmTPl8nShZo9bMdx-DV733vE Message-ID: From: Phillip Hallam-Baker To: "Salz, Rich" Content-Type: multipart/alternative; boundary=001a11c3f16a0ae989050a7f3f23 Archived-At: http://mailarchive.ietf.org/arch/msg/acme/SeNcTLceWFw4K8G6vhu_9aMV8E8 Cc: Iban Eguia , "acme@ietf.org" , Josh Aas Subject: Re: [Acme] ACME and Let's Encrypt X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Dec 2014 15:28:42 -0000 --001a11c3f16a0ae989050a7f3f23 Content-Type: text/plain; charset=UTF-8 I really want the two to be separated because otherwise it is going to be very difficult to make progress. It is really hard to get progress on a spec or a good outcome if all the proposals from one group of participants are being dismissed as wrecking amendments. It is even harder when that group of participants is the one with the longest experience in the business. On Thu, Dec 18, 2014 at 7:49 AM, Salz, Rich wrote: > > > how is going to be updated if there is a major change in the draft? is > there going to be a need to be changing the software as the draft changes? > > Yes. > > No different than any other software/standard interaction, such as TLS > 1.3, HTTP/2, and so on. > > _______________________________________________ > Acme mailing list > Acme@ietf.org > https://www.ietf.org/mailman/listinfo/acme > --001a11c3f16a0ae989050a7f3f23 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
I really want the two to be separated because otherwise it= is going to be very difficult to make progress.

It is r= eally hard to get progress on a spec or a good outcome if all the proposals= from one group of participants are being dismissed as wrecking amendments.= It is even harder when that group of participants is the one with the long= est experience in the business.



On Thu, Dec 18, 201= 4 at 7:49 AM, Salz, Rich <rsalz@akamai.com> wrote:> how is going to be updated if the= re is a major change in the draft? is there going to be a need to be changi= ng the software as the draft changes?

Yes.

No different than any other software/standard interaction, such as TLS 1.3,= HTTP/2, and so on.

_______________________________________________
Acme mailing list
Acme@ietf.org
ht= tps://www.ietf.org/mailman/listinfo/acme
--001a11c3f16a0ae989050a7f3f23-- From nobody Thu Dec 18 10:50:42 2014 Return-Path: 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 658CA1A6FD9 for ; Thu, 18 Dec 2014 10:50:38 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.9 X-Spam-Level: X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=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 T7d7WNJaaB7T for ; Thu, 18 Dec 2014 10:50:35 -0800 (PST) Received: from mr11p24im-asmtp001.me.com (mr11p24im-asmtp001.me.com [17.110.78.41]) (using TLSv1.2 with cipher DHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 7AA481A1B57 for ; Thu, 18 Dec 2014 10:50:35 -0800 (PST) Received: from Den (c-24-17-210-106.hsd1.wa.comcast.net [24.17.210.106]) by mr11p24im-asmtp001.me.com (Oracle Communications Messaging Server 7.0.5.33.0 64bit (built Aug 27 2014)) with ESMTPSA id <0NGS000NDKC76Y10@mr11p24im-asmtp001.me.com> for acme@ietf.org; Thu, 18 Dec 2014 18:50:34 +0000 (GMT) X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:5.13.68,1.0.33,0.0.0000 definitions=2014-12-18_06:2014-12-18,2014-12-18,1970-01-01 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 suspectscore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=7.0.1-1408290000 definitions=main-1412180179 From: Trevor Freeman To: 'Phillip Hallam-Baker' , 'Anders Rundgren' References: <548FF9E3.1020703@gmail.com> <006c01d01a33$2b086890$811939b0$@icloud.com> <004901d01a94$55e9ebe0$01bdc3a0$@icloud.com> <54928827.9030009@gmail.com> In-reply-to: Date: Thu, 18 Dec 2014 10:50:30 -0800 Message-id: <009d01d01af3$8013a2d0$803ae870$@icloud.com> MIME-version: 1.0 Content-type: multipart/alternative; boundary="----=_NextPart_000_009E_01D01AB0.71F17440" X-Mailer: Microsoft Outlook 14.0 Thread-index: AQKP4NJlmAveeRXosKJTRtRnsZde3wH5Z8HOAZKX1t0Cmu8+3QIalcPVAimVL9sDJZsK6gG7JfCEmpvBfJA= Content-language: en-us Archived-At: http://mailarchive.ietf.org/arch/msg/acme/y00dskosA621L9wiiy8uaGgehXo Cc: 'Richard Barnes' , acme@ietf.org, 'Martin Thomson' Subject: Re: [Acme] ACME signature mechanics X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Dec 2014 18:50:38 -0000 This is a multipart message in MIME format. ------=_NextPart_000_009E_01D01AB0.71F17440 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable =20 =20 From: Acme [mailto:acme-bounces@ietf.org] On Behalf Of Phillip = Hallam-Baker Sent: Thursday, December 18, 2014 4:34 AM To: Anders Rundgren Cc: Richard Barnes; Martin Thomson; acme@ietf.org; Trevor Freeman Subject: Re: [Acme] ACME signature mechanics =20 On Thu, Dec 18, 2014 at 2:54 AM, Anders Rundgren = wrote: Having worked with Europe's EAC (e-passport biometric data protection = PKI), which works as described below, I would strongly recommend NOT using = HTTPS client-certificate authentication because it doesn't fit a normal = installation with an external security-proxy. [TF] Strange, I have worked with similar constraints with cloud based = services and this model worked just fine. =20 =20 =20 +1 =20 Part of the objective here should be to put the end customer in control = by running their own issue point that is a proxy to a CA or another = proxy. Binding the authentication to the transport means that the proof = of possession can only be verified by the proxy which breaks the model. [TF] If you trust the proxy enough to terminal the TLS then you trust it = enough to pass a flag to indicate authentication succeeded Have you considered what value the POP on a pkcs#10 actually delivers? = It does not show the subject submitting the request is the same as the = one in control of the key pair. It just proves to the CA the key pair is = functional.=20 =20 On top of which, it is really yucky to implement. The less time spent = traveling unimplemented, unexplored and un-debugged code paths, the = better. =20 =20 Minimal TLS stacks for embedded devices don't typically do client auth. = See 'minimal'. ------=_NextPart_000_009E_01D01AB0.71F17440 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable

 

 

From:= = Acme [mailto:acme-bounces@ietf.org] On Behalf Of Phillip = Hallam-Baker
Sent: Thursday, December 18, 2014 4:34 = AM
To: Anders Rundgren
Cc: Richard Barnes; Martin = Thomson; acme@ietf.org; Trevor Freeman
Subject: Re: [Acme] = ACME signature mechanics

 

On Thu, Dec 18, 2014 at 2:54 AM, Anders Rundgren = <anders.rundgren.net@gmail.com> = wrote:

Having worked with Europe's = EAC (e-passport biometric data protection PKI),
which works as = described below, I would strongly recommend NOT using = HTTPS
client-certificate authentication because it doesn't fit a = normal installation
with an external security-proxy.

[TF] Strange, I have worked with similar constraints with cloud based = services and this model worked just = fine.

 

 

 

+1

 

Part of the objective here should be to put the end = customer in control by running their own issue point that is a proxy to = a CA or another proxy. Binding the authentication to the transport means = that the proof of possession can only be verified by the proxy which = breaks the model.

[TF] If you trust the proxy enough to terminal the TLS then you trust = it enough to pass a flag to indicate authentication = succeeded

Have you considered what value the POP on a pkcs#10 actually = delivers? It does not show the subject submitting the request is the = same as the one in control of the key pair. It just proves to the CA the = key pair is functional.

 

On top of which, it is really yucky to implement. The = less time spent traveling unimplemented, unexplored and un-debugged code = paths, the better.

 

 

Minimal TLS stacks for embedded devices don't = typically do client auth. See = 'minimal'.

------=_NextPart_000_009E_01D01AB0.71F17440-- From nobody Thu Dec 18 11:24:48 2014 Return-Path: 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 E78561A9232 for ; Thu, 18 Dec 2014 11:24:46 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.277 X-Spam-Level: X-Spam-Status: No, score=-1.277 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FM_FORGED_GMAIL=0.622, FREEMAIL_FROM=0.001, HTML_MESSAGE=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 F4wilnvgv2E7 for ; Thu, 18 Dec 2014 11:24:45 -0800 (PST) Received: from mail-lb0-x22a.google.com (mail-lb0-x22a.google.com [IPv6:2a00:1450:4010:c04::22a]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 9FD991A909E for ; Thu, 18 Dec 2014 11:24:40 -0800 (PST) Received: by mail-lb0-f170.google.com with SMTP id 10so1556451lbg.1 for ; Thu, 18 Dec 2014 11:24:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=pToiWjJBv7aWDZFpaAz2HZnZtr23T4q0l1cRUmPOOok=; b=SjFOx8/WqOXxaxtd9ltRcXTJBnBXXJ1H3gMZqRD1KuqyvDqTf1K5Bn0HDnEHCSBlLy xUadHOOfKkpAsw9QFIW11T6hmm4R4tDMb77aeItL4IG65xqzqwIHS7YUvsOeEXm3paNJ pnmgOxy5uYQwYGU0IH1MzxGqCNRgMR0B7PS+Oq4zv6OtDkym2L/z25HyUzbq0KS5By4e OQWWDOdARzjy73+Eh9CpgnERUTj2gpWgGX6HzGV68XONQ+aT0riXgGRf0+xs5Bo7D6lv aOXOELullKfXINE3WJcnvXYzlynbXH+fRYBlekOR8jr8b9L3AF+q/iLz2OBLuDj8h9wl DuVw== MIME-Version: 1.0 X-Received: by 10.153.11.170 with SMTP id ej10mr3979925lad.24.1418930679122; Thu, 18 Dec 2014 11:24:39 -0800 (PST) Sender: hallam@gmail.com Received: by 10.112.19.42 with HTTP; Thu, 18 Dec 2014 11:24:38 -0800 (PST) In-Reply-To: <009d01d01af3$8013a2d0$803ae870$@icloud.com> References: <548FF9E3.1020703@gmail.com> <006c01d01a33$2b086890$811939b0$@icloud.com> <004901d01a94$55e9ebe0$01bdc3a0$@icloud.com> <54928827.9030009@gmail.com> <009d01d01af3$8013a2d0$803ae870$@icloud.com> Date: Thu, 18 Dec 2014 14:24:38 -0500 X-Google-Sender-Auth: 3h4TCiINuTTTiNs-q73xglBn6PE Message-ID: From: Phillip Hallam-Baker To: Trevor Freeman Content-Type: multipart/alternative; boundary=001a11347914171370050a828b4c Archived-At: http://mailarchive.ietf.org/arch/msg/acme/KiuhEOrpU9dnApgL7TugCm51Fro Cc: Richard Barnes , "acme@ietf.org" , Martin Thomson , Anders Rundgren Subject: Re: [Acme] ACME signature mechanics X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Dec 2014 19:24:47 -0000 --001a11347914171370050a828b4c Content-Type: text/plain; charset=UTF-8 On Thu, Dec 18, 2014 at 1:50 PM, Trevor Freeman wrote: > > > > > > Part of the objective here should be to put the end customer in control by > running their own issue point that is a proxy to a CA or another proxy. > Binding the authentication to the transport means that the proof of > possession can only be verified by the proxy which breaks the model. > > *[TF] If you trust the proxy enough to terminal the TLS then you trust it > enough to pass a flag to indicate authentication succeeded* > > *Have you considered what value the POP on a pkcs#10 actually delivers? It > does not show the subject submitting the request is the same as the one in > control of the key pair. It just proves to the CA the key pair is > functional.* > That is really fuzzy argument there Trevor. Who do you mean by 'you'? In my model there are two parties, the CA and the Subscriber. Both can have a proxy but the proxy is trusted by exactly one party. A proxy deployed by the subscriber for their convenience is not going to be trustworthy as far as the CA is concerned for proof of possession purposes. The only circumstance in which the proxy is trusted by both is where they are the same party. And that is not the main application for ACME. If this was a transport layer concern then it would have been added to TLS as an option in 1995. It is an application layer concern, hence the need for an application layer spec. --001a11347914171370050a828b4c Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable


On Thu, Dec 18, 2014 at 1:50 PM, Trevor Freeman <<= a href=3D"mailto:trevor.freeman99@icloud.com" target=3D"_blank">trevor.free= man99@icloud.com> wrote:

=C2=A0

=C2=A0

Part of the objective here should be to put the end customer in control b= y running their own issue point that is a proxy to a CA or another proxy. B= inding the authentication to the transport means that the proof of possessi= on can only be verified by the proxy which breaks the model.<= /p>

[TF] If y= ou trust the proxy enough to terminal the TLS then you trust it enough to p= ass a flag to indicate authentication succeeded

Have you consi= dered what value the POP on a pkcs#10 actually delivers? It does not show t= he subject submitting the request is the same as the one in control of the = key pair. It just proves to the CA the key pair is functional.



Tha= t is really fuzzy argument there Trevor. Who do you mean by 'you'?<= /div>

In my model there are two parties, the CA and the = Subscriber. Both can have a proxy but the proxy is trusted by exactly one p= arty. A proxy deployed by the subscriber for their convenience is not going= to be trustworthy as far as the CA is concerned for proof of possession pu= rposes.

The only circumstance in which the proxy i= s trusted by both is where they are the same party. And that is not the mai= n application for ACME.


If this was= a transport layer concern then it would have been added to TLS as an optio= n in 1995. It is an application layer concern, hence the need for an applic= ation layer spec.



<= /div>
--001a11347914171370050a828b4c-- From nobody Thu Dec 18 11:30:50 2014 Return-Path: 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 8F14A1A9253 for ; Thu, 18 Dec 2014 11:30:48 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.999 X-Spam-Level: X-Spam-Status: No, score=-1.999 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, HTML_MESSAGE=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 9Kyyz2eDO1QE for ; Thu, 18 Dec 2014 11:30:37 -0800 (PST) Received: from mail-wi0-x22d.google.com (mail-wi0-x22d.google.com [IPv6:2a00:1450:400c:c05::22d]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 2B7FA1A1BD1 for ; Thu, 18 Dec 2014 11:30:37 -0800 (PST) Received: by mail-wi0-f173.google.com with SMTP id r20so2889046wiv.6 for ; Thu, 18 Dec 2014 11:30:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type; bh=AmcKLgXbAxuo3NU82GpZqiXk+zqF3t/ZueghlTENxSE=; b=URv8hoWXGdYoz8DaBX3hqAIooim/RIR3WDNNevwmwOvAZpt/5W/smkwLxiW4Hut7ij meX5CnW7u6B7RACzmbP9sNhJOSDZHvzfls0HAjNf4j74qO2VVudqQ4TxIOmh29xOw9Nx //O9oFrZSNTsVpVOWCO8XtTZ02+zgFOfBqQcx2sHoh+oetApJyOa6VHdCoMFhj0xQo6t zClBoe9r+uiK97ln7YIHw/DtErjAhP8m+qedkvg1g8uI6ZZ67zFkvALsC1frKBV88Z78 iylxt3C8o4DvO8T8fk3j67Lvaiatz9butDHFlpmn1fVpGZPOITxe7iwhqaxWSFtQWeAV d8yg== X-Received: by 10.180.108.205 with SMTP id hm13mr8292135wib.5.1418931032502; Thu, 18 Dec 2014 11:30:32 -0800 (PST) Received: from [192.168.1.79] (52.16.14.81.rev.sfr.net. [81.14.16.52]) by mx.google.com with ESMTPSA id e7sm10056980wjf.18.2014.12.18.11.30.30 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Thu, 18 Dec 2014 11:30:31 -0800 (PST) Message-ID: <54932B50.8060405@gmail.com> Date: Thu, 18 Dec 2014 20:30:24 +0100 From: Anders Rundgren User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 MIME-Version: 1.0 To: Trevor Freeman , 'Phillip Hallam-Baker' References: <548FF9E3.1020703@gmail.com> <006c01d01a33$2b086890$811939b0$@icloud.com> <004901d01a94$55e9ebe0$01bdc3a0$@icloud.com> <54928827.9030009@gmail.com> <009d01d01af3$8013a2d0$803ae870$@icloud.com> In-Reply-To: <009d01d01af3$8013a2d0$803ae870$@icloud.com> Content-Type: multipart/alternative; boundary="------------040005020402030605050803" Archived-At: http://mailarchive.ietf.org/arch/msg/acme/fAJ-59eBf9Qp8-LTDE-aAP4dJVk Cc: 'Richard Barnes' , acme@ietf.org, 'Martin Thomson' Subject: Re: [Acme] ACME signature mechanics X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Dec 2014 19:30:48 -0000 This is a multi-part message in MIME format. --------------040005020402030605050803 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 2014-12-18 19:50, Trevor Freeman wrote: > > *From:*Acme [mailto:acme-bounces@ietf.org] *On Behalf Of *Phillip Hallam-Baker > *Sent:* Thursday, December 18, 2014 4:34 AM > *To:* Anders Rundgren > *Cc:* Richard Barnes; Martin Thomson; acme@ietf.org; Trevor Freeman > *Subject:* Re: [Acme] ACME signature mechanics > > On Thu, Dec 18, 2014 at 2:54 AM, Anders Rundgren > wrote: > > Having worked with Europe's EAC (e-passport biometric data protection PKI), > which works as described below, I would strongly recommend NOT using HTTPS > client-certificate authentication because it doesn't fit a normal installation > with an external security-proxy. > > */[TF] Strange, I have worked with similar constraints with cloud based services and this model worked just fine./* > It is possibly that I didn't completely understood the scenario you described but you also need a trust anchor in the proxy end, don't you? This seems to not work with a CSR unless you already have a certificate. What am I missing here? > *//* > > *//* > > +1 > > Part of the objective here should be to put the end customer in control by running their own issue point that is a proxy to a CA or another proxy. Binding the authentication to the transport means that the proof of possession can only be verified by the proxy which breaks the model. > > */[TF] If you trust the proxy enough to terminal the TLS then you trust it enough to pass a flag to indicate authentication succeeded/* > > */Have you considered what value the POP on a pkcs#10 actually delivers? It does not show the subject submitting the request is the same as the one in control of the key pair. It just proves to the CA the key pair is functional. /* > I agree that the PoP provided by PKCS #10 is essentially useless. I got the impression that AMCE relies on other data to authenticate the request. In the proxy systems I have worked with messages were checked for sanity before transferred to the secure world. Related question: http://www.ietf.org/mail-archive/web/acme/current/msg00143.html Anders > On top of which, it is really yucky to implement. The less time spent traveling unimplemented, unexplored and un-debugged code paths, the better. > > Minimal TLS stacks for embedded devices don't typically do client auth. See 'minimal'. > --------------040005020402030605050803 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 8bit
On 2014-12-18 19:50, Trevor Freeman wrote:

 

 

From: Acme [mailto:acme-bounces@ietf.org] On Behalf Of Phillip Hallam-Baker
Sent: Thursday, December 18, 2014 4:34 AM
To: Anders Rundgren
Cc: Richard Barnes; Martin Thomson; acme@ietf.org; Trevor Freeman
Subject: Re: [Acme] ACME signature mechanics

 

On Thu, Dec 18, 2014 at 2:54 AM, Anders Rundgren <anders.rundgren.net@gmail.com> wrote:

Having worked with Europe's EAC (e-passport biometric data protection PKI),
which works as described below, I would strongly recommend NOT using HTTPS
client-certificate authentication because it doesn't fit a normal installation
with an external security-proxy.

[TF] Strange, I have worked with similar constraints with cloud based services and this model worked just fine.


It is possibly that I didn't completely understood the scenario you described but
you also need a trust anchor in the proxy end, don't you?  This seems to not work
with a CSR unless you already have a certificate.

What am I missing here?


 

 

 

+1

 

Part of the objective here should be to put the end customer in control by running their own issue point that is a proxy to a CA or another proxy. Binding the authentication to the transport means that the proof of possession can only be verified by the proxy which breaks the model.

[TF] If you trust the proxy enough to terminal the TLS then you trust it enough to pass a flag to indicate authentication succeeded

Have you considered what value the POP on a pkcs#10 actually delivers? It does not show the subject submitting the request is the same as the one in control of the key pair. It just proves to the CA the key pair is functional.


I agree that the PoP provided by PKCS #10 is essentially useless.
I got the impression that AMCE relies on other data to authenticate the request.

In the proxy systems I have worked with messages were checked for sanity before transferred to the secure world.

Related question:
http://www.ietf.org/mail-archive/web/acme/current/msg00143.html

Anders


 

On top of which, it is really yucky to implement. The less time spent traveling unimplemented, unexplored and un-debugged code paths, the better.

 

 

Minimal TLS stacks for embedded devices don't typically do client auth. See 'minimal'.


--------------040005020402030605050803-- From nobody Thu Dec 18 11:53:28 2014 Return-Path: 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 461AD1A6F6F for ; Thu, 18 Dec 2014 11:53:26 -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 j3xvvNvhFdGU for ; Thu, 18 Dec 2014 11:53:25 -0800 (PST) Received: from mail-oi0-x22e.google.com (mail-oi0-x22e.google.com [IPv6:2607:f8b0:4003:c06::22e]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 26C2C1A1B16 for ; Thu, 18 Dec 2014 11:53:25 -0800 (PST) Received: by mail-oi0-f46.google.com with SMTP id h136so874643oig.33 for ; Thu, 18 Dec 2014 11:53:24 -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=VXpKXLhPnExhvs39Lswq0HmzKFtxxyxW7HJ0+bbS/uk=; b=JK7pDgGyCEOLr/O2zJse/boZMCy4HQI4i0642OO6pMB0jdRoy/G8HUjKks7Ij+PIQl Nn0pB+SxYwldBk1OvrUtiLqwFkVcHwsgY5QN9b1E0NidBuVt+zFnjl+x38Yt4T8uZMqs 0z06a7/FTO5TdT0zA19WN1n6Ybd1ksyTNZk0fwuyIXwEiUIxo1SDa8Jg6zkoIrH1TTpl K1vVIv0ML/9viWbXEaCObFNc2Xssiw/hPGihg5L74GrR+5tYf5Czh6RZJJyyVA3AcuUX aggTTR81zoCKqXcdoojHYEWHoG2nNLG3/a9RTcaW/A8f1EgN+J5T5n7j0nBkTIwO4vlm NDNQ== MIME-Version: 1.0 X-Received: by 10.60.146.231 with SMTP id tf7mr2449830oeb.48.1418932404347; Thu, 18 Dec 2014 11:53:24 -0800 (PST) Received: by 10.202.49.203 with HTTP; Thu, 18 Dec 2014 11:53:24 -0800 (PST) In-Reply-To: <5492B595.6020605@gmail.com> References: <5492B595.6020605@gmail.com> Date: Thu, 18 Dec 2014 11:53:24 -0800 Message-ID: From: Martin Thomson To: Anders Rundgren Content-Type: text/plain; charset=UTF-8 Archived-At: http://mailarchive.ietf.org/arch/msg/acme/N2lsE2Cvpr3TW3ix2P9-gR6-NsY Cc: "acme@ietf.org" Subject: Re: [Acme] Message Type/Version Identifiers X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Dec 2014 19:53:26 -0000 On 18 December 2014 at 03:08, Anders Rundgren wrote: > I have "backported" these things to JSON because I think they were good. A > system like > ACME could also use such a scheme since there will undoubtedly be revisions > over time. I can appreciate the attraction, but this is a big "no" for me. Absence of these features is one of the reasons that JSON has proven successful over XML. If you need versioning at that level, I'd recommend defining a content type instead. From nobody Thu Dec 18 11:55:16 2014 Return-Path: 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 E07411A1B94 for ; Thu, 18 Dec 2014 11:55:14 -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 xFCteHSQcSxQ for ; Thu, 18 Dec 2014 11:55:14 -0800 (PST) Received: from mail-ob0-x22e.google.com (mail-ob0-x22e.google.com [IPv6:2607:f8b0:4003:c01::22e]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D126F1A6F17 for ; Thu, 18 Dec 2014 11:55:13 -0800 (PST) Received: by mail-ob0-f174.google.com with SMTP id nt9so5616809obb.5 for ; Thu, 18 Dec 2014 11:55:13 -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=u64PfATBdx79J0cmIYKpNmcGQV43lfJW49Tkq+3hMXQ=; b=N4bPhlf7KA8yTPcLlkGnoD/GZT6viabBrVcdLIRjE6hVJRLjJZNy7SjMdGn3jdDy+K HzKrAQWbWkCFg4Vulpu1WTkXPz8eN8jiS93IMMsK4O33rl5htIHRC1hOkQ/wcDK7jghm LqlBIJChrKH11bP2RJO+xiG68PFKPu2SsQP42IlYfFZ5nXgQg1BUV8dgZb+Bj3n5zh4B Ma0QTi8csXZ3NCkeqM3XDsvaevWL6orO276meAtPt406IK3CiDoUdqkFz1r/ZdjB1MGg DPFBtZHHUEy/aXZXaqucj5rkhaqC86wLzniBEu+nIriXkOzfAQR73IMQfpOBQHtQ6Som nNhg== MIME-Version: 1.0 X-Received: by 10.202.219.198 with SMTP id s189mr2340362oig.72.1418932513140; Thu, 18 Dec 2014 11:55:13 -0800 (PST) Received: by 10.202.49.203 with HTTP; Thu, 18 Dec 2014 11:55:13 -0800 (PST) In-Reply-To: <5492C4AF.3050708@gmail.com> References: <5492C4AF.3050708@gmail.com> Date: Thu, 18 Dec 2014 11:55:13 -0800 Message-ID: From: Martin Thomson To: Anders Rundgren Content-Type: text/plain; charset=UTF-8 Archived-At: http://mailarchive.ietf.org/arch/msg/acme/wO7xnfWRH1WtV2kLejF-Oi6mejw Cc: "acme@ietf.org" Subject: Re: [Acme] "authorized key pair" vs CSR keys X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Dec 2014 19:55:15 -0000 On 18 December 2014 at 04:12, Anders Rundgren wrote: > Does/can the CSR use another key-pair than the "authorized key pair"? > > If not the outer signature seems a bit odd since the CSR itself should > contain a signature. The signature in the CSR isn't enough to bind the CSR to the ACME protocol process. Without that, the information that appears in the ACME context couldn't be properly attributed to the private key owner. From nobody Thu Dec 18 11:58:27 2014 Return-Path: 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 60D681A6F2C for ; Thu, 18 Dec 2014 11:58:25 -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 sUP_JgYX06eD for ; Thu, 18 Dec 2014 11:58:24 -0800 (PST) Received: from mail-wi0-x236.google.com (mail-wi0-x236.google.com [IPv6:2a00:1450:400c:c05::236]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 095731A3BA9 for ; Thu, 18 Dec 2014 11:58:23 -0800 (PST) Received: by mail-wi0-f182.google.com with SMTP id h11so3033354wiw.3 for ; Thu, 18 Dec 2014 11:58:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=GwGav/xH9/DueaK5seBQ6r9SAd8wpebM/sRbX2MTMn4=; b=Gl2EGJGZe0bFBT6Mht6/WHpfu9VVxbx+tVpbs4Jaxs+RE2kVwIYgeLTOPES+hxrczJ XQ9LKclPjamkmVdJaBsB+LTlDRs28LcExu81go5QOt+zFt+YjLBKUuYA21uq6hRn5AbB 0js1EPwELnw9sE1JvnzesDJxAuEuyk6ebYZwJZfr4UZWl4OvX6BBcBHxP1y70OMEbLsy /zEWcnzYT9q7IcX4CKPFGj1P/q5QRj9AkD3K3C8wDUqfLKNA2QP1JZncsp7iKJns5wBR j7VH48pj1n2wR55XNdzcfg5e5icMyUBrF/xiUg2o3zwCGzhYCLxC6oQ5UlH9BauWluRR uK+g== X-Received: by 10.180.75.42 with SMTP id z10mr8304386wiv.70.1418932702808; Thu, 18 Dec 2014 11:58:22 -0800 (PST) Received: from [192.168.1.79] (52.16.14.81.rev.sfr.net. [81.14.16.52]) by mx.google.com with ESMTPSA id gy8sm25951984wib.23.2014.12.18.11.58.22 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Thu, 18 Dec 2014 11:58:22 -0800 (PST) Message-ID: <549331D7.7030302@gmail.com> Date: Thu, 18 Dec 2014 20:58:15 +0100 From: Anders Rundgren User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 MIME-Version: 1.0 To: Martin Thomson References: <5492C4AF.3050708@gmail.com> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Archived-At: http://mailarchive.ietf.org/arch/msg/acme/OmyEawMhNGBkLg-w1Id_nTUNV4E Cc: "acme@ietf.org" Subject: Re: [Acme] "authorized key pair" vs CSR keys X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Dec 2014 19:58:25 -0000 On 2014-12-18 20:55, Martin Thomson wrote: > On 18 December 2014 at 04:12, Anders Rundgren > wrote: >> Does/can the CSR use another key-pair than the "authorized key pair"? >> >> If not the outer signature seems a bit odd since the CSR itself should >> contain a signature. > > The signature in the CSR isn't enough to bind the CSR to the ACME > protocol process. Without that, the information that appears in the > ACME context couldn't be properly attributed to the private key owner. > The authorized key pair mentioned in the spec is *another* key-pair than used for the CSR? If not, the design appears strange to me at least. Anders From nobody Thu Dec 18 12:04:18 2014 Return-Path: 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 97A3E1A86FB for ; Thu, 18 Dec 2014 12:04:08 -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 NU-fsKtSHFph for ; Thu, 18 Dec 2014 12:04:04 -0800 (PST) Received: from mail-ob0-x22a.google.com (mail-ob0-x22a.google.com [IPv6:2607:f8b0:4003:c01::22a]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 512D21A1B94 for ; Thu, 18 Dec 2014 12:03:07 -0800 (PST) Received: by mail-ob0-f170.google.com with SMTP id wp18so5146148obc.1 for ; Thu, 18 Dec 2014 12:03:06 -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=SW6xikw4Cue2VhKqEYlBui9U91ytpQCUthNz9cTUClg=; b=qCupTr6T4ngGk6ybtZt7tEuL8FjbQcUBYrroHesfI7cnKXiVV7REdRKxFOKq59uQ6X QoxiFnGRU1exesOMSmVSSCodvzJ6c9CFotHfyIaqATbVOTE1qrKBLpO9J4B3k/Wg1f2O 0K2RAZ83gmgW5fqzJuL8Loq8uK29axfy0XE04WExPxOJhTIzavw9gfAAHZx4uQii456D Eo6m5VaB6VWvvvrZlSchIxn8HyzxCjWO9MpJaIbTFlTCs06VsypoHgvsPQNHfEZ2uOgd 0H8kFaklq/GN/NsRr/IMs7G2bxyDQIG/25xu4SmYvlYr04mDet7H722LkJee5wBv9L9z 8frg== MIME-Version: 1.0 X-Received: by 10.60.131.232 with SMTP id op8mr490157oeb.59.1418932986544; Thu, 18 Dec 2014 12:03:06 -0800 (PST) Received: by 10.202.49.203 with HTTP; Thu, 18 Dec 2014 12:03:06 -0800 (PST) In-Reply-To: <549331D7.7030302@gmail.com> References: <5492C4AF.3050708@gmail.com> <549331D7.7030302@gmail.com> Date: Thu, 18 Dec 2014 12:03:06 -0800 Message-ID: From: Martin Thomson To: Anders Rundgren Content-Type: text/plain; charset=UTF-8 Archived-At: http://mailarchive.ietf.org/arch/msg/acme/oGChTZs1mLUZc7QbH6H_XdZ8f2E Cc: "acme@ietf.org" Subject: Re: [Acme] "authorized key pair" vs CSR keys X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Dec 2014 20:04:14 -0000 On 18 December 2014 at 11:58, Anders Rundgren wrote: > The authorized key pair mentioned in the spec is *another* key-pair than > used for the CSR? > If not, the design appears strange to me at least. They are the same. From nobody Thu Dec 18 12:08:12 2014 Return-Path: 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 0CE061A6F17 for ; Thu, 18 Dec 2014 12:08:09 -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 SfEXKbnhP0QE for ; Thu, 18 Dec 2014 12:08:01 -0800 (PST) Received: from mail-wg0-x229.google.com (mail-wg0-x229.google.com [IPv6:2a00:1450:400c:c00::229]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 5948C1A1B94 for ; Thu, 18 Dec 2014 12:08:01 -0800 (PST) Received: by mail-wg0-f41.google.com with SMTP id y19so2614169wgg.28 for ; Thu, 18 Dec 2014 12:07:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=Fbon7NfNCg3OwJzf0SNbpSDAz6uOXia+DAcq07vSmOM=; b=eTIl0X5LQ+idcXBtpPUNWfRSi8V84Skodomsy8ieMHfy6iTZlQKUaEJ7dT8gH3qyIJ oprhYJTjYUJFr+dnk3EI3ACz7z4alx7JzdMyo7JJnciDonFFEDgm2sfCodbz2SuzC68Z lM/a8NmJ5wC1fDgI+DTJkdbPF2a9OdtALN2Xv6e8k1Ph0NveB5/UtkNW+nwNa0qdWFPf BBcEvkyLD2wMRG6RTCxyiImMfX7cXn3v6txR+ThgsoU3LNSYNf6kAG+gJ1/HH3Obkq+a VjbGhjTqnjcC2H9Pjg82JU5B3BVdoMNFjLQvvBY0gOPzj9+mvpp2l3V+JMiafUxw+Ozc kt6A== X-Received: by 10.194.85.197 with SMTP id j5mr7582665wjz.106.1418933279815; Thu, 18 Dec 2014 12:07:59 -0800 (PST) Received: from [192.168.1.79] (52.16.14.81.rev.sfr.net. [81.14.16.52]) by mx.google.com with ESMTPSA id je12sm11176242wic.22.2014.12.18.12.07.59 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Thu, 18 Dec 2014 12:07:59 -0800 (PST) Message-ID: <54933418.6020408@gmail.com> Date: Thu, 18 Dec 2014 21:07:52 +0100 From: Anders Rundgren User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 MIME-Version: 1.0 To: Martin Thomson References: <5492C4AF.3050708@gmail.com> <549331D7.7030302@gmail.com> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Archived-At: http://mailarchive.ietf.org/arch/msg/acme/hoeGloUZXYI-0wCGbF2FHfKCe0M Cc: "acme@ietf.org" Subject: Re: [Acme] "authorized key pair" vs CSR keys X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Dec 2014 20:08:09 -0000 On 2014-12-18 21:03, Martin Thomson wrote: > On 18 December 2014 at 11:58, Anders Rundgren > wrote: >> The authorized key pair mentioned in the spec is *another* key-pair than >> used for the CSR? >> If not, the design appears strange to me at least. > > They are the same. Then it is time dropping PKCS #10 and create the CSR that ACME actually needs. Anders From nobody Thu Dec 18 12:11:15 2014 Return-Path: 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 D19FF1A6FC7 for ; Thu, 18 Dec 2014 12:11:11 -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 y7p4nbwIqeB0 for ; Thu, 18 Dec 2014 12:11:10 -0800 (PST) Received: from mail-wg0-x22e.google.com (mail-wg0-x22e.google.com [IPv6:2a00:1450:400c:c00::22e]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 100B61A1B94 for ; Thu, 18 Dec 2014 12:11:10 -0800 (PST) Received: by mail-wg0-f46.google.com with SMTP id x13so2618203wgg.19 for ; Thu, 18 Dec 2014 12:11:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=iuCp+Uak6cJA3W9qVItnBVMSPwBHhKZZxCh9zI/LUfY=; b=aW3cXLfRCN1wk/IQD0tX6pa2xUKEmVIATmE44NRzol3ZbEXQxxTBMffLWFLZJAO8KR YGQFFSW3Z5/JOHhk3sTD+Rg762JYHmnpIb35FqBI6mMuVwO0au3NskKoiQUGzNbXJhYI 30DZfHLgIUVCIKXchS9XO8VPyFqgcEf/1vAsVqiTFqbOsI8xw4rfC1eStD6AW4oj/hbI 22QiR8DMzsRLLS2/i2Mmjk4I7J0ZVeSLXzAzWls05oH8sQl61omKqjLpQ8LguqJ4Lc8v YJs2GPt5JBZRg8YNsQD2gLuuhwDbHOI7nHzjB1SwZNulrUp1Fbhjd39jxjes6ja3k3im hX4A== X-Received: by 10.194.61.168 with SMTP id q8mr7588838wjr.53.1418933468125; Thu, 18 Dec 2014 12:11:08 -0800 (PST) Received: from [192.168.1.79] (52.16.14.81.rev.sfr.net. [81.14.16.52]) by mx.google.com with ESMTPSA id ec2sm11182489wib.23.2014.12.18.12.11.07 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Thu, 18 Dec 2014 12:11:07 -0800 (PST) Message-ID: <549334D4.6040204@gmail.com> Date: Thu, 18 Dec 2014 21:11:00 +0100 From: Anders Rundgren User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 MIME-Version: 1.0 To: Martin Thomson References: <5492B595.6020605@gmail.com> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Archived-At: http://mailarchive.ietf.org/arch/msg/acme/FsgTJuWazUDVyVvqDUkBlKDztNQ Cc: "acme@ietf.org" Subject: Re: [Acme] Message Type/Version Identifiers X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Dec 2014 20:11:12 -0000 On 2014-12-18 20:53, Martin Thomson wrote: > On 18 December 2014 at 03:08, Anders Rundgren > wrote: >> I have "backported" these things to JSON because I think they were good. A >> system like >> ACME could also use such a scheme since there will undoubtedly be revisions >> over time. > > I can appreciate the attraction, but this is a big "no" for me. > Absence of these features is one of the reasons that JSON has proven > successful over XML. > > If you need versioning at that level, I'd recommend defining a content > type instead. The ACME folks have their freedom to select, I just found it quite useful: https://openkeystore.googlecode.com/svn/wcpp-payment-demo/trunk/docs/messages.html Anders From nobody Thu Dec 18 12:53:38 2014 Return-Path: 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 E069A1A8704 for ; Thu, 18 Dec 2014 12:53:36 -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 UOALwxYbnXN5 for ; Thu, 18 Dec 2014 12:53:34 -0800 (PST) Received: from mail-wi0-x22a.google.com (mail-wi0-x22a.google.com [IPv6:2a00:1450:400c:c05::22a]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 323D71A6FD6 for ; Thu, 18 Dec 2014 12:53:32 -0800 (PST) Received: by mail-wi0-f170.google.com with SMTP id bs8so2830433wib.5 for ; Thu, 18 Dec 2014 12:53:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:subject :content-type:content-transfer-encoding; bh=WnecCYgy7q6gCRV1OPEXRzGqLh97HJDxFNTU7FMp+rI=; b=cro/LotJg2387Z3F+CBd+kpcAqvZEAmN3LOLLS7XU7f3QWps1hzxnqHSGb4jTfyNp8 Sz4lvzPIrJFQVJqeoJM8yfuE0CgZWmEVt3DsNVIObnAFjPcFr/KPWA1+AbRF/Ue6y8sL GR+73QrgDjtMcLS3ilksgEaeyxFnNGJGALKi/Q8laGYFSFO9azYuWz4+ANfKJz5UVMxK tCwzQ7Cc4sDIwjhIxn1fo2TNLzUHN8SJs3UGx3lVe7bEmIauYasysASdsqUOg6NNLE2c OC1JYlQAsiauG7NPLVFJdezU0ZhDru2qkLL/Lnenmc12yrcvhBIILoyxxSewdVsqkkwr 5HLw== X-Received: by 10.195.12.35 with SMTP id en3mr8025305wjd.129.1418936011051; Thu, 18 Dec 2014 12:53:31 -0800 (PST) Received: from [192.168.1.79] (52.16.14.81.rev.sfr.net. [81.14.16.52]) by mx.google.com with ESMTPSA id p1sm10287527wjy.22.2014.12.18.12.53.29 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Thu, 18 Dec 2014 12:53:30 -0800 (PST) Message-ID: <54933EC2.3010104@gmail.com> Date: Thu, 18 Dec 2014 21:53:22 +0100 From: Anders Rundgren User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 MIME-Version: 1.0 To: "acme@ietf.org" Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Archived-At: http://mailarchive.ietf.org/arch/msg/acme/iJiS_gNF0m3zj11-rv5OlLAbnK0 Subject: [Acme] key agility? X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Dec 2014 20:53:37 -0000 With a multi-step protocol some kind of key agility should be possible to support. The client could for example start with telling its preferences/capabilities. Anders From nobody Thu Dec 18 13:43:51 2014 Return-Path: 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 1DCC01A8877 for ; Thu, 18 Dec 2014 13:43:51 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.277 X-Spam-Level: X-Spam-Status: No, score=-1.277 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FM_FORGED_GMAIL=0.622, FREEMAIL_FROM=0.001, HTML_MESSAGE=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 oShLPCB0eBox for ; Thu, 18 Dec 2014 13:43:49 -0800 (PST) Received: from mail-lb0-x22e.google.com (mail-lb0-x22e.google.com [IPv6:2a00:1450:4010:c04::22e]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 603641A8774 for ; Thu, 18 Dec 2014 13:43:48 -0800 (PST) Received: by mail-lb0-f174.google.com with SMTP id 10so1703328lbg.19 for ; Thu, 18 Dec 2014 13:43:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=5TSu8KviP06fg2ZFo72zxw+zmQNRr89TC1mfm8VPZBU=; b=APB+aOzGWZzHe0b7h6hGgSnXf7FFyqOyx33e6HjCoJj1a0XseFFj87leaApN4lcJAC jaPOg/VcaPFHpMtSj+g7UkslFUqlWfJzjj/9mmHaqjTt8v+ajF6UT/HkOGXccwDpDBsf FQXh4UCcX6Ph+6+5V70U/xJGGFIEvesMS0OPPrVWRYhG2ZYx46ZQ9THyRpICSoT/NNiN WUD1wkq4lLeOPo06td7Oa7zCRt9g0FmDQiztsvPtS0VH7Cl7mI4dJRAkjo6l3HccOL2c Wn8tc4qExJpXmu2TEx0g/wIdTmkgpbV/n3RU2SfUGXoj97OAG1mnecnGeZeUPcB9B0md NELw== MIME-Version: 1.0 X-Received: by 10.152.87.67 with SMTP id v3mr4299730laz.97.1418939026823; Thu, 18 Dec 2014 13:43:46 -0800 (PST) Sender: hallam@gmail.com Received: by 10.112.19.42 with HTTP; Thu, 18 Dec 2014 13:43:46 -0800 (PST) In-Reply-To: References: <5492B595.6020605@gmail.com> Date: Thu, 18 Dec 2014 16:43:46 -0500 X-Google-Sender-Auth: o5N8F8FEOG6MzFnwohBjXnc9Y8w Message-ID: From: Phillip Hallam-Baker To: Martin Thomson Content-Type: multipart/alternative; boundary=001a11c3510aa6dfd4050a847c3d Archived-At: http://mailarchive.ietf.org/arch/msg/acme/flLH70oB-xgMZQ-o0zCyGUr02XM Cc: "acme@ietf.org" , Anders Rundgren Subject: Re: [Acme] Message Type/Version Identifiers X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Dec 2014 21:43:51 -0000 --001a11c3510aa6dfd4050a847c3d Content-Type: text/plain; charset=UTF-8 +1 We are doing an IETF spec, not a W3C spec. I have a lot of experience in using URIs as protocol identifiers, I originally proposed using them in the PICS spec them and I don't think they work at all. In the PICS spec the specific objective was to drive a wedge between the Dworkin/Mackinon supporters of censorship and the Religious Right supporters. If there had been one control lever they would have been forced to work together to agree on its use. Giving each their own lever collapsed their coalition. In that particular instance it was essential to provide a mechanism that allowed anyone to fork at any time. So it could not use a protocol registry. Here we have a Web Service spec and the objective is to end up with a common spec. So the starting point should be an IANA registration. Since we are doing Web Services, the obvious registry is the SRV registry. It would also be rather convenient to have a .well-known default URI. I see no reason not to use the prefix ACME for both. So initial discovery would be via SRV record: _acme._ws.example.com SRV 1 1 443 acmehost.example.com The host is acmehost.example.com, so the service URI is: http://acmehost.example.com/.well-known/acme/ That leaves two other questions, one is protocol version and the other is service feature set. These are independent. There might be a 1.0 service that supports the issue of both server and client certs and a 3.0 service that only supports server. We discussed this earlier, but one of the features many folk have suggested for the ACME protocol is a mechanism that allows a client to interrogate it to ask what it supports. I think this can be described as an instance of a general mechanism that can be copied by other specs. For versioning, the usual Major.Minor convention works fine. For feature sets, an IANA registry of text keywords using the RFC20 subset of UTF8 (as we now refer to US-ASCII). So I would see a conversation of the following sort: http/1.1 GET http://acmehost.example.com/.well-known/acme/ .. headers .. { "Describe" {} } Responses might be { "Versions" : ["1.0"] } { "Versions" :["1.0"], "Supports" : [ {"ACME" : ["Server", "Client"] }] } { "Versions" : ["1.0", "2.0"] "Supports" : [ {"ACME" : ["Server"] }, { "Versions" :["2.0"], "ACME" : ["Server", "Client"] }] } So the first only supports the default features. The second supports Client and Server cert issue. The third supports the 2.0 version of the protocol as well as 1.0 but only supports client cert issue for 2.0. Specifying the Feature and Version numbers as strings allows for a lot of flexibility. So for example, a service might support version 1.0 and 3.0 but not 2.0 which turned out to be a doofus version (think X.509v2 certs). If we do this in a well defined fashion we can eventually push the same attributes out into the DNS as part of the service registration interface and publish them via some new RR that is TBS which would allow them to be used for host selection. Using the SRV/WKS label for the features tag identifies these as attributes that would be defined in the ACME registry. this allows for better reuse of code points in the case that we were to use this for other negotiation dimensions. An ACME service that does not support the Describe method would only support the 0.0 version of the service by definition. Like the signature scheme outlined earlier, this is a module that can be reused very easily. On Thu, Dec 18, 2014 at 2:53 PM, Martin Thomson wrote: > > On 18 December 2014 at 03:08, Anders Rundgren > wrote: > > I have "backported" these things to JSON because I think they were > good. A > > system like > > ACME could also use such a scheme since there will undoubtedly be > revisions > > over time. > > I can appreciate the attraction, but this is a big "no" for me. > Absence of these features is one of the reasons that JSON has proven > successful over XML. > > If you need versioning at that level, I'd recommend defining a content > type instead. > > _______________________________________________ > Acme mailing list > Acme@ietf.org > https://www.ietf.org/mailman/listinfo/acme > --001a11c3510aa6dfd4050a847c3d Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
+1

We are doing an IETF spec, not a W3C= spec.=C2=A0

I have a lot of experience in using U= RIs as protocol identifiers, I originally proposed using them in the PICS s= pec them and I don't think they work at all. In the PICS spec the speci= fic objective was to drive a wedge between the Dworkin/Mackinon supporters = of censorship and the Religious Right supporters. If there had been one con= trol lever they would have been forced to work together to agree on its use= . Giving each their own lever collapsed their coalition.

In that particular instance it was essential to provide a mechanism = that allowed anyone to fork at any time. So it could not use a protocol reg= istry.


Here we have a Web Service s= pec and the objective is to end up with a common spec. So the starting poin= t should be an IANA registration. Since we are doing Web Services, the obvi= ous registry is the SRV registry. It would also be rather convenient to hav= e a .well-known default URI.=C2=A0

I see no reason= not to use the prefix ACME for both. So initial discovery would be via SRV= record:



The host is acmehost.example.com, so the serv= ice URI is:

=


That leaves two other questions, one is = protocol version and the other is service feature set. These are independen= t. There might be a 1.0 service that supports the issue of both server and = client certs and a 3.0 service that only supports server.

We discussed this earlier, but one of the features many folk have s= uggested for the ACME protocol is a mechanism that allows a client to inter= rogate it to ask what it supports. I think this can be described as an inst= ance of a general mechanism that can be copied by other specs.
For versioning, the usual Major.Minor convention works fine.
For feature sets, an IANA registry of text keywords using the RFC2= 0 subset of UTF8 (as we now refer to US-ASCII).

So I would see a conversation of the following sort:

.. = headers ..

{ "Describe" {} }
<= br>

Responses might be=C2=A0

<= div>{ "Versions" : ["1.0"] }

<= div>{ "Versions" :["1.0"],=C2=A0
=C2=A0 "= ;Supports" : [
=C2=A0 =C2=A0 =C2=A0{"ACME" : [&quo= t;Server", "Client"] }] }

{=C2=A0"Versions" :=C2=A0["1.0", "2.0"]
=C2=A0 "Supports" : [
=C2=A0 =C2=A0 =C2=A0{"= ;ACME" : ["Server"] },
=C2=A0 =C2=A0 =C2=A0{=C2=A0= "Versions" :["2.0"],=C2=A0"ACME" : ["Ser= ver", "Client"] }] }

So the f= irst only supports the default features. The second supports Client and Ser= ver cert issue. The third supports the 2.0 version of the protocol as well = as 1.0 but only supports client cert issue for 2.0.

Specifying the Feature and Version numbers as strings allows for a lot of= flexibility. So for example, a service might support version 1.0 and 3.0 b= ut not 2.0 which turned out to be a doofus version (think X.509v2 certs).


If we do this in a well defined fash= ion we can eventually push the same attributes out into the DNS as part of = the service registration interface and publish them via some new RR that is= TBS which would allow them to be used for host selection.

Using the SRV/WKS label for the features tag identifies these as a= ttributes that would be defined in the ACME registry. this allows for bette= r reuse of code points in the case that we were to use this for other negot= iation dimensions.


An ACME service = that does not support the Describe method would only support the 0.0 versio= n of the service by definition.


Lik= e the signature scheme outlined earlier, this is a module that can be reuse= d very easily.


On Thu, Dec 18, 2014 at 2:53 PM, Martin Thomson <martin.thomson@gmail.com> wrote:
On 18 December 2014 at 03:08, Anders Rundgren
<ander= s.rundgren.net@gmail.com> wrote:
> I have "backported" these things to JSON because I think the= y were good.=C2=A0 A
> system like
> ACME could also use such a scheme since there will undoubtedly be revi= sions
> over time.

I can appreciate the attraction, but this is a big "no" fo= r me.
Absence of these features is one of the reasons that JSON has proven
successful over XML.

If you need versioning at that level, I'd recommend defining a content<= br> type instead.

_______________________________________________
Acme mailing list
Acme@ietf.org
ht= tps://www.ietf.org/mailman/listinfo/acme
--001a11c3510aa6dfd4050a847c3d-- From nobody Thu Dec 18 15:41:24 2014 Return-Path: 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 244551A87AD for ; Thu, 18 Dec 2014 15:41:23 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.277 X-Spam-Level: X-Spam-Status: No, score=-1.277 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FM_FORGED_GMAIL=0.622, FREEMAIL_FROM=0.001, HTML_MESSAGE=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 aJU2NuQZeOlX for ; Thu, 18 Dec 2014 15:41:13 -0800 (PST) Received: from mail-la0-x22a.google.com (mail-la0-x22a.google.com [IPv6:2a00:1450:4010:c03::22a]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D05AD1A9165 for ; Thu, 18 Dec 2014 15:41:12 -0800 (PST) Received: by mail-la0-f42.google.com with SMTP id gd6so1926141lab.1 for ; Thu, 18 Dec 2014 15:41:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=b1iYpN3mR/swtjOA39iIm5OPsKV3PjVvRP6dj8Bmgpg=; b=sqiWtORlhAK6QiPNQ86av9WJbN3qT1IewNIv8DpQU5HCIRf+vT//gB+zbhfb8yQVsI MAHUH+ac1isHddyfugroWGIhp9i9ylISL/qX+iHZmPo9oPjrctrU9fzRW5ihNgz5jKoj kle8eSwrshnAnVAmg5G4mXegXgEB1qycNC8owKQqhS9ZaO1diFaB8NGUsv+FX5MuiHo1 Uyh4QOANr4WAANyhGbluvI7r+cMONfkKU1pAZMCQ2hRZ+TkqEALVDJuStVr14B3bBdCy 9VgvXEjc/Huml+xRF/ewK/DJqtb5GZHTls8br7Uixu1x0ztcD4qArudZyvXqWPbmJkQL iu6A== MIME-Version: 1.0 X-Received: by 10.112.51.44 with SMTP id h12mr4875855lbo.5.1418946071306; Thu, 18 Dec 2014 15:41:11 -0800 (PST) Sender: hallam@gmail.com Received: by 10.112.19.42 with HTTP; Thu, 18 Dec 2014 15:41:11 -0800 (PST) In-Reply-To: <54933EC2.3010104@gmail.com> References: <54933EC2.3010104@gmail.com> Date: Thu, 18 Dec 2014 18:41:11 -0500 X-Google-Sender-Auth: nV8qYi23Ajsm7Z3W0iEgYnwMbPk Message-ID: From: Phillip Hallam-Baker To: Anders Rundgren Content-Type: multipart/alternative; boundary=001a113339288928e3050a862061 Archived-At: http://mailarchive.ietf.org/arch/msg/acme/qdXOPhu9y8F5lOggFYj_FxNHypg Cc: "acme@ietf.org" Subject: Re: [Acme] key agility? X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Dec 2014 23:41:23 -0000 --001a113339288928e3050a862061 Content-Type: text/plain; charset=UTF-8 On Thu, Dec 18, 2014 at 3:53 PM, Anders Rundgren < anders.rundgren.net@gmail.com> wrote: > > With a multi-step protocol some kind of key agility should be possible to > support. > The client could for example start with telling its > preferences/capabilities. > > Anders > I do not know what you mean here. --001a113339288928e3050a862061 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
On T= hu, Dec 18, 2014 at 3:53 PM, Anders Rundgren <anders.rundgren= .net@gmail.com> wrote:
With a m= ulti-step protocol some kind of key agility should be possible to support.<= br> The client could for example start with telling its preferences/capabilitie= s.

Anders

I do not know what you mean here= .


=C2=A0
--001a113339288928e3050a862061-- From nobody Thu Dec 18 21:07:39 2014 Return-Path: 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 C0A1F1ACCF2 for ; Thu, 18 Dec 2014 21:07:34 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -0.4 X-Spam-Level: X-Spam-Status: No, score=-0.4 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, FREEMAIL_REPLY=1, J_CHICKENPOX_55=0.6, 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 xB00fiwgaIzG for ; Thu, 18 Dec 2014 21:07:28 -0800 (PST) Received: from mail-wi0-x235.google.com (mail-wi0-x235.google.com [IPv6:2a00:1450:400c:c05::235]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 0E7131ACC8D for ; Thu, 18 Dec 2014 21:07:28 -0800 (PST) Received: by mail-wi0-f181.google.com with SMTP id r20so575325wiv.2 for ; Thu, 18 Dec 2014 21:07:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=41BljCjiPXsIDgYF4pnKaNSx/J7/kg2H1CGVnGSzwHg=; b=UQkYPjFBdYig6y+eLSIEuH5S+uPtA0ZOREiBG01b7GicEw0q3uIS5docOc0pL5ZJxG J3T0RMRrs8CmQTNzumdLll49/yz+otkoX6h4HiRq9kFTudk+rfksLkJNea40pNLJ99UD eWVVWFwiKS/7MdSfBXdqzbu14NWnRaRyS2HTGD4DKcmbyEQhEljRauhVWQUYIpVOu9Ku 0FGcKN8Ng9ZPKfBFITxAQNanfvRCe1ymJzd9zCnavn+q7ie70lH5Saudoc02u+nQHoME 4nXBe5dQ5J2KJizJas0mMZsrDxl5XVk1dgSB1FCYHKtmXfbKUdos0rh24wFgULOe8r+d i+fQ== X-Received: by 10.180.108.235 with SMTP id hn11mr2161425wib.14.1418965646853; Thu, 18 Dec 2014 21:07:26 -0800 (PST) Received: from [192.168.1.79] (52.16.14.81.rev.sfr.net. [81.14.16.52]) by mx.google.com with ESMTPSA id bj3sm980760wib.3.2014.12.18.21.07.25 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Thu, 18 Dec 2014 21:07:26 -0800 (PST) Message-ID: <5493B286.4020001@gmail.com> Date: Fri, 19 Dec 2014 06:07:18 +0100 From: Anders Rundgren User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 MIME-Version: 1.0 To: Phillip Hallam-Baker , Martin Thomson References: <5492B595.6020605@gmail.com> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Archived-At: http://mailarchive.ietf.org/arch/msg/acme/opdHJgGwxHAWSwRzTuUBEgOtpqc Cc: "acme@ietf.org" Subject: Re: [Acme] Message Type/Version Identifiers X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 19 Dec 2014 05:07:35 -0000 On 2014-12-18 22:43, Phillip Hallam-Baker wrote: > +1 > Just for the record, service discovery will in your opinion eliminate the need for explicit version information at the message object level (because this is really what I'm asking for)? I prefer URIs but of course traditional minor.major works as well. Anders > We are doing an IETF spec, not a W3C spec. > > I have a lot of experience in using URIs as protocol identifiers, I originally proposed using them in the PICS spec them and I don't think they work at all. In the PICS spec the specific objective was to drive a wedge between the Dworkin/Mackinon supporters of censorship and the Religious Right supporters. If there had been one control lever they would have been forced to work together to agree on its use. Giving each their own lever collapsed their coalition. > > In that particular instance it was essential to provide a mechanism that allowed anyone to fork at any time. So it could not use a protocol registry. > > > Here we have a Web Service spec and the objective is to end up with a common spec. So the starting point should be an IANA registration. Since we are doing Web Services, the obvious registry is the SRV registry. It would also be rather convenient to have a .well-known default URI. > > I see no reason not to use the prefix ACME for both. So initial discovery would be via SRV record: > > _acme._ws.example.com SRV 1 1 443 acmehost.example.com > > > The host is acmehost.example.com , so the service URI is: > > http://acmehost.example.com/.well-known/acme/ > > > That leaves two other questions, one is protocol version and the other is service feature set. These are independent. There might be a 1.0 service that supports the issue of both server and client certs and a 3.0 service that only supports server. > > We discussed this earlier, but one of the features many folk have suggested for the ACME protocol is a mechanism that allows a client to interrogate it to ask what it supports. I think this can be described as an instance of a general mechanism that can be copied by other specs. > > For versioning, the usual Major.Minor convention works fine. > For feature sets, an IANA registry of text keywords using the RFC20 subset of UTF8 (as we now refer to US-ASCII). > > > So I would see a conversation of the following sort: > > http/1.1 GET http://acmehost.example.com/.well-known/acme/ > .. headers .. > > { "Describe" {} } > > > Responses might be > > { "Versions" : ["1.0"] } > > { "Versions" :["1.0"], > "Supports" : [ > {"ACME" : ["Server", "Client"] }] } > > { "Versions" : ["1.0", "2.0"] > "Supports" : [ > {"ACME" : ["Server"] }, > { "Versions" :["2.0"], "ACME" : ["Server", "Client"] }] } > > So the first only supports the default features. The second supports Client and Server cert issue. The third supports the 2.0 version of the protocol as well as 1.0 but only supports client cert issue for 2.0. > > Specifying the Feature and Version numbers as strings allows for a lot of flexibility. So for example, a service might support version 1.0 and 3.0 but not 2.0 which turned out to be a doofus version (think X.509v2 certs). > > > If we do this in a well defined fashion we can eventually push the same attributes out into the DNS as part of the service registration interface and publish them via some new RR that is TBS which would allow them to be used for host selection. > > Using the SRV/WKS label for the features tag identifies these as attributes that would be defined in the ACME registry. this allows for better reuse of code points in the case that we were to use this for other negotiation dimensions. > > > An ACME service that does not support the Describe method would only support the 0.0 version of the service by definition. > > > Like the signature scheme outlined earlier, this is a module that can be reused very easily. > > > On Thu, Dec 18, 2014 at 2:53 PM, Martin Thomson > wrote: > > On 18 December 2014 at 03:08, Anders Rundgren > > wrote: > > I have "backported" these things to JSON because I think they were good. A > > system like > > ACME could also use such a scheme since there will undoubtedly be revisions > > over time. > > I can appreciate the attraction, but this is a big "no" for me. > Absence of these features is one of the reasons that JSON has proven > successful over XML. > > If you need versioning at that level, I'd recommend defining a content > type instead. > > _______________________________________________ > Acme mailing list > Acme@ietf.org > https://www.ietf.org/mailman/listinfo/acme > From nobody Thu Dec 18 21:09:26 2014 Return-Path: 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 2B2C71A908B for ; Thu, 18 Dec 2014 21:09:25 -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 rpp0SaL_xVhv for ; Thu, 18 Dec 2014 21:09:23 -0800 (PST) Received: from mail-wi0-x234.google.com (mail-wi0-x234.google.com [IPv6:2a00:1450:400c:c05::234]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B3CCD1A9163 for ; Thu, 18 Dec 2014 21:09:22 -0800 (PST) Received: by mail-wi0-f180.google.com with SMTP id n3so554894wiv.13 for ; Thu, 18 Dec 2014 21:09:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=hxKNTljBgrSJNIGi6N/JK88YPRN4DEmNkzfd3O6Dygk=; b=ks8ix8xRioKWL1LvZ55BX6M89XJDpZydYkrC/D8O22UAicW025h7gW5xsyjayBbTkq 85ZLJYFWlnA+D7VitApGdHMQITKwEP2UzagxIQ3N91xQe1I6XOMAk/QmbiOy9rwe94P5 M6i2kU4dh83TAu49k5teyqb7ozp5pCkao0DskHZ80ZjZZNl9UJpkQUnFv9jVZfRS8G5N /ULmOnt391W6qbWulOsBQFi7D2qcuBonVQilLWCetTyWXKnSCALgvWcl++7/3bPiXSov EmkKK6TfXU9Wfsl3cfxFU02cFrS8glIS3xnk8JgmNGspsdmOMnxaRblj0E5AiyDpx2yD sh1g== X-Received: by 10.194.62.76 with SMTP id w12mr10891826wjr.5.1418965760940; Thu, 18 Dec 2014 21:09:20 -0800 (PST) Received: from [192.168.1.79] (52.16.14.81.rev.sfr.net. [81.14.16.52]) by mx.google.com with ESMTPSA id ud4sm989816wib.0.2014.12.18.21.09.20 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Thu, 18 Dec 2014 21:09:20 -0800 (PST) Message-ID: <5493B2F8.30308@gmail.com> Date: Fri, 19 Dec 2014 06:09:12 +0100 From: Anders Rundgren User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 MIME-Version: 1.0 To: Phillip Hallam-Baker References: <54933EC2.3010104@gmail.com> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Archived-At: http://mailarchive.ietf.org/arch/msg/acme/ysVwwGgL-smYAaZTC73nXUI5mTc Cc: "acme@ietf.org" Subject: Re: [Acme] key agility? X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 19 Dec 2014 05:09:25 -0000 On 2014-12-19 00:41, Phillip Hallam-Baker wrote: > On Thu, Dec 18, 2014 at 3:53 PM, Anders Rundgren > wrote: > > With a multi-step protocol some kind of key agility should be possible to support. > The client could for example start with telling its preferences/capabilities. > > Anders > > > I do not know what you mean here. > The ability to negotiate client key algorithm. Anders From nobody Thu Dec 18 22:01:26 2014 Return-Path: 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 1A88C1A9174 for ; Thu, 18 Dec 2014 22:01:24 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.9 X-Spam-Level: X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9] 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 q_rUiJ6yEmKe for ; Thu, 18 Dec 2014 22:01:22 -0800 (PST) Received: from che.mayfirst.org (che.mayfirst.org [209.234.253.108]) by ietfa.amsl.com (Postfix) with ESMTP id 7B2EE1A9172 for ; Thu, 18 Dec 2014 22:01:22 -0800 (PST) Received: from [192.168.12.134] (ool-6c3a0662.static.optonline.net [108.58.6.98]) by che.mayfirst.org (Postfix) with ESMTPSA id 6304EF984; Fri, 19 Dec 2014 01:01:18 -0500 (EST) Message-ID: <5493BF2F.3010607@fifthhorseman.net> Date: Fri, 19 Dec 2014 01:01:19 -0500 From: Daniel Kahn Gillmor User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:34.0) Gecko/20100101 Icedove/34.0 MIME-Version: 1.0 To: Anders Rundgren , Phillip Hallam-Baker References: <54933EC2.3010104@gmail.com> <5493B2F8.30308@gmail.com> In-Reply-To: <5493B2F8.30308@gmail.com> Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="gPdHMnl64lQmw1vAFSBdnqkH4aVPtcDU9" Archived-At: http://mailarchive.ietf.org/arch/msg/acme/jMxL0UkQWzNZkAuQaojoMfdoDqc Cc: "acme@ietf.org" Subject: Re: [Acme] key agility? X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 19 Dec 2014 06:01:24 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --gPdHMnl64lQmw1vAFSBdnqkH4aVPtcDU9 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 12/19/2014 12:09 AM, Anders Rundgren wrote: > On 2014-12-19 00:41, Phillip Hallam-Baker wrote: >> On Thu, Dec 18, 2014 at 3:53 PM, Anders Rundgren >> >= >> wrote: >> >> With a multi-step protocol some kind of key agility should be >> possible to support. >> The client could for example start with telling its >> preferences/capabilities. >> >> Anders >> >> >> I do not know what you mean here. >> >=20 > The ability to negotiate client key algorithm. I think Anders is hinting at something like the following: * some TLS servers today have both RSA and ECDSA keys, and will offer a different cert depending on the capabilities offered by their clients. * this capacity (to support both key algorithms at once) is an important one to be able to do a transition when dealing with a heterogenous network. * acme should be able to support offering multiple certificates (with different key algorithms) to a single client which requests them. Anders, is that what you're talking about? --dkg --gPdHMnl64lQmw1vAFSBdnqkH4aVPtcDU9 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQJ8BAEBCgBmBQJUk78vXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXRFQjk2OTEyODdBN0FEREUzNzU3RDkxMUVB NTI0MDFCMTFCRkRGQTVDAAoJEKUkAbEb/fpcokIQAN2swnvb69bz0zKqJEAcTNmQ dz79OdGikw4MoM0+dNAdz97233pruge8fDAidmr0H861qtEMafP+415d10+/3qKH Uy/1UQBC54B/SiC/fw6iUlA9vkGuMbNp4PMgsr4/H5Etok3FgQE/R8zu/7lpXJOd /K/2oll8SXQc3cVCvkomafavDVTihtkPE00ye+fUeX4wvD/whTXCml8Fttbbl93X sUrd0BM2Kf4dtXcVcIUXbJ5jDPFVg3KlWMnVxDRciUpm8JPO2L6PoBcHs+E3Tg8E z95xYsEsJCJ5ehdxfOuf0J2cQwP1VTlwb7kE9CKE8lwRMvb1vmrFvUm/18WxA5FS 4u0xW2p9gygd8lk+4M7iw0FstdUkOGbFmixl3TV3EfMLCJpaHUfYfpyAH6P4EtRH 58yQd5B/NYkrrUvXdUbnM+eBsdZqNROX1C1MOF9Ca/3aCT+1E33uQ4Z3FDz3tkqO tiVwzIIHLsRs9wWb/SA5N1pqpMNzxgQ2hzqtaCzgghxp1J2edNgUiX7xI3s1xsYi ofkR6ZzAa8CZXUcBVWor3ZaCGOA4gMnHg5jeYJD1l+lG9YMvbOAEwgEd1DJzZ4sE +xw2qQzRySYJk37OPWWYRLjGwblqa3J2Zsw5MRjWZJpvauQJUDuUV24vX1OAnzns pRilPkzP6sb8a7YtKEsw =OeBP -----END PGP SIGNATURE----- --gPdHMnl64lQmw1vAFSBdnqkH4aVPtcDU9-- From nobody Thu Dec 18 22:03:01 2014 Return-Path: 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 28D981A9172 for ; Thu, 18 Dec 2014 22:02:59 -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 ZzgCSl2vfZ3U for ; Thu, 18 Dec 2014 22:02:57 -0800 (PST) Received: from mail-wg0-x231.google.com (mail-wg0-x231.google.com [IPv6:2a00:1450:400c:c00::231]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 5F9AC1A9163 for ; Thu, 18 Dec 2014 22:02:57 -0800 (PST) Received: by mail-wg0-f49.google.com with SMTP id n12so411573wgh.36 for ; Thu, 18 Dec 2014 22:02:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=GJnzpidKugLICG837EixzNum70wr4zj9J1A+Fh3vQ5g=; b=WgagS1ByoVYRQ89RZUHQNE7kRBq9yVNYRYIrLAB+MJPqbhmoGi0pRkyUaG3OQ649ni cWr7pAPBViEcGO788etqsmDnLiI7PRg+5Mh5l7QlVWjd547JNkT/cfJ/ckoGbWNE11lq FRxnL8/H8exKDdLAxo5BmomgzXB6BORd3IZrz+7AGdJOO4xKkWo33Eg1DRMV+athCvqU AW88VqvAi+o0odOpu3MXm+skj5wx8+GgaCFessL1JbDEnu77ygbYTwdNgez5CHNO87Fq bBUpFCHv5KUjnxc/ppgAurhMmx8nUZcFmQHf0lVIW3CSr/WC74V2jS9YygHFeCrZlgl+ DZNQ== X-Received: by 10.180.98.162 with SMTP id ej2mr2397200wib.39.1418968976146; Thu, 18 Dec 2014 22:02:56 -0800 (PST) Received: from [192.168.1.79] (52.16.14.81.rev.sfr.net. [81.14.16.52]) by mx.google.com with ESMTPSA id gl5sm4579498wib.0.2014.12.18.22.02.55 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Thu, 18 Dec 2014 22:02:55 -0800 (PST) Message-ID: <5493BF87.6050107@gmail.com> Date: Fri, 19 Dec 2014 07:02:47 +0100 From: Anders Rundgren User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 MIME-Version: 1.0 To: Daniel Kahn Gillmor , Phillip Hallam-Baker References: <54933EC2.3010104@gmail.com> <5493B2F8.30308@gmail.com> <5493BF2F.3010607@fifthhorseman.net> In-Reply-To: <5493BF2F.3010607@fifthhorseman.net> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Archived-At: http://mailarchive.ietf.org/arch/msg/acme/a7t5GwLnZrUI8du-z9eJmrUc0J8 Cc: "acme@ietf.org" Subject: Re: [Acme] key agility? X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 19 Dec 2014 06:02:59 -0000 On 2014-12-19 07:01, Daniel Kahn Gillmor wrote: > On 12/19/2014 12:09 AM, Anders Rundgren wrote: >> On 2014-12-19 00:41, Phillip Hallam-Baker wrote: >>> On Thu, Dec 18, 2014 at 3:53 PM, Anders Rundgren >>> > >>> wrote: >>> >>> With a multi-step protocol some kind of key agility should be >>> possible to support. >>> The client could for example start with telling its >>> preferences/capabilities. >>> >>> Anders >>> >>> >>> I do not know what you mean here. >>> >> >> The ability to negotiate client key algorithm. > > I think Anders is hinting at something like the following: > > * some TLS servers today have both RSA and ECDSA keys, and will offer a > different cert depending on the capabilities offered by their clients. > > * this capacity (to support both key algorithms at once) is an > important one to be able to do a transition when dealing with a > heterogenous network. > > * acme should be able to support offering multiple certificates (with > different key algorithms) to a single client which requests them. > > Anders, is that what you're talking about? Indeed, pardon for being so unclear :-( Anders > > --dkg > From nobody Fri Dec 19 07:46:19 2014 Return-Path: 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 A79E21A8972 for ; Fri, 19 Dec 2014 07:46:17 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.277 X-Spam-Level: X-Spam-Status: No, score=-1.277 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FM_FORGED_GMAIL=0.622, FREEMAIL_FROM=0.001, HTML_MESSAGE=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 ImQ4oPbsKNdI for ; Fri, 19 Dec 2014 07:46:05 -0800 (PST) Received: from mail-la0-x229.google.com (mail-la0-x229.google.com [IPv6:2a00:1450:4010:c03::229]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 0A0D61A00E0 for ; Fri, 19 Dec 2014 07:46:05 -0800 (PST) Received: by mail-la0-f41.google.com with SMTP id hv19so1051992lab.14 for ; Fri, 19 Dec 2014 07:46:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=jDqvY1XCg5CjbJ9Ugj04AOdi+bt8xXImArloPyQyRtE=; b=fk9OCgdyl91vPBZ0PdVQwasqj7sGkitkn3HqcGZaY4gWpDl6QubyCEOfBsApTZtXhm 4Q7KEVQMf6PkMLBI0xrhtrG59BI2BicI1LFsUILncFKN2WVqxT1W+kXVUyKs08cfAjKR WMiSu4ylmsKGS/omstW/7eUNxWuSECxfu7ncuHV7lo2yYu+kcVT+incpspAzpOAA+XNR gzz/gaxIy5XYni/XHOVrxzglu8Pc9uunep2icsR1o8gfJCB8+3z8Hps2coQoGRD2zmoB KVHsQICwJAS6ZEZHvQKdLEQRLlZ/PAj8HMW14LIFi9yR3oaEmQfzbd/eHyEw3/PF10S+ cmGA== MIME-Version: 1.0 X-Received: by 10.112.51.44 with SMTP id h12mr8527867lbo.5.1419003963356; Fri, 19 Dec 2014 07:46:03 -0800 (PST) Sender: hallam@gmail.com Received: by 10.112.19.42 with HTTP; Fri, 19 Dec 2014 07:46:03 -0800 (PST) In-Reply-To: <5493BF2F.3010607@fifthhorseman.net> References: <54933EC2.3010104@gmail.com> <5493B2F8.30308@gmail.com> <5493BF2F.3010607@fifthhorseman.net> Date: Fri, 19 Dec 2014 10:46:03 -0500 X-Google-Sender-Auth: aJUzUKcc57nIl-padRMgvqq4csc Message-ID: From: Phillip Hallam-Baker To: Daniel Kahn Gillmor Content-Type: multipart/alternative; boundary=001a113339282bbcc6050a939bc0 Archived-At: http://mailarchive.ietf.org/arch/msg/acme/BXDOP2V4Jpnuhnr4HEH-zbiix6s Cc: "acme@ietf.org" , Anders Rundgren Subject: Re: [Acme] key agility? X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 19 Dec 2014 15:46:17 -0000 --001a113339282bbcc6050a939bc0 Content-Type: text/plain; charset=UTF-8 On Fri, Dec 19, 2014 at 1:01 AM, Daniel Kahn Gillmor wrote: > > On 12/19/2014 12:09 AM, Anders Rundgren wrote: > > On 2014-12-19 00:41, Phillip Hallam-Baker wrote: > >> On Thu, Dec 18, 2014 at 3:53 PM, Anders Rundgren > >> > > >> wrote: > >> > >> With a multi-step protocol some kind of key agility should be > >> possible to support. > >> The client could for example start with telling its > >> preferences/capabilities. > >> > >> Anders > >> > >> > >> I do not know what you mean here. > >> > > > > The ability to negotiate client key algorithm. > > I think Anders is hinting at something like the following: > > * some TLS servers today have both RSA and ECDSA keys, and will offer a > different cert depending on the capabilities offered by their clients. > > * this capacity (to support both key algorithms at once) is an > important one to be able to do a transition when dealing with a > heterogenous network. > > * acme should be able to support offering multiple certificates (with > different key algorithms) to a single client which requests them. > > Anders, is that what you're talking about? This is still unclear to me. Are we talking about the client negotiating the provision of a certificate pair so as to be able to support dual RSA/ECC issue? Or are we talking about the client being able to select the use of an ECC or RSA key to authenticate the ACME protocol. If the first, I agree. If the second then I am very confused. As I see the ACME protocol, it is an upgrade to the traditional Cert issue protocol to support the new requirements of modern cert use including embedded devices and the cloud. Enabling the ECC transition is another important requirement. Fortunately it is pretty easy to support any of these if we support a service feature negotiation phase. The guts of the protocol is a request of the form: { "IssueRequest" : { "Version" : "1.0", "CSR" : , } While it is simplest and most straightforward to treat ECC and RSA as issue of two separate certs, combining them might simplify the management task and in particular integration with TRANS. --001a113339282bbcc6050a939bc0 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable


On Fri, Dec 19, 2014 at 1:01 AM, Daniel Kahn Gillmor = <dkg@fifthhor= seman.net> wrote:
On 12/19/2014 12:09 AM, Anders Rundgren wrote: > On 2014-12-19 00:41, Phillip Hallam-Baker wrote:
>> On Thu, Dec 18, 2014 at 3:53 PM, Anders Rundgren
>> <anders.rundgr= en.net@gmail.com <mailto:anders.rundgren.net@gmail.com>>
>> wrote:
>>
>>=C2=A0 =C2=A0 =C2=A0With a multi-step protocol some kind of key agi= lity should be
>> possible to support.
>>=C2=A0 =C2=A0 =C2=A0The client could for example start with telling= its
>> preferences/capabilities.
>>
>>=C2=A0 =C2=A0 =C2=A0Anders
>>
>>
>> I do not know what you mean here.
>>
>
> The ability to negotiate client key algorithm.

I think Anders is hinting at something like the following:

=C2=A0* some TLS servers today have both RSA and ECDSA keys, and will offer= a
different cert depending on the capabilities offered by their clients.

=C2=A0* this capacity (to support both key algorithms at once) is an
important one to be able to do a transition when dealing with a
heterogenous network.

=C2=A0* acme should be able to support offering multiple certificates (with=
different key algorithms) to a single client which requests them.

Anders, is that what you're talking about?

<= div>This is still unclear to me.

Are we talking ab= out the client negotiating the provision of a certificate pair so as to be = able to support dual RSA/ECC issue?

Or are we talk= ing about the client being able to select the use of an ECC or RSA key to a= uthenticate the ACME protocol.


If t= he first, I agree. If the second then I am very confused.

As I see the ACME protocol, it is an upgrade to the traditional Cer= t issue protocol to support the new requirements of modern cert use includi= ng embedded devices and the cloud. Enabling the ECC transition is another i= mportant requirement.


Fortunately i= t is pretty easy to support any of these if we support a service feature ne= gotiation phase.

The guts of the protocol is a req= uest of the form:

<Signature Parameters>

{ "IssueRequest" : {
=C2=A0 =C2= =A0 "Version" : "1.0",
=C2=A0 =C2=A0 "CS= R" : <CSR in Base64>,
=C2=A0 =C2=A0 <other attribut= es>
=C2=A0 =C2=A0 }

While it is simpl= est and most straightforward to treat ECC and RSA as issue of two separate = certs, combining them might simplify the management task and in particular = integration with TRANS.=C2=A0



<= /div>
--001a113339282bbcc6050a939bc0-- From nobody Fri Dec 19 10:11:30 2014 Return-Path: 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 AFB871A8A65 for ; Fri, 19 Dec 2014 10:11:27 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.977 X-Spam-Level: X-Spam-Status: No, score=-1.977 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7] 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 38pADMpRQ-EX for ; Fri, 19 Dec 2014 10:11:25 -0800 (PST) Received: from mail-la0-f46.google.com (mail-la0-f46.google.com [209.85.215.46]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id ED8881ACCF9 for ; Fri, 19 Dec 2014 10:11:24 -0800 (PST) Received: by mail-la0-f46.google.com with SMTP id q1so1300198lam.19 for ; Fri, 19 Dec 2014 10:11:23 -0800 (PST) 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=iw6b+iCFBsonc4x4RSmpouGBmSupfPmf5CAGvrra0GU=; b=Ethe5mIj2zkthSUuzkuXyRt5oBheDq4AvFcOnP4iHDuxfVqVmIrmsISfl5CoDLWnAF sNYXsP3yybHqVAfldF3ocapIyg3BAUxmYGBHRX9L9KfmSr3Bhzlt7DPWdP4okkPUsf9z zzSj1tKT9VG7bmE9Lf5B2s6Bi7i4cIYfiYn7N1oUg/nWfjOVy8/yVaa1B6fnYJNPhefu NI3CDYIX/2LJBYM47DhvYzyZKtsZSon7mrpw+RiIDUJDkXrCIPZ4Mqxmh1V9xQnD3GRw vX1oEqaSU4pcyVkAA/NFJyI9zkImGTFDpdZ53fw6zYuvG/gvvwLNcLs+GZaFJJhyhSxq yehA== X-Gm-Message-State: ALoCoQlM3yAi9XsjCFbL0KYpqujVbkKpBfjoG6hWVYUAC7iDOuO6ygtQbmQcTDdMrJDFhHLYTDJE MIME-Version: 1.0 X-Received: by 10.112.47.135 with SMTP id d7mr2538368lbn.54.1419012683453; Fri, 19 Dec 2014 10:11:23 -0800 (PST) Received: by 10.25.12.215 with HTTP; Fri, 19 Dec 2014 10:11:23 -0800 (PST) In-Reply-To: <5493BF87.6050107@gmail.com> References: <54933EC2.3010104@gmail.com> <5493B2F8.30308@gmail.com> <5493BF2F.3010607@fifthhorseman.net> <5493BF87.6050107@gmail.com> Date: Fri, 19 Dec 2014 13:11:23 -0500 Message-ID: From: Richard Barnes To: Anders Rundgren Content-Type: multipart/alternative; boundary=001a1134d2e6eded48050a95a285 Archived-At: http://mailarchive.ietf.org/arch/msg/acme/wFD-9cfIhQh7_-MSXyGbLvqbWO8 Cc: "acme@ietf.org" , Phillip Hallam-Baker , Daniel Kahn Gillmor Subject: Re: [Acme] key agility? X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 19 Dec 2014 18:11:27 -0000 --001a1134d2e6eded48050a95a285 Content-Type: text/plain; charset=UTF-8 On Fri, Dec 19, 2014 at 1:02 AM, Anders Rundgren < anders.rundgren.net@gmail.com> wrote: > > On 2014-12-19 07:01, Daniel Kahn Gillmor wrote: > >> On 12/19/2014 12:09 AM, Anders Rundgren wrote: >> >>> On 2014-12-19 00:41, Phillip Hallam-Baker wrote: >>> >>>> On Thu, Dec 18, 2014 at 3:53 PM, Anders Rundgren >>>> > >>>> wrote: >>>> >>>> With a multi-step protocol some kind of key agility should be >>>> possible to support. >>>> The client could for example start with telling its >>>> preferences/capabilities. >>>> >>>> Anders >>>> >>>> >>>> I do not know what you mean here. >>>> >>>> >>> The ability to negotiate client key algorithm. >>> >> >> I think Anders is hinting at something like the following: >> >> * some TLS servers today have both RSA and ECDSA keys, and will offer a >> different cert depending on the capabilities offered by their clients. >> >> * this capacity (to support both key algorithms at once) is an >> important one to be able to do a transition when dealing with a >> heterogenous network. >> >> * acme should be able to support offering multiple certificates (with >> different key algorithms) to a single client which requests them. >> >> Anders, is that what you're talking about? >> > > Indeed, pardon for being so unclear :-( > > Thanks for clarifying. ACME incorporates the idea of multiple certificates for the same identifier, even for different clients. That's the reason for the separation between the "authorized key pair" (~= client) and the "subject key pair" (~= certificate). An authorized key pair can be used to issue any number of certificates for any combination of names that it is authorized for. That general framework includes the kind of flexibility you're looking for. --Richard > Anders > > >> --dkg >> >> > _______________________________________________ > Acme mailing list > Acme@ietf.org > https://www.ietf.org/mailman/listinfo/acme > --001a1134d2e6eded48050a95a285 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable


On Fri, Dec 19, 2014 at 1:02 AM, Anders Rundgren <= anders.r= undgren.net@gmail.com> wrote:
<= div class=3D"HOEnZb">
On 2014-12-19 07:01, Daniel Kahn Gil= lmor wrote:
On 12/19/2014 12:09 AM, Anders Rundgren wrote:
On 2014-12-19 00:41, Phillip Hallam-Baker wrote:
On Thu, Dec 18, 2014 at 3:53 PM, Anders Rundgren
<ande= rs.rundgren.net@gmail.com <mailto:anders.rundgren.net@gmail.com&g= t;>
wrote:

=C2=A0 =C2=A0 =C2=A0With a multi-step protocol some kind of key agility sho= uld be
possible to support.
=C2=A0 =C2=A0 =C2=A0The client could for example start with telling its
preferences/capabilities.

=C2=A0 =C2=A0 =C2=A0Anders


I do not know what you mean here.


The ability to negotiate client key algorithm.

I think Anders is hinting at something like the following:

=C2=A0 * some TLS servers today have both RSA and ECDSA keys, and will offe= r a
different cert depending on the capabilities offered by their clients.

=C2=A0 * this capacity (to support both key algorithms at once) is an
important one to be able to do a transition when dealing with a
heterogenous network.

=C2=A0 * acme should be able to support offering multiple certificates (wit= h
different key algorithms) to a single client which requests them.

Anders, is that what you're talking about?

Indeed, pardon for being so unclear :-(


Thanks for clarifying.=C2=A0 ACME inco= rporates the idea of multiple certificates for the same identifier, even fo= r different clients.=C2=A0 That's the reason for the separation between= the "authorized key pair" (~=3D client) and=C2=A0 the "subj= ect key pair" (~=3D certificate).=C2=A0 An authorized key pair can be = used to issue any number of certificates for any combination of names that = it is authorized for.

That general framework includes the= kind of flexibility you're looking for.

--Richard

=C2=A0
Anders


=C2=A0 =C2=A0 =C2=A0 =C2=A0 --dkg


_______________________________________________
Acme mailing list
Acme@ietf.org
ht= tps://www.ietf.org/mailman/listinfo/acme
--001a1134d2e6eded48050a95a285-- From nobody Fri Dec 19 10:12:57 2014 Return-Path: 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 8EF621ACD04 for ; Fri, 19 Dec 2014 10:12:53 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.4 X-Spam-Level: X-Spam-Status: No, score=-1.4 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, J_CHICKENPOX_55=0.6, 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 NVaxZ-UGhZRf for ; Fri, 19 Dec 2014 10:12:53 -0800 (PST) Received: from mail-oi0-x231.google.com (mail-oi0-x231.google.com [IPv6:2607:f8b0:4003:c06::231]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id BDEFE1ACD02 for ; Fri, 19 Dec 2014 10:12:52 -0800 (PST) Received: by mail-oi0-f49.google.com with SMTP id a141so2082701oig.8 for ; Fri, 19 Dec 2014 10:12:52 -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=l5+GiQhmDR/cyR+qafdeU0n2EsffOMjHdowC3e3m7Y0=; b=Dh8KwsMsyXy1VzXfxfZ08AZluRrvu19zM8EbyrkGqOwiG7H+Q+/LsNJz/RWGqtPXM4 E+UQ19GPuZh4v9qjwIcOITQM1WL2PySqK/Pbi9DJn6QhcIjBUjNuF8m0aprmZWesDYAx 8kpHs40P4gaYKqTK93O7IsTSjzlYNbww2NBsERTYCJknZOHiQYsNv4JjZnDEpQeWNUdJ cjEbfpReQZdAsf//9MGhJWOTkbg2coYMQVG1/73HN65rWRQPHAlWxHQDbs8DXbLFQwHQ loIegZRrBXAogm5G7FhWxZg6NLDYybFS1NxiEHV+oJQnapZPSBMoLU5fXDBBelfh0TdO EJHg== MIME-Version: 1.0 X-Received: by 10.182.46.134 with SMTP id v6mr5567227obm.34.1419012772064; Fri, 19 Dec 2014 10:12:52 -0800 (PST) Received: by 10.202.49.203 with HTTP; Fri, 19 Dec 2014 10:12:51 -0800 (PST) In-Reply-To: <5493B286.4020001@gmail.com> References: <5492B595.6020605@gmail.com> <5493B286.4020001@gmail.com> Date: Fri, 19 Dec 2014 10:12:51 -0800 Message-ID: From: Martin Thomson To: Anders Rundgren Content-Type: text/plain; charset=UTF-8 Archived-At: http://mailarchive.ietf.org/arch/msg/acme/SV6d3Cfjv7zILiM_QwVe7CxHb9k Cc: Phillip Hallam-Baker , "acme@ietf.org" Subject: Re: [Acme] Message Type/Version Identifiers X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 19 Dec 2014 18:12:54 -0000 On 18 December 2014 at 21:07, Anders Rundgren wrote: > Just for the record, service discovery will in your opinion eliminate the > need for explicit version information at the message object level (because > this is > really what I'm asking for)? > > I prefer URIs but of course traditional minor.major works as well. I think that you are both over-engineering it. Identify this as "acme". If you need to make changes that aren't backward compatible, call it "acmi". From nobody Fri Dec 19 10:34:17 2014 Return-Path: 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 4B2B31ACCEB for ; Fri, 19 Dec 2014 10:34:16 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.377 X-Spam-Level: X-Spam-Status: No, score=-1.377 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, J_CHICKENPOX_55=0.6, RCVD_IN_DNSWL_LOW=-0.7] 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 CTdgApyH2xb5 for ; Fri, 19 Dec 2014 10:34:15 -0800 (PST) Received: from mail-lb0-f171.google.com (mail-lb0-f171.google.com [209.85.217.171]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id E06A51ACC8F for ; Fri, 19 Dec 2014 10:34:14 -0800 (PST) Received: by mail-lb0-f171.google.com with SMTP id w7so1303705lbi.16 for ; Fri, 19 Dec 2014 10:34:13 -0800 (PST) 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=NkfinFaVxTJRrbN9xIKdMWf72ew3IpDMk/ttkkjA0Oc=; b=fiIwyQi8j7jNdJ2aJD6fnsYHd2/j7x6xZIbzQsShsfJPM2o7sqwYQzkvgNNWJafC2M niTMduXF46HynK4va74bO96yMBGLZhktJ9ZZf1QfnOS+NClYUMGvZ570WNx36ZTrlZ4t fdEdfKcnBTUYVpl8mpNfjPEFwOtKp9InOgibNuQQOwJR1w8smM+Ns08q2BhUtv4LdB/h QK4w1mkT9tUh/TYHpRQ4/GL2l2/fEjBekVev8InYe3+CwJ9+8HqOC2KMo8B4lhhAI0n3 QwkBrwP6XRVnKGCJtWq6qgwsAHy9Y1Kp2QzOgf0BAGmEtYS7EpZ447lKFm77a7xKsSqT u68A== X-Gm-Message-State: ALoCoQknymDpZC6a2WYYxDILE6J6OxYL5qWETkwyRQUOp7Sqo+6eN6+liZbMYs09HLuCQ6cUvF+n MIME-Version: 1.0 X-Received: by 10.112.101.100 with SMTP id ff4mr9160286lbb.94.1419014053422; Fri, 19 Dec 2014 10:34:13 -0800 (PST) Received: by 10.25.12.215 with HTTP; Fri, 19 Dec 2014 10:34:13 -0800 (PST) In-Reply-To: References: <5492B595.6020605@gmail.com> <5493B286.4020001@gmail.com> Date: Fri, 19 Dec 2014 13:34:13 -0500 Message-ID: From: Richard Barnes To: Martin Thomson Content-Type: multipart/alternative; boundary=001a1135e2989601c8050a95f4b8 Archived-At: http://mailarchive.ietf.org/arch/msg/acme/lQJJ_azS-dvp90mZuH81ZJB8vd4 Cc: Phillip Hallam-Baker , "acme@ietf.org" , Anders Rundgren Subject: Re: [Acme] Message Type/Version Identifiers X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 19 Dec 2014 18:34:16 -0000 --001a1135e2989601c8050a95f4b8 Content-Type: text/plain; charset=UTF-8 On Fri, Dec 19, 2014 at 1:12 PM, Martin Thomson wrote: > > On 18 December 2014 at 21:07, Anders Rundgren > wrote: > > Just for the record, service discovery will in your opinion eliminate the > > need for explicit version information at the message object level > (because > > this is > > really what I'm asking for)? > > > > I prefer URIs but of course traditional minor.major works as well. > > I think that you are both over-engineering it. Identify this as > "acme". If you need to make changes that aren't backward compatible, > call it "acmi". > And then, "acmii", "acmiii", "acmiv", ...? :) I think the idea of separating things by URI is the right track. That punts the versioning question to discovery/configuration. --Richard > > _______________________________________________ > Acme mailing list > Acme@ietf.org > https://www.ietf.org/mailman/listinfo/acme > --001a1135e2989601c8050a95f4b8 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable


On Fri, Dec 19, 2014 at 1:12 PM, Martin Thomson <<= a href=3D"mailto:martin.thomson@gmail.com" target=3D"_blank">martin.thomson= @gmail.com> wrote:
On 18 Decemb= er 2014 at 21:07, Anders Rundgren
<ander= s.rundgren.net@gmail.com> wrote:
> Just for the record, service discovery will in your opinion eliminate = the
> need for explicit version information at the message object level (bec= ause
> this is
> really what I'm asking for)?
>
> I prefer URIs but of course traditional minor.major works as well.

I think that you are both over-engineering it.=C2=A0 Identify this a= s
"acme".=C2=A0 If you need to make changes that aren't backwar= d compatible,
call it "acmi".

And then, &qu= ot;acmii", "acmiii", "acmiv", ...?=C2=A0 :)
I think the idea of separating things by URI is the right track= .=C2=A0 That punts the versioning question to discovery/configuration.
<= br>
--Richard


=C2=A0

_______________________________________________
Acme mailing list
Acme@ietf.org
ht= tps://www.ietf.org/mailman/listinfo/acme
--001a1135e2989601c8050a95f4b8-- From nobody Fri Dec 19 10:46:32 2014 Return-Path: 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 8F66F1A8AF7 for ; Fri, 19 Dec 2014 10:46:31 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -0.677 X-Spam-Level: X-Spam-Status: No, score=-0.677 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FM_FORGED_GMAIL=0.622, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, J_CHICKENPOX_55=0.6, 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 7FazaOnC6bco for ; Fri, 19 Dec 2014 10:46:30 -0800 (PST) Received: from mail-la0-x232.google.com (mail-la0-x232.google.com [IPv6:2a00:1450:4010:c03::232]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 096411A8AD4 for ; Fri, 19 Dec 2014 10:46:30 -0800 (PST) Received: by mail-la0-f50.google.com with SMTP id pn19so1370004lab.9 for ; Fri, 19 Dec 2014 10:46:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=lyP/s5Mgq/cONcdmP1J/UHIbU1Ay0N9cEsBS535gd7Q=; b=yibK1ZayE/o+L+/SaP7vUj9/lOpRDCnbPBLTFINwROMFiqNXSVYgqYercmveVHwunB UPDxRM1aimA5ZZVfxMlHK8AY+I0Q/YxMu81nhvQzpr8dt4SUX6Ry5MFu3TWdxCglvHQs QLZzis6N5WTtlXPhLabzLvL8rSUwYtoUpA9vgfMiwoel7PKtTkJACLJ8384T2poOsmeT +eFlVlwxhDda+aEDsFmB8iDRWikaKwMsNPruTL8rh1YPMCchtQpsnLy+Hcv03rjbroTy rDMHZdkkXK8I7tNXPpIGYZyEA/RXM7mdZXm183jB958SKbiSxnx3dXRgwnTlKn8sA8c6 yCMg== MIME-Version: 1.0 X-Received: by 10.112.162.226 with SMTP id yd2mr9303996lbb.1.1419014788550; Fri, 19 Dec 2014 10:46:28 -0800 (PST) Sender: hallam@gmail.com Received: by 10.112.19.42 with HTTP; Fri, 19 Dec 2014 10:46:28 -0800 (PST) In-Reply-To: References: <5492B595.6020605@gmail.com> <5493B286.4020001@gmail.com> Date: Fri, 19 Dec 2014 13:46:28 -0500 X-Google-Sender-Auth: WmFzh3bxHl5K8Psv287ukMBXz8w Message-ID: From: Phillip Hallam-Baker To: Richard Barnes Content-Type: multipart/alternative; boundary=089e0112c86c6718f9050a9620f5 Archived-At: http://mailarchive.ietf.org/arch/msg/acme/xYJbTrNMi_k27VfJBjLcLTkOzAU Cc: "acme@ietf.org" , Martin Thomson , Anders Rundgren Subject: Re: [Acme] Message Type/Version Identifiers X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 19 Dec 2014 18:46:31 -0000 --089e0112c86c6718f9050a9620f5 Content-Type: text/plain; charset=UTF-8 On Fri, Dec 19, 2014 at 1:34 PM, Richard Barnes wrote: > > > > On Fri, Dec 19, 2014 at 1:12 PM, Martin Thomson > wrote: >> >> On 18 December 2014 at 21:07, Anders Rundgren >> wrote: >> > Just for the record, service discovery will in your opinion eliminate >> the >> > need for explicit version information at the message object level >> (because >> > this is >> > really what I'm asking for)? >> > >> > I prefer URIs but of course traditional minor.major works as well. >> >> I think that you are both over-engineering it. Identify this as >> "acme". If you need to make changes that aren't backward compatible, >> call it "acmi". >> > > And then, "acmii", "acmiii", "acmiv", ...? :) > > I think the idea of separating things by URI is the right track. That > punts the versioning question to discovery/configuration. > Noooooo The URI that the Web Service is provided from has no connection to the unique identifier for the specification. I am not wedged on the Major.Minor version thing. We could just as easily use keywords for both and that is a little simpler. We very rarely make backwards incompatible changes in any case and we don't add features monotonically so minor version numbers don't add anything that can't be said in a feature tag. SMTP has worked fine with a Feature tag approach. We have POP3 and IMAP4. Whether we structure them as tags or URIs the structure is exactly the same. The URI is an opaque identifier. Defining semantics on the internal syntax of a URI is bad juju. So the difference is POP3 urn:ietf:service-names-port-numbers:TCP:POP3 The second does not provide anything the first does not. All it does is make the protocol longer and harder to read. --089e0112c86c6718f9050a9620f5 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable


On Fri, Dec 19, 2014 at 1:34 PM, Richard Barnes <<= a href=3D"mailto:rlb@ipv.sx" target=3D"_blank">rlb@ipv.sx> wr= ote:


On Fri, Dec 19, 2014 at 1:1= 2 PM, Martin Thomson <martin.thomson@gmail.com> wrote= :
On 18 December 2014 at 21:07, Anders Rundgren
<anders.rundgren.net@gmail.com> wrote:
> Just for the record, service discovery will in your opinion eliminate = the
> need for explicit version information at the message object level (bec= ause
> this is
> really what I'm asking for)?
>
> I prefer URIs but of course traditional minor.major works as well.

I think that you are both over-engineering it.=C2=A0 Identify this a= s
"acme".=C2=A0 If you need to make changes that aren't backwar= d compatible,
call it "acmi".

A= nd then, "acmii", "acmiii", "acmiv", ...?=C2= =A0 :)

I think the idea of separating things by URI is th= e right track.=C2=A0 That punts the versioning question to discovery/config= uration.

Nooooo= o

The URI that the Web Service is provided from ha= s no connection to the unique identifier for the specification.
<= br>
I am not wedged on the Major.Minor version thing. We could ju= st as easily use keywords for both and that is a little simpler. We very ra= rely make backwards incompatible changes in any case and we don't add f= eatures monotonically so minor version numbers don't add anything that = can't be said in a feature tag.


SMTP has worked fine with a Feature tag approach. We have POP3 and IMAP4.<= /div>

Whether we structure them as tags or URIs the stru= cture is exactly the same. The URI is an opaque identifier. Defining semant= ics on the internal syntax of a URI is bad juju.


So the difference is

POP3
<= div>urn:ietf:service-names-port-numbers:TCP:POP3

<= br>
The second does not provide anything the first does not. All = it does is make the protocol longer and harder to read.
--089e0112c86c6718f9050a9620f5-- From nobody Fri Dec 19 11:02:53 2014 Return-Path: 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 9F5A31AC44D for ; Fri, 19 Dec 2014 11:02:50 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.377 X-Spam-Level: X-Spam-Status: No, score=-1.377 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, J_CHICKENPOX_55=0.6, RCVD_IN_DNSWL_LOW=-0.7] 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 NPcEdftSp3Dn for ; Fri, 19 Dec 2014 11:02:49 -0800 (PST) Received: from mail-lb0-f178.google.com (mail-lb0-f178.google.com [209.85.217.178]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 40EB31A87BE for ; Fri, 19 Dec 2014 11:02:49 -0800 (PST) Received: by mail-lb0-f178.google.com with SMTP id f15so1427063lbj.23 for ; Fri, 19 Dec 2014 11:02:47 -0800 (PST) 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=9mjAYryZ3j+JJcTvdUPeGgiS0dEI0NOdSTpLm5Hv/dA=; b=nIOEdkB5uwHcIswDYUVWkq1frhX/8eEgbsjLGpVfamunc4IeLuu5WXzWM0FsSs1Xjn GcvNCCS/5PeOh1OCFvl3SRpTQ5qYp2EsAZ9DTE6wBxx3G/pzRErLNTtG9cczT/elnmyY Lcrgywb7CxbolU0pbv5FLEtrIjTU+uHjTMfdozq3Y1q2pGupmN88aGdy1Zm9kC5QIgpy k6QNNflRotSk5zO/Z14honhQ+ONQWoAcX5Q86IW/tonM/rglNhGIduNPktaaPCH2RCvq p4Sc03bXERdf7X5KD2Whh2wx7+oA53HdjLi/ZDUQ54uQEX4bYnyJ08o6ZmnyK2hk61nR khiQ== X-Gm-Message-State: ALoCoQnSlcrjXCNMWXTmfVxTXVehkXrqK3z3USKh/vd145u8F2VQXu7J9phPfpowTNp7SbzHsUxW MIME-Version: 1.0 X-Received: by 10.112.138.137 with SMTP id qq9mr9291747lbb.80.1419015767493; Fri, 19 Dec 2014 11:02:47 -0800 (PST) Received: by 10.25.12.215 with HTTP; Fri, 19 Dec 2014 11:02:47 -0800 (PST) In-Reply-To: References: <5492B595.6020605@gmail.com> <5493B286.4020001@gmail.com> Date: Fri, 19 Dec 2014 14:02:47 -0500 Message-ID: From: Richard Barnes To: Phillip Hallam-Baker Content-Type: multipart/alternative; boundary=089e0112cc54c0a578050a965a2f Archived-At: http://mailarchive.ietf.org/arch/msg/acme/Tw6_EXTtkjkLSQdw_3K75R9KWmk Cc: "acme@ietf.org" , Martin Thomson , Anders Rundgren Subject: Re: [Acme] Message Type/Version Identifiers X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 19 Dec 2014 19:02:50 -0000 --089e0112cc54c0a578050a965a2f Content-Type: text/plain; charset=UTF-8 On Fri, Dec 19, 2014 at 1:46 PM, Phillip Hallam-Baker wrote: > > > > On Fri, Dec 19, 2014 at 1:34 PM, Richard Barnes wrote: >> >> >> >> On Fri, Dec 19, 2014 at 1:12 PM, Martin Thomson > > wrote: >>> >>> On 18 December 2014 at 21:07, Anders Rundgren >>> wrote: >>> > Just for the record, service discovery will in your opinion eliminate >>> the >>> > need for explicit version information at the message object level >>> (because >>> > this is >>> > really what I'm asking for)? >>> > >>> > I prefer URIs but of course traditional minor.major works as well. >>> >>> I think that you are both over-engineering it. Identify this as >>> "acme". If you need to make changes that aren't backward compatible, >>> call it "acmi". >>> >> >> And then, "acmii", "acmiii", "acmiv", ...? :) >> >> I think the idea of separating things by URI is the right track. That >> punts the versioning question to discovery/configuration. >> > > Noooooo > > The URI that the Web Service is provided from has no connection to the > unique identifier for the specification. > Yeeeeees :) You're missing my point. The version identifier is not in band to the protocol. We can define a protocol that says "We assume you have a URL as a starting point for this protocol." That URL only has to provide one version of the protocol, so there's no need for the protocol itself to have a notion of version. Then the question is just how you find the URL for the version you want. That's a question for a separate discovery protocol. --Richard > I am not wedged on the Major.Minor version thing. We could just as easily > use keywords for both and that is a little simpler. We very rarely make > backwards incompatible changes in any case and we don't add features > monotonically so minor version numbers don't add anything that can't be > said in a feature tag. > > > SMTP has worked fine with a Feature tag approach. We have POP3 and IMAP4. > > Whether we structure them as tags or URIs the structure is exactly the > same. The URI is an opaque identifier. Defining semantics on the internal > syntax of a URI is bad juju. > > > So the difference is > > POP3 > urn:ietf:service-names-port-numbers:TCP:POP3 > > > The second does not provide anything the first does not. All it does is > make the protocol longer and harder to read. > --089e0112cc54c0a578050a965a2f Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable


On Fri, Dec 19, 2014 at 1:46 PM, Phillip Hallam-Baker <phill@halla= mbaker.com> wrote:


On Fri, Dec 19, 2014 at 1:34 PM, Richard Barnes = <rlb@ipv.sx> wrote:

<= br>
On Fri, Dec 19, 2014 at 1:12 PM, Ma= rtin Thomson <martin.thomson@gmail.com> wrote:On 18 December 2014 at 21:07, Anders Rundgren
<anders.rundgren.net@gmail.com> wrote:
> Just for the record, service discovery will in your opinion eliminate = the
> need for explicit version information at the message object level (bec= ause
> this is
> really what I'm asking for)?
>
> I prefer URIs but of course traditional minor.major works as well.

I think that you are both over-engineering it.=C2=A0 Identify this a= s
"acme".=C2=A0 If you need to make changes that aren't backwar= d compatible,
call it "acmi".

A= nd then, "acmii", "acmiii", "acmiv", ...?=C2= =A0 :)

I think the idea of separating things by URI is th= e right track.=C2=A0 That punts the versioning question to discovery/config= uration.

Noooooo

The URI that the Web Service is provided = from has no connection to the unique identifier for the specification.


Yeeeeees :)

You're missing my point.=C2=A0 The version identi= fier is not in band to the protocol.

We can define a prot= ocol that says "We assume you have a URL as a starting point for this = protocol."=C2=A0 That URL only has to provide one version of the proto= col, so there's no need for the protocol itself to have a notion of ver= sion.

Then the question is just how you find the URL for = the version you want.=C2=A0 That's a question for a separate discovery = protocol.

--Richard


=C2=A0
I am not wedged on the Major.Minor version th= ing. We could just as easily use keywords for both and that is a little sim= pler. We very rarely make backwards incompatible changes in any case and we= don't add features monotonically so minor version numbers don't ad= d anything that can't be said in a feature tag.


SMTP has worked fine with a Feature tag approach. We have = POP3 and IMAP4.

Whether we structure them as tags = or URIs the structure is exactly the same. The URI is an opaque identifier.= Defining semantics on the internal syntax of a URI is bad juju.
<= div>

So the difference is

=
POP3
urn:ietf:service-names-port-numbers:TCP:POP3
=

The second does not provide anything the firs= t does not. All it does is make the protocol longer and harder to read.
--089e0112cc54c0a578050a965a2f-- From nobody Fri Dec 19 11:28:36 2014 Return-Path: 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 9754B1ACD79 for ; Fri, 19 Dec 2014 11:28:34 -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 RQ1vJWuRzdbr for ; Fri, 19 Dec 2014 11:28:33 -0800 (PST) Received: from mail-ob0-x22d.google.com (mail-ob0-x22d.google.com [IPv6:2607:f8b0:4003:c01::22d]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 5FB151ACD77 for ; Fri, 19 Dec 2014 11:28:33 -0800 (PST) Received: by mail-ob0-f173.google.com with SMTP id uy5so13995569obc.4 for ; Fri, 19 Dec 2014 11:28:32 -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=8pH94K8LM3GfcUhmfJN7hLAv7ub/MWtjUt/gaXVZ5LA=; b=i86lseFoulzbBOyQKvvAJ+CLYe6TPyxz7OzhYfHsQfgp6UQ+DSX+ms9/UJeMIyoguW 26lnK+u8VidXD3K4g+dyB6a1Nj+3XeRuK69L/v6TrGFjCf7hhypv+xMWDpGKgdIUxJLH FaCRLJEAhnilPuOh50j7wZCZ+b6Ljy0olPmaSsTcKqRxILWpTSPATbWTbFt5XEc7hwDR TVbHYnYcdwv6fkxciLqh33DN2tMKb9Mw8JmFnw4NZweBQN4qU1yuPLCPjVNzqBC0kEr7 VlGhDvpStBWsccM9Li+ZnrEWr9ADf5j0MpvsQBTs7iqhdQWaE1kkyC0qQVKeGuoDGE7Y pgRA== MIME-Version: 1.0 X-Received: by 10.202.57.196 with SMTP id g187mr5490795oia.16.1419017312649; Fri, 19 Dec 2014 11:28:32 -0800 (PST) Received: by 10.202.49.203 with HTTP; Fri, 19 Dec 2014 11:28:32 -0800 (PST) In-Reply-To: References: <5492B595.6020605@gmail.com> <5493B286.4020001@gmail.com> Date: Fri, 19 Dec 2014 11:28:32 -0800 Message-ID: From: Martin Thomson To: Richard Barnes Content-Type: text/plain; charset=UTF-8 Archived-At: http://mailarchive.ietf.org/arch/msg/acme/6N35xDBXy3bkw82kK8cueI8YQu8 Cc: Phillip Hallam-Baker , "acme@ietf.org" , Anders Rundgren Subject: Re: [Acme] Message Type/Version Identifiers X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 19 Dec 2014 19:28:34 -0000 On 19 December 2014 at 11:02, Richard Barnes wrote: > Then the question is just how you find the URL for the version you want. > That's a question for a separate discovery protocol. Yes. This. It is rare that you have a situation where you need to negotiate the intended protocol in band. Engineering situations where that is necessary would be a bad idea. From nobody Fri Dec 19 11:38:47 2014 Return-Path: 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 0D1B31A3B9D for ; Fri, 19 Dec 2014 11:38:46 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -4.21 X-Spam-Level: X-Spam-Status: No, score=-4.21 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, 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 HU4xNlskk2Lb for ; Fri, 19 Dec 2014 11:38:44 -0800 (PST) Received: from prod-mail-xrelay02.akamai.com (prod-mail-xrelay02.akamai.com [72.246.2.14]) by ietfa.amsl.com (Postfix) with ESMTP id 8CE231A016A for ; Fri, 19 Dec 2014 11:38:44 -0800 (PST) Received: from prod-mail-xrelay02.akamai.com (localhost [127.0.0.1]) by postfix.imss70 (Postfix) with ESMTP id 8E0B2284EA; Fri, 19 Dec 2014 19:38:43 +0000 (GMT) Received: from prod-mail-relay06.akamai.com (prod-mail-relay06.akamai.com [172.17.120.126]) by prod-mail-xrelay02.akamai.com (Postfix) with ESMTP id 7B5C1284E8; Fri, 19 Dec 2014 19:38:43 +0000 (GMT) Received: from email.msg.corp.akamai.com (usma1ex-cas2.msg.corp.akamai.com [172.27.123.31]) by prod-mail-relay06.akamai.com (Postfix) with ESMTP id 7551C202D; Fri, 19 Dec 2014 19:38:43 +0000 (GMT) Received: from usma1ex-cashub5.kendall.corp.akamai.com (172.27.105.21) by usma1ex-dag1mb2.msg.corp.akamai.com (172.27.123.102) with Microsoft SMTP Server (TLS) id 15.0.913.22; Fri, 19 Dec 2014 14:38:36 -0500 Received: from USMBX1.msg.corp.akamai.com ([169.254.1.15]) by USMA1EX-CASHUB5.kendall.corp.akamai.com ([172.27.105.21]) with mapi; Fri, 19 Dec 2014 14:38:36 -0500 From: "Salz, Rich" To: Martin Thomson , Richard Barnes Date: Fri, 19 Dec 2014 14:38:35 -0500 Thread-Topic: [Acme] Message Type/Version Identifiers Thread-Index: AdAbwf4o6/G1m4+wRQmJ3JjLvbPJ/QAAUE7Q Message-ID: <2A0EFB9C05D0164E98F19BB0AF3708C71D54F0FD67@USMBX1.msg.corp.akamai.com> References: <5492B595.6020605@gmail.com> <5493B286.4020001@gmail.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: acceptlanguage: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Archived-At: http://mailarchive.ietf.org/arch/msg/acme/gxCR93hKUy3VIYXzNejDhuQrGaE Cc: Phillip Hallam-Baker , "acme@ietf.org" , Anders Rundgren Subject: Re: [Acme] Message Type/Version Identifiers X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 19 Dec 2014 19:38:46 -0000 > It is rare that you have a situation where you need to negotiate the inte= nded > protocol in band. Engineering situations where that is necessary would b= e a > bad idea. Yeah, because it's worked so well with SSL/TLS :) If you incompatibly rev the protocol you change the URI. Nothing could be = simpler. From nobody Fri Dec 19 11:43:11 2014 Return-Path: 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 16DD11A6F4C for ; Fri, 19 Dec 2014 11:43:10 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -0.677 X-Spam-Level: X-Spam-Status: No, score=-0.677 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FM_FORGED_GMAIL=0.622, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, J_CHICKENPOX_55=0.6, 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 oUi7nWw-6-4h for ; Fri, 19 Dec 2014 11:43:08 -0800 (PST) Received: from mail-la0-x22a.google.com (mail-la0-x22a.google.com [IPv6:2a00:1450:4010:c03::22a]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 2DAE91A6F0D for ; Fri, 19 Dec 2014 11:43:08 -0800 (PST) Received: by mail-la0-f42.google.com with SMTP id gd6so1442668lab.1 for ; Fri, 19 Dec 2014 11:43:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=4nM2NGUubGwslvg6h64NVvSH1BosE2KygQUyBRPfA4Y=; b=HVMP1owmmnruib05dWsJHExgfI3WFYw6ZW3vQUy45T4vFTgaSrUik1bgNPhXGqDNXi zFVDNJXYONFHlSwpEAXEqQOR1P23Csd42MrL3gchsrst5a9v2QyUv3g2Q0Sdj52kFMFD VupFLXZN8lrHHTcNHl1ZWP7RGZnysWfwWZTJBilH5Bd2QwqTnUX6FbCUUcMCKyzggqJl ySpQwJTKZEklc4Xqli6LYfstyp3DnVqFLthVdSa0Whwwlgtd5NaNDEf9F6vl+cN3eIkc z8VXj9ZKNqituyY/TAiQjFG6NqOc9iq+8NQFht4b/yNfks4kQxTTMw8XNKMAT0FPmCDC 8ASg== MIME-Version: 1.0 X-Received: by 10.112.14.6 with SMTP id l6mr9541281lbc.91.1419018186608; Fri, 19 Dec 2014 11:43:06 -0800 (PST) Sender: hallam@gmail.com Received: by 10.112.19.42 with HTTP; Fri, 19 Dec 2014 11:43:06 -0800 (PST) In-Reply-To: References: <5492B595.6020605@gmail.com> <5493B286.4020001@gmail.com> Date: Fri, 19 Dec 2014 14:43:06 -0500 X-Google-Sender-Auth: fWIoM_anvi_TCQUV5ua_2ivMmNM Message-ID: From: Phillip Hallam-Baker To: Richard Barnes Content-Type: multipart/alternative; boundary=001a11c36de8f15823050a96eab9 Archived-At: http://mailarchive.ietf.org/arch/msg/acme/ClesPg26t4B5YwIAnvL_zGG-CLQ Cc: "acme@ietf.org" , Martin Thomson , Anders Rundgren Subject: Re: [Acme] Message Type/Version Identifiers X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 19 Dec 2014 19:43:10 -0000 --001a11c36de8f15823050a96eab9 Content-Type: text/plain; charset=UTF-8 On Fri, Dec 19, 2014 at 2:02 PM, Richard Barnes wrote: > > > > On Fri, Dec 19, 2014 at 1:46 PM, Phillip Hallam-Baker < > phill@hallambaker.com> wrote: >> >> >> >> On Fri, Dec 19, 2014 at 1:34 PM, Richard Barnes wrote: >>> >>> >>> >>> On Fri, Dec 19, 2014 at 1:12 PM, Martin Thomson < >>> martin.thomson@gmail.com> wrote: >>>> >>>> On 18 December 2014 at 21:07, Anders Rundgren >>>> wrote: >>>> > Just for the record, service discovery will in your opinion eliminate >>>> the >>>> > need for explicit version information at the message object level >>>> (because >>>> > this is >>>> > really what I'm asking for)? >>>> > >>>> > I prefer URIs but of course traditional minor.major works as well. >>>> >>>> I think that you are both over-engineering it. Identify this as >>>> "acme". If you need to make changes that aren't backward compatible, >>>> call it "acmi". >>>> >>> >>> And then, "acmii", "acmiii", "acmiv", ...? :) >>> >>> I think the idea of separating things by URI is the right track. That >>> punts the versioning question to discovery/configuration. >>> >> >> Noooooo >> >> The URI that the Web Service is provided from has no connection to the >> unique identifier for the specification. >> > > > Yeeeeees :) > > You're missing my point. The version identifier is not in band to the > protocol. > Where the version identifier shows up on the wire is secondary to how it is expressed. I don't mind taking negotiation out of the ACME spec, it is something that should be common to all JSON services. If we want to make use of DNS to do service version discover we had probably best not make the tag any larger than necessary. As a separate issue, we are going to be signing messages and so there should be an identifier inside the signed content that specifies the semantics of what is being signed so as to prevent a downgrade attack, substitution attack or whatever. --001a11c36de8f15823050a96eab9 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable


On Fri, Dec 19, 2014 at 2:02 PM, Richard Barnes <<= a href=3D"mailto:rlb@ipv.sx" target=3D"_blank">rlb@ipv.sx> wr= ote:


On Fri, Dec 19, 201= 4 at 1:46 PM, Phillip Hallam-Baker <phill@hallambaker.com> wrote:


On Fri, Dec 19, 2014 at 1= :34 PM, Richard Barnes <rlb@ipv.sx> wrote:


On Fri, Dec 19, 2014 at 1:12 PM, Martin Thomson <= ;martin.thoms= on@gmail.com> wrote:
On 18 December 2014 at= 21:07, Anders Rundgren
<anders.rundgren.net@gmail.com> wrote:
> Just for the record, service discovery will in your opinion eliminate = the
> need for explicit version information at the message object level (bec= ause
> this is
> really what I'm asking for)?
>
> I prefer URIs but of course traditional minor.major works as well.

I think that you are both over-engineering it.=C2=A0 Identify this a= s
"acme".=C2=A0 If you need to make changes that aren't backwar= d compatible,
call it "acmi".

A= nd then, "acmii", "acmiii", "acmiv", ...?=C2= =A0 :)

I think the idea of separating things by URI is th= e right track.=C2=A0 That punts the versioning question to discovery/config= uration.

Noooooo

The URI that the Web Service is provided = from has no connection to the unique identifier for the specification.


Yeeeeees :)<= br>

You're missing my point.=C2=A0 The version= identifier is not in band to the protocol.

Where the version identifier shows up on the w= ire is secondary to how it is expressed. I don't mind taking negotiatio= n out of the ACME spec, it is something that should be common to all JSON s= ervices.

If we want to make use of DNS to do servi= ce version discover we had probably best not make the tag any larger than n= ecessary.


As a separate issue, we a= re going to be signing messages and so there should be an identifier inside= the signed content that specifies the semantics of what is being signed so= as to prevent a downgrade attack, substitution attack or whatever.


--001a11c36de8f15823050a96eab9-- From nobody Fri Dec 19 11:46:05 2014 Return-Path: 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 8BEEB1A6FE5 for ; Fri, 19 Dec 2014 11:46:03 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.277 X-Spam-Level: X-Spam-Status: No, score=-1.277 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FM_FORGED_GMAIL=0.622, FREEMAIL_FROM=0.001, HTML_MESSAGE=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 9bo2JDxnMiVD for ; Fri, 19 Dec 2014 11:46:02 -0800 (PST) Received: from mail-la0-x234.google.com (mail-la0-x234.google.com [IPv6:2a00:1450:4010:c03::234]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 443781A6FD0 for ; Fri, 19 Dec 2014 11:46:02 -0800 (PST) Received: by mail-la0-f52.google.com with SMTP id hs14so1399810lab.25 for ; Fri, 19 Dec 2014 11:46:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=NOACnytPKDoydF+O95Bk/i5Kz7u1NnESeFLjauIBM+g=; b=gYsU+9SctcCs6t9pgOGWRjqY3/uFmKyodCgUTq9XZhfjEupEsLEV5krYImzpOpgk1A z1W3YtzSHgxWFlsB92ItR/51CFKDBvXFU8Rqt6U3hmuK0oj28dDD0ONlX/dIRn4Wid9q UxLMDEEnXAqtcKKzv+SkrwrKEPRhFMemPtTrTES8HTrvayjrwjpbdkkVcRZXySqwlAFS B7bn3EgQl8KzIA01pksxy67mZxg/EWwn3MBUueeKQ5VpWf+iDyRSRn9ooOw5XvFi1qCj nUnUzSuLhWTYRA6UrF3CYU2sN22lbMsVdjWec3GATRnS7IbDkdu5D5eEhtTaJ/zMl24n 0SHg== MIME-Version: 1.0 X-Received: by 10.152.8.225 with SMTP id u1mr9513486laa.21.1419018360805; Fri, 19 Dec 2014 11:46:00 -0800 (PST) Sender: hallam@gmail.com Received: by 10.112.19.42 with HTTP; Fri, 19 Dec 2014 11:46:00 -0800 (PST) In-Reply-To: <2A0EFB9C05D0164E98F19BB0AF3708C71D54F0FD67@USMBX1.msg.corp.akamai.com> References: <5492B595.6020605@gmail.com> <5493B286.4020001@gmail.com> <2A0EFB9C05D0164E98F19BB0AF3708C71D54F0FD67@USMBX1.msg.corp.akamai.com> Date: Fri, 19 Dec 2014 14:46:00 -0500 X-Google-Sender-Auth: 1huVD_jR1bXibf5eJZhwnsu7LNg Message-ID: From: Phillip Hallam-Baker To: "Salz, Rich" Content-Type: multipart/alternative; boundary=089e0158b79e5362cb050a96f53c Archived-At: http://mailarchive.ietf.org/arch/msg/acme/VvT0-EKZQrID4Drfqr28R-SSSfA Cc: Richard Barnes , "acme@ietf.org" , Martin Thomson , Anders Rundgren Subject: Re: [Acme] Message Type/Version Identifiers X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 19 Dec 2014 19:46:03 -0000 --089e0158b79e5362cb050a96f53c Content-Type: text/plain; charset=UTF-8 On Fri, Dec 19, 2014 at 2:38 PM, Salz, Rich wrote: > > > > It is rare that you have a situation where you need to negotiate the > intended > > protocol in band. Engineering situations where that is necessary would > be a > > bad idea. > > Yeah, because it's worked so well with SSL/TLS :) > > If you incompatibly rev the protocol you change the URI. Nothing could be > simpler. > Please disambiguate the binding of 'you' in that sentence since the first cannot possibly be the same as the last. What I think you mean is: If we, the IETF incompatibly rev the protocol the service provider must use separate URIs to provide the different versions of the service. The protocol version identifier is the SRV record prefix and/or the well-known service prefix. --089e0158b79e5362cb050a96f53c Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable


On Fri, Dec 19, 2014 at 2:38 PM, Salz, Rich <rsalz@akamai.com> wrote:

> It is rare that you have a situation where you need to negotiate the i= ntended
> protocol in band.=C2=A0 Engineering situations where that is necessary= would be a
> bad idea.

Yeah, because it's worked so well with SSL/TLS :)

If you incompatibly rev the protocol you change the URI.=C2=A0 Nothing coul= d be simpler.


Please dis= ambiguate the binding of 'you' in that sentence since the first can= not possibly be the same as the last.


What I think you mean is:

If we, the IETF incom= patibly rev the protocol the service provider must use separate URIs to pro= vide the different versions of the service.


The protocol version identifier is the SRV record prefix and/or th= e well-known service prefix.

=C2=A0
--089e0158b79e5362cb050a96f53c-- From nobody Fri Dec 19 11:51:51 2014 Return-Path: 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 EA4D61ACD93 for ; Fri, 19 Dec 2014 11:51:49 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -2.61 X-Spam-Level: X-Spam-Status: No, score=-2.61 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7, 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 Eb5MHsB8BI5M for ; Fri, 19 Dec 2014 11:51:48 -0800 (PST) Received: from prod-mail-xrelay07.akamai.com (prod-mail-xrelay07.akamai.com [72.246.2.115]) by ietfa.amsl.com (Postfix) with ESMTP id 2DC851A6FFC for ; Fri, 19 Dec 2014 11:51:48 -0800 (PST) Received: from prod-mail-xrelay07.akamai.com (localhost.localdomain [127.0.0.1]) by postfix.imss70 (Postfix) with ESMTP id 4C48C47656; Fri, 19 Dec 2014 19:51:47 +0000 (GMT) Received: from prod-mail-relay07.akamai.com (prod-mail-relay07.akamai.com [172.17.121.112]) by prod-mail-xrelay07.akamai.com (Postfix) with ESMTP id 3F72147654; Fri, 19 Dec 2014 19:51:47 +0000 (GMT) Received: from email.msg.corp.akamai.com (usma1ex-casadmn.msg.corp.akamai.com [172.27.123.33]) by prod-mail-relay07.akamai.com (Postfix) with ESMTP id 3AB9480048; Fri, 19 Dec 2014 19:51:47 +0000 (GMT) Received: from usma1ex-cashub5.kendall.corp.akamai.com (172.27.105.21) by usma1ex-dag1mb1.msg.corp.akamai.com (172.27.123.101) with Microsoft SMTP Server (TLS) id 15.0.913.22; Fri, 19 Dec 2014 14:51:46 -0500 Received: from USMBX1.msg.corp.akamai.com ([169.254.1.15]) by USMA1EX-CASHUB5.kendall.corp.akamai.com ([172.27.105.21]) with mapi; Fri, 19 Dec 2014 14:51:46 -0500 From: "Salz, Rich" To: Phillip Hallam-Baker Date: Fri, 19 Dec 2014 14:51:44 -0500 Thread-Topic: [Acme] Message Type/Version Identifiers Thread-Index: AdAbxGyZvOF0uzROQGyOUgcWShVwDgAAI+CA Message-ID: <2A0EFB9C05D0164E98F19BB0AF3708C71D54F0FD6F@USMBX1.msg.corp.akamai.com> References: <5492B595.6020605@gmail.com> <5493B286.4020001@gmail.com> <2A0EFB9C05D0164E98F19BB0AF3708C71D54F0FD67@USMBX1.msg.corp.akamai.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: acceptlanguage: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Archived-At: http://mailarchive.ietf.org/arch/msg/acme/zLU6bAruduU5OPXFHcFVZjeF88I Cc: Richard Barnes , "acme@ietf.org" , Martin Thomson , Anders Rundgren Subject: Re: [Acme] Message Type/Version Identifiers X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 19 Dec 2014 19:51:50 -0000 PiBJZiB3ZSwgdGhlIElFVEYgaW5jb21wYXRpYmx5IHJldiB0aGUgcHJvdG9jb2wgdGhlIHNlcnZp Y2UgcHJvdmlkZXIgbXVzdCB1c2Ugc2VwYXJhdGUgVVJJcyB0byBwcm92aWRlIHRoZSBkaWZmZXJl bnQgdmVyc2lvbnMgb2YgdGhlIHNlcnZpY2UuDQoNClllcy4gIEkgZXhwZWN0IHRoZSBSRkMgd2ls bCBpbmNsdWRlICJyZWZlcmVuY2UiIFVSSSdzLiAgRm9yIGV4YW1wbGUsIGgyOi8vd3d3LmV4YW1w bGUub3JnL2FjbWUvdjEvcmVnaXN0ZXINCg0KPiBUaGUgcHJvdG9jb2wgdmVyc2lvbiBpZGVudGlm aWVyIGlzIHRoZSBTUlYgcmVjb3JkIHByZWZpeCBhbmQvb3IgdGhlIHdlbGwta25vd24gc2Vydmlj ZSBwcmVmaXguDQoNCk5vIG9waW5pb24gZXhwcmVzc2VkIG9uIFNSViByZWNvcmRzLiAgTm8gcmVh bCBpbnRlcmVzdCByaWdodCBub3csIGVpdGhlciA6KQ0KDQotLSAgDQpQcmluY2lwYWwgU2VjdXJp dHkgRW5naW5lZXIsIEFrYW1haSBUZWNobm9sb2dpZXMNCklNOiByc2FsekBqYWJiZXIubWUgVHdp dHRlcjogUmljaFNhbHoNCg== From nobody Fri Dec 19 11:52:02 2014 Return-Path: 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 1FB9A1A6FFC for ; Fri, 19 Dec 2014 11:51:58 -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 Z-kjCBk1L4mm for ; Fri, 19 Dec 2014 11:51:53 -0800 (PST) Received: from mail-wi0-x230.google.com (mail-wi0-x230.google.com [IPv6:2a00:1450:400c:c05::230]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id E2D531ACD96 for ; Fri, 19 Dec 2014 11:51:52 -0800 (PST) Received: by mail-wi0-f176.google.com with SMTP id ex7so2951415wid.15 for ; Fri, 19 Dec 2014 11:51:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=mpaqilJ0mZ6ID5vwylXxyEt1QKLZD8j/o/MQfxlCdV0=; b=vDAYoNwWf8u2KvKi4YaMj/Eum28mGhhDc7Gy/2tRX+HZ6At2jlY5+PTqO+BOPaSEUY GjvkPpyfCLsQ3ZeULSxDwJ8artY6es63xJ1v7GZ9SANuzzMKNdLeY5+NCzXyH3MeK1PX vdMewOK9iahf3cPH14R9lUMhgGa6sOyQjFj0sCvudmECJ4va7cbviHqV/PHyb/ta/hnT 8i5TN8ReqM/CJVVSsZoaL5rvTKWZCTLQFoWVehsqAknPsU/cjFoGZdS8n9+6bkJf03av EqStIbyMjeokYGn/YcZW/ryEmL3l9S1YW3EB1MOCJwBEo29Yj0j8JvRzSVezWAKvlI8t 7efQ== X-Received: by 10.194.94.227 with SMTP id df3mr18598400wjb.34.1419018711738; Fri, 19 Dec 2014 11:51:51 -0800 (PST) Received: from [192.168.1.79] (52.16.14.81.rev.sfr.net. [81.14.16.52]) by mx.google.com with ESMTPSA id n8sm13875323wjx.0.2014.12.19.11.51.50 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Fri, 19 Dec 2014 11:51:50 -0800 (PST) Message-ID: <549481CE.9040301@gmail.com> Date: Fri, 19 Dec 2014 20:51:42 +0100 From: Anders Rundgren User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 MIME-Version: 1.0 To: Phillip Hallam-Baker , "Salz, Rich" References: <5492B595.6020605@gmail.com> <5493B286.4020001@gmail.com> <2A0EFB9C05D0164E98F19BB0AF3708C71D54F0FD67@USMBX1.msg.corp.akamai.com> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Archived-At: http://mailarchive.ietf.org/arch/msg/acme/tJlZ2tgHNhS6n1-I-YWiwKhDFEw Cc: Richard Barnes , "acme@ietf.org" , Martin Thomson Subject: Re: [Acme] Message Type/Version Identifiers X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 19 Dec 2014 19:51:58 -0000 On 2014-12-19 20:46, Phillip Hallam-Baker wrote: [...] > > What I think you mean is: > > If we, the IETF incompatibly rev the protocol the service provider must use separate URIs to provide the different versions of the service. > > > The protocol version identifier is the SRV record prefix and/or the well-known service prefix. Why must we mix service discovery with versioning? Couldn't you search in DNS for a generic ACME service and then from that find out what versions (=URIs) that are actually served? It would add one level of indirection but this is not a real-time system so I shouldn't matter. Anders From nobody Fri Dec 19 12:19:27 2014 Return-Path: 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 83DA21AC3BB for ; Fri, 19 Dec 2014 12:19:26 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.277 X-Spam-Level: X-Spam-Status: No, score=-1.277 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FM_FORGED_GMAIL=0.622, FREEMAIL_FROM=0.001, HTML_MESSAGE=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 A3buQ0ejBZXE for ; Fri, 19 Dec 2014 12:19:25 -0800 (PST) Received: from mail-la0-x235.google.com (mail-la0-x235.google.com [IPv6:2a00:1450:4010:c03::235]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id C47981A9235 for ; Fri, 19 Dec 2014 12:19:24 -0800 (PST) Received: by mail-la0-f53.google.com with SMTP id gm9so1494783lab.12 for ; Fri, 19 Dec 2014 12:19:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=oillc34R5NyXyCRgrPGbLtc2qnR/ZLAi0L4I2d0Ez+s=; b=KsqcMCAGNVnKwaRYt4DEJXJE3Y+LNccEaPmh+vfdTU1LrItQzSnSfMdwVfSE45GBnp hE80xvxhvIzlMAe3ddsM9XT4VJNwrJ+IAOxfxQfkXKHMygvMQurIVE9e71WVBFYg+RJj HJBJW1TCDtyPK5yWJvIPBt0vWziho3OovKQh7xnbHvFq2OYTVWO06UcHS3uSujiTrwoG CKfvg/XA7pU7DKLbUh7n9ih1xOcZb/dyLf+lUU4xlM3jQsl6gxolFeu6t4uqi5h0w16e /8LVF+VDnf3NABvktbg40OSz+2dMQU/VknR3Ir5agIy048xrNzVjKRDSZG5dWbaM4lwh vDLQ== MIME-Version: 1.0 X-Received: by 10.112.131.1 with SMTP id oi1mr9518648lbb.2.1419020363261; Fri, 19 Dec 2014 12:19:23 -0800 (PST) Sender: hallam@gmail.com Received: by 10.112.19.42 with HTTP; Fri, 19 Dec 2014 12:19:23 -0800 (PST) In-Reply-To: <2A0EFB9C05D0164E98F19BB0AF3708C71D54F0FD6F@USMBX1.msg.corp.akamai.com> References: <5492B595.6020605@gmail.com> <5493B286.4020001@gmail.com> <2A0EFB9C05D0164E98F19BB0AF3708C71D54F0FD67@USMBX1.msg.corp.akamai.com> <2A0EFB9C05D0164E98F19BB0AF3708C71D54F0FD6F@USMBX1.msg.corp.akamai.com> Date: Fri, 19 Dec 2014 15:19:23 -0500 X-Google-Sender-Auth: W6Jmfy1ktiYmCGHGRxluVhBi62E Message-ID: From: Phillip Hallam-Baker To: "Salz, Rich" Content-Type: multipart/alternative; boundary=047d7b343106ae6fd0050a976cae Archived-At: http://mailarchive.ietf.org/arch/msg/acme/qDMUT_h1fqtThOe6HxFI5TJP23U Cc: Richard Barnes , "acme@ietf.org" , Martin Thomson , Anders Rundgren Subject: Re: [Acme] Message Type/Version Identifiers X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 19 Dec 2014 20:19:26 -0000 --047d7b343106ae6fd0050a976cae Content-Type: text/plain; charset=UTF-8 On Fri, Dec 19, 2014 at 2:51 PM, Salz, Rich wrote: > > > If we, the IETF incompatibly rev the protocol the service provider must > use separate URIs to provide the different versions of the service. > > Yes. I expect the RFC will include "reference" URI's. For example, h2:// > www.example.org/acme/v1/register That is the cardinal sin I was objecting to. The URI defines the Web Service end point. It is opaque as far as the Web Service is concerned. There are some IDs with really long rants on why encoding semantics into Web Service URLs is a really bad idea. > > > The protocol version identifier is the SRV record prefix and/or the > well-known service prefix. > > No opinion expressed on SRV records. No real interest right now, either :) > > --047d7b343106ae6fd0050a976cae Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable


On Fri, Dec 19, 2014 at 2:51 PM, Salz, Rich <rsalz@akamai.com> wrote:
> If we, the= IETF incompatibly rev the protocol the service provider must use separate = URIs to provide the different versions of the service.

Yes.=C2=A0 I expect the RFC will include "reference" URI&#= 39;s.=C2=A0 For example, h2://www.example.org/acme/v1/register
<= div>
That is the cardinal sin I was objecting to. The URI def= ines the Web Service end point. It is opaque as far as the Web Service is c= oncerned.=C2=A0

There are some IDs with really lon= g rants on why encoding semantics into Web Service URLs is a really bad ide= a.

=C2=A0

> The protocol version identifier is the SRV record prefix and/or the we= ll-known service prefix.

No opinion expressed on SRV records.=C2=A0 No real interest right no= w, either :)

--047d7b343106ae6fd0050a976cae-- From nobody Fri Dec 19 12:30:03 2014 Return-Path: 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 956131A9241 for ; Fri, 19 Dec 2014 12:30:01 -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 a2pntZOrzS3o for ; Fri, 19 Dec 2014 12:29:59 -0800 (PST) Received: from mail-oi0-x22c.google.com (mail-oi0-x22c.google.com [IPv6:2607:f8b0:4003:c06::22c]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 405E71ABC0F for ; Fri, 19 Dec 2014 12:29:57 -0800 (PST) Received: by mail-oi0-f44.google.com with SMTP id e131so3157343oig.3 for ; Fri, 19 Dec 2014 12:29:56 -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=LKFbHbHq1rW6qr+y9I1XtG5sOt3HS8e51Qf5PiiAtCs=; b=YmcnuyZJcA3gRS47IwkIBZ9JH/rcmRB6eAwR1TBUXXidCZgadZVUazH2s8yVvsEDtd R08I0oxvVDmqyTOQsZQ2BiD0RZkKV2KB7T5ferorwfnznfW72201tA37PutizM92iJv3 UtWwoxMxDdoyd8sPxAcASvzSd0ZZhOAOOFxxbeg56A3+NnRaiMH1PBe5MsXn/ryIZT04 Aj67fvbhRO5MkudBeexOXMQm/5JB4MIxYHyjERFN7bOWuFDfwZZNvDog739laOrgRjed I3Q/ftXtJq1QMmDcEWfaIuiIi5Ao6S2Klx0B4l5HGLuWu2JvL2jtEmDDj8/s4ehLggDH CLww== MIME-Version: 1.0 X-Received: by 10.202.212.82 with SMTP id l79mr5656395oig.12.1419020996550; Fri, 19 Dec 2014 12:29:56 -0800 (PST) Received: by 10.202.49.203 with HTTP; Fri, 19 Dec 2014 12:29:56 -0800 (PST) In-Reply-To: References: <5492B595.6020605@gmail.com> <5493B286.4020001@gmail.com> <2A0EFB9C05D0164E98F19BB0AF3708C71D54F0FD67@USMBX1.msg.corp.akamai.com> <2A0EFB9C05D0164E98F19BB0AF3708C71D54F0FD6F@USMBX1.msg.corp.akamai.com> Date: Fri, 19 Dec 2014 12:29:56 -0800 Message-ID: From: Martin Thomson To: Phillip Hallam-Baker Content-Type: text/plain; charset=UTF-8 Archived-At: http://mailarchive.ietf.org/arch/msg/acme/CkmuhS53nY2Aj2Jr-yXu7qgrHSs Cc: Richard Barnes , "Salz, Rich" , "acme@ietf.org" , Anders Rundgren Subject: Re: [Acme] Message Type/Version Identifiers X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 19 Dec 2014 20:30:01 -0000 On 19 December 2014 at 12:19, Phillip Hallam-Baker wrote: > That is the cardinal sin I was objecting to. The URI defines the Web Service > end point. It is opaque as far as the Web Service is concerned. "The web service" is a little too squishy to have any concrete meaning. Do you mean to say that there is some value in identifying the abstract thing that is "ACME of any version"? Even when that refers to multiple, potentially incompatible things? I mean, yes, you can do that. I don't see why you would take on that complexity burden when "ACME of this particular version" is usually perfectly adequate. From nobody Fri Dec 19 12:56:53 2014 Return-Path: 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 915FF1A710D for ; Fri, 19 Dec 2014 12:56:52 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.277 X-Spam-Level: X-Spam-Status: No, score=-1.277 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FM_FORGED_GMAIL=0.622, FREEMAIL_FROM=0.001, HTML_MESSAGE=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 BlXMEpPRMgez for ; Fri, 19 Dec 2014 12:56:51 -0800 (PST) Received: from mail-lb0-x22c.google.com (mail-lb0-x22c.google.com [IPv6:2a00:1450:4010:c04::22c]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D2E6C1A802D for ; Fri, 19 Dec 2014 12:56:50 -0800 (PST) Received: by mail-lb0-f172.google.com with SMTP id u10so1475297lbd.3 for ; Fri, 19 Dec 2014 12:56:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=r7eDF7TNnEipSl+kYZ0uKR+z8dGPK/RaGynhvEvBu/I=; b=QL2Wb8lkdVRkcX1KWFEF57eZ8eHmkqUIH6b7jA/YExneJqq9b6jQNjtNClwAXvgqA4 Uh36zsV5Riaavajewzf6DuvQOhzCvwjQSawJXeBsLxbutQ8CWiq5aPpcOuH4iGt3o4Se CFMadPQltaWkjeBHqDulSmZBraLUFeChufOREtHk/f6nr/icnRVV/Y1ausNA5+D5TasJ quWiXdqYqwL+DBDM47qBNf+L3boU6D4vPZYqNAQm5dCSqDwgoGV7PGHKk6cGoSPqGID+ U8CISZkfhP91Qpip+V4aldG0PSLkRxsrkjtuKNazsabF8yIj3+BZOKKj+OLf0uT1CByF dDGQ== MIME-Version: 1.0 X-Received: by 10.112.27.133 with SMTP id t5mr9774096lbg.45.1419022609343; Fri, 19 Dec 2014 12:56:49 -0800 (PST) Sender: hallam@gmail.com Received: by 10.112.19.42 with HTTP; Fri, 19 Dec 2014 12:56:49 -0800 (PST) In-Reply-To: References: <5492B595.6020605@gmail.com> <5493B286.4020001@gmail.com> <2A0EFB9C05D0164E98F19BB0AF3708C71D54F0FD67@USMBX1.msg.corp.akamai.com> <2A0EFB9C05D0164E98F19BB0AF3708C71D54F0FD6F@USMBX1.msg.corp.akamai.com> Date: Fri, 19 Dec 2014 15:56:49 -0500 X-Google-Sender-Auth: PbXkBry8QD7V4XJUpc92pbONn9w Message-ID: From: Phillip Hallam-Baker To: Martin Thomson Content-Type: multipart/alternative; boundary=001a1133b04a8eeb75050a97f229 Archived-At: http://mailarchive.ietf.org/arch/msg/acme/9MXugIr-YQPbVLNAqpLsB1Lknx4 Cc: Richard Barnes , "Salz, Rich" , "acme@ietf.org" , Anders Rundgren Subject: Re: [Acme] Message Type/Version Identifiers X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 19 Dec 2014 20:56:52 -0000 --001a1133b04a8eeb75050a97f229 Content-Type: text/plain; charset=UTF-8 On Fri, Dec 19, 2014 at 3:29 PM, Martin Thomson wrote: > > On 19 December 2014 at 12:19, Phillip Hallam-Baker > wrote: > > That is the cardinal sin I was objecting to. The URI defines the Web > Service > > end point. It is opaque as far as the Web Service is concerned. > > > "The web service" is a little too squishy to have any concrete meaning. > > Do you mean to say that there is some value in identifying the > abstract thing that is "ACME of any version"? Even when that refers > to multiple, potentially incompatible things? I mean, yes, you can do > that. I don't see why you would take on that complexity burden when > "ACME of this particular version" is usually perfectly adequate. > The Web-Service-End-Point is the URL at which the Web Service is delivered. It is a very well defined concept in SOAP lore. There are three options: A) A single Web-Service-End-Point can support multiple versions of the protocol with the client engaging in a two step negotiation for protocol version [and features] 2) A single Web-Service-End-Point can support multiple versions of the protocol [the client might negotiate features though], different versions of the protocol being disambiguated by means of a Version identifier 3) We require that different versions of the protocol have different Web-Service-End-Points. I don't think anyone is keen on (1) or (2). Unfortunately (3) isn't something we can rely on. Consider the following scenario. There are two versions of the ACME protocol ACME1 and ACME2, presenting an ACME2 message to an ACME1 service permits a downgrade attack. So I think that what we end up having to do is to tell people to do (3) but design the protocol so bad things don't happen if they do (2). Even if we don't want to distinguish ACME protocol versions, there is the possibility that a signed ACME message gets injected into some other protocol that uses the same signature format. --001a1133b04a8eeb75050a97f229 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable


On Fri, Dec 19, 2014 at 3:29 PM, Martin Thomson <<= a href=3D"mailto:martin.thomson@gmail.com" target=3D"_blank">martin.thomson= @gmail.com> wrote:
On 19 December 2014 at 12:= 19, Phillip Hallam-Baker
<phill@hallamb= aker.com> wrote:
> That is the cardinal sin I was objecting to. The URI defines the Web S= ervice
> end point. It is opaque as far as the Web Service is concerned.


"The web service" is a little too squishy to have any conc= rete meaning.

Do you mean to say that there is some value in identifying the
abstract thing that is "ACME of any version"?=C2=A0 Even when tha= t refers
to multiple, potentially incompatible things?=C2=A0 I mean, yes, you can do=
that.=C2=A0 I don't see why you would take on that complexity burden wh= en
"ACME of this particular version" is usually perfectly adequate.<= br>

The Web-Service-End-Point is the URL at= which the Web Service is delivered. It is a very well defined concept in S= OAP lore.

There are three options:

<= /div>
A) A single Web-Service-End-Point=C2=A0can support multiple versi= ons of the protocol with the client engaging in a two step negotiation for = protocol version [and features]

2) A single Web-Se= rvice-End-Point=C2=A0can support multiple versions of the protocol [the cli= ent might negotiate features though], different versions of the protocol be= ing disambiguated by means of a Version identifier

3) We require that different versions of the protocol have different Web-S= ervice-End-Points.


I don't thin= k anyone is keen on (1) or (2).

Unfortunately (3) = isn't something we can rely on. Consider the following scenario.
<= div>
There are two versions of the ACME protocol ACME1 and AC= ME2, presenting an ACME2 message to an ACME1 service permits a downgrade at= tack.


So I think that what we end u= p having to do is to tell people to do (3) but design the protocol so bad t= hings don't happen if they do (2).

Even if we = don't want to distinguish ACME protocol versions, there is the possibil= ity that a signed ACME message gets injected into some other protocol that = uses the same signature format.






=C2= =A0
--001a1133b04a8eeb75050a97f229-- From nobody Fri Dec 19 15:33:44 2014 Return-Path: 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 49DCA1ACE53 for ; Fri, 19 Dec 2014 15:33:41 -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 1Zy1RnMA_doM for ; Fri, 19 Dec 2014 15:33:36 -0800 (PST) Received: from mail-ob0-x22d.google.com (mail-ob0-x22d.google.com [IPv6:2607:f8b0:4003:c01::22d]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 5823A1ACE4F for ; Fri, 19 Dec 2014 15:33:36 -0800 (PST) Received: by mail-ob0-f173.google.com with SMTP id uy5so14822382obc.4 for ; Fri, 19 Dec 2014 15:33:35 -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=7Bg+9usOvBthRfszZPBt6wln9+KZvzBf+LdVHC/0ZZk=; b=TsphH4hfD3fLI9d9S2cS9GfFJO6soQ63/c0xXwEYFVeHcbG2ftEXvk4x6ApzgvQY37 McYCqsCvKemHsnt1QX/LD3S6LOV5fd6g8AafbSq/xgnBa2bLi1qOxLErBdPFxM2WoK0i VVdYbk35U68NcZtQn7GmJDPlhZaJP3jpM6CqmFovTkZbN3wVLZIJXCiRjk2kokdcWmVJ h7ey4sTKUznxFFFGUpGYawhjuFZQ5S6E06XcIrGKzOHmCw53T+ynldzEs/tnhNmSLObJ foLPk8Moq3t2l24NM4jq/CsclTvxSXaWQRQgKO1vRIw8TJZFawYF6YPTY1qNMaYXkerk ALlA== MIME-Version: 1.0 X-Received: by 10.202.212.82 with SMTP id l79mr6024016oig.12.1419032015664; Fri, 19 Dec 2014 15:33:35 -0800 (PST) Received: by 10.202.49.203 with HTTP; Fri, 19 Dec 2014 15:33:35 -0800 (PST) In-Reply-To: References: <5492B595.6020605@gmail.com> <5493B286.4020001@gmail.com> <2A0EFB9C05D0164E98F19BB0AF3708C71D54F0FD67@USMBX1.msg.corp.akamai.com> <2A0EFB9C05D0164E98F19BB0AF3708C71D54F0FD6F@USMBX1.msg.corp.akamai.com> Date: Fri, 19 Dec 2014 15:33:35 -0800 Message-ID: From: Martin Thomson To: Phillip Hallam-Baker Content-Type: text/plain; charset=UTF-8 Archived-At: http://mailarchive.ietf.org/arch/msg/acme/x1BBJ-W879AsNt1AaN5JiYQYOr0 Cc: Richard Barnes , "Salz, Rich" , "acme@ietf.org" , Anders Rundgren Subject: Re: [Acme] Message Type/Version Identifiers X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 19 Dec 2014 23:33:42 -0000 On 19 December 2014 at 12:56, Phillip Hallam-Baker wrote: > Unfortunately (3) isn't something we can rely on. Consider the following > scenario. > > There are two versions of the ACME protocol ACME1 and ACME2, presenting an > ACME2 message to an ACME1 service permits a downgrade attack. I can certainly imagine a case where discovery was subverted in some fashion, causing the ACME2 client to send a message to an ACME1 endpoint. If it is the case that the ACME1 endpoint can somehow produce a response to that message that the ACME2 endpoint will happily consume, AND that the ACME1 endpoint consequently fails to take into account some ACME2 features. An attack might also require that the ACME2 client also subsequently consumes the ACME1 response. Yes, that is potentially possible, and we will need to ensure that this doesn't happen. A version parameter is one way to achieve that, yes. > Even if we don't want to distinguish ACME protocol versions, there is the possibility that a signed ACME message gets injected into some other protocol that uses the same signature format. Unambiguously identifying the purpose of the signed object within the object is probably good practice. That requires more than a mere version identifier. I'd prefer that approach. From nobody Fri Dec 19 15:39:57 2014 Return-Path: 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 9F78D1A87D2 for ; Fri, 19 Dec 2014 15:39:54 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.277 X-Spam-Level: X-Spam-Status: No, score=-1.277 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FM_FORGED_GMAIL=0.622, FREEMAIL_FROM=0.001, HTML_MESSAGE=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 r59fmvKNAM89 for ; Fri, 19 Dec 2014 15:39:53 -0800 (PST) Received: from mail-lb0-x22f.google.com (mail-lb0-x22f.google.com [IPv6:2a00:1450:4010:c04::22f]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id EF92B1A87C6 for ; Fri, 19 Dec 2014 15:39:52 -0800 (PST) Received: by mail-lb0-f175.google.com with SMTP id u10so1590913lbd.6 for ; Fri, 19 Dec 2014 15:39:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=Us9R3FNY/pjIMjJ06uA+rJSR28i41iDSoV5qweYr7bw=; b=i3oeCYpgVPGd8IxKdgEBRCmocYHd6PDsGhtb1kPV8cMWdPLe2DYE8t3z81IdHGu1hX j8V0f+QJLgyjsWwTZiceiiBNFNOd1MQRfe6aWf5uL6034ZDfVzZtbpoyR0pI7gECAZID S5a0lQArneo2UE0jzLODqgSiiXolVWo9afiulK24nRnEknIrxD3ZuDRBpGvG3+nXVs/W iLFoTKNYZAWOWw4FMpIKFnkBDD/5qAadIfkXln6JT+nO/BLRpB2cPEMG2yr/e84WcmIv xGHgVYmakbjGdD8pPgq82OzPhJMf4h4OW3wvbVm0nydBifhu4TAX8qdgN6CyOs9HPs5J eCsw== MIME-Version: 1.0 X-Received: by 10.112.162.226 with SMTP id yd2mr10321025lbb.1.1419032391200; Fri, 19 Dec 2014 15:39:51 -0800 (PST) Sender: hallam@gmail.com Received: by 10.112.19.42 with HTTP; Fri, 19 Dec 2014 15:39:50 -0800 (PST) In-Reply-To: References: <5492B595.6020605@gmail.com> <5493B286.4020001@gmail.com> <2A0EFB9C05D0164E98F19BB0AF3708C71D54F0FD67@USMBX1.msg.corp.akamai.com> <2A0EFB9C05D0164E98F19BB0AF3708C71D54F0FD6F@USMBX1.msg.corp.akamai.com> Date: Fri, 19 Dec 2014 18:39:50 -0500 X-Google-Sender-Auth: LDgRohzZ4NBayept7Q9Xm8zUm-I Message-ID: From: Phillip Hallam-Baker To: Martin Thomson Content-Type: multipart/alternative; boundary=089e0112c86c9a360e050a9a3933 Archived-At: http://mailarchive.ietf.org/arch/msg/acme/SEF0ecK_Bc5HqA0Hb_ueM-mhMo8 Cc: Richard Barnes , "Salz, Rich" , "acme@ietf.org" , Anders Rundgren Subject: Re: [Acme] Message Type/Version Identifiers X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 19 Dec 2014 23:39:54 -0000 --089e0112c86c9a360e050a9a3933 Content-Type: text/plain; charset=UTF-8 On Fri, Dec 19, 2014 at 6:33 PM, Martin Thomson wrote: > > On 19 December 2014 at 12:56, Phillip Hallam-Baker > wrote: > > Unfortunately (3) isn't something we can rely on. Consider the following > > scenario. > > > > There are two versions of the ACME protocol ACME1 and ACME2, presenting > an > > ACME2 message to an ACME1 service permits a downgrade attack. > > I can certainly imagine a case where discovery was subverted in some > fashion, causing the ACME2 client to send a message to an ACME1 > endpoint. If it is the case that the ACME1 endpoint can somehow > produce a response to that message that the ACME2 endpoint will > happily consume, AND that the ACME1 endpoint consequently fails to > take into account some ACME2 features. An attack might also require > that the ACME2 client also subsequently consumes the ACME1 response. > Yes, that is potentially possible, and we will need to ensure that > this doesn't happen. A version parameter is one way to achieve that, > yes. > > > Even if we don't want to distinguish ACME protocol versions, there is > the possibility that a signed ACME message gets injected into some other > protocol that uses the same signature format. > > Unambiguously identifying the purpose of the signed object within the > object is probably good practice. That requires more than a mere > version identifier. I'd prefer that approach. > I think conflating the version with the protocol identifier is the way to go. We should not need to do an incompatible change so there should not be a need for a major version number upgrade ever. If there is, an incompatible protocol should probably be considered a different one. BTW, we should capture this for reuse in other protocols. --089e0112c86c9a360e050a9a3933 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable


On Fri, Dec 19, 2014 at 6:33 PM, Martin Thomson <<= a href=3D"mailto:martin.thomson@gmail.com" target=3D"_blank">martin.thomson= @gmail.com> wrote:
On 19 Decemb= er 2014 at 12:56, Phillip Hallam-Baker
<phill@hallamb= aker.com> wrote:
> Unfortunately (3) isn't something we can rely on. Consider the fol= lowing
> scenario.
>
> There are two versions of the ACME protocol ACME1 and ACME2, presentin= g an
> ACME2 message to an ACME1 service permits a downgrade attack.

I can certainly imagine a case where discovery was subverted in some=
fashion, causing the ACME2 client to send a message to an ACME1
endpoint.=C2=A0 If it is the case that the ACME1 endpoint can somehow
produce a response to that message that the ACME2 endpoint will
happily consume, AND that the ACME1 endpoint consequently fails to
take into account some ACME2 features.=C2=A0 An attack might also require that the ACME2 client also subsequently consumes the ACME1 response.
Yes, that is potentially possible, and we will need to ensure that
this doesn't happen.=C2=A0 A version parameter is one way to achieve th= at,
yes.

> Even if we don't want to distinguish ACME protocol versions, there= is the possibility that a signed ACME message gets injected into some othe= r protocol that uses the same signature format.

Unambiguously identifying the purpose of the signed object within th= e
object is probably good practice.=C2=A0 That requires more than a mere
version identifier.=C2=A0 I'd prefer that approach.

I think conflating the version with the protocol identifie= r is the way to go. We should not need to do an incompatible change so ther= e should not be a need for a major version number upgrade ever. If there is= , an incompatible protocol should probably be considered a different one.

BTW, we should capture this for reuse in other prot= ocols.
=C2=A0
--089e0112c86c9a360e050a9a3933-- From nobody Fri Dec 19 16:26:09 2014 Return-Path: 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 494031ACE93 for ; Fri, 19 Dec 2014 16:26:06 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.977 X-Spam-Level: X-Spam-Status: No, score=-1.977 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7] 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 rC7agWkicyWz for ; Fri, 19 Dec 2014 16:26:02 -0800 (PST) Received: from mail-lb0-f169.google.com (mail-lb0-f169.google.com [209.85.217.169]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id E27601ACE90 for ; Fri, 19 Dec 2014 16:26:00 -0800 (PST) Received: by mail-lb0-f169.google.com with SMTP id p9so1657924lbv.0 for ; Fri, 19 Dec 2014 16:25:59 -0800 (PST) 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=+HNRI8ZwEBBuZJZqk+Y30Fe0zNNtf/lvP2EUYJ0E/SU=; b=jIwLXu4X9WCz7UX/gYxmnF3fpiL34E7XJx/llagBkfTuShqlqdelokD3d4L9EngDrm t3dJeoT5xFmdbg7Hz1evejrd4FMbji4rKM/s+qukBAHcA1HU/5hfs7liqO5V/SIyrNTw VQI23jLSsy1sDbKEMTYnbtJlpUIj0cLaPjZzYw0tVXKJalxzeJR4aEcUZo+5pc8L78ke bY0Kcn2NhauXYgdr9Wa7gdznneaVgjyC2fC5UxH17hH8Wd10xY4cq5vnKbtxhtryRxZ5 i5ycB2lC1Ol+KFJVTYrlQ90SOoVwmIN7NmKf9sIao1AVqOyfmcvsNICFC2eIeluG13PC ZhcA== X-Gm-Message-State: ALoCoQmx+E9ZU5GckvXMdn0iQvITQGFFGCOw9PFlPomVYq5gJmAgBH8pPAGBgu4UE3/73NrpRoEQ MIME-Version: 1.0 X-Received: by 10.152.2.165 with SMTP id 5mr10467312lav.40.1419035159096; Fri, 19 Dec 2014 16:25:59 -0800 (PST) Received: by 10.25.12.215 with HTTP; Fri, 19 Dec 2014 16:25:59 -0800 (PST) In-Reply-To: References: Date: Fri, 19 Dec 2014 19:25:59 -0500 Message-ID: From: Richard Barnes To: Tony Arcieri Content-Type: multipart/alternative; boundary=089e01229ba29523b8050a9ade7b Archived-At: http://mailarchive.ietf.org/arch/msg/acme/WGnQKb-HfNfmGmKuquXojJHiUE4 Cc: "acme@ietf.org" Subject: Re: [Acme] Threat model for claiming domains X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 20 Dec 2014 00:26:06 -0000 --089e01229ba29523b8050a9ade7b Content-Type: text/plain; charset=UTF-8 Hey Tony, I just got around to thinking about this for a moment. Obviously, our baseline here should be whatever the CAs are doing today, since we have empirical evidence that those methods are more or less OK. I did a quick and dirty empirical survey of the top few CAs this afternoon: https://docs.google.com/a/ipv.sx/document/d/1KVKIS6abA2KL-yHvFsMql6U3qUjVhgO6p19Hzci0vQo/edit?usp=sharing For the most part, they rely on sending an email to either the registered WHOIS contact, or something like admin@domain. GlobalSign supports validation based on a DNS record or a tag in index.html. With regard to your concern about services colocated on the same IP (presumably for simpleHttps and DVSNI validation): This seems to mostly be addressed by not allowing the ACME client to specify the port that the ACME server connects to. That means that the attacker has to control not only something on the box, but the default port for HTTP or HTTPS. If that's not the case, normal routing based on the Host header or SNI should ensure that the validation request goes to the right place. Nonetheless, I agree that more analysis would be useful, across all the validation methods. --Richard On Mon, Dec 1, 2014 at 7:33 PM, Tony Arcieri wrote: > > Is there a published threat model for claiming domains? I haven't been > able to find it, but I'd certainly like to read it! > > If we simply accept a service running on the same IP that a given DNS name > points to, there seems ample opportunity to register certificates for > services colocated on the same IP. > > -- > Tony Arcieri > > _______________________________________________ > Acme mailing list > Acme@ietf.org > https://www.ietf.org/mailman/listinfo/acme > > --089e01229ba29523b8050a9ade7b Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hey Tony,

I just got around to thinking= about this for a moment.=C2=A0 Obviously, our baseline here should be what= ever the CAs are doing today, since we have empirical evidence that those m= ethods are more or less OK.=C2=A0 I did a quick and dirty empirical survey = of the top few CAs this afternoon:

https://docs.google.com/a/ipv.sx/document/d/1= KVKIS6abA2KL-yHvFsMql6U3qUjVhgO6p19Hzci0vQo/edit?usp=3Dsharing

For the most part, they rely on sending an email to ei= ther the registered WHOIS contact, or something like admin@domain. =C2=A0Gl= obalSign supports validation based on a DNS record or a <meta> tag in= index.html.

With regard to your concern about ser= vices colocated on the same IP (presumably for simpleHttps and DVSNI valida= tion): This seems to mostly be addressed by not allowing the ACME client to= specify the port that the ACME server connects to.=C2=A0 That means that t= he attacker has to control not only something on the box, but the default p= ort for HTTP or HTTPS.=C2=A0 If that's not the case, normal routing bas= ed on the Host header or SNI should ensure that the validation request goes= to the right place.

Nonetheless, I agree that mor= e analysis would be useful, across all the validation methods.
--Richard


On Mon, Dec 1, 2014 at 7:33 PM, Tony Arcier= i <bascule@gmail.com> wrote:
<= div dir=3D"ltr">Is there a published threat model for claiming domains? I h= aven't been able to find it, but I'd certainly like to read it!
If we simply accept a service running on the same IP that a= given DNS name points to, there seems ample opportunity to register certif= icates for services colocated on the same IP.

--
Tony Arcieri<= br>

_______________________________________________
Acme mailing list
Acme@ietf.org
ht= tps://www.ietf.org/mailman/listinfo/acme

--089e01229ba29523b8050a9ade7b-- From nobody Fri Dec 19 16:27:11 2014 Return-Path: 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 A1E601ACE97 for ; Fri, 19 Dec 2014 16:27:09 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.977 X-Spam-Level: X-Spam-Status: No, score=-1.977 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7] 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 sTekFkLwIRd8 for ; Fri, 19 Dec 2014 16:27:08 -0800 (PST) Received: from mail-la0-f45.google.com (mail-la0-f45.google.com [209.85.215.45]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id C48451ACE80 for ; Fri, 19 Dec 2014 16:27:07 -0800 (PST) Received: by mail-la0-f45.google.com with SMTP id gq15so1695951lab.32 for ; Fri, 19 Dec 2014 16:27:06 -0800 (PST) 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=G3KSv9D80FhuD+78/rxa+/d4lr1ESOm/nlNtb8DOo6Y=; b=PpALXD7tJjlLwuDNAILTSRvoXM07ESy5L+BiShOrbNprYABIIT/D53JsYi1lkH5++j E9YWEAcZ2MT+Y74CvTiA5i02gVXcNDiQFIqLQNHb91wIONmbcIa8385symCDoH3fd5JT tOWanzbYti12XLY+gxYFoQR3QT9mUzVsbvoDIuR5+C3LP4jdF87XGmwimvMOkCODEGeo ESqrDqQzRjWdHsdfJdplJmty+vsDqGhIBI4aaFxQ2205GsVPF9ugggOuGrs+q7BWfVea GOvQxN9Wmdio1Vj17EBCbqxPGBUwg79GWb8GJnFc4fLf1wQ7yZyKzvFikvUPiuzJXX8I VB4g== X-Gm-Message-State: ALoCoQl7pH1n4z7rV0CRWspNl57OGfsTrPzZiktLDnrjs3yGFrMai6nFwoTe4d1rZlfWRro7ooxS MIME-Version: 1.0 X-Received: by 10.152.5.67 with SMTP id q3mr10337279laq.73.1419035226171; Fri, 19 Dec 2014 16:27:06 -0800 (PST) Received: by 10.25.12.215 with HTTP; Fri, 19 Dec 2014 16:27:06 -0800 (PST) In-Reply-To: References: <5492B595.6020605@gmail.com> <5493B286.4020001@gmail.com> <2A0EFB9C05D0164E98F19BB0AF3708C71D54F0FD67@USMBX1.msg.corp.akamai.com> <2A0EFB9C05D0164E98F19BB0AF3708C71D54F0FD6F@USMBX1.msg.corp.akamai.com> Date: Fri, 19 Dec 2014 19:27:06 -0500 Message-ID: From: Richard Barnes To: Martin Thomson Content-Type: multipart/alternative; boundary=089e013d1734947e05050a9ae2c5 Archived-At: http://mailarchive.ietf.org/arch/msg/acme/n3sgTjhPnqXyAfo0-vww4EFUtvQ Cc: "Salz, Rich" , Phillip Hallam-Baker , "acme@ietf.org" , Anders Rundgren Subject: Re: [Acme] Message Type/Version Identifiers X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 20 Dec 2014 00:27:09 -0000 --089e013d1734947e05050a9ae2c5 Content-Type: text/plain; charset=UTF-8 On Fri, Dec 19, 2014 at 6:33 PM, Martin Thomson wrote: > > On 19 December 2014 at 12:56, Phillip Hallam-Baker > wrote: > > Unfortunately (3) isn't something we can rely on. Consider the following > > scenario. > > > > There are two versions of the ACME protocol ACME1 and ACME2, presenting > an > > ACME2 message to an ACME1 service permits a downgrade attack. > > I can certainly imagine a case where discovery was subverted in some > fashion, causing the ACME2 client to send a message to an ACME1 > endpoint. If it is the case that the ACME1 endpoint can somehow > produce a response to that message that the ACME2 endpoint will > happily consume, AND that the ACME1 endpoint consequently fails to > take into account some ACME2 features. An attack might also require > that the ACME2 client also subsequently consumes the ACME1 response. > Yes, that is potentially possible, and we will need to ensure that > this doesn't happen. A version parameter is one way to achieve that, > yes. > > > Even if we don't want to distinguish ACME protocol versions, there is > the possibility that a signed ACME message gets injected into some other > protocol that uses the same signature format. > > Unambiguously identifying the purpose of the signed object within the > object is probably good practice. That requires more than a mere > version identifier. I'd prefer that approach. > "cty": "acme+json" --089e013d1734947e05050a9ae2c5 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable


On Fri, Dec 19, 2014 at 6:33 PM, Martin Thomson <<= a href=3D"mailto:martin.thomson@gmail.com" target=3D"_blank">martin.thomson= @gmail.com> wrote:
On 19 Decemb= er 2014 at 12:56, Phillip Hallam-Baker
<phill@hallamb= aker.com> wrote:
> Unfortunately (3) isn't something we can rely on. Consider the fol= lowing
> scenario.
>
> There are two versions of the ACME protocol ACME1 and ACME2, presentin= g an
> ACME2 message to an ACME1 service permits a downgrade attack.

I can certainly imagine a case where discovery was subverted in some=
fashion, causing the ACME2 client to send a message to an ACME1
endpoint.=C2=A0 If it is the case that the ACME1 endpoint can somehow
produce a response to that message that the ACME2 endpoint will
happily consume, AND that the ACME1 endpoint consequently fails to
take into account some ACME2 features.=C2=A0 An attack might also require that the ACME2 client also subsequently consumes the ACME1 response.
Yes, that is potentially possible, and we will need to ensure that
this doesn't happen.=C2=A0 A version parameter is one way to achieve th= at,
yes.

> Even if we don't want to distinguish ACME protocol versions, there= is the possibility that a signed ACME message gets injected into some othe= r protocol that uses the same signature format.

Unambiguously identifying the purpose of the signed object within th= e
object is probably good practice.=C2=A0 That requires more than a mere
version identifier.=C2=A0 I'd prefer that approach.

"cty": "acme+json"=C2=A0
--089e013d1734947e05050a9ae2c5-- From nobody Fri Dec 19 16:35:34 2014 Return-Path: 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 6B0C51A8A10 for ; Fri, 19 Dec 2014 16:35:33 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.977 X-Spam-Level: X-Spam-Status: No, score=-1.977 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7] 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 MZzg40dP-LZl for ; Fri, 19 Dec 2014 16:35:31 -0800 (PST) Received: from mail-lb0-f182.google.com (mail-lb0-f182.google.com [209.85.217.182]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id CA38A1A875E for ; Fri, 19 Dec 2014 16:35:30 -0800 (PST) Received: by mail-lb0-f182.google.com with SMTP id f15so1805247lbj.27 for ; Fri, 19 Dec 2014 16:35:29 -0800 (PST) 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=GZD7U0QKI/skWpQeBTIr/KFpOIDjK1i9lVqi7dRObAw=; b=F/EtzVCW2SM8E3XLXw1Y4Hr5d6K5mAW0UfcEMNPBsHwwS2WQT+OfMIHQAv91Xclz8n MAWzWWZ+dfI51m94FBMPsRP73z3A6C2+MbvVcDkR3XiZT2hHr7r68+trq7KaYVZTRZwA hgigCWT273wlFrMMMdyn/znSB32zw9p51XafOvs6LSXqR8/vh/knjVwymxQKH5Uqs9PO yl+rFWe1/GYpCvOToIm5zMvip7wtUzWnLvrETTPdl0bTveOUVCEefpQvz5GWj70i0po9 kv6dRvnP1J6cJ2x3U195DOtw2zYcYbzjMAMTPX99y8e64y73bdkmA1sStVkVqsOY/ajy CUvg== X-Gm-Message-State: ALoCoQm3ad78JytcKDBchN+RNmzm9epSSl/nkpPKqvXffxoGu9DUstZQ0yRJlyiIlOlhQ8Mczw2J MIME-Version: 1.0 X-Received: by 10.152.26.201 with SMTP id n9mr10594541lag.50.1419035729302; Fri, 19 Dec 2014 16:35:29 -0800 (PST) Received: by 10.25.12.215 with HTTP; Fri, 19 Dec 2014 16:35:29 -0800 (PST) In-Reply-To: <5494AE04.6070207@digitalbazaar.com> References: <5494AE04.6070207@digitalbazaar.com> Date: Fri, 19 Dec 2014 19:35:29 -0500 Message-ID: From: Richard Barnes To: Manu Sporny Content-Type: multipart/alternative; boundary=089e0160a70691ae68050a9b007b Archived-At: http://mailarchive.ietf.org/arch/msg/acme/xrZJQnkaVPRa3oQxquU-oWEqQn4 Cc: Phillip Hallam-Baker , ACME Subject: Re: [Acme] Signing HTTP Messages X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 20 Dec 2014 00:35:33 -0000 --089e0160a70691ae68050a9b007b Content-Type: text/plain; charset=UTF-8 Hey Manu, Thanks for reaching out. Just so the context is clear, there's nothing in ACME currently that uses an HTTP header to convey a signature structure. It's all in the body. The draft-cavage- document had been pointed out to me before. It's too ambitious :) That draft tries to solve the problem of signing an HTTP message. That's a fiendishly difficult problem because it involves headers, whose complicated, ambiguous syntax is inimical to signing. Also, middleboxes routinely tamper with headers. All I want is to sign the body of the message. HTTP treats the body as an octet string, which means there's no c14n issues. And middleboxes tamper with bodies much less often. Also, the draft-cavage- document invents its own signature syntax, when it should just use JWS. So my proposal was: Start with a Content-Signature header that just has a JWS covering the body. In some cases that's all you want, and it's a more tractable problem than covering HTTP messages as a whole. Then, if you want to protect HTTP headers later, you can add a signed attribute to the JWS (e.g., digest(canonicalized-header-info)). Does that make sense? Is that at all relevant to your use cases? --Richard On Fri, Dec 19, 2014 at 6:00 PM, Manu Sporny wrote: > > > I like the idea of using a header like container for the signature. > > It makes good architectural sense and it is easy to code. A signature > > is logically meta-data and so it should be expressed as a header. > > Hey Phillip, Richard, > > I'm not on the ACME mailing list, nor do I have the bandwidth to follow > the ACME discussions (even though I love what you guys are doing over > there) but what you two are talking about here: > > http://www.ietf.org/mail-archive/web/acme/current/msg00125.html > > Sounds an awful lot like this (which has existed for years): > > http://tools.ietf.org/html/draft-cavage-http-signatures-03 > > I might be missing something, but saw your conversation fly by and > thought I'd mention it. > > -- manu > > -- > Manu Sporny (skype: msporny, twitter: manusporny, G+: +Manu Sporny) > Founder/CEO - Digital Bazaar, Inc. > blog: High-Stakes Credentials and Web Login > http://manu.sporny.org/2014/identity-credentials/ > --089e0160a70691ae68050a9b007b Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hey Manu,

Thanks for reaching out.=C2= =A0 Just so the context is clear, there's nothing in ACME currently tha= t uses an HTTP header to convey a signature structure.=C2=A0 It's all i= n the body.

The draft-cavage- document had been po= inted out to me before.=C2=A0 It's too ambitious :) =C2=A0That draft tr= ies to solve the problem of signing an HTTP message.=C2=A0 That's a fie= ndishly difficult problem because it involves headers, whose complicated, a= mbiguous syntax is inimical to signing.=C2=A0 Also, middleboxes routinely t= amper with headers.

All I want is to sign the body= of the message.=C2=A0 HTTP treats the body as an octet string, which means= there's no c14n issues.=C2=A0 And middleboxes tamper with bodies much = less often.

Also, the draft-cavage- document inven= ts its own signature syntax, when it should just use JWS.

So my proposal was: Start with a Content-Signature header that just= has a JWS covering the body.=C2=A0 In some cases that's all you want, = and it's a more tractable problem than covering HTTP messages as a whol= e.=C2=A0 Then, if you want to protect HTTP headers later, you can add a sig= ned attribute to the JWS (e.g., digest(canonicalized-header-info)).

Does that make sense? =C2=A0 Is that at all relevant to y= our use cases?

--Richard

=


On Fri, Dec 19, 2014 at 6:00 PM, Manu Sporny <msporn= y@digitalbazaar.com> wrote:
>= ; I like the idea of using a header like container for the signature.
> It makes good architectural sense and it is easy to code. A signature<= br> > is logically meta-data and so it should be expressed as a header.

Hey Phillip, Richard,

I'm not on the ACME mailing list, nor do I have the bandwidth to follow=
the ACME discussions (even though I love what you guys are doing over
there) but what you two are talking about here:

http://www.ietf.org/mail-archive/web/acme/current/msg001= 25.html

Sounds an awful lot like this (which has existed for years):

http://tools.ietf.org/html/draft-cavage-http-signatures-03

I might be missing something, but saw your conversation fly by and
thought I'd mention it.

-- manu

--
Manu Sporny (skype: msporny, twitter: manusporny, G+: +Manu Sporny)
Founder/CEO - Digital Bazaar, Inc.
blog: High-Stakes Credentials and Web Login
http://manu.sporny.org/2014/identity-credentials/
--089e0160a70691ae68050a9b007b-- From nobody Sat Dec 20 09:32:15 2014 Return-Path: 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 5CF211AC3DF for ; Sat, 20 Dec 2014 09:32:14 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.977 X-Spam-Level: X-Spam-Status: No, score=-1.977 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7] 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 cfpQBUmZzdtt for ; Sat, 20 Dec 2014 09:32:10 -0800 (PST) Received: from mail-lb0-f180.google.com (mail-lb0-f180.google.com [209.85.217.180]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 130F21A8A55 for ; Sat, 20 Dec 2014 09:32:10 -0800 (PST) Received: by mail-lb0-f180.google.com with SMTP id l4so2206204lbv.25 for ; Sat, 20 Dec 2014 09:32:08 -0800 (PST) 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=0z1AZu8N96nK8FaTH3QpTLAsuVfBFSMPhWpjBZCNmcE=; b=bfRAfunrssZ5v+56ZIMlHW5vt44N5QfSDvWC4D3y/rQvmYaBfmRQbN+vv9UMM3WYPw b+/acGEA3rqoc7HdhV7Slc33CC0BXLhNu1CKassUvUlT0nEjs7KCbq8EVNUFy+G+DEUn Yfr4IMSu9zu39xXYpES00bxh1WjzabdEmOmE1RlKd05QUdKz+vWd61FzyrVZCQa9/TrJ eV8/VjvAiCfC8FkehUZk6MEIZBYWS34dm7Jmsi5ZR7I38lPdCT7NN+xeaKhxgZosXk6b WbXeklfQ3GJ0Nvcu7wdImbOfxRaaYQ4B471FBbkJW26Bqn+ok034y+fyFOSqMGpCqe0S WGEg== X-Gm-Message-State: ALoCoQkBpJXtGQY8Nl/RuDWwnHdZAqQoEm73xq9TVztiT5feS06Cbr4tfOnYu1COqfKKpvlc1NX/ MIME-Version: 1.0 X-Received: by 10.152.26.201 with SMTP id n9mr13784327lag.50.1419096728506; Sat, 20 Dec 2014 09:32:08 -0800 (PST) Received: by 10.25.12.215 with HTTP; Sat, 20 Dec 2014 09:32:08 -0800 (PST) In-Reply-To: <5494E2A6.3020508@digitalbazaar.com> References: <5494AE04.6070207@digitalbazaar.com> <5494E2A6.3020508@digitalbazaar.com> Date: Sat, 20 Dec 2014 12:32:08 -0500 Message-ID: From: Richard Barnes To: Manu Sporny Content-Type: multipart/alternative; boundary=089e0160a70667a970050aa9343b Archived-At: http://mailarchive.ietf.org/arch/msg/acme/4yxjvBxdp1EwQ8eOpO_T_-kVG7E Cc: Phillip Hallam-Baker , ACME Subject: Re: [Acme] Signing HTTP Messages X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 20 Dec 2014 17:32:14 -0000 --089e0160a70667a970050aa9343b Content-Type: text/plain; charset=UTF-8 On Fri, Dec 19, 2014 at 9:44 PM, Manu Sporny wrote: > > On 12/19/2014 07:35 PM, Richard Barnes wrote: > > Thanks for reaching out. Just so the context is clear, there's > > nothing in ACME currently that uses an HTTP header to convey a > > signature structure. It's all in the body. > > Good to know. My assumption was that ACME is being built on top of JOSE. > > > The draft-cavage- document had been pointed out to me before. It's > > too ambitious :) > > Haha, we were trying to do something sensible, not ambitious. :) > > > That draft tries to solve the problem of signing an HTTP message. > > That's a fiendishly difficult problem because it involves headers, > > whose complicated, ambiguous syntax is inimical to signing. Also, > > middleboxes routinely tamper with headers. > > Yes, both rabbit-holes were taken into account when designing the spec. > Just to be clear, we're not trying to sign /all/ HTTP headers in a > message, the sender gets to pick which headers to sign, the server gets > to decide whether or not that's good enough for the type of request. > > The developer can choose specific headers that don't have ambiguous > syntax and ones that middleboxes are most likely not to modify. > > I think we address these two concerns in the "Signing HTTP Messages" > spec as best we can. > > > All I want is to sign the body of the message. HTTP treats the body > > as an octet string, which means there's no c14n issues. And > > middleboxes tamper with bodies much less often. > > I think you can do this easily with the Signing HTTP Messages spec. Just > digitally sign the Digest header (along with a few others to prevent > replay attacks if doing so is important to the use case). > > There's an example of doing this in this section: > > https://tools.ietf.org/html/draft-cavage-http-signatures-03#section-3.1.2 > > > Also, the draft-cavage- document invents its own signature syntax, > > when it should just use JWS. > > What do you mean by "signature syntax"? Do you mean "the way the bytes > are constructed in order to sign them"? > > The normative bits of the Signing HTTP Messages spec are roughly 5 pages > in length vs. the 50+ pages in JWS. It didn't seem necessary to pull in > all that unnecessary bloat just for signature string construction. > > It's true that maybe the length of the JWS spec is due to necessary > security precautions that the Signing HTTP Messages spec overlooks, but > if it does overlook something, we're not aware of it. > > Happy to be convinced otherwise, but I'd rather not expose implementers > to JWS or JOSE in general. > > > So my proposal was: Start with a Content-Signature header that just > > has a JWS covering the body. > > Sounds like a good idea. I think you could simplify it further and make > it easier to implement. > > > In some cases that's all you want, and it's a more tractable problem > > than covering HTTP messages as a whole. > > I think you may not quite understand what we're trying to do w/ that > spec. Or, I don't understand the nuance that you're getting at. Either > way, we're miscommunicating. :) > > > Then, if you want to protect HTTP headers later, you can add a > > signed attribute to the JWS (e.g., > > digest(canonicalized-header-info)). > > > > Does that make sense? Is that at all relevant to your use cases? > > What you're trying to do certainly makes sense, and if you want to use > JWS to solve the problem, I guess you could do that. I still hold that > the Signing HTTP Messages spec sounds like it could solve your problem > in a much simpler way. For example, here's what a full solution might > look like: > > --------------------- > POST /foo HTTP/1.1 > Host: example.org > Date: Tue, 07 Jun 2014 20:51:35 GMT > Content-Type: application/json > Digest: SHA-256=X48E9qOokqqrvdts8n...yWxBf7kbu9DBPE= > Signature: keyId="Test",algorithm="rsa-sha256", > headers="(request-target) host date digest content-length", > signature="jgSqYK0yKclIHfF9zdA...NqNyAXKdxZZItOuhIs78w=" > Content-Length: 18 > > {"hello": "world"} > --------------------- > Just for context, here's the equivalent using JWS and protecting only the body: --------------------- POST /foo HTTP/1.1 Host: example.org Date: Tue, 07 Jun 2014 20:51:35 GMT Content-Type: application/json Digest: SHA-256=X48E9qOokqqrvdts8n...yWxBf7kbu9DBPE= Content-Signature: { "header": { "kid": "Test", "alg": "RS256" }, "signature": "jgSq...78w" } Content-Length: 18 {"hello": "world"} --------------------- Note that using JWS means that I can just toss the header into JSON.parse(), whereas your construction requires custom parsing. And if I have a JOSE library already on hand (of which there are currently a non-trivial number), I can just toss the whole thing in there and call Verify(). Also, one thing I like about JWS is that you can make it self-verifying. That is, you can replace the key ID ("kid") with the actual public key ("jwk"), so the verifier can just go ahead and verify without any pre-provisioning of key IDs. You can also include metadata like certs. (Yes, that starts to make the header a little big. Deployment consideration :) ) I wouldn't overestimate the complexity of JWS. Lines of code is a better metric than lines of spec. It took me a couple of hours to write a JWS library in Go; signing and verification take ~110 lines, most of which is just algorithm mux/demux. https://github.com/bifurcation/gose/blob/master/jws.go#L139 Finally, if you want to protect headers, you can add a protected header to the above to bind in the header string by reference: --------------------- { "header": { "kid": "Test", "alg": "RS256" }, "protected": base64({ "header": { "fields": "(request-target) host date digest content-length", "sha256": "KCBeV_VF5cEzgjY1cNEAkalw94mJwxtXdz874aRUbRM" }) "signature": "jgSq...78w" } --------------------- ... where the "sha256" field is the SHA-256 digest of the header string. Is this making any more sense? Basically: Use libraries and scale the complexity to the problem. --Richard > Thoughts? > > -- manu > > -- > Manu Sporny (skype: msporny, twitter: manusporny, G+: +Manu Sporny) > Founder/CEO - Digital Bazaar, Inc. > blog: The Marathonic Dawn of Web Payments > http://manu.sporny.org/2014/dawn-of-web-payments/ > --089e0160a70667a970050aa9343b Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable


On Fri, Dec 19, 2014 at 9:44 PM, Manu Sporny <msporny@digitalb= azaar.com> wrote:
On 12/19/2= 014 07:35 PM, Richard Barnes wrote:
> Thanks for reaching out.=C2=A0 Just so the context is clear, there'= ;s
> nothing in ACME currently that uses an HTTP header to convey a
> signature structure.=C2=A0 It's all in the body.

Good to know. My assumption was that ACME is being built on top of J= OSE.

> The draft-cavage- document had been pointed out to me before.=C2=A0 It= 's
> too ambitious :)

Haha, we were trying to do something sensible, not ambitious. :)

> That draft tries to solve the problem of signing an HTTP message.
> That's a fiendishly difficult problem because it involves headers,=
> whose complicated, ambiguous syntax is inimical to signing. Also,
> middleboxes routinely tamper with headers.

Yes, both rabbit-holes were taken into account when designing the sp= ec.
Just to be clear, we're not trying to sign /all/ HTTP headers in a
message, the sender gets to pick which headers to sign, the server gets
to decide whether or not that's good enough for the type of request.
The developer can choose specific headers that don't have ambiguous
syntax and ones that middleboxes are most likely not to modify.

I think we address these two concerns in the "Signing HTTP Messages&qu= ot;
spec as best we can.

> All I want is to sign the body of the message.=C2=A0 HTTP treats the b= ody
> as an octet string, which means there's no c14n issues.=C2=A0 And<= br> > middleboxes tamper with bodies much less often.

I think you can do this easily with the Signing HTTP Messages spec. = Just
digitally sign the Digest header (along with a few others to prevent
replay attacks if doing so is important to the use case).

There's an example of doing this in this section:

https://tools.ietf.org/html/draft-cavage-http-= signatures-03#section-3.1.2

> Also, the draft-cavage- document invents its own signature syntax,
> when it should just use JWS.

What do you mean by "signature syntax"? Do you mean "= the way the bytes
are constructed in order to sign them"?

The normative bits of the Signing HTTP Messages spec are roughly 5 pages in length vs. the 50+ pages in JWS. It didn't seem necessary to pull in=
all that unnecessary bloat just for signature string construction.

It's true that maybe the length of the JWS spec is due to necessary
security precautions that the Signing HTTP Messages spec overlooks, but
if it does overlook something, we're not aware of it.

Happy to be convinced otherwise, but I'd rather not expose implementers=
to JWS or JOSE in general.

> So my proposal was: Start with a Content-Signature header that just > has a JWS covering the body.

Sounds like a good idea. I think you could simplify it further and m= ake
it easier to implement.

> In some cases that's all you want, and it's a more tractable p= roblem
> than covering HTTP messages as a whole.

I think you may not quite understand what we're trying to do w/ = that
spec. Or, I don't understand the nuance that you're getting at. Eit= her
way, we're miscommunicating. :)

> Then, if you want to protect HTTP headers later, you can add a
> signed attribute to the JWS (e.g.,
> digest(canonicalized-header-info)).
>
> Does that make sense?=C2=A0 =C2=A0Is that at all relevant to your use = cases?

What you're trying to do certainly makes sense, and if you want = to use
JWS to solve the problem, I guess you could do that. I still hold that
the Signing HTTP Messages spec sounds like it could solve your problem
in a much simpler way. For example, here's what a full solution might look like:

---------------------
POST /foo HTTP/1.1
Host: example.org
Date: Tue, 07 Jun 2014 20:51:35 GMT
Content-Type: application/json
Digest: SHA-256=3DX48E9qOokqqrvdts8n...yWxBf7kbu9DBPE=3D
Signature: keyId=3D"Test",algorithm=3D"rsa-sha256",
=C2=A0 headers=3D"(request-target) host date digest content-length&quo= t;,
=C2=A0 signature=3D"jgSqYK0yKclIHfF9zdA...NqNyAXKdxZZItOuhIs78w=3D&quo= t;
Content-Length: 18

{"hello": "world"}
---------------------


Ju= st for context, here's the equivalent using JWS and protecting only the= body:

---------------------
POST /foo HTTP/1.1=
Host:=C2=A0example.or= g
Date: Tue, 07 Jun 2014 20:51:35 GMT
Content-Type: application/j= son
Digest: SHA-256=3DX48E9qOokqqrvdts8n...yWxBf7kbu9DBPE=3D
Content-= Signature: { "header": { "kid": "Test", "= ;alg": "RS256" }, "signature": "jgSq...78w&qu= ot; }
Content-Length: 18

{"hello": "world&q= uot;}
---------------------

Note that using= JWS means that I can just toss the header into JSON.parse(), whereas your = construction requires custom parsing.=C2=A0 And if I have a JOSE library al= ready on hand (of which there are currently a non-trivial number), I can ju= st toss the whole thing in there and call Verify().

Also, one thing I like about JWS is that you can make it self-verifying.= =C2=A0 That is, you can replace the key ID ("kid") with the actua= l public key ("jwk"), so the verifier can just go ahead and verif= y without any pre-provisioning of key IDs.=C2=A0 You can also include metad= ata like certs. =C2=A0(Yes, that starts to make the header a little big.=C2= =A0 Deployment consideration :) ) =C2=A0

I wouldn&= #39;t overestimate the complexity of JWS.=C2=A0 Lines of code is a better m= etric than lines of spec.=C2=A0 It took me a couple of hours to write a JWS= library in Go; signing and verification take ~110 lines, most of which is = just algorithm mux/demux.

Finally, if you want to = protect headers, you can add a protected header to the above to bind in the= header string by reference:

---------------------
<= div class=3D"gmail_quote">{
=C2=A0 "he= ader": { "kid": "Test", "alg": "RS2= 56" },=C2=A0
=C2=A0 "protected&qu= ot;: base64({
=C2=A0 =C2=A0 "header&qu= ot;: {
=C2=A0 =C2=A0 =C2=A0 "fields&qu= ot;: "(request-target) host date digest content-length",
=C2=A0 =C2=A0 =C2=A0 "sha256": "KCBe= V_VF5cEzgjY1cNEAkalw94mJwxtXdz874aRUbRM"
=C2=A0 })
=C2=A0= "signature": "jgSq...78w"
}
---------------------

... where the "sha256" field is the SHA-256 dig= est of the header string.

Is this making any more = sense?=C2=A0 Basically: Use libraries and scale the complexity to the probl= em.

--Richard

=C2=A0
Thoughts?

-- manu

--
Manu Sporny (skype: msporny, twitter: manusporny, G+: +Manu Sporny)
Founder/CEO - Digital Bazaar, Inc.
blog: The Marathonic Dawn of Web Payments
http://manu.sporny.org/2014/dawn-of-web-payments/
--089e0160a70667a970050aa9343b-- From nobody Mon Dec 22 02:43:41 2014 Return-Path: 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 D2CE01A8A5A for ; Mon, 22 Dec 2014 02:43:28 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: 0.8 X-Spam-Level: X-Spam-Status: No, score=0.8 tagged_above=-999 required=5 tests=[BAYES_50=0.8] 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 pe-1loxyVf5w for ; Mon, 22 Dec 2014 02:43:17 -0800 (PST) Received: from mmextmx2.mcr.colo.comodoca.net (mmextmx2.mcr.colo.comodoca.net [IPv6:2a02:1788:402:c00::c0a8:9cd6]) (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 D33851A8A51 for ; Mon, 22 Dec 2014 02:43:10 -0800 (PST) Received: (qmail 17432 invoked by uid 1004); 22 Dec 2014 10:43:07 -0000 Received: from ian.brad.office.comodo.net (HELO ian.brad.office.comodo.net) (192.168.0.202) by mmextmx2.mcr.colo.comodoca.net (qpsmtpd/0.84) with ESMTP; Mon, 22 Dec 2014 10:43:07 +0000 Received: (qmail 20884 invoked by uid 1000); 22 Dec 2014 10:43:07 -0000 Received: from and0004.comodo.net (HELO [192.168.0.58]) (192.168.0.58) (smtp-auth username rob, mechanism plain) by ian.brad.office.comodo.net (qpsmtpd/0.40) with (AES128-SHA encrypted) ESMTPSA; Mon, 22 Dec 2014 10:43:07 +0000 Message-ID: <5497F5BB.9030002@comodo.com> Date: Mon, 22 Dec 2014 10:43:07 +0000 From: Rob Stradling User-Agent: Mozilla/5.0 (X11; Linux i686; rv:31.0) Gecko/20100101 Thunderbird/31.3.0 MIME-Version: 1.0 To: Richard Barnes References: In-Reply-To: Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Archived-At: http://mailarchive.ietf.org/arch/msg/acme/7mGFSC7vb2QoKJGnTjDSat1ChJM Cc: acme@ietf.org Subject: Re: [Acme] Threat model for claiming domains X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 22 Dec 2014 10:43:29 -0000 Hi Richard. This pdf has some more details on Comodo's other domain validation methods... https://secure.comodo.com/api/pdf/latest/Domain%20Control%20Validation.pdf On 20/12/14 00:25, Richard Barnes wrote: > Hey Tony, > > I just got around to thinking about this for a moment. Obviously, our > baseline here should be whatever the CAs are doing today, since we have > empirical evidence that those methods are more or less OK. I did a > quick and dirty empirical survey of the top few CAs this afternoon: > > https://docs.google.com/a/ipv.sx/document/d/1KVKIS6abA2KL-yHvFsMql6U3qUjVhgO6p19Hzci0vQo/edit?usp=sharing > > For the most part, they rely on sending an email to either the > registered WHOIS contact, or something like admin@domain. GlobalSign > supports validation based on a DNS record or a tag in index.html. > > With regard to your concern about services colocated on the same IP > (presumably for simpleHttps and DVSNI validation): This seems to mostly > be addressed by not allowing the ACME client to specify the port that > the ACME server connects to. That means that the attacker has to > control not only something on the box, but the default port for HTTP or > HTTPS. If that's not the case, normal routing based on the Host header > or SNI should ensure that the validation request goes to the right place. > > Nonetheless, I agree that more analysis would be useful, across all the > validation methods. > > --Richard > > > On Mon, Dec 1, 2014 at 7:33 PM, Tony Arcieri > wrote: > > Is there a published threat model for claiming domains? I haven't > been able to find it, but I'd certainly like to read it! > > If we simply accept a service running on the same IP that a given > DNS name points to, there seems ample opportunity to register > certificates for services colocated on the same IP. > > -- > Tony Arcieri -- Rob Stradling Senior Research & Development Scientist COMODO - Creating Trust Online From nobody Mon Dec 22 06:29:29 2014 Return-Path: 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 EAF231A8F4D for ; Mon, 22 Dec 2014 06:29:27 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.977 X-Spam-Level: X-Spam-Status: No, score=-1.977 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7] 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 PoIYHByY4E82 for ; Mon, 22 Dec 2014 06:29:25 -0800 (PST) Received: from mail-la0-f52.google.com (mail-la0-f52.google.com [209.85.215.52]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id ECA821A8F50 for ; Mon, 22 Dec 2014 06:29:24 -0800 (PST) Received: by mail-la0-f52.google.com with SMTP id hs14so4123416lab.11 for ; Mon, 22 Dec 2014 06:29:23 -0800 (PST) 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=U43w3cTIf1xwLbcLl538xs1dp6nkxLT8YvhR80AilB4=; b=glLArIvEDQRy7vuU0N3+zZgfa+Jwk8WrDPES45FO3MXPK9lL+wsz9u/A/R43tFuCly YiWh30U/PQpgtjp/N88T/bRsXtZt1e1laC7bW0kIDOBNPThd4uEhNG+oPFluslhT2uU5 sDzMtjPexB7qN01J9TDOYHd9O+mW0dwr5y7SkKssLzxznkL7XcVVFsVtz0GkF+cfYDfP sSrQxirnxpjkxZuilPa2dyCkSHilEMfpd8agvVp2EN3v7h1mWYV0maEUgPAjRFZUXxan +HGkF3dXITDVLWQ06mXPK9bD+UGsz2ZL5YyrA5hZbdAAT02q8TFqSpqMn79U5nPWMQop WWLg== X-Gm-Message-State: ALoCoQkcT63UuUV9ICn3nNZZxwa9Jdnsqdt2ZxvZcjOJzx8Y/B5UofgJKT8vm3qJu4kVKcg9sN1X MIME-Version: 1.0 X-Received: by 10.152.29.129 with SMTP id k1mr22601472lah.10.1419258563423; Mon, 22 Dec 2014 06:29:23 -0800 (PST) Received: by 10.25.12.215 with HTTP; Mon, 22 Dec 2014 06:29:23 -0800 (PST) In-Reply-To: <5497F5BB.9030002@comodo.com> References: <5497F5BB.9030002@comodo.com> Date: Mon, 22 Dec 2014 09:29:23 -0500 Message-ID: From: Richard Barnes To: Rob Stradling Content-Type: multipart/alternative; boundary=089e0160b7da848433050acee22f Archived-At: http://mailarchive.ietf.org/arch/msg/acme/gN1NxR4kmB3c9RT4ZIvZo1SBHKo Cc: "acme@ietf.org" Subject: Re: [Acme] Threat model for claiming domains X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 22 Dec 2014 14:29:28 -0000 --089e0160b7da848433050acee22f Content-Type: text/plain; charset=UTF-8 Hey Rob, Thanks for this. The HTTP one looks more or less as I would have expected. We should probably tighten up the ACME one to look more like it. With regard to the DNS validation: 1. Is there a reason you guys use CNAME instead of TXT? 2. W.r.t. using a subdomain vs. the name itself: When we wrote the current ACME spec, the thinking was that it might be possible for an applicant to provision a subdomain without being able to provision a record under the name itself. For example, with my Dreamhost hosting account, I can register any records I want under ".dreamhosters.com", but I can't provision under "dreamhosters.com". Are you accounting for this risk somehow? I notice that there are mentions of an API in that document. If you have other API documentation you could share, that could be useful. In particular, it would make it easier to make ACME something that you guys could transition to :) --Richard On Mon, Dec 22, 2014 at 5:43 AM, Rob Stradling wrote: > > Hi Richard. This pdf has some more details on Comodo's other domain > validation methods... > > https://secure.comodo.com/api/pdf/latest/Domain%20Control%20Validation.pdf > > On 20/12/14 00:25, Richard Barnes wrote: > >> Hey Tony, >> >> I just got around to thinking about this for a moment. Obviously, our >> baseline here should be whatever the CAs are doing today, since we have >> empirical evidence that those methods are more or less OK. I did a >> quick and dirty empirical survey of the top few CAs this afternoon: >> >> https://docs.google.com/a/ipv.sx/document/d/1KVKIS6abA2KL- >> yHvFsMql6U3qUjVhgO6p19Hzci0vQo/edit?usp=sharing >> >> For the most part, they rely on sending an email to either the >> registered WHOIS contact, or something like admin@domain. GlobalSign >> supports validation based on a DNS record or a tag in index.html. >> >> With regard to your concern about services colocated on the same IP >> (presumably for simpleHttps and DVSNI validation): This seems to mostly >> be addressed by not allowing the ACME client to specify the port that >> the ACME server connects to. That means that the attacker has to >> control not only something on the box, but the default port for HTTP or >> HTTPS. If that's not the case, normal routing based on the Host header >> or SNI should ensure that the validation request goes to the right place. >> >> Nonetheless, I agree that more analysis would be useful, across all the >> validation methods. >> >> --Richard >> >> >> On Mon, Dec 1, 2014 at 7:33 PM, Tony Arcieri > > wrote: >> >> Is there a published threat model for claiming domains? I haven't >> been able to find it, but I'd certainly like to read it! >> >> If we simply accept a service running on the same IP that a given >> DNS name points to, there seems ample opportunity to register >> certificates for services colocated on the same IP. >> >> -- >> Tony Arcieri >> > -- > Rob Stradling > Senior Research & Development Scientist > COMODO - Creating Trust Online > --089e0160b7da848433050acee22f Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hey Rob,

Thanks for this.=C2=A0 The HTT= P one looks more or less as I would have expected.=C2=A0 We should probably= tighten up the ACME one to look more like it.

Wit= h regard to the DNS validation:
1. Is there a reason you guys use= CNAME instead of TXT? =C2=A0
2. W.r.t. using a subdomain vs. the= name itself: When we wrote the current ACME spec, the thinking was that it= might be possible for an applicant to provision a subdomain without being = able to provision a record under the name itself.=C2=A0 For example, with m= y Dreamhost hosting account, I can register any records I want under "= <md5>.dreamhosters.com",= but I can't provision under "= dreamhosters.com".=C2=A0 Are you accounting for this risk somehow?=

I notice that there are mentions of an API in tha= t document.=C2=A0 If you have other API documentation you could share, that= could be useful.=C2=A0 In particular, it would make it easier to make ACME= something that you guys could transition to :)

--= Richard



On Mon, Dec 22, 2014 at 5:43 AM, Rob Stradl= ing <rob.stradling@comodo.com> wrote:
Hi Richard.=C2=A0 This pdf has some more details on Comodo&#= 39;s other domain validation methods...

https://secure.comodo.com/api/pdf/late= st/Domain%20Control%20Validation.pdf

On 20/12/14 00:25, Richard Barnes wrote:
Hey Tony,

I just got around to thinking about this for a moment.=C2=A0 Obviously, our=
baseline here should be whatever the CAs are doing today, since we have
empirical evidence that those methods are more or less OK.=C2=A0 I did a quick and dirty empirical survey of the top few CAs this afternoon:

https://docs= .google.com/a/ipv.sx/document/d/1KVKIS6abA2KL-yHvFsMql6U3qUjV= hgO6p19Hzci0vQo/edit?usp=3Dsharing

For the most part, they rely on sending an email to either the
registered WHOIS contact, or something like admin@domain.=C2=A0 GlobalSign<= br> supports validation based on a DNS record or a <meta> tag in index.ht= ml.

With regard to your concern about services colocated on the same IP
(presumably for simpleHttps and DVSNI validation): This seems to mostly
be addressed by not allowing the ACME client to specify the port that
the ACME server connects to.=C2=A0 That means that the attacker has to
control not only something on the box, but the default port for HTTP or
HTTPS.=C2=A0 If that's not the case, normal routing based on the Host h= eader
or SNI should ensure that the validation request goes to the right place.
Nonetheless, I agree that more analysis would be useful, across all the
validation methods.

--Richard


On Mon, Dec 1, 2014 at 7:33 PM, Tony Arcieri <bascule@gmail.com
<mailto:bascule@g= mail.com>> wrote:

=C2=A0 =C2=A0 Is there a published threat model for claiming domains? I hav= en't
=C2=A0 =C2=A0 been able to find it, but I'd certainly like to read it!<= br>
=C2=A0 =C2=A0 If we simply accept a service running on the same IP that a g= iven
=C2=A0 =C2=A0 DNS name points to, there seems ample opportunity to register=
=C2=A0 =C2=A0 certificates for services colocated on the same IP.

=C2=A0 =C2=A0 --
=C2=A0 =C2=A0 Tony Arcieri
--
Rob Stradling
Senior Research & Development Scientist
COMODO - Creating Trust Online
--089e0160b7da848433050acee22f-- From nobody Mon Dec 22 10:36:50 2014 Return-Path: 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 F25DB1A1A9A for ; Mon, 22 Dec 2014 10:36:47 -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 ohsSarG6anBJ for ; Mon, 22 Dec 2014 10:36:46 -0800 (PST) Received: from mail-pd0-x230.google.com (mail-pd0-x230.google.com [IPv6:2607:f8b0:400e:c02::230]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id E21B21A1B72 for ; Mon, 22 Dec 2014 10:36:41 -0800 (PST) Received: by mail-pd0-f176.google.com with SMTP id r10so6321305pdi.21 for ; Mon, 22 Dec 2014 10:36:40 -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=WltT00r/cAdh55g+NGnfOPtCayw858BPGQv7ecktQFQ=; b=B5wZPpS5MmMZnU3FvCVfOrzGPPxYkBcb9cAORz6YTLzRKxBXdCU9G8ZhpywUJ5vqrS 3mdvDADvZWfZQS4GGE4GzoaBptPRnthfmyJW1CsURvJvFZy979o7sDJmwsFQlRgmFTyk NzB/4Xpjg7siNek+baY6MrLDuWpG6dxrqLDLpZD6hS3vxG1dxA2y0RIg3FTW3JrRFLlh GdfLLN3Xhk0g7sd3QQhPgDv0pw6Par4HumilTX+CwjbZ6ex+Y6yOftAIVQvpy8NYRDpI msD0dgUG67gKpKxKBtTayk4vIUaHLgYOoVXCHHMaazU1AsPweMdXMqIEKZ+nhGYDUiB1 7maQ== MIME-Version: 1.0 X-Received: by 10.66.102.106 with SMTP id fn10mr38088726pab.156.1419273400106; Mon, 22 Dec 2014 10:36:40 -0800 (PST) Received: by 10.70.9.195 with HTTP; Mon, 22 Dec 2014 10:36:40 -0800 (PST) In-Reply-To: References: <5497F5BB.9030002@comodo.com> Date: Mon, 22 Dec 2014 10:36:40 -0800 Message-ID: From: Peter Bowen To: Richard Barnes Content-Type: text/plain; charset=UTF-8 Archived-At: http://mailarchive.ietf.org/arch/msg/acme/B6enStVwyWeEHxehxZZTa3U6SFI Cc: Rob Stradling , "acme@ietf.org" Subject: Re: [Acme] Threat model for claiming domains X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 22 Dec 2014 18:36:48 -0000 On Mon, Dec 22, 2014 at 6:29 AM, Richard Barnes wrote: > > I notice that there are mentions of an API in that document. If you have > other API documentation you could share, that could be useful. In > particular, it would make it easier to make ACME something that you guys > could transition to :) It appears that the other API documentation is in the same directory: https://secure.comodo.com/api/pdf/latest/ https://secure.comodo.com/api/pdf/latest/AutoApplySSL.pdf is the primary API. From nobody Mon Dec 22 13:58:42 2014 Return-Path: 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 B6B231A87C1 for ; Mon, 22 Dec 2014 13:58:39 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.977 X-Spam-Level: X-Spam-Status: No, score=-1.977 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7] 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 Jm_1x3cQKwIQ for ; Mon, 22 Dec 2014 13:58:38 -0800 (PST) Received: from mail-lb0-f170.google.com (mail-lb0-f170.google.com [209.85.217.170]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 135571A87CA for ; Mon, 22 Dec 2014 13:58:38 -0800 (PST) Received: by mail-lb0-f170.google.com with SMTP id 10so4599724lbg.1 for ; Mon, 22 Dec 2014 13:58:36 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:date:message-id:subject:from:to :content-type; bh=uTWuuHqWY9cep97UY7MQBIryTrF1jtFACUB+GD0cA5U=; b=KgcYAnXgwk/9KW3rWfCS7dq27XCipYh9Atqw0d+O/+5WaD7YB71p+MIJbcTs8Btt8Q oTbrdqaf+ZTIMCcnN8dMYVi7eceSCbDi/EkgeWJoBR1+4ONgoa4/bNUu3divaSmBGx2O D1P3jOEl42YStJ33FtO1jwmFyZhZjZ4ld2Qn0HTzWHq8lZhbT2eqJNEJewqc1Dl5J3rm phc4bmDe9CLok6lm7wi0AMNOltUWS9kNwOirLv77oGNdWPHswUmpfezGVzPxuflcg8uh RCB8udNmoVlqeUIGO0dLTUfOvZg8XUV1NUNUTww9+jymCfC+iqY3+X0nZzR4vWTHLCM2 vrCA== X-Gm-Message-State: ALoCoQmc/tvpWEUmx78/owRqIcsFud+G2N7GeyY00bEhoIWfpCGTmtKLFosbDPVv1uHZKZ+dGVPL MIME-Version: 1.0 X-Received: by 10.112.97.163 with SMTP id eb3mr2456680lbb.47.1419285516549; Mon, 22 Dec 2014 13:58:36 -0800 (PST) Received: by 10.25.12.215 with HTTP; Mon, 22 Dec 2014 13:58:36 -0800 (PST) Date: Mon, 22 Dec 2014 16:58:36 -0500 Message-ID: From: Richard Barnes To: "acme@ietf.org" , ca-dev@letsencrypt.org Content-Type: multipart/alternative; boundary=001a1133c20a0c99bb050ad5292b Archived-At: http://mailarchive.ietf.org/arch/msg/acme/oNxluUbda00BwsOTJPG20bineuU Subject: [Acme] Initial Let's Encrypt CA X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 22 Dec 2014 21:58:39 -0000 --001a1133c20a0c99bb050ad5292b Content-Type: text/plain; charset=UTF-8 Hey all, Just wanted to let you know: We've got an initial version of the CA software for Let's Encrypt posted to github: https://github.com/letsencrypt/anvil Comments, issues, and pull requests welcome! Discussion of software development (as separate from protocol development) will be happening on < ca-dev@letsencrypt.org>. https://groups.google.com/a/letsencrypt.org/forum/#!forum/ca-dev Cheers, --Richard --001a1133c20a0c99bb050ad5292b Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hey all,

Just wanted to let = you know: We've got an initial version of the CA software for Let's= Encrypt posted to github:

https://github.com/letsencrypt/anvil

Comments, issues, and pull requests welcome!=C2=A0 Dis= cussion of software development (as separate from protocol development) wil= l be happening on <ca-dev@lets= encrypt.org>.


Chee= rs,
--Richard
--001a1133c20a0c99bb050ad5292b-- From nobody Mon Dec 22 19:43:28 2014 Return-Path: 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 E5BFF1ACD3D for ; Mon, 22 Dec 2014 19:43:25 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -0.577 X-Spam-Level: X-Spam-Status: No, score=-0.577 tagged_above=-999 required=5 tests=[BAYES_05=-0.5, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7] 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 N7SzGhDUc-Wh for ; Mon, 22 Dec 2014 19:43:22 -0800 (PST) Received: from mail-lb0-f180.google.com (mail-lb0-f180.google.com [209.85.217.180]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 076E31ACCFB for ; Mon, 22 Dec 2014 19:43:21 -0800 (PST) Received: by mail-lb0-f180.google.com with SMTP id l4so4826079lbv.11 for ; Mon, 22 Dec 2014 19:43:20 -0800 (PST) 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=0zbieGnsta4rC1LemhFRT0xqh6sb7H+PGttKCTaOCKs=; b=E6omHFakDRVii3AbOpXlnAhRH+5NwFpEfhDcBkMk1Qvabe6tqroVTPKYGDlcvL7ou0 oBChPitDVY0Z6sO7WTSfW8R1oh2tIjmujOzB0TOgniYcCuhqMsNEhGHII1VthvB6t+Hl XH+0m19iTLVAO89S3r5TkQxgN2CEauaCoZ7M0ojYNRdybmRvo1SID0CWX/ls7qvm6x2c dHNgIj1O2MqOiCRNqE8+2SOxGc/XOunYvcYPcw8tBhZmUF8NXBkaE1vyJ6ey2pTvAgsj P4tEXOnxCwDo0LowV8wm52oCj+ahMPblVU02nvZ17hwnencBbS/oUcUqDQDUl+vb77ID Nzxw== X-Gm-Message-State: ALoCoQnXXtH2Kqd8pQGvdjO5WWbQp5hm4KZGSRxGD92hMpNlXk3YwJayAFhwGuorFqO2W0c+MiIv MIME-Version: 1.0 X-Received: by 10.152.206.41 with SMTP id ll9mr14669436lac.62.1419306200337; Mon, 22 Dec 2014 19:43:20 -0800 (PST) Received: by 10.25.12.215 with HTTP; Mon, 22 Dec 2014 19:43:20 -0800 (PST) In-Reply-To: <5498A6C9.6030008@digitalbazaar.com> References: <5494AE04.6070207@digitalbazaar.com> <5494E2A6.3020508@digitalbazaar.com> <5498A6C9.6030008@digitalbazaar.com> Date: Mon, 22 Dec 2014 22:43:20 -0500 Message-ID: From: Richard Barnes To: Manu Sporny Content-Type: multipart/alternative; boundary=001a1133af6ae6254d050ad9f9ac Archived-At: http://mailarchive.ietf.org/arch/msg/acme/WsoFHq41uzWR97fk2arQ4P4-4tc Cc: Phillip Hallam-Baker , ACME Subject: Re: [Acme] Signing HTTP Messages X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Dec 2014 03:43:26 -0000 --001a1133af6ae6254d050ad9f9ac Content-Type: text/plain; charset=UTF-8 On Mon, Dec 22, 2014 at 6:18 PM, Manu Sporny wrote: > > On 12/20/2014 12:32 PM, Richard Barnes wrote: > > Just for context, here's the equivalent using JWS and protecting only > > the body: > > > > --------------------- > > POST /foo HTTP/1.1 > > Host: example.org > > Date: Tue, 07 Jun 2014 20:51:35 GMT > > Content-Type: application/json > > Digest: SHA-256=X48E9qOokqqrvdts8n...yWxBf7kbu9DBPE= > > Content-Signature: { "header": { "kid": "Test", "alg": "RS256" }, > > "signature": "jgSq...78w" } > > Content-Length: 18 > > > > {"hello": "world"} > > --------------------- > > > > Note that using JWS means that I can just toss the header into > > JSON.parse(), whereas your construction requires custom parsing. > > True, although to be fair, it's the same kind of parsing that's required > for most other HTTP headers (and it was specifically designed this way > so that the HTTP header parsing mechanism can be re-used). > > > And if I have a JOSE library already on hand (of which there are > > currently a non-trivial number), I can just toss the whole thing in > > there and call Verify(). > > Yep, that's nice, if you have already bought into the whole JWS/JOSE > stack (which I haven't): > > http://manu.sporny.org/2013/sm-vs-jose/ > > > Also, one thing I like about JWS is that you can make it > > self-verifying. That is, you can replace the key ID ("kid") with the > > actual public key ("jwk"), so the verifier can just go ahead and verify > > without any pre-provisioning of key IDs. You can also include metadata > > like certs. (Yes, that starts to make the header a little big. > > Deployment consideration :) ) > > Yes, you could make it self-verifying that way, but that doesn't seem > likely in practice? Maybe I'm missing something, but the server still > needs some piece of information (like a key ID that it knows about) that > it has access to that says that it trusts the signer in the first place, > right? > > The approach we've taken w/ the Linked Data Signature stuff is to make > kid/jwk a URL, like this: > > https://dev.payswarm.com/i/manu/keys/4 > > That way, you can just fetch the public key as Linked Data and verify > the message. Same basic process that you're talking about, but the > approach is what we're currently using to identify keys for both Linked > Data Signatures and Signing HTTP Messages. > > Here's an example of it in action (look at the Authorization HTTP header): > > > http://opencreds.org/specs/source/identity-credentials/#writing-data-to-the-identity > > Also note how the same key is used in the "signature" at the end. > > > I wouldn't overestimate the complexity of JWS. Lines of code is a > > better metric than lines of spec. It took me a couple of hours to write > > a JWS library in Go; signing and verification take ~110 lines, most of > > which is just algorithm mux/demux. > > https://github.com/bifurcation/gose/blob/master/jws.go#L139 > > The signing and verification implementation isn't the hard part w/ the > JOSE stack, it's everything else you have to pull in. My point isn't > that "it's possible", it's that "a simpler solution exists". > > Out of curiosity, where's the test suite for JOSE (and the > implementations that pass the various specs)? We don't have an official > one for the HTTP Signatures stuff yet, either, there's only this (and > it's not that great): > > https://github.com/joyent/node-http-signature/tree/master/test > > I'm just trying to get a metric on how much I may be "overestimating the > complexity of JWS". Maybe I am, but from a read of the specs, I think > it's safe to say that doing HTTP Signatures requires far less code and > technologies to be pulled in than the JOSE/JWS stack does. Happy to be > proven wrong, because I can just drop this Signing HTTP Messages / > Linked Data Signatures stuff if that turns out to be true. :) > > > Finally, if you want to protect headers, you can add a protected header > > to the above to bind in the header string by reference: > > > > --------------------- > > { > > "header": { "kid": "Test", "alg": "RS256" }, > > "protected": base64({ > > "header": { > > "fields": "(request-target) host date digest content-length", > > "sha256": "KCBeV_VF5cEzgjY1cNEAkalw94mJwxtXdz874aRUbRM" > > }) > > "signature": "jgSq...78w" > > } > > --------------------- > > > > ... where the "sha256" field is the SHA-256 digest of the header string. > > Yes, you can protect headers like that, but aren't you just going to end > up needing the equivalent of the Signing HTTP Messages spec at that > point to specify how everything is serialized and SHA'd? > > > Is this making any more sense? Basically: Use libraries and scale the > > complexity to the problem. > > Sure, it makes sense. As I said before, I think either approach works. > I'm just trying to figure out which approach is better. So far, the > arguments seem to be (warning: broad brush generalizations follow): > > JWS is better because it's done and there are multiple implementations > for it. Just re-use what exists, don't invent something new. > > and > > JWS is worse because it pulls in a lot of complexity that you don't need > to solve the particular problem you're trying to solve. > > I don't think either approach is going to break the Web or the Internet. :) > We certainly agree there :) Without diving into the details above (holiday laziness setting in), I actually think your broad brush outline is pretty accurate. The main place we differ is the complexity of JWS. When you say "pull in complexity", what do you mean? At least at the level of code, all you need is: -- A crypto library (which you need for Signing HTTP Messages) -- A base64 encoder (which you need for Signing HTTP Messages) -- A JSON parser -- String concatenation (which you need for Signing HTTP Messages) The signing process in JWS is wonky (some headers protected and some not; base64.base64), but not rocket science. And the key discovery has a lot of options, but is ultimately not complicated -- you either find a key or you don't. And it seems like some of these things could be pinned down by using a profile of JWS -- e.g., requiring all headers be protected and requiring that at least one of "jwk" or "kid" be present. That's pretty much what I've put in for ACME (minus "kid"), and it's basically the same level of complexity as a raw signature. Maybe it would be a fun exercise for your winter vacation to try implementing JWS to see how hard it really is :) Happy holidays, --Richard > > -- manu > > -- > Manu Sporny (skype: msporny, twitter: manusporny, G+: +Manu Sporny) > Founder/CEO - Digital Bazaar, Inc. > blog: High-Stakes Credentials and Web Login > http://manu.sporny.org/2014/identity-credentials/ > --001a1133af6ae6254d050ad9f9ac Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable


On Mon, Dec 22, 2014 at 6:18 PM, Manu Sporny <msporny@digitalb= azaar.com> wrote:
On 12/20/2= 014 12:32 PM, Richard Barnes wrote:
> Just for context, here's the equivalent using JWS and protecting o= nly
> the body:
>
> ---------------------
> POST /foo HTTP/1.1
> Host: example.= org <http://exampl= e.org/>
> Date: Tue, 07 Jun 2014 20:51:35 GMT
> Content-Type: application/json
> Digest: SHA-256=3DX48E9qOokqqrvdts8n...yWxBf7kbu9DBPE=3D
> Content-Signature: { "header": { "kid": "Test= ", "alg": "RS256" },
> "signature": "jgSq...78w" }
> Content-Length: 18
>
> {"hello": "world"}
> ---------------------
>
> Note that using JWS means that I can just toss the header into
> JSON.parse(), whereas your construction requires custom parsing.

True, although to be fair, it's the same kind of parsing that= 9;s required
for most other HTTP headers (and it was specifically designed this way
so that the HTTP header parsing mechanism can be re-used).

> And if I have a JOSE library already on hand (of which there are
> currently a non-trivial number), I can just toss the whole thing in > there and call Verify().

Yep, that's nice, if you have already bought into the whole JWS/= JOSE
stack (which I haven't):

http:= //manu.sporny.org/2013/sm-vs-jose/

> Also, one thing I like about JWS is that you can make it
> self-verifying.=C2=A0 That is, you can replace the key ID ("kid&q= uot;) with the
> actual public key ("jwk"), so the verifier can just go ahead= and verify
> without any pre-provisioning of key IDs.=C2=A0 You can also include me= tadata
> like certs.=C2=A0 (Yes, that starts to make the header a little big. > Deployment consideration :) )

Yes, you could make it self-verifying that way, but that doesn't= seem
likely in practice? Maybe I'm missing something, but the server still needs some piece of information (like a key ID that it knows about) that it has access to that says that it trusts the signer in the first place, right?

The approach we've taken w/ the Linked Data Signature stuff is to make<= br> kid/jwk a URL, like this:

https:= //dev.payswarm.com/i/manu/keys/4

That way, you can just fetch the public key as Linked Data and verify
the message. Same basic process that you're talking about, but the
approach is what we're currently using to identify keys for both Linked=
Data Signatures and Signing HTTP Messages.

Here's an example of it in action (look at the Authorization HTTP heade= r):

http://opencreds.org/specs/source/i= dentity-credentials/#writing-data-to-the-identity

Also note how the same key is used in the "signature" at the end.=

> I wouldn't overestimate the complexity of JWS.=C2=A0 Lines of code= is a
> better metric than lines of spec.=C2=A0 It took me a couple of hours t= o write
> a JWS library in Go; signing and verification take ~110 lines, most of=
> which is just algorithm mux/demux.
> https://github.com/bifurcation/gose/blob/master/jws.go#= L139

The signing and verification implementation isn't the hard part = w/ the
JOSE stack, it's everything else you have to pull in. My point isn'= t
that "it's possible", it's that "a simpler solution = exists".

Out of curiosity, where's the test suite for JOSE (and the
implementations that pass the various specs)? We don't have an official=
one for the HTTP Signatures stuff yet, either, there's only this (and it's not that great):

https://github.com/joyent/node-http-signature/tree/master= /test

I'm just trying to get a metric on how much I may be "overestimati= ng the
complexity of JWS". Maybe I am, but from a read of the specs, I think<= br> it's safe to say that doing HTTP Signatures requires far less code and<= br> technologies to be pulled in than the JOSE/JWS stack does. Happy to be
proven wrong, because I can just drop this Signing HTTP Messages /
Linked Data Signatures stuff if that turns out to be true. :)

> Finally, if you want to protect headers, you can add a protected heade= r
> to the above to bind in the header string by reference:
>
> ---------------------
> {
>=C2=A0 =C2=A0"header": { "kid": "Test", &= quot;alg": "RS256" },
>=C2=A0 =C2=A0"protected": base64({
>=C2=A0 =C2=A0 =C2=A0"header": {
>=C2=A0 =C2=A0 =C2=A0 =C2=A0"fields": "(request-target) h= ost date digest content-length",
>=C2=A0 =C2=A0 =C2=A0 =C2=A0"sha256": "KCBeV_VF5cEzgjY1cN= EAkalw94mJwxtXdz874aRUbRM"
>=C2=A0 =C2=A0})
>=C2=A0 =C2=A0"signature": "jgSq...78w"
> }
> ---------------------
>
> ... where the "sha256" field is the SHA-256 digest of the he= ader string.

Yes, you can protect headers like that, but aren't you just goin= g to end
up needing the equivalent of the Signing HTTP Messages spec at that
point to specify how everything is serialized and SHA'd?

> Is this making any more sense?=C2=A0 Basically: Use libraries and scal= e the
> complexity to the problem.

Sure, it makes sense. As I said before, I think either approach work= s.
I'm just trying to figure out which approach is better. So far, the
arguments seem to be (warning: broad brush generalizations follow):

JWS is better because it's done and there are multiple implementations<= br> for it. Just re-use what exists, don't invent something new.

and

JWS is worse because it pulls in a lot of complexity that you don't nee= d
to solve the particular problem you're trying to solve.

I don't think either approach is going to break the Web or the Internet= . :)

We certainly agree there :)
<= div>
Without diving into the details above (holiday laziness = setting in), I actually think your broad brush outline is pretty accurate.= =C2=A0 The main place we differ is the complexity of JWS.

When you say "pull in complexity", what do you mean?=C2= =A0 At least at the level of code, all you need is:
-- A crypto l= ibrary (which you need for=C2=A0Signing HTTP Messages)
-- A base6= 4 encoder (which you need for=C2=A0Signing HTTP Messages)
-- A JS= ON parser
-- String concatenation=C2=A0(which you need for=C2=A0S= igning HTTP Messages)

The signing process in JWS i= s wonky (some headers protected and some not; base64.base64), but not rocke= t science.=C2=A0 And the key discovery has a lot of options, but is ultimat= ely not complicated -- you either find a key or you don't.
And it seems like some of these things could be pinned down by= using a profile of JWS -- e.g., requiring all headers be protected and req= uiring that at least one of "jwk" or "kid" be present.= =C2=A0 That's pretty much what I've put in for ACME (minus "ki= d"), and it's basically the same level of complexity as a raw sign= ature. =C2=A0

Maybe it would be a fun exercise for= your winter vacation to try implementing JWS to see how hard it really is = :)

Happy holidays,
--Richard
<= br>

=C2=A0

-- manu

--
Manu Sporny (skype: msporny, twitter: manusporny, G+: +Manu Sporny)
Founder/CEO - Digital Bazaar, Inc.
blog: High-Stakes Credentials and = Web Login
http://manu.sporny.org/2014/identity-credentials/
--001a1133af6ae6254d050ad9f9ac-- From nobody Tue Dec 23 04:34:03 2014 Return-Path: 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 9C4B61ACE2C for ; Tue, 23 Dec 2014 04:34:01 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -0.5 X-Spam-Level: X-Spam-Status: No, score=-0.5 tagged_above=-999 required=5 tests=[BAYES_05=-0.5] 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 hurkpqE7eTyQ for ; Tue, 23 Dec 2014 04:33:58 -0800 (PST) Received: from mmextmx1.mcr.colo.comodoca.net (mmextmx1.mcr.colo.comodoca.net [IPv6:2a02:1788:402:c00::c0a8:9cd5]) (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 2E3831ACDC5 for ; Tue, 23 Dec 2014 04:29:42 -0800 (PST) Received: (qmail 10028 invoked by uid 1004); 23 Dec 2014 12:29:40 -0000 Received: from ian.brad.office.comodo.net (HELO ian.brad.office.comodo.net) (192.168.0.202) by mmextmx1.mcr.colo.comodoca.net (qpsmtpd/0.84) with ESMTP; Tue, 23 Dec 2014 12:29:40 +0000 Received: (qmail 25709 invoked by uid 1000); 23 Dec 2014 12:29:40 -0000 Received: from and0004.comodo.net (HELO [192.168.0.58]) (192.168.0.58) (smtp-auth username rob, mechanism plain) by ian.brad.office.comodo.net (qpsmtpd/0.40) with (AES128-SHA encrypted) ESMTPSA; Tue, 23 Dec 2014 12:29:40 +0000 Message-ID: <54996033.2@comodo.com> Date: Tue, 23 Dec 2014 12:29:39 +0000 From: Rob Stradling User-Agent: Mozilla/5.0 (X11; Linux i686; rv:31.0) Gecko/20100101 Thunderbird/31.3.0 MIME-Version: 1.0 To: Richard Barnes References: <5497F5BB.9030002@comodo.com> In-Reply-To: Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Archived-At: http://mailarchive.ietf.org/arch/msg/acme/m_G_A7y50rriCgOj7eAYvLvsbtc Cc: "acme@ietf.org" Subject: Re: [Acme] Threat model for claiming domains X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Dec 2014 12:34:01 -0000 On 22/12/14 14:29, Richard Barnes wrote: > Hey Rob, > > Thanks for this. The HTTP one looks more or less as I would have > expected. We should probably tighten up the ACME one to look more like it. > > With regard to the DNS validation: > 1. Is there a reason you guys use CNAME instead of TXT? Hi Richard. I don't recall any particularly good reason for why we chose to use CNAME instead of TXT. I think it was just a case of sticking with what we knew would work and with what our customers were more likely to already be familiar with. > 2. W.r.t. using a subdomain vs. the name itself: When we wrote the > current ACME spec, the thinking was that it might be possible for an > applicant to provision a subdomain without being able to provision a > record under the name itself. For example, with my Dreamhost hosting > account, I can register any records I want under ".dreamhosters.com > ", but I can't provision under > "dreamhosters.com ". Are you accounting for > this risk somehow? I just started going through the signup process at www.dreamhost.com. I see that it would be trivial to register the domain .dreamhosters.com. IIUC, you're suggesting that there's a risk that Dreamhost might let you register a CNAME record for .dreamhosters.com that points to .comodoca.com. A colleague just said to me: "most shared hosts (like Dreamhost) designate that subdomain you request for webhosting and that it's incredibly unlikely (read: near-impossible) to get them to change their DNS for that to point anywhere other than their shared hosting servers." BTW, the reason I came up with the idea of using CSR hashes was because we were trying to workaround patented domain control methods that involve a CA-generated secret. > I notice that there are mentions of an API in that document. If you > have other API documentation you could share, that could be useful. In > particular, it would make it easier to make ACME something that you guys > could transition to :) Here's the main page for our API documentation: https://secure.comodo.com/api/ As PZB already noted, you can grab the latest versions of all of our API docs here: https://secure.comodo.com/api/pdf/latest/ To see just the API docs that are relevant to SSL certs, look here: https://secure.comodo.com/api/pdf/webhostreseller/sslcertificates/ BTW, I agree with PHB's summary at the top of this message... http://www.ietf.org/mail-archive/web/acme/current/msg00096.html ...of how and why our APIs fall short of being ideal. > --Richard > > > > On Mon, Dec 22, 2014 at 5:43 AM, Rob Stradling > wrote: > > Hi Richard. This pdf has some more details on Comodo's other domain > validation methods... > > https://secure.comodo.com/api/__pdf/latest/Domain%20Control%__20Validation.pdf > > > On 20/12/14 00:25, Richard Barnes wrote: > > Hey Tony, > > I just got around to thinking about this for a moment. > Obviously, our > baseline here should be whatever the CAs are doing today, since > we have > empirical evidence that those methods are more or less OK. I did a > quick and dirty empirical survey of the top few CAs this afternoon: > > https://docs.google.com/a/ipv.__sx/document/d/1KVKIS6abA2KL-__yHvFsMql6U3qUjVhgO6p19Hzci0vQo__/edit?usp=sharing > > > For the most part, they rely on sending an email to either the > registered WHOIS contact, or something like admin@domain. > GlobalSign > supports validation based on a DNS record or a tag in > index.html. > > With regard to your concern about services colocated on the same IP > (presumably for simpleHttps and DVSNI validation): This seems to > mostly > be addressed by not allowing the ACME client to specify the port > that > the ACME server connects to. That means that the attacker has to > control not only something on the box, but the default port for > HTTP or > HTTPS. If that's not the case, normal routing based on the Host > header > or SNI should ensure that the validation request goes to the > right place. > > Nonetheless, I agree that more analysis would be useful, across > all the > validation methods. > > --Richard > > > On Mon, Dec 1, 2014 at 7:33 PM, Tony Arcieri > >> wrote: > > Is there a published threat model for claiming domains? I > haven't > been able to find it, but I'd certainly like to read it! > > If we simply accept a service running on the same IP that a > given > DNS name points to, there seems ample opportunity to register > certificates for services colocated on the same IP. > > -- > Tony Arcieri > > -- > Rob Stradling > Senior Research & Development Scientist > COMODO - Creating Trust Online > > > > _______________________________________________ > Acme mailing list > Acme@ietf.org > https://www.ietf.org/mailman/listinfo/acme > -- Rob Stradling Senior Research & Development Scientist COMODO - Creating Trust Online Office Tel: +44.(0)1274.730505 Office Fax: +44.(0)1274.730909 www.comodo.com COMODO CA Limited, Registered in England No. 04058690 Registered Office: 3rd Floor, 26 Office Village, Exchange Quay, Trafford Road, Salford, Manchester M5 3EQ This e-mail and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you have received this email in error please notify the sender by replying to the e-mail containing this attachment. Replies to this email may be monitored by COMODO for operational or business reasons. Whilst every endeavour is taken to ensure that e-mails are free from viruses, no liability can be accepted and the recipient is requested to use their own virus checking software. From nobody Tue Dec 23 04:54:40 2014 Return-Path: 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 D03761ACE2E for ; Tue, 23 Dec 2014 04:54:31 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.277 X-Spam-Level: X-Spam-Status: No, score=-1.277 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FM_FORGED_GMAIL=0.622, FREEMAIL_FROM=0.001, HTML_MESSAGE=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 upA4LutIAFzO for ; Tue, 23 Dec 2014 04:54:30 -0800 (PST) Received: from mail-la0-x22d.google.com (mail-la0-x22d.google.com [IPv6:2a00:1450:4010:c03::22d]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id E0EC41ACE50 for ; Tue, 23 Dec 2014 04:43:58 -0800 (PST) Received: by mail-la0-f45.google.com with SMTP id gq15so5467534lab.32 for ; Tue, 23 Dec 2014 04:43:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=9ucjKIRmNVg9TLrrlkfaAMAnrzegTBxXquoUDKNvZXs=; b=ENGYd2J4CdeozrZ3Er6tawws+zK71EDCrmMU3aA9wIAx9V5/W9WBVzTU3skARa8Pf+ 20dEot23DTqNsQiY+2+bp6mPpUSn3S6xvoeV+m/aUL2kIFhmjxL0WeZULlnOvAM2CjVs dkaeHm9oo9qma5+otX034/4CikEYItd4iw+nIgzxo/3NINEyUeFG6cSVPG49tddHwSJL OylBZT7WfUfDw+m95ycKKQSK+moWL7O/NsTuW0yAxzwNCsz9C1g6VnO+lDrysJIr1jaC z6anxb5u6R4On6iFmjR4dNveAQqf8aWVX29dGUpIIRxvOLGzPd0R2yxzrYLlygkspaX+ YHoQ== MIME-Version: 1.0 X-Received: by 10.112.119.201 with SMTP id kw9mr27065264lbb.99.1419338637378; Tue, 23 Dec 2014 04:43:57 -0800 (PST) Sender: hallam@gmail.com Received: by 10.112.19.42 with HTTP; Tue, 23 Dec 2014 04:43:57 -0800 (PST) In-Reply-To: References: <5497F5BB.9030002@comodo.com> Date: Tue, 23 Dec 2014 12:43:57 +0000 X-Google-Sender-Auth: AMYY23bhJDXJtxgXUKBTQJSDqww Message-ID: From: Phillip Hallam-Baker To: Peter Bowen Content-Type: multipart/alternative; boundary=047d7bae49da4c0909050ae187a9 Archived-At: http://mailarchive.ietf.org/arch/msg/acme/OuI2gL5s7XrKL114vpOBADBJP54 Cc: Richard Barnes , Rob Stradling , "acme@ietf.org" Subject: Re: [Acme] Threat model for claiming domains X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Dec 2014 12:54:32 -0000 --047d7bae49da4c0909050ae187a9 Content-Type: text/plain; charset=UTF-8 On Mon, Dec 22, 2014 at 6:36 PM, Peter Bowen wrote: > On Mon, Dec 22, 2014 at 6:29 AM, Richard Barnes wrote: > > > > I notice that there are mentions of an API in that document. If you have > > other API documentation you could share, that could be useful. In > > particular, it would make it easier to make ACME something that you guys > > could transition to :) > > It appears that the other API documentation is in the same directory: > https://secure.comodo.com/api/pdf/latest/ > > https://secure.comodo.com/api/pdf/latest/AutoApplySSL.pdf is the primary > API. Yes, Robin sent me that link a while back but the conversation seemed to have moved on to the signature discussion which seemed like better use of time... One of the things I want to do in the new year is to see whether I can drive that API from a JSON frontend and what it looks like. The only difference I can see is the introduction of an account concept.. --047d7bae49da4c0909050ae187a9 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable


On Mon, Dec 22, 2014 at 6:36 PM, Peter Bowen <pzbowen@gmail.com>= ; wrote:
On Mon, = Dec 22, 2014 at 6:29 AM, Richard Barnes <rlb@ipv.sx> wrote:
>
> I notice that there are mentions of an API in that document.=C2=A0 If = you have
> other API documentation you could share, that could be useful.=C2=A0 I= n
> particular, it would make it easier to make ACME something that you gu= ys
> could transition to :)

It appears that the other API documentation is in the same directory= :
htt= ps://secure.comodo.com/api/pdf/latest/

https://secure.comodo.com/api/pdf/latest/AutoApplySSL.pdf = is the primary API.

Yes, Robin sent me that= link a while back but the conversation seemed to have moved on to the sign= ature discussion which seemed like better use of time...

One of the things I want to do in the new year is to see whether I c= an drive that API from a JSON frontend and what it looks like.
The only difference I can see is the introduction of an accoun= t concept..=C2=A0
--047d7bae49da4c0909050ae187a9-- From nobody Tue Dec 23 12:50:15 2014 Return-Path: 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 6EFF51A6F60 for ; Tue, 23 Dec 2014 12:50:13 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.977 X-Spam-Level: X-Spam-Status: No, score=-1.977 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7] 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 HYw22C_bprZT for ; Tue, 23 Dec 2014 12:50:10 -0800 (PST) Received: from mail-lb0-f170.google.com (mail-lb0-f170.google.com [209.85.217.170]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 26A3E1A6F64 for ; Tue, 23 Dec 2014 12:50:07 -0800 (PST) Received: by mail-lb0-f170.google.com with SMTP id 10so6009130lbg.15 for ; Tue, 23 Dec 2014 12:50:05 -0800 (PST) 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=lOAceeT+G8nN0RGU6v9/HcIux+Nl1xSWgDqgEC7I6no=; b=Ey8oJMwLOSRn/542adPkczMk+uj34PlW+Z/pY3+1RQPefQzKq2E4TdgET1o1lG0JEJ P1MoFD6UWxBXG1IWYB2R8sBdhA4vHZDzdZ5FVI7Qo8f8/maNlbqQyA7OCsM/G4MYKTE3 wayf/vcCkUP0e1JhzVqxVPIJRVOksdKF5rWI2NpVZ4v/O9Al3JayFdRYiRuzObHAgkyD oKAwrIUq9mggVcD79P94aUKZbzp4qIQwBpRzA9CayZa++ejWW9YswsVhqp3F0B2Iz3Nw JfH11O+m9EZUZDuXNERx+kIj9jXPrZBq1T+HzZq7MQDbjp02R5RFYupKQCn0kMx5egcc voqQ== X-Gm-Message-State: ALoCoQmO+8UAj3zwDlXsLFlhUeJg5CgtgVTGlmar9q4PsT6Xx4lUUH/u21qI6X0egvQWnPpBSjtV MIME-Version: 1.0 X-Received: by 10.112.97.163 with SMTP id eb3mr8644000lbb.47.1419367805569; Tue, 23 Dec 2014 12:50:05 -0800 (PST) Received: by 10.25.12.215 with HTTP; Tue, 23 Dec 2014 12:50:05 -0800 (PST) In-Reply-To: <54996033.2@comodo.com> References: <5497F5BB.9030002@comodo.com> <54996033.2@comodo.com> Date: Tue, 23 Dec 2014 15:50:05 -0500 Message-ID: From: Richard Barnes To: Rob Stradling Content-Type: multipart/alternative; boundary=001a1133c20adb6126050ae8513f Archived-At: http://mailarchive.ietf.org/arch/msg/acme/kDOzV_P_8wKgwS_fenwF1w0eG2M Cc: "acme@ietf.org" Subject: Re: [Acme] Threat model for claiming domains X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Dec 2014 20:50:13 -0000 --001a1133c20adb6126050ae8513f Content-Type: text/plain; charset=UTF-8 On Tue, Dec 23, 2014 at 7:29 AM, Rob Stradling wrote: > > On 22/12/14 14:29, Richard Barnes wrote: > >> Hey Rob, >> >> Thanks for this. The HTTP one looks more or less as I would have >> expected. We should probably tighten up the ACME one to look more like >> it. >> >> With regard to the DNS validation: >> 1. Is there a reason you guys use CNAME instead of TXT? >> > > Hi Richard. I don't recall any particularly good reason for why we chose > to use CNAME instead of TXT. I think it was just a case of sticking with > what we knew would work and with what our customers were more likely to > already be familiar with. > > 2. W.r.t. using a subdomain vs. the name itself: When we wrote the >> current ACME spec, the thinking was that it might be possible for an >> applicant to provision a subdomain without being able to provision a >> record under the name itself. For example, with my Dreamhost hosting >> account, I can register any records I want under ".dreamhosters.com >> ", but I can't provision under >> "dreamhosters.com ". Are you accounting for >> this risk somehow? >> > > I just started going through the signup process at www.dreamhost.com. I > see that it would be trivial to register the domain .dreamhosters.com > . > > IIUC, you're suggesting that there's a risk that Dreamhost might let you > register a CNAME record for .dreamhosters.com that points to . > comodoca.com. > A colleague just said to me: "most shared hosts (like Dreamhost) designate > that subdomain you request for webhosting and that it's incredibly unlikely > (read: near-impossible) to get them to change their DNS for that to point > anywhere other than their shared hosting servers." > I can confirm that this is the case with Dreamhost, having just tried the experiment. Nonetheless, this seems like kind of a fragile assumption, given that there do exist some less-clueful hosting providers. --Richard > BTW, the reason I came up with the idea of using CSR hashes was because we > were trying to workaround patented domain control methods that involve a > CA-generated secret. > > I notice that there are mentions of an API in that document. If you >> have other API documentation you could share, that could be useful. In >> particular, it would make it easier to make ACME something that you guys >> could transition to :) >> > > Here's the main page for our API documentation: > https://secure.comodo.com/api/ > > As PZB already noted, you can grab the latest versions of all of our API > docs here: > https://secure.comodo.com/api/pdf/latest/ > > To see just the API docs that are relevant to SSL certs, look here: > https://secure.comodo.com/api/pdf/webhostreseller/sslcertificates/ > > > BTW, I agree with PHB's summary at the top of this message... > http://www.ietf.org/mail-archive/web/acme/current/msg00096.html > ...of how and why our APIs fall short of being ideal. > > --Richard >> >> >> >> On Mon, Dec 22, 2014 at 5:43 AM, Rob Stradling > > wrote: >> >> Hi Richard. This pdf has some more details on Comodo's other domain >> validation methods... >> >> https://secure.comodo.com/api/__pdf/latest/Domain%20Control% >> __20Validation.pdf >> > 20Control%20Validation.pdf> >> >> On 20/12/14 00:25, Richard Barnes wrote: >> >> Hey Tony, >> >> I just got around to thinking about this for a moment. >> Obviously, our >> baseline here should be whatever the CAs are doing today, since >> we have >> empirical evidence that those methods are more or less OK. I did >> a >> quick and dirty empirical survey of the top few CAs this >> afternoon: >> >> https://docs.google.com/a/ipv.__sx/document/d/1KVKIS6abA2KL-__ >> yHvFsMql6U3qUjVhgO6p19Hzci0vQo__/edit?usp=sharing >> > yHvFsMql6U3qUjVhgO6p19Hzci0vQo/edit?usp=sharing> >> >> For the most part, they rely on sending an email to either the >> registered WHOIS contact, or something like admin@domain. >> GlobalSign >> supports validation based on a DNS record or a tag in >> index.html. >> >> With regard to your concern about services colocated on the same >> IP >> (presumably for simpleHttps and DVSNI validation): This seems to >> mostly >> be addressed by not allowing the ACME client to specify the port >> that >> the ACME server connects to. That means that the attacker has to >> control not only something on the box, but the default port for >> HTTP or >> HTTPS. If that's not the case, normal routing based on the Host >> header >> or SNI should ensure that the validation request goes to the >> right place. >> >> Nonetheless, I agree that more analysis would be useful, across >> all the >> validation methods. >> >> --Richard >> >> >> On Mon, Dec 1, 2014 at 7:33 PM, Tony Arcieri > >> >> wrote: >> >> Is there a published threat model for claiming domains? I >> haven't >> been able to find it, but I'd certainly like to read it! >> >> If we simply accept a service running on the same IP that a >> given >> DNS name points to, there seems ample opportunity to register >> certificates for services colocated on the same IP. >> >> -- >> Tony Arcieri >> >> -- >> Rob Stradling >> Senior Research & Development Scientist >> COMODO - Creating Trust Online >> >> >> >> _______________________________________________ >> Acme mailing list >> Acme@ietf.org >> https://www.ietf.org/mailman/listinfo/acme >> >> > -- > Rob Stradling > Senior Research & Development Scientist > COMODO - Creating Trust Online > Office Tel: +44.(0)1274.730505 > Office Fax: +44.(0)1274.730909 > www.comodo.com > > COMODO CA Limited, Registered in England No. 04058690 > Registered Office: > 3rd Floor, 26 Office Village, Exchange Quay, > Trafford Road, Salford, Manchester M5 3EQ > > This e-mail and any files transmitted with it are confidential and > intended solely for the use of the individual or entity to whom they are > addressed. If you have received this email in error please notify the > sender by replying to the e-mail containing this attachment. Replies to > this email may be monitored by COMODO for operational or business reasons. > Whilst every endeavour is taken to ensure that e-mails are free from > viruses, no liability can be accepted and the recipient is requested to use > their own virus checking software. > --001a1133c20adb6126050ae8513f Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable


On Tue, Dec 23, 2014 at 7:29 AM, Rob Stradling <rob.stradling@c= omodo.com> wrote:
On 22/12/14 14:29, Richard Barnes wrote:
Hey Rob,

Thanks for this.=C2=A0 The HTTP one looks more or less as I would have
expected.=C2=A0 We should probably tighten up the ACME one to look more lik= e it.

With regard to the DNS validation:
1. Is there a reason you guys use CNAME instead of TXT?

Hi Richard.=C2=A0 I don't recall any particularly good reason for why w= e chose to use CNAME instead of TXT.=C2=A0 I think it was just a case of st= icking with what we knew would work and with what our customers were more l= ikely to already be familiar with.

2. W.r.t. using a subdomain vs. the name itself: When we wrote the
current ACME spec, the thinking was that it might be possible for an
applicant to provision a subdomain without being able to provision a
record under the name itself.=C2=A0 For example, with my Dreamhost hosting<= br> account, I can register any records I want under "<md5>.dreamhosters.com
<http://dreamhoste= rs.com>", but I can't provision under
"dreamhosters.co= m <http://drea= mhosters.com>".=C2=A0 Are you accounting for
this risk somehow?

I just started going through the signup process at www.dreamhost.com.=C2=A0 I see that it w= ould be trivial to register the domain <md5>.dreamhosters.com.

IIUC, you're suggesting that there's a risk that Dreamhost might le= t you register a CNAME record for <md5>.dreamhosters.com that points to <sha1>.<= a href=3D"http://comodoca.com" target=3D"_blank">comodoca.com.
A colleague just said to me: "most shared hosts (like Dreamhost) desig= nate that subdomain you request for webhosting and that it's incredibly= unlikely (read: near-impossible) to get them to change their DNS for that = to point anywhere other than their shared hosting servers."

I can confirm that this is the case with Dreamhos= t, having just tried the experiment.=C2=A0 Nonetheless, this seems like kin= d of a fragile assumption, given that there do exist some less-clueful host= ing providers.

--Richard

= =C2=A0
BTW, the reason I came up with the idea of using CSR hashes was because we = were trying to workaround patented domain control methods that involve a CA= -generated secret.

I notice that there are mentions of an API in that document.=C2=A0 If you have other API documentation you could share, that could be useful.=C2=A0 I= n
particular, it would make it easier to make ACME something that you guys could transition to :)

Here's the main page for our API documentation:
https://secure= .comodo.com/api/

As PZB already noted, you can grab the latest versions of all of our API do= cs here:
htt= ps://secure.comodo.com/api/pdf/latest/

To see just the API docs that are relevant to SSL certs, look here:
https://secure.comodo.com/api/pdf/webhostresel= ler/sslcertificates/


BTW, I agree with PHB's summary at the top of this message...
http://www.ietf.org/mail-archive/web/acme/current= /msg00096.html
...of how and why our APIs fall short of being ideal.

--Richard



On Mon, Dec 22, 2014 at 5:43 AM, Rob Stradling <rob.stradling@comodo.com
<mailto:ro= b.stradling@comodo.com>> wrote:

=C2=A0 =C2=A0 Hi Richard.=C2=A0 This pdf has some more details on Comodo= 9;s other domain
=C2=A0 =C2=A0 validation methods...

=C2=A0 =C2=A0 https://secure.comodo.com/a= pi/__pdf/latest/Domain%20Control%__20Validation.pdf
=C2=A0 =C2=A0 <https://secure.comodo.com/<= u>api/pdf/latest/Domain%20Control%20Validation.pdf>

=C2=A0 =C2=A0 On 20/12/14 00:25, Richard Barnes wrote:

=C2=A0 =C2=A0 =C2=A0 =C2=A0 Hey Tony,

=C2=A0 =C2=A0 =C2=A0 =C2=A0 I just got around to thinking about this for a = moment.
=C2=A0 =C2=A0 =C2=A0 =C2=A0 Obviously, our
=C2=A0 =C2=A0 =C2=A0 =C2=A0 baseline here should be whatever the CAs are do= ing today, since
=C2=A0 =C2=A0 =C2=A0 =C2=A0 we have
=C2=A0 =C2=A0 =C2=A0 =C2=A0 empirical evidence that those methods are more = or less OK.=C2=A0 I did a
=C2=A0 =C2=A0 =C2=A0 =C2=A0 quick and dirty empirical survey of the top few= CAs this afternoon:

=C2=A0 =C2=A0 =C2=A0 =C2=A0 https://docs.google.com/a/ipv.__sx/document/d/= 1KVKIS6abA2KL-__yHvFsMql6U3qUjVhgO6p19Hzci0vQo__/edit?= usp=3Dsharing
=C2=A0 =C2=A0 =C2=A0 =C2=A0 <https://docs.google.com/a/ipv.sx/document/d/<= /u>1KVKIS6abA2KL-yHvFsMql6U3qUjVhgO6p19Hzci0vQo/edit?usp=3Dsh= aring>

=C2=A0 =C2=A0 =C2=A0 =C2=A0 For the most part, they rely on sending an emai= l to either the
=C2=A0 =C2=A0 =C2=A0 =C2=A0 registered WHOIS contact, or something like adm= in@domain.
=C2=A0 =C2=A0 =C2=A0 =C2=A0 GlobalSign
=C2=A0 =C2=A0 =C2=A0 =C2=A0 supports validation based on a DNS record or a = <meta> tag in
=C2=A0 =C2=A0 =C2=A0 =C2=A0 index.html.

=C2=A0 =C2=A0 =C2=A0 =C2=A0 With regard to your concern about services colo= cated on the same IP
=C2=A0 =C2=A0 =C2=A0 =C2=A0 (presumably for simpleHttps and DVSNI validatio= n): This seems to
=C2=A0 =C2=A0 =C2=A0 =C2=A0 mostly
=C2=A0 =C2=A0 =C2=A0 =C2=A0 be addressed by not allowing the ACME client to= specify the port
=C2=A0 =C2=A0 =C2=A0 =C2=A0 that
=C2=A0 =C2=A0 =C2=A0 =C2=A0 the ACME server connects to.=C2=A0 That means t= hat the attacker has to
=C2=A0 =C2=A0 =C2=A0 =C2=A0 control not only something on the box, but the = default port for
=C2=A0 =C2=A0 =C2=A0 =C2=A0 HTTP or
=C2=A0 =C2=A0 =C2=A0 =C2=A0 HTTPS.=C2=A0 If that's not the case, normal= routing based on the Host
=C2=A0 =C2=A0 =C2=A0 =C2=A0 header
=C2=A0 =C2=A0 =C2=A0 =C2=A0 or SNI should ensure that the validation reques= t goes to the
=C2=A0 =C2=A0 =C2=A0 =C2=A0 right place.

=C2=A0 =C2=A0 =C2=A0 =C2=A0 Nonetheless, I agree that more analysis would b= e useful, across
=C2=A0 =C2=A0 =C2=A0 =C2=A0 all the
=C2=A0 =C2=A0 =C2=A0 =C2=A0 validation methods.

=C2=A0 =C2=A0 =C2=A0 =C2=A0 --Richard


=C2=A0 =C2=A0 =C2=A0 =C2=A0 On Mon, Dec 1, 2014 at 7:33 PM, Tony Arcieri &l= t;bascule@gmail.com<= /a>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 <mailto:
bascule@gmail.com>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 <mailto:bascule@gmail.com <mailto:bascule@gmail.com>>> wrote:
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Is there a published threat= model for claiming domains? I
=C2=A0 =C2=A0 =C2=A0 =C2=A0 haven't
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0been able to find it, but I= 'd certainly like to read it!

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0If we simply accept a servi= ce running on the same IP that a
=C2=A0 =C2=A0 =C2=A0 =C2=A0 given
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0DNS name points to, there s= eems ample opportunity to register
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0certificates for services c= olocated on the same IP.

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0--
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Tony Arcieri

=C2=A0 =C2=A0 --
=C2=A0 =C2=A0 Rob Stradling
=C2=A0 =C2=A0 Senior Research & Development Scientist
=C2=A0 =C2=A0 COMODO - Creating Trust Online



_______________________________________________
Acme mailing list
Acme@ietf.org
ht= tps://www.ietf.org/mailman/listinfo/acme


--
Rob Stradling
Senior Research & Development Scientist
COMODO - Creating Trust Online
Office Tel: +44.(0)1274.730505
Office Fax: +44.(0)1274.730909
www.comodo.com

COMODO CA Limited, Registered in England No. 04058690
Registered Office:
=C2=A0 3rd Floor, 26 Office Village, Exchange Quay,
=C2=A0 Trafford Road, Salford, Manchester M5 3EQ

This e-mail and any files transmitted with it are confidential and intended= solely for the use of the individual or entity to whom they are addressed.= =C2=A0 If you have received this email in error please notify the sender by= replying to the e-mail containing this attachment. Replies to this email m= ay be monitored by COMODO for operational or business reasons. Whilst every= endeavour is taken to ensure that e-mails are free from viruses, no liabil= ity can be accepted and the recipient is requested to use their own virus c= hecking software.
--001a1133c20adb6126050ae8513f-- From nobody Tue Dec 23 13:00:33 2014 Return-Path: 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 5A9501A6FBC for ; Tue, 23 Dec 2014 13:00:32 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -2.6 X-Spam-Level: X-Spam-Status: No, score=-2.6 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7] 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 8b9GsqOpuiY0 for ; Tue, 23 Dec 2014 13:00:29 -0800 (PST) Received: from mail-qc0-f179.google.com (mail-qc0-f179.google.com [209.85.216.179]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 96CFD1A6FB5 for ; Tue, 23 Dec 2014 13:00:29 -0800 (PST) Received: by mail-qc0-f179.google.com with SMTP id c9so5053866qcz.24 for ; Tue, 23 Dec 2014 13:00:28 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:date:from:to:subject:message-id:in-reply-to :references:mime-version:content-type:content-transfer-encoding; bh=W3bolu+qvTuf+I15/9FuiFvwk9qrWEXEMEIPLzGjH+0=; b=DH49k2VPmP3Duc3gfmma5DTmko9J2XvZ/UGORnHMzJKOuijYeoiF2WOsXJgAJIX9Dt VpYPKLkHcJ1u11jA+vNDo6TcCuFOoqkqG+uU2pz5UuOiV2iBWlIkW3pA0k0lJ2vh/CKd ZB2sogFhgkKT7/2YPvuUdaA+e6pVu8rj/uzz7qP+G5z+4mX0kkLNTbim7333zrSQtGsL 5zjHJnIBx5wfN87Ge+Ln+7geQsmMjEGYfM3AdboOU8XH40A5Kp/joWFxBGVaMi6FCZXe 0TKkQaCCen69CwUDAnYoReqxrHx50X98dqz18rgnoZU79k2gztknRmzOjdbJCcqLWK9r ZxtA== X-Gm-Message-State: ALoCoQlmgHV/Qr/7L3C5vgniNz23U23EQwgbZmEXuATn5uHcsBOUVWeUtQsN7G9BPLgkaQgWANRU X-Received: by 10.229.174.70 with SMTP id s6mr48717807qcz.7.1419368428848; Tue, 23 Dec 2014 13:00:28 -0800 (PST) Received: from localhost (HSI-KBW-134-3-146-104.hsi14.kabel-badenwuerttemberg.de. [134.3.146.104]) by mx.google.com with ESMTPSA id k6sm19783228qaz.41.2014.12.23.13.00.28 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 23 Dec 2014 13:00:28 -0800 (PST) Date: Tue, 23 Dec 2014 22:00:18 +0100 From: Bernd Eckenfels To: "acme@ietf.org" Message-ID: <20141223220018.00001422.ecki@zusammenkunft.net> In-Reply-To: References: <5497F5BB.9030002@comodo.com> <54996033.2@comodo.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Archived-At: http://mailarchive.ietf.org/arch/msg/acme/zVBgiD6SYlO9M4c22V0FoFRT6Rs Subject: Re: [Acme] Threat model for claiming domains X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Dec 2014 21:00:32 -0000 Am Tue, 23 Dec 2014 15:50:05 -0500 schrieb Richard Barnes : > > IIUC, you're suggesting that there's a risk that Dreamhost might > > let you register a CNAME record for .dreamhosters.com that > > points to . comodoca.com. > > A colleague just said to me: "most shared hosts (like Dreamhost) > > designate that subdomain you request for webhosting and that it's > > incredibly unlikely (read: near-impossible) to get them to change > > their DNS for that to point anywhere other than their shared > > hosting servers." > > > > I can confirm that this is the case with Dreamhost, having just tried > the experiment. Nonetheless, this seems like kind of a fragile > assumption, given that there do exist some less-clueful hosting > providers. Each dyndns provider does exactly that, allowing you to register a record with an user chosen name pointing to any IP. This is at least true for A records, but I could imagine similiar serives (host forwarding servicde) for CNAME. So TXT is better in that case (however none of them should be used without a second factor like whois-mail or to not issue certificates for the domain name without the host prefix (or even worse wildcards)). Gruss Bernd From nobody Mon Dec 29 03:48:55 2014 Return-Path: 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 595F21A0369 for ; Mon, 29 Dec 2014 03:48:51 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: 3.3 X-Spam-Level: *** X-Spam-Status: No, score=3.3 tagged_above=-999 required=5 tests=[BAYES_50=0.8, URIBL_DBL_ABUSE_BOTCC=2.5] 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 41UN_vzW6W3E for ; Mon, 29 Dec 2014 03:48:48 -0800 (PST) Received: from mmextmx2.mcr.colo.comodoca.net (mmextmx2.mcr.colo.comodoca.net [IPv6:2a02:1788:402:c00::c0a8:9cd6]) (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 733431A0390 for ; Mon, 29 Dec 2014 03:48:04 -0800 (PST) Received: (qmail 24758 invoked by uid 1004); 29 Dec 2014 11:48:02 -0000 Received: from ian.brad.office.comodo.net (HELO ian.brad.office.comodo.net) (192.168.0.202) by mmextmx2.mcr.colo.comodoca.net (qpsmtpd/0.84) with ESMTP; Mon, 29 Dec 2014 11:48:02 +0000 Received: (qmail 26110 invoked by uid 1000); 29 Dec 2014 11:48:02 -0000 Received: from and0004.comodo.net (HELO [192.168.0.58]) (192.168.0.58) (smtp-auth username rob, mechanism plain) by ian.brad.office.comodo.net (qpsmtpd/0.40) with (AES128-SHA encrypted) ESMTPSA; Mon, 29 Dec 2014 11:48:02 +0000 Message-ID: <54A13F72.1090104@comodo.com> Date: Mon, 29 Dec 2014 11:48:02 +0000 From: Rob Stradling User-Agent: Mozilla/5.0 (X11; Linux i686; rv:31.0) Gecko/20100101 Thunderbird/31.3.0 MIME-Version: 1.0 To: Richard Barnes References: <5497F5BB.9030002@comodo.com><54996033.2@comodo.com> In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Archived-At: http://mailarchive.ietf.org/arch/msg/acme/SmkGpcqLykB3_fnJ8BNaaavawto Cc: "acme@ietf.org" Subject: Re: [Acme] Threat model for claiming domains X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Dec 2014 11:48:51 -0000 On 23/12/14 20:50, Richard Barnes wrote: > On Tue, Dec 23, 2014 at 7:29 AM, Rob Stradling wrote: > On 22/12/14 14:29, Richard Barnes wrote: > > Hey Rob, > > Thanks for this. The HTTP one looks more or less as I would have > expected. We should probably tighten up the ACME one to look > more like it. > > With regard to the DNS validation: > 1. Is there a reason you guys use CNAME instead of TXT? > > Hi Richard. I don't recall any particularly good reason for why we > chose to use CNAME instead of TXT. I think it was just a case of > sticking with what we knew would work and with what our customers > were more likely to already be familiar with. Hi Richard. Instead of using either CNAME or TXT for DNS-based domain validation in ACME, wouldn't it make more sense to use and extend CAA (RFC6844) ? > IIUC, you're suggesting that there's a risk that Dreamhost might let > you register a CNAME record for .dreamhosters.com > that points to .comodoca.com > . > A colleague just said to me: "most shared hosts (like Dreamhost) > designate that subdomain you request for webhosting and that it's > incredibly unlikely (read: near-impossible) to get them to change > their DNS for that to point anywhere other than their shared hosting > servers." > > I can confirm that this is the case with Dreamhost, having just tried > the experiment. Nonetheless, this seems like kind of a fragile > assumption, given that there do exist some less-clueful hosting providers. > > --Richard We're not aware of any less-clueful hosting providers who break our assumption, but I agree that the assumption is fragile given that there are such a huge number of webhosts across the world. Let me just reiterate that this... > BTW, the reason I came up with the idea of using CSR hashes was > because we were trying to workaround patented domain control methods > that involve a CA-generated secret. ...was why we felt we had to make that fragile assumption. If ACME can avoid making any fragile assumptions of this sort and can avoid infringing any patents, then I'll be happy. :-) -- Rob Stradling Senior Research & Development Scientist COMODO - Creating Trust Online From nobody Mon Dec 29 22:16:53 2014 Return-Path: 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 02B6B1A1F1D for ; Mon, 29 Dec 2014 22:16:51 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -0.1 X-Spam-Level: X-Spam-Status: No, score=-0.1 tagged_above=-999 required=5 tests=[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 4a9wIE4QFGTs for ; Mon, 29 Dec 2014 22:16:39 -0800 (PST) Received: from mail-we0-x233.google.com (mail-we0-x233.google.com [IPv6:2a00:1450:400c:c03::233]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 43F691A1B84 for ; Mon, 29 Dec 2014 22:16:39 -0800 (PST) Received: by mail-we0-f179.google.com with SMTP id q59so531027wes.10 for ; Mon, 29 Dec 2014 22:16:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:subject:references :in-reply-to:content-type:content-transfer-encoding; bh=MYjBkjbD1TmczDfsUrRqQlR3l+T7D3p0DeJCaaQKceY=; b=kT6hKUkgvPc4ZvBl8VqMt10vV+rDP+tIKKs7+3pi7+dk/sZgdr7pY40V0FFDUwyucm j1bjByljv1ja9RpR27YnJn5pRo1d3tFHVA4Pl5OkggJ1A3AENGPmz584fbQBhBx/dd3T bCYlmZ0SsMnG+3t5oMT4Glh0xVQSlB5XoEVJa7lzSChH2mM0Fda8chl9F0GtS2cOJMO1 w8nYOmSmRxii8rkeSi2f5rF1ROf+21IEMQf6jh3dIIzAfubo0sJfmWPsyu19oij8qIhA 1VFCyQqVbkt0FlpYMx1DrnkHMHQ8yZ/R08VGKhhwpGKLSyR0jNrNgDPQTWoeXHu10xVH cPcQ== X-Received: by 10.194.108.98 with SMTP id hj2mr118417800wjb.102.1419920198068; Mon, 29 Dec 2014 22:16:38 -0800 (PST) Received: from [192.168.1.79] (48.194.130.77.rev.sfr.net. [77.130.194.48]) by mx.google.com with ESMTPSA id la10sm22762501wjc.36.2014.12.29.22.16.37 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 29 Dec 2014 22:16:37 -0800 (PST) Message-ID: <54A24341.7020104@gmail.com> Date: Tue, 30 Dec 2014 07:16:33 +0100 From: Anders Rundgren User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0 MIME-Version: 1.0 To: "acme@ietf.org" References: <548FF9E3.1020703@gmail.com> <006c01d01a33$2b086890$811939b0$@icloud.com> <004901d01a94$55e9ebe0$01bdc3a0$@icloud.com> <54928827.9030009@gmail.com> <009d01d01af3$8013a2d0$803ae870$@icloud.com> In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Archived-At: http://mailarchive.ietf.org/arch/msg/acme/qjzliUzlX0qZhsNRquwL-cdgKTU Subject: Re: [Acme] ACME signature mechanics X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Dec 2014 06:16:51 -0000 Before you bury the ACME semantics in Base64 or settle on a HTTP-based signature scheme it might be interesting to know that the following 130 lines of Python represents a fully JCS-compliant RSA and EC signature validator: https://code.google.com/p/openkeystore/source/browse/python/trunk/src/org/webpki/json/JCSValidator.py I still haven't tried JCS on .NET but since MSFT is putting the entire foundation as open source I don't expect this to be a major issue. BTW, undefined object serialization order isn't exactly as popular as claimed :-) https://code.google.com/p/v8/issues/detail?id=164 Anders From nobody Mon Dec 29 22:33:27 2014 Return-Path: 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 7D7D41A1F1D for ; Mon, 29 Dec 2014 22:33:26 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -0.1 X-Spam-Level: X-Spam-Status: No, score=-0.1 tagged_above=-999 required=5 tests=[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 kVjr425RIGGr for ; Mon, 29 Dec 2014 22:33:25 -0800 (PST) Received: from mail-ob0-x235.google.com (mail-ob0-x235.google.com [IPv6:2607:f8b0:4003:c01::235]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 5F3C41A0AF1 for ; Mon, 29 Dec 2014 22:33:25 -0800 (PST) Received: by mail-ob0-f181.google.com with SMTP id gq1so43874163obb.12 for ; Mon, 29 Dec 2014 22:33:24 -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=0FwH+AmCydnvFo1T+/qDOq1jZBItsLDZA69d3qjmRHU=; b=Nc4RVJx8QN4uEVHzG0eQ7AigGs2XJfK1vis3zEdev6byY9dV+1s2hrvoErq27IjQYy GzUkEyuYZsE4+r4WWU/te6WupaC08knZwmjyJlPCAHYBxaAKRizBNO998BIIBhqfwBu3 PxBlP8+WqezaElPEkJHyBSinvHGxbAO3ITkrYiyTuID7phG4cyWwLnS5sqmoYRCjSvy+ zT4OxVltXaTSP6ZHCmE/rzYhN3BXhiq9j7ssTBcWqQvvGUFqF3JiKmjSrM+qiDd2Gy0A 6+e8qRBvlQaoG8wZueR5M6/pf0TlBpi6WewxHSPKFV/NwuNHXB7/py5zoe3byD2gWRJ6 onCg== MIME-Version: 1.0 X-Received: by 10.202.89.213 with SMTP id n204mr9233556oib.77.1419921204451; Mon, 29 Dec 2014 22:33:24 -0800 (PST) Received: by 10.202.49.203 with HTTP; Mon, 29 Dec 2014 22:33:24 -0800 (PST) In-Reply-To: <54A24341.7020104@gmail.com> References: <548FF9E3.1020703@gmail.com> <006c01d01a33$2b086890$811939b0$@icloud.com> <004901d01a94$55e9ebe0$01bdc3a0$@icloud.com> <54928827.9030009@gmail.com> <009d01d01af3$8013a2d0$803ae870$@icloud.com> <54A24341.7020104@gmail.com> Date: Mon, 29 Dec 2014 22:33:24 -0800 Message-ID: From: Martin Thomson To: Anders Rundgren Content-Type: text/plain; charset=UTF-8 Archived-At: http://mailarchive.ietf.org/arch/msg/acme/H7nKlC7KFYrqg4NoEGdFslyUq1k Cc: "acme@ietf.org" Subject: Re: [Acme] ACME signature mechanics X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Dec 2014 06:33:26 -0000 On 29 December 2014 at 22:16, Anders Rundgren wrote: > BTW, undefined object serialization order isn't exactly as popular as > claimed :-) Or you could implement using a map that is secure and end up with a properly unpredictable enumeration order. From nobody Mon Dec 29 22:46:58 2014 Return-Path: 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 EFFD61A88B8 for ; Mon, 29 Dec 2014 22:46:56 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -0.1 X-Spam-Level: X-Spam-Status: No, score=-0.1 tagged_above=-999 required=5 tests=[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 Bpvq56AhaXRF for ; Mon, 29 Dec 2014 22:46:53 -0800 (PST) Received: from mail-we0-x22a.google.com (mail-we0-x22a.google.com [IPv6:2a00:1450:400c:c03::22a]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id BBB2F1A0AF1 for ; Mon, 29 Dec 2014 22:46:52 -0800 (PST) Received: by mail-we0-f170.google.com with SMTP id w61so558924wes.15 for ; Mon, 29 Dec 2014 22:46:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=yRUyeXJ0fOLMotDcEqSZiQdsOxdw6k58+42oTsKT54I=; b=IlOL3hcioyDNrTkn+LBKxbvmFlMZz0jxx6wwWGfDw+DDYR0iz9wKmKbFoogeeNd2ld yleTPRURRh4XGSPco6cyJvVx2cYpFmb9ttHbN73wnLekjR0eejC489jTk+KRDFdCRX7v auC+fcYlZ+ykDynixPkGVG27TYSgkZm/3IBpRoG4NXAEgwLE7UBJ8uPqre6L7y5RgfXv yOfB7AjPJTUanPbioBj/koTdQRMblIuDo12sRUYW7gOrom6i+2T72YUwQsSuoZQntkz7 t7I0gcypkKCryOovHK4MruLUucCgR6yuOr/HI5E3HJrjEwp5FlrPV1J8aDcXQHv3YDwq JYvw== X-Received: by 10.180.107.136 with SMTP id hc8mr103904612wib.32.1419922011517; Mon, 29 Dec 2014 22:46:51 -0800 (PST) Received: from [192.168.1.79] (48.194.130.77.rev.sfr.net. [77.130.194.48]) by mx.google.com with ESMTPSA id dp8sm42183437wib.20.2014.12.29.22.46.50 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 29 Dec 2014 22:46:51 -0800 (PST) Message-ID: <54A24A56.30703@gmail.com> Date: Tue, 30 Dec 2014 07:46:46 +0100 From: Anders Rundgren User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0 MIME-Version: 1.0 To: Martin Thomson References: <548FF9E3.1020703@gmail.com> <006c01d01a33$2b086890$811939b0$@icloud.com> <004901d01a94$55e9ebe0$01bdc3a0$@icloud.com> <54928827.9030009@gmail.com> <009d01d01af3$8013a2d0$803ae870$@icloud.com> <54A24341.7020104@gmail.com> In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Archived-At: http://mailarchive.ietf.org/arch/msg/acme/kUxll_dC7K6U3p4WdwkwOqzncpc Cc: "acme@ietf.org" Subject: Re: [Acme] ACME signature mechanics X-BeenThere: acme@ietf.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Automated Certificate Management Environment List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Dec 2014 06:46:57 -0000 On 2014-12-30 07:33, Martin Thomson wrote: > On 29 December 2014 at 22:16, Anders Rundgren > wrote: >> BTW, undefined object serialization order isn't exactly as popular as >> claimed :-) > > Or you could implement using a map that is secure and end up with a > properly unpredictable enumeration order. > Right. But by honoring insertion order as the default, everyone get what they want at the cost of a minor overhead. A core idea behind JCS is to do as little as is technically possible. Anders