Re: [Webpush] Application server authentication new years edition
Costin Manolache <costin@gmail.com> Wed, 06 January 2016 04:55 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 1E14F1A8A8E for <webpush@ietfa.amsl.com>; Tue, 5 Jan 2016 20:55:29 -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 u1ZzrljOhfhT for <webpush@ietfa.amsl.com>; Tue, 5 Jan 2016 20:55:26 -0800 (PST)
Received: from mail-ob0-x236.google.com (mail-ob0-x236.google.com [IPv6:2607:f8b0:4003:c01::236]) (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 0F8CB1A90EB for <webpush@ietf.org>; Tue, 5 Jan 2016 20:55:24 -0800 (PST)
Received: by mail-ob0-x236.google.com with SMTP id ba1so291534300obb.3 for <webpush@ietf.org>; Tue, 05 Jan 2016 20:55: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=ybFdMRmr39Qeu7X84mtAGYBY2V/uh50e+9uxEDGJWHk=; b=l0609gHkTeDifct3XM6hCKKn5FXpe6pcBy4iMWPHutgglH2fx7IiTDRPVCztTgr674 /jJWSbDEb5xIIe/OLenUecXwsNcJqXT/LAn6s0/1Jdf1j92zYC6qhlPJraBFrIJNURYF oJz3Gv3/8tDBRSvfZxf7o/pU+PR2q+iWqgkHyrlGktEh9GRcpvnDhH1RpnmKlIqLiVZP +VCXN047hyYwUtkPclQ5tAAUeHh7BKaxFD04syubAgUu4qz5wdQm0+dGPopNE6rDS3cB ZSSG3dVEfqVbhLEZFmjDbYmHk0fmoxpRoqetLyTmm0DNyp+jexpNq2ulX/XFcgg2t4qU qKxQ==
MIME-Version: 1.0
X-Received: by 10.60.135.98 with SMTP id pr2mr59854393oeb.65.1452056123456; Tue, 05 Jan 2016 20:55:23 -0800 (PST)
Received: by 10.76.8.74 with HTTP; Tue, 5 Jan 2016 20:55:23 -0800 (PST)
In-Reply-To: <CABkgnnXBHXfY6Gz-FKGVUUoOwyJo9zaw1rWceSqVp94FypDbJA@mail.gmail.com>
References: <CABkgnnXBHXfY6Gz-FKGVUUoOwyJo9zaw1rWceSqVp94FypDbJA@mail.gmail.com>
Date: Tue, 05 Jan 2016 20:55:23 -0800
Message-ID: <CAP8-Fq=PhUcj5aaE6dvF2_+-HmVrGDyk41QBzkVxiNMxUakoag@mail.gmail.com>
From: Costin Manolache <costin@gmail.com>
To: Martin Thomson <martin.thomson@gmail.com>
Content-Type: multipart/alternative; boundary="047d7b4179216ec6330528a32902"
Archived-At: <http://mailarchive.ietf.org/arch/msg/webpush/nHo4mX8w0uVDUWDqXwLVJOkG9CU>
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 04:55:29 -0000
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. The only 'voluntary' choice an app server has is to not use a push service and UAs that requires authentication/authorization. Separate comments on the 3 elements - authentication, authorization and contact info. For authentication: 2.1(certificate) would be my preference, and is a well known and established mechanism, followed by 2.6, 2.3. -2.4 doesn't cover authentication, -2.5 seems too complicated (2.5 maps to Oauth1, 2.3 to Oauth2 - we know the outcome) -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 :-) I like using the public key of the sender - in which case authentication must use 2.1, 2.6 or 2.3. Using an ID provided by the push service will be complicated if multiple push services are used. I don't see any other option - whatever the subscriber uses needs to be verifiable by the push service when send happens. 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. Costin On Tue, Jan 5, 2016 at 7:35 PM, Martin Thomson <martin.thomson@gmail.com> wrote: > With Peter's help, I've just submitted a new version of a draft that > attempts to enumerate the options for application server > authentication (issue #44). > > https://tools.ietf.org/html/draft-thomson-webpush-vapid-01 > > This assumes the following requirements: > > 1. A push service would like to be able to correlate requests from a > particular application server over time. > > 2. A push service would like to be able to contact the > operator/developer of an application server. > > This takes the position that any correlation or contact information is > provided voluntarily by an application server and that we don't > require strong authentication for application servers. > > Both Ben and Costin have suggested that we could (SHOULD?) construct a > scheme to strongly authenticate servers. Ben observed that most web > push consumers will have HTTPS endpoints with valid server > certificates and we could use that to construct a system that strongly > authenticates senders. That might be possible, but it's likely to be > a complicated system that introduces a whole new set of technical, > operational and privacy problems. > > The voluntary authentication incrementally improves the situation and > allows us to build stronger authentication systems on top in future. > I think that we should look at doing that, but I would be opposed to > anything that made a more heavyweight authentication system mandatory > to use. > > So I come to the question: what levels of authentication do we want > to support for application servers? > > A. anonymous/none - push without being authenticated > > B. voluntary authentication - as proposed in the draft > > C. strong - proposal TBD > On Tue, Jan 5, 2016 at 7:35 PM, Martin Thomson <martin.thomson@gmail.com> wrote: > With Peter's help, I've just submitted a new version of a draft that > attempts to enumerate the options for application server > authentication (issue #44). > > https://tools.ietf.org/html/draft-thomson-webpush-vapid-01 > > This assumes the following requirements: > > 1. A push service would like to be able to correlate requests from a > particular application server over time. > > 2. A push service would like to be able to contact the > operator/developer of an application server. > > This takes the position that any correlation or contact information is > provided voluntarily by an application server and that we don't > require strong authentication for application servers. > > Both Ben and Costin have suggested that we could (SHOULD?) construct a > scheme to strongly authenticate servers. Ben observed that most web > push consumers will have HTTPS endpoints with valid server > certificates and we could use that to construct a system that strongly > authenticates senders. That might be possible, but it's likely to be > a complicated system that introduces a whole new set of technical, > operational and privacy problems. > > The voluntary authentication incrementally improves the situation and > allows us to build stronger authentication systems on top in future. > I think that we should look at doing that, but I would be opposed to > anything that made a more heavyweight authentication system mandatory > to use. > > So I come to the question: what levels of authentication do we want > to support for application servers? > > A. anonymous/none - push without being authenticated > > B. voluntary authentication - as proposed in the draft > > C. strong - proposal TBD > > _______________________________________________ > Webpush mailing list > Webpush@ietf.org > https://www.ietf.org/mailman/listinfo/webpush >
- Re: [Webpush] Application server authentication n… Martin Thomson
- [Webpush] Application server authentication new y… Martin Thomson
- Re: [Webpush] Application server authentication n… Costin Manolache
- Re: [Webpush] Application server authentication n… Martin Thomson
- Re: [Webpush] Application server authentication n… Costin Manolache
- Re: [Webpush] Application server authentication n… jr conlin
- Re: [Webpush] Application server authentication n… Costin Manolache
- Re: [Webpush] Application server authentication n… Costin Manolache
- Re: [Webpush] Application server authentication n… Benjamin Bangert
- Re: [Webpush] Application server authentication n… Costin Manolache
- Re: [Webpush] Application server authentication n… Benjamin Bangert
- Re: [Webpush] Application server authentication n… Martin Thomson
- Re: [Webpush] Application server authentication n… Costin Manolache
- Re: [Webpush] Application server authentication n… Costin Manolache
- Re: [Webpush] Application server authentication n… Martin Thomson
- Re: [Webpush] Application server authentication n… Benjamin Bangert
- Re: [Webpush] Application server authentication n… Costin Manolache
- Re: [Webpush] Application server authentication n… Benjamin Bangert
- Re: [Webpush] Application server authentication n… Costin Manolache
- Re: [Webpush] Application server authentication n… Martin Thomson
- Re: [Webpush] Application server authentication n… Costin Manolache