Re: [GNAP] Authentication mechanisms discovery

Tom Jones <thomasclinganjones@gmail.com> Mon, 24 August 2020 22:35 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 A41583A0E34 for <txauth@ietfa.amsl.com>; Mon, 24 Aug 2020 15:35:59 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.197
X-Spam-Level:
X-Spam-Status: No, score=-0.197 tagged_above=-999 required=5 tests=[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 3OnpjHqUQRNw for <txauth@ietfa.amsl.com>; Mon, 24 Aug 2020 15:35:57 -0700 (PDT)
Received: from mail-ot1-x335.google.com (mail-ot1-x335.google.com [IPv6:2607:f8b0:4864:20::335]) (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 516AD3A0E30 for <txauth@ietf.org>; Mon, 24 Aug 2020 15:35:57 -0700 (PDT)
Received: by mail-ot1-x335.google.com with SMTP id o8so6064329otp.9 for <txauth@ietf.org>; Mon, 24 Aug 2020 15:35:57 -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=+cnLaJKf5oFMH7kNs134DnYz+rCQz7YhYxQKg6HXBV8=; b=LkS2r0+0KQy50ZCU7agkgh/fY8+p1+KRgEo1bVopNdPIvIFdt9iRGPWbAJHQg/M/Zm RjOMQvPV8Kv37Tv5aHs7pKjENU6GHZtohBmWegcSHORGab3nb6axNViTL2QRU0Q6csTB Vr0qU9MtCTI+Zyocu7JfoegYicqo0OlO80Q9j20+8Ff9nWA1ddc8KQUZy+1QP6ikVlGp o4AmCNi3QAuM/XlXCCq2eNSFsx1x29G9Dr06zN7XYRF96D2MCTzKl0Kl5CvyaSRq2hgP RzmQ9hwX74kkjTg4O7G8VrWkGYqY04TGNI/jgIWlL9mtkIGquyp0r5gEgscMgzvi7yxU cpzA==
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=+cnLaJKf5oFMH7kNs134DnYz+rCQz7YhYxQKg6HXBV8=; b=unKcSn6aHHsthWquOn3kQkhxv0rPYIPGb2lS68oI4Esx4PM7gtdb6LX2Uo/8+03g7/ 5pTpLSEJ964PdOY34GxRiA+8FuNF6Q3fTX1r8Wl9J0rzA9pnk1UTbHy3cI4/YY7R3bCV P8+D1x3vMTr220D/TMoHG3Skrhc7114m/tcTKWG3ouPolXutNhnRS2upeIbfp/by+KMG VWc1hzbZoqd6cZNDXye/wxUIrDaVkC4N9PLrHZiSDxCOYm9PA6fnNX4VWUlCUnMzv94+ 8KApTsBF7+1njR8AqZ2h3doXmdNXPVWqWm60jNtL0xtST82bwQNHOccuBv3pX8t+E3vJ LJ2g==
X-Gm-Message-State: AOAM532OtSmKgpEIj1obRiXAmIxM0rnxr3j7YyFxSo2ij3oXrAnDOF4I QXIwJzc5dF4ZROnmMJqImG83oukVvmMjr+Ww4Rc=
X-Google-Smtp-Source: ABdhPJwexNSJUllcbNsu4mD75WElfgrqQSqtjgUDeb9gNyj1Oibae/Cr8ssvzyFMevXQsMwE/jhabQxB55JSSCJBJBo=
X-Received: by 2002:a9d:683:: with SMTP id 3mr4777881otx.87.1598308556402; Mon, 24 Aug 2020 15:35:56 -0700 (PDT)
MIME-Version: 1.0
References: <fdf69c9e-6950-b2d2-f889-dd4219fec6f1@free.fr> <247CA426-CB07-482F-ADFB-B8CE8AC9D8E2@mit.edu>
In-Reply-To: <247CA426-CB07-482F-ADFB-B8CE8AC9D8E2@mit.edu>
From: Tom Jones <thomasclinganjones@gmail.com>
Date: Mon, 24 Aug 2020 15:35:45 -0700
Message-ID: <CAK2Cwb4rtT3jCn-BP50OPx1YV8uU=a=dTxVvi5m2tVaiiHo_cQ@mail.gmail.com>
To: Justin Richer <jricher@mit.edu>
Cc: Denis <denis.ietf@free.fr>, "txauth@ietf.org" <txauth@ietf.org>, Dick Hardt <dick.hardt@gmail.com>
Content-Type: multipart/alternative; boundary="000000000000bef33905ada73533"
Archived-At: <https://mailarchive.ietf.org/arch/msg/txauth/xmnaiPAUs39_CLHKZunPXBEyNIk>
Subject: Re: [GNAP] Authentication mechanisms discovery
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: Mon, 24 Aug 2020 22:36:00 -0000

If anyone is interested in contributing to a Mobile Authentication
Assurance Statement, let me know.
We have one in process now in Kantara. It's our view that it would just be
a signed jwt that could be included anywhere it was needed.
Peace ..tom


On Mon, Aug 24, 2020 at 1:12 PM Justin Richer <jricher@mit.edu> wrote:

> Denis, thanks for writing this up. I don’t think we want to get into the
> business of defining what an API should do for service and capability
> discovery, especially since there are a wide variety of API patterns and
> styles out there, each with their own discovery principles. I agree with
> Dick that the right way to approach this is likely to use the
> “WWW-Authenticate” header response, which is what I’ve proposed as a straw
> man in section 10.4 of XYZ:
>
>
> https://tools.ietf.org/html/draft-richer-transactional-authz-09#section-10.4
>
> For use cases like yours where the client starts at the RS, this makes a
> lot of sense and the RS can point the client toward the AS it should be
> using, and even tell it what kind of thing it needs to ask for next.
> There’s a lot of work we can do there to make that robust and useful.
>
> But, just like AS discovery, I think that’s an optimization for cases
> where that information isn’t known by some other means. It’s my stance
> that, wherever possible, discovery should be an optional add-on to let
> software optimize the experience, not something required for the protocol
> to work. “Discovery” and “registration” assume a mostly-static world, where
> sysadmins are making security decisions ahead of time and assigning
> identifiers to those decisions. I think that if we take a step back and
> look at the fundamentals of what we’re trying to solve here, we don’t
> actually need discovery or registration a lot of the time, and certainly
> not as add-ons like they are in OAuth 2.
>
> When I wrote XYZ, one of the goals was for it to be “dynamic first”, so
> that the client and server wouldn’t :need: to know anything about each
> other ahead of time in order for the core protocol to work. Now of course,
> in many cases, the AS is only going to trust calls from keys that it’s seen
> as part of a static registration record, and a client is going to be
> configured or programmed to only take actions that are available at the AS
> it’s been written to talk to. But it’s important to me that these cases are
> optimizations on the overall protocol, which (unlike OAuth) doesn’t assume
> a discovery or registration step happened out of band first.
>
> In today’s world, we’ve got so many signals that software can send each
> other at runtime that can be processed and likely trusted much more than a
> static discovery/registration ever could. The client can send over device
> posture, organizational affiliation attestations, verifiable credentials of
> the current user (without the AS ever seeing the user), derived credentials
> that are tied to some external trusted registry (think of a CA style model
> but for more than certificates), or any number of other signals that people
> are using and building. None of these lend themselves to OAuth’s “client_id
> is required everywhere” model, which was built around a notion of two web
> sites talking to each other. That’s why I think we should not only be
> getting away from the discovery/registration mindset and towards a
> dynamic-first negotiated protocol which can, in turn, be optimized in a
> secure and clean fashion.
>
>  — Justin
>
> On Aug 24, 2020, at 4:16 AM, Denis <denis.ietf@free.fr> wrote:
>
>
> Hi Dick
> *, *
>
> The following comments have been elaborated after an analysis of your
> draft: draft-hardt-xauth-protocol-13.
>
> *1 ) Authentication mechanisms discovery at the GS*
>
> Sections 3 and 3.7 from draft-hardt-xauth-protocol-13 are proposing to
> support an HTTP OPTIONS request which would be the first request
> when talking to a GS. The goal is to be able to query the authentication
> mechanisms supported by the GS. This would indeed be very useful.
>
> The HTTP OPTIONS request has been first defined in RFC 2616 and refined in
> RFC 7231 (see https://tools.ietf.org/html/rfc7231#section-4.3.7).
>
> RFC 7231 mentions:
>
>       A standard format for such a representation is not defined by this
> specification, but might be defined by future extensions to HTTP.
>       A client that generates an OPTIONS request containing a payload body
> MUST send a valid Content-Type header field describing
>       the representation media type.  Although this specification does
> not define any use for such a payload, future extensions to HTTP
>       might use the OPTIONS body to make more detailed queries about the
> target resource.
>
> RFC 7231 also mentions:
>
>       A server generating a successful response to OPTIONS SHOULD send an
> header fields that might indicate optional features
>       implemented by the server and applicable to the target resource,
> including potential extensions not defined by this specification.
>
> However, two types of authentication are possible: user authentication and
> client authentication. If both are supported by the GS, it would be
> possible
> to address this concern either by returning two lists of authentication
> methods or even better by using two different Content-Type header fields
> describing
> the representation media type, since the client is knowing whether it is
> acting or not on behalf of a User.
>
> *2) Authentication mechanisms discovery at the RS*
>
> This HTTP OPTIONS request should also be supported by a RS. When a client
> first contacts a RS, it does not necessarily know the authentication
> methods that are *currently* supported by the RS. This means that the
> same request as the one used for the GS should be available for a RS as
> well.
>
> Denis
>
> --
> TXAuth mailing list
> TXAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/txauth
>
>
> --
> TXAuth mailing list
> TXAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/txauth
>