<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [

<!ENTITY RFC3756 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3756.xml">
<!ENTITY RFC4291 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4291.xml">
<!ENTITY RFC4861 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4861.xml">
<!ENTITY RFC4862 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4862.xml">
]>

<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<!--
<?rfc toc="yes" ?>
-->
<?rfc tocompact="yes" ?>
<?rfc compact="yes" ?>
<?rfc subcompact="no" ?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes" ?>
<?rfc comments="yes" ?>
<?rfc inline="yes" ?>
<rfc category="std" docName="draft-akimichi-6man-ra-prefixlen-00"
     ipr="trust200902" updates="4861">
  <front>
    <title abbrev="Host behavior to short prefix length">Host behavior to short prefix length</title>

    <author fullname="Akimichi Ogawa" initials="A" surname="Ogawa">
      <organization>Professional writer</organization>
      <address>
        <postal />
        <email>akimichi@sfc.wide.ad.jp</email>
      </address>
    </author>

    <author fullname="Kaname Nishizuka" initials="K" surname="Nishizuka">
      <organization>NTT Communications</organization>
      <address>
        <postal />
        <email>kaname@nttv6.jp</email>
      </address>
    </author>

    <author fullname="Yoshifumi Atarashi" initials="Y" surname="Atarashi">
      <organization>Alaxala Networks Co.</organization>
      <address>
        <postal />
        <email>atarashi@alaxala.net</email>
      </address>
    </author>

    <author fullname="Akira Kanai" initials="A" surname="Kanai">
      <organization>NTT Communications</organization>
      <address>
        <postal />
        <email>a.kanai@ntt.com</email>
      </address>
    </author>

    <date year="2021" />
    <area />
    <workgroup></workgroup>

    <!--  SECTION 0:  Abstract                      -->

    <abstract>

    <t>The Prefix Information Option in the IPv6 Neighbor Discovery
    Router Advertisement message defines an 8-bit prefix length field.
    Prefix List entries are created using the prefix length in the
    Prefix Information Option. The Conceptual Model of a Host described
    in RFC 4861<xref target="RFC4861"/> does not clarify behavior of a host, when a short
    prefix length is received.
    This document updates RFC 4861(if approved), and clarifies that hosts SHOULD NOT accept prefix length shorter than /64.</t>
    </abstract>
  </front>

  <middle>
    <!-- SECTION 1: Introduction -->

    <section title="Introduction">
<t>
RFC 4861 describes a conceptual model of a host for Neighbor Discovery.
Conceptual data structures in the conceptual model includes the Prefix List.
</t>

<t>
The Prefix List is,
</t>

<t>
  "A list of the prefixes that define a set of
   addresses that are on-link.  Prefix List entries
   are created from information received in Router
   Advertisements."
</t>

<t>
The Prefix Information Option (PIO) in the IPv6 Neighbor
Discovery Router Advertisement defines an 8-bit prefix length field.
When a host is configured to accept RAs, it will add prefixes included in the PIO, into the Prefix List.
When prefixes are added into the Prefix List of a host, the prefix added will be assumed on-link.
</t>

<t>
The PIO in the Router Advertisement has an 8-bit prefix length field. The value ranges from 0 to 128<xref target="RFC4861"/>.
IPv6 Address Architecture<xref target="RFC4291"/> requires the length of interface ID to be 64 bits long. RFC 4291 states,
</t>

<t>
   "For all unicast addresses, except those that start with the binary
   value 000, Interface IDs are required to be 64 bits long"
</t>

<t>
Therefore, on-link prefixes with bits shorter than 64 bits violate RFC 4291.
</t>

<t>
The SLAAC specification<xref target="RFC4862"/> refers RFC 4291 about the interface identifier length.
And current host implementations do not accept prefix length other than 64, in the SLAAC process.
</t>
    </section>

    <section title="Problem Statement">
<t>
When an RA with short prefix length field with autonomous address-configuration flag value 1 is received, some host implementations (Windows, macOS, Linux) will not add an IPv6 address to the network interface.
Even though a new IPv6 address is not added, the host assumes the prefix as on-link.
When autonomous address-configuration flag value is 0, the host will not run the SLAAC process, but assume that the prefix is on-link.
</t>

<t>
Current implementations accept up to /4 as prefix length.
Because current IANA allocation of GUA is limited to 2000::/3, it would be very easy to mislead the whole IPv6 Internet as on-link.
Which can lead to a DoS attack, MITM attack, etc.
</t>
    </section>

    <section title="Limiting Prefix Length">

      <t>RFC 3756<xref target="RFC3756"/> Section 4.2.5. describes mitigation for DoS attacks using rogue RAs.</t>

      <t>
<vspace blankLines="0" />
  "As an example, one possible approach to limiting the damage of this
  attack is to require advertised on-link prefixes be /64s (otherwise
  it's easy to advertise something short like 0/0 and this attack is
  very easy)."
      </t>

      <t>
RFC 4291<xref target="RFC4291"/> limits the interface identifier length to 64 bits.
When IID is 64 bits, the subnet prefix length will be 64 bits.
Therefore, the prefix length other than 64 bits is rogue, and the host should not accept the prefix information.
      </t>

    </section>
    <section title="Update to RFC 4861">
      <t>
If approved, this draft adds the following sentence and updates Section 6. of RFC 4861.
      </t>

      <t>
<vspace blankLines="0" />A host SHOULD NOT accept a prefix length shorter than 64.
      </t>

    </section>
    <section title="Security Considerations">
      <t>
        The purpose of this document is to mitigate adverse effects caused by a rogue RA.
        Limitation of the prefix length as described in Section 4.
      </t>
    </section>


    <section title="Acknowledgements">
<t>
Many thanks to Tatsuya Hayashi, Yuji Suga and Katsushi Kobayashi for many comments.
</t>
    </section>

  </middle>

  <back>
    <!--  SECTION 8.1:  Normative References		-->

    <references title="Normative References">
      &RFC4291;
      &RFC3756;
      &RFC4861;
      &RFC4862;
    </references>


  </back>
</rfc>

