<?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-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="02"/>

    <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:
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

-->

</rfc>

