<?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-01" 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="2019" month="July" day="08"/>

    <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:
H4sIAAXQI10AA6VXXW/byBV9n19xkb60gMhYarpNBCywWtu78SK2E38gCBZF
MSRH0tQkR5kZStEa/u89d4aiSEXOpqhfTJGc+3HuuedeJkkivPalmtJHld3c
ndLFe5oVhVXO0VtZF6WuF3T+xavaaVM7mhtLl03pdS6dp7OrWyGzzKr1lPQq
WbYHEvUlqYraicLktaxgvLBy7pMmU9brxPp8o7LkyIHkZCwK6XFgcjJ+k5z8
Mzl5LXLcWBi7hYt6boTQKzslbxvnJycnb04mQlolp/SrqpWVpdgY+7CwpllN
Cfl8PP9ZPKgtbhZTuqi9srXyyRmHI4Tz8P9vWZoaHrfKiZWe0u/e5CNyxnqr
5g5X24ov/iWEbPzS2KmgRBD+dO2m9FtK9yGrcCsm+xtC03X/vrELWes/pAeG
iNSYRanCA1VJXU7pPxGZnxbhSZqb6tBJoehnY53vu1HWqHr45E8dhTNF9pyn
Dyl9lPWi5+UDyuP0/u6fefgc3n/O/qeUfpFZqfp5fDKNquv+/aGP2WpVKtQu
T/t+tuHUT5IfBjeiNrbCkbVChejml9PJePymvXz15tV4CuaAP713Lt7vGD4N
lr20C+WntPR+5aYvX3pjSpdq5ecpInq59FX5MhKZ7x2hcbQS2+lb/XSjPjfa
qkrV3oUzHbPoGWK1N39N6Xap1TLc6xrldXLyKhm/xs0KDXkKL5qfuf8nq9CN
OldJ3pkbZHfvOJGBEpA3tLLGq9zjv17LfEubJRiqvqxMeP3i9JwO7B3PfMDp
o9T5Fkp9EvdAGp8kk4kQSZKQzJy3MocE3C21I8hUw8VApBC6wpFfKqSg1to0
7rsLudF+SbXaUGUKxTakp0o+KGqcIjM/AGuIxYhwSc0qAsPurQKpYbgIXeBI
5jk0DE7LbRqTqHRRoPcEVM2aosn5PXr8C0oAlCr3JH7s/Qnx+Ljn+9MTIHa5
1ZnaJRvrtTtM0jmTa0RTUMhrX8P3QkYY+KghkIW4CZFZCHREWeNJFpX2LQaw
bxUB5tpAVssmxImT7Fc71ygBcDr7IRKvGO6eH7ZTGMU2PGCzdkuSAAier0zN
sAhdrVBRgu3c1DVIqNfaM1aPj8O2QPK6hQwGZSgZSLus9edGUSYdcoaVYbn+
yjb+FgIRJnN5A8/HYw1w8dtB3lxKgWJIfH2AdcjdiWeRLk0uy4HtyBIgqxec
CIiG6AAerAoJaQtEBLow1ceAIjTpt9juVLAUqVuouWYjGGIHrNlxXJhVpGUH
FxsJWXdQpnSm53PUHq7ypdEBbcv5m7UuVDEiJfNlbBuc1pbMpqYMY3zO3OFU
oUubTOYPjmNXttK1Kc1iKwbEvoNnjHjiGe/oxeX97d2LUfxPV9fh+ub8w/3F
zfkZX9++nb17113ENwR+XN+/a5/z1f7k6fXl5fnVWTx8Ofv0IlbhxfX7u4vr
q9m7FwyTB7CiA5azBMEzxURTFkrC1ZWua7oW2nZIPT0hvSuw8JLRF73Uosp+
De0IbddWifzG7FVnFEhXboMpmqTjEOsknaQME3QoFpgDRAlqJnjJocbXaW5N
dVDy2M8cwr5H+LWjbeVY64r+IIjcKnGJ+8f6JRWzvbKNBg2yaBAjokDApvHl
npKHjkd0q6L8/UOEsgP5uSlLs4knmGcdRnwD/pSNYap1qFieBzyARqFdXhqH
BmddkkeCRrV28LIQh79Iw13Lrl/t3v1KSNvRgr6wITjwYy5zRW3cwqpVid/t
23KvJKMjBHoeiL+nYyBbb/ch/dDTqP8pKFk6IzKeSP3I9go3oqYuOVVY2QZq
BWbzzgVOtMVMYN4pu2al7tV+B+SkB+SsLAdAgsAH4e9q/HxEfajE90AFrGS5
dXrffrGipkYzFa2OAZFM+Y3CTjPor10S3ABLsxnk30XNnykUNkVVpFhnSWme
jJhmjmsLJ5YbZifcCAzWMAqcxkQmPe9koDd/c3z5cBH5q8z3+NfDCjtGhCpM
IHh+i65YKzsKu5kIoM2xUQO0NqBM5ZJXFu05ArQDb12dxuPzib+wRtS6xARZ
Gc37D+fH47l90aESaP0FK+Joj1clwRFuzaMpb3hX6EjRjfw0FkN94Qm/H/T9
vQOBqcK1sltAcHlaIGyMU2V1FXobq1OYxnul3miQDQfi5tU1nVupXM91frCF
wScowFpP3aeEqQV+PtSYXcyiotB8D1WY9YIbrGJfDa+htrcIOQOyrBWtZYl7
rFJxmUYWuxrsGzUougjam20D+rxeykWAXqcqHbFeBFjHz4j8VgAvXek/dhNH
Vqapw1LQyxWALGQQ6x7fduGELY3RjQoaB0HcZStMA1opZVMayL2keeMhtW0B
4jLT21EEg9EOOrnHtrdhMwe2R0ZkN9XGaVx7NK8UjJMM7TJvbGC7803BWyLU
oLG8LJ2iXpgF9rsqN1iXmLujlv5xmxlRkD3AWMch7XZe8oGXVAy9dg19kBO3
GLiNdn12AoidrP2ApC5mV7PvSOhwMbTxsyZs7DJvI2LWsD2Y/S+zvAk0NhIA
AA==

-->

</rfc>

