[DNSOP] Re: [Ext] Re: [EXTERNAL] Re: Call for Adoption: draft-davies-internal-tld

Andrew Sullivan <ajs@crankycanuck.ca> Fri, 09 May 2025 18:52 UTC

Return-Path: <ajs@crankycanuck.ca>
X-Original-To: dnsop@mail2.ietf.org
Delivered-To: dnsop@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id 9D02D26F585D for <dnsop@mail2.ietf.org>; Fri, 9 May 2025 11:52:43 -0700 (PDT)
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -1.898
X-Spam-Level:
X-Spam-Status: No, score=-1.898 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (1024-bit key) header.d=yitter.info header.b="bYQqtwUw"; dkim=pass (1024-bit key) header.d=yitter.info header.b="d/Z5vrIZ"
Received: from mail2.ietf.org ([166.84.6.31]) by localhost (mail2.ietf.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Pbc3OWTizJt8 for <dnsop@mail2.ietf.org>; Fri, 9 May 2025 11:52:42 -0700 (PDT)
Received: from mx5.yitter.info (mx5.yitter.info [159.203.31.152]) (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 mail2.ietf.org (Postfix) with ESMTPS id 6E3CC26F5858 for <dnsop@ietf.org>; Fri, 9 May 2025 11:52:42 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by mx5.yitter.info (Postfix) with ESMTP id D9C46BD52E for <dnsop@ietf.org>; Fri, 9 May 2025 18:52:41 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yitter.info; s=default; t=1746816761; bh=IDDl13q29FBx//q63HUVLvOx7C0ZfUIGQqsk0+MaqRU=; h=Date:From:To:Subject:References:In-Reply-To:From; b=bYQqtwUwg7L1G0q76IfxVmOftEREVv9X6IzbX4aQRid0b4ogn5lgwvNzn6zXwOd8N E24guOz89p+kRylD4Ci0Z0Jt7ePdVkMcHie57SJxjCHlfAOaQTHxtPXam9cMmhm+C8 dFaR+LO26fkPqvx4cbnBt1qEG906HWwSzoWYzUPU=
X-Virus-Scanned: Debian amavisd-new at crankycanuck.ca
Received: from mx5.yitter.info ([127.0.0.1]) by localhost (mx5.yitter.info [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id OS6bUHyk7ojX for <dnsop@ietf.org>; Fri, 9 May 2025 18:52:39 +0000 (UTC)
Date: Fri, 09 May 2025 14:52:39 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yitter.info; s=default; t=1746816759; bh=IDDl13q29FBx//q63HUVLvOx7C0ZfUIGQqsk0+MaqRU=; h=Date:From:To:Subject:References:In-Reply-To:From; b=d/Z5vrIZYAi6gDbny1u/1ToHFqNS0usZhuuTfbJb9s5ei24zmUp0nxTZvVifdEcwD NrBq4VjDIp3UOveYQ1zUEjFd1Uvz7mCBps4giUubpX0rzHqhcwydyBI9sa0Y1Sr4oM GOrZKf7+DgnPb5SMQU0XrbqkOZit4QGT2ha9pfSU=
From: Andrew Sullivan <ajs@crankycanuck.ca>
To: dnsop@ietf.org
Message-ID: <o25foqoshjnudrk4z6ucpxypvn36kpqn4nboa6r4zzespjvm2o@dlsnqvs4cgr7>
Mail-Followup-To: dnsop@ietf.org
References: <1C9E8ABA-4399-491B-A9F4-D9ACCB1BA72C@virtualized.org> <9EE8E4CC-04A3-46C7-BDDF-EF538A822AA8@virtualized.org> <m1uBHRs-0000LsC@stereo.hq.phicoh.net> <2796076.J18nJlZdWt@workstation.vm.ideapad.lan>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"; format="flowed"
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
In-Reply-To: <2796076.J18nJlZdWt@workstation.vm.ideapad.lan>
Message-ID-Hash: RJY44DMGNU5HXGB23RJVK227AXBNC5RX
X-Message-ID-Hash: RJY44DMGNU5HXGB23RJVK227AXBNC5RX
X-MailFrom: ajs@crankycanuck.ca
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-dnsop.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [DNSOP] Re: [Ext] Re: [EXTERNAL] Re: Call for Adoption: draft-davies-internal-tld
List-Id: IETF DNSOP WG mailing list <dnsop.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/dnsop/jaubVrdnsz0VEeUW8F6QrDcRvGw>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dnsop>
List-Help: <mailto:dnsop-request@ietf.org?subject=help>
List-Owner: <mailto:dnsop-owner@ietf.org>
List-Post: <mailto:dnsop@ietf.org>
List-Subscribe: <mailto:dnsop-join@ietf.org>
List-Unsubscribe: <mailto:dnsop-leave@ietf.org>

Dear colleagues,

I didn't have time to write a short note, so I wrote a long one instead.

On Mon, May 05, 2025 at 11:15:40PM -0500, Michael De Roover wrote:
>
>On Saturday, May 3, 2025 8:18:51 PM CEST Philip Homburg wrote:
>> .onion
>>
>> This is not DNS. Nobody is supposed to run a .onion zone anywhere. So
>> no issue. From, a DNS point of view, this domain does not exist.
>
>This is something I was reminded of, from seeing it in the SUDN registry and
>here. It reminds me of how web browsers enter the picture here (though DNS use
>of .internal does not seem limited to that). But being part of the Tor
>network, .onion does have a significant use for specific web browsers.

One of the things about mostly disappearing from the IETF for a while and returning is to be reminded how stuff stays the same, and I am nonplussed to see that this is one of those topics.  I contend once again that there is a reason people keep getting wound around this axle, and it is the failure to take into account different classes of things.

To begin with, there are names that are squarely outside the DNS.  For instance, any name with at least one label longer than 63 octets plus the separator is, by definition, outside the DNS.  (I include this for completeness, but it isn't an issue in this discussion.)

Second are names that are logically speaking candidates to be in the DNS, but that have a specific role to tell you that in fact a different name system is involved.  It is unfortunate that, historically, people decided they had to use in-band signalling for this, but I admit I cannot think of something else that would have worked for deployment.  Good examples of this are .local and .onion.  Each of these is supposed to tell a resolver, "Look out!  We're switching protocols!"  A conforming resolver will do the right thing.  Of course, this being the Internet, there is no way to know whether a given system will in fact be conforming, so the documents have to specify what to do in case such protocol switches don't work (and they do so). There is some inter-organizational Hokey Pokey to play here if the protocol-switch names appear to be TLDs, because it's important to ensure the organization that manages the actual DNS root doesn't collide with these special uses, particularly when the special uses are being designed.  Moreover, there is the problem of people actually attempting a proof of the slogan that protocols are politics by other means, in which they are trying to create a protocol especially to go around the policies of that other organization.

Third are names that are intended to be used in an ordinary DNS context.  The official position of the IAB, at least, has been for many years that the domain namespace (or maybe the DNS namespace, but I doubt it -- I don't think the protocol-switch understanding was as full as it might have been when RFC 2826 was written, but I think it still has to apply to all domain names) is a unified one that all but creates the uniform network of networks.  This would seem to entail that, if you want to use a domain name outside the context of the global public DNS but still want to use the DNS with it, you should just register a domain name and use that, and not publish the records in a public manner.  That has been the advice to network and system administrators, for whatever it's worth, for as long as I can remember -- certainly, since years still began with a 1.  Nevertheless, this position has the distinct problem that it doesn't match what people actually do.

And so we are at the degenerate case of giving a place within the DNS, that uses the DNS in a normal way, but that is officially reserved as being for private use.  Leaving aside the probability that anyone who is going to do this sort of thing is going to do it in conformance with yet another IETF document on the topic, I think asking whether DNSSEC ought to work normally in this case is to make an error.  The only way you can get DNSSEC to work reliably under such a case of name-overloading is to have local trust anchors that allow you to establish trust at some point in the private namespace.  But since the namespace is private and unmanaged, there is no way to make that work reliably in a world where devices regularly wander between networks.  In the absence of an automatic local trust-anchor installation mechanism that happens at network auto configuration (the very idea of which strikes me as creating way more problems than it is likely to fix), I don't see how DNSSEC is compatible with this degenerate use of a global namespace with an overloaded private use space.

Perhaps this is just a long way of saying that RFC 1918-for-DNS is actually a terrible, no good, very bad idea, but people are going to do it anyway.  So all one can do is accept that degenerate cases entail more degenerate uses, and I therefore think that trying to make DNSSEC work in any reliable way with .internal is a fool's errand, no matter what one tries.  Other cases like .onion are irrelevant, because they're protocol switches that tell you go go somewhere else.

Best regards.

A

-- 
Andrew Sullivan
ajs@crankycanuck.ca