Re: [Acme] Concerning alternative formats …

Felipe Gasper <felipe@felipegasper.com> Mon, 05 March 2018 15:28 UTC

Return-Path: <felipe@felipegasper.com>
X-Original-To: acme@ietfa.amsl.com
Delivered-To: acme@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 6BF9C12D777 for <acme@ietfa.amsl.com>; Mon, 5 Mar 2018 07:28:32 -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, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=felipegasper.com
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 F0Sm3AAiXAgl for <acme@ietfa.amsl.com>; Mon, 5 Mar 2018 07:28:31 -0800 (PST)
Received: from web1.siteocity.com (web1.siteocity.com [67.227.147.204]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 0AEB9127201 for <acme@ietf.org>; Mon, 5 Mar 2018 07:28:30 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=felipegasper.com; s=default; h=To:References:Message-Id: Content-Transfer-Encoding:Cc:Date:In-Reply-To:From:Subject:Mime-Version: Content-Type:Sender:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=Q4/WbmAhPztTbX/Bfusu4NnxhBlc8QajNoegmZ7b8h8=; b=ZjS5AOQ4fJ91/4xWFITp1vVfO Vh6HweI35RHSBVMANp4rnsP7DvsAUqLZI+ue+S8+k8c71D2nJHpg6UVh3NfnlfaXafgRUzmYTNQNk H05B06439qSNsBgVGeYtkBmY6YWNFMoY+DhGu7uYshF3IE4HlT74h9lyrJI07F/9C1RRQSrqEVNTz Ph0cGPOwWY1o1M4X7JEaZ8hse1Tm4HrlrG5j5qSeAiNQr/MEh2AB8ElQLgqP+rJcboQhXAnAEKtRu 58QdtpgEmaxISN/HjuNV57fqJtbFXR+3bUWbO4nL+3SWfTDBxEoDl52LqqFPNx9YHYYPKflw/1QZ0 qBtX4zqvg==;
Received: from cpe64777d56aa33-cm64777d56aa30.cpe.net.cable.rogers.com ([99.248.33.160]:52867 helo=[192.168.0.10]) by web1.siteocity.com with esmtpsa (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.90_1) (envelope-from <felipe@felipegasper.com>) id 1ess2M-0006Ay-MD; Mon, 05 Mar 2018 09:28:27 -0600
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 11.2 \(3445.5.20\))
From: Felipe Gasper <felipe@felipegasper.com>
In-Reply-To: <20180305143531.GA877@carrot.tutnicht.de>
Date: Mon, 05 Mar 2018 10:28:25 -0500
Cc: Richard Barnes <rlb@ipv.sx>, Logan Widick <logan.widick@gmail.com>, ACME WG <acme@ietf.org>, Martin Thomson <martin.thomson@gmail.com>, Fraser Tweedale <frase@frase.id.au>
Content-Transfer-Encoding: quoted-printable
Message-Id: <995C0A20-B1EF-42C5-B064-65CE322001AC@felipegasper.com>
References: <CAMmAzEJ0A2iOd2ASSHGJRfuB6Ss-BaOCXWsxUKUZx9UUzbT1ng@mail.gmail.com> <20180304143300.GI2161@carrot.tutnicht.de> <CAMmAzELuDLp4KxPtLgHp8AoyKGLOOjx4HPSrhDJ=yJ9RytU_vw@mail.gmail.com> <CAL02cgSAQaE0Qd=q3aSEDZdGe0TwyHs60xn-042OhKxu5LHxYA@mail.gmail.com> <CABkgnnWKhQ99qHtN8PkyG=6zNbJeGPYstL7Hgek36nR+747oHg@mail.gmail.com> <CAL02cgQFvVNEyBEAPsPdAtWK+VL0aPxdDqhZc_yrVLza4keZmg@mail.gmail.com> <CABkgnnUeiZvckTBRZNAv1Psg+ge-xK+y6vhSA4h2Ve_9_Nt8cg@mail.gmail.com> <CAL02cgSbgr69Qbd23MfF=gOrDn6wUXwDfx0Qv=H6RczoC2uasA@mail.gmail.com> <CABkgnnVu9MjfMtJ7tmoTBLT+3qoX2YPZqau92YUW=XqoL-Uf7Q@mail.gmail.com> <50502D5E-89F4-4CEC-A947-AF37032A0381@felipegasper.com> <20180305143531.GA877@carrot.tutnicht.de>
To: Jörn Heissler <acme-specs@joern.heissler.de>
X-Mailer: Apple Mail (2.3445.5.20)
X-OutGoing-Spam-Status: No, score=-1.0
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - web1.siteocity.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - felipegasper.com
X-Get-Message-Sender-Via: web1.siteocity.com: authenticated_id: fgasper/from_h
X-Authenticated-Sender: web1.siteocity.com: felipe@felipegasper.com
X-Source:
X-Source-Args:
X-Source-Dir:
X-From-Rewrite: unmodified, already matched
Archived-At: <https://mailarchive.ietf.org/arch/msg/acme/WiCjEni91IkoW1DDjpsaj6LfNQM>
Subject: Re: [Acme] Concerning alternative formats …
X-BeenThere: acme@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Automated Certificate Management Environment <acme.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/acme>, <mailto:acme-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/acme/>
List-Post: <mailto:acme@ietf.org>
List-Help: <mailto:acme-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/acme>, <mailto:acme-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 05 Mar 2018 15:28:32 -0000

> On Mar 5, 2018, at 9:35 AM, Jörn Heissler <acme-specs@joern.heissler.de> wrote:
> 
> On Mon, Mar 05, 2018 at 09:11:02 -0500, Felipe Gasper wrote:
>> Regarding alternative formats, I think ACME over WebSocket would be a great thing. Replay-nonce would go away, and clients wouldn’t need to poll for the certificate unless the connection dropped. The server could send the certificate as soon as it’s ready. A simple handshake at the start could take the place of JWS, too.
> 
> Moving to websocket would mean having to specify a new websocket based
> protocol and reimplementing all servers/clients.

I would think “ACME/bidi” could live alongside ACME/HTTP. The bidirectional variant could be described in a separate RFC that gives the differences--which would basically just be how to translate the HTTP-specific parts of ACME/HTTP to “pure messages”.

WebSocket wouldn’t necessarily be the only persistent-connection format; any reliable, message-oriented protocol (e.g., SCTP or WAMP “RawSocket”) could work.

> You'd also need to consider MitM (e.g. by CDN or expensive enterprise MitM
> appliances). Doing a handshake at the beginning won't be enough to keep
> those from taking over a session after the handshake.
> 
> If you wanted to eliminate the polling, it would be possible to change
> the finalize endpoint to return the certificate directly, even if it
> takes a while until the HTTP response is sent.

This would alleviate the polling for the certificate but not for authz status. If I have an Order with, say, 5 authzs, I’ll still need to poll for the state of those.

A transport layer that allows asynchronous server-to-client communication would facilitate quicker feedback to the client and a smoother user experience overall. 

-F