Re: [OAUTH-WG] self-issued access tokens
Warren Parad <wparad@rhosys.ch> Mon, 04 October 2021 09:24 UTC
Return-Path: <wparad@rhosys.ch>
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 25CA23A1326 for <oauth@ietfa.amsl.com>; Mon, 4 Oct 2021 02:24:24 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.087
X-Spam-Level:
X-Spam-Status: No, score=-2.087 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_FONT_LOW_CONTRAST=0.001, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_KAM_HTML_FONT_INVALID=0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=rhosys.ch
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 ReC19Jo5czdf for <oauth@ietfa.amsl.com>; Mon, 4 Oct 2021 02:24:16 -0700 (PDT)
Received: from mail-yb1-xb30.google.com (mail-yb1-xb30.google.com [IPv6:2607:f8b0:4864:20::b30]) (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 93E053A1324 for <oauth@ietf.org>; Mon, 4 Oct 2021 02:24:16 -0700 (PDT)
Received: by mail-yb1-xb30.google.com with SMTP id w10so13540994ybt.4 for <oauth@ietf.org>; Mon, 04 Oct 2021 02:24:16 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rhosys.ch; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=Zev0EqeDSOpqiOAFLlYZQWcX5N9JdxeWNcQXnAbVAAU=; b=FKd8ObIsazUzOHEQ9B6TkqUXNwaScI4gEfI0gn0yyGwOQgHbnY5gsdofP5lwswpmsy +bkNPhgDhCDZyq0gMgyy6CkODDixHx13zSKbu4Qgaj/4/LKDBk9v3eouktp5yMvzjqMZ PbD3wNC8qf6u09Aln8oH1LLwnY4EiNfWbKR9LBiX6NKjLci2c87t1d9HOSv61opzCW6h HOZmhFnhWPCtSSqpZIEdtRYnu4eyxDbkVx0tUDJxphJzZP/2LwnGgjfQ146l0O5RuFJk GSjR6rwMw9e7skmhQ8xkk7JSY+x2GlVjZ4SEnQstosSQlIXd4hintJAiruqsMBKKUeme UqYQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=Zev0EqeDSOpqiOAFLlYZQWcX5N9JdxeWNcQXnAbVAAU=; b=yfGjuuO2S6KrvFGRZQ7dd8894CiacKLDcKA5E/CsWqNzbBuYT2lGRxOoJuuBQRqqAq 6GqgwqPoC1OR6s8vIkHRmZFqCpamCqGQCiEQbZr3gmbc4X8uIU+3yxO+RzQTgpe01jmU 6XY8+L2m50COaaNZ44ceoPhOaryKCHj2PbeIg3i3C+MRCRLcA7QEODNV8SD2tpQ9HUao kAX5EAAcl6Mks7MjLgqt20F4b8w4MuAoYTWGCEyikLkzpDX9LlwEvD1HGdlj9XoLuBt3 wD0Jl14cKQP3fO/JPFjVARLgPOfuMkiMEz0eKkvK2Mr1LPD6xfsUO3lxmCmWq6cweqbl jsjA==
X-Gm-Message-State: AOAM53111W9eVK5v/qhWF7sz03RgB8Oz3LaZ6fTOU+2BEtlTnC8NUHPp StmNIt3/pyx1u04HnNrCnWSoqvRAajF+8oanzL9k
X-Google-Smtp-Source: ABdhPJz00u/TjLzS7dpyniBBohmH/bgNV2HopMZghql8EAlNmyEeDNjoGQEI22kkMaPoVNUc2AKNdb2QwYIuM5tlJiY=
X-Received: by 2002:a25:1545:: with SMTP id 66mr13652474ybv.521.1633339454558; Mon, 04 Oct 2021 02:24:14 -0700 (PDT)
MIME-Version: 1.0
References: <TYCPR01MB567859999FB3350D6A1C63E5E5A99@TYCPR01MB5678.jpnprd01.prod.outlook.com> <CAD9ie-sgjUv3fppvTZvPpOyUKXo1H1i9LtkOk2yxzZ1+A+wt6w@mail.gmail.com> <TYCPR01MB56784381BE6799ADAA46E360E5AB9@TYCPR01MB5678.jpnprd01.prod.outlook.com> <CAD9ie-tMp44z_b=hG+OWC=Hc83RpC_WZ4AaerRMaOZ8cfEkDSg@mail.gmail.com> <TYCPR01MB56787D963D23F78B0800C6CBE5AB9@TYCPR01MB5678.jpnprd01.prod.outlook.com> <CAD9ie-u2MRQygYKCDOHBWvu_xO2p96+-vPHir6E3_SEh5OGbqw@mail.gmail.com> <FA113C6E-2A9A-4DFD-A7AB-500955EF9B2E@alkaline-solutions.com> <TYCPR01MB56784DD748F0977AEA0C0AA9E5AE9@TYCPR01MB5678.jpnprd01.prod.outlook.com>
In-Reply-To: <TYCPR01MB56784DD748F0977AEA0C0AA9E5AE9@TYCPR01MB5678.jpnprd01.prod.outlook.com>
From: Warren Parad <wparad@rhosys.ch>
Date: Mon, 04 Oct 2021 11:24:03 +0200
Message-ID: <CAJot-L3V8t=XgCHtziL6o2JWH52JuUdgx8hGpdUEu7-zAU+9Cg@mail.gmail.com>
To: toshio9.ito@toshiba.co.jp
Cc: david@alkaline-solutions.com, Dick Hardt <dick.hardt@gmail.com>, oauth <oauth@ietf.org>
Content-Type: multipart/related; boundary="000000000000fcee1f05cd8379fa"
Archived-At: <https://mailarchive.ietf.org/arch/msg/oauth/utOTUD4NSv5R7vagvfQtcqEkcWE>
Subject: Re: [OAUTH-WG] self-issued access tokens
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: Mon, 04 Oct 2021 09:24:25 -0000
fwiw we are currently doing this in some flavor, and there are two things that have come up: - Standardize place to read client public keys from (JWKs)--Currently these are uploaded to the AS for storage for a particular client. This helps to avoid needing every client to host the public key. Obviously putting the public key in the jwt is rife with vulnerabilities. - Impossible to prevent client impersonation attacks by default with crypto/jwt verification libraries as the client can create tokens that specify a different sub then the clients. Because this extra restriction exists which is non-standard, verification can't be automatically handled by a library that doesn't understand this restriction. Which means that the only place which can verify that the sub is actually valid for the client is also the AS. (Specifically for us we make this easier by authorizing token that fetch AS resource data, including JWKs) It would be great to have a standard around the second one, but I honestly don't see how, since the client can always lie, there would have to be a signature format that stores the *kid/clientId* identification information in a way that is tamper proof or still the trusted third party in this case the AS. We tend to call this reverse oauth. A small consolation would be a standard adding an attribute to the JWK and the JWT signally the requirement that the sub has to match some other property, but I also don't see this happening. - Warren Warren Parad Founder, CTO Secure your user data with IAM authorization as a service. Implement Authress <https://authress.io/>. On Mon, Oct 4, 2021 at 4:28 AM <toshio9.ito@toshiba.co.jp> wrote: > Thanks Dick, > > > > Our use case is basically the option 2. There is only one RS. So, to > simplify > > the architecture, we want to omit the round-trip of getting an access > token from > > AS. > > > > I agree with your idea of using JWTs to convey client's signature. So my > > original question was if there was a standardized profile of a JWT for that > > purpose. From the responses to this thread so far, I think the answer is > no. > > > > > > Thanks for comment, David, > > > > Yeah, maybe it's wise to have AS anyway for better extensibility. > > > > > > Toshio Ito > > > > *From:* David Waite <david@alkaline-solutions.com> > *Sent:* Saturday, October 2, 2021 6:04 AM > *To:* Dick Hardt <dick.hardt@gmail.com> > *Cc:* ito toshio(伊藤 俊夫 ○RDC□IT研○CNL) <toshio9.ito@toshiba.co.jp>; > oauth@ietf.org > *Subject:* Re: [OAUTH-WG] self-issued access tokens > > > > > > > > On Oct 1, 2021, at 11:06 AM, Dick Hardt <dick.hardt@gmail.com> wrote: > > <snip> > > If there is really only one service, then there is little value in an AS. > I would have the client post a JWT that has the request payload in it, or a > detached signature if it is a large payload. Personally, I like sending the > request as a JWT as it allows services further down the processing pipeline > to independently verify the request from the client. > > > > This assumes sufficient computing power on the IoT device, and reasonably > low call volume. > > [image: イメージは差出人によって削除されました。]ᐧ > > > > One interpretation of the purpose in the AS is to create tokens based on > its authorization decisions, while direct submission of client-authored > JWTs would be more in line with having the RS make those decisions directly. > > > > Even if they were hosted on the same hardware, I’d still push to use an > AS-role component in order to optimize the decision making process and to > not have to refactor (or risk duplication) of that logic later. > > > > -DW > > > _______________________________________________ > OAuth mailing list > OAuth@ietf.org > https://www.ietf.org/mailman/listinfo/oauth >
- [OAUTH-WG] self-issued access tokens toshio9.ito
- Re: [OAUTH-WG] self-issued access tokens Dick Hardt
- Re: [OAUTH-WG] self-issued access tokens Vittorio Bertocci
- Re: [OAUTH-WG] self-issued access tokens Sascha Preibisch
- Re: [OAUTH-WG] self-issued access tokens Daniel Fett
- Re: [OAUTH-WG] self-issued access tokens Sascha Preibisch
- Re: [OAUTH-WG] self-issued access tokens Nikos Fotiou
- Re: [OAUTH-WG] self-issued access tokens David Waite
- Re: [OAUTH-WG] self-issued access tokens Nikos Fotiou
- Re: [OAUTH-WG] self-issued access tokens toshio9.ito
- Re: [OAUTH-WG] self-issued access tokens toshio9.ito
- Re: [OAUTH-WG] self-issued access tokens toshio9.ito
- Re: [OAUTH-WG] self-issued access tokens Dick Hardt
- Re: [OAUTH-WG] self-issued access tokens toshio9.ito
- Re: [OAUTH-WG] self-issued access tokens Dick Hardt
- Re: [OAUTH-WG] self-issued access tokens David Waite
- Re: [OAUTH-WG] self-issued access tokens toshio9.ito
- Re: [OAUTH-WG] self-issued access tokens Warren Parad
- Re: [OAUTH-WG] self-issued access tokens David Chadwick
- Re: [OAUTH-WG] self-issued access tokens Dick Hardt
- Re: [OAUTH-WG] self-issued access tokens toshio9.ito