Re: [Webpush] Eric Rescorla's Discuss on draft-ietf-webpush-vapid-03: (with DISCUSS and COMMENT)

Ben Campbell <ben@nostrum.com> Wed, 16 August 2017 02:31 UTC

Return-Path: <ben@nostrum.com>
X-Original-To: webpush@ietfa.amsl.com
Delivered-To: webpush@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 6C7A7132468 for <webpush@ietfa.amsl.com>; Tue, 15 Aug 2017 19:31:42 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.88
X-Spam-Level:
X-Spam-Status: No, score=-1.88 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, T_SPF_HELO_PERMERROR=0.01, T_SPF_PERMERROR=0.01] autolearn=unavailable autolearn_force=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 DcIqWEmmTBtp for <webpush@ietfa.amsl.com>; Tue, 15 Aug 2017 19:31:41 -0700 (PDT)
Received: from nostrum.com (raven-v6.nostrum.com [IPv6:2001:470:d:1130::1]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1F1A6132467 for <webpush@ietf.org>; Tue, 15 Aug 2017 19:31:41 -0700 (PDT)
Received: from [10.0.1.63] (cpe-66-25-7-22.tx.res.rr.com [66.25.7.22]) (authenticated bits=0) by nostrum.com (8.15.2/8.15.2) with ESMTPSA id v7G2VbJ9034466 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO); Tue, 15 Aug 2017 21:31:38 -0500 (CDT) (envelope-from ben@nostrum.com)
X-Authentication-Warning: raven.nostrum.com: Host cpe-66-25-7-22.tx.res.rr.com [66.25.7.22] claimed to be [10.0.1.63]
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 10.3 \(3273\))
From: Ben Campbell <ben@nostrum.com>
In-Reply-To: <CABcZeBP1Ej2Dd7rPTn6Sq3uVLA1gPHBSRSQR2Fam_mxJqcQgig@mail.gmail.com>
Date: Tue, 15 Aug 2017 21:31:36 -0500
Cc: Martin Thomson <martin.thomson@gmail.com>, "webpush@ietf.org" <webpush@ietf.org>, draft-ietf-webpush-vapid <draft-ietf-webpush-vapid@ietf.org>, webpush-chairs@ietf.org, The IESG <iesg@ietf.org>, Phil Sorber <sorber@apache.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <4125C183-E369-47EA-999A-0080BDF01B4A@nostrum.com>
References: <150284054989.12518.11340069078773708886.idtracker@ietfa.amsl.com> <CABkgnnXwUpp4A=V6gNXoK+Q6LatCHFoB59+xVd0RxQ96Y5gfaQ@mail.gmail.com> <CABcZeBP1Ej2Dd7rPTn6Sq3uVLA1gPHBSRSQR2Fam_mxJqcQgig@mail.gmail.com>
To: Eric Rescorla <ekr@rtfm.com>
X-Mailer: Apple Mail (2.3273)
Archived-At: <https://mailarchive.ietf.org/arch/msg/webpush/aIxw7Pe8v9rk_Wvrf4WPLWe8odY>
Subject: Re: [Webpush] Eric Rescorla's Discuss on draft-ietf-webpush-vapid-03: (with DISCUSS and COMMENT)
X-BeenThere: webpush@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Discussion of potential IETF work on a web push protocol <webpush.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/webpush>, <mailto:webpush-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/webpush/>
List-Post: <mailto:webpush@ietf.org>
List-Help: <mailto:webpush-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/webpush>, <mailto:webpush-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 16 Aug 2017 02:31:42 -0000

> On Aug 15, 2017, at 9:04 PM, Eric Rescorla <ekr@rtfm.com> wrote:
> 
> 
> 
>> On Tue, Aug 15, 2017 at 6:56 PM, Martin Thomson <martin.thomson@gmail.com> wrote:
>>> On 16 August 2017 at 09:42, Eric Rescorla <ekr@rtfm.com> wrote:
>>> > Ultimately, this is a WG decision, but given that there are designs
>>> > with much better security properties, I'd like to know that the WG
>>> > considered and rejected this kind of design alternative before
>>> > we advance the weaker design.
>>> 
>> We discussed the implications of the bearer token design and concluded
>> that this was acceptable. 
> 
> That's a much easier discussion to have without an alternative.
> 
>  
>> We didn't discuss additionally signing
>> messages in this way.  Another alternative is to describe how token
>> binding could be used to prevent token theft.
>> 
>> One complaint I get about webpush is the amount of overhead crypto
>> adds to sending messages.  Mostly from a complexity standpoint.  It's
>> a real implementation barrier.  We've forced people to jump through a
>> lot of hoops and that has made them pretty annoyed.  Deploying this as
>> a required extension could be additionally annoying, not to mention
>> incompatible with the existing deployed code.
>> 
> The flippant thing to say would be that I-Ds come with a big disclaimer
> for exactly this reason. More seriously, the future is bigger than the past
> and given that (as you observe) the vapid token is used to identify
> what you support, it seems like deploying the new thing would be
> straightforward.
> 
> I'm not terribly sympathetic to the complexity point: this is a very modest
> amount of crypto.
> 
> 
> 
>> What is nice about the specific design you describe (and my flippant
>> tokbind suggestion as well coincidentally) is that it can be
>> incrementally added to this scheme without a complete overhaul,
>> probably without even changing the scheme name, suggestions below
>> notwithstanding.
>> 
>> It could be an optional increment, if we could decide that the push
>> service doesn't require this additional protection and it was
>> primarily for the benefit of application servers.  Yes, there are
>> benefits that accrue to push services and user agents alike, but we
>> might decide that they don't gain any certainty about these benefits.
>> That suggests a second, though less satisfying, path: a new draft
>> describing the enhancement.
>> 
> I agree that that's possible, but it's kind of unsatisfying to be publishing
> a draft with this kind of known deficiency.
> 
> Maybe the chairs or ART ADs would like to weigh in here?
> 
> 

Weighing in as an irresponsible (for this draft) ART AD:

My knee jerk response is to agree with Ekr. But it’s worth discussing how big of an incompatibility with existing code people are talking about. Are there a lot of deployed services that support vapid? Do people think that existing implementors will choose not to implement/deploy the additional protection?

Ben.

[…]