[OAUTH-WG] Re: DNS Handles

Pawel Kowalik <kowalik@denic.de> Tue, 28 January 2025 18:49 UTC

Return-Path: <kowalik@denic.de>
X-Original-To: oauth@ietfa.amsl.com
Delivered-To: oauth@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 64330C18DB85 for <oauth@ietfa.amsl.com>; Tue, 28 Jan 2025 10:49:01 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.803
X-Spam-Level:
X-Spam-Status: No, score=-2.803 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, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=denic.de
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 g-o-5JYtBS3Y for <oauth@ietfa.amsl.com>; Tue, 28 Jan 2025 10:48:55 -0800 (PST)
Received: from mout-b-206.mailbox.org (mout-b-206.mailbox.org [195.10.208.51]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 6F30FC18DB82 for <oauth@ietf.org>; Tue, 28 Jan 2025 10:48:54 -0800 (PST)
Received: from smtp202.mailbox.org (smtp202.mailbox.org [10.196.197.202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mout-b-206.mailbox.org (Postfix) with ESMTPS id 4YjDp96zMrz9vmC; Tue, 28 Jan 2025 19:48:49 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=denic.de; s=MBO0001; t=1738090130; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=lEnykEy9TD7rnijthTvSUT+MsnDh/l//tb2J9f+fwA4=; b=c6zOUSxDf9Fthj+TpQ0V1VK+mN8PnjqlstwyhlAFoVnBPb4j+iq2UD5wG6WkmB/D3KawiY 9RLVKQag0mqsoN7LkTwlRDKkEQ33uociO0dEWqhfUghoUc75LPJmJ6nR12zge/0q/qAo+E w9++gNgrVEGjS5acuFE/GJOfwguRSSjCyv8vtw4TaCUEACsNxmxbB7Dw3kl7KxEfQ88FS5 tm0qKpSogrY7L9ThrjhqyBskMrsFJvX+kKNir9UXYEOzvkduYfkHdPyVaLkOXL66Th2a9j cjOUKqySnxr0v8khMlZbItAFCOJvLOzeUXDG39cibrZKjDp/6NESTy4PtZT5bg==
Message-ID: <975b7558-8272-4431-8cf7-d70306e06cf7@denic.de>
Date: Tue, 28 Jan 2025 19:48:47 +0100
MIME-Version: 1.0
From: Pawel Kowalik <kowalik@denic.de>
To: Phillip Hallam-Baker <phill@hallambaker.com>, Vladimir Dzhuvinov / Connect2id <vladimir@connect2id.com>
References: <CAMm+Lwgykk+B2UspfXBcLipFiTifNBf-WG-DeXPpWT39syqqVg@mail.gmail.com> <dc4f88ee-dfca-47b9-9ee5-5269b4df658e@connect2id.com> <CAMm+LwjSHdCEWtNR2z1HooEKd+rE-6yb=oCKjHsTd95WiP=f-w@mail.gmail.com>
Content-Language: en-GB, de-DE
In-Reply-To: <CAMm+LwjSHdCEWtNR2z1HooEKd+rE-6yb=oCKjHsTd95WiP=f-w@mail.gmail.com>
Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg="sha-512"; boundary="------------ms080202010701090905080702"
X-MBO-RS-ID: 0add6ce9d41c64f0031
X-MBO-RS-META: oqr7c9m9o197c6orcrxwtrhud94wabye
Message-ID-Hash: IOT5S2AWK7U6V5VLMR526RPOXLMDTSWI
X-Message-ID-Hash: IOT5S2AWK7U6V5VLMR526RPOXLMDTSWI
X-MailFrom: kowalik@denic.de
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-oauth.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: oauth@ietf.org
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [OAUTH-WG] Re: DNS Handles
List-Id: OAUTH WG <oauth.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/oauth/rdmOsPfktABlYVcEMPS-09wbAlk>
List-Archive: <https://mailarchive.ietf.org/arch/browse/oauth>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Owner: <mailto:oauth-owner@ietf.org>
List-Post: <mailto:oauth@ietf.org>
List-Subscribe: <mailto:oauth-join@ietf.org>
List-Unsubscribe: <mailto:oauth-leave@ietf.org>

Hi Phillip,

The two drafts mentioned by Vladimir were building blocks for something 
called ID4me - https://id4me.org/.

The project is not that alive anymore as it was lacking adoption, 
everyone looking more into blockchain identity solutions at the time.

Documentation is open and available 
https://gitlab.com/ID4me/documentation . Maybe useful for your work. I'm 
happy to talk about it in BKK if you are around.

Kind Regards,

Pawel

On 26.01.25 17:00, Phillip Hallam-Baker wrote:
> Well useful prior art. I suspect that there are several folk looking 
> at what is being built and working out how to backdate a claim with a 
> continuation of a patent already in progress - as happened many times 
> with Web tech.
>
> The question everyone seems to be asking is 'why this way, why now'.
>
> I think the answer is that developing an identity scheme is much 
> easier technical problem than folk imagine, anyone can propose an 
> identifier and resolution scheme and everyone did and so we ended up 
> with dozens of schemes on the table and the whole problem was to pick 
> just one. And that is why the BlueSky adoption of one scheme and 
> getting 29 million users is a game changer: there is critical mass 
> behind that approach and that is vastly more significant than any 
> technical concerns.
>
> DNS handles also meet the critical criteria for success - they are 
> genuinely open, human comprehensible and can be internationalized.
>
>
>
> On Sun, Jan 26, 2025 at 2:35 AM Vladimir Dzhuvinov / Connect2id 
> <vladimir@connect2id.com> wrote:
>
>     Hello Phillip,
>
>     In the late 2010s DENIC (the .de registrar) worked on a PoC for
>     DNS-based discovery and client registration for OpenID Connect.
>
>     They produced two drafts which you can find here:
>
>
>     "An Architecture for a Public Identity Infrastructure Based on DNS
>     and OpenID Connect"
>
>     https://datatracker.ietf.org/doc/html/draft-bertola-dns-openid-pidi-architecture-01
>
>
>     "OpenID Connect DNS-based Discovery"
>
>     https://datatracker.ietf.org/doc/html/draft-sanz-openid-dns-discovery-01
>
>
>     Vladimir Dzhuvinov
>
>     On 21/01/2025 19:15, Phillip Hallam-Baker wrote:
>>     As some of you are probably aware, BlueSky makes use of OAuth2 as
>>     their primary authentication mechanism with one important
>>     divergence from the established use pattern: account identifiers
>>     are DNS handles.
>>
>>     I have been looking at this approach in some detail and I think
>>     that just as 90% of the Web was not new but contained the missing
>>     pieces that completed the puzzle, the use of DNS handles may
>>     represent a similar step forward for OAuth and much much more.
>>
>>     As I see it, there are two types of DNS handle, personal
>>     registration handles under a name held by the user. I have
>>     hallambaker.com <http://hallambaker.com> so I issued
>>     myself @phill.hallambaker.com <http://phill.hallambaker.com>.
>>     Most users don't have a DNS name so they make use of 'at will'
>>     handles that are provided by a service provider. Right now, that
>>     is pretty much limited to Blue Sky (I also
>>     have @hallam.bsky.social). But what if the use of DNS handles
>>     became the standard way to do OpenID instead of being limited to
>>     an account with the provider cartel? What if I could use my DNS
>>     handle to log in anywhere?
>>
>>
>>     I have been working on this and have developed code that puts up
>>     a social media forum entirely disconnected from BlueSky and the
>>     ATprotocol but allows use of the same handles. So once I have the
>>     site finished, you will be able to comment on my personal blog at
>>     https://phill.hallambaker.com/ using the same account you use for
>>     BlueSky. And you will be able to comment on the specs and join in
>>     private forum discussions at mplace2.social.
>>
>>     And when I started, that was really all I was looking to do plus
>>     work out how to use the same mechanism with the end-to-end secure
>>     personal communications scheme I have developed. If Alice is
>>     using @alice.example.com <http://alice.example.com> for social
>>     media, isn't that the obvious handle to use to reach her for
>>     direct messaging? And if she accepts a contact exchange,
>>     shouldn't I also be able to send her email and drop files? how
>>     about using the same handle to set up a MOQ video chat?
>>
>>
>>     What this gets us to is a place where there is a big incentive
>>     for users to get themselves a multi-purpose DNS handle for their
>>     personal internet identity. Ideally of course, this is a personal
>>     registration allowing the user to change their service
>>     provider(s) at will without switching costs. But even an at-will
>>     handle is making them independent of the provider cartel.
>>
>>     And we can go further, I have code that automates management of
>>     IoT devices under either type of handle. So I can buy a coffee
>>     pot, onboard it to my personal set of devices and set it up with
>>     the DNS record entries and certificates to reach it as
>>     coffee.hallambaker.com <http://coffee.hallambaker.com> - all by
>>     scanning the QR code and giving it the name 'coffee'.
>>
>>     As with the Web, 90% of what we need to make this happen already
>>     exists - OAuth, OpenID, DNS Update, ACME, I am just writing a
>>     profile that takes very large specs and chops out bits to choose
>>     a single way to do things. As you would expect, I am filling in
>>     some of the gaps using code I have written for the Mesh but we
>>     could use Signal protocol instead - if the provider was willing
>>     to open up its walled garden.
>>
>>
>>     I believe the above represents a compelling value proposition.
>>     But as I got into documenting, I started to find more and more
>>     opportunity.
>>
>>     Let us imagine that we rejigger the current ATprotocol spec for
>>     DNS handles slightly so that we make the authorization service a
>>     first class party rather than being assumed to be a service
>>     provided by a particular content provider. Let us also give it a
>>     new name (I am currently using @nywhere) under which this
>>     particular log in trope can be recognized and assume that it is
>>     widely supported as a means of logging into content providers
>>     across the Internet.
>>
>>     In that scenario, I could log into my authentication provider
>>     once in the morning and that would give me access to all the
>>     content properties I need access to across the Web. And that
>>     provides an antidote for the current trend towards absurd and
>>     obnoxious demands for 2FA to access assets that are ultimately
>>     worthless. No, a crappy Web store does not need me to create an
>>     account for me to browse their wares and it certainly doesn't
>>     need to demand me respond to an email callback.
>>
>>     If I have a single authentication provider, then it can
>>     authenticate me once in the morning and I am good to go for the
>>     day. And we don't need to be limited to the limited capabilities
>>     of authentication schemes that work across HTML/HTTP. We can use
>>     biometrics, etc. etc.
>>
>>     This gives us a route to get rid of passwords that is actually
>>     deployable.
>>
>>
>>     _______________________________________________
>>     OAuth mailing list --oauth@ietf.org
>>     To unsubscribe send an email tooauth-leave@ietf.org
>
>
> _______________________________________________
> OAuth mailing list --oauth@ietf.org
> To unsubscribe send an email tooauth-leave@ietf.org