Re: [DNSOP] [Ext] DS glue for NS draft

Ben Schwartz <bemasc@google.com> Mon, 16 August 2021 19:14 UTC

Return-Path: <bemasc@google.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 17DCF3A0823 for <dnsop@ietfa.amsl.com>; Mon, 16 Aug 2021 12:14:29 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -18.097
X-Spam-Level:
X-Spam-Status: No, score=-18.097 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_MED=-0.499, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, ENV_AND_HDR_SPF_MATCH=-0.5, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, USER_IN_DEF_DKIM_WL=-7.5, USER_IN_DEF_SPF_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=google.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 ppbBCjkaKIP9 for <dnsop@ietfa.amsl.com>; Mon, 16 Aug 2021 12:14:23 -0700 (PDT)
Received: from mail-wr1-x42d.google.com (mail-wr1-x42d.google.com [IPv6:2a00:1450:4864:20::42d]) (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 E51FD3A0819 for <dnsop@ietf.org>; Mon, 16 Aug 2021 12:14:22 -0700 (PDT)
Received: by mail-wr1-x42d.google.com with SMTP id h13so25132814wrp.1 for <dnsop@ietf.org>; Mon, 16 Aug 2021 12:14:22 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=I3sRDm0w+1vhCk6DPlyAocDo9/2k0f4lRig8PBuR0/A=; b=vv8qlZ+FscFZwx4yFxSF5olD0560nRcJA7bs92CkxdG15cbFPPdYi7VTx7eOFBTk/m YM73sw62Ix0fVGdpg1TdcGv7TbHnLdErFRaL40K7B/PyXQZeCL2jVDMIRx6rqj6hHcMf v+eccUNNIjdjd0KhlSNoRTn4Xx3kB1Zs6TZnMyOTvNgWeftNf1Cu66JYaF8fjiLMBkIj QH3gRsZqT7x3gP/058OY5k+CjiHwR80eGHh8z6TwcWDh2koNCZgKq6CV4rgg5UdL86g6 zpe54bxR2AvHxPW49td5s5RcsJcTsFWGfCceQq/KG7MMFlOff/jY0QBUorHvspiP0rxY 8CoA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=I3sRDm0w+1vhCk6DPlyAocDo9/2k0f4lRig8PBuR0/A=; b=LM50h3SyBVClyiY3yADU8rt6btE1b9BQ8iBJIT8TnVHoE34wkwhAGHFrsrJHbjewk2 eulqA/3KrCM5UtAd4wZ/Cf5MWxbs5PCaDu+faTatu/qG52UHgkse5FINbVyNg/TYxU6r Ar5KbzRfTzU9sM1XcOvyfzfFR7rkWkpjmyQGcU2sNA/IN8KsoBQXwV3g8Y1HAceyhRrV 8E8deiWKKrPceL/7JuxAzYhLqXBckL4XupTsRfQMULGI5tfdv96sQAA8tEYEIk6mBCyM zBGoqJ5A3gchzsadVga5r3nyKkQy5R/pncPTVFRns1giQReVPi+fAsQQxwkodTzhbnmu /5Cg==
X-Gm-Message-State: AOAM530yo3yJDrE61qt5bG28JICtntuV56DBFjwrws9dESy865VPJby7 tsK5c/VEKIYQkA2eH9VBeX//QUHPqwbD1ZiPGS3gqQ==
X-Google-Smtp-Source: ABdhPJzj2Q4TcNg9KmrchDMXdhlgVk3x5n2v0FT913i0tjS99Hd5vPEuKc44ymtHEA+P/cBV4neBx7j2GvA4VO1TBiI=
X-Received: by 2002:adf:a2c4:: with SMTP id t4mr29182wra.258.1629141255843; Mon, 16 Aug 2021 12:14:15 -0700 (PDT)
MIME-Version: 1.0
References: <E64E409D-ABAA-4F09-8759-D3D8CEB36F13@gmail.com> <20210812162151.271D5261E7C4@ary.local> <CAHbrMsBTCBtOxjXXfUR3TQz+abaDdWRum2x_ZroZ2Wxyhscrfg@mail.gmail.com> <67B40C28-677F-42E1-B259-F90F6A78578D@icann.org> <CAH1iCirsTc78r5tS_suOpTe2DiX5tYtmN7mUnPtyM8VaVny3KQ@mail.gmail.com> <CAHbrMsCjuNh3UCMrpqxG33ES_sVjPDb+Z_N4QAxBOSRpMV7NGQ@mail.gmail.com> <CAH1iCir_ro2YvJYKWoyKv5qZ+Xe0JjE++mymdWbxeU70AvP_jw@mail.gmail.com>
In-Reply-To: <CAH1iCir_ro2YvJYKWoyKv5qZ+Xe0JjE++mymdWbxeU70AvP_jw@mail.gmail.com>
From: Ben Schwartz <bemasc@google.com>
Date: Mon, 16 Aug 2021 15:14:03 -0400
Message-ID: <CAHbrMsDPw_yRJdTYnxEctrqdeffHp_0oC9vgu+cnn2-C1MRiXA@mail.gmail.com>
To: Brian Dickson <brian.peter.dickson@gmail.com>
Cc: Paul Hoffman <paul.hoffman@icann.org>, dnsop <dnsop@ietf.org>
Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg="sha-256"; boundary="000000000000e144e405c9b20164"
Archived-At: <https://mailarchive.ietf.org/arch/msg/dnsop/xrcfeouARaXXyRBVKY45sRsO7Ss>
Subject: Re: [DNSOP] [Ext] DS glue for NS draft
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: Mon, 16 Aug 2021 19:14:29 -0000

On Mon, Aug 16, 2021 at 2:05 PM Brian Dickson <brian.peter.dickson@gmail.com>
wrote:
...

> I'm arguing against the parent ever putting SVCB records in any delegation
> response, regardless of whether the data is signed, or whether the parent
> is capable of doing so. The data model for doing so is IMNSHO incorrect.
>
> The parent is responsible for signaling the delegation, and everything
> else is necessary for resolution, but not authoritative.
>

I think we can and should view the server configuration hint (e.g. SVCB) as
"necessary for resolution".  Otherwise, we would be asking resolvers to add
a round-trip delay (a "synchronous binding check") to every single DNS
delegation, in order to check whether a SVCB record exists before
proceeding.  I believe this is untenable: our first deployment step can't
be to slow down the whole internet.  The resolver operators I've spoken to
have made it clear that they will not implement any behavior with that kind
of impact.

Even if we can somehow limit this "synchronous binding check" to domains
that have opted-in, we would still be adding a round-trip delay to all
delegations in the long term, when encryption is widely deployed.  I don't
see any operational concern here that could outweigh the cost of making the
whole internet slower.

...

> To avoid misunderstanding: SVCB itself does not alter the nameserver name
>> used for TLS.  The nameserver name is the name in the NS record, regardless
>> of what SVCB says.  ("TLS clients MUST continue to validate TLS
>> certificates for the original service name",
>> https://datatracker.ietf.org/doc/html/draft-ietf-dnsop-svcb-https-07#section-2.3
>> )
>>
>
> At issue is not whether the name is changed, it is who is authoritative
> for the data at the owner name, which is the child zone.
>

I agree.  That's why I think it's wisest to require that any records
provided by the parent are only used for delegation, and never returned to
the stub.


> The SVCB also is controlling the transport and potentially other
> parameters.
>

These parameters are thoroughly analogous to the IP addresses in glue A
records today.  In both cases, we are discussing information that is used
to connect to the nameserver, not information that will be returned to the
stub as zone contents.


> Absent a discussion on how to securely get that data into the parent, it
> cannot be accurately asserted as having the same security properties as
> when the SVCB record is published in a signed child zone.
>
>
>>
>>
>>> The resolver talking TLS will be talking to the name server, to make
>>> encrypted queries about a domain served by the name server.
>>> (The domain served that is being queried is presumed to not have an
>>> in-bailiwick name server, since that particular corner case is a
>>> chicken/egg problem.)
>>>
>>> The alternative (to requiring the SVCB record in the child, signed by
>>> the child domain) might be an SVCB-like thing in the parent which contains
>>> data signed by the child. Specifically:
>>>
>>>    - A DNSKEY algorithm, or component of the draft-schwartz encoding,
>>>    which contains (SVCB + RRSIG_name_server_child_ksk(SVCB))
>>>    - This would be signed by the parent too, but the critical component
>>>    the provides the data integrity from the child is the
>>>    RRSIG_name_server_child_ksk element
>>>    - Only the operator of the name server's name's domain (which
>>>    possesses the name_server_child_ksk) can generate this signature
>>>
>>> Yes, but the parent controls the choice of nameserver name, so this does
>> not create an effective defense against a hostile parent, which is
>> impossible under standard DNSSEC assumptions.
>>
>
> None of this has anything to do with a potential hostile parent, not sure
> why you are raising that.
>

Security is defined by a threat model.  if the parent is excluded from the
threat model, as we seem to agree, then anything signed by the parent is
fully secure by definition.

But I think it is probably a moot point to discuss any other method of
> encoding SVCB in the parent.
>
> There are a lot of other reasons why SVCB in the parent has
> characteristics that are not suitable.
>
>    - TTL on the parent side is controlled by the parent, not the child
>       - This has operational impacts, particularly if problems occur and
>       a roll-back is necessary
>
>  I don't see a difference here from the status quo with NS, A, and AAAA
glue records.

>
>    - TTL on the child side is controlled by the child (which is likely to
>    be important when rolling out new features, or making changes)
>       - TTL can be adjusted up/down as needed for planned maintenance work
>    - Frequency of updates for current DS records, is basically "when KSK
>    rolls", which is on the order of year(s)
>       - Encoding glue via DS, involves updates whose frequency aligns
>       with changes to that glue, also typically stable for years at a time
>
> There is no reason to expect frequent changes to any of the relevant
records.  Even TLSA records would not be rotated more than a few times a
year.

>
>    - Changes to SVCB would require regenerating RRSIGs.
>       - Doing that imposes impact to the signing zone (signature
>       frequency is typically bound by hardware, and upping the former requires
>       more of the latter)
>       - That also presupposes that the proposed frequency can even be
>       supported
>       - If the signing is done by the child, the cost is borne by the
>       party making the changes
>       - If the signing is done by the parent, the cost is not borne by
>       the party making the changes
>    - The SVCB RDATA is not actually authoritative on the parent side
>    (bears repeating, this has a lot of implications, including infosec issues)
>
> Yes, but there is no need for it to be authoritative, because it would
never be returned as zone contents.  We already use non-authoritative data
to establish a connection to a nameserver, so that's nothing new.

Also, it is not clear from the discussion thus far, on which record(s)
> would have that SVCB record included:
>
>    - The registrant's zone name (delegation from the parent to the DNS
>    Operator's server)
>    - The DNS Operator's zone name (possibly glue-less XOR possibly having
>    in-bailiwick glue required)
>    - The Zone serving the name server names (referenced in the NS records
>    of the registrant's zone)
>
> The first one would not be reasonable at all, since presumably the
> registrant would have the ability to submit SVCB records even if the
> registrant did not operate the authoritative DNS server.
>

SVCB records would only be accepted on in-bailiwick delegations, i.e. the
same delegations that include A/AAAA glue today.  I believe this is your
third case, although there can technically be multiple in-bailiwick
delegation steps in the course of a single iterative resolution.

>
>>>    - This is much stronger than being able to push data over an EPP
>>>    channel, which is the mechanism available to a Registrar that polls the
>>>    Registrant's domain for CDS records
>>>    - EPP does not have a mechanism currently for validation of supplied
>>>    DS records
>>>
>>> I don't understand.  When using CDS, the CDS records are validated by
>> DNSSEC from the current DS.  Otherwise, the DS records are authenticated by
>> the registrar's usual login procedure.  Either way, any adversary who could
>> forge DS records could also forge RRSIGs or any other RR type.
>>
>
> This is a "chain of custody/control" thing. If the Registry is not doing
> CDS directly, the CDS model has failed to protect the DS update end-to-end.
> While another party (Registrar) polling and validating CDS would be
> _necessary_, it would not be _sufficient_.
>

It sounds like you are saying that a compromised or hostile Registrar
should be part of our threat model.  I do not think this is necessary or
practical.  A compromised Registrar can always replace the entire child
zone contents, so nothing we place in the child zone can defend against it.

There are only a handful of CCTLDs doing CDS, and I am not aware of any
> significant plans beyond those currently.
> CDS _by the Registry_ is incompatible with the RRR model, i.e. the gTLD
> mechanism controlled by ICANN contracts.
> That is highly unlikely to change in a timeframe faster than multiple
> years, if ever.
>
> Basically, I don't foresee CDS done by Registries being relevant to any
> proposals for securing the glue data.
>

Perhaps, but some Registrars have already implemented support, e.g.
https://glauca.digital/blog/2020/08/10/cds-at-the-registrar-level.html.
Domain owners that wish to publish via CDS can already choose such a
Registrar, and use CDS for automated maintenance with any Registry.

...

> Also, optimizing for cold cache vs warm cache should be explicitly called
> out. It looks to me like "SVCB in parent" is only valuable in the cold
> cache scenario.
>

I agree!


> Stats are probably available showing how often queries are made for DNS
> operator's zones that indicate a cold cache is being used. Absent a
> compelling case for the cold cache, it does not seem to be worth any effort.
>

Perhaps we can find some stats, but I think the "cold cache" case is worth
optimizing for reasons of tail latency and consolidation pressure.  Cold
cache delegations already resolve slower, so making them even slower is
likely to have a disproportionate impact on tail latency.  Low-traffic
nameservers are much more likely to be cold in cache, so increasing the
latency penalty for a cache miss would increase pressure to migrate to
centralized nameservers.

>