<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc2629 version 1.2.9 -->

<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
]>

<?rfc toc="yes"?>
<?rfc sortrefs="yes"?>
<?rfc symrefs="yes"?>

<rfc ipr="trust200902" docName="draft-uberti-rtcweb-ip-handling-ex-mdns-00" category="info">

  <front>
    <title abbrev="ip-handling-ex-mdns">WebRTC IP Address Handling Extensions for Multicast DNS</title>

    <author initials="J." surname="Uberti" fullname="Justin Uberti">
      <organization>Google</organization>
      <address>
        <email>juberti@google.com</email>
      </address>
    </author>
    <author initials="J." surname="de Borst" fullname="Jeroen de Borst">
      <organization>Google</organization>
      <address>
        <email>jeroendb@google.com</email>
      </address>
    </author>
    <author initials="Q." surname="Wang" fullname="Qingsi Wang">
      <organization>Google</organization>
      <address>
        <email>qingsi@google.com</email>
      </address>
    </author>
    <author initials="Y." surname="Fablet" fullname="Youenn Fablet">
      <organization>Apple Inc.</organization>
      <address>
        <email>youenn@apple.com</email>
      </address>
    </author>

    <date year="2018" month="November" day="03"/>

    <area>General</area>
    <workgroup>RTCWEB</workgroup>
    <keyword>Internet-Draft</keyword>

    <abstract>


<t>This document extends the previous WebRTC IP Address Handling Requirements
with new modes that make use of Multicast DNS ICE candidates, and updates
the recommendations accordingly.</t>



    </abstract>


  </front>

  <middle>


<section anchor="problems" title="Introduction">

<t><xref target="IPHandling"/> describes the privacy problems associated with exposing IP
addresses to web applications, but admits that there is no solution to the issue
of exposing private IP addresses that does not carry a corresponding
impact on connectivity.</t>

<t><xref target="mDNSCandidates"/> introduces a new technique based on Multicast DNS (mDNS) that
obscures private IP addresses with mDNS names. This solves the privacy issues
associated with exposing local IP addresses, and mitigates most of the
aforementioned connectivity impact.</t>

<t>This document extends the set of modes defined in <xref target="IPHandling"/> with new
options based on the mDNS technique. Different choices are provided, each
with their own benefits and drawbacks.</t>

</section>
<section anchor="terminology" title="Terminology">

<t>The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”,
“SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in this
document are to be interpreted as described in <xref target="RFC2119"/>.</t>

</section>
<section anchor="new-modes" title="New Modes">

<t>Using the mDNS technique, we define two new modes, namely Mode 2.1 and 2.2.
These modes are identical to Mode 2 from <xref target="IPHandling"/>, but the technique from
<xref target="mDNSCandidates"/> is used to protect the selected private IP addresses.
Accordingly, the privacy guidelines outlined in <xref target="mDNSCandidates"/>, Section 5
MUST be followed in each new mode in order to prevent accidental disclosure
of a private IP address.</t>

<section anchor="mode-21" title="Mode 2.1">

<t>The local IPv4 address associated with the preferred interface MUST be
replaced with a mDNS name, as described in <xref target="mDNSCandidates"/>, Section 3.1.
Any local IPv6 addresses associated with the preferred interface MUST also
be replaced with mDNS names, unless they are <xref target="RFC4941"/> privacy-preserving
addresses.</t>

</section>
<section anchor="mode-22" title="Mode 2.2">

<t>All local IPv4 and IPv6 addresses MUST be replaced with mDNS names, as described
in <xref target="mDNSCandidates"/>, Section 3.1.</t>

</section>
</section>
<section anchor="analysis" title="Analysis">

<t>The only difference between Mode 2.1 and Mode 2.2 is how <xref target="RFC4941"/> addresses
are handled. In either case, a direct connection is possible if the mDNS
addresses created for the local IP addresses can be resolved. However, when
mDNS fails, either because it is disabled on the network, or the endpoints
are not on the same segment, Mode 2.1 may allow a direct connection where
Mode 2.2 does not.</t>

<t>The exact impact on applications needs to be determined experimentally. This
document will be updated with a specific recommendation once this information
is known.</t>

</section>
<section anchor="additional-applications" title="Additional Applications">

<t>The mDNS technique may also have value even when all network interfaces are
used by the ICE agent, i.e., in Mode 1 from <xref target="IPHandling"/>, by
minimizing the amount of information regarding the local network that is
disclosed to the remote peer. Accordingly, a future update of this document
may define additional modes that apply the mDNS technique to Mode 1.
This is an area for further study.</t>

</section>
<section anchor="security-considerations" title="Security Considerations">

<t>The modes defined here, on their own, present no new security considerations.
Considerations for the mDNS technique are detailed in <xref target="mDNSCandidates"/>,
Section 6.</t>

</section>
<section anchor="iana-considerations" title="IANA Considerations">

<t>This document requires no actions from IANA.</t>

</section>


  </middle>

  <back>

    <references title='Normative References'>





<reference  anchor="RFC2119" target='https://www.rfc-editor.org/info/rfc2119'>
<front>
<title>Key words for use in RFCs to Indicate Requirement Levels</title>
<author initials='S.' surname='Bradner' fullname='S. Bradner'><organization /></author>
<date year='1997' month='March' />
<abstract><t>In many standards track documents several words are used to signify the requirements in the specification.  These words are often capitalized. This document defines these words as they should be interpreted in IETF documents.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t></abstract>
</front>
<seriesInfo name='BCP' value='14'/>
<seriesInfo name='RFC' value='2119'/>
<seriesInfo name='DOI' value='10.17487/RFC2119'/>
</reference>



<reference  anchor="RFC4941" target='https://www.rfc-editor.org/info/rfc4941'>
<front>
<title>Privacy Extensions for Stateless Address Autoconfiguration in IPv6</title>
<author initials='T.' surname='Narten' fullname='T. Narten'><organization /></author>
<author initials='R.' surname='Draves' fullname='R. Draves'><organization /></author>
<author initials='S.' surname='Krishnan' fullname='S. Krishnan'><organization /></author>
<date year='2007' month='September' />
<abstract><t>Nodes use IPv6 stateless address autoconfiguration to generate addresses using a combination of locally available information and information advertised by routers.  Addresses are formed by combining network prefixes with an interface identifier.  On an interface that contains an embedded IEEE Identifier, the interface identifier is typically derived from it.  On other interface types, the interface identifier is generated through other means, for example, via random number generation.  This document describes an extension to IPv6 stateless address autoconfiguration for interfaces whose interface identifier is derived from an IEEE identifier.  Use of the extension causes nodes to generate global scope addresses from interface identifiers that change over time, even in cases where the interface contains an embedded IEEE identifier.  Changing the interface identifier (and the global scope addresses generated from it) over time makes it more difficult for eavesdroppers and other information collectors to identify when different addresses used in different transactions actually correspond to the same node.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='4941'/>
<seriesInfo name='DOI' value='10.17487/RFC4941'/>
</reference>




    </references>

    <references title='Informative References'>

<reference anchor="IPHandling" target="https://tools.ietf.org/html/draft-ietf-rtcweb-ip-handling">
  <front>
    <title>WebRTC IP Address Handling Requirements</title>
    <author initials="G." surname="Shieh">
      <organization></organization>
    </author>
    <date year="2018" month="April" day="18"/>
  </front>
</reference>
<reference anchor="mDNSCandidates" target="https://tools.ietf.org/html/draft-ietf-rtcweb-mdns-ice-candidates">
  <front>
    <title>Using Multicast DNS to protect privacy when exposing ICE candidates</title>
    <author initials="Q." surname="Wang">
      <organization></organization>
    </author>
    <date year="2018" month="October" day="22"/>
  </front>
</reference>


    </references>



  </back>

<!-- ##markdown-source:
H4sIAC/d3VsAA6VXXW/byBV9n19x4b60gMhY2nSxEVBgtbZ340VsJ/5AEBRF
MSRH0tQkR5kZStEa/u89d4aiSEXOpqhfTJGc+3HuuedeJkkivPalmtJHld3e
n9Hle5oVhVXO0VtZF6WuF3TxxavaaVM7mhtLV03pdS6dp/PrOyGzzKr1lPQq
WbYHEvUlqYraicLktaxgvLBy7pMmU9brxPp8o7LkyIHk9FQU0uPA5HT8UzIe
J6c/iBw3FsZu4aKeGyH0yk7J28b5yenpm9OJkFbJKf2mamVlKTbGPi6saVZT
Qj4fL34Rj2qLm8WULmuvbK18cs7hCOE8/P9blqaGx61yYqWn9E9v8hE5Y71V
c4erbcUX/xJCNn5p7FRQIgh/unZT+j2lh5BVuBWT/R2h6bp/39iFrPUf0gND
RGrMolThgaqkLqf0n4jMz4vwJM1NdeikUPSLsc733ShrVD188qeOwpkie8nT
h5Q+ynrR8/IB5XF6f/fPPHwO779k/1NKv8qsVP08PplG1XX//tDHbLUqFWqX
p30/23DqZ8kPgxtRG1vhyFqhQnT769lkPH7TXr5+83o8BXPAn947l+93DJ8G
y17ahfJTWnq/ctNXr7wxpUu18vMUEb1a+qp8FYnM947QOFqJ7fStfrpVnxtt
VaVq78KZjln0ArHam7+ldLfUahnu9Rrl9HUy/gk3KzTkGbxofub+n6xCN+pc
JXlnbpDdg+NEBkpA3tDKGq9yj/96LfMtbZZgqPqyMuH1y7MLOrB3PPMBp49S
51so9UncV5PTZDIRIkkSkpnzVuaQgPuldgSZargYiBRCVzjyS4UU1Fqbxn13
ITfaL6lWG6pModiG9FTJR0WNU2TmB2ANsRgRLqlZRWDYvVUgNQwXoQscyTyH
hsFpuU1jEpUuCvSegKpZUzQ5v0dPf0EJgFLlnsU/en9CPD3t+f78DIhdbnWm
dsnGeu0Ok3TO5BrRFBTy2tfwvZARBj5qCGQhbkJkFgIdUdZ4kkWlfYsB7FtF
gLk2kNWyCXHiJPvVzjVKAJzOfojEK4a754ftFEaxDQ/YrN2SJACC5ytTMyxC
VytUlGA7N3UNEuq19ozV09OwLZC8biGDQRlKBtIua/25UZRJh5xhZViuv7KN
v4VAhMlc3sDz8VgDXPx2kDeXUqAYEl8fYB1yd+JFpEuTy3JgO7IEyOoFJwKi
ITqAB6tCQtoCEYEuTPUxoAhN+i22OxUsReoWaq7ZCIbYAWt2HBdmFWnZwcVG
QtYdlCmd6/kctYerfGl0QNty/matC1WMSMl8GdsGp7Uls6kpwxifM3c4VejS
JpP5o+PYla10bUqz2IoBse/hGSOeeMY7Orl6uLs/GcX/dH0Trm8vPjxc3l6c
8/Xd29m7d91FfEPgx83Du/Y5X+1Pnt1cXV1cn8fDV7NPJ7EKJzfv7y9vrmfv
ThgmD2BFByxnCYJniommLJSEqytd13QttO2Qen5Getdg4RWjL3qpRZX9GtoR
2q6tEvmN2avOKJCu3AZTNEnHIdZJOkkZJuhQLDAHiBLUTPCSQ42v09ya6qDk
sZ85hH2P8GtH28qx1hX9QRC5VeIS94/1Sypme2UbDRpk0SBGRIGATePLPSUP
HY/oTkX5+7sIZQfyc1OWZhNPMM86jPgG/Ckbw1TrULE8D3gAjUK7vDQODc66
JI8EjWrt4GUhDn+RhruWXb/evfuVkLajBX1hQ3Dgx1zmitq4hVWrEr/bt+Ve
SUZHCPQyED+kYyBbb/ch/djTqP8pKFk6IzKeSP3I9go3oqYuOVVY2QZqBWbz
zgVOtMVMYN4pu2al7tV+B+SkB+SsLAdAgsAH4e9q/HJEfajE90AFrGS5dXrf
frGipkYzFa2OAZFM+Y3CTjPor10S3ABLsxnk30XNnykUNkVVpFhnSWmejJhm
jmsLJ5YbZifcCAzWMAqcxkQmPe9koDd/c3z5cBH5q8z3+NfDCjtGhCpMIHh+
i65YKzsKu5kIoM2xUQO0NqBM5ZJXFu05ArQDb12dxuPzib+wRtS6xARZGc37
D+fH47l90aESaP0FK+Joj1clwRFuzaMpb3hX6EjRjfw0FkN94Qm/H/T9vQOB
qcK1sltAcHlaIGyMU2V1FXobq1OYxnul3miQDQfi5tU1nVupXM91frCFwSco
wFpP3aeEqQV+PtaYXcyiotB8D1WY9YIbrGJfDa+htrcIOQOyrBWtZYl7rFJx
mUYWuxrsGzUougjam20D+rxeykWAXqcqHbFeBFjHL4j8VgAvXek/dhNHVqap
w1LQyxWALGQQ6x7fduGELY3RjQoaB0HcZStMA1opZVMayL2keeMhtW0B4jLT
21EEg9EOOrnHtrdhMwe2R0ZkN9XGaVx7NK8UjJMM7TJvbGC7803BWyLUoLG8
LJ2hXpgF9rsqN1iXmLujlv5xmxlRkD3AWMch7XZe8oGXVAy9dg19kBO3GLiN
dn1xAoidrP2IpC5n17PvSOhwMbTxsyZs7DJvI2LWsD2Y/S9gTO40NhIAAA==

-->

</rfc>

