Re: [dnssd] Review of draft-ietf-dnssd-srp-02

Ted Lemon <mellon@fugue.com> Thu, 29 October 2020 16:27 UTC

Return-Path: <mellon@fugue.com>
X-Original-To: dnssd@ietfa.amsl.com
Delivered-To: dnssd@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8DA153A005C for <dnssd@ietfa.amsl.com>; Thu, 29 Oct 2020 09:27:48 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.887
X-Spam-Level:
X-Spam-Status: No, score=-1.887 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, T_SPF_TEMPERROR=0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=fugue-com.20150623.gappssmtp.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 MyeFK1Hjv8wv for <dnssd@ietfa.amsl.com>; Thu, 29 Oct 2020 09:27:45 -0700 (PDT)
Received: from mail-il1-x12d.google.com (mail-il1-x12d.google.com [IPv6:2607:f8b0:4864:20::12d]) (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 B47D23A0112 for <dnssd@ietf.org>; Thu, 29 Oct 2020 09:27:45 -0700 (PDT)
Received: by mail-il1-x12d.google.com with SMTP id z2so3615715ilh.11 for <dnssd@ietf.org>; Thu, 29 Oct 2020 09:27:45 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fugue-com.20150623.gappssmtp.com; s=20150623; h=from:message-id:mime-version:subject:date:in-reply-to:cc:to :references; bh=iXHvavqAWJPvB8GlSm0hEJTOfCws/+WGzvlcgEIMlBw=; b=HpqZZh76RF34+I632CmCDZe+hLyLzMaF0HaPY2zRqIlOdGrFbhwb9GwdPfYE44yTpv 3j0tlAvCtxY5xBJ6eDV4E0zjazryD2IQ/cv97bQzLhQ1VV6WQ5EkWRnoIJ3MVZMJaAQx xSnUHFyihqY89ID6cGGvO7+mCXHOBXiIwJm7P1zA8E2btxG9dgi1o3HNlBIYXwzPIgTB UdUCFQs32gfcE6LGjKPAywhDbjiR9qCQaGQdWriJdrh7fHKpjgHQrYdafPiTZn3AsssW ODO3PN4Y6BkY/mpruseR4fW1gO9uy2Nxl5EAI/8NOzOLsAxBNKtb7nLgrAjG04mnD6li GXsQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:message-id:mime-version:subject:date :in-reply-to:cc:to:references; bh=iXHvavqAWJPvB8GlSm0hEJTOfCws/+WGzvlcgEIMlBw=; b=Knm7lkeImtZqor7QQ0Zun0Pt3843M9gRBp9sao2DOJC3TS0HeN/btZpWQl05TlUDm0 kG5II/NWeIcoAtRak/b15xCJnHyfzuplS3MhcmRtae1k/7WESmsXBgqjwEkvt639IEg1 5NUZnBuWi2FAOy0NvbDVvd6AAsZ1qAMa4FRcAzhBToh9hBJO3p8vXes2NMyOqTofAGuU qF+YsqgS4OzK0zd4qx3Q7hfLhCziE1+ZuYb1fMS1k9/Xx3hwh++7wR+QmYBdXpaUUGtL rq30Um3GKNPu4WzISODWA4eqpv2dqFjTUGFpxM67ocCUWycZhbTk+Wbsub/Ov+Wsrsdo XuHg==
X-Gm-Message-State: AOAM530KFWRHll2xPqagD1n8KW6RJSuIqk3cOBSzJd3BwT1wdetU/HLH Smwl8pZ9gYJAI7jZILHd4DE/BCoZVUZWlA==
X-Google-Smtp-Source: ABdhPJyD7Hwx0lAAagsD6HKLoNM6tcnHVDbUjnSlCwY8gXvYgQ1Rz5YbnKiaGKGbc4FPS3eSukz67g==
X-Received: by 2002:a92:b003:: with SMTP id x3mr4033808ilh.4.1603988864807; Thu, 29 Oct 2020 09:27:44 -0700 (PDT)
Received: from mithrandir.lan (c-24-91-177-160.hsd1.nh.comcast.net. [24.91.177.160]) by smtp.gmail.com with ESMTPSA id s5sm2517071ilj.60.2020.10.29.09.27.43 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 29 Oct 2020 09:27:44 -0700 (PDT)
From: Ted Lemon <mellon@fugue.com>
Message-Id: <B9834CA0-4E46-4F8C-9AA1-6EB78AA38AC4@fugue.com>
Content-Type: multipart/alternative; boundary="Apple-Mail=_2903EA17-C50C-462A-9253-39BFAA0133EA"
Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.20.0.2.11\))
Date: Thu, 29 Oct 2020 12:27:42 -0400
In-Reply-To: <CAGwZUDvAXr=oKsUtpZAB0PUoR8f+CSGC-4RBkcqoxM2j4QNzeQ@mail.gmail.com>
Cc: dnssd@ietf.org
To: Jonathan Hui <jonhui=40google.com@dmarc.ietf.org>
References: <CAGwZUDvAXr=oKsUtpZAB0PUoR8f+CSGC-4RBkcqoxM2j4QNzeQ@mail.gmail.com>
X-Mailer: Apple Mail (2.3654.20.0.2.11)
Archived-At: <https://mailarchive.ietf.org/arch/msg/dnssd/N9PwT8qQ2M2tFKwGhgWJ7SCyxnA>
Subject: Re: [dnssd] Review of draft-ietf-dnssd-srp-02
X-BeenThere: dnssd@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "Discussion of extensions to DNS-based service discovery for routed networks." <dnssd.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dnssd>, <mailto:dnssd-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dnssd/>
List-Post: <mailto:dnssd@ietf.org>
List-Help: <mailto:dnssd-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dnssd>, <mailto:dnssd-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 29 Oct 2020 16:27:49 -0000

Jonathan, thanks for the thorough review. Sorry for taking so long to respond.  I have updated the draft with changes to address your comments. Diffs can be found here: https://tools.ietf.org/rfcdiff?difftype=--hwdiff&url2=draft-ietf-dnssd-srp-05.txt <https://tools.ietf.org/rfcdiff?difftype=--hwdiff&url2=draft-ietf-dnssd-srp-05.txt>

I have additional work to do on this based on Esko’s review, but I’ll do that in a separate update so the diffs don’t get confused. Comments below:


> On Oct 8, 2020, at 3:19 PM, Jonathan Hui <jonhui=40google.com@dmarc.ietf.org> wrote:
> 
> I have reviewed this document.
> 
> I believe this document addresses a real pain point in constrained networks - namely how constrained devices can publish services with minimal round trips (i.e. one per update) and avoids the need for expensive multicast. This is of great interest to the Thread Group and Project CHIP efforts, both of which are based on IPv6.
> 
> Overall, I found the document well-written and easy to understand.
> 
> Detailed comments/questions below:
> 
> Intended status: Informational
> 
> Why not standards track?

Because I accidentally put “info” in the XML instead of “std”. :)

> 
> [RFC6763] that allows services to automatically register their
> 
> It's not clear to me at this point what "automatic" really means. It becomes clear later in the doc (e.g. Section 2.6.1), but I think it would help to be clear in the Introduction.

Thanks, this is a really good catch. I’ve substantially updated the introduction to explain this in more detail.

> 
> Manual configuration of the registraton domain can be done either by
> 
> Typo: "registraton" -> "registration"

:)

> using UDP unless TCP is required due to the size of the update.  It
> is the responsibility of a Constrained-Node Network supporting SRP to
> provide appropriate anycast routing to deliver the DNS updates to the
> appropriate server.  It is the responsibility of the SRP server
> 
> Is "appropriate" well-understood here? I could use some clarification on what requirements are placed on the Constrained-Node Network to support SRP anycast. For example, can there be more than one SRP server on the network? If so, does the anycast address always need to map to the same SRP server for a given host?

Interesting, this was actually fixed in a newer version. So the whole discussion of how to configure SRP on “constrained-node networks” is now left up to the specification for that network type.

> 
> o  The Host Description records for a service are a KEY RR, used to
>    claim exclusive ownership of the service registration, and one or
>    more RRs of type A or AAAA, giving the IPv4 or IPv6 address(es) of
>    the host where the service resides.
> 
> Are there recommendations/thoughts on how an SRP server should handle SRP updates containing multiple IPv6 addresses of varying scopes? Is this a topic within scope of this document?

I’ve added a paragraph to the validation section saying that link-scope and IPv4 autoconf addresses are invalid, and registrations that include them should be treated as invalid registrations.  I’ve also mentioned that addresses must be in scope for all potential clients of the SRP server, but haven’t explained this in more detail. I may add a section about this later.

> 
> updates do not include update prerequisites. The specified in
> 
> Typo: "The specified in..."

Oops!

> o  An SRP server is not required to implement general DNS Update
>    prerequsite processing.
> 
> Typo: "prerequsite" -> "prerequisite" 
> 

:)

> The service generates a public/private key pair.  This key pair MUST
> be stored in stable storage; if there is no writable stable storage
> on the client, the client MUST be pre-configured with a public/
> private key pair in read-only storage that can be used.  This key
> pair MUST be unique to the device.
> 
> Strictly speaking, we require the service to retain the key pair for as long as it would like to make updates to its existing service information. For example, should we recommend that a device generate a new key pair after factory reset (if it has the ability to do that)? I'm thinking that the public key can serve as a static identifier.

Yes, that’s intended.  I’ve added some text.

> 
> update is constructed by the client, it MUST include include an
> 
> Typo: "include include"

:)

> 
> updates, and MUST reject updates that would otherwise be SRP updates
> updates if they do not include leases.
> 
> Typo: "SRP updates updates"

Wow. :)

> 
> lease time Section 2.6.1.  Shorter TTLs will result in more frequent
> data refreshes; this increases latency on the client side, and
> increases load on any caching resolvers and on the authoritative
> server.  Longer TTLs will increase the likelihood that data in caches
> 
> Worth mentioning effect on network utilization? Or is that already implied?

OK.  I added text.

> 
> addresses in the records in question.  In addition, proxy should
> 
> Typo: "In addition, the proxy should..."

:)

> 
> specified in [I-D.ietf-dnsop-algorithm-update] section 3.1, in the
> 
> "section 3.1" link not pointing to the appropriate doc.

I’ve updated to point to the RFC.

> 
> 4. Privacy Considerations
> 
> Should we mention UDP here?

Dunno what you mean about this.

> 
> Should we mention the public key here?

I’ve added some text. I think we may also want to allow the client to say “don’t show my key.”

> 
> specification in [RFC8375]Section 7.
> 
> "Section 7" link not pointing to the appropriate doc.
> 

I’m not following this.

> Thanks.
> 
> --
> Jonathan Hui
> 
> _______________________________________________
> dnssd mailing list
> dnssd@ietf.org
> https://www.ietf.org/mailman/listinfo/dnssd