Re: [GNAP] draft-hardt-xauth-protocol-14 update - reworked introduction

Tom Jones <thomasclinganjones@gmail.com> Sun, 16 August 2020 23:38 UTC

Return-Path: <thomasclinganjones@gmail.com>
X-Original-To: txauth@ietfa.amsl.com
Delivered-To: txauth@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B50493A0A92 for <txauth@ietfa.amsl.com>; Sun, 16 Aug 2020 16:38:29 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.097
X-Spam-Level:
X-Spam-Status: No, score=-2.097 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, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=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 WQUkEvo5g1Md for <txauth@ietfa.amsl.com>; Sun, 16 Aug 2020 16:38:26 -0700 (PDT)
Received: from mail-ot1-x331.google.com (mail-ot1-x331.google.com [IPv6:2607:f8b0:4864:20::331]) (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 2A2FE3A0A86 for <txauth@ietf.org>; Sun, 16 Aug 2020 16:38:26 -0700 (PDT)
Received: by mail-ot1-x331.google.com with SMTP id x24so12087059otp.3 for <txauth@ietf.org>; Sun, 16 Aug 2020 16:38:26 -0700 (PDT)
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=p32eC9rcJ1m2ZaqwDeRZobL16734IRMeiNIZZDPp4oo=; b=S6Qpit8t3z8jNC9DcX6IfX+1e8fE2z9FQHe8yuMUZtqGBC3Q/yo16WqV2ryQq5o7LG ZrrjYDAstIQQ0oikRoD/Vk2g5O98Kp0L1IwZz0+2GrSL9d908Fj4LyeL9OGwij7w2yG1 hPCFbQGYIQtLrE+zZ8uPliRnchta3AzBvsN5dbXjZ9yaZFDRBKx0lW/B1BCKau9AbIpo Z7ja+0O1KWzE5tMtbDcsRXym51/SvY/bGAw+LRJANl+8R6wszllq9MTubMUyZRu8UguH 7ahJLEGUSeHE7PYeYAzQ36ww+7PyqaCJJT4jlNteturlXuz7Gt0UNy0spvDXcahp0i2D elkQ==
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=p32eC9rcJ1m2ZaqwDeRZobL16734IRMeiNIZZDPp4oo=; b=pWUxlNzKt3+q3+min9UjmyJXsOW8toxYfuXusGt8NkKQj2L0Kl2Ct7qhUdlzozOXoX HTKPKysOgE4bXl/9+EBGtIDA64xhQzHtgumdbGcFY1n3ZjZgxu5DJLGIKW2XFaRXii+h ZnmcOShroPfwm/TbWs1aY020v+VKlv+Nmsb6oEOQOrvz8y0odKw84l5QQV/EjB3n08pQ lM2HE7kqc57mdXUngKeHNUgZtWe7a9iFIbGMpGO40hEFd/+38C5W7L9hUS/ZjYYdoY+z 1UuEIsjpBIjLjFA6EywpVAb+TMG4j5KlReRl4rHry6Y+0BgjvIIY8QPb8OguxyVdnBfd 43Rg==
X-Gm-Message-State: AOAM532xeE0BvB2YSjEiPPX/DwPrENffUfJACttOX7VcLyUsQVQJLHxg /ICiGtWmO8DIkhuBQBkbvcz8q5e5WvXprH1VZKo=
X-Google-Smtp-Source: ABdhPJyL7Ei6CkIQjtLklDv1oTv7Xegu7J7xyzs3hN3FX3hdyHTYf4Va2cZtwsPSoAKu/j6KAf5XusugCpVQ96SIPc0=
X-Received: by 2002:a9d:84c:: with SMTP id 70mr9025301oty.358.1597621105133; Sun, 16 Aug 2020 16:38:25 -0700 (PDT)
MIME-Version: 1.0
References: <CAD9ie-v_1GHHJWVeXb5cXiUELj-Un7BN6uCdqSRz4qjL_rq=UQ@mail.gmail.com> <CAOW4vyPEzcC0HCM2eRvZ3yjRp_S4rFdVcqqH3gmnpfbCLx-KNg@mail.gmail.com>
In-Reply-To: <CAOW4vyPEzcC0HCM2eRvZ3yjRp_S4rFdVcqqH3gmnpfbCLx-KNg@mail.gmail.com>
From: Tom Jones <thomasclinganjones@gmail.com>
Date: Sun, 16 Aug 2020 16:38:13 -0700
Message-ID: <CAK2Cwb47h=yHpbabY8xERArN6589q+cEaPU583iNW7ksc8_r4A@mail.gmail.com>
To: Francis Pouatcha <fpo=40adorsys.de@dmarc.ietf.org>
Cc: Dick Hardt <dick.hardt@gmail.com>, GNAP Mailing List <txauth@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000750bf305ad072692"
Archived-At: <https://mailarchive.ietf.org/arch/msg/txauth/8DxylLetE-4zpsyYiK4azYy9Br0>
Subject: Re: [GNAP] draft-hardt-xauth-protocol-14 update - reworked introduction
X-BeenThere: txauth@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: <txauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/txauth>, <mailto:txauth-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/txauth/>
List-Post: <mailto:txauth@ietf.org>
List-Help: <mailto:txauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/txauth>, <mailto:txauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 16 Aug 2020 23:38:30 -0000

i disagree - end user needs to be a human = use term like subject or
endpoint if you want a non-human
Peace ..tom


On Sun, Aug 16, 2020 at 3:46 PM Francis Pouatcha <fpo=
40adorsys.de@dmarc.ietf.org> wrote:

> Hello Dick, my feedback below:
>
> 1.2: Excellent and Focussed
> -> The word "Grant Client" looks great for me.
>
> 1.3:
> Title: Human Interaction -> End User Interaction
> I would title this "End User" interaction and not "human ...". It is not
> about having a human, but a terminating edge of the protocol. An "End User"
> can be either human on an IOT device or a car or ...
>
> Participant: User -> "Requesting Party"
> I will still insist on replacing the word "User" with a role name. Maybe
> "Requesting Party" as used by UMA.
>
> Participant: "Resource Controller". In past discussions there was a
> consensus on using "Resource Controller" instead.
>
> (B) I which the GS never interacts with the "Requesting Party" in a matter
> of obtaining a grant to a resource (many reasons: privacy, confidentiality,
> abstraction, ...). Generally the GS will need information (claims) about
> the "Requesting Party" to proceed with the authorisation decision. In this
> case, the GS can instruct the GC to obtain those claims. In some cases,
> claims on the "Requesting Party" will be obtained from another
> "Authorization Server" (AS). The word AS is intentionally chosen here. In
> this same login, the path (C0, C1) below will not only return the RC
> consent, but might also return some claims on RC.
>
> ASs provide authentication "of" and consent collection "from" End Users.
> End users are in this case the Requesting Party, and the Resource
> Controller).
>
> The result can look like the modified diagram below. With this we can
> address some privacy concerns that are being discussed on the list.
>
>     +-------------+                        +----------------+
>     | Requesting  |                        |  Resource      |
>     | Party (RP)  |                        | Controller (RC)|
>     +-------------+                        +----------------+
>         +     +                             +
>         +      +                           +
>        (A)     (B1)                      (C1)
>         +        +                       +
>         +.        +                     +
>         +       +--------+       +--------+
>         +       | RP-AS  |       | RC-AS  |
>         +       |        |       |        |
>         +       +--------+       +--------+
>         +         +                  +
>         +       (B0)                +
>         +       +                (C0)
>     +--------+ +                  +          +------------+
>     | Grant  | - - - -(1)- - - - + - - - - ->|  Resource  |
>     | Client |                  +            |   Server   |
>     |  (GC)  |       +---------------+       |    (RS)    |
>     |        |--(2)->|     Grant     |       |            |
>     |        |<-(3)->|     Server    |- (6) -|            |
>     |        |<-(4)--|      (GS)     |       |            |
>     |        |       +---------------+       |            |
>     |        |                               |            |
>     |        |--------------(5)------------->|            |
>     +--------+                               +------------+
>
> (B0, B1) replace (B). Occur inside step (3), GS asks GC to collect the
> claims. GC contacts RP-AS to negotiate those claims. But it is important to
> mention that those Claims-RP are not the target Grant being negotiated for
> the resource access. They are generally used by GS (and later RS) as input
> into performing authz decisions.
>
> (C0, C1) replace (C). They occur after step (3) (Beware of the
> difference to Bs that occur inside 3). This separation address the Big
> Brother problem we have been discussing in the list.
>
> Essential is to mention that in an instantiation of this model for oAuth
> for example:
> - GS, RP-AS and RC-AS might be the same entity.
> - RP and RC might refer to the same "End User".
>
> Off-topic: The splitting of GS and AS was suggested in some discussions on
> the mailing list. But we have no mean yet to isolate good inputs for later
> reuse. This is why I suggest we compile some inputs into tickets or wiki
> pages (like use cases).
>
> 1.4:
> The Trust model introduces what I would rather call the trust framework.
> The purpose of the trust framework will be to address topics mentioned in
> this section. There is still a lot of discussion needed to have a structure
> for this section.
>
>
> 1.5
> I suggest again we replace Human with "End User" and still make them
> roles. This is:
> Terminology (Are all roles)
>   -> These roles can be borne by End Users
>      -> Requesting Party (RP)
>      -> Resource Controller (RC)
>   -> These role can be borne by Services
>      -> GS
>      -> GC
>      -> RS
>      -> RP-AS
>      -> RC-AS
>
> I will stop here, as the fundamental agreement on this structure is
> necessary for a qualified review of section 2++.
>
> Best regards
> /Francis
>
> On Sat, Aug 15, 2020 at 7:03 PM Dick Hardt <dick.hardt@gmail.com> wrote:
>
>> Hello
>>
>> I just pushed an updated version of XAuth:
>>
>> https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html
>>
>> Highlights:
>>
>>    - renamed Client -> Grant Client
>>    - Introduced Client Owner, Grant Server Owner as new entities
>>    - renamed Authorizations -> Access
>>    - An Access contains an array of RAR objects now
>>    - Reworked diagram an intro to focus on Grant, and separate protocol
>>    roles from human interactions.
>>
>> New introduction included below for your convenience
>>
>> /Dick
>>
>>    -
>>
>> 1.
>> <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1>
>> Introduction
>> <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#name-introduction>
>>
>> *EDITOR NOTE*
>> <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1-1>
>>
>> *This document captures a number of concepts that may be adopted by the
>> proposed GNAP working group. Please refer to this document as:*
>> <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1-2>
>>
>> *XAuth*
>> <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1-3>
>>
>> *The use of GNAP in this document is not intended to be a declaration of
>> it being endorsed by the GNAP working group.*
>> <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1-4>
>>
>> This document describes the core Grant Negotiation and Authorization
>> Protocol (GNAP). The protocol supports the widely deployed use cases
>> supported by OAuth 2.0 [RFC6749
>> <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#RFC6749>]
>>  & [RFC6750
>> <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#RFC6750>],
>> OpenID Connect [OIDC
>> <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#OIDC>] -
>> an extension of OAuth 2.0, as well as other extensions. Related documents
>> include: GNAP - Advanced Features [GNAP_Advanced
>> <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#GNAP_Advanced>
>> ] and JOSE Authentication [JOSE_Authentication
>> <https://tools.ietf..org/id/draft-hardt-xauth-protocol-14.html#JOSE_Authentication>
>> ] that describes the JOSE mechanisms for client authentication.
>> <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1-5>
>>
>> The technology landscape has changed since OAuth 2.0 was initially
>> drafted. More interactions happen on mobile devices than PCs. Modern
>> browsers now directly support asymetric cryptographic functions. Standards
>> have emerged for signing and encrypting tokens with rich payloads (JOSE)
>> that are widely deployed.
>> <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1-6>
>>
>> GNAP simplifies the overall architectural model, takes advantage of
>> today's technology landscape, provides support for all the widely deployed
>> use cases, offers numerous extension points, and addresses many of the
>> security issues in OAuth 2.0 by passing parameters securely between parties
>> rather than via a browser redirection.
>> <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1-7>
>>
>> While GNAP is not backwards compatible with OAuth 2.0, it strives to
>> minimize the migration effort.
>> <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1-8>
>>
>> The suggested pronunciation of GNAP is "guh-nap".
>> <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1-9>
>> 1.1.
>> <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1.1>The
>> Grant
>> <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#name-the-grant>
>>
>> The Grant is at the center of the protocol between a client and a server.
>> A Grant Client requests a Grant from a Grant Server. The Grant Client and
>> Grant Server negotiate the Grant. The Grant Server acquires authorization
>> to grant the Grant to the Grant Client. The Grant Server then returns the
>> Grant to the Grant Client.
>> <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1.1-1>
>>
>> The Grant Request may contain information about the User, the Grant
>> Client, the interaction modes supported by the Grant Client, the requested
>> identity claims, and the requested resource access. Extensions may define
>> additional information to be included in the Grant Request.
>> <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1.1-2>
>> 1.2.
>> <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1.2>Protocol
>> Roles
>> <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#name-protocol-roles>
>>
>> There are three roles in GNAP: the Grant Client (GC), the Grant Server
>> (GS), and the Resource Server (RS). Below is how the roles interact:
>> <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1.2-1>
>>
>>     +--------+                               +------------+
>>     | Grant  | - - - - - - -(1)- - - - - - ->|  Resource  |
>>     | Client |                               |   Server   |
>>     |  (GC)  |       +---------------+       |    (RS)    |
>>     |        |--(2)->|     Grant     |       |            |
>>     |        |<-(3)->|     Server    |- (6) -|            |
>>     |        |<-(4)--|      (GS)     |       |            |
>>     |        |       +---------------+       |            |
>>     |        |                               |            |
>>     |        |--------------(5)------------->|            |
>>     +--------+                               +------------+
>>
>>
>> <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1.2-2>
>>
>> (1) The GC may query the RS to determine what the RS requires from a GS
>> for resource access. This step is not in scope for this document.
>> <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1.2-3>
>>
>> (2) The GC makes a Grant request to the GS (Create Grant Section 3.2
>> <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#CreateGrant>).
>> How the GC authenticates to the GS is not in scope for this document. One
>> mechanism is [JOSE_Authentication
>> <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#JOSE_Authentication>
>> ].
>> <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1.2-4>
>>
>> (3) The GC and GS may negotiate the Grant.
>> <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1.2-5>
>>
>> (4) The GS returns a Grant to the GC (Grant Response Section 4.1
>> <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#GrantResponse>
>> ).
>> <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1.2-6>
>>
>> (5) The GC accesses resources at the RS (RS Access Section 6
>> <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#RSAccess>).
>> <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1.2-7>
>>
>> (6) The RS evaluates access granted by the GS to determine access granted
>> to the GC. This step is not in scope for this document.
>> <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1..2-8>
>> 1.3.
>> <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1.3>Human
>> Interactions
>> <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#name-human-interactions>
>>
>> The Grant Client may be interacting with a human end-user (User), and the
>> Grant Client may need to get authorization to release the Grant from the
>> User, or from the owner of the resources at the Resource Server, the
>> Resource Owner (RO)
>> <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1.3-1>
>>
>> Below is when the human interactions may occur in the protocol:
>> <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1.3-2>
>>
>>     +--------+                               +------------+
>>     |  User  |                               |  Resource  |
>>     |        |                               | Owner (RO) |
>>     +--------+                               +------------+
>>         +     +                             +
>>         +      +                           +
>>        (A)     (B)                       (C)
>>         +        +                       +
>>         +         +                     +
>>     +--------+     +                   +     +------------+
>>     | Grant  | - - -+- - - -(1)- - - -+- - ->|  Resource  |
>>     | Client |       +               +       |   Server   |
>>     |  (GC)  |       +---------------+       |    (RS)    |
>>     |        |--(2)->|     Grant     |       |            |
>>     |        |<-(3)->|     Server    |- (6) -|            |
>>     |        |<-(4)--|      (GS)     |       |            |
>>     |        |       +---------------+       |            |
>>     |        |                               |            |
>>     |        |--------------(5)------------->|            |
>>     +--------+                               +------------+
>>
>> Legend
>> + + + indicates an interaction with a human
>> ----- indicates an interaction between protocol roles
>>
>>
>> <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1.3-3>
>>
>> Steps (1) - (6) are the same as Section 1.2
>> <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#ProtocolRoles>.
>> The addition of the human interactions (A) - (C) are *bolded* below.
>> <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1.3-4>
>>
>> *(A) The User is interacting with a GC, and the GC needs resource access
>> and/or identity claims (a Grant)*
>> <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1.3-5>
>>
>> (1) The GC may query the RS to determine what the RS requires from a GS
>> for resource access
>> <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1.3-6>
>>
>> (2) The GC makes a Grant request to the GS
>> <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1.3-7>
>>
>> (3) The GC and GS may negotiate the Grant
>> <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1.3-8>
>>
>> *(B) The GS may interact with the User for grant authorization*
>> <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1.3-9>
>>
>> *(C) The GS may interact with the RO for grant authorization*
>> <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1.3-10>
>>
>> (4) The GS returns a Grant to the GC
>> <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1.3-11>
>>
>> (5) The GC accesses resources at the RS
>> <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1.3-12>
>>
>> (6) The RS evaluates access granted by the GS to determine access granted
>> to the GC
>> <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1.3-13>
>>
>> Alternatively, the Resource Owner could be a legal entity that has a
>> software component that the Grant Server interacts with for Grant
>> authorization. This interaction is not in scope of this document.
>> <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1.3-14>
>> 1.4..
>> <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1.4>Trust
>> Model
>> <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#name-trust-model>
>>
>> In addition to the User and the Resource Owner, there are three other
>> entities that are part of the trust model:
>> <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1.4-1>
>>
>>    - *Client Owner* (CO) - the legal entity that owns the Grant Client.
>>    <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1.4-2.1>
>>    - *Grant Server Owner* (GSO) - the legal entity that owns the Grant
>>    Server.
>>    <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1.4-2.2>
>>    - *Claims Issuer* (Issuer) - a legal entity that issues identity
>>    claims about the User. The Grant Server Owner may be an Issuer, and the
>>    Resource Owner may be an Issuer.
>>    <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1.4-2.3>
>>
>> These three entities do not interact in the protocol, but are trusted by
>> the User and the Resource Owner:
>> <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1.4-3>
>>
>>   +------------+           +--------------+----------+
>>   |    User    | >> (A) >> | Grant Server |          |
>>   |            |           | Owner (GSO)  |          |
>>   +------------+         > +--------------+          |
>>         V              /          ^       |  Claims  |
>>        (B)          (C)          (E)      |  Issuer  |
>>         V          /              ^       | (Issuer) |
>>   +------------+ >         +--------------+          |
>>   |  Client    |           |   Resource   |          |
>>   | Owner (CO) | >> (D) >> |  Owner (RO)  |          |
>>   +------------+           +--------------+----------+
>>
>>
>> <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1.4-4>
>>
>> (A) User trusts the GSO to acquire authorization before making a grant to
>> the CO
>> <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1.4-5>
>>
>> (B) User trusts the CO to act in the User's best interest with the Grant
>> the GSO grants to the CO
>> <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1.4-6>
>>
>> (C) CO trusts claims issued by the GSO
>> <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1.4-7>
>>
>> (D) CO trusts claims issued by the RO
>> <https://tools.ietf..org/id/draft-hardt-xauth-protocol-14.html#section-1.4-8>
>>
>> (E) RO trusts the GSO to manage access to the RO resources
>> <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1.4-9>
>> 1.5.
>> <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1..5>
>> Terminology
>> <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#name-terminology>
>>
>> *Roles*
>> <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1.5-1>
>>
>>    -
>>
>>    *Grant Client* (GC)
>>    <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1.5-2.1.1>
>>    - may want access to resources at a Resource Server
>>       <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1.5-2.1.2.1>
>>       - may be interacting with a User and want identity claims about
>>       the User
>>       <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1.5-2.1.2.2>
>>       - requests the Grant Service to grant resource access and identity
>>       claims
>>       <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1.5-2.1.2.3>
>>    -
>>
>>    *Grant Server* (GS)
>>    <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1.5-2.2.1>
>>    - accepts Grant requests from the GC for resource access and identity
>>       claims
>>       <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1.5-2.2.2.1>
>>       - negotiates the interaction mode with the GC if interaction is
>>       required with the User
>>       <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1.5-2.2.2.2>
>>       - acquires authorization from the User before granting identity
>>       claims to the GC
>>       <https://tools..ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1.5-2.2.2.3>
>>       - acquires authorization from the RO before granting resource
>>       access to the GC
>>       <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1.5-2.2.2.4>
>>       - grants resource access and identity claims to the GC
>>       <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1.5-2.2.2.5>
>>    -
>>
>>    *Resource Server* (RS)
>>    <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1.5-2.3.1>
>>    - has resources that the GC may want to access
>>       <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1.5-2.3.2.1>
>>       - expresses what the GC must obtain from the GS for access through
>>       documentation or an API. This is not in scope for this document
>>       <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1.5-2.3.2.2>
>>       - verifies the GS granted access to the GC, when the GS makes
>>       resource access requests
>>       <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1.5-2.3.2.3>
>>
>> *Humans*
>> <https://tools.ietf..org/id/draft-hardt-xauth-protocol-14.html#section-1.5-3>
>>
>>    -
>>
>>    *User*
>>    <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1.5-4.1.1>
>>    - the person interacting with the Grant Client.
>>       <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1.5-4.1.2.1>
>>       - has delegated access to identity claims about themselves to the
>>       Grant Server.
>>       <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1.5-4.1.2.2>
>>       - may authenticate at the GS..
>>       <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1.5-4.1.2.3>
>>    -
>>
>>    *Resource Owner* (RO)
>>    <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1.5-4.2.1>
>>    - the legal entity that owns resources at the Resource Server (RS).
>>       <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1.5-4.2.2.1>
>>       - has delegated resource access management to the GS.
>>       <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1.5-4.2.2..2>
>>       - may be the User, or may be a different entity that the GS
>>       interacts with independently.
>>       <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1.5-4.2.2.3>
>>
>> *Reused Terms*
>> <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1.5-5>
>>
>>    - *access token* - an access token as defined in [RFC6749
>>    <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#RFC6749>
>>    ] Section 1.4.. An GC uses an access token for resource access at a
>>    RS.
>>    <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1.5-6.1>
>>    - *Claim* - a Claim as defined in [OIDC
>>    <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#OIDC>] Section
>>    5. Claims are issued by a Claims Issuer.
>>    <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1.5-6.2>
>>    - *Client ID* - a GS unique identifier for a Registered Client as
>>    defined in [RFC6749
>>    <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#RFC6749>
>>    ] Section 2.2.
>>    <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1.5-6.3>
>>    - *ID Token* - an ID Token as defined in [OIDC
>>    <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#OIDC>] Section
>>    2. ID Tokens are issued by the GS. The GC uses an ID Token to authenticate
>>    the User.
>>    <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1.5-6.4>
>>    - *NumericDate* - a NumericDate as defined in [RFC7519
>>    <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#RFC7519>
>>    ] Section 2.
>>    <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1.5-6.5>
>>    - *authN* - short for authentication.
>>    <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1.5-6.6>
>>    - *authZ* - short for authorization.
>>    <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1.5-6.7>
>>
>> *New Terms*
>> <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1.5-7>
>>
>>    - *GS URI* - the endpoint at the GS the GC calls to create a Grant,
>>    and is the unique identifier for the GS.
>>    <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1.5-8.1>
>>    - *Registered Client* - a GC that has registered with the GS and has
>>    a Client ID to identify itself, and can prove it possesses a key that is
>>    linked to the Client ID. The GS may have different policies for what
>>    different Registered Clients can request.. A Registered Client MAY be
>>    interacting with a User.
>>    <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1.5-8.2>
>>    - *Dynamic Client* - a GC that has not been previously registered
>>    with the GS, and each instance will generate it's own asymetric key pair so
>>    it can prove it is the same instance of the GC on subsequent requests.. The
>>    GS MAY return a Dynamic Client a Client Handle for the Dynamic Client to
>>    identify itself in subsequent requests. A single-page application with no
>>    active server component is an example of a Dynamic Client.
>>    <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1.5-8.3>
>>    - *Client Handle* - a unique identifier at the GS for a Dynamic
>>    Client for the Dynamic Client to refer to itself in subsequent requests.
>>    <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1.5-8.4>
>>    - *Interaction* - how the GC directs the User to interact with the
>>    GS. This document defines the interaction modes: "redirect", "indirect",
>>    and "user_code" in Section 5
>>    <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#InteractionModes>
>>    .
>>    <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1.5-8.5>
>>    - *Grant* - the user identity claims and/or resource access the GS
>>    has granted to the Client. The GS MAY invalidate a Grant at any time.
>>    <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1.5-8.6>
>>    - *Grant URI* - the URI that represents the Grant. The Grant URI MUST
>>    start with the GS URI.
>>    <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1.5-8.7>
>>    - *Access* - the access granted by the RO to the GC and contains an
>>    access token. The GS may invalidate an Access at any time.
>>    <https://tools.ietf.org/id/draft-hardt-xauth-protocol-14.html#section-1.5-8.8>
>>    - *Access URI* - the URI that represents the Access the GC was
>>    granted by the RO. The Access URI MUST start with the GS URI.. The Access
>>    URI is used to refresh an access token.
>>
>>
>>
>> --
>> TXAuth mailing list
>> TXAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/txauth
>>
>
>
> --
> Francis Pouatcha
> Co-Founder and Technical Lead
> adorsys GmbH & Co. KG
> https://adorsys-platform.de/solutions/
> --
> TXAuth mailing list
> TXAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/txauth
>