Re: [Add] I-D Action: draft-ietf-add-ddr-09.txt

Ben Schwartz <bemasc@google.com> Fri, 05 August 2022 02:04 UTC

Return-Path: <bemasc@google.com>
X-Original-To: add@ietfa.amsl.com
Delivered-To: add@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id CEEDDC14F719 for <add@ietfa.amsl.com>; Thu, 4 Aug 2022 19:04:46 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -17.606
X-Spam-Level:
X-Spam-Status: No, score=-17.606 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_MED=-0.001, 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, 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, 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 ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id qaCYmpvqMh1n for <add@ietfa.amsl.com>; Thu, 4 Aug 2022 19:04:42 -0700 (PDT)
Received: from mail-wm1-x336.google.com (mail-wm1-x336.google.com [IPv6:2a00:1450:4864:20::336]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 453BEC14792A for <add@ietf.org>; Thu, 4 Aug 2022 19:04:18 -0700 (PDT)
Received: by mail-wm1-x336.google.com with SMTP id v5so779945wmj.0 for <add@ietf.org>; Thu, 04 Aug 2022 19:04:18 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc; bh=2467unCLzQr5Fj0rnEk+rGfYsiNHXygJJVDQxgcxLIY=; b=auVB8EctdqWVekOACMgJ/g6vR+ZKQ1deXhizkfrfxx30rXkyYXjGUesmHZ3JsvN173 KljObVFwv4uGcHsjAwAP4+wo4TFSwoxR8LFovaW/SAR3uvpJxxxGvuegAVha7Wk9gGus qPOssFGpvjJ+WsnxI4jEzjvrN9e2FLt3vxNOulMAaZnywkKWQUB2ZMlRL6HA/AixU/Y5 4surm8+UuGLJ+YUsRKkzMC6Ka+RpTfcuf4fwuYz0mobDiwqN6URb9BJjcaoDsMVcwxjb n7IAnrBOCYXw4fdO5mAwnBLuZs0kSk87ich5PD0Qb1lB6oR1obsTE/n6NinLdiip3o+9 vrQQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc; bh=2467unCLzQr5Fj0rnEk+rGfYsiNHXygJJVDQxgcxLIY=; b=4QdX3DjvBlnLJyzX3pSKxuuuQ9SWWXV70alPzRE2UAgImi3tJB6CqCjDUWE0dE3in6 KYFjmJEFLitVcXhQfpA7y7ivicde0acBDbe0+84M8gHo7P5j0liF7oQ3nAmbxwrp3lCL pH0EE1kxu4W5Mu8ivwSd8l2jLOLzMOT0q5k5N3wo9l17xPr6KyH0mEBrp+BIEYcPWdnS NtW7oIqOkdFi4LdXclLbzKaJnVhP8igQ6wZl6q2lirkU2k6ie/HVOfJ2S6+Yw9mCI/+w Ctm9mgXkc7sf4PMbmvHCbQZ4JbPZoXCBzh8fC8+drhjlWT7UO9U3Fk/oZQKHeJK4UfOS EfUg==
X-Gm-Message-State: ACgBeo1qNwvOgzIqW7SzHQ5niL5kSb7Mk/PKv7D5cF4k1BJxXQvjwigX wuaup3uFEA4iV4QckctIrohtKwkJVMDhKbyndzkDvQ==
X-Google-Smtp-Source: AA6agR5Fr2F8IaN3uVRmmKytuTOoJEB0B+bkrmNb6/Q6PLXAX8RU8cDNLt/9459yR57z1A72CyyxNPNTHBquDJR36FM=
X-Received: by 2002:a05:600c:4e12:b0:3a3:2fe2:7d0e with SMTP id b18-20020a05600c4e1200b003a32fe27d0emr8142057wmq.151.1659665056440; Thu, 04 Aug 2022 19:04:16 -0700 (PDT)
MIME-Version: 1.0
References: <165957021701.56614.13895069148730646596@ietfa.amsl.com> <CAHbrMsDkGduk7+KZR7mjUfJdvaKAe93=Ri4qAhaab65kEpAt6g@mail.gmail.com> <7ECC02B7-DFC4-48EB-AA64-B1D775468BF6@apple.com>
In-Reply-To: <7ECC02B7-DFC4-48EB-AA64-B1D775468BF6@apple.com>
From: Ben Schwartz <bemasc@google.com>
Date: Thu, 04 Aug 2022 22:04:04 -0400
Message-ID: <CAHbrMsC_u0v6oGcAgqK6Kis3kpscteay7dfU7bQjewceJaNU5g@mail.gmail.com>
To: Tommy Pauly <tpauly=40apple.com@dmarc.ietf.org>
Cc: ADD Mailing list <add@ietf.org>, i-d-announce@ietf.org
Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg="sha-256"; boundary="000000000000281e7e05e574e2db"
Archived-At: <https://mailarchive.ietf.org/arch/msg/add/3HKEN1Xj_dnxyJW8n-w_M0Ry_t0>
Subject: Re: [Add] I-D Action: draft-ietf-add-ddr-09.txt
X-BeenThere: add@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: Applications Doing DNS <add.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/add>, <mailto:add-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/add/>
List-Post: <mailto:add@ietf.org>
List-Help: <mailto:add-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/add>, <mailto:add-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 05 Aug 2022 02:04:46 -0000

On Thu, Aug 4, 2022, 6:27 PM Tommy Pauly <tpauly=40apple.com@dmarc.ietf.org>
wrote:

> Hi Ben,
>
> On Aug 4, 2022, at 2:17 PM, Ben Schwartz <bemasc=
> 40google.com@dmarc.ietf.org> wrote:
>
> Following up on my SECDIR review:
>
> Section 4
>
>    Because this query is for an SUDN, which no entity can claim
>    ownership over, the ServiceMode SVCB response MUST NOT use the "."
>    value for the TargetName.  Instead, the domain name used for DoT/DoQ
>    or used to construct the DoH template MUST be provided.  This ensures
>    that different designated resolver configurations can be correctly
>    associated with IP addresses in A and AAAA records.  As such, clients
>    MUST NOT perform A and AAAA queries for "resolver.arpa".
>
> Thanks for updating this paragraph, but I think there are still several
> major issues here.
>
> The guidance not to use "." is weird because using "." here would be
> unnatural anyway.  The natural thing would be to set TargetName to
> "resolver.arpa".  This is also forbidden, but the text doesn't address it.
>
>
> We can clarify that this shouldn’t include “resolver.arpa”.
>
>
> The text about what to put in the TargetName is very strange.  It
> conflicts directly with the guidance in Section 4.2 ("The client MUST
> verify that the certificate contains the IP address of the designating
> Unencrypted DNS Resolver") and Section 6.3 ("clients MUST use the original
> IP address of the Unencrypted DNS Resolver as the URI host for DoH
> requests”).
>
>
> Ah, I see what you mean. That sentence ("the domain name used for
> DoT/DoQ") is leftover.
>
>
> Also, as I noted in my review, the justification that "no entity can
> claim" this name is illogical, as the resolver is already serving a
> response for this name.  Clearly, the resolver can indeed "claim" this
> name, and is already doing so.
>
> Possible replacement text (along the lines suggested in my review):
>
> > To enable reliable identification of the Designated Resolver for
> debugging and future extensions, the TargetName SHOULD NOT indicate a SUDN
> (either explicitly or via the special value ".").  Clients SHOULD NOT issue
> speculative queries for A or AAAA records associated with this SVCB RRSet.
> Note that the TargetName itself does not influence the encrypted connection
> in any way.
>
>
> Talking with my other authors, I think we don’t think that this needs to
> limit to only speculative queries — the client should not be performing A
> or AAAA queries for resolver.arpa at all, regardless of if they are
> speculative.
>

In general, forbidding a DNS client from making certain DNS queries is
pretty much unheard-of.  All DNS clients are permitted by the DNS protocol
to issue whatever queries they like.  If you don't want the client to issue
these queries, I think it makes more sense to focus on removing the reasons
why the client might want to issue the queries, rather than forbidding the
queries themselves.

I also think these should remain MUST NOTs, since there is no good reason
> to allow them (which is the bar for a MUST NOT),
>

I think there are in fact good reasons to allow them.  For example, this
rule is the only thing that prevents opportunistic DDR from functioning on
nameless resolvers.  Consider a home network gateway that wants to
implement local opportunistic DDR.  If TargetName cannot be a SUDN, then
the gateway has to claim some actual domain name for the TargetName.  If
the gateway doesn't have its own domain name (as the vast majority do not),
it can either abandon DDR or create an (unauthenticated) split horizon,
with all the complications that implies.

Alternatively, if the resolver can simply set TargetName to
"resolver.arpa", it can put its own IP addresses (on the local network) in
A and AAAA records on "resolver.arpa".  This has the very natural semantic
of "address records on resolver.arpa are what the resolver thinks its own
IPs are".

There may be some way to use .local or something to give the resolver
another name, but it's not obvious to me, and seems to have much more room
for error.


> but otherwise clarifying that the restriction applies to both
> “resolver.arpa” and “.” sounds fine.
>
> I’ve written up this:
> https://github.com/ietf-wg-add/draft-ietf-add-ddr/pull/106
>
>
> Section 7:
>
>    Section 8.2 of [I-D.ietf-add-svcb-dns] describes a second downgrade
>    attack where an attacker can block connections to the encrypted DNS
>    server.  For DDR, clients need to validate a Designated Resolver
>    using a connection to the server before trusting it, so attackers
>    that can block these connections can prevent clients from switching
>    to use encrypted DNS.
>
> I would prefer to make this more explicit, e.g. replacing the second
> sentence with
>
> > To bypass attacks that affect only one server, DDR clients SHOULD first
> fall back to any other available Designated Resolver.  If none of the
> Designated Resolvers are reachable, DDR clients MAY fall back to
> unencrypted DNS (enabling a successful downgrade attack).  Any client that
> does not fall back to unencrypted DNS MUST tightly limit the SVCB TTL,
> which could have been chosen by an attacker (as discussed in Section 4.2).
>
>
> I think this gets too far into the client policy area. We are describing
> the possible downgrade attack, but use of other encrypted or unencrypted
> resolvers and their preference order is not within the scope of this
> document, or group.
>

If you don't want to guide client policy here, then I would suggest
rewording "prevent clients from switching".  As written, the text seems to
imply that clients will not switch to encrypted DNS, i.e. they will
continue to use unencrypted DNS.  I'd like it to be clearer that this is
not the draft's intention.

I also think that the two mitigations I described here may be helpful and
non-obvious, so it seems like a shame not to remind the reader of them,
normatively or not.

Note also that this is the resolution for Paul’s DISCUSS.
>
> Thanks,
> Tommy
>
>
> On Wed, Aug 3, 2022 at 7:43 PM <internet-drafts@ietf.org> wrote:
>
>>
>> A New Internet-Draft is available from the on-line Internet-Drafts
>> directories.
>> This draft is a work item of the Adaptive DNS Discovery WG of the IETF.
>>
>>         Title           : Discovery of Designated Resolvers
>>         Authors         : Tommy Pauly
>>                           Eric Kinnear
>>                           Christopher A. Wood
>>                           Patrick McManus
>>                           Tommy Jensen
>>   Filename        : draft-ietf-add-ddr-09.txt
>>   Pages           : 20
>>   Date            : 2022-08-03
>>
>> Abstract:
>>    This document defines Discovery of Designated Resolvers (DDR), a
>>    mechanism for DNS clients to use DNS records to discover a resolver's
>>    encrypted DNS configuration.  An encrypted DNS resolver discovered in
>>    this manner is referred to as a "Designated Resolver".  This
>>    mechanism can be used to move from unencrypted DNS to encrypted DNS
>>    when only the IP address of a resolver is known.  This mechanism is
>>    designed to be limited to cases where unencrypted DNS resolvers and
>>    their designated resolvers are operated by the same entity or
>>    cooperating entities.  It can also be used to discover support for
>>    encrypted DNS protocols when the name of an encrypted DNS resolver is
>>    known.
>>
>>
>> The IETF datatracker status page for this draft is:
>> https://datatracker.ietf.org/doc/draft-ietf-add-ddr/
>>
>> There is also an HTML version available at:
>> https://www.ietf.org/archive/id/draft-ietf-add-ddr-09.html
>>
>> A diff from the previous version is available at:
>> https://www.ietf.org/rfcdiff?url2=draft-ietf-add-ddr-09
>>
>>
>> Internet-Drafts are also available by rsync at rsync.ietf.org:
>> :internet-drafts
>>
>>
>> --
>> Add mailing list
>> Add@ietf.org
>> https://www.ietf.org/mailman/listinfo/add
>>
> --
> Add mailing list
> Add@ietf.org
> https://www.ietf.org/mailman/listinfo/add
>
>
>