Re: [OAUTH-WG] Transaction Tokens issuance in the absence of incoming token

Brian Campbell <bcampbell@pingidentity.com> Fri, 05 April 2024 17:58 UTC

Return-Path: <bcampbell@pingidentity.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 4513AC15198C for <oauth@ietfa.amsl.com>; Fri, 5 Apr 2024 10:58:24 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.083
X-Spam-Level:
X-Spam-Status: No, score=-2.083 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_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001, T_REMOTE_IMAGE=0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=pingidentity.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id PBjlqTy2GSoC for <oauth@ietfa.amsl.com>; Fri, 5 Apr 2024 10:58:20 -0700 (PDT)
Received: from mail-io1-xd2f.google.com (mail-io1-xd2f.google.com [IPv6:2607:f8b0:4864:20::d2f]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 35A59C14F600 for <oauth@ietf.org>; Fri, 5 Apr 2024 10:58:20 -0700 (PDT)
Received: by mail-io1-xd2f.google.com with SMTP id ca18e2360f4ac-7d096c4d664so74188639f.3 for <oauth@ietf.org>; Fri, 05 Apr 2024 10:58:20 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pingidentity.com; s=google; t=1712339899; x=1712944699; darn=ietf.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=ToQNddkr28WKfcwiilUOGZ7fm5Rsvq9uLQhiVfdC3X8=; b=FrU2pbEek5C0l/fWUJWAcajkM1/cOd6JGqMbW5VaM2/7kYpuvqaXWVYsfCowsuJmQ/ TR8tx9WdH9ZFh80QXCHilwzDwWIp3ShjXW2/2r23MkbpjQXw/7D94yBUH4n9GOeFtRnq vdWFmeQLGyA/xaeE5JNhuu1bltc1rtKnKB4f3uLVJUfvH0LtpdHZr6e5pe4FPOorrxzY YRTFACfPZes47Y4ya2rhWy7/yhUSYieJVxCsCGuiojV1hDOMg1mWtpFHtCfhLIu0ZwcA pOLzgd032ySAZ2lzJcJQXHJQS/cDjD3ZvHMMt+BGbofdODRhV6a97C1ESr+uStQLiFaC BwjQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712339899; x=1712944699; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=ToQNddkr28WKfcwiilUOGZ7fm5Rsvq9uLQhiVfdC3X8=; b=fThLxv6Ge9u3e4G8YbuTy+Y1hnMdCXJgZ8AkvMwgHKyBvVDkn+PiCGKG6Tcc16kfqS 4y9rJjbWgeutlgi4JWR3wBAJtyQPQls84e/hgAzjBZLb6U+oonjpCFaxJzWjN9Letnif qAfIrZeecwOB9qmIkYd3LoyXASlS0QSPKo8MSql6PmDzQkrkEAZLQuphNgzljTGCuDpu GmfqBkUFelRza0qbXM6zHovw4VeIS6TCPAMtxgg0ZGOZNBbqBoJPkW5Jg2Hebx6N1s16 SdyvEL0Tl6iAuTihWKqnsIPqLEMdvvLHAL1Gd074+Kol2OG/z3Gd8WcBGTCac5x/2G/N WRyw==
X-Forwarded-Encrypted: i=1; AJvYcCW277zOMa721ZZiAcZJpni49AJTQSB2/ViA1cx6aob+P4UNBgGptiGVpynDVvqQ/XNBU6NBfOkOiDkZapuHiA==
X-Gm-Message-State: AOJu0YxFzktvsVe5GKGz632peuZtcx0ZrHSMyHa7Omw5/RVXbq/FgUbP TedGtjRymMiPSddDYb9KFAQzF02YaDe3/rr4hfyl5dIjnhPQalkNPfQ5nZbMdDwbfo7GQqBgqsu sN1TkuTjcEfbHesCScNpipe6Vl3WWdYQYWKNcG6ZzPgrpA3IWJRiTHRdJQbBrj+NnY49wwJXOQK IUjzXnlQNWuw==
X-Google-Smtp-Source: AGHT+IGw9kDhYxEfmYXA8QWVyEbLIoZW8Hpq06BJdVsHk+31jjsvFy1EWnNYJc9/xuecSCPLfJT5HekVjPhrc6PRJYM=
X-Received: by 2002:a05:6e02:17cd:b0:36a:a46:69e6 with SMTP id z13-20020a056e0217cd00b0036a0a4669e6mr2436385ilu.11.1712339898601; Fri, 05 Apr 2024 10:58:18 -0700 (PDT)
MIME-Version: 1.0
References: <CANtBS9djWszOjH_ArUTP8tCAaJJvSJ2Do26M99eU+1ayqwrjyw@mail.gmail.com> <CAOgPGoDGjiKYojnD6SAZgZnd6W8nPuqxg9qP=CHGZ8YJCJRerw@mail.gmail.com> <CANtBS9f2R3dhtwbp_4iP5D2gPRu8Agb1oNACFPm6M1TatZeQ9Q@mail.gmail.com> <CAOtx8D=L8oY+b33aCJhNK4xHtaOet5g1m1DVGRH2jF0G7O=ATQ@mail.gmail.com> <BE16B049-6229-4594-B708-DC64E2FA2C86@1und1.de>
In-Reply-To: <BE16B049-6229-4594-B708-DC64E2FA2C86@1und1.de>
From: Brian Campbell <bcampbell@pingidentity.com>
Date: Fri, 05 Apr 2024 11:57:52 -0600
Message-ID: <CA+k3eCQHFnGpb+Ff_gmXLMxh8OZ2FufCs1+CY3d_BKjeo9_Spw@mail.gmail.com>
To: Kai Lehmann <kai.lehmann=401und1.de@dmarc.ietf.org>
Cc: Dmitry Telegin <dmitryt=40backbase.com@dmarc.ietf.org>, Atul Tulshibagwale <atul@sgnl.ai>, oauth <oauth@ietf.org>
Content-Type: multipart/alternative; boundary="00000000000064328206155d3310"
Archived-At: <https://mailarchive.ietf.org/arch/msg/oauth/9OVhq0Ev0FD73N6AEH7gAR60sOA>
Subject: Re: [OAUTH-WG] Transaction Tokens issuance in the absence of incoming token
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.39
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: Fri, 05 Apr 2024 17:58:24 -0000

One potential benefit of keeping the use of Token Exchange is that some AS
products/implementations have built a fair amount of configurability and
extensibility into their Token Exchange support, which might allow for
existing systems to be set up to do Transaction Tokens. Whereas a new
endpoint or new grant type are more likely to require code changes to the
core AS. Obviously this isn't universally true but something to consider
nonetheless.

On Fri, Apr 5, 2024 at 4:13 AM Kai Lehmann <kai.lehmann=
401und1.de@dmarc.ietf.org> wrote:

> Hi,
>
>
>
> that is my thought as well. It does not necessarily be a Token Exchange
> profile, but the Token endpoint makes sense as Tokens are issued. Defining
> a specific Token grant with the necessary input parameters would fit nicely.
>
>
>
> Best regards,
>
> Kai
>
>
>
> *From: *OAuth <oauth-bounces@ietf.org> on behalf of Dmitry Telegin
> <dmitryt=40backbase.com@dmarc.ietf.org>
> *Date: *Friday, 5. April 2024 at 00:41
> *To: *Atul Tulshibagwale <atul@sgnl.ai>
> *Cc: *oauth <oauth@ietf.org>
> *Subject: *Re: [OAUTH-WG] Transaction Tokens issuance in the absence of
> incoming token
>
>
>
> Hello Atul,
>
>
>
> As an alternative to Token Exchange and separate (new) endpoint, have you
> ever considered OAuth 2.0 Extension Grants
> <https://datatracker.ietf.org/doc/html/rfc6749#section-4.5>? This could
> give us more flexibility as will let us define our own set of input
> parameters and validation rules (opposite to Token Exchange that restricts
> us to subject_token and friends).
>
>
>
> Regards,
>
> Dmitry
>
>
>
> On Thu, Apr 4, 2024 at 11:02 PM Atul Tulshibagwale <atul@sgnl.ai> wrote:
>
> Thanks very much for your feedback, Joe!
>
>
>
> On Wed, Apr 3, 2024 at 10:16 AM Joseph Salowey <joe@salowey.net> wrote:
>
> Hi Atul,
>
>
>
> I'm just starting to review the transaction tokens draft and have only a
> minimal understanding of the token exchange document at this point so I'm
> lacking a little background, but I have a few comments and questions below.
>
>
>
> On Fri, Mar 29, 2024 at 10:39 AM Atul Tulshibagwale <atul@sgnl.ai> wrote:
>
> Hi all,
>
> We had a meeting today (notes here
> <https://hackmd.io/@rpc-sec-wg/HJNXYKkk0>) in which we discussed the
> question of what we should do if there is no incoming (external) token in
> the request to issue a Transaction Token
> <https://datatracker.ietf.org/doc/draft-ietf-oauth-transaction-tokens/>
> (TraT). We identified a few circumstances under which this can happen:
>
>    - The requesting service is triggered by a non-OAuth based flow such
>    as email or an internal trigger
>    - The client of the requesting service uses means other than an access
>    token to authorize the call (e.g. MTLS)
>
> [Joe] I think there will be a fair number of systems that support means of
> authorizing non-oauth flows.
>
>
>
>
>
> We identified a few possibilities listed below. Please note that the
> Transaction Tokens draft assumes that the TraT Service trusts the
> requesting service, so all the possibilities below assume this.
>
>
>
>
>
> [Joe] yes, you are trusting another part of the system to perform some
> authorization and inform the token service of the result.
>
>
>
> Here are some possibilities we discussed:
>
>    1. *Request Details*: Put the subject information in the
>    request_details parameter of the TraT request, and the subject_token value
>    is set to "N_A"
>    2. *Self-Signed Token*: The requester generates a self-signed JWT that
>    has the subject information and puts that in the subject_token value
>
> [Joe] I like having signed tokens, but if this is really information just
> exchanged between two endpoints it may be more work than necessary.
>
>
>    1. *Separate Separate Endpoint*: The TraT service exposes a separate
>    endpoint to issue TraTs when there is no incoming token, and that endpoint
>    can be defined such that the request does not have a subject_token
>    parameter. This endpoint is not a profile of OAuth Token Exchange
>    2. *Separate Endpoint Only*: Extending the thought above, the
>    requester can always extract the content of the incoming token into the
>    "request_details" parameter, so why do we need the Token Exchange endpoint
>
> [Joe] What do we gain by using token exchange? While it seems that there
> is overlap between delegation/impersonation it seems that transaction
> tokens are sort of a superset and contain additional information about the
> context of the transaction.   If it looks like token exchange is too
> constraining then transaction tokens may just be a different use case.
> With the understanding I currently have I'd either go with 4. Separate
> Endpoint Only or 2. Self Signed token.  Splitting the endpoints could be
> valid, but it seems a bit weird for me, if we did decide to do that then
> probably we wouldn't need to sign the information unless the request is
> going to traverse multiple systems.
>
>
>
>
>
> We would like to understand how the group feels about these choices, or if
> you have other suggestions / thoughts on this topic.
>
>
>
> Thanks,
>
> Atul
>
>
>
> --
>
> [image: Image removed by sender.] <https://sgnl.ai/>
>
> Atul Tulshibagwale
>
> CTO
>
> [image: Image removed by sender.] <https://linkedin.com/in/tulshi>[image:
> Image removed by sender.] <https://twitter.com/zirotrust>[image: Image
> removed by sender.] <atul@sgnl.ai>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>

-- 
_CONFIDENTIALITY NOTICE: This email may contain confidential and privileged 
material for the sole use of the intended recipient(s). Any review, use, 
distribution or disclosure by others is strictly prohibited.  If you have 
received this communication in error, please notify the sender immediately 
by e-mail and delete the message and any file attachments from your 
computer. Thank you._