Draft: draft-ietf-mmusic-mdns-ice-candidates

Commentary: Addresses part of . 
 Nils reviewed the document at There are a number of clarification points that could be made from the draft Makes sense to me . Right , I would tend to go with private IP addresses given RFC1918 . We could refer to section 3.1.2.2 and refer to IP handling modes as well . We might want to further clarify that generating mDNS candidates ahead of time is an optimization . Makes sense to me . 
 Section 5.1 assumes that devices are on the same network . It might be good to be more explicit ( maybe in the introduction ) that local candidates are mostly useful when two devices are on the same network , which is where mDNS is actually useful . 
 Taken from Christer review at 
  , this seems worth of its own paragraph in the intro , and probably also a brief mention at the start of Section 5 .
Mailing list commentary: It seems like I some of the Q4 text to Q3 . Here is a corrected version of my question : Q1 : I think it needs to be more clear that mDNS domain names ( .local ) can only be resolved by remote peers within the same local network . Section 5.1 does talk about this , and it may be an implicit assumption , but I think it should be pointed out in the beginning of the document .
Hello , I was asked to review Here are my comment and questions : Abstract : “ To maximize the probability of a direct peer - to - peer connection , client private IP addresses are included in this candidate collection . ” I think it would make sense to replace “ client ” with ICE agent here , as client and server in the pure ICE context does n’t make too much sense . I would suggest to change it to “ ... , private IP addresses of the ICE agent are included … ” . In the abstract the terms “ private IP addresses ” and “ local IP addresses ” are used . I would suggest sticking to just one term for consistency . Section 1 . “ Introduction ” has the same mix of local vs private in it . Section 3.1.1 point 1 I think it would be helpful if this draft at least offers the suggestion to replace all RFC1918 addresses , or put a reference to section 3.1.2.2 as a recommendation on how to determine which addresses to replace . Section 3.1.2.2 3rd paragraph “ Regardless of results , … ” confuses me . The last sentence in the paragraph before talks about the case of a public candidate . If I ’ m not mistaken in the case of a public address there should n’t be a server reflexive candidate generated . Section 3.1.2.2 4th paragraph While I agree that caching the result might be useful it can become dangerous in case the set of STUN servers changes . As the new STUN servers might return different results , cached results should be invalidated . Would it be worth adding a warning about this ? Section 6.4 I ’ m confused by the diagram showing that both agents send over their mDNS candidates before having checked with the STUN server if the interface IP addresses need to be filtered or not . I understand that section 3.1.2.2 recommends to first wait for the STUN binding response from the STUN server before deciding which addresses should be filtered and which not . Why is this example showing it differently ? Best regards
Paragraph (version A):
WebRTC applications collect ICE candidates as part of the process of
creating peer-to-peer connections.  To maximize the probability of a
direct peer-to-peer connection, client private IP addresses are
included in this candidate collection.  However, disclosure of these
addresses has privacy implications.  This document describes a way to
share local IP addresses with other clients while preserving client
privacy.  This is achieved by concealing IP addresses with
dynamically generated Multicast DNS (mDNS) names.
Paragraph (version A):
As detailed in IPHandling, exposing client private IP addresses by
default to web applications maximizes the probability of successfully
creating direct peer-to-peer connections between clients, but creates
a significant surface for user fingerprinting.  IPHandling recognizes
this issue, but also admits that there is no current solution to this
problem; implementations that choose to use Mode 3 to address the
privacy concerns often suffer from failing or suboptimal connections
in WebRTC applications.  This is particularly an issue on unmanaged
networks, typically homes or small offices, where NAT loopback may
not be supported.
Paragraph (version B):
WebRTC applications collect ICE candidates as part of the process of
creating peer-to-peer connections.  To maximize the probability of a
direct peer-to-peer connection, the endpoint's local IP addresses are
included in this candidate collection.  However, these addresses are
typically private and, as such, their disclosure has privacy
implications.  This document describes a privacy-preserving way to
share local IP addresses with other endpoints by concealing the
addresses with dynamically generated Multicast DNS (mDNS) names.
Paragraph (version B):
As detailed in IPHandling, exposing client local IP addresses by
default to web applications maximizes the probability of successfully
creating direct peer-to-peer connections between clients, but creates
a significant surface for user fingerprinting.  IPHandling recognizes
this issue, but also admits that there is no current solution to this
problem; implementations that choose to use Mode 3 to address the
privacy concerns often suffer from failing or suboptimal connections
in WebRTC applications.  This is particularly an issue on unmanaged
networks, typically homes or small offices, where NAT loopback may
not be supported.
Paragraph (version A):
This document proposes an overall solution to this problem by
extending ICESDP to allow ICE implementations to register ephemeral
mDNS RFC6762 names for local private IP addresses, and then provide
those names, rather than the IP addresses, in their ICE candidates.
While this technique is intended to benefit WebRTC implementations in
web browsers, by preventing collection of private IP addresses by
arbitrary web pages, it can also be used by any endpoint that wants
to avoid disclosing information about its local network to remote
peers on other networks.
Paragraph (version B):
This document proposes an overall solution to this problem by
extending ICESDP to allow ICE implementations to register ephemeral
mDNS RFC6762 names for local IP addresses, and then provide those
names, rather than the IP addresses, in their ICE candidates.  While
this technique is intended to benefit WebRTC implementations in web
browsers, by preventing collection of private IP addresses by
arbitrary web pages, it can also be used by any endpoint that wants
to avoid disclosing information about its local network to remote
peers on other networks.
Paragraph (version B):
While mDNS names are usually only valid within a local network, the
same is true for private IP addresses, and therefore this does not
limit the effectiveness of this technique.