Re: [kitten] Stating support for HTTP-SASL on the HTTP WG list

Rick van Rein <rick@openfortress.nl> Tue, 07 February 2023 10:24 UTC

Return-Path: <vanrein@vanrein.org>
X-Original-To: kitten@ietfa.amsl.com
Delivered-To: kitten@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 65311C1575C9 for <kitten@ietfa.amsl.com>; Tue, 7 Feb 2023 02:24:00 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.664
X-Spam-Level:
X-Spam-Status: No, score=-5.664 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=0.25, PDS_RDNS_DYNAMIC_FP=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, RDNS_DYNAMIC=0.982, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
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 LrOSTcKGu2Jb for <kitten@ietfa.amsl.com>; Tue, 7 Feb 2023 02:23:56 -0800 (PST)
Received: from fame.vanrein.org (2a02-58-157-9b00--7.ip6.tweak.nl [IPv6:2a02:58:157:9b00::7]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 657DBC1527A0 for <kitten@ietf.org>; Tue, 7 Feb 2023 02:23:55 -0800 (PST)
Received: by fame.vanrein.org (Postfix, from userid 1000) id F31282C87D; Tue, 7 Feb 2023 10:23:48 +0000 (UTC)
Date: Tue, 07 Feb 2023 10:23:48 +0000
From: Rick van Rein <rick@openfortress.nl>
To: Nico Williams <nico@cryptonector.com>
Cc: kitten@ietf.org
Message-ID: <20230207102348.GA30583@openfortress.nl>
Mail-Followup-To: Nico Williams <nico@cryptonector.com>, kitten@ietf.org
References: <20230127160101.GB635@openfortress.nl> <Y9QOTlS5Pmv47brx@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <Y9QOTlS5Pmv47brx@gmail.com>
User-Agent: Mutt/1.5.20 (2009-06-14)
Archived-At: <https://mailarchive.ietf.org/arch/msg/kitten/9FfBDu4hun5kyrkEV_VLx8Yu8R8>
Subject: Re: [kitten] Stating support for HTTP-SASL on the HTTP WG list
X-BeenThere: kitten@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: Common Authentication Technologies - Next Generation <kitten.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/kitten>, <mailto:kitten-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/kitten/>
List-Post: <mailto:kitten@ietf.org>
List-Help: <mailto:kitten-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/kitten>, <mailto:kitten-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 07 Feb 2023 10:24:00 -0000

Hello,

(sorry to all for the slow responses)

> The IANA HTTP Authentication Scheme registry requires only Expert Review
> to register new schemes:
> 
> https://www.iana.org/assignments/http-authschemes/http-authschemes.xhtml

It says "IETF Review" which is the new name for "IETC Consensus".
This connects two areas and I am trying to make these ends meet.

> you'd end up
> with a two-layer negotiation, and we've learned that two-layer
> negotiations are problematic.

I can see the problem if the layers require separate messages, because
you will have made a choice and cannot trace back.  If it is a matter
of calling a few software stacks, that is a host-local problem.

The SASL-level mech list is included in the very first 401 message, along
with the HTTL-level option to use SASL,

HTTP/1.1 401 Unauthorized
WWW-Authenticate: SASL realm="members only"
    mech="SCRAM-SHA-256 SCRAM-SHA-256-PLUS GS2-KRB5-PLUS GS2-KRB5"

> Instead every SASL mechanism you care
> about should be an HTTP authentication scheme, then HTTP functions as
> the one negotiation layer.  Though, even then we'd need enough metadata
> in the WWW-Authenticate: to help clients pick a scheme correctly.

The "IETF Review" above makes this a very difficult procedure.

It is possible to continue with, say, ", Digest ..." and allow the
HTTP-level choice between SASL and Digest.  I'd be interested to see
if this option is every used in practice; clients are all abound and
I doubt they can all parse this variability.  In SASL, it's a given.

> Also, more generally, I think HTTP authentication schemes are dead.
> It's too hard to use them generally, especially new ones.

I have another opinion, especially for RESTful and other autimation
interfaces.  And I want an option where browsers can handle credentials
in a different environment than the one running ads.

> IMO what's really needed is a generic way to do redirect-for-
> authentication-and-redirect-back-with-a-token.  I think I've an I-D
> about that somewhere.

That is a matter of how you decorate the HTTP name space, orthogonal
to the mechanism used.  This is how I would use it too, indeed.

Thanks,
 -Rick