git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Git over HTTP; have flexible SASL authentication

From
RRRick van Rein <rick@openfortress.nl>
Date
Feb 4, 2023, 11:34 UTC
Message-ID
<20230204113408.GD21507@openfortress.nl>
In-Reply-To
<xmqq7cx7aov7.fsf@gitster.g>
Hi Junio,
(Sorry for the late reply)
Show 8 quoted lines
> > Git providers are inventing proprietary extensions to HTTP authentication
> > for Git.  It seems smarter to use SASL for this purpose, possibly allowing
> > the client a choice and authentication ringback to the client's own domain.
> 
> To adopt things like this, the work to extend how to make extensible
> what is on WWW-Authenticate in the thread that contains this recent
> message https://lore.kernel.org/git/Y9LvFMzriAWUsS58@coredump.intra.peff.net/
> may be relevant, perhaps?

This framework tries to get away from just Basic / Digest auth, but if I read correctly, it still assumes a single authentication step, which greatly reduces the strength of authentication.

SASL assumes that the endpoints can hold state and progress through any challenge/response exchange, in multiple steps if needed. This is not trivial with stateless HTTP, but we fixed it with a "s2s" argument which can hold the (datestamped, signed, encrypted) state on the server side.

A few mechanisms that spring to mind as useful with Git over HTTP-SASL are
 - Kerberos / GSS-API, desirable for companies using its single sign-on
 _ FIDO, currently being added to SASL to benefit all protocols
 - OPAQUE, a very modern crypto, developed in IETF now
 - SXOVER-PLUS, our own work that calls back to a user's domain for login
	(so no server-stored credentials needed, only access control)
I'm curious if this would indeed be considered an improvement to Git.
Cheers,
 -Rick
Previous: Matthew John CheethamNext: Junio C Hamano
Message 5 of 6 in “Git over HTTP; have flexible SASL authentication”
  1. Rick van ReinJan 27, 2023
  2. Junio C HamanoJan 27, 2023
  3. Jeff KingFeb 1, 2023
  4. Matthew John CheethamFeb 1, 2023
  5. Rick van ReinFeb 4, 2023
  6. Junio C HamanoFeb 6, 2023

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.