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

Joseph Salowey <joe@salowey.net> Wed, 03 April 2024 17:16 UTC

Return-Path: <joe@salowey.net>
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 101C0C14F604 for <oauth@ietfa.amsl.com>; Wed, 3 Apr 2024 10:16:26 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.775
X-Spam-Level:
X-Spam-Status: No, score=-1.775 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, MIME_BOUND_DIGITS_15=0.1, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_KAM_HTML_FONT_INVALID=0.01, T_REMOTE_IMAGE=0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=no autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=salowey-net.20230601.gappssmtp.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 JQxcYspqc4Ls for <oauth@ietfa.amsl.com>; Wed, 3 Apr 2024 10:16:22 -0700 (PDT)
Received: from mail-lj1-x235.google.com (mail-lj1-x235.google.com [IPv6:2a00:1450:4864:20::235]) (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 2D6BAC14F5FC for <oauth@ietf.org>; Wed, 3 Apr 2024 10:16:22 -0700 (PDT)
Received: by mail-lj1-x235.google.com with SMTP id 38308e7fff4ca-2d29aad15a5so433191fa.3 for <oauth@ietf.org>; Wed, 03 Apr 2024 10:16:21 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=salowey-net.20230601.gappssmtp.com; s=20230601; t=1712164579; x=1712769379; 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=+cICmlz+0dunb0UsCslxtq6pK+6ikmD4BEX50pgFr98=; b=rKX6Hj8JoLwWjX5zBXGlXDQBGLDrRJQjJP8tCNFo2lTpTbwxt1cylU20pPihgy4DEz o7BphUxDZ6rqu7PsK+/CGBouzyVY7unKspNpi6xnpe+XuSj6+DBQEgWYWRCv+BWh0Kq9 loqXvmfrX0cArnLePe6LCQEEUzyrGEpHogO5pFd/mNdrHXibGNYgp/WJ5Y0EpfBf9PFc 4Cy3umb+p+Fj9uDtgz1IEpd/+q0nsSUB3zrTvbbFcU5K3q83EWxH6CKuTqi2q46sn346 Pg+jNAlZPDk8S80o++EGlXCC/Xm2I40YbitEUHuX6FU3fGdGUlA2gv7lU0hy9MOy5Ksq iCxQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712164579; x=1712769379; 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=+cICmlz+0dunb0UsCslxtq6pK+6ikmD4BEX50pgFr98=; b=P1cyz77mer0kJICthcpNblUhuH043B7s90AlBDdIa7oKg93C6Z7AhGDOSeHIiEHyIq c+4FfLBK8S77W2AG5cEhgsL31T9bsavMt6G7nYCJr0w1SgfyK2saqeBW3iX2lds1nDhA ifOHmGAJOImIht2sA9+6vFSqx4x2XirYaHRhe6WGE0DgUMr2/osHxcEOyeu5UHj+4Svf Z4xJAEYTTv548NT6O5+RSmIKvnpVi2/mIBi6HUpXe4fSGMeH7a630/MhSCiXsLRPPgZK HdBIwadqdYh2aMIFY9v+U8wz2A6QASN347HkrOPkvX1iHxade6VbRO+AXaygkwpoH6YL n+Rg==
X-Gm-Message-State: AOJu0Yz2rszslw5Gxxn7v0+nnkWX+nAKZs6jBn+iIx81QnQA2Lkb0LLr t8uaB6l7lBogKEoHgzYQxe25TDJ12KL0Ml7EogpP2/SkfN24MW/S4lFp9KIpiuzi1B62f6QuQPK gmeUbOixv2lWhEBCXUfLSS+BJTRgUZ4Ruy9zbW+1iUhdXnjBD
X-Google-Smtp-Source: AGHT+IHMpHHjdcIJot2VUUuB00wbDtYJQUWwkHnFMbIlxGfdGvXeJZGCtpa9l32Tdn8FQg8iku9HH+J8yzkqS/BoJs4=
X-Received: by 2002:a2e:98cb:0:b0:2d8:35fe:855 with SMTP id s11-20020a2e98cb000000b002d835fe0855mr138779ljj.24.1712164578999; Wed, 03 Apr 2024 10:16:18 -0700 (PDT)
MIME-Version: 1.0
References: <CANtBS9djWszOjH_ArUTP8tCAaJJvSJ2Do26M99eU+1ayqwrjyw@mail.gmail.com>
In-Reply-To: <CANtBS9djWszOjH_ArUTP8tCAaJJvSJ2Do26M99eU+1ayqwrjyw@mail.gmail.com>
From: Joseph Salowey <joe@salowey.net>
Date: Wed, 03 Apr 2024 10:16:06 -0700
Message-ID: <CAOgPGoDGjiKYojnD6SAZgZnd6W8nPuqxg9qP=CHGZ8YJCJRerw@mail.gmail.com>
To: Atul Tulshibagwale <atul@sgnl.ai>
Cc: oauth <oauth@ietf.org>
Content-Type: multipart/alternative; boundary="0000000000008786430615346191"
Archived-At: <https://mailarchive.ietf.org/arch/msg/oauth/q6nrM_b9rNR8D2dxvtT0kN605pU>
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: Wed, 03 Apr 2024 17:16:26 -0000

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
>
> --
>
> <https://sgnl.ai>
>
> Atul Tulshibagwale
>
> CTO
>
> <https://linkedin.com/in/tulshi> <https://twitter.com/zirotrust>
> <atul@sgnl.ai>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>