Re: [Webpush] Application server authentication new years edition

Costin Manolache <costin@gmail.com> Wed, 06 January 2016 16:28 UTC

Return-Path: <costin@gmail.com>
X-Original-To: webpush@ietfa.amsl.com
Delivered-To: webpush@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8CA1B1A8A0F for <webpush@ietfa.amsl.com>; Wed, 6 Jan 2016 08:28:23 -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 FiEePlIMdHqE for <webpush@ietfa.amsl.com>; Wed, 6 Jan 2016 08:28:21 -0800 (PST)
Received: from mail-ob0-x22d.google.com (mail-ob0-x22d.google.com [IPv6:2607:f8b0:4003:c01::22d]) (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 940D21A891B for <webpush@ietf.org>; Wed, 6 Jan 2016 08:28:21 -0800 (PST)
Received: by mail-ob0-x22d.google.com with SMTP id wp13so168438876obc.1 for <webpush@ietf.org>; Wed, 06 Jan 2016 08:28: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=j08WoZG68AX2YL85nVwPkkfD5pdSeFSUD2jvVOryn4Q=; b=mle6D8rkGvICnN8kQxcEunSXjav0DC/9HYYLOtfWonXhLbV4oK6i6bKkPfzW4dZ3I+ 8pgh/CWTd6pFBGr4zm2nVW6XxVwln9/5f2KoTYRRkMBSyU+hy/6q4hNU1X7JrDcs4EHX V6QaaQCFmzQMJHo2waEEfh+XOxT0C1hI8i6eS2i0EP6LRJylAaFJLI0EzarO3Ixbp93n gPPgMiOGgehytDzkbYl9VNg2L+hKRijw1fD+8bty6z0sECnZIQJpTq7+oNYXJz0jnJkw qpeyEiSswuazmpDo/DcO+X+nLncmcccy2cto9y8g6gzpt7iYD56gTIaHB7Al/qnnc13B nBkQ==
MIME-Version: 1.0
X-Received: by 10.182.171.8 with SMTP id aq8mr28955106obc.51.1452097700925; Wed, 06 Jan 2016 08:28:20 -0800 (PST)
Received: by 10.76.8.74 with HTTP; Wed, 6 Jan 2016 08:28:20 -0800 (PST)
In-Reply-To: <CABkgnnUYkuu9pjuqLDhiWLNWzkr9ZfYRNny4ZvSKRTWie2bQyA@mail.gmail.com>
References: <CABkgnnXBHXfY6Gz-FKGVUUoOwyJo9zaw1rWceSqVp94FypDbJA@mail.gmail.com> <CAP8-Fq=PhUcj5aaE6dvF2_+-HmVrGDyk41QBzkVxiNMxUakoag@mail.gmail.com> <CABkgnnUYkuu9pjuqLDhiWLNWzkr9ZfYRNny4ZvSKRTWie2bQyA@mail.gmail.com>
Date: Wed, 6 Jan 2016 08:28:20 -0800
Message-ID: <CAP8-FqnAs0VOL8H-vhfQGeCL+o4D0TUVFV4Ju9JFeyVRZOK5Xg@mail.gmail.com>
From: Costin Manolache <costin@gmail.com>
To: Martin Thomson <martin.thomson@gmail.com>
Content-Type: multipart/alternative; boundary=e89a8ff1ccaaa497820528acd75c
Archived-At: <http://mailarchive.ietf.org/arch/msg/webpush/etb7UKz7XO0SbKh4LkvVGW1CCDY>
Cc: Ben Bangert <bbangert@mozilla.com>, Costin Manolache <costin@google.com>, "webpush@ietf.org" <webpush@ietf.org>
Subject: Re: [Webpush] Application server authentication new years edition
X-BeenThere: webpush@ietf.org
X-Mailman-Version: 2.1.15
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, 06 Jan 2016 16:28:23 -0000

On Wed, Jan 6, 2016 at 1:16 AM, Martin Thomson <martin.thomson@gmail.com>;
wrote:

> On 6 January 2016 at 15:55, Costin Manolache <costin@gmail.com>; wrote:
> > It is important to define what "voluntary" means :-). My understanding is
> > that it involves
> > a choice made by an entity, either the app server and push service.
>
> I hope that the draft makes it clear enough: "voluntary" refers to the
> choice at the app server whether to provide this information.
>
> > The only 'voluntary' choice an app server has is to not use
> > a push service and UAs that requires authentication/authorization.
>
> Right, and I don't think that this is a choice we want to force people
> into making.  That has some fairly dire market effects.
>
> > For authentication:  2.1(certificate) would be my preference, and is a
> well
> > known and established
> > mechanism, followed by 2.6, 2.3.
>
> Both 2.1 (certs) and 2.6 (token binding) require access to the TLS
> connection.  Token binding has the added concern that it is a new
> mechanism that might not be well deployed.
>
> When I inquired, certs did seem possible, but Mozilla folks (JR can
> speak to this better than I), had some operational concerns.  JWT
> hoists the authentication information up into HTTP, which was a lot
> easier to manage.
>
> > -2.4 doesn't cover authentication,
> > -2.5 seems too complicated (2.5 maps to Oauth1, 2.3 to Oauth2 - we know
> the
> > outcome)
>
> I agree.  We don't really know how to solve the signing problem, and
> not from a lack of trying.
>
> > -2.2 is what we use now, but doesn't work well with 3. - subscription
> > association - if
> > public keys are used.
> >
> > For authorization - or "subscription association" - big +1 :-)
>
> Yeah, I like the subscription association feature too.  I think that
> it's an important consideration in choosing a mechanism.
>
> > For contact - each of the authentication schemes in the draft provide a
> way
> > to include contact info, and
> > the choice for senders is to include it or not, and the choice for push
> > services is to throttle/reject
> >  or not. The tricky part is if any additional verification will be done
> by
> > push services.
> > I guess some providers (in particular free services) may be ok with a
> more
> > relaxed verification
> > or even allow some rate-limited sending without contact info, I
> personally
> > don't mind it - if we
> > can't contact a sender in case of problems we just block it.
>
> That's the policy that we've discussed having.  I think that it is
> very important to allow requests from all comers, even without
> authentication.  Of course, services should be prepared to cut off
> those unauthenticated requests very quickly as load increases.
>