Re: [Webpush] Vapid public key

Costin Manolache <costin@gmail.com> Wed, 02 November 2016 18:11 UTC

Return-Path: <costin@gmail.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 DC269129AB1 for <webpush@ietfa.amsl.com>; Wed, 2 Nov 2016 11:11:59 -0700 (PDT)
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 autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.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 3UazXnSo6Kmx for <webpush@ietfa.amsl.com>; Wed, 2 Nov 2016 11:11:58 -0700 (PDT)
Received: from mail-yw0-x229.google.com (mail-yw0-x229.google.com [IPv6:2607:f8b0:4002:c05::229]) (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 79418129569 for <webpush@ietf.org>; Wed, 2 Nov 2016 11:11:58 -0700 (PDT)
Received: by mail-yw0-x229.google.com with SMTP id h14so17470301ywa.2 for <webpush@ietf.org>; Wed, 02 Nov 2016 11:11:58 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=lij1QsENBBwFWFDc7HZkMGSrpQVJbv1Vjlalc8+4m5I=; b=iok2vRV9keWMh1ZhO80znysspvliNPCc6cDmKv3NPd5nQ/+XBfxoYSr66DJbewVpNO JdN/b/8irvfoAvW/ZS0V6izu+VxpXE93fMewBAju/Oq/aIqtlgJHyD3ivYYRzqlv/Hu1 HnI9oUmm4gpfpdaWFR0xDB0/e1nCh7CCGNzhDyqBny+v7KCfqXV4XOkV+xvMgPnrGzWh 2i1WLEvhMtNtM3n59Qg4DWeb8mG45tRdOXdvYYzsnNnT/09B4s7TEeOtv/Im/tyq0Py9 YR3m7O6Z1gVWKCnLG4I2WsJdG+I4HqcURy7jONo0+sryYmIHsMKPK+4k2C+QHZytftge sCLQ==
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:in-reply-to:from:date :message-id:subject:to:cc; bh=lij1QsENBBwFWFDc7HZkMGSrpQVJbv1Vjlalc8+4m5I=; b=b1m5r0O3/km9VT5P9hCWvKzwQLOf7Ko+O692fSqr/mMPnKOPaMN4wGi7mLLHS/vS4L 3+V7EMl3m+o1wdkN1TC3TWUdzL0i4KpFhzHZiDLB3zX78YlAsYO4Rb81OwXsFCjSg2ao OQshIUGojqZ6dQ2X6db64Fjtz5nriO+RQZpe/fPCYb3kuDvPb/7QfvV/krXAnZGOi+rB 4BK0N9dtGAlX9dK4TZj2rnju3GX8FTLndRENYYlDuXQWOxea7/TFr008Kznx2Ysegqgx vhfZhvkD7awCFoQIYMPlmbO4+toskfN/j9z5E7MgF27fB/Tpj6ixirCVx6znt5pkuxN9 ZpJg==
X-Gm-Message-State: ABUngvdT6xToZnE435iDEVrcGaSqWYVAYiBx7vg/phK/d3u1ot/WXm4gvbhjvpyVfwl2GoNSwzRScNsnETa2WQ==
X-Received: by 10.36.125.5 with SMTP id b5mr3487011itc.62.1478110317742; Wed, 02 Nov 2016 11:11:57 -0700 (PDT)
MIME-Version: 1.0
References: <CABkgnnVKd+kAZPD5KirF7NaGMDBSpaO6FR3yE8d+c3ge3-He3w@mail.gmail.com> <CAP8-FqmBUHd5up7Jfo+veFWvL22XiPwGGXNnOW6rm7nxeESU_g@mail.gmail.com> <CABkgnnX4aAjnZyu3morJOLatuuj9k4NSoTpoNtF7YjtRUFQOnQ@mail.gmail.com>
In-Reply-To: <CABkgnnX4aAjnZyu3morJOLatuuj9k4NSoTpoNtF7YjtRUFQOnQ@mail.gmail.com>
From: Costin Manolache <costin@gmail.com>
Date: Wed, 02 Nov 2016 18:11:47 +0000
Message-ID: <CAP8-Fq=Zd66ZhWm+gYesOpc2NZ-YBpy2+bHdr6O+h1KG2s16uw@mail.gmail.com>
To: Martin Thomson <martin.thomson@gmail.com>
Content-Type: multipart/alternative; boundary=001a114059446d9293054055602f
Archived-At: <https://mailarchive.ietf.org/arch/msg/webpush/k5UMnTFYoXIjGljrr-bxG6AhTI4>
Cc: jr conlin <jconlin@mozilla.com>, "webpush@ietf.org" <webpush@ietf.org>, Peter Beverloo <beverloo@google.com>
Subject: Re: [Webpush] Vapid public key
X-BeenThere: webpush@ietf.org
X-Mailman-Version: 2.1.17
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, 02 Nov 2016 18:12:00 -0000

IMHO the main problem with JWK is not size, but the inconsistency - would
be good for the
exact string used in subscribe() to also show in Authenticate.

Any problem with using auth-param:

Authorization: webpush JWTTOKEN, id=PUBKEY

Costin

On Tue, Nov 1, 2016 at 10:59 PM Martin Thomson <martin.thomson@gmail.com>
wrote:

> On 2 November 2016 at 16:10, Costin Manolache <costin@gmail.com> wrote:
> > Authorization: webpush PUBLICKEY:JWT_TOKEN
>
> The grammar (RFC 7235) is:
>
>      credentials = auth-scheme [ 1*SP ( token68 / #auth-param ) ]
>      token68 = 1*( ALPHA / DIGIT / "-" / "." / "_" / "~" / "+" / "/" ) *"="
>
> With JWT, we've opted to use the "token68" form (also shown here).
> Given that base64url takes '-', '_', and '.', we could separate on
> '/'.  '/' is a valid base64 (the non-url-safe variant) character, but
> we could split on that.
>
> For existing implementations, you would have to accept that you are
> going to have to sniff for this, or we could use a new auth-scheme.  I
> think that sniffing should be workable given that you won't have a
> Crypto-Key header field.
>
> And before I forget, the ugliest option of all is to use JWK inside
> the JWT.  Here's an example of a JWK:
>
>
> {"crv":"P-256","ext":true,"key_ops":["verify"],"kty":"EC","x":"20zCfUuIs0NGtaVxENI4VH0YyJOUuxp973BTZTfhe1A","y":"WEMWyistS_sD6gGLN4IISWdIMQxZoCHAhlZ8zkmcVUI"}
>
> The ext and key_ops fields can be omitted safely - I just pulled this
> straight out of webcrypto - though it's still even bigger than you
> might like.
>