Re: [OAUTH-WG] [UNVERIFIED SENDER] RE: Cryptographic hygiene and the limits of jwks_uri

Dick Hardt <dick.hardt@gmail.com> Sat, 11 January 2020 02:34 UTC

Return-Path: <dick.hardt@gmail.com>
X-Original-To: oauth@ietfa.amsl.com
Delivered-To: oauth@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5B15B120129 for <oauth@ietfa.amsl.com>; Fri, 10 Jan 2020 18:34:32 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.996
X-Spam-Level:
X-Spam-Status: No, score=-1.996 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_FONT_LOW_CONTRAST=0.001, HTML_IMAGE_ONLY_32=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=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 5JZ8riHQRf_x for <oauth@ietfa.amsl.com>; Fri, 10 Jan 2020 18:34:30 -0800 (PST)
Received: from mail-lj1-x22f.google.com (mail-lj1-x22f.google.com [IPv6:2a00:1450:4864:20::22f]) (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 4FD75120018 for <oauth@ietf.org>; Fri, 10 Jan 2020 18:34:30 -0800 (PST)
Received: by mail-lj1-x22f.google.com with SMTP id o13so4104890ljg.4 for <oauth@ietf.org>; Fri, 10 Jan 2020 18:34:30 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=VzTyqNb5lrcOIFFsqUE1Sx5rhY4gsS9VJP2ilKVhxwg=; b=UCWIMspRTvoL4O5Ww0/YCn/V3QEdGdgHGNKMCH0rUtZQ4fMCCqWXWc7dw/zGWxSPqv YT8TSbKetc/dwQY5EG2q8L9qMWCCzUnpZoEzShvPa7+6M0r7xPzt7h3giTmfmymZyDAt gUYZuy5KdmdAQAcpillTBfXXPz5+jEvVQ3JxBH77PQtUfJLaQ1AoISuby+cm+XjP2/UH srUXEUiB3L/sAojWRcxzunlVXZRhftyLEJDYWyLKCLWE54x5y5zTLO2SKLsCbQs6WSFH eJ5byv7p17yIIWuGIz9tXIfE0iX5NNN1UuMak6zDYq7supv5kBwLX1l0DJ9IoFlM2f0n RnLQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=VzTyqNb5lrcOIFFsqUE1Sx5rhY4gsS9VJP2ilKVhxwg=; b=n3AOW2OFWnyjDs0/pWAGJz8KljrUXuOBR6z1hlCcVrsWc/KI5NpyNdWPkOaaJNRZSf GD4c90RPiJnwBA3Aaf89RFCiuIfCNOf/N3aLhGyczE96NBsviH0lEr9woGr2h5P3Ylnw bsZL1/wZ5uGhfVIyujzqlSszB6Bkw7dZfoPsC9bphJYxrfdusv6utP94c/y0AYuRbCmd 6vljVOCBTjt2ox60Zg+ICkind8v4LDWCPP3AnOFwIz7KpTF/ecZoc0KFBo5ONa4e1ma/ 3qFJxBJawixm9we8rLq8JqUvqetJZOHJkMptj/kvpr+OSHzalsCrArcXj54L4CBACFWE ELvg==
X-Gm-Message-State: APjAAAXHs/nyMV3QayzCgAtAKqy84Kcj0pGcFAFCXSJKX+WFX4kmO464 zuKz/bRmLoAhsLpmeKIkD2+XbnNhCOVwqYcASCw=
X-Google-Smtp-Source: APXvYqw6na+4dCyTqt/5e+SEp8CAMf1mO31gF3VG2pLeS6TWvDYf4qS9SwLuJSPtQOh3/QRdFMqFBKMLxhJ+nb/hNvE=
X-Received: by 2002:a2e:3a13:: with SMTP id h19mr4632789lja.16.1578710068529; Fri, 10 Jan 2020 18:34:28 -0800 (PST)
MIME-Version: 1.0
References: <CAD9ie-vRsL9ey2LDNoaWkapRUewS_c1S0r3QCcqJLmJ5KqKsGw@mail.gmail.com> <5F7A3816-AC9B-4BA2-9D91-CF89109B6788@forgerock.com>
In-Reply-To: <5F7A3816-AC9B-4BA2-9D91-CF89109B6788@forgerock.com>
From: Dick Hardt <dick.hardt@gmail.com>
Date: Fri, 10 Jan 2020 18:34:17 -0800
Message-ID: <CAD9ie-uebUCw5vxELPXQvQSY3Z3T2dNJGOpzEQ8cMgZcCOu+tg@mail.gmail.com>
To: Neil Madden <neil.madden@forgerock.com>
Cc: Justin Richer <jricher@mit.edu>, oauth <oauth@ietf.org>, Mike Jones <Michael.Jones=40microsoft.com@dmarc.ietf.org>, "Richard Backman, Annabelle" <richanna=40amazon.com@dmarc.ietf.org>
Content-Type: multipart/alternative; boundary="000000000000d68fb6059bd4146f"
Archived-At: <https://mailarchive.ietf.org/arch/msg/oauth/pIfM2tB8mOgUd9OiAspQ1ReQC1s>
Subject: Re: [OAUTH-WG] [UNVERIFIED SENDER] RE: Cryptographic hygiene and the limits of jwks_uri
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/oauth/>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 11 Jan 2020 02:34:32 -0000

I was not saying that there was anything special about keys, nor that we
needed to change OAuth.

While using one key and controlling where it us used via access control
works, it is not ideal.

OAuth could have had just one endpoint, and done access control for
different roles -- but it did not. We enabled flexibility by separating the
authorization endpoint and the token endpoint. The dynamic client
registration extension defined a new endpoint, the registration endpoint.

I don't think we can change what has been deployed today -- but NEW
extensions that use keys for new purposes SHOULD define their own URI.
ᐧ

On Fri, Jan 10, 2020 at 11:31 AM Neil Madden <neil.madden@forgerock.com>
wrote:

> Sure, but we know how to run resilient services. My point is that there’s
> nothing particularly special about cryptographic keys: if you want to
> control how they are used there is a whole range of normal access control
> methods you can apply to them without needing to change anything in OAuth.
>
> Neil
>
> On 10 Jan 2020, at 18:50, Dick Hardt <dick.hardt@gmail.com> wrote:
>
> 
> There are many other factors to resiliency than multiple instances.
>
> On Fri, Jan 10, 2020 at 10:30 AM Neil Madden <neil.madden@forgerock.com>
> wrote:
>
>>
>>
>> > On 10 Jan 2020, at 17:22, Dick Hardt <dick.hardt@gmail.com> wrote:
>> [...]
>> >
>> > As to the suggestion of using a JWT-decryption-microservice, another
>> goal would be increased resiliency of the components. If the
>> JWT-decryption-microservice is unavailable, the whole system is
>> unavailable. If there are separate keys, then a failure in one component
>> does not fail the entire system.
>>
>> Well you can run more than one instance - it’s a completely stateless
>> service. You can also run a separate instance (or set of instances) per key
>> if you like.
>>
>> Neil
>
>