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 >
- [GNAP] Authentication mechanisms discovery Denis
- Re: [GNAP] Authentication mechanisms discovery Dick Hardt
- Re: [GNAP] Authentication mechanisms discovery Dick Hardt
- Re: [GNAP] Authentication mechanisms discovery Justin Richer
- Re: [GNAP] Authentication mechanisms discovery Tom Jones
- Re: [GNAP] Authentication mechanisms discovery Denis
- Re: [GNAP] Authentication mechanisms discovery Denis
- Re: [GNAP] Authentication mechanisms discovery Dick Hardt
- Re: [GNAP] Authentication mechanisms discovery Denis
- Re: [GNAP] Authentication mechanisms discovery Dick Hardt
- Re: [GNAP] Authentication mechanisms discovery Denis
- Re: [GNAP] Authentication mechanisms discovery Benjamin Kaduk