Re: [DNSOP] Working Group Last Call for Revised IANA Considerations for DNSSEC

Brian Dickson <brian.peter.dickson@gmail.com> Thu, 12 August 2021 22:40 UTC

Return-Path: <brian.peter.dickson@gmail.com>
X-Original-To: dnsop@ietfa.amsl.com
Delivered-To: dnsop@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8C1CB3A07F2; Thu, 12 Aug 2021 15:40:30 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.097
X-Spam-Level:
X-Spam-Status: No, score=-2.097 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, FREEMAIL_FROM=0.001, MIME_QP_LONG_LINE=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 j4FH0berF1ER; Thu, 12 Aug 2021 15:40:24 -0700 (PDT)
Received: from mail-qv1-xf34.google.com (mail-qv1-xf34.google.com [IPv6:2607:f8b0:4864:20::f34]) (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 C29473A07EF; Thu, 12 Aug 2021 15:40:24 -0700 (PDT)
Received: by mail-qv1-xf34.google.com with SMTP id js7so4143067qvb.4; Thu, 12 Aug 2021 15:40:24 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=content-transfer-encoding:from:mime-version:subject:date:message-id :references:cc:in-reply-to:to; bh=GbjiLvWV6YAzAh+vDuwziYqawND7GFCal+9QJx6mUHM=; b=tbPGRNEfRy/CzQX7GQqNmeIjbTuGB1wfKu7gHR7Aa30uv5jJELQ4pckmFU5GMVvJFe lJILM2Ad9V5t4COV9tgcwHDNQt94tiPqdNFPOAhrjtTGn/lDp/EErlz3+9hqZa3+0+TB rojJbY33yvcqdd9j2zMDOZjge+A31+Oaqr1pntymJl06Qvd4Vw99s2sqOSCvKlu/Ivrw 73bThn5J4T6frMTSegycrj3kHR1/ls1MQDlCdeZfmE9B5FAeXFSMiYv0WwWSH8Kpk9sl fXNu4F7uTBXrA8LFOdPlnHvwjT+SKztKgC/mO2NwKjha0NJ6es8NM/M05btjhjY2Ll6N 9eRQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:content-transfer-encoding:from:mime-version :subject:date:message-id:references:cc:in-reply-to:to; bh=GbjiLvWV6YAzAh+vDuwziYqawND7GFCal+9QJx6mUHM=; b=IV3Dnlat07EZrLgm5RYetnpHKOqLyQm2Gyy8cg9ZH41QwfnHfap7rqFw2mLxaVMk98 Gx7JYhRMRYSioFznt39bDHdA2b95PY+wAkchmu4H64oJEl3sCi7R1/yFs3nU77yzYAs/ YnJ/iJTmmml3Y9LuB3r8c3SgFsWQ+/2MbEl/Yo8Ly4HB529ozb2ztpAooD54Vlqkn4BT JGYXqxuu3Ahqo4+C2c1awhNP9Uas2MuwTWtphq7uY49/a1LulveGFBu5n7FMiIoZm60N KW8JvocYhIOFQEq+aFYZD9WUdREJY22GRFvOBJnWPVZa6S2l3sya33yPfeCvpiu4wSAM CGVw==
X-Gm-Message-State: AOAM531xOaZQxOR1XT/TgbjnPdIBHXTnmj/VDKSTzOSNqFoBijbvJMAZ yxZbug/UlvgFtefAnepbG2M=
X-Google-Smtp-Source: ABdhPJysL2vFR2NR26SbPGCtnq3DRdoyNEdG0EETcukDuY089Xhfdag8tJto46SviYxRRCkNYBIN/g==
X-Received: by 2002:a05:6214:f0c:: with SMTP id gw12mr6353737qvb.33.1628808022455; Thu, 12 Aug 2021 15:40:22 -0700 (PDT)
Received: from smtpclient.apple (cpe-76-179-67-126.maine.res.rr.com. [76.179.67.126]) by smtp.gmail.com with ESMTPSA id g1sm2160189qkd.89.2021.08.12.15.40.21 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 12 Aug 2021 15:40:21 -0700 (PDT)
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
From: Brian Dickson <brian.peter.dickson@gmail.com>
Mime-Version: 1.0 (1.0)
Date: Thu, 12 Aug 2021 18:40:20 -0400
Message-Id: <C04DCC4D-B2A4-48CB-9FF8-527044483209@gmail.com>
References: <B0C03889-2B09-49CC-A88D-D3F33FAA6679@hopcount.ca>
Cc: Paul Wouters <paul@nohats.ca>, Tim WIcinski <tjw.ietf@gmail.com>, dnsop <dnsop@ietf.org>, dnsop-chairs <dnsop-chairs@ietf.org>
In-Reply-To: <B0C03889-2B09-49CC-A88D-D3F33FAA6679@hopcount.ca>
To: Joe Abley <jabley@hopcount.ca>
X-Mailer: iPhone Mail (18G82)
Archived-At: <https://mailarchive.ietf.org/arch/msg/dnsop/lF2gSC95WzZtVc9KKMYJIndkg_8>
Subject: Re: [DNSOP] Working Group Last Call for Revised IANA Considerations for DNSSEC
X-BeenThere: dnsop@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: IETF DNSOP WG mailing list <dnsop.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dnsop>, <mailto:dnsop-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dnsop/>
List-Post: <mailto:dnsop@ietf.org>
List-Help: <mailto:dnsop-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dnsop>, <mailto:dnsop-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 12 Aug 2021 22:40:31 -0000

Hi, Joe,
Please allow me to interject, on a few different issues from this thread…

Sent from my iPhone

> On Aug 12, 2021, at 4:39 PM, Joe Abley <jabley@hopcount.ca> wrote:
> 
> Hi Paul,
> 
>> On 12 Aug 2021, at 15:48, Paul Wouters <paul@nohats.ca> wrote:
>> 
>> On Thu, 12 Aug 2021, Joe Abley wrote:
>> 
>>>> This would have been excellent to do when we did DS. It would still be
>>>> good to do this now, I agree. But it would be too late for some of the
>>>> things discussed now.
>>> 
>>> Can you talk more about why you think so?
>> 

Without referring to his presentation (literally or figuratively), and having not been active at that stage of DNSSEC, my take is that getting DS added to the EPP stuff was the o e opportunity where any other additions could have been proposed. That was also a few thousand TLDs ago and possibly pre-NSEC3.

>> I did a small presentation during IETF 111 DPRIVE. You can find the
>> presentation deck and the recording on the IETF site.
> 
> Thanks, I will go and dig that out at some point.
> 
>>> Support for novel interpretations of particular DS algorithms will require support on both the provisioning and consumer side. Is it really that much more work to specify new DS-like RRTypes?
>> 
>> It does not neccessarilly require support on the provisioning side, as
>> it is "just another DS record" from the provisioning point of view
>> unless lawyers insisted the TLD somehow verifies the pubkey is
>> pre-published or in an algorithm they 'support' (allow).
> 
> I think the set of acceptable algorithms is constrained sufficiently often by registries and registrars that it makes little sense to consider any other case. But you may have different use-cases in mind.

I’m not sure, but I think there are ICANN things that govern algorithms that are mandatory to support, at least in the gTLD space? (Thus the reason for the draft we are discussing, I believe… ie how new algorithms get added to the IANA registry.

> 
>>> There's truck-roll in both cases. Neither path is really going to make these features generally available any time soon.
>> 
>> There is a huge difference between "support for a DS record with
>> unknown or unexpected content at the RRR level" and "change all
>> DNS and EPP software on the planet". The first one has like 1500
>> actors. The second has millions or billions.
> 
> I agree, but I don't think that observation is particularly helpful.

See back to my comment about what I think Paul meant. If new DS records can be used (with either new DNSKEY algorithms or new DS hash algorithms), the EPP mechanics can be used as-is with no protocol changes required (and likely no code changes in the majority of registries, hopefully).

There is an uptake curve for the usefulness of this mechanism (Ie validation by resolvers and/or clients) but it is fully backward compatible. No truck roll required.

> 
> My earlier point was that any mechanism that changes the implementation of a referral is going to need to be backwards compatible to validators and authoritative servers that don't support it. Truck roll is required not to maintain the integrity of the DNS, but to enable the new desired functionality.
> 
> I think there's a lot of inertia on the provisioning side and no matter what mechanism is preferred. It might seem like accepting a new DS algorithm is much easier, but in practice it might also be that you only need a new RRType to be supported in two or three code bases before substantially all TLDs have support. My experience is that it can take years to have new algorithms supported by the RR machinery, regardless of how simple they are to express and consume in the DNS. It's always worth remembering that registry systems are not DNS systems; they are operated and constrained very differently. Without data I would suggest it's not especially helpful to predict which path is more rocky.
> 
> On the resolver side, a very small handful of resolvers account for the bulk of the world's validation. But regardless of what critical mass you identify as important to establish, there's substantially the same weight of change required on the consumer side. Whether you special-case a DS hack or understand what to do with a new RRType received as part of a referral, you still need code changes.

(Nodding in agreement…)

> 
>> And as I argued, even if we do this by overloading DS or NS, is that
>> overloading really something we need? As it is only required for
>> privacy to nameservers that are in-bailiwick to the domain, which in
>> itself is already pretty much a dead give away even when you only
>> can observe encrypted TLS traffic to an IP address of a well known
>> published nameserver.

Actually (sorry, changing who I’m replying to mid-stream), this is not accurate.

Protection of NS is needed for out-of-bailiwick domains too. The NS name is required for TLS.

This is also the case when THAT domain is served by nameservers in yet another domain.

The first two delegations do not strictly require glue A/AAAA records, and if the latter-most domain is in a different TLD, glue is not even permitted.

(Resuming stream of reply now to Joe…)

> 
> I certainly don't fully understand the degree of risk from subverting a resolver to send a query to a bogus authority server.

If all domains are signed, the degree of risk is likely insignificant.

However, there are use cases where the delegation of an unsigned zone to an authoritative server whose name is in a signed zone results in a large change in risk, at least in the privacy use case. Having the delegation (NS set) protected via some record signed in the parent, ensures that the right name server name is used. When that name server name is in a signed zone, other record types can securely be obtained, such as TLSA records. If the NS is not protected this way, it is not possible to securely obtain transport parameters.

Actually, sending the query to the wrong authoritative server always results in loss of privacy information.

IFF the delegation is not over a secure transport, unvalidated NS responses are possible to subvert via an on-path attacker, or by a cache poisoning attack.

The unsigned delegation gets even worse at this point, since a successful poisoning attack can elevate an off-path attacker to an on-path attacker.


> I am not arguing for or against any kind of mechanism to mitigate unsigned glue. So I don't have any order of preference. However:
> 
>> So my own order of preference is likely something like:
>> 
>> 1) Forget about protecting in-bailiwick nameservers
>> 2) Do it securely using DS at parent
>>  (only requires new code for validating nameservers that don't exist yet)
> 
> I don't understand what the parenthetical comment here means. You're suggesting that existing validating resolvers that don't know how to interpret a weird algorithm in a DS RRSet received during a referral don't need to be changed?
> 

This is correct. It is specified in 4033/4/5, and has been confirmed experimentally with several major resolvers and diagnostic tools.
Paraphrasing, “treat unknown algorithms as insecure”, and ignore lack of corresponding matching DNSKEY records below the cut on unknown algorithms.

(I did a lot of experiments first before proposing any of this.)

The bigger picture on which WG handles any DS type algorithms (DNSKEY or DS) is what is placed on the parent side of a zone cut, for what purpose, and how that gets sent to the parent.

It seems to me that DPRIVE folks want to optimize for cold cache use cases, fewer DNS queries, and to do this using inappropriate trust/security models. For example, placing signals on transport mechanisms and potentially even public keys on the parent side of a zone cut.

IMNSHO, the use of signed child zones to provide things like TLSA records is the only secure and trustworthy mechanism for the privacy use case (over TLS).

Other than a handful of CCTLDs, there is no CDS available to provide DS to the parent. CDS polling directly from registry to registrant is pretty much ruled out by RRR, and Registrar polling still relies on EPP for uploading DS to the registry. There is no data integrity protection, and registrar level credentials are used.

Adding new DS types is required to avoid truck rolls.

Doing this in DNSOP is how we ensure it is possible to use DANE/TLSA.

That this would also provide  insecure delegations with privacy, is a feature, not a bug.

Sorry, didn’t mean for this to be such a long message.

Brian