Skip to main content

Minutes IETF104: dnssd
minutes-104-dnssd-00

Meeting Minutes Extensions for Scalable DNS Service Discovery (dnssd) WG
Date and time 2019-03-25 15:10
Title Minutes IETF104: dnssd
State Active
Other versions plain text
Last updated 2019-03-28

minutes-104-dnssd-00
IETF 104 - DNSSD WG Minutes
Prague, Czechia
Monday, March 25, 2019
16:10-18:10 Monday Afternoon session II
Berlin/Brussels (meeting room)

Introduction (Chairs - 10 minutes)
Chairs: Barbara Stark, David Schinazi
Notes: Stuart Cheshire, Éric Vyncke
Jabber: David Schinazi

======================================================================================
https://datatracker.ietf.org/meeting/104/materials/slides-104-dnssd-chairs-01
======================================================================================
There were rounds of applause for exiting AD Terry Manderson and new AD Eric
Vyncke.

Update on DNS Stateful Operations, Push, Discovery Proxy (Stuart Cheshire - 5
minutes)
======================================================================================
https://datatracker.ietf.org/meeting/104/materials/slides-104-dnssd-cheshire-status-update-01
======================================================================================

Update on DNS Stateful Operations, push notifications and discovery proxy.

DNS Stateful Operations (draft-ietf-dnsop-session-signal) is now RFC 8490 ;-)

DNS push has now an implementation by Ted Lemon and he discovered a small
issue... Because of the way the DNS UPDATE message format was borrowed for DNS
Push Notifications there was no way to express the DNS CLASS of a deleted
record. New simpler encoding fixes this. Stuart will send the text to the list.

Stuart Cheshire will email the list shortly to discuss latest changes to DNS
Push. DNS Push will go into WG last call today which will end 2 weeks after the
end of this IETF then follow the process with a view to RFC publication by
IETF-105. Terry Manderson: Agrees that WGLC is warranted, because changes are
substantive.

Discovery proxy went to a WGLC, but more clarification is required.
Also discovered during testing Ted's implementation.
Stuart Cheshire assumes that no further WGLC is required.
Stuart Cheshire will email the list with details of the changes so everyone can
take a look. David Schinazi: We'll start a new WGLC for two weeks after this
IETF to confirm everything is OK.

Service Registration, implementation experience, and more (Ted Lemon, 15
minutes)
=================================================================================
https://datatracker.ietf.org/meeting/104/materials/slides-104-dnssd-lemon-implementation-report-00
======================================================================================

All specifications have been implemented. Stateful operations implemented in
mDNSResponder Discovery proxy also implemented but without link naming and not
yet packaged for OpenWRT.

Tom Pusateri: perhaps a bad idea to start LC during the IETF week.
David Schinazi: Chairs will start a WGLC for mDNS relay and SRP after this IETF.

Update Proxy (Tom Pusateri - 20 minutes)
======================================================================================
https://datatracker.ietf.org/meeting/104/materials/slides-104-dnssd-pusateri-update-proxy-01
======================================================================================

This could be a rechartered item for WG: how to use only unicast to discover
the proxy. Proposal: send the updates (with pre-shared key) only to a few boxes
on the network rather than the usual multicast. During Tom's description: Ted
Lemon: ask clarification about what sends the updates; Tom: the services.
Subdomains can be discovered via mDNS request or by generating the subdomains
based on the IP prefix. Unicast transition: after discovery the update proxy,
all further requests send unicast to the discovered update proxy. Tom compares
discovery proxy and his proposal for update proxy showing a big change in the
amount of multicast traffic. Stuart Cheschire: good chart for comparing, O(n^2)
should specify what n is Tom: n^2 = #subdomains * #responses Stuart: not really
the same 'n' then => needs to be clarified in the table. Let's talk off-line
for more discussions. With the specific case that the source address of the
multicast packet is not always where the service resides. Also, discovery proxy
traffic should be less because clients only search for services they are
interested in and not the full set of services. Tom: good points, I will update
the chart Stuart: do we have time to continue the discussion? Chairs: yes
Stuart: I am sad that printers advertised their services using names with
hexadecimal rather than any webui to change name, so what about a PSK? But,
let's not be constrained by history and feel free to define new mechanisms.
Code exists on github (rupdateproxy) and is mostly working (next steps TSIG,
TLS, subdomain discovery, ...) Questions: Stuart: good job, let's work at next
hackathon, the appendix comparing with Ted's discovery idea but this is not
really competing: the two ideas could work together Ted Lemon: no need to
answer the question, we have discovery proxy and SRP, so it feels that this
draft solves the very same problem. We need to have a simple choice between the
solutions. Ted had a similar idea in IETF Argentina but Stuart convinced him to
abandon this approach. Tom: starting from mDNSResponder proved to be faster
indeed but what if you cannot start from mDNSresponder => then my approach is
faster to implement. WG chairs: Ted can you explain the above in more details
on the list Ted: I would rather prefer to write a document on this

Private Subdomains (Tom Pusateri - 10 minutes)
======================================================================================
https://tools.ietf.org/html/draft-pusateri-dnsop-private-subdomains-01
https://datatracker.ietf.org/meeting/104/materials/slides-104-dnssd-pusateri-private-subdomains-01
======================================================================================
Make it easy to create private subdomains (authenticated and encrypted access).
A trusted provider is used to create a private subdomain, the use UPDATE to
store a public key, all access to this subdomain need to be authenticated with
the private key and encrypted to the server. Mohit Sethi: how can I share the
private key in all my devices? while the public key is stored in one place Tom:
this was just a possible way of doing but should be more opened Christian
Huitema: ask confirmation that the private key is shared by all devices Tom:
yes, Ashu Singh: we could use transparency certificates Tom: could also
synchronize à la PGP Tom had some questions that he wanted to ask the WG but
will do it over the list. Chairs: need to terminate for sake of time all
remaining questions to the list

TIMEOUT resource records (relevant to service registration protocol and update
proxy) (Tim Wattenberg - 5 minutes)
======================================================================================
https://tools.ietf.org/html/draft-pusateri-dnsop-update-timeout-02
https://datatracker.ietf.org/meeting/104/materials/slides-104-dnssd-wattenberg-update-timeout-00
======================================================================================
It is about the transfer RR lifetime state between zone's primary and
secondaries and store the lifetime during server restarts. This would avoid
services registered via SRP but clean-up can not happen in case of server
restarts, ... Running code at Hackathon (timeoutd) by scanning the existing TTL
'live' and issuing an UPDATE to kill 'to be determined' RR. I-D presented at
DNSOPS but getting more advices is always useful. Ted Lemon: you may consider
using a generic ANY that can be overwritten by more specific Pieter Lexis: not
opposed to the draft but no intention to implement it Tom: Joe Abley did not
want a specific record for handling timeout Stuart: there are other ways to
safe lifetime than RR but the biggest advantage of this timeout RR is
interoperation. Also, language around the handling of the RR by secondaries is
unclear. David Schinazi: is it specific to DNSSD ? Tim: intention is to present
to DNSOPS, already a lot of discussion on the DNSOPS mailing list

Private DNS Discovery with TLS and ESNI (Christian Huitema -- 40 mins)
======================================================================================
https://tools.ietf.org/html/draft-huitema-dnssd-tls-privacy-00
https://datatracker.ietf.org/meeting/104/materials/slides-104-dnssd-huitema-privacy-00
======================================================================================
One use case is clients/services on the same network without revealing identity.
Design assumptions: Using TLS 1.3 which provides server privacy (because server
cert is encrypted) and also the Encrypted Service Name Indication (ESNI)
encrypted via the server public key. Can also UDP (QUIC or DTLS). First
multicast over UDP with TLS client hello ESNI, only the right server will be
able to decrypt the request and send back a unique response. But, ESNI relies
on DNS which gives out the public key... which is readable by everyone. Fix:
provision the ESNI public only to authorized clients (and renamed this 'public
key' into 'discovery key'). Mohit: kind of like the idea. TLS is asymmetrical
while dnssd is more peer-to-peer so symmetrical. So, how to decide? Christian:
in one use case (diabetic sensor & mobile app), it is very clear Mohit: the
'discovery key' must be provisioned Christian: yes Open question: what if
server does not use DTLS or QUIC? Still use DTLS/ESNI to discover a DNS server
and use this DNS server as usual with DNSSD. Chris Wood: 'discovery key' is
used for two different usages, this could be strange. Also, DTLS is heavy.
Alternate proposal for ESNI, what about distributing a cert (trust anchor) to
all participants to simplify ESNI. Christian: as request is sent multicast, all
servers can see the request then Big issues if private key is leaked as history
can be read => should rotate the key quite often. Ashu Singh: can we use this
for normal servers Christian: no, it is not for your normal CDN servers ;-)
Mohit: why not issuing a new key after handshake? Christian: ESNI is useful to
hceck whether the request was for you

Chairs: during WG, we make good progress but no more during over the week.
What about having a side meeting this week? Positive replies.
Stuart Cheschire, Ashu Singh, Chris Wood, Christian Huitema. Let's have this
side meeting.

Mohit: is it for a single subnet
Christian: yes

Rechartering (Chairs & Tom Pusateri - 10 minutes)
7 opened issues in the DNSSD github but no further comments.
Chair: we will send the github link to the list to attract comments.
Perhaps no need for re-charter. We will see.
Tom: some of issues will need discussion (esp the new topics) and did not feel
comfortable to propose a re-charter on his own.

Conclusion and AOB (Chairs - 5 minutes)

======================================================================================
Minutes from the Private DNSSD Design Team Meeting
2019-03-27 08:00-09:00am Prague local time
Attendees: Stuart Cheschire, Ashu Singh, Chris Wood, Christian Huitema, David
Schinazi Minutes: David Schinazi
======================================================================================

We will focus on Christian's latest ESNI proposal:
draft-huitema-dnssd-tls-privacy Work on implementation should start soon.
Chairs will organize periodic videochat interims, 2 hours long once a month.
Focus on the multicast use-case; networks that do not support multicast can be
supported by creating a dumb server that replicates the multicast traffic as
unicast. The discovery key (hidden server public key) does not have forward
secrecy, need to rotate that key periodically, so we'll need to build a key
rotation mechanism, but we can reuse the key acquisition mechanism that will
need to be built anyway. Christian should add text about certificate leakage,
certificate transparency, and lack of perfect forward secrecy.