rfc9288xml2.original.xml | rfc9288.xml | |||
---|---|---|---|---|
<?xml version="1.0" encoding="UTF-8"?> | <?xml version='1.0' encoding='utf-8'?> | |||
<!DOCTYPE rfc SYSTEM "rfc2629.dtd"> | ||||
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?> | ||||
<!-- try to enforce the ID-nits conventions and DTD validity --> | ||||
<?rfc strict="no" ?> <!-- items used when reviewing the document --> | ||||
<?rfc comments="no" ?> <!-- controls display of <cref> elements --> | ||||
<?rfc inline="no" ?> <!-- when no, put comments at end in comments section, | ||||
otherwise, put inline --> | ||||
<?rfc editing="no" ?> <!-- when yes, insert editing marks --> | ||||
<!-- create table of contents (set it options). | ||||
Note the table of contents may be omitted | ||||
for very short documents --> | ||||
<?rfc toc="yes"?><?rfc tocompact="yes"?> | ||||
<?rfc tocdepth="2"?> | ||||
<!-- choose the options for the references. Some like | ||||
symbolic tags in the references (and citations) | ||||
and others prefer numbers. --> | ||||
<?rfc symrefs="yes"?><?rfc sortrefs="yes" ?> | ||||
<!-- these two save paper: start new paragraphs from the same page etc. --> | ||||
<?rfc compact="yes" ?><?rfc subcompact="no" ?> | ||||
<!-- end of list of processing instructions --> | ||||
<!-- Information about the document. | ||||
categories values: std, bcp, info, exp, and historic | ||||
For Internet-Drafts, specify attribute "ipr". | ||||
(ipr values are: full3667, noModification3667, noDerivatives3667), | ||||
Also for Internet-Drafts, can specify values for | ||||
attributes "iprExtract", and "docName". Note | ||||
that the value for iprExtract is the anchor attribute | ||||
value of a section that can be extracted, and is only | ||||
useful when the value of "ipr" is not "full3667". --> | ||||
<!-- TODO: verify which attributes are specified only | ||||
by the RFC editor. It appears that attributes | ||||
"number", "obsoletes", "updates", and "seriesNo" | ||||
are specified by the RFC editor (and not by | ||||
the document author). --> | ||||
<rfc | ||||
category="info" | ||||
ipr="trust200902" | ||||
docName="draft-ietf-opsec-ipv6-eh-filtering-10" > | ||||
<front> | ||||
<title abbrev="Filtering of IPv6 packets with EHs">Recommendations on the Fi | ||||
ltering of IPv6 Packets Containing IPv6 Extension Headers at Transit Routers</ti | ||||
tle> | ||||
<!-- add 'role="editor"' below for the editors if appropriate --> | <!DOCTYPE rfc [ | |||
<!ENTITY nbsp " "> | ||||
<!ENTITY zwsp "​"> | ||||
<!ENTITY nbhy "‑"> | ||||
<!ENTITY wj "⁠"> | ||||
]> | ||||
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" number="9288" category="info" ip | ||||
r="trust200902" docName="draft-ietf-opsec-ipv6-eh-filtering-10" obsoletes="" upd | ||||
ates="" submissionType="IETF" xml:lang="en" consensus="true" tocInclude="true" t | ||||
ocDepth="2" symRefs="true" sortRefs="true" version="3"> | ||||
<!-- xml2rfc v2v3 conversion 3.12.10 --> | ||||
<front> | ||||
<title abbrev="Filtering of IPv6 Packets with EHs">Recommendations on the Fi | ||||
ltering of IPv6 Packets Containing IPv6 Extension Headers at Transit Routers</ti | ||||
tle> | ||||
<seriesInfo name="RFC" value="9288"/> | ||||
<author fullname="Fernando Gont" initials="F." surname="Gont"> | <author fullname="Fernando Gont" initials="F." surname="Gont"> | |||
<organization abbrev="SI6 Networks">SI6 Networks</organization> | ||||
<organization abbrev="EdgeUno">EdgeUno</organization> | ||||
<address> | <address> | |||
<postal> | <postal> | |||
<street>Segurola y Habana 4310, 7mo Piso</street> | <street>Segurola y Habana 4310 7mo piso</street> | |||
<city>Villa Devoto</city> | <city>Ciudad Autonoma de Buenos Aires</city> | |||
<region>Ciudad Autonoma de Buenos Aires</region> | ||||
<country>Argentina</country> | <country>Argentina</country> | |||
</postal> | </postal> | |||
<email>fernando.gont@edgeuno.com</email> | <email>fgont@si6networks.com</email> | |||
<uri>https://www.edgeuno.com</uri> | <uri>https://www.si6networks.com</uri> | |||
</address> | </address> | |||
</author> | </author> | |||
<author fullname="Will (Shucheng) Liu" initials="W." surname="Liu"> | ||||
<author fullname="Will (Shucheng) Liu" initials="W." surname="Liu"> | ||||
<organization>Huawei Technologies</organization> | <organization>Huawei Technologies</organization> | |||
<address> | <address> | |||
<postal> | <postal> | |||
<street>Bantian, Longgang District</street> | <street>Bantian, Longgang District</street> | |||
<city>Shenzhen</city> | <city>Shenzhen</city> | |||
<code>518129</code> | <code>518129</code> | |||
<country>P.R. China</country> | <country>China</country> | |||
</postal> | </postal> | |||
<email>liushucheng@huawei.com</email> | <email>liushucheng@huawei.com</email> | |||
</address> | </address> | |||
</author> | ||||
<!-- | ||||
<author fullname="Ronald P. Bonica" initials="R." surname="Bonica"> | ||||
<organization>Juniper Networks</organization> | ||||
<address> | ||||
<postal> | ||||
<street>2251 Corporate Park Drive</street> | ||||
<city>Herndon</city> | ||||
<region>VA</region> | ||||
<code>20171</code> | ||||
<country>US</country> | ||||
</postal> | ||||
<phone>571 250 5819</phone> | ||||
<email>rbonica@juniper.net</email> | ||||
</address> | ||||
</author> | </author> | |||
<date month="August" year="2022" /> | ||||
<date /> | <area>Operations and Management (ops)</area> | |||
<!-- month="May" is no longer necessary note also, day="30" is optional --> | ||||
<area>Operations and Management (ops)</area> <!-- WG name at the upperlef | ||||
t corner of the doc, | ||||
IETF fine for individual submissions --> | ||||
<workgroup>opsec</workgroup> | <workgroup>opsec</workgroup> | |||
<abstract> | <keyword>Denial of Service</keyword> | |||
<t> | <keyword>Distributed Denial of Service</keyword> | |||
<keyword>DoS</keyword> | ||||
<keyword>DDoS</keyword> | ||||
<keyword>ACL</keyword> | ||||
<keyword>filtering policy</keyword> | ||||
<abstract> | ||||
<t> | ||||
This document analyzes the security implications of IPv6 Extension Headers an d associated IPv6 options. Additionally, it discusses the operational and | This document analyzes the security implications of IPv6 Extension Headers an d associated IPv6 options. Additionally, it discusses the operational and | |||
interoperability implications of discarding packets based on the | interoperability implications of discarding packets based on the | |||
IPv6 Extension Headers and IPv6 options they contain. Finally, it provides ad vice on the filtering of such IPv6 | IPv6 Extension Headers and IPv6 options they contain. Finally, it provides ad vice on the filtering of such IPv6 | |||
packets at transit routers for traffic not directed to them, for those cases where such filtering is deemed as necessary. | packets at transit routers for traffic not directed to them, for those cases where such filtering is deemed as necessary. | |||
</t> | </t> | |||
</abstract> | </abstract> | |||
</front> | ||||
</front> | <middle> | |||
<section anchor="intro" numbered="true" toc="default"> | ||||
<middle> | <name>Introduction</name> | |||
<t>IPv6 Extension Headers (EHs) allow for the extension of the IPv6 | ||||
<section title="Introduction" anchor="intro"> | protocol and provide support for core functionality, such as IPv6 | |||
<t>IPv6 Extension Headers (EHs) allow for the extension of the IPv6 | fragmentation. However, common implementation limitations suggest that EHs p | |||
protocol, and provide support for core functionality such as IPv6 | resent a challenge for IPv6 packet routing equipment, particularly when the IPv6 | |||
fragmentation. However, common implementation limitations suggest that EHs p | header chain needs to be processed for, as an example, enforcing Access Control | |||
resent a challenge for IPv6 packet routing equipment, particularly when the IPv6 | Lists (ACLs) or implementing other functions <xref target="RFC9098" format="def | |||
header chain needs to be processed for e.g. enforcing ACLs or implementing othe | ault"/>. | |||
r functions <xref target="RFC9098"/>. | ||||
</t> | </t> | |||
<t>Several studies (e.g., <xref target="Huston-2022" format="default"/>, < | ||||
<t>Several studies (e.g. <xref target="Huston-2022"/>, <xref target="I-D.vyncke- | xref target="I-D.vyncke-v6ops-james" format="default"/>, and <xref target="RFC78 | |||
v6ops-james"/>, and <xref target="RFC7872"/>) suggest that there is widespread d | 72" format="default"/>) suggest that there is widespread dropping of IPv6 packet | |||
ropping of IPv6 packets that contain IPv6 Extension Headers (EHs). In some cases | s that contain IPv6 EHs. In some cases, such packet drops occur at transit route | |||
, such packet drops occur at transit routers. While some operators are known to | rs. While some operators are known to intentionally drop packets that contain IP | |||
intentionally drop packets that contain IPv6 EHs, it is possible that some of th | v6 EHs, it is possible that some of the measured packet drops are the result of | |||
e measured packet drops are the result of inappropriate advice in this area.</t> | inappropriate advice in this area.</t> | |||
<t>This document analyzes both the general security implications of | ||||
<t>This document analyzes both the general security implications of | ||||
IPv6 EHs, as well as the security implications of | IPv6 EHs, as well as the security implications of | |||
specific EH and Option types. It also provides advice on the | specific EH and option types. It also provides advice on the | |||
filtering of IPv6 packets based on the IPv6 EHs and | filtering of IPv6 packets based on the IPv6 EHs and | |||
the IPv6 options they contain. Since | the IPv6 options they contain. Since | |||
various protocols may use IPv6 EHs (possibly with IPv6 | various protocols may use IPv6 EHs (possibly with IPv6 | |||
options), discarding packets based on the IPv6 EHs or | options), discarding packets based on the IPv6 EHs or | |||
IPv6 options they contain can have implications on the proper | IPv6 options they contain can have implications on the proper | |||
functioning of such protocols. Thus, this document also attempts to | functioning of such protocols. Thus, this document also attempts to | |||
discuss the operational and interoperability implications of such | discuss the operational and interoperability implications of such | |||
filtering policies.</t> | filtering policies.</t> | |||
<t>The resulting packet filtering policy typically depends on where in the | ||||
<t>The resulting packet filtering policy typically depends on where in the netwo | network such policy is enforced. When the policy is enforced in a transit netwo | |||
rk such policy is enforced: when the policy is enforced in a transit network, th | rk, the policy typically follows a "deny-list" approach, where only packets with | |||
e policy typically follows a "deny-list" approach, where only packets with clear | clear negative implications are dropped. On the other hand, when the policy is | |||
negative implications are dropped. On the other hand, when the policy is enforc | enforced closer to the destination systems, the policy typically follows an "acc | |||
ed closer to the destination systems, the policy typically follows an "accept-li | ept-list" approach, where only traffic that is expected to be received is allowe | |||
st" approach, where only traffic that is expected to be received is allowed. The | d. The advice in this document is aimed only at transit routers that may need to | |||
advice in this document is aimed only at transit routers that may need to enfor | enforce a filtering policy based on the IPv6 EHs and IPv6 options a packet may | |||
ce a filtering policy based on the EHs and IPv6 options a packet may contain, fo | contain, following a "deny-list" approach; hence, it is likely to be much more p | |||
llowing a "deny-list" approach, and hence is likely to be much more permissive t | ermissive than a filtering policy to be employed at, for example, the edge of an | |||
han a filtering policy to be employed at e.g. the edge of an enterprise network. | enterprise network. The advice in this document is meant to improve the current | |||
The advice in this document is meant to improve the current situation of the dr | situation of the dropping of packets with IPv6 EHs in the Internet <xref target | |||
opping of packets with IPv6 EHs in the Internet <xref target="RFC7872"/> in such | ="RFC7872" format="default"/> in such cases where packets are being dropped due | |||
cases where packets are being dropped due to inappropriate or missing guideline | to inappropriate or missing guidelines.</t> | |||
s.</t> | <t>This document is similar in nature to | |||
<xref target="RFC7126" format="default"/>, which addresses the same problem f | ||||
<t>This document is similar in nature to | or the IPv4 case. However, in IPv6, the problem space is compounded by the fact | |||
<xref target="RFC7126"/>, which addresses the same problem for the IPv4 case. | that IPv6 specifies a number of IPv6 EHs and a number of IPv6 options that may b | |||
However, in IPv6, the problem space is compounded by the fact that IPv6 specifi | e valid only when included in specific EH types.</t> | |||
es a number of IPv6 EHs, and a number of IPv6 options which may be valid only wh | <t>This document completes and complements the considerations for protecti | |||
en included in specific EH types.</t> | ng the control plane from packets containing IP options that can be found in <xr | |||
ef target="RFC6192" format="default"/>.</t> | ||||
<t>This document completes and complements the considerations for protecting the | <t><xref target="terms" format="default"/> specifies the terminology and c | |||
control plane from packets containing IP options that can be found in <xref tar | onventions employed throughout this document. <xref target="ipv6-extension-heade | |||
get="RFC6192"/>.</t> | rs-discussion" format="default"/> discusses IPv6 EHs and provides advice in the | |||
area of filtering IPv6 packets that contain such IPv6 EHs. <xref target="ipv6-op | ||||
<t><xref target="terms"/> specifies the terminology and conventions employed thr | tions-discussion" format="default"/> discusses IPv6 options and provides advice | |||
oughout this document. <xref target="ipv6-extension-headers-discussion"/> discus | in the area of filtering IPv6 packets that contain such options. | |||
ses IPv6 EHs and provides advice in the area of filtering IPv6 packets that cont | </t> | |||
ain such IPv6 EHs. <xref target="ipv6-options-discussion"/> discusses IPv6 optio | ||||
ns and provides advice in the area of filtering IPv6 packets that contain such o | ||||
ptions. <!-- <xref target="upper-layer"/> specifies the filtering of packets ba | ||||
sed on the upper-layer protocol. Specifically, it identifies upper-layer protoco | ||||
ls that, for different reasons, should not be present in IPv6 packets. --> | ||||
</t> | ||||
<!-- | ||||
<t>While this document is similar in structure and nature to <xref target="RFC71 | ||||
23"/>, we note that this document is aimed at firewall administrators, an hence | ||||
tends to be more restrictive than what an IPv6-version of <xref target="RFC7123" | ||||
/> would be.</t> | ||||
</section> | </section> | |||
<section anchor="terms" numbered="true" toc="default"> | ||||
<section title="Terminology and Assumptions Employed in This Document" | <name>Terminology and Assumptions Employed in This Document</name> | |||
anchor="terms"> | <section numbered="true" toc="default"> | |||
<section title="Terminology"> | <name>Terminology</name> | |||
<t>The terms "permit" (allow the traffic), "drop" (drop with no notifica | ||||
<t>The terms "permit" (allow the traffic), "drop" (drop with no notification to | tion to sender), and "reject" (drop with appropriate notification to sender) are | |||
sender), and "reject" (drop with appropriate notification to sender) are employe | employed as defined in <xref target="RFC3871" format="default"/>. Throughout th | |||
d as defined in <xref target="RFC3871"/>. Throughout this document we also emplo | is document, we also employ the term "discard" as a generic term to indicate the | |||
y the term "discard" as a generic term to indicate the act of discarding a packe | act of discarding a packet, irrespective of whether the sender is notified of s | |||
t, irrespective of whether the sender is notified of such drops, and irrespectiv | uch a drop and whether the specific filtering action is logged. | |||
e of whether the specific filtering action is logged. | ||||
</t> | ||||
<t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", | ||||
"SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", | ||||
"MAY", and "OPTIONAL" in this document are to be interpreted as | ||||
described in BCP 14 <xref target='RFC2119' /> <xref target='RFC8174' /> wh | ||||
en, and only when, they | ||||
appear in all capitals, as shown here. | ||||
</t> | </t> | |||
<t> | ||||
The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQU | ||||
IRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL | ||||
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14> | ||||
RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>", | ||||
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to | ||||
be interpreted as | ||||
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> | ||||
when, and only when, they appear in all capitals, as shown here. | ||||
</t> | ||||
</section> | ||||
<section numbered="true" toc="default"> | ||||
<name>Applicability Statement</name> | ||||
<t>This document provides advice on the filtering of IPv6 packets with E | ||||
Hs at transit routers for traffic not explicitly destined to them, for cases in | ||||
which such filtering is deemed as necessary.</t> | ||||
</section> | ||||
<section numbered="true" toc="default"> | ||||
<name>Router Default Behavior and Features</name> | ||||
<t>This document assumes that nodes comply with the requirements in <xre | ||||
f target="RFC7045" format="default"/>. Namely, | ||||
</t> | ||||
</section> | <blockquote>If a forwarding node discards a packet containing a standard IPv6 | |||
extension header, it <bcp14>MUST</bcp14> be the result of a configurable poli | ||||
<section title="Applicability Statement"> | cy and | |||
<t>This document provides advice on the filtering of IPv6 packets with EHs at tr | ||||
ansit routers for traffic not explicitly destined to them, for cases in which su | ||||
ch filtering is deemed as necessary.</t> | ||||
</section> | ||||
<section title="Router Default Behavior and Features"> | ||||
<t>This document assumes that nodes comply with the requirements in <xref target | ||||
="RFC7045"/>. Namely, | ||||
<list style="hanging"> | ||||
<t>"If a forwarding node discards a packet containing a standard IPv6 | ||||
extension header, it MUST be the result of a configurable policy and | ||||
not just the result of a failure to recognise such a header. This | not just the result of a failure to recognise such a header. This | |||
means that the discard policy for each standard type of extension | means that the discard policy for each standard type of extension | |||
header MUST be individually configurable. The default configuration | header <bcp14>MUST</bcp14> be individually configurable. The default configu | |||
SHOULD allow all standard extension headers."</t> | ration | |||
</list> | <bcp14>SHOULD</bcp14> allow all standard extension headers.</blockquote> | |||
<t> | ||||
The advice provided in this document is only meant to guide an operator in confi | The advice provided in this document is only meant to guide an operator | |||
guring forwarding devices, and is not to be interpreted as advice regarding defa | in configuring forwarding devices and is not to be interpreted as advice regard | |||
ult configuration settings for network devices. That is, this document provides | ing default configuration settings for network devices. That is, this document p | |||
advice with respect to operational policies, but does not change the implementat | rovides advice with respect to operational policies but does not change the impl | |||
ion defaults required by <xref target="RFC7045"/><!-- and <xref target="draft-g | ementation defaults required by <xref target="RFC7045" format="default"/>. | |||
ont-6man-ipv6-opt-transmit"/>-->. <!--We note that the advice provided in this d | ||||
ocument is *not* meant to be employed by transit routers for transit traffic, si | ||||
nce such devices should not enforce this type of filtering policy on traffic not | ||||
directed to them. --> | ||||
</t> | ||||
<t>We recommend that configuration options are made available to govern the proc | ||||
essing of each IPv6 EH type and each IPv6 option type. Such configuration option | ||||
s should include the following possible settings: | ||||
<list style="symbols"> | ||||
<t>Permit this IPv6 EH or IPv6 Option type.</t> | ||||
<t>Drop packets containing this IPv6 EH or option type.</t> | ||||
<t>Reject packets containing this IPv6 EH or option type (where the packet drop | ||||
is signaled with an ICMPv6 error message).</t> | ||||
<t>Rate-limit traffic containing this IPv6 EH or option type.</t> | ||||
<t>Ignore this IPv6 EH or option type (as if it was not present) and process the | ||||
packet according the rules for the remaining headers. We note that if a packet | ||||
carries forwarding information (e.g., in an IPv6 Routing Header) this might be a | ||||
n inappropriate or undesirable action.</t> | ||||
</list> | ||||
</t> | </t> | |||
<t>We recommend that configuration options be made available to govern t | ||||
<t>We note that special care needs to be taken when devices log packet drops/rej | he processing of each IPv6 EH type and each IPv6 Option Type. Such configuration | |||
ects. Devices should count the number of packets dropped/rejected, but the loggi | options should include the following possible settings: | |||
ng of drop/reject events should be limited so as to not overburden device resour | </t> | |||
ces.</t> | <ul spacing="normal"> | |||
<li>Permit this IPv6 EH or IPv6 Option Type.</li> | ||||
<t>Finally, we note that when discarding packets, it is generally desirable that | <li>Drop packets containing this IPv6 EH or IPv6 Option Type.</li> | |||
the sender be signaled of the packet drop, since this is of use for trouble-sho | <li>Reject packets containing this IPv6 EH or IPv6 Option Type (where | |||
oting purposes. However, throughout this document (when recommending that packet | the packet drop is signaled with an ICMPv6 error message).</li> | |||
s be discarded) we generically refer to the action as "discard" without specifyi | <li>Rate-limit traffic containing this IPv6 EH or IPv6 Option Type.</l | |||
ng whether the sender is signaled of the packet drop.</t> | i> | |||
</section> | <li>Ignore this IPv6 EH or IPv6 Option Type (as if it was not present) | |||
</section> | , and process the packet according the rules for the remaining headers. We note | |||
that if a packet carries forwarding information (e.g., in an IPv6 Routing Header | ||||
<section title="IPv6 Extension Headers" anchor="ipv6-extension-headers-discussio | (RH)), this might be an inappropriate or undesirable action.</li> | |||
n"> | </ul> | |||
<section title="General Discussion"> | <t>We note that special care needs to be taken when devices log packet d | |||
<t>IPv6 <xref target="RFC8200"/> EHs allow for the extension of the IPv6 protoco | rops/rejects. Devices should count the number of packets dropped/rejected, but t | |||
l. Since both IPv6 EHs and upper-layer protocols share the same namespace ("Next | he logging of drop/reject events should be limited so as to not overburden devic | |||
Header" registry/namespace), <xref target="RFC7045"/> identifies which of the c | e resources.</t> | |||
urrently assigned Internet Protocol numbers identify IPv6 EHs vs. upper-layer pr | <t>Finally, we note that when discarding packets, it is generally desira | |||
otocols. This document discusses the filtering of packets based on the IPv6 EHs | ble that the sender be signaled of the packet drop, since this is of use for tro | |||
(as specified by <xref target="RFC7045"/>) they contain. <!-- Filtering of IPv6 | uble-shooting purposes. However, throughout this document (when recommending tha | |||
packets based on the upper-layer protocol is specified in <xref target="upper-la | t packets be discarded), we generically refer to the action as "discard" without | |||
yer"/>--></t> | specifying whether the sender is signaled of the packet drop.</t> | |||
</section> | ||||
</section> | ||||
<section anchor="ipv6-extension-headers-discussion" numbered="true" toc="def | ||||
ault"> | ||||
<name>IPv6 Extension Headers</name> | ||||
<section numbered="true" toc="default"> | ||||
<name>General Discussion</name> | ||||
<t>IPv6 EHs <xref target="RFC8200" format="default"/> allow for the exte | ||||
nsion of the IPv6 protocol. Since both IPv6 EHs and upper-layer protocols share | ||||
the same namespace ("Next Header" registry/namespace), <xref target="RFC7045" fo | ||||
rmat="default"/> identifies which of the currently assigned Internet Protocol nu | ||||
mbers identify IPv6 EHs vs. upper-layer protocols. This document discusses the f | ||||
iltering of packets based on the IPv6 EHs (as specified by <xref target="RFC7045 | ||||
" format="default"/>) they contain. | ||||
</t> | ||||
<t> | ||||
<xref target="RFC8200" format="default"/> specifies that non-fragmented IPv6 dat | ||||
agrams and IPv6 First-Fragments must contain the entire IPv6 header chain <xref | ||||
target="RFC7112" format="default"/>. Therefore, intermediate systems can enforce | ||||
the filtering policies discussed in this document or resort to simply discardin | ||||
g the offending packets when they fail to include the entire IPv6 header chain < | ||||
xref target="RFC8200" format="default"/>. </t> | ||||
<t> | <t> | |||
<list style="hanging"> | We note that in order to implement filtering rules on the fast path, it may be n | |||
<t> | ecessary for the filtering device to limit the depth into the packet that can be | |||
NOTE: <xref target="RFC8200"/> specifies that non-fragmented IPv6 datagrams and | inspected before giving up. In circumstances where such | |||
IPv6 First-Fragments must contain the entire IPv6 header chain <xref target="RFC | ||||
7112"/>. Therefore, intermediate systems can enforce the filtering policies disc | ||||
ussed in this document, or resort to simply discarding the offending packets whe | ||||
n they fail to comply with the requirements in <xref target="RFC8200"/>. We note | ||||
that, in order to implement filtering rules on the fast path, it may be necessa | ||||
ry for the filtering device to limit the depth into the packet that can be inspe | ||||
cted before giving up. In circumstances where such | ||||
a limitation exists, it is recommended that implementations provide a | a limitation exists, it is recommended that implementations provide a | |||
configuration option that specifies whether to discard packets if | configuration option that specifies whether to discard packets if | |||
the aforementioned limit is encountered. Operators may then | the aforementioned limit is encountered. Operators may then | |||
determine according to their own circumstances how such packets | determine, according to their own circumstances, how such packets | |||
will be handled. | will be handled. | |||
</t> | </t> | |||
</list> | ||||
</t> | ||||
<!-- | ||||
<t>When processing a non-fragmented IPv6 datagram or an IPv6 First-Fragment, the | ||||
packet must contain the entire IPv6 header chain <xref target="RFC7112"/>. An i | ||||
ntermediate system that processes a packet that fails to comply with this requir | ||||
ement should therefore drop the offending packets. | ||||
</t> | ||||
</section> | ||||
<section title="General Security Implications" anchor="ipv6-eh-general-implicati | ||||
ons"> | ||||
<t>In some device architectures, IPv6 packets that contain IPv6 EHs can cause th | ||||
e corresponding packets to be processed on the slow path, and hence may be lever | ||||
aged for the purpose of Denial of Service (DoS) attacks <xref target="RFC9098"/> | ||||
<xref target="Cisco-EH"/> <xref target="FW-Benchmark"/>. | ||||
</t> | ||||
<t>Operators are urged to consider the IPv6 EH and IPv6 options handling capabil | ||||
ities of their devices as they make deployment decisions in the future.</t> | ||||
</section> | </section> | |||
<section anchor="ipv6-eh-general-implications" numbered="true" toc="defaul | ||||
<section title="Rationale for Our Advice on the Handling of IPv6 Packets with Sp | t"> | |||
ecific IPv6 Extension Headers" anchor="ipv6-ehs-rationale"> | <name>General Security Implications</name> | |||
<t> | <t>In some device architectures, IPv6 packets that contain IPv6 EHs can | |||
<list style="symbols"> | cause the corresponding packets to be processed on the slow path and, hence, may | |||
<t>IPv6 Packets with IPv6 Extension Headers (or options) that are not expected t | be leveraged for the purpose of Denial-of-Service (DoS) attacks <xref target="R | |||
o traverse transit routers should be dropped.</t> | FC9098" format="default"/> <xref target="Cisco-EH" format="default"/> <xref targ | |||
et="FW-Benchmark" format="default"/>. | ||||
<t>IPv6 Packets with IPv6 Extension Headers (or options) that are only | </t> | |||
<t>Operators are urged to consider the IPv6 EH and IPv6 options handling | ||||
capabilities of their devices as they make deployment decisions in the future.< | ||||
/t> | ||||
</section> | ||||
<section anchor="ipv6-ehs-rationale" numbered="true" toc="default"> | ||||
<name>Rationale for Our Advice on the Handling of IPv6 Packets with Spec | ||||
ific IPv6 Extension Headers</name> | ||||
<ul spacing="normal"> | ||||
<li>IPv6 packets with IPv6 Extension Headers (or options) that are not | ||||
expected to traverse transit routers should be dropped.</li> | ||||
<li>IPv6 packets with IPv6 Extension Headers (or options) that are onl | ||||
y | ||||
expected to traverse transit routers when a specific technology is | expected to traverse transit routers when a specific technology is | |||
employed, should be permitted (or dropped) based on the knowledge | employed should be permitted (or dropped) based on the knowledge | |||
regarding the use of such technology in transit provider in question | regarding the use of such technology in the transit provider in question | |||
(i.e. permit the packets if the technology is employed, or drop them) | (i.e., permit the packets if the technology is employed, or drop them). | |||
</t> | </li> | |||
<li>IPv6 packets with IPv6 Extension Headers (or options) that represe | ||||
<t>IPv6 Packets with IPv6 Extension Headers (or options) that represent | nt | |||
a concrete attack vector to network infrastructure devices should be dropped | a concrete attack vector to network infrastructure devices should be dropped | |||
.</t> | .</li> | |||
<li>IPv6 packets with any other IPv6 Extension Headers (or options) | ||||
<t>IPv6 packets with any other IPv6 Extension headers (or options) | ||||
should be permitted. This is an intentional trade-off made to | should be permitted. This is an intentional trade-off made to | |||
minimize ossification.</t> | minimize ossification.</li> | |||
</list> | </ul> | |||
</section> | ||||
</t> | <section numbered="true" toc="default"> | |||
</section> | <name>Summary of Advice on the Handling of IPv6 Packets with Specific IP | |||
v6 Extension Headers</name> | ||||
<section title="Summary of Advice on the Handling of IPv6 Packets with Specific | <t>This section summarizes the advice provided in <xref target="advice-e | |||
IPv6 Extension Headers"> | hs" format="default"/>, providing references to the specific sections in which a | |||
<t>This section summarizes the advice provided in <xref target="advice-ehs"/>, p | detailed analysis can be found.</t> | |||
roviding references to the specific sections in which a detailed analysis can be | <table anchor="eh-table" align="center"> | |||
found.</t> | <name>Summary of Advice on the Handling of IPv6 Packets with Specific | |||
IPv6 Extension Headers</name> | ||||
<texttable title="Summary of Advice on the Handling of IPv6 Packets with Spe | <thead> | |||
cific IPv6 Extension Headers" style="all" anchor="eh-table"> | <tr> | |||
<ttcol align="center">EH type</ttcol> | <th align="center">EH Type</th> | |||
<ttcol align="center">Filtering policy</ttcol> | <th align="center">Filtering Policy</th> | |||
<ttcol align="center">Reference</ttcol> | <th align="center">Reference</th> | |||
<c>IPv6 Hop-by-Hop Options (Proto=0)</c><c>Drop or Ignore</c><c><xref target="pr | </tr> | |||
oto0"/></c> | </thead> | |||
<c>Routing Header for IPv6 (Proto=43)</c><c>Drop only RHT0 and RHT1. Permit othe | <tbody> | |||
r RH Types</c><c><xref target="proto43"/></c> | <tr> | |||
<c>Fragment Header for IPv6 (Proto=44)</c><c>Permit</c><c><xref target="proto44" | <td align="center">Hop-by-Hop Options Header (Proto=0)</td> | |||
/></c> | <td align="center">Drop or Ignore</td> | |||
<c>Encapsulating Security Payload (Proto=50)</c><c>Permit</c><c><xref target="pr | <td align="center"> | |||
oto50"/></c> | <xref target="proto0" format="default"/></td> | |||
<c>Authentication Header (Proto=51)</c><c>Permit</c><c><xref target="proto51"/>< | </tr> | |||
/c> | <tr> | |||
<c>Destination Options for IPv6 (Proto=60)</c><c>Permit</c><c><xref target="prot | <td align="center">Routing Header (Proto=43)</td> | |||
o60"/></c> | <td align="center">Drop only Routing Type 0, Routing Type 1, and R | |||
<c>Mobility Header (Proto=135)</c><c>Permit</c><c><xref target="proto135"/></c> | outing Type 3. Permit other Routing Types</td> | |||
<c>Host Identity Protocol (Proto=139)</c><c>Permit</c><c><xref target="proto139" | <td align="center"> | |||
/></c> | <xref target="proto43" format="default"/></td> | |||
<c>Shim6 Protocol (Proto=140)</c><c>Permit</c><c><xref target="proto140"/></c> | </tr> | |||
<c>Use for experimentation and testing (Proto=253 and | <tr> | |||
254)</c><c>Drop</c><c><xref target="proto253254"/></c> | <td align="center">Fragment Header (Proto=44)</td> | |||
</texttable> | <td align="center">Permit</td> | |||
<td align="center"> | ||||
</section> | <xref target="proto44" format="default"/></td> | |||
</tr> | ||||
<section title="Advice on the Handling of IPv6 Packets with Specific IPv6 Extens | <tr> | |||
ion Headers" anchor="advice-ehs"> | <td align="center">Encapsulating Security Payload (Proto=50)</td> | |||
<td align="center">Permit</td> | ||||
<section title="IPv6 Hop-by-Hop Options (Protocol Number=0)" anchor="proto0"> | <td align="center"> | |||
<section title="Uses"> | <xref target="proto50" format="default"/></td> | |||
<t>The Hop-by-Hop Options header is used to carry optional information that may | </tr> | |||
be examined by every node along a packet's delivery path. It is expected that no | <tr> | |||
des will examine the Hop-by-Hop Options header if explicitly configured to do so | <td align="center">Authentication Header (Proto=51)</td> | |||
.</t> | <td align="center">Permit</td> | |||
<td align="center"> | ||||
<t>NOTE: A previous revision of the IPv6 core specification, <xref target="RFC24 | <xref target="proto51" format="default"/></td> | |||
60"/>, originally required that all nodes examined and processed the Hop-by-Hop | </tr> | |||
Options header. However, even before the publication of <xref target="RFC8200"/> | <tr> | |||
a number of implementations already provided the option of ignoring this header | <td align="center">Destination Options Header(Proto=60)</td> | |||
unless explicitly configured to examine it. | <td align="center">Permit</td> | |||
</t> | <td align="center"> | |||
<xref target="proto60" format="default"/></td> | ||||
</section> | </tr> | |||
<tr> | ||||
<section title="Specification"> | <td align="center">Mobility Header (Proto=135)</td> | |||
<t>This EH is specified in <xref target="RFC8200"/>. As of May 2022, the followi | <td align="center">Permit</td> | |||
ng options have been specified for the Hop-by-Hop Options EH: | <td align="center"> | |||
<xref target="proto135" format="default"/></td> | ||||
</tr> | ||||
<tr> | ||||
<td align="center">Host Identity Protocol (Proto=139)</td> | ||||
<td align="center">Permit</td> | ||||
<td align="center"> | ||||
<xref target="proto139" format="default"/></td> | ||||
</tr> | ||||
<tr> | ||||
<td align="center">Shim6 Protocol (Proto=140)</td> | ||||
<td align="center">Permit</td> | ||||
<td align="center"> | ||||
<xref target="proto140" format="default"/></td> | ||||
</tr> | ||||
<tr> | ||||
<td align="center">Use for experimentation and testing (Proto=253 | ||||
and | ||||
254)</td> | ||||
<td align="center">Drop</td> | ||||
<td align="center"> | ||||
<xref target="proto253254" format="default"/></td> | ||||
</tr> | ||||
</tbody> | ||||
</table> | ||||
</section> | ||||
<section anchor="advice-ehs" numbered="true" toc="default"> | ||||
<name>Advice on the Handling of IPv6 Packets with Specific IPv6 Extensio | ||||
n Headers</name> | ||||
<section anchor="proto0" numbered="true" toc="default"> | ||||
<name>IPv6 Hop-by-Hop Options (Protocol Number=0)</name> | ||||
<section numbered="true" toc="default"> | ||||
<name>Uses</name> | ||||
<t>The Hop-by-Hop (HBH) Options header is used to carry optional inf | ||||
ormation that may be examined by every node along a packet's delivery path. It i | ||||
s expected that nodes will examine the Hop-by-Hop Options header if explicitly c | ||||
onfigured to do so.</t> | ||||
<aside> | ||||
<t>NOTE: A previous revision of the IPv6 core specification <xref ta | ||||
rget="RFC2460" format="default"/> originally required all nodes to examine and p | ||||
rocess the Hop-by-Hop Options header. However, even before the publication of <x | ||||
ref target="RFC8200" format="default"/>, a number of implementations already pro | ||||
vided the option of ignoring this header unless explicitly configured to examine | ||||
it. | ||||
</t> | </t> | |||
<t> | </aside> | |||
<list style="symbols"> | </section> | |||
<t>Type 0x00: Pad1 <xref target="RFC8200"/></t> | <section numbered="true" toc="default"> | |||
<t>Type 0x01: PadN <xref target="RFC8200"/></t> | <name>Specification</name> | |||
<t>Type 0x05: Router Alert <xref target="RFC2711"/></t> | <t>This EH is specified in <xref target="RFC8200" format="default"/> | |||
<t>Type 0x07: CALIPSO <xref target="RFC5570"/></t> | . As of May 2022, the following options have been specified for the Hop-by-Hop O | |||
<t>Type 0x08: SMF_DPD <xref target="RFC6621"/></t> | ptions header: | |||
<t>Type 0x23: RPL Option <xref target="RFC9008"/></t> | ||||
<t>Type 0x26: Quick-Start <xref target="RFC4782"/></t> | ||||
<t>Type 0x4D: (Deprecated)</t> | ||||
<t>Type 0x63: RPL Option <xref target="RFC6553"/></t> | ||||
<t>Type 0x6D: MPL Option <xref target="RFC7731"/></t> | ||||
<!-- [fgont] THis one is deprecated... I guess no need to mention it, right? --> | ||||
<t>Type 0x8A: Endpoint Identification (Deprecated) <xref target="draft-ietf-nimr | ||||
od-eid"/></t> | ||||
<t>Type 0xC2: Jumbo Payload <xref target="RFC2675"/></t> | ||||
<t>Type 0xEE: IPv6 DFF Header <xref target="RFC6971"/></t> | ||||
<t>Type 0x1E: RFC3692-style Experiment <xref target="RFC4727"/></t> | ||||
<t>Type 0x3E: RFC3692-style Experiment <xref target="RFC4727"/></t> | ||||
<t>Type 0x5E: RFC3692-style Experiment <xref target="RFC4727"/></t> | ||||
<t>Type 0x7E: RFC3692-style Experiment <xref target="RFC4727"/></t> | ||||
<t>Type 0x9E: RFC3692-style Experiment <xref target="RFC4727"/></t> | ||||
<t>Type 0xBE: RFC3692-style Experiment <xref target="RFC4727"/></t> | ||||
<t>Type 0xDE: RFC3692-style Experiment <xref target="RFC4727"/></t> | ||||
<t>Type 0xFE: RFC3692-style Experiment <xref target="RFC4727"/></t> | ||||
</list></t> | ||||
</section> | ||||
<section title="Specific Security Implications"> | ||||
<t>Legacy nodes that process this extension header might be subject to Denial of | ||||
Service attacks.</t> | ||||
<t>NOTE: While <xref target="RFC8200"/> has removed this requirement, the deploy | ||||
ed base may still reflect the classical behavior for a while, and hence the pote | ||||
ntial security problems of this EH are still of concern. | ||||
</t> | </t> | |||
</section> | <ul spacing="normal"> | |||
<li>Type 0x00: Pad1 <xref target="RFC8200" format="default"/></li> | ||||
<section title="Operational and Interoperability Impact if Blocked"> | <li>Type 0x01: PadN <xref target="RFC8200" format="default"/></li> | |||
<t>Discarding packets containing a Hop-by-Hop Options EH would break any of the | <li>Type 0x05: Router Alert <xref target="RFC2711" format="default | |||
protocols that rely on it for proper functioning. For example, it would break RS | "/></li> | |||
VP <xref target="RFC2205"/> and multicast deployments, and would cause IPv6 jumb | <li>Type 0x07: CALIPSO <xref target="RFC5570" format="default"/></ | |||
ograms to be discarded.</t> | li> | |||
</section> | <li>Type 0x08: SMF_DPD <xref target="RFC6621" format="default"/></ | |||
li> | ||||
<section title="Advice"> | <li>Type 0x23: RPL Option <xref target="RFC9008" format="default"/ | |||
<t>Nodes implementing <xref target="RFC8200"/> would already ignore this extensi | ></li> | |||
on header unless explicitly required to process it. For legacy (<xref target="RF | <li>Type 0x26: Quick-Start <xref target="RFC4782" format="default" | |||
C2460"/>) nodes, the recommended configuration for the processing of these packe | /></li> | |||
ts depends on the features and capabilities of the underlying platform, the conf | <li>Type 0x4D: (Deprecated)</li> | |||
iguration of the platform, and also the deployment environment of the platform. | <li>Type 0x63: RPL Option <xref target="RFC6553" format="default"/ | |||
On platforms that allow forwarding of packets with HBH Options on the fast path, | ></li> | |||
we recommend that packets with a HBH Options EH be forwarded as normal. Otherwi | <li>Type 0x6D: MPL Option <xref target="RFC7731" format="default"/ | |||
se, on platforms in which processing of packets with a IPv6 HBH Options EH is ca | ></li> | |||
rried out in the slow path, and an option is provided to rate-limit these packet | <li>Type 0x8A: Endpoint Identification (Deprecated) <xref target="N | |||
s, we recommend that this option be selected. Finally, when packets containing a | IMROD-EID" format="default"/></li> | |||
HBH Options EH are processed in the slow-path, and the underlying platform does | <li>Type 0xC2: Jumbo Payload <xref target="RFC2675" format="defaul | |||
not have any mitigation options available for attacks based on these packets, w | t"/></li> | |||
e recommend that such platforms discard packets containing IPv6 HBH Options EHs. | <li>Type 0xEE: IPv6 DFF Header <xref target="RFC6971" format="defa | |||
</t> | ult"/></li> | |||
<li>Type 0x1E: RFC3692-style Experiment <xref target="RFC4727" for | ||||
<t>Finally, we note that RPL (Routing Protocol for Low-Power and Lossy Networks) | mat="default"/></li> | |||
routers <xref target="RFC6550"/> must not discard packets based on the presenc | <li>Type 0x3E: RFC3692-style Experiment <xref target="RFC4727" for | |||
e of an IPv6 Hop-by-Hop Options EH, as this would break RPL.</t> | mat="default"/></li> | |||
<li>Type 0x5E: RFC3692-style Experiment <xref target="RFC4727" for | ||||
</section> | mat="default"/></li> | |||
</section> | <li>Type 0x7E: RFC3692-style Experiment <xref target="RFC4727" for | |||
mat="default"/></li> | ||||
<section title="Routing Header for IPv6 (Protocol Number=43)" anchor="proto43"> | <li>Type 0x9E: RFC3692-style Experiment <xref target="RFC4727" for | |||
<section title="Uses"> | mat="default"/></li> | |||
<t>The Routing header is used by an IPv6 source to list one or more intermediate | <li>Type 0xBE: RFC3692-style Experiment <xref target="RFC4727" for | |||
nodes to be "visited" on the way to a packet's destination. </t> | mat="default"/></li> | |||
</section> | <li>Type 0xDE: RFC3692-style Experiment <xref target="RFC4727" for | |||
mat="default"/></li> | ||||
<section title="Specification"> | <li>Type 0xFE: RFC3692-style Experiment <xref target="RFC4727" for | |||
<t>This EH is specified in <xref target="RFC8200"/>. <xref target="RFC2460"/> ha | mat="default"/></li> | |||
d originally specified the Routing Header Type 0, which was later obsoleted by < | </ul> | |||
xref target="RFC5095"/>, and thus removed from <xref target="RFC8200"/>.</t> | </section> | |||
<section numbered="true" toc="default"> | ||||
<t>At of May 2022, the following Routing Types have been specified: | <name>Specific Security Implications</name> | |||
<t>Legacy nodes that process this extension header might be subject | ||||
<list style="symbols"> | to DoS attacks.</t> | |||
<t>Type 0: Source Route (DEPRECATED) <xref target="RFC2460"/> <xref target="RFC5 | <aside> | |||
095"/></t> | <t>NOTE: While <xref target="RFC8200" format="default"/> has removed | |||
<t>Type 1: Nimrod (DEPRECATED)</t> | the requirement for all nodes to examine and process the Hop-by-Hop Options hea | |||
<t>Type 2: Type 2 Routing Header <xref target="RFC6275"/></t> | der, the deployed base may still reflect the legacy <xref target="RFC2460"/> beh | |||
<t>Type 3: RPL Source Route Header <xref target="RFC6554"/></t> | avior for a while; hence, the potential security problems of this EH are still o | |||
<t>Type 4: Segment Routing Header (SRH) <xref target="RFC8754"/></t> | f concern. | |||
<t>Types 5-252: Unassigned </t> | ||||
<t>Type 253: RFC3692-style Experiment 1 <xref target="RFC4727"/></t> | ||||
<t>Type 254: RFC3692-style Experiment 2 <xref target="RFC4727"/></t> | ||||
<t>Type 255: Reserved</t> | ||||
</list> | ||||
</t> | </t> | |||
</aside> | ||||
</section> | ||||
<section numbered="true" toc="default"> | ||||
<name>Operational and Interoperability Impact If Blocked</name> | ||||
<t>Discarding packets containing a Hop-by-Hop Options header would b | ||||
reak any of the protocols that rely on it for proper functioning. For example, i | ||||
t would break RSVP <xref target="RFC2205" format="default"/> and multicast deplo | ||||
yments and would cause IPv6 jumbograms to be discarded.</t> | ||||
</section> | ||||
<section numbered="true" toc="default"> | ||||
<name>Advice</name> | ||||
<t>Nodes implementing <xref target="RFC8200" format="default"/> woul | ||||
d already ignore this extension header unless explicitly required to process it. | ||||
For legacy nodes <xref target="RFC2460" format="default"/>, the recommended con | ||||
figuration for the processing of these packets depends on the features and capab | ||||
ilities of the underlying platform, the configuration of the platform, and also | ||||
the deployment environment of the platform. On platforms that allow the forwardi | ||||
ng of packets with IPv6 HBH Options headers on the fast path, we recommend that | ||||
packets with IPv6 HBH Options headers be forwarded as normal. Otherwise, on plat | ||||
forms in which the processing of packets with IPv6 HBH Options headers is carrie | ||||
d out in the slow path and an option is provided to rate-limit these packets, we | ||||
recommend that this option be selected. Finally, when packets containing IPv6 H | ||||
BH Options headers are processed in the slow path and the underlying platform do | ||||
es not have any mitigation options available for attacks based on these packets, | ||||
we recommend that such platforms discard packets containing IPv6 HBH Options he | ||||
aders.</t> | ||||
<t>Finally, we note that the Routing Protocol for Low-Power and Loss | ||||
y Networks (RPL) routers <xref target="RFC6550" format="default"/> must not dis | ||||
card packets based on the presence of an IPv6 Hop-by-Hop Options header, as this | ||||
would break the RPL.</t> | ||||
</section> | ||||
</section> | ||||
<section anchor="proto43" numbered="true" toc="default"> | ||||
<name>Routing Header (Protocol Number=43)</name> | ||||
<section numbered="true" toc="default"> | ||||
<name>Uses</name> | ||||
<t>The Routing Header is used by an IPv6 source to list one or more | ||||
intermediate nodes to be "visited" on the way to a packet's destination. </t> | ||||
</section> | ||||
<section numbered="true" toc="default"> | ||||
<name>Specification</name> | ||||
<t>This EH is specified in <xref target="RFC8200" format="default"/> | ||||
. The Routing Type 0 had originally been specified in <xref target="RFC2460" for | ||||
mat="default"/> and was later obsoleted by <xref target="RFC5095" format="defaul | ||||
t"/>; thus, it was removed from <xref target="RFC8200" format="default"/>.</t> | ||||
<t>As of May 2022, the following Routing Types have been specified:< | ||||
/t> | ||||
<ul spacing="normal"> | ||||
<li>Type 0: Source Route (DEPRECATED) <xref target="RFC2460" forma | ||||
t="default"/> <xref target="RFC5095" format="default"/></li> | ||||
<li>Type 1: Nimrod (DEPRECATED)</li> | ||||
<li>Type 2: Type 2 Routing Header <xref target="RFC6275" format="d | ||||
efault"/></li> | ||||
<li>Type 3: RPL Source Route Header <xref target="RFC6554" format= | ||||
"default"/></li> | ||||
<li>Type 4: Segment Routing Header (SRH) <xref target="RFC8754" fo | ||||
rmat="default"/></li> | ||||
<li>Types 5-252: Unassigned</li> | ||||
<li>Type 253: RFC3692-style Experiment 1 <xref target="RFC4727" fo | ||||
rmat="default"/></li> | ||||
<li>Type 254: RFC3692-style Experiment 2 <xref target="RFC4727" fo | ||||
rmat="default"/></li> | ||||
<li>Type 255: Reserved</li> | ||||
</ul> | ||||
</section> | ||||
<section numbered="true" toc="default"> | ||||
<name>Specific Security Implications</name> | ||||
<t>The security implications of Routing Headers of Routing Type 0 ha | ||||
ve been discussed in detail in <xref target="Biondi-2007" format="default"/> and | ||||
<xref target="RFC5095" format="default"/>. Routing Type 1 was never widely impl | ||||
emented. The security implications of Routing Headers of Routing Type 2, Routing | ||||
Type 3, and Routing Type 4 (SRH) are discussed in <xref target="RFC6275" format | ||||
="default"/>, <xref target="RFC6554" format="default"/>, and <xref target="RFC8 | ||||
754" format="default"/>, respectively.</t> | ||||
</section> | ||||
<section numbered="true" toc="default"> | ||||
<name>Operational and Interoperability Impact If Blocked</name> | ||||
</section> | <t>Blocking packets containing Routing Headers of Routing Type 0 or | |||
Routing Type 1 has no operational implications, since both have been deprecated. | ||||
<section title="Specific Security Implications"> | Blocking packets containing Routing Headers of Routing Type 2 would break Mobil | |||
<t>The security implications of RHT0 have been discussed in detail in <xref targ | e IPv6. Packets containing Routing Headers of Routing Type 3 may be safely block | |||
et="Biondi2007"/> and <xref target="RFC5095"/>. RHT1 was never widely implemente | ed at RPL domain boundaries, since such headers are employed within a single RPL | |||
d. The security implications of RHT2, RHT3, and RHT4 (SRH) are discussed in <xre | domain. Blocking packets containing Routing Headers of Routing Type 4 (SRH) wil | |||
f target="RFC6275"/>, <xref target="RFC6554"/>, and <xref target="RFC8754"/>, r | l break Segment Routing (SR) deployments if the filtering policy is enforced on | |||
espectively.</t> | packets being forwarded within an SR domain.</t> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | ||||
<section title="Operational and Interoperability Impact if Blocked"> | <name>Advice</name> | |||
<t>Blocking packets containing a RHT0 or RHT1 has no operational implications, s | ||||
ince both have been deprecated. Blocking packets with a RHT2 would break Mobile | ||||
IPv6. Packets with a RHT3 may be safely blocked at RPL domain boundaries, since | ||||
RHT3 headers are employed within a single RPL domain. Blocking packets with a RH | ||||
T4 (SRH) will break Segment Routing (SR) deployments, if the filtering policy is | ||||
enforced on packets being forwarded within an SR domain.</t> | ||||
<!--<t>However, blocking packets employing other routing header types will break | ||||
the protocols that rely on them.</t> --> | ||||
</section> | ||||
<section title="Advice"> | ||||
<t>Intermediate systems should discard packets containing a RHT0, RHT1, or RHT3. | ||||
Other routing header types should be permitted, as required by <xref target="RF | ||||
C7045"/>.</t> | ||||
</section> | ||||
</section> | ||||
<section title="Fragment Header for IPv6 (Protocol Number=44)" anchor="proto44"> | ||||
<section title="Uses"> | ||||
<t>This EH provides the fragmentation functionality for IPv6.</t> | ||||
</section> | ||||
<section title="Specification"> | ||||
<t>This EH is specified in <xref target="RFC8200"/>.</t> | ||||
</section> | ||||
<section title="Specific Security Implications"> | ||||
<t>The security implications of the Fragment Header range from Denial of Service | ||||
attacks (e.g. based on flooding a target with IPv6 fragments) to information le | ||||
akage attacks <xref target="RFC7739"/>.</t> | ||||
</section> | ||||
<section title="Operational and Interoperability Impact if Blocked"> | ||||
<t>Blocking packets that contain a Fragment Header will break any protocol that | ||||
may rely on fragmentation (e.g., the DNS <xref target="RFC1034"/>). However, IP | ||||
fragmentation is known to introduce fragility to Internet communication <xref ta | ||||
rget="RFC8900"/>.</t> | ||||
</section> | ||||
<section title="Advice"> | ||||
<t>Intermediate systems should permit packets that contain a Fragment Header.</t | ||||
> | ||||
</section> | ||||
</section> | ||||
<section title="Encapsulating Security Payload (Protocol Number=50)" anchor="pro | ||||
to50"> | ||||
<section title="Uses"> | ||||
<t>This EH is employed for the IPsec suite <xref target="RFC4303"/>.</t> | ||||
</section> | ||||
<section title="Specification"> | ||||
<t>This EH is specified in <xref target="RFC4303"/>.</t> | ||||
</section> | ||||
<section title="Specific Security Implications"> | ||||
<t>Besides the general implications of IPv6 EHs, this EH could be employed to po | ||||
tentially perform a DoS attack at the destination system by wasting CPU resource | ||||
s in validating the contents of the packet.</t> | ||||
</section> | ||||
<section title="Operational and Interoperability Impact if Blocked"> | ||||
<t>Discarding packets that employ this EH would break IPsec deployments.</t> | ||||
</section> | ||||
<section title="Advice"> | ||||
<t>Intermediate systems should permit packets containing the Encapsulating Secur | ||||
ity Payload EH.</t> | ||||
</section> | ||||
</section> | ||||
<section title="Authentication Header (Protocol Number=51)" anchor="proto51"> | <t>Intermediate systems should discard packets containing Routing He | |||
<section title="Uses"> | aders of Routing Type 0, Routing Type 1, or Routing Type 3. Other Routing Types | |||
<t>The Authentication Header can be employed for provide authentication services | should be permitted, as required by <xref target="RFC7045" format="default"/>.</ | |||
in | t> | |||
</section> | ||||
</section> | ||||
<section anchor="proto44" numbered="true" toc="default"> | ||||
<name>Fragment Header (Protocol Number=44)</name> | ||||
<section numbered="true" toc="default"> | ||||
<name>Uses</name> | ||||
<t>This EH provides the fragmentation and reassembly functionality f | ||||
or IPv6.</t> | ||||
</section> | ||||
<section numbered="true" toc="default"> | ||||
<name>Specification</name> | ||||
<t>This EH is specified in <xref target="RFC8200" format="default"/> | ||||
.</t> | ||||
</section> | ||||
<section numbered="true" toc="default"> | ||||
<name>Specific Security Implications</name> | ||||
<t>The security implications of the Fragment Header range from DoS a | ||||
ttacks (e.g., based on flooding a target with IPv6 fragments) to information lea | ||||
kage attacks <xref target="RFC7739" format="default"/>.</t> | ||||
</section> | ||||
<section numbered="true" toc="default"> | ||||
<name>Operational and Interoperability Impact If Blocked</name> | ||||
<t>Blocking packets that contain a Fragment Header will break any pr | ||||
otocol that may rely on fragmentation (e.g., the DNS <xref target="RFC1034" form | ||||
at="default"/>). However, IP fragmentation is known to introduce fragility to In | ||||
ternet communication <xref target="RFC8900" format="default"/>.</t> | ||||
</section> | ||||
<section numbered="true" toc="default"> | ||||
<name>Advice</name> | ||||
<t>Intermediate systems should permit packets that contain a Fragmen | ||||
t Header.</t> | ||||
</section> | ||||
</section> | ||||
<section anchor="proto50" numbered="true" toc="default"> | ||||
<name>Encapsulating Security Payload (Protocol Number=50)</name> | ||||
<section numbered="true" toc="default"> | ||||
<name>Uses</name> | ||||
<t>This EH is employed for the IPsec suite <xref target="RFC4303" fo | ||||
rmat="default"/>.</t> | ||||
</section> | ||||
<section numbered="true" toc="default"> | ||||
<name>Specification</name> | ||||
<t>This EH is specified in <xref target="RFC4303" format="default"/> | ||||
.</t> | ||||
</section> | ||||
<section numbered="true" toc="default"> | ||||
<name>Specific Security Implications</name> | ||||
<t>Besides the general implications of IPv6 EHs, this EH could be em | ||||
ployed to potentially perform a DoS attack at the destination system by wasting | ||||
CPU resources in validating the contents of the packet.</t> | ||||
</section> | ||||
<section numbered="true" toc="default"> | ||||
<name>Operational and Interoperability Impact If Blocked</name> | ||||
<t>Discarding packets that employ this EH would break IPsec deployme | ||||
nts.</t> | ||||
</section> | ||||
<section numbered="true" toc="default"> | ||||
<name>Advice</name> | ||||
<t>Intermediate systems should permit packets containing the Encapsu | ||||
lating Security Payload EH.</t> | ||||
</section> | ||||
</section> | ||||
<section anchor="proto51" numbered="true" toc="default"> | ||||
<name>Authentication Header (Protocol Number=51)</name> | ||||
<section numbered="true" toc="default"> | ||||
<name>Uses</name> | ||||
<t>The Authentication Header can be employed to provide authenticati | ||||
on services in | ||||
IPv4 and IPv6.</t> | IPv4 and IPv6.</t> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | ||||
<section title="Specification"> | <name>Specification</name> | |||
<t>This EH is specified in <xref target="RFC4302"/>.</t> | <t>This EH is specified in <xref target="RFC4302" format="default"/> | |||
</section> | .</t> | |||
</section> | ||||
<section title="Specific Security Implications"> | <section numbered="true" toc="default"> | |||
<t>Besides the general implications of IPv6 EHs, this EH could be employed to po | <name>Specific Security Implications</name> | |||
tentially perform a DoS attack at the destination system by wasting CPU resource | <t>Besides the general implications of IPv6 EHs, this EH could be em | |||
s in validating the contents of the packet.</t> | ployed to potentially perform a DoS attack at the destination system by wasting | |||
</section> | CPU resources in validating the contents of the packet.</t> | |||
</section> | ||||
<section title="Operational and Interoperability Impact if Blocked"> | <section numbered="true" toc="default"> | |||
<t>Discarding packets that employ this EH would break IPsec deployments.</t> | <name>Operational and Interoperability Impact If Blocked</name> | |||
</section> | <t>Discarding packets that employ this EH would break IPsec deployme | |||
nts.</t> | ||||
<section title="Advice"> | </section> | |||
<t>Intermediate systems should permit packets containing an Authentication Heade | <section numbered="true" toc="default"> | |||
r.</t> | <name>Advice</name> | |||
</section> | <t>Intermediate systems should permit packets containing an Authenti | |||
</section> | cation Header.</t> | |||
</section> | ||||
<section title="Destination Options for IPv6 (Protocol Number=60)" anchor="proto | </section> | |||
60"> | <section anchor="proto60" numbered="true" toc="default"> | |||
<section title="Uses"> | <name>Destination Options (Protocol Number=60)</name> | |||
<t>The Destination Options header is used to carry optional information that nee | <section numbered="true" toc="default"> | |||
ds be examined only by a packet's destination node(s).</t> | <name>Uses</name> | |||
</section> | <t>The Destination Options (DO) header is used to carry optional inf | |||
ormation that needs be examined only by a packet's destination node(s).</t> | ||||
<section title="Specification"> | </section> | |||
<t>This EH is specified in <xref target="RFC8200"/>. As of May 2022, the followi | <section numbered="true" toc="default"> | |||
ng options have been specified for this EH: | <name>Specification</name> | |||
<t>This EH is specified in <xref target="RFC8200" format="default"/> | ||||
<list style="symbols"> | . As of May 2022, the following options have been specified for this EH: | |||
<t>Type 0x00: Pad1 <xref target="RFC8200"/></t> | ||||
<t>Type 0x01: PadN <xref target="RFC8200"/></t> | ||||
<t>Type 0x04: Tunnel Encapsulation Limit <xref target="RFC2473"/></t> | ||||
<t>Type 0x0F: IPv6 Performance and Diagnostic Metrics (PDM) <xref target="RFC825 | ||||
0"/></t> | ||||
<t>Type 0x4D: (Deprecated)</t> | ||||
<t>Type 0xC9: Home Address <xref target="RFC6275"/></t> | ||||
<t>Type 0x8A: Endpoint Identification (Deprecated) <xref target="draft-ietf-nimr | ||||
od-eid"/></t> | ||||
<t>Type 0x8B: ILNP Nonce <xref target="RFC6744"/></t> | ||||
<t>Type 0x8C: Line-Identification Option <xref target="RFC6788"/></t> | ||||
<t>Type 0x1E: RFC3692-style Experiment <xref target="RFC4727"/></t> | ||||
<t>Type 0x3E: RFC3692-style Experiment <xref target="RFC4727"/></t> | ||||
<t>Type 0x5E: RFC3692-style Experiment <xref target="RFC4727"/></t> | ||||
<t>Type 0x7E: RFC3692-style Experiment <xref target="RFC4727"/></t> | ||||
<t>Type 0x9E: RFC3692-style Experiment <xref target="RFC4727"/></t> | ||||
<t>Type 0xBE: RFC3692-style Experiment <xref target="RFC4727"/></t> | ||||
<t>Type 0xDE: RFC3692-style Experiment <xref target="RFC4727"/></t> | ||||
<t>Type 0xFE: RFC3692-style Experiment <xref target="RFC4727"/></t> | ||||
</list> | ||||
</t> | </t> | |||
</section> | <ul spacing="normal"> | |||
<li>Type 0x00: Pad1 <xref target="RFC8200" format="default"/></li> | ||||
<section title="Specific Security Implications"> | <li>Type 0x01: PadN <xref target="RFC8200" format="default"/></li> | |||
<t>No security implications are known, other than the general implications of IP | <li>Type 0x04: Tunnel Encapsulation Limit <xref target="RFC2473" f | |||
v6 EHs. For a discussion of possible security implications of specific options s | ormat="default"/></li> | |||
pecified for the DO header, please see the <xref target="opt-filtering"/>.</t> | <li>Type 0x0F: IPv6 Performance and Diagnostic Metrics (PDM) <xref | |||
</section> | target="RFC8250" format="default"/></li> | |||
<li>Type 0x4D: (Deprecated)</li> | ||||
<section title="Operational and Interoperability Impact if Blocked"> | <li>Type 0xC9: Home Address <xref target="RFC6275" format="default | |||
<t>Discarding packets that contain a Destination Options header would break prot | "/></li> | |||
ocols that rely on this EH type for conveying information, including protocols s | <li>Type 0x8A: Endpoint Identification (Deprecated) <xref target=" | |||
uch as ILNP <xref target="RFC6740"/> and Mobile IPv6 <xref target="RFC6275"/>, a | NIMROD-EID" format="default"/></li> | |||
nd IPv6 tunnels that employ the Tunnel Encapsulation Limit option.</t> | <li>Type 0x8B: ILNP Nonce <xref target="RFC6744" format="default"/ | |||
</section> | ></li> | |||
<li>Type 0x8C: Line-Identification Option <xref target="RFC6788" f | ||||
<section title="Advice"> | ormat="default"/></li> | |||
<t>Intermediate systems should permit packets that contain a Destination Options | <li>Type 0x1E: RFC3692-style Experiment <xref target="RFC4727" for | |||
Header.</t> | mat="default"/></li> | |||
</section> | <li>Type 0x3E: RFC3692-style Experiment <xref target="RFC4727" for | |||
</section> | mat="default"/></li> | |||
<li>Type 0x5E: RFC3692-style Experiment <xref target="RFC4727" for | ||||
<section title="Mobility Header (Protocol Number=135)" anchor="proto135"> | mat="default"/></li> | |||
<section title="Uses"> | <li>Type 0x7E: RFC3692-style Experiment <xref target="RFC4727" for | |||
<t>The Mobility Header is an EH used by mobile nodes, correspondent nodes, and h | mat="default"/></li> | |||
ome agents in all messaging related to the creation and management of bindings i | <li>Type 0x9E: RFC3692-style Experiment <xref target="RFC4727" for | |||
n Mobile IPv6.</t> | mat="default"/></li> | |||
</section> | <li>Type 0xBE: RFC3692-style Experiment <xref target="RFC4727" for | |||
mat="default"/></li> | ||||
<section title="Specification"> | <li>Type 0xDE: RFC3692-style Experiment <xref target="RFC4727" for | |||
<t>This EH is specified in <xref target="RFC6275"/>.</t> | mat="default"/></li> | |||
</section> | <li>Type 0xFE: RFC3692-style Experiment <xref target="RFC4727" for | |||
mat="default"/></li> | ||||
<section title="Specific Security Implications"> | </ul> | |||
<t>A thorough security assessment of the security implications of the Mobility H | </section> | |||
eader and related mechanisms can be found in Section 15 of <xref target="RFC6275 | <section numbered="true" toc="default"> | |||
"/>.</t> | <name>Specific Security Implications</name> | |||
</section> | <t>No security implications are known, other than the general securi | |||
ty implications of IPv6 EHs. For a discussion of possible security implications | ||||
<section title="Operational and Interoperability Impact if Blocked"> | of specific options specified for the DO header, please see <xref target="opt-fi | |||
<t>Discarding packets containing this EH would break Mobile IPv6.</t> | ltering" format="default"/>.</t> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | ||||
<section title="Advice"> | <name>Operational and Interoperability Impact If Blocked</name> | |||
<t>Intermediate systems should permit packets containing this EH.</t> | <t>Discarding packets that contain a Destination Options header woul | |||
</section> | d break protocols that rely on this EH type for conveying information (such as t | |||
</section> | he Identifier-Locator Network Protocol (ILNP) <xref target="RFC6740" format="def | |||
ault"/> and Mobile IPv6 <xref target="RFC6275" format="default"/>), as well as I | ||||
<section title="Host Identity Protocol (Protocol Number=139)" anchor="proto139"> | Pv6 tunnels that employ the Tunnel Encapsulation Limit option <xref target="RFC2 | |||
<section title="Uses"> | 473"/>.</t> | |||
<t>This EH is employed with the Host Identity Protocol (HIP), a protocol that al | </section> | |||
lows consenting hosts to securely establish and maintain shared IP-layer state, | <section numbered="true" toc="default"> | |||
allowing separation of the identifier and locator roles of IP addresses, thereby | <name>Advice</name> | |||
enabling continuity of communications across IP address changes.</t> | <t>Intermediate systems should permit packets that contain a Destina | |||
</section> | tion Options header.</t> | |||
</section> | ||||
<section title="Specification"> | </section> | |||
<t>This EH is specified in <xref target="RFC7401"/>.</t> | <section anchor="proto135" numbered="true" toc="default"> | |||
</section> | <name>Mobility Header (Protocol Number=135)</name> | |||
<section numbered="true" toc="default"> | ||||
<section title="Specific Security Implications"> | <name>Uses</name> | |||
<t>The security implications of the HIP header are discussed in detail in Sectio | <t>The Mobility Header is an EH used by mobile nodes, correspondent | |||
n 8 of <xref target="RFC6275"/>.</t> | nodes, and home agents in all messaging related to the creation and management o | |||
</section> | f bindings in Mobile IPv6.</t> | |||
</section> | ||||
<section title="Operational and Interoperability Impact if Blocked"> | <section numbered="true" toc="default"> | |||
<t>Discarding packets that contain the Host Identity Protocol would break HIP de | <name>Specification</name> | |||
ployments.</t> | <t>This EH is specified in <xref target="RFC6275" format="default"/> | |||
</section> | .</t> | |||
</section> | ||||
<section title="Advice"> | <section numbered="true" toc="default"> | |||
<t>Intermediate systems should permit packets that contain a Host Identity Proto | <name>Specific Security Implications</name> | |||
col EH.</t> | <t>A thorough security assessment of the security implications of th | |||
</section> | e Mobility Header and related mechanisms can be found in <xref target="RFC6275" | |||
</section> | sectionFormat="of" section="15"/>.</t> | |||
</section> | ||||
<section title="Shim6 Protocol (Protocol Number=140)" anchor="proto140"> | <section numbered="true" toc="default"> | |||
<section title="Uses"> | <name>Operational and Interoperability Impact If Blocked</name> | |||
<t>This EH is employed by the Shim6 <xref target="RFC5533"/> Protocol.</t> | <t>Discarding packets containing this EH would break Mobile IPv6.</t | |||
</section> | > | |||
</section> | ||||
<section title="Specification"> | <section numbered="true" toc="default"> | |||
<t>This EH is specified in <xref target="RFC5533"/>.</t> | <name>Advice</name> | |||
</section> | <t>Intermediate systems should permit packets that contain a Mobilit | |||
y Header.</t> | ||||
<section title="Specific Security Implications"> | </section> | |||
<t>The specific security implications are discussed in detail in Section 16 of < | </section> | |||
xref target="RFC5533"/>.</t> | <section anchor="proto139" numbered="true" toc="default"> | |||
</section> | <name>Host Identity Protocol (Protocol Number=139)</name> | |||
<section numbered="true" toc="default"> | ||||
<section title="Operational and Interoperability Impact if Blocked"> | <name>Uses</name> | |||
<t>Discarding packets that contain this EH will break Shim6.</t> | <t>This EH is employed with the Host Identity Protocol (HIP), which | |||
</section> | is a protocol that allows consenting hosts to securely establish and maintain sh | |||
ared IP-layer state, allowing the separation of the identifier and locator roles | ||||
<section title="Advice"> | of IP addresses, thereby enabling continuity of communications across IP addres | |||
<t>Intermediate systems should permit packets containing this EH.</t> | s changes.</t> | |||
</section> | </section> | |||
</section> | <section numbered="true" toc="default"> | |||
<name>Specification</name> | ||||
<section title="Use for experimentation and testing (Protocol Numbers=253 and 25 | <t>This EH is specified in <xref target="RFC7401" format="default"/> | |||
4)" anchor="proto253254"> | .</t> | |||
<section title="Uses"> | </section> | |||
<t>These IPv6 EHs are employed for performing RFC3692-Style experiments (see <xr | <section numbered="true" toc="default"> | |||
ef target="RFC3692"/> for details).</t> | <name>Specific Security Implications</name> | |||
</section> | <t>The security implications of the HIP header are discussed in deta | |||
il in <xref target="RFC7401" sectionFormat="of" section="8"/>.</t> | ||||
<section title="Specification"> | </section> | |||
<t>These EHs are specified in <xref target="RFC3692"/> and <xref target="RFC4727 | <section numbered="true" toc="default"> | |||
"/>.</t> | <name>Operational and Interoperability Impact If Blocked</name> | |||
</section> | <t>Discarding packets that contain a HIP header would break HIP depl | |||
oyments.</t> | ||||
<section title="Specific Security Implications"> | </section> | |||
<t>The security implications of these EHs will depend on their specific use.</t> | <section numbered="true" toc="default"> | |||
</section> | <name>Advice</name> | |||
<t>Intermediate systems should permit packets that contain a HIP hea | ||||
<section title="Operational and Interoperability Impact if Blocked"> | der.</t> | |||
<t>For obvious reasons, discarding packets that contain these EHs limits the abi | </section> | |||
lity to perform legitimate experiments across IPv6 routers. | </section> | |||
<section anchor="proto140" numbered="true" toc="default"> | ||||
<name>Shim6 Protocol (Protocol Number=140)</name> | ||||
<section numbered="true" toc="default"> | ||||
<name>Uses</name> | ||||
<t>This EH is employed by the Shim6 protocol <xref target="RFC5533" | ||||
format="default"/>.</t> | ||||
</section> | ||||
<section numbered="true" toc="default"> | ||||
<name>Specification</name> | ||||
<t>This EH is specified in <xref target="RFC5533" format="default"/> | ||||
.</t> | ||||
</section> | ||||
<section numbered="true" toc="default"> | ||||
<name>Specific Security Implications</name> | ||||
<t>The specific security implications are discussed in detail in <xr | ||||
ef target="RFC5533" sectionFormat="of" section="16"/>.</t> | ||||
</section> | ||||
<section numbered="true" toc="default"> | ||||
<name>Operational and Interoperability Impact If Blocked</name> | ||||
<t>Discarding packets that contain this EH will break Shim6.</t> | ||||
</section> | ||||
<section numbered="true" toc="default"> | ||||
<name>Advice</name> | ||||
<t>Intermediate systems should permit packets containing this EH.</t | ||||
> | ||||
</section> | ||||
</section> | ||||
<section anchor="proto253254" numbered="true" toc="default"> | ||||
<name>Use for Experimentation and Testing (Protocol Numbers=253 and 25 | ||||
4)</name> | ||||
<section numbered="true" toc="default"> | ||||
<name>Uses</name> | ||||
<t>These IPv6 EHs are employed for performing RFC3692-style experime | ||||
nts (see <xref target="RFC3692" format="default"/> for details).</t> | ||||
</section> | ||||
<section numbered="true" toc="default"> | ||||
<name>Specification</name> | ||||
<t>These EHs are specified in <xref target="RFC3692" format="default | ||||
"/> and <xref target="RFC4727" format="default"/>.</t> | ||||
</section> | ||||
<section numbered="true" toc="default"> | ||||
<name>Specific Security Implications</name> | ||||
<t>The security implications of these EHs will depend on their speci | ||||
fic use.</t> | ||||
</section> | ||||
<section numbered="true" toc="default"> | ||||
<name>Operational and Interoperability Impact If Blocked</name> | ||||
<t>For obvious reasons, discarding packets that contain these EHs li | ||||
mits the ability to perform legitimate experiments across IPv6 routers. | ||||
</t> | </t> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | ||||
<section title="Advice"> | <name>Advice</name> | |||
<t>Operators should determine according to their own circumstances whether to di | <t>Operators should determine, according to their own circumstances, | |||
scard packets containing these EHs.</t> | whether to discard packets containing these EHs.</t> | |||
<!-- | ||||
<t>Intermediate systems should discard packets containing these EHs. Only in spe | ||||
cific scenarios in which RFC3692-Style experiments are to be performed should th | ||||
ese EHs be permitted.</t> --> | ||||
</section> | ||||
</section> | ||||
</section> | </section> | |||
<section title="Advice on the Handling of Packets with Unknown IPv6 Extension He | </section> | |||
aders" anchor="unknown-headers"> | </section> | |||
<t>We refer to IPv6 EHs that have not been assigned an Internet Protocol Number | <section anchor="unknown-headers" numbered="true" toc="default"> | |||
by IANA (and marked as such) in <xref target="IANA-PROTOCOLS"/> as "unknown IPv6 | <name>Advice on the Handling of Packets with Unknown IPv6 Extension Head | |||
extension headers" ("unknown IPv6 EHs"). | ers</name> | |||
<t>We refer to IPv6 EHs that have not been assigned an Internet Protocol | ||||
number by IANA (and marked as such) in <xref target="IANA-PROTOCOLS" format="de | ||||
fault"/> as "unknown IPv6 Extension Headers" ("unknown IPv6 EHs"). | ||||
</t> | </t> | |||
<section numbered="true" toc="default"> | ||||
<section title="Uses"> | <name>Uses</name> | |||
<t>New IPv6 EHs may be specified as part of future extensions to the IPv6 protoc | <t>New IPv6 EHs may be specified as part of future extensions to the I | |||
ol. | Pv6 protocol. | |||
</t> | </t> | |||
<t>Since IPv6 EHs and upper-layer protocols employ the same namespace, | ||||
<t>Since IPv6 EHs and Upper-layer protocols employ the same namespace, it is imp | it is impossible to tell whether an unknown Internet Protocol number is being e | |||
ossible to tell whether an unknown "Internet Protocol Number" is being employed | mployed for an IPv6 EH or an upper-layer protocol. | |||
for an IPv6 EH or an Upper-Layer protocol. | ||||
</t> | </t> | |||
</section> | ||||
</section> | <section numbered="true" toc="default"> | |||
<name>Specification</name> | ||||
<section title="Specification"> | <t>The processing of unknown IPv6 EHs is specified in <xref target="RF | |||
<t>The processing of unknown IPv6 EHs is specified in <xref target="RFC7045"/>.< | C7045" format="default"/>.</t> | |||
/t> | </section> | |||
</section> | <section numbered="true" toc="default"> | |||
<name>Specific Security Implications</name> | ||||
<section title="Specific Security Implications"> | <t>For obvious reasons, it is impossible to determine specific securit | |||
<t>For obvious reasons, it is impossible to determine specific security implicat | y implications of unknown IPv6 EHs.</t> | |||
ions of unknown IPv6 EHs.</t> | </section> | |||
</section> | <section numbered="true" toc="default"> | |||
<name>Operational and Interoperability Impact If Blocked</name> | ||||
<section title="Operational and Interoperability Impact if Blocked"> | <t>As noted in <xref target="RFC7045" format="default"/>, discarding u | |||
<t>As noted in <xref target="RFC7045"/>, discarding unknown IPv6 EHs may slow do | nknown IPv6 EHs may slow down the deployment of new IPv6 EHs and transport proto | |||
wn the deployment of new IPv6 EHs and transport protocols. The corresponding IAN | cols. The corresponding IANA registry, which is <xref target="IANA-PROTOCOLS" fo | |||
A registry (<xref target="IANA-PROTOCOLS"/>) should be monitored such that filte | rmat="default"/>, should be monitored such that filtering rules are updated as n | |||
ring rules are updated as new IPv6 EHs are standardized.</t> | ew IPv6 EHs are standardized.</t> | |||
<t>We note that since IPv6 EHs and upper-layer protocols share the sam | ||||
<t>We note that since IPv6 EHs and upper-layer protocols share the same numberin | e numbering space, discarding unknown IPv6 EHs may result in packets encapsulati | |||
g space, discarding unknown IPv6 EHs may result in packets encapsulating unknown | ng unknown upper-layer protocols being discarded. | |||
upper-layer protocols being discarded. | ||||
</t> | </t> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | ||||
<section title="Advice"> | <name>Advice</name> | |||
<t>Operators should determine according to their own circumstances whether to di | <t>Operators should determine, according to their own circumstances, w | |||
scard packets containing unknown IPv6 EHs.</t> | hether to discard packets containing unknown IPv6 EHs.</t> | |||
</section> | </section> | |||
</section> | ||||
</section> | </section> | |||
<section anchor="ipv6-options-discussion" numbered="true" toc="default"> | ||||
</section> | <name>IPv6 Options</name> | |||
<section anchor="ipv6-options-general-discussion" numbered="true" toc="def | ||||
<section title="IPv6 Options" anchor="ipv6-options-discussion"> | ault"> | |||
<section title="General Discussion" anchor="ipv6-options-general-discussion"> | <name>General Discussion</name> | |||
<t>The following subsections describe specific security implications of differen | <t>The following subsections describe specific security implications of | |||
t IPv6 options, and provide advice regarding filtering packets that contain such | different IPv6 options and provide advice regarding filtering packets that conta | |||
options. | in such options. | |||
</t> | </t> | |||
</section> | </section> | |||
<section anchor="ipv6-options-general-implications" numbered="true" toc="d | ||||
<section title="General Security Implications of IPv6 Options" anchor="ipv6-opti | efault"> | |||
ons-general-implications"> | <name>General Security Implications of IPv6 Options</name> | |||
<t>The general security implications of IPv6 options are closely related to thos | <t>The general security implications of IPv6 options are closely related | |||
e discussed in <xref target="ipv6-eh-general-implications"/> for IPv6 EHs. Essen | to those discussed in <xref target="ipv6-eh-general-implications" format="defau | |||
tially, packets that contain IPv6 options might need to be processed by an IPv6 | lt"/> for IPv6 EHs. Essentially, packets that contain IPv6 options might need to | |||
router's general-purpose CPU,and hence could present a DDoS risk to that router' | be processed by an IPv6 router's general-purpose CPU and, hence, could present | |||
s general-purpose CPU (and thus to the router itself). For some architectures, a | a Distributed Denial-of-Service (DDoS) risk to that router's general-purpose CPU | |||
possible mitigation would be to rate-limit the packets that are to be processed | (and thus to the router itself). For some architectures, a possible mitigation | |||
by the general-purpose CPU (see e.g. <xref target="Cisco-EH"/>).</t> | would be to rate-limit the packets that are to be processed by the general-purpo | |||
</section> | se CPU (see, e.g., <xref target="Cisco-EH" format="default"/>).</t> | |||
</section> | ||||
<section title="Summary of Advice on the Handling of IPv6 Packets with Specific | <section numbered="true" toc="default"> | |||
IPv6 Extension Headers"> | <name>Summary of Advice on the Handling of IPv6 Packets with Specific IP | |||
<t>This section summarizes the advice provided in <xref target="advice-ehs"/>, p | v6 Options</name> | |||
roviding references to the specific sections in which a detailed analysis can be | <t>This section summarizes the advice provided in <xref target="opt-filt | |||
found.</t> | ering" format="default"/>, and it includes references to the specific sections i | |||
n which a detailed analysis can be found.</t> | ||||
<texttable title="Summary of Advice on the Handling of IPv6 Packets with Spe | <table anchor="option-table" align="center"> | |||
cific IPv6 options" style="all" anchor="option-table"> | <name>Summary of Advice on the Handling of IPv6 Packets with Specific | |||
<ttcol align="center">Option</ttcol> | IPv6 Options</name> | |||
<ttcol align="center">Filtering policy</ttcol> | <thead> | |||
<ttcol align="center">Reference</ttcol> | <tr> | |||
<c>Pad1 (Type=0x00)</c><c>Permit</c><c><xref target="x00"/></c> | <th align="center">Option</th> | |||
<c>PadN (Type=0x01)</c><c>Permit</c><c><xref target="x01"/></c> | <th align="center">Filtering Policy</th> | |||
<c>Tunnel Encapsulation Limit (Type=0x04)</c><c>Permit</c><c><xref target="x04"/ | <th align="center">Reference</th> | |||
></c> | </tr> | |||
<c>Router Alert (Type=0x05)</c><c>Permit based on needed functionality</c><c><xr | </thead> | |||
ef target="x05"/></c> | <tbody> | |||
<c>CALIPSO (Type=0x07)</c><c>Permit based on needed functionality</c><c><xref ta | <tr> | |||
rget="x07"/></c> | <td align="center">Pad1 (Type=0x00)</td> | |||
<c>SMF_DPD (Type=0x08)</c><c>Permit based on needed functionality</c><c><xref ta | <td align="center">Permit</td> | |||
rget="x08"/></c> | <td align="center"> | |||
<c>PDM Option (Type=0x0F)</c><c>Permit</c><c><xref target="x0F"/></c> | <xref target="x00" format="default"/></td> | |||
<c>RPL Option (Type=0x23)</c><c>Permit</c><c><xref target="x23"/></c> | </tr> | |||
<c>Quick-Start (Type=0x26)</c><c>Permit</c><c><xref target="x26"/></c> | <tr> | |||
<c>Deprecated (Type=0x4D)</c><c>Drop</c><c><xref target="x4D"/></c> | <td align="center">PadN (Type=0x01)</td> | |||
<c>MPL Option (Type=0x6D)</c><c>Permit</c><c><xref target="x6D"/></c> | <td align="center">Permit</td> | |||
<c>Jumbo Payload (Type=0C2)</c><c>Permit based on needed functionality</c><c><xr | <td align="center"> | |||
ef target="xC2"/></c> | <xref target="x01" format="default"/></td> | |||
<c>RPL Option (Type=0x63)</c><c>Drop in non-RPL routers</c><c><xref target="x63" | </tr> | |||
/></c> | <tr> | |||
<c>Endpoint Identification (Type=0x8A)</c><c>Drop</c><c><xref target="x8A"/></c> | <td align="center">Tunnel Encapsulation Limit (Type=0x04)</td> | |||
<c>ILNP Nonce (Type=0x8B)</c><c>Permit</c><c><xref target="x8B"/></c> | <td align="center">Permit</td> | |||
<c>Line-Identification Option (Type=0x8C)</c><c>Drop</c><c><xref target="x8C"/>< | <td align="center"> | |||
/c> | <xref target="x04" format="default"/></td> | |||
<c>Home Address (Type=0xC9)</c><c>Permit</c><c><xref target="xC9"/></c> | </tr> | |||
<c>IP_DFF (Type=0xEE)</c><c>Permit based on needed functionality</c><c><xref tar | <tr> | |||
get="xEE"/></c> | <td align="center">Router Alert (Type=0x05)</td> | |||
<c>RFC3692-style Experiment (Types = 0x1E, 0x3E, 0x5E, 0x7E, 0x9E, 0xBE, 0xDE, 0 | <td align="center">Permit based on needed functionality</td> | |||
xFE)</c><c>Permit based on needed functionality</c><c><xref target="x1E"/></c> | <td align="center"> | |||
<xref target="x05" format="default"/></td> | ||||
</texttable> | </tr> | |||
<tr> | ||||
</section> | <td align="center">CALIPSO (Type=0x07)</td> | |||
<td align="center">Permit based on needed functionality</td> | ||||
<section title="Advice on the Handling of Packets with Specific IPv6 Options" an | <td align="center"> | |||
chor="opt-filtering"> | <xref target="x07" format="default"/></td> | |||
<t>The following subsections contain a description of each of the IPv6 options t | </tr> | |||
hat have so far been specified, a summary of the security implications of each o | <tr> | |||
f such options, a discussion of possible | <td align="center">SMF_DPD (Type=0x08)</td> | |||
<td align="center">Permit based on needed functionality</td> | ||||
<td align="center"> | ||||
<xref target="x08" format="default"/></td> | ||||
</tr> | ||||
<tr> | ||||
<td align="center">PDM Option (Type=0x0F)</td> | ||||
<td align="center">Permit</td> | ||||
<td align="center"> | ||||
<xref target="x0F" format="default"/></td> | ||||
</tr> | ||||
<tr> | ||||
<td align="center">RPL Option (Type=0x23)</td> | ||||
<td align="center">Permit</td> | ||||
<td align="center"> | ||||
<xref target="x23" format="default"/></td> | ||||
</tr> | ||||
<tr> | ||||
<td align="center">Quick-Start (Type=0x26)</td> | ||||
<td align="center">Permit</td> | ||||
<td align="center"> | ||||
<xref target="x26" format="default"/></td> | ||||
</tr> | ||||
<tr> | ||||
<td align="center">Deprecated (Type=0x4D)</td> | ||||
<td align="center">Drop</td> | ||||
<td align="center"> | ||||
<xref target="x4D" format="default"/></td> | ||||
</tr> | ||||
<tr> | ||||
<td align="center">MPL Option (Type=0x6D)</td> | ||||
<td align="center">Permit</td> | ||||
<td align="center"> | ||||
<xref target="x6D" format="default"/></td> | ||||
</tr> | ||||
<tr> | ||||
<td align="center">Jumbo Payload (Type=0xC2)</td> | ||||
<td align="center">Permit based on needed functionality</td> | ||||
<td align="center"> | ||||
<xref target="xC2" format="default"/></td> | ||||
</tr> | ||||
<tr> | ||||
<td align="center">RPL Option (Type=0x63)</td> | ||||
<td align="center">Drop</td> | ||||
<td align="center"> | ||||
<xref target="x63" format="default"/></td> | ||||
</tr> | ||||
<tr> | ||||
<td align="center">Endpoint Identification (Type=0x8A)</td> | ||||
<td align="center">Drop</td> | ||||
<td align="center"> | ||||
<xref target="x8A" format="default"/></td> | ||||
</tr> | ||||
<tr> | ||||
<td align="center">ILNP Nonce (Type=0x8B)</td> | ||||
<td align="center">Permit</td> | ||||
<td align="center"> | ||||
<xref target="x8B" format="default"/></td> | ||||
</tr> | ||||
<tr> | ||||
<td align="center">Line-Identification Option (Type=0x8C)</td> | ||||
<td align="center">Drop</td> | ||||
<td align="center"> | ||||
<xref target="x8C" format="default"/></td> | ||||
</tr> | ||||
<tr> | ||||
<td align="center">Home Address (Type=0xC9)</td> | ||||
<td align="center">Permit</td> | ||||
<td align="center"> | ||||
<xref target="xC9" format="default"/></td> | ||||
</tr> | ||||
<tr> | ||||
<td align="center">IP_DFF (Type=0xEE)</td> | ||||
<td align="center">Permit based on needed functionality</td> | ||||
<td align="center"> | ||||
<xref target="xEE" format="default"/></td> | ||||
</tr> | ||||
<tr> | ||||
<td align="center">RFC3692-style Experiment (Types = 0x1E, 0x3E, 0 | ||||
x5E, 0x7E, 0x9E, 0xBE, 0xDE, 0xFE)</td> | ||||
<td align="center">Permit based on needed functionality</td> | ||||
<td align="center"> | ||||
<xref target="x1E" format="default"/></td> | ||||
</tr> | ||||
</tbody> | ||||
</table> | ||||
</section> | ||||
<section anchor="opt-filtering" numbered="true" toc="default"> | ||||
<name>Advice on the Handling of Packets with Specific IPv6 Options</name | ||||
> | ||||
<t>The following subsections contain a description of each of the IPv6 o | ||||
ptions that have so far been specified, a summary of the security implications o | ||||
f each of such options, a discussion of possible | ||||
interoperability implications if packets containing such options are | interoperability implications if packets containing such options are | |||
discarded, and specific advice regarding whether packets containing these op tions should be permitted.</t> | discarded, and specific advice regarding whether packets containing these op tions should be permitted.</t> | |||
<section anchor="x00" numbered="true" toc="default"> | ||||
<section title="Pad1 (Type=0x00)" anchor="x00"> | <name>Pad1 (Type=0x00)</name> | |||
<section title="Uses"> | <section numbered="true" toc="default"> | |||
<t>This option is used when necessary to align subsequent options and to pad out | <name>Uses</name> | |||
the containing header to a multiple of 8 octets in length.</t> | <t>This option is used when necessary to align subsequent options an | |||
</section> | d to pad out the containing header to a multiple of 8 octets in length.</t> | |||
</section> | ||||
<section title="Specification"> | <section numbered="true" toc="default"> | |||
<t>This option is specified in <xref target="RFC8200"/>.</t> | <name>Specification</name> | |||
</section> | <t>This option is specified in <xref target="RFC8200" format="defaul | |||
t"/>.</t> | ||||
<section title="Specific Security Implications"> | </section> | |||
<t>None.</t> | <section numbered="true" toc="default"> | |||
</section> | <name>Specific Security Implications</name> | |||
<t>None.</t> | ||||
<section title="Operational and Interoperability Impact if Blocked"> | </section> | |||
<t>Discarding packets that contain this option would potentially break any proto | <section numbered="true" toc="default"> | |||
col that relies on IPv6 options.</t> | <name>Operational and Interoperability Impact If Blocked</name> | |||
</section> | <t>Discarding packets that contain this option would potentially bre | |||
ak any protocol that relies on IPv6 options.</t> | ||||
<section title="Advice"> | </section> | |||
<t>Intermediate systems should not discard packets based on the presence of this | <section numbered="true" toc="default"> | |||
option.</t> | <name>Advice</name> | |||
</section> | <t>Intermediate systems should not discard packets based on the pres | |||
</section> | ence of this option.</t> | |||
</section> | ||||
<section title="PadN (Type=0x01)" anchor="x01"> | </section> | |||
<section title="Uses"> | <section anchor="x01" numbered="true" toc="default"> | |||
<t>This option is used when necessary to align subsequent options and to pad out | <name>PadN (Type=0x01)</name> | |||
the containing header to a multiple of 8 octets in length.</t> | <section numbered="true" toc="default"> | |||
</section> | <name>Uses</name> | |||
<t>This option is used when necessary to align subsequent options an | ||||
<section title="Specification"> | d to pad out the containing header to a multiple of 8 octets in length.</t> | |||
<t>This option is specified in <xref target="RFC8200"/>.</t> | </section> | |||
</section> | <section numbered="true" toc="default"> | |||
<name>Specification</name> | ||||
<section title="Specific Security Implications"> | <t>This option is specified in <xref target="RFC8200" format="defaul | |||
<t>Because of the possible size of this option, it could be leveraged as a large | t"/>.</t> | |||
-bandwidth covert channel.</t> | </section> | |||
</section> | <section numbered="true" toc="default"> | |||
<name>Specific Security Implications</name> | ||||
<section title="Operational and Interoperability Impact if Blocked"> | <t>Because of the possible size of this option, it could be leverage | |||
<t>Discarding packets that contain this option would potentially break any proto | d as a large-bandwidth covert channel.</t> | |||
col that relies on IPv6 options.</t> | </section> | |||
</section> | <section numbered="true" toc="default"> | |||
<name>Operational and Interoperability Impact If Blocked</name> | ||||
<section title="Advice"> | <t>Discarding packets that contain this option would potentially bre | |||
<t>Intermediate systems should not discard IPv6 packets based on the presence of | ak any protocol that relies on IPv6 options.</t> | |||
this option.</t> | </section> | |||
</section> | <section numbered="true" toc="default"> | |||
</section> | <name>Advice</name> | |||
<t>Intermediate systems should not discard IPv6 packets based on the | ||||
<section title="Tunnel Encapsulation Limit (Type=0x04)" anchor="x04"> | presence of this option.</t> | |||
<section title="Uses"> | </section> | |||
<t>The Tunnel Encapsulation Limit option can be employed to specify how many fur | </section> | |||
ther levels of nesting the packet is permitted to undergo.</t> | <section anchor="x04" numbered="true" toc="default"> | |||
</section> | <name>Tunnel Encapsulation Limit (Type=0x04)</name> | |||
<section numbered="true" toc="default"> | ||||
<section title="Specification"> | <name>Uses</name> | |||
<t>This option is specified in <xref target="RFC2473"/>.</t> | <t>The Tunnel Encapsulation Limit option can be employed to specify | |||
</section> | how many further levels of nesting the packet is permitted to undergo.</t> | |||
</section> | ||||
<section title="Specific Security Implications"> | <section numbered="true" toc="default"> | |||
<t>Those described in <xref target="RFC2473"/>.</t> | <name>Specification</name> | |||
</section> | <t>This option is specified in <xref target="RFC2473" format="defaul | |||
t"/>.</t> | ||||
<section title="Operational and Interoperability Impact if Blocked"> | </section> | |||
<t>Discarding packets based on the presence of this option could result in tunne | <section numbered="true" toc="default"> | |||
l traffic being discarded.</t> | <name>Specific Security Implications</name> | |||
</section> | <t>These are discussed in <xref target="RFC2473" format="default"/>. | |||
</t> | ||||
<section title="Advice"> | </section> | |||
<t>Intermediate systems should not discard packets based on the presence of this | <section numbered="true" toc="default"> | |||
option.</t> | <name>Operational and Interoperability Impact If Blocked</name> | |||
</section> | <t>Discarding packets based on the presence of this option could res | |||
</section> | ult in tunnel traffic being discarded.</t> | |||
</section> | ||||
<section title="Router Alert (Type=0x05)" anchor="x05"> | <section numbered="true" toc="default"> | |||
<section title="Uses"> | <name>Advice</name> | |||
<t>The Router Alert option <xref target="RFC2711"/> is employed by a number of p | <t>Intermediate systems should not discard packets based on the pres | |||
rotocols, including the Resource reSerVation Protocol (RSVP) <xref target="RFC22 | ence of this option.</t> | |||
05"/>, Multicast Listener Discovery (MLD) <xref target="RFC2710"/> <xref target= | </section> | |||
"RFC3810"/>, Multicast Router Discovery (MRD) <xref target="RFC4286"/>, and Gene | </section> | |||
ral Internet Signaling Transport (GIST) <xref target="RFC5971"/>. Its usage is d | <section anchor="x05" numbered="true" toc="default"> | |||
iscussed in detail in <xref target="RFC6398"/>. | <name>Router Alert (Type=0x05)</name> | |||
<section numbered="true" toc="default"> | ||||
<name>Uses</name> | ||||
<t>The Router Alert option <xref target="RFC2711" format="default"/> | ||||
is employed by a number of protocols, including the Resource reSerVation Protoc | ||||
ol (RSVP) <xref target="RFC2205" format="default"/>, Multicast Listener Discover | ||||
y (MLD) <xref target="RFC2710" format="default"/> <xref target="RFC3810" format= | ||||
"default"/>, Multicast Router Discovery (MRD) <xref target="RFC4286" format="def | ||||
ault"/>, and General Internet Signaling Transport (GIST) <xref target="RFC5971" | ||||
format="default"/>. Its usage is discussed in detail in <xref target="RFC6398" f | ||||
ormat="default"/>. | ||||
</t> | </t> | |||
</section> | ||||
</section> | <section numbered="true" toc="default"> | |||
<name>Specification</name> | ||||
<section title="Specification"> | <t>This option is specified in <xref target="RFC2711" format="defaul | |||
<t>This option is specified in <xref target="RFC2711"/>.</t> | t"/>.</t> | |||
</section> | </section> | |||
<section anchor="ra-usage" numbered="true" toc="default"> | ||||
<section title="Specific Security Implications" anchor="ra-usage"> | <name>Specific Security Implications</name> | |||
<t>Since this option causes the contents of the packet to be inspected by the ha | <t>Since this option causes the contents of the packet to be inspect | |||
ndling device, this option could be leveraged for performing DoS attacks. The se | ed by the handling device, this option could be leveraged for performing DoS att | |||
curity implications of the Router Alert option are discussed in detail in <xref | acks. The security implications of the Router Alert option are discussed in deta | |||
target="RFC6398"/>.</t> | il in <xref target="RFC6398" format="default"/>.</t> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | ||||
<section title="Operational and Interoperability Impact if Blocked"> | <name>Operational and Interoperability Impact If Blocked</name> | |||
<t>Discarding packets that contain this option would break any protocols that re | <t>Discarding packets that contain this option would break any proto | |||
ly on them, such as RSVP and multicast deployments. Please see <xref target="ra- | cols that rely on them, such as RSVP and multicast deployments. Please see <xref | |||
usage"/> for further details.</t> | target="ra-usage" format="default"/> for further details.</t> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | ||||
<section title="Advice"> | <name>Advice</name> | |||
<t>Packets containing this option should be permitted in environments where supp | <t>Packets containing this option should be permitted in environment | |||
ort for RSVP, multicast routing, or similar protocols is desired.</t> | s where support for RSVP, multicast routing, or similar protocols is required.</ | |||
</section> | t> | |||
</section> | </section> | |||
</section> | ||||
<section title="CALIPSO (Type=0x07)" anchor="x07"> | <section anchor="x07" numbered="true" toc="default"> | |||
<section title="Uses"> | <name>CALIPSO (Type=0x07)</name> | |||
<t>This option is used for encoding explicit packet Sensitivity Labels on IPv6 p | <section numbered="true" toc="default"> | |||
ackets. It is intended for use only within Multi-Level Secure (MLS) networking | <name>Uses</name> | |||
environments that are both trusted and trustworthy.</t> | <t>This option is used for encoding explicit packet Sensitivity Labe | |||
</section> | ls on IPv6 packets. It is intended for use only within Multi-Level Secure (MLS) | |||
networking environments that are both trusted and trustworthy.</t> | ||||
<section title="Specification"> | </section> | |||
<t>This option is specified in <xref target="RFC5570"/>.</t> | <section numbered="true" toc="default"> | |||
</section> | <name>Specification</name> | |||
<t>This option is specified in <xref target="RFC5570" format="defaul | ||||
<section title="Specific Security Implications"> | t"/>.</t> | |||
<t>Presence of this option in a packet does not by itself create any | </section> | |||
<section numbered="true" toc="default"> | ||||
<name>Specific Security Implications</name> | ||||
<t>Presence of this option in a packet does not by itself create any | ||||
specific new threat. Packets with this option ought not normally be | specific new threat. Packets with this option ought not normally be | |||
seen on the global public Internet.</t> | seen on the global public Internet.</t> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | ||||
<section title="Operational and Interoperability Impact if Blocked"> | <name>Operational and Interoperability Impact If Blocked</name> | |||
<t>If packets with this option are discarded or if the option is | <t>If packets with this option are discarded or if the option is | |||
stripped from the packet during transmission from source to | stripped from the packet during transmission from source to | |||
destination, then the packet itself is likely to be discarded by the | destination, then the packet itself is likely to be discarded by the | |||
receiver because it is not properly labeled. In some cases, the | receiver because it is not properly labeled. In some cases, the | |||
receiver might receive the packet but associate an incorrect | receiver might receive the packet but associate an incorrect | |||
sensitivity label with the received data from the packet whose CALIPSO | Sensitivity Label with the received data from the packet whose Common | |||
was stripped by a middle-box (such as a packet-scrubber). Associating | Architecture Label | |||
an | IPv6 Security Option (CALIPSO) | |||
incorrect sensitivity label can cause the received information | was stripped by a middlebox (such as a packet scrubber). Associating a | |||
either to be handled as more sensitive than it really is | n | |||
incorrect Sensitivity Label can cause the received information | ||||
to be handled either as more sensitive than it really is | ||||
("upgrading") or as less sensitive than it really is | ("upgrading") or as less sensitive than it really is | |||
("downgrading"), either of which is problematic. As noted in <xref tar | ("downgrading"), either of which is problematic. As noted in <xref t | |||
get="RFC5570"/>, IPsec <xref target="RFC4301"/> <xref target="RFC4302"/> <xref t | arget="RFC5570" format="default"/>, IPsec <xref target="RFC4301" format="default | |||
arget="RFC4303"/> can be employed to protect the CALIPSO option.</t> | "/> <xref target="RFC4302" format="default"/> <xref target="RFC4303" format="def | |||
</section> | ault"/> can be employed to protect the CALIPSO.</t> | |||
</section> | ||||
<section title="Advice"> | <section numbered="true" toc="default"> | |||
<t> | <name>Advice</name> | |||
Recommendations for handling the CALIPSO option depend on the deployment environ | <t> | |||
ment, rather than whether an intermediate system | Recommendations for handling the CALIPSO depend on the deployment environment ra | |||
ther than on whether an intermediate system | ||||
happens to be deployed as a transit device (e.g., IPv6 transit router).</t> | happens to be deployed as a transit device (e.g., IPv6 transit router).</t> | |||
<t>Explicit configuration is the only method via which an intermedia | ||||
<t>Explicit configuration is the only method via which an intermediate system | te system | |||
can know whether that particular intermediate system has been | can know whether that particular intermediate system has been | |||
deployed within a Multi-Level Secure (MLS) environment. In many cases, | deployed within an MLS environment. In many cases, | |||
ordinary commercial intermediate systems (e.g., IPv6 routers and firewalls) | ordinary commercial intermediate systems (e.g., IPv6 routers and firewalls) | |||
are the majority of the deployed intermediate systems inside an MLS | are the majority of the deployed intermediate systems inside an MLS | |||
network environment. </t> | network environment. </t> | |||
<t>For intermediate systems that DO NOT implement <xref target="RFC5 | ||||
<t>For Intermediate systems that DO NOT implement <xref target="RFC5570"/>, ther | 570" format="default"/>, there | |||
e | should be a configuration option to either (a) drop packets containing | |||
should be a configuration option to EITHER (a) drop packets containing | the CALIPSO or (b) ignore the presence of the CALIPSO | |||
the CALIPSO option OR (b) to ignore the presence of the CALIPSO option | ||||
and forward the packets normally. In non-MLS environments, such | and forward the packets normally. In non-MLS environments, such | |||
intermediate systems should have this configuration option set to (a) | intermediate systems should have this configuration option set to (a) | |||
above. In MLS environments, such intermediate systems should | above. In MLS environments, such intermediate systems should | |||
have this option set to (b) above. The default setting for this configuration | have this option set to (b) above. The default setting for this configuration | |||
option should be set to (a) above, because MLS environments are much | option should be set to (a) above, because MLS environments are much | |||
less common than non-MLS environments. | less common than non-MLS environments. | |||
</t> | </t> | |||
<t>For intermediate systems that DO implement <xref target="RFC5570" | ||||
<t>For Intermediate systems that DO implement <xref target="RFC5570"/>, there sh | format="default"/>, there should | |||
ould | ||||
be configuration options (a) and (b) from the preceding paragraph and | be configuration options (a) and (b) from the preceding paragraph and | |||
also a third configuration option (c) to process packets containing | also a third configuration option (c) to process packets containing | |||
a CALIPSO option as per <xref target="RFC5570"/>. When deployed in non-MLS | a CALIPSO as per <xref target="RFC5570" format="default"/>. When deployed in n on-MLS | |||
environments, such intermediate systems should have this configuration | environments, such intermediate systems should have this configuration | |||
option set to (a) above. When deployed in MLS environments, such | option set to (a) above. When deployed in MLS environments, such | |||
intermediate systems should have this set to (c). The default setting | intermediate systems should have this configuration option set to (c). The def | |||
for this configuration option MAY be set to (a) above, because MLS | ault setting | |||
for this configuration option <bcp14>MAY</bcp14> be set to (a) above, because M | ||||
LS | ||||
environments are much less common than non-MLS environments. | environments are much less common than non-MLS environments. | |||
</t> | </t> | |||
</section> | </section> | |||
</section> | </section> | |||
<section anchor="x08" numbered="true" toc="default"> | ||||
<section title="SMF_DPD (Type=0x08)" anchor="x08"> | <name>SMF_DPD (Type=0x08)</name> | |||
<section title="Uses"> | <section numbered="true" toc="default"> | |||
<t>This option is employed in the (experimental) Simplified Multicast Forwarding | <name>Uses</name> | |||
(SMF) for unique packet identification for IPv6 I-DPD, and as a mechanism to gu | <t>This option is employed in the (experimental) Simplified Multicas | |||
arantee non-collision of hash values for different packets when H-DPD is used.</ | t Forwarding (SMF) for unique packet identification for IPv6 Identification-base | |||
t> | d DPD (I-DPD) and as a mechanism to guarantee non-collision of hash values for d | |||
</section> | ifferent packets when Hash-based DPD (H-DPD) is used.</t> | |||
</section> | ||||
<section title="Specification"> | <section numbered="true" toc="default"> | |||
<t>This option is specified in <xref target="RFC6621"/>.</t> | <name>Specification</name> | |||
</section> | <t>This option is specified in <xref target="RFC6621" format="defaul | |||
t"/>.</t> | ||||
<section title="Specific Security Implications"> | </section> | |||
<t>None. The use of transient numeric identifiers is subject to the security and | <section numbered="true" toc="default"> | |||
privacy considerations discussed in <xref target="I-D.irtf-pearg-numeric-ids-ge | <name>Specific Security Implications</name> | |||
neration"/>.</t> | <t>None. The use of transient numeric identifiers is subject to the | |||
</section> | security and privacy considerations discussed in <xref target="I-D.irtf-pearg-nu | |||
meric-ids-generation" format="default"/>.</t> | ||||
<section title="Operational and Interoperability Impact if Blocked"> | </section> | |||
<t>Dropping packets containing this option within a MANET domain would break SMF | <section numbered="true" toc="default"> | |||
. However, dropping such packets at the border of such domain would have no nega | <name>Operational and Interoperability Impact If Blocked</name> | |||
tive impact.</t> | <t>Dropping packets containing this option within a Mobile Ad Hoc Ne | |||
</section> | twork (MANET) domain would break SMF. However, dropping such packets at the bord | |||
er of such domain would have no negative impact.</t> | ||||
<section title="Advice"> | </section> | |||
<t>Intermediate systems that are not within a MANET domain should discard packet | <section numbered="true" toc="default"> | |||
s that contain this option.</t> | <name>Advice</name> | |||
</section> | <t>Intermediate systems that are not within a MANET domain should di | |||
</section> | scard packets that contain this option.</t> | |||
</section> | ||||
<section title="PDM (Type=0x0F)" anchor="x0F"> | </section> | |||
<section title="Uses"> | <section anchor="x0F" numbered="true" toc="default"> | |||
<t>This option is employed to convey sequence numbers and timing information in | <name>PDM (Type=0x0F)</name> | |||
IPv6 packets as a basis for measurements.</t> | <section numbered="true" toc="default"> | |||
</section> | <name>Uses</name> | |||
<t>This option is employed to convey sequence numbers and timing inf | ||||
<section title="Specification"> | ormation in IPv6 packets as a basis for measurements.</t> | |||
<t>This option is specified in <xref target="RFC8250"/>.</t> | </section> | |||
</section> | <section numbered="true" toc="default"> | |||
<name>Specification</name> | ||||
<section title="Specific Security Implications"> | <t>This option is specified in <xref target="RFC8250" format="defaul | |||
<t>Those specified in <xref target="RFC8250"/>. Additionally, since the options | t"/>.</t> | |||
employs transient numeric identifiers, implementations may be subject to the iss | </section> | |||
ues discussed in <xref target="I-D.irtf-pearg-numeric-ids-generation"/>.</t> | <section numbered="true" toc="default"> | |||
</section> | <name>Specific Security Implications</name> | |||
<t>These are discussed in <xref target="RFC8250" format="default"/>. | ||||
<section title="Operational and Interoperability Impact if Blocked"> | Additionally, since this option employs transient numeric identifiers, implemen | |||
<t>Dropping packets containing this option will result in negative interoperaibl | tations may be subject to the issues discussed in <xref target="I-D.irtf-pearg-n | |||
ity implications for traffic employing this option as a basis for measurements.< | umeric-ids-generation" format="default"/>.</t> | |||
/t> | </section> | |||
</section> | <section numbered="true" toc="default"> | |||
<name>Operational and Interoperability Impact If Blocked</name> | ||||
<section title="Advice"> | <t>Dropping packets containing this option will result in negative i | |||
<t>Intermediate systems should not discard packets based on the presence of this | nteroperability implications for traffic employing this option as a basis for me | |||
option.</t> | asurements.</t> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | ||||
</section> | <name>Advice</name> | |||
<t>Intermediate systems should not discard packets based on the pres | ||||
<section title="RPL Option (Type=0x23)" anchor="x23"> | ence of this option.</t> | |||
<section title="Uses"> | </section> | |||
<t>The RPL Option provides a mechanism to include routing information with each | </section> | |||
datagram that an RPL router forwards.</t> | <section anchor="x23" numbered="true" toc="default"> | |||
</section> | <name>RPL Option (Type=0x23)</name> | |||
<section numbered="true" toc="default"> | ||||
<section title="Specification"> | <name>Uses</name> | |||
<t>This option is specified in <xref target="RFC9008"/>.</t> | <t>The RPL Option provides a mechanism to include routing informatio | |||
</section> | n in each datagram that a RPL router forwards.</t> | |||
</section> | ||||
<section title="Specific Security Implications"> | <section numbered="true" toc="default"> | |||
<t>Those described in <xref target="RFC9008"/>.</t> | <name>Specification</name> | |||
</section> | <t>This option is specified in <xref target="RFC9008" format="defaul | |||
t"/>.</t> | ||||
<section title="Operational and Interoperability Impact if Blocked"> | </section> | |||
<t>This option can survive outside of an RPL instance. As a result, discarding p | <section numbered="true" toc="default"> | |||
ackets based on the presence of this option would break some use cases for RPL ( | <name>Specific Security Implications</name> | |||
see <xref target="RFC9008"/>).</t> | <t>These are discussed in <xref target="RFC9008" format="default"/>. | |||
</section> | </t> | |||
</section> | ||||
<section title="Advice"> | <section numbered="true" toc="default"> | |||
<t>Intermediate systems should not discard IPv6 packets based on the presence of | <name>Operational and Interoperability Impact If Blocked</name> | |||
this option.</t> | <t>This option can survive outside of a RPL instance. As a result, d | |||
</section> | iscarding packets based on the presence of this option would break some use case | |||
</section> | s for RPL (see <xref target="RFC9008" format="default"/>).</t> | |||
</section> | ||||
<section title="Quick-Start (Type=0x26)" anchor="x26"> | <section numbered="true" toc="default"> | |||
<section title="Uses"> | <name>Advice</name> | |||
<t>This IP Option is used in the specification of Quick-Start for | <t>Intermediate systems should not discard IPv6 packets based on the | |||
presence of this option.</t> | ||||
</section> | ||||
</section> | ||||
<section anchor="x26" numbered="true" toc="default"> | ||||
<name>Quick-Start (Type=0x26)</name> | ||||
<section numbered="true" toc="default"> | ||||
<name>Uses</name> | ||||
<t>This IP option is used in the specification of Quick-Start for | ||||
TCP and IP, which is an experimental mechanism that allows transport | TCP and IP, which is an experimental mechanism that allows transport | |||
protocols, in cooperation with routers, to determine an allowed | protocols, in cooperation with routers, to determine an allowed | |||
sending rate at the start and, at times, in the middle of a data | sending rate at the start and, at times, in the middle of a data | |||
transfer (e.g., after an idle period) <xref target="RFC4782"/>.</t> | transfer (e.g., after an idle period) <xref target="RFC4782" format="d | |||
</section> | efault"/>.</t> | |||
</section> | ||||
<section title="Specification"> | <section numbered="true" toc="default"> | |||
<t>This option is specified in <xref target="RFC4782"/>, on the "Experimental" t | <name>Specification</name> | |||
rack.</t> | <t>This option is specified in <xref target="RFC4782" format="defaul | |||
</section> | t"/> on the "Experimental" track.</t> | |||
</section> | ||||
<section title="Specific Security Implications"> | <section numbered="true" toc="default"> | |||
<t>Section 9.6 of <xref target="RFC4782"/> notes that Quick-Start is | <name>Specific Security Implications</name> | |||
vulnerable to two kinds of attacks: <list style="symbols"> | <t><xref target="RFC4782" sectionFormat="of" section="9.6"/> notes t | |||
<t>attacks to increase the routers' processing and state load, | hat Quick-Start is | |||
and,</t> | vulnerable to two kinds of attacks: </t> | |||
<ul spacing="normal"> | ||||
<t>attacks with bogus Quick-Start Requests to temporarily tie up | <li>attacks to increase the routers' processing and state load | |||
and</li> | ||||
<li>attacks with bogus Quick-Start Requests to temporarily tie up | ||||
available Quick-Start bandwidth, preventing routers from | available Quick-Start bandwidth, preventing routers from | |||
approving Quick-Start Requests from other connections.</t> | approving Quick-Start Requests from other connections</li> | |||
</list></t> | </ul> | |||
<t>We note that if routers in a given environment do not implement a | ||||
<t>We note that if routers in a given environment do not implement and enable th | nd enable the Quick-Start mechanism, only the general security | |||
e Quick-Start mechanism, only the general security | implications of IP options (discussed in <xref target="ipv6-options-general-impl | |||
implications of IP options (discussed in <xref target="ipv6-options-general-impl | ications" format="default"/>) would apply.</t> | |||
ications"/>) would apply.</t> | </section> | |||
<section numbered="true" toc="default"> | ||||
</section> | <name>Operational and Interoperability Impact If Blocked</name> | |||
<t>If packets with IPv6 Quick Start options are blocked, the host tr | ||||
<section title="Operational and Interoperability Impact if Blocked"> | ying to establish a TCP | |||
<t>The Quick-Start functionality would be disabled, and additional | connection will fall back to not including the Quick Start option -- | |||
delays in TCP's connection establishment (for example) could be introd | this means that the | |||
uced. | feature will be disabled, and additional delays in connection establi | |||
(Please see Section 4.7.2 of <xref target="RFC4782"/>.) We note, | shment | |||
will be introduced (as discussed in <xref target="RFC4782" sectionFor | ||||
mat="of" | ||||
section="4.7.2"/>). We note, | ||||
however, that Quick-Start has been proposed as a mechanism that could | however, that Quick-Start has been proposed as a mechanism that could | |||
be of use in controlled environments, and not as a mechanism that | be of use in controlled environments and not as a mechanism that | |||
would be intended or appropriate for ubiquitous deployment in the | would be intended or appropriate for ubiquitous deployment in the | |||
global Internet <xref target="RFC4782"/>.</t> | global Internet <xref target="RFC4782" format="default"/>.</t> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | ||||
<section title="Advice"> | <name>Advice</name> | |||
<t>Intermediate systems should not discard IPv6 packets based on the p | <t>Intermediate systems should not discard IPv6 packets based on the | |||
resence of this option.</t> | presence of this option.</t> | |||
</section> | ||||
</section> | </section> | |||
</section> | <section anchor="x4D" numbered="true" toc="default"> | |||
<name>Deprecated (Type=0x4D)</name> | ||||
<section title="Deprecated (Type=0x4D)" anchor="x4D"> | <section numbered="true" toc="default"> | |||
<section title="Uses"> | <name>Uses</name> | |||
<t>No information has been found about this option type.</t> | <t>No information has been found about this option type.</t> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | ||||
<section title="Specification"> | <name>Specification</name> | |||
<t>No information has been found about this option type.</t> | <t>No information has been found about this option type.</t> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | ||||
<section title="Specific Security Implications"> | <name>Specific Security Implications</name> | |||
<t>No information has been found about this option type, and hence it has been i | <t>No information has been found about this option type; hence, it h | |||
mpossible to perform the corresponding security assessment.</t> | as been impossible to perform the corresponding security assessment.</t> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | ||||
<section title="Operational and Interoperability Impact if Blocked"> | <name>Operational and Interoperability Impact If Blocked</name> | |||
<t>Unknown.</t> | <t>Unknown.</t> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | ||||
<section title="Advice"> | <name>Advice</name> | |||
<t>Intermediate systems should discard packets that contain this option.</t> | <t>Intermediate systems should discard packets that contain this opt | |||
</section> | ion.</t> | |||
</section> | </section> | |||
</section> | ||||
<section title="RPL Option (Type=0x63)" anchor="x63"> | <section anchor="x63" numbered="true" toc="default"> | |||
<section title="Uses"> | <name>RPL Option (Type=0x63)</name> | |||
<t>The RPL Option provides a mechanism to include routing information with each | <section numbered="true" toc="default"> | |||
datagram that an RPL router forwards.</t> | <name>Uses</name> | |||
</section> | <t>The RPL Option provides a mechanism to include routing informatio | |||
n in each datagram that a RPL router forwards.</t> | ||||
<section title="Specification"> | </section> | |||
<t>This option was originally specified in <xref target="RFC6553"/>. It has been | <section numbered="true" toc="default"> | |||
deprecated by <xref target="RFC9008"/>.</t> | <name>Specification</name> | |||
</section> | <t>This option was originally specified in <xref target="RFC6553" fo | |||
rmat="default"/>. It has been deprecated by <xref target="RFC9008" format="defau | ||||
<section title="Specific Security Implications"> | lt"/>.</t> | |||
<t>Those described in <xref target="RFC9008"/>.</t> | </section> | |||
</section> | <section numbered="true" toc="default"> | |||
<name>Specific Security Implications</name> | ||||
<section title="Operational and Interoperability Impact if Blocked"> | <t>These are discussed in <xref target="RFC6553" sectionFormat="of" | |||
<t>This option is meant to be employed within an RPL instance. As a result, disc | section="5"/>.</t> | |||
arding packets based on the presence of this option outside of an RPL instance w | </section> | |||
ill not result in interoperability implications.</t> | <section numbered="true" toc="default"> | |||
</section> | <name>Operational and Interoperability Impact If Blocked</name> | |||
<t>This option is meant to be employed within a RPL instance. As a r | ||||
<section title="Advice"> | esult, discarding packets based on the presence of this option outside of a RPL | |||
<t>Non-RPL routers should discard packets that contain an RPL option.</t> | instance will not result in interoperability implications.</t> | |||
</section> | </section> | |||
</section> | <section numbered="true" toc="default"> | |||
<name>Advice</name> | ||||
<section title="MPL Option (Type=0x6D)" anchor="x6D"> | <t>Intermediate systems should discard packets that contain a RPL Op | |||
<section title="Uses"> | tion.</t> | |||
<t>This option is used with the Multicast Protocol for Low power and Lossy Netwo | </section> | |||
rks (MPL), that provides IPv6 multicast forwarding in | </section> | |||
<section anchor="x6D" numbered="true" toc="default"> | ||||
<name>MPL Option (Type=0x6D)</name> | ||||
<section numbered="true" toc="default"> | ||||
<name>Uses</name> | ||||
<t>This option is used with the Multicast Protocol for Low power and | ||||
Lossy Networks (MPL), which provides IPv6 multicast forwarding in | ||||
constrained networks.</t> | constrained networks.</t> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | ||||
<section title="Specification"> | <name>Specification</name> | |||
<t>This option is specified in <xref target="RFC7731"/>, and is meant to be incl | <t>This option is specified in <xref target="RFC7731" format="defaul | |||
uded only in Hop-by-Hop Option headers.</t> | t"/> and is meant to be included only in Hop-by-Hop Options headers.</t> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | ||||
<section title="Specific Security Implications"> | <name>Specific Security Implications</name> | |||
<t>Those described in <xref target="RFC7731"/>.</t> | <t>These are discussed in <xref target="RFC7731" format="default"/>. | |||
</section> | </t> | |||
</section> | ||||
<section title="Operational and Interoperability Impact if Blocked"> | <section numbered="true" toc="default"> | |||
<t>Dropping packets that contain an MPL option within an MPL network would break | <name>Operational and Interoperability Impact If Blocked</name> | |||
the Multicast Protocol for Low power and Lossy Networks (MPL). However, droppin | <t>Dropping packets that contain an MPL Option within an MPL network | |||
g such packets at the border of such networks will have no negative impact.</t> | would break the MPL. However, dropping such packets at the border of such netwo | |||
</section> | rks will have no negative impact.</t> | |||
</section> | ||||
<section title="Advice"> | <section numbered="true" toc="default"> | |||
<t>Intermediate systems should not discard packets based on the presence of this | <name>Advice</name> | |||
option. However, since this option has been specified for the Hop-by-Hop Option | <t>Intermediate systems should not discard packets based on the pres | |||
s, such systems should consider the discussion in <xref target="proto0"/>.</t> | ence of this option. However, since this option has been specified for the Hop-b | |||
</section> | y-Hop Options header, such systems should consider the discussion in <xref targe | |||
</section> | t="proto0" format="default"/>.</t> | |||
</section> | ||||
<section title="Endpoint Identification (Type=0x8A)" anchor="x8A"> | </section> | |||
<section title="Uses"> | <section anchor="x8A" numbered="true" toc="default"> | |||
<t>The Endpoint Identification option was meant to be used with the Nimrod routi | <name>Endpoint Identification (Type=0x8A)</name> | |||
ng architecture <xref target="NIMROD-DOC"/>, but has never seen widespread deplo | <section numbered="true" toc="default"> | |||
yment.</t> | <name>Uses</name> | |||
</section> | <t>The Endpoint Identification option was meant to be used with the | |||
Nimrod routing architecture <xref target="NIMROD-DOC" format="default"/> but has | ||||
<section title="Specification"> | never seen widespread deployment.</t> | |||
<t>This option is specified in <xref target="NIMROD-DOC"/>.</t> | </section> | |||
</section> | <section numbered="true" toc="default"> | |||
<name>Specification</name> | ||||
<section title="Specific Security Implications"> | <t>This option is specified in <xref target="NIMROD-DOC" format="def | |||
<t>Undetermined.</t> | ault"/>.</t> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | ||||
<section title="Operational and Interoperability Impact if Blocked"> | <name>Specific Security Implications</name> | |||
<t>None.</t> | <t>Undetermined.</t> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | ||||
<section title="Advice"> | <name>Operational and Interoperability Impact If Blocked</name> | |||
<t>Intermediate systems should discard packets that contain this option.</t> | <t>None.</t> | |||
</section> | </section> | |||
</section> | <section numbered="true" toc="default"> | |||
<name>Advice</name> | ||||
<section title="ILNP Nonce (Type=0x8B)" anchor="x8B"> | <t>Intermediate systems should discard packets that contain this opt | |||
<section title="Uses"> | ion.</t> | |||
<t>This option is employed by Identifier-Locator Network Protocol for IPv6 (ILNP | </section> | |||
v6) for providing protection against off-path attacks for packets when ILNPv6 is | </section> | |||
in use, and as a signal during initial network-layer session creation that ILNP | <section anchor="x8B" numbered="true" toc="default"> | |||
v6 is proposed for use with this network-layer session, rather than classic IPv6 | <name>ILNP Nonce (Type=0x8B)</name> | |||
.</t> | <section numbered="true" toc="default"> | |||
</section> | <name>Uses</name> | |||
<t>This option is employed by the Identifier-Locator Network Protoco | ||||
<section title="Specification"> | l for IPv6 (ILNPv6) to provide protection against off-path attacks for packets w | |||
<t>This option is specified in <xref target="RFC6744"/>.</t> | hen ILNPv6 is in use and as a signal during initial network-layer session creati | |||
</section> | on that ILNPv6 is proposed for use with this network-layer session, rather than | |||
classic IPv6.</t> | ||||
<section title="Specific Security Implications"> | </section> | |||
<t>Those described in <xref target="RFC6744"/>.</t> | <section numbered="true" toc="default"> | |||
</section> | <name>Specification</name> | |||
<t>This option is specified in <xref target="RFC6744" format="defaul | ||||
<section title="Operational and Interoperability Impact if Blocked"> | t"/>.</t> | |||
<t>Discarding packets that contain this option will break INLPv6 deployments.</t | </section> | |||
> | <section numbered="true" toc="default"> | |||
</section> | <name>Specific Security Implications</name> | |||
<t>These are discussed in <xref target="RFC6744" format="default"/>. | ||||
<section title="Advice"> | </t> | |||
<t>Intermediate systems should not discard packets based on the presence of this | </section> | |||
option.</t> | <section numbered="true" toc="default"> | |||
</section> | <name>Operational and Interoperability Impact If Blocked</name> | |||
</section> | <t>Discarding packets that contain this option will break ILNPv6 dep | |||
loyments.</t> | ||||
<section title="Line-Identification Option (Type=0x8C)" anchor="x8C"> | </section> | |||
<section title="Uses"> | <section numbered="true" toc="default"> | |||
<t>This option is used by an Edge Router to identify the subscriber premises in | <name>Advice</name> | |||
scenarios where several subscriber premises may be logically connected to the sa | <t>Intermediate systems should not discard packets based on the pres | |||
me interface of an Edge Router.</t> | ence of this option.</t> | |||
</section> | ||||
<!-- | </section> | |||
The Line-Identification Option (LIO) is a destination option that can | <section anchor="x8C" numbered="true" toc="default"> | |||
be included in IPv6 datagrams that tunnel Router Solicitation and | <name>Line-Identification Option (Type=0x8C)</name> | |||
Router Advertisement messages. The use of the Line-ID option in any | <section numbered="true" toc="default"> | |||
other IPv6 datagrams is not defined by this document. Multiple Line- | <name>Uses</name> | |||
ID destination options MUST NOT be present in the same IPv6 datagram. | <t>This option is used by an Edge Router to identify the subscriber | |||
The LIO has no alignment requirement. | premises in scenarios where several subscriber premises may be logically connect | |||
</section> | ed to the same interface of an Edge Router.</t> | |||
<section title="Specification"> | ||||
<t>This option is specified in <xref target="RFC6788"/>.</t> | ||||
</section> | ||||
<section title="Specific Security Implications"> | ||||
<t>Those described in <xref target="RFC6788"/>.</t> | ||||
</section> | ||||
<section title="Operational and Interoperability Impact if Blocked"> | ||||
<t>Since this option is meant to be employed in Router Solicitation messages, di | ||||
scarding packets based on the presence of this option at intermediate systems wi | ||||
ll result in no interoperability implications.</t> | ||||
</section> | ||||
<section title="Advice"> | ||||
<t>Intermediate devices should discard packets that contain this option.</t> | ||||
</section> | ||||
</section> | ||||
<section title="Jumbo Payload (Type=0XC2)" anchor="xC2"> | ||||
<section title="Uses"> | ||||
<t>The Jumbo payload option provides the means of specifying payloads larger tha | ||||
n 65535 bytes.</t> | ||||
</section> | ||||
<section title="Specification"> | ||||
<t>This option is specified in <xref target="RFC2675"/>.</t> | ||||
</section> | ||||
<section title="Specific Security Implications"> | ||||
<t>There are no specific issues arising from this option, except for improper va | ||||
lidity checks of the option and associated packet lengths.</t> | ||||
</section> | ||||
<section title="Operational and Interoperability Impact if Blocked"> | ||||
<t>Discarding packets based on the presence of this option will cause IPv6 jumbo | ||||
grams to be discarded.</t> | ||||
</section> | </section> | |||
<section numbered="true" toc="default"> | ||||
<section title="Advice"> | <name>Specification</name> | |||
<t>An operator should permit this option only in specific scenarios in which sup | <t>This option is specified in <xref target="RFC6788" format="defaul | |||
port for IPv6 jumbograms is desired. | t"/>.</t> | |||
</section> | ||||
<section numbered="true" toc="default"> | ||||
<name>Specific Security Implications</name> | ||||
<t>These are discussed in <xref target="RFC6788" format="default"/>. | ||||
</t> | ||||
</section> | ||||
<section numbered="true" toc="default"> | ||||
<name>Operational and Interoperability Impact If Blocked</name> | ||||
<t>Since this option is meant to be used when tunneling Neighbor Dis | ||||
covery messages in some broadband network deployment scenarios, discarding packe | ||||
ts based on the presence of this option at intermediate systems will result in n | ||||
o interoperability implications.</t> | ||||
</section> | ||||
<section numbered="true" toc="default"> | ||||
<name>Advice</name> | ||||
<t>Intermediate systems should discard packets that contain this opt | ||||
ion.</t> | ||||
</section> | ||||
</section> | ||||
<section anchor="xC2" numbered="true" toc="default"> | ||||
<name>Jumbo Payload (Type=0XC2)</name> | ||||
<section numbered="true" toc="default"> | ||||
<name>Uses</name> | ||||
<t>The Jumbo Payload option provides the means for supporting payloa | ||||
ds larger than 65535 bytes.</t> | ||||
</section> | ||||
<section numbered="true" toc="default"> | ||||
<name>Specification</name> | ||||
<t>This option is specified in <xref target="RFC2675" format="defaul | ||||
t"/>.</t> | ||||
</section> | ||||
<section numbered="true" toc="default"> | ||||
<name>Specific Security Implications</name> | ||||
<t>There are no specific issues arising from this option, except for | ||||
improper validity checks of the option and associated packet lengths.</t> | ||||
</section> | ||||
<section numbered="true" toc="default"> | ||||
<name>Operational and Interoperability Impact If Blocked</name> | ||||
<t>Discarding packets based on the presence of this option will caus | ||||
e IPv6 jumbograms to be discarded.</t> | ||||
</section> | ||||
<section numbered="true" toc="default"> | ||||
<name>Advice</name> | ||||
<t>An operator should permit this option only in specific scenarios | ||||
in which support for IPv6 jumbograms is required. | ||||
</t> | </t> | |||
</section> | </section> | |||
</section> | </section> | |||
<section anchor="xC9" numbered="true" toc="default"> | ||||
<section title="Home Address (Type=0xC9)" anchor="xC9"> | <name>Home Address (Type=0xC9)</name> | |||
<section title="Uses"> | <section numbered="true" toc="default"> | |||
<t>The Home Address option is used by a Mobile IPv6 node while away from home, t | <name>Uses</name> | |||
o inform the recipient of the mobile node's home address.</t> | <t>The Home Address option is used by a Mobile IPv6 node while away | |||
</section> | from home to inform the recipient of the mobile node's home address.</t> | |||
</section> | ||||
<section title="Specification"> | <section numbered="true" toc="default"> | |||
<t>This option is specified in <xref target="RFC6275"/>.</t> | <name>Specification</name> | |||
</section> | <t>This option is specified in <xref target="RFC6275" format="defaul | |||
t"/>.</t> | ||||
<section title="Specific Security Implications"> | </section> | |||
<t>No (known) additional security implications than those described in <xref tar | <section numbered="true" toc="default"> | |||
get="RFC6275"/>.</t> | <name>Specific Security Implications</name> | |||
</section> | <t>There are no (known) additional security implications, other than | |||
those discussed in <xref target="RFC6275" format="default"/>.</t> | ||||
<section title="Operational and Interoperability Impact if Blocked"> | </section> | |||
<t>Discarding IPv6 packets based on the presence of this option will break Mobil | <section numbered="true" toc="default"> | |||
e IPv6.</t> | <name>Operational and Interoperability Impact If Blocked</name> | |||
</section> | <t>Discarding IPv6 packets based on the presence of this option will | |||
break Mobile IPv6.</t> | ||||
<section title="Advice"> | </section> | |||
<t>Intermediate systems should not discard IPv6 packets based on the presence of | <section numbered="true" toc="default"> | |||
this option.</t> | <name>Advice</name> | |||
</section> | <t>Intermediate systems should not discard IPv6 packets based on the | |||
</section> | presence of this option.</t> | |||
</section> | ||||
<section title="IP_DFF (Type=0xEE)" anchor="xEE"> | </section> | |||
<section title="Uses"> | <section anchor="xEE" numbered="true" toc="default"> | |||
<t>This option is employed with the (Experimental) Depth-First Forwarding (DFF) | <name>IP_DFF (Type=0xEE)</name> | |||
in Unreliable Networks.</t> | <section numbered="true" toc="default"> | |||
</section> | <name>Uses</name> | |||
<t>This option is employed with the (experimental) Depth-First Forwa | ||||
<section title="Specification"> | rding (DFF) in unreliable networks.</t> | |||
<t>This option is specified in <xref target="RFC6971"/>.</t> | </section> | |||
</section> | <section numbered="true" toc="default"> | |||
<name>Specification</name> | ||||
<section title="Specific Security Implications"> | <t>This option is specified in <xref target="RFC6971" format="defaul | |||
<t>Those specified in <xref target="RFC6971"/>.</t> | t"/>.</t> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | ||||
<section title="Operational and Interoperability Impact if Blocked"> | <name>Specific Security Implications</name> | |||
<t>Dropping packets containing this option within a routing domain that is runni | <t>These are specified in <xref target="RFC6971" format="default"/>. | |||
ng DFF would break DFF. However, dropping such packets at the border of such dom | </t> | |||
ains will have no security implications.</t> | </section> | |||
</section> | <section numbered="true" toc="default"> | |||
<name>Operational and Interoperability Impact If Blocked</name> | ||||
<section title="Advice"> | <t>Dropping packets containing this option within a routing domain t | |||
<t>Intermediate systems that do not operate within a routing domain that is runn | hat is running DFF would break DFF. However, dropping such packets at the border | |||
ing DFF should discard packets containing this option.</t> | of such domains will have no operational or interoperability implications.</t> | |||
</section> | </section> | |||
</section> | <section numbered="true" toc="default"> | |||
<name>Advice</name> | ||||
<section title="RFC3692-style Experiment (Types = 0x1E, 0x3E, 0x5E, 0x7E, 0x9E, | <t>Intermediate systems that do not operate within a routing domain | |||
0xBE, 0xDE, 0xFE)" anchor="x1E"> | that is running DFF should discard packets containing this option.</t> | |||
<section title="Uses"> | </section> | |||
<t>These options can be employed for performing RFC3692-style experime | </section> | |||
nts. It is only appropriate to use these values in | <section anchor="x1E" numbered="true" toc="default"> | |||
<name>RFC3692-Style Experiment (Types = 0x1E, 0x3E, 0x5E, 0x7E, 0x9E, | ||||
0xBE, 0xDE, 0xFE)</name> | ||||
<section numbered="true" toc="default"> | ||||
<name>Uses</name> | ||||
<t>These options can be employed for performing RFC3692-style experi | ||||
ments. It is only appropriate to use these values in | ||||
explicitly configured experiments; they must not be shipped as default s in implementations.</t> | explicitly configured experiments; they must not be shipped as default s in implementations.</t> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | ||||
<section title="Specification"> | <name>Specification</name> | |||
<t>Specified in RFC 4727 <xref target="RFC4727"/> in the context of | <t>These options are specified in <xref target="RFC4727" format="def | |||
ault"/> in the context of | ||||
RFC3692-style experiments.</t> | RFC3692-style experiments.</t> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | ||||
<section title="Specific Security Implications"> | <name>Specific Security Implications</name> | |||
<t>The specific security implications will depend on the specific use of these | <t>The specific security implications will depend on the specific us | |||
options.</t> | e of these options.</t> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | ||||
<section title="Operational and Interoperability Impact if Blocked"> | <name>Operational and Interoperability Impact If Blocked</name> | |||
<t>For obvious reasons, discarding packets that contain these options limits the | <t>For obvious reasons, discarding packets that contain these option | |||
ability to perform legitimate experiments across IPv6 routers.</t> | s limits the ability to perform legitimate experiments across IPv6 routers.</t> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | ||||
<section title="Advice"> | <name>Advice</name> | |||
<t>Operators should determine according to their own circumstances whether to di | <t>Operators should determine, according to their own circumstances, | |||
scard packets containing these IPv6 options.</t> | whether to discard packets containing these IPv6 options.</t> | |||
<!-- | ||||
<t>Intermediate systems should discard packets that contain these options. Only | ||||
in specific environments where RFC3692-style experiments are meant to be perform | ||||
ed should these options be permitted.</t> --> | ||||
</section> | ||||
</section> | ||||
</section> | </section> | |||
</section> | ||||
<section title="Advice on the handling of Packets with Unknown IPv6 Options"> | </section> | |||
<section numbered="true" toc="default"> | ||||
<t>We refer to IPv6 options that have not been assigned an IPv6 option type in t | <name>Advice on the Handling of Packets with Unknown IPv6 Options</name> | |||
he corresponding registry (<xref target="IANA-IPV6-PARAM"/>) as "unknown IPv6 op | <t>We refer to IPv6 options that have not been assigned an IPv6 Option T | |||
tions".</t> | ype in the corresponding registry, which is <xref target="IANA-IPV6-PARAM" forma | |||
t="default"/>, as "unknown IPv6 options".</t> | ||||
<section title="Uses"> | <section numbered="true" toc="default"> | |||
<name>Uses</name> | ||||
<t>New IPv6 options may be specified as part of future protocol work.< /t> | <t>New IPv6 options may be specified as part of future protocol work.< /t> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | ||||
<section title="Specification"> | <name>Specification</name> | |||
<t>The processing of unknown IPv6 options is specified in <xref target="RFC8200" | <t>The processing of unknown IPv6 options is specified in <xref target | |||
/>.</t> | ="RFC8200" format="default"/>.</t> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | ||||
<section title="Specific Security Implications"> | <name>Specific Security Implications</name> | |||
<t>For obvious reasons, it is impossible to determine specific security implica | <t>For obvious reasons, it is impossible to determine specific securit | |||
tions of unknown IPv6 options.</t> | y implications of unknown IPv6 options.</t> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | ||||
<section title="Operational and Interoperability Impact if Blocked"> | <name>Operational and Interoperability Impact If Blocked</name> | |||
<t>Discarding unknown IPv6 options may slow down the deployment of new IPv6 opti | <t>Discarding unknown IPv6 options may slow down the deployment of new | |||
ons. As noted in <xref target="draft-gont-6man-ipv6-opt-transmit"/>, the corresp | IPv6 options. As noted in <xref target="I-D.gont-6man-ipv6-opt-transmit" format | |||
onding IANA registry (<xref target="IANA-IPV6-PARAM"/> should be monitored such | ="default"/>, the corresponding IANA registry, which is <xref target="IANA-IPV6- | |||
that IPv6 option filtering rules are updated as new IPv6 options are standardize | PARAM" format="default"/>, should be monitored such that IPv6 option filtering r | |||
d.</t> | ules are updated as new IPv6 options are standardized.</t> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | ||||
<section title="Advice"> | <name>Advice</name> | |||
<t>Operators should determine, according to their own circumstances, w | ||||
<t>Operators should determine according to their own circumstances whether to di | hether to discard packets containing unknown IPv6 options.</t> | |||
scard packets containing unknown IPv6 options.</t> | </section> | |||
</section> | ||||
</section> | </section> | |||
</section> | <section anchor="IANA" numbered="true" toc="default"> | |||
<name>IANA Considerations</name> | ||||
</section> | <t>This document has no IANA actions.</t> | |||
</section> | ||||
<section anchor="IANA" title="IANA Considerations"> | <section anchor="Privacy" numbered="true" toc="default"> | |||
<t>This document has no actions for IANA.</t> | <name>Privacy Considerations</name> | |||
</section> | <t> | |||
<section title="Privacy Considerations" anchor="Privacy" > | ||||
<t> | ||||
There are no privacy considerations associated with this document. | There are no privacy considerations associated with this document. | |||
</t> | </t> | |||
</section> | </section> | |||
<section anchor="Security" numbered="true" toc="default"> | ||||
<section title="Security Considerations" anchor="Security" > | <name>Security Considerations</name> | |||
<t> | <t> | |||
This document provides advice on the filtering of IPv6 packets that contain IPv6 | This document provides advice on the filtering of IPv6 packets that contain IPv6 | |||
EHs (and possibly IPv6 options) at IPv6 transit routers. It is meant to improve | EHs (and possibly IPv6 options) at IPv6 transit routers. It is meant to improve | |||
the current situation of widespread dropping of such IPv6 packets in those case | the current situation of widespread dropping of such IPv6 packets in those case | |||
s where the drops result from improper configuration defaults, or inappropriate | s where the drops result from improper configuration defaults or inappropriate a | |||
advice in this area. | dvice in this area. | |||
</t> | </t> | |||
<t> | <t> | |||
As discussed in Section <xref target="ipv6-ehs-rationale"/> of this document, | As discussed in <xref target="ipv6-ehs-rationale" format="default"/>, one of | |||
one of the | the | |||
underlying principles for the advice provided in this document is | underlying principles for the advice provided in this document is | |||
that IPv6 packets with specific EHs or options which may represent an | that IPv6 packets with specific EHs or options that may represent an | |||
attack vector for infrastructure devices should be dropped. While | attack vector for infrastructure devices should be dropped. While | |||
this policy helps mitigate some specific attack vectors, the | this policy helps mitigate some specific attack vectors, the | |||
recommendations in this document will not help to mitigate | recommendations in this document will not help to mitigate | |||
vulnerabilities based on implementation errors <xref target="RFC9098"/>. | vulnerabilities based on implementation errors <xref target="RFC9098" format= "default"/>. | |||
</t> | </t> | |||
<t>We also note that depending on the router architecture, attempts to fil | ||||
ter packets based on the presence of IPv6 EHs or options might itself represent | ||||
an attack vector to network infrastructure devices <xref target="RFC9098" format | ||||
="default"/>.</t> | ||||
</section> | ||||
<t>We also note that depending on the router architecture, attempts to filter pa | </middle> | |||
ckets ased on the presence of IPv6 EHs or options might itself represent an atta | <back> | |||
ck vector to network infrastructure devices <xref target="RFC9098"/>.</t> | <displayreference target="I-D.irtf-pearg-numeric-ids-generation" to="NUMERIC-IDS | |||
</section> | "/> | |||
<displayreference target="I-D.vyncke-v6ops-james" to="JAMES"/> | ||||
<section title="Acknowledgements"> | <displayreference target="I-D.gont-6man-ipv6-opt-transmit" to="IPv6-OPTIONS"/> | |||
<t>The authors would like to thank Ron Bonica for his work on earlier versions o | <references> | |||
f this document.</t> | <name>References</name> | |||
<t>The authors of this document would like to thank (in alphabetical order) Mika | <references> | |||
el Abrahamsson, Brian Carpenter, Tim Chown, Roman Danyliw, Darren Dukes, Lars Eg | <name>Normative References</name> | |||
gert, David Farmer, Mike Heard, Bob Hinden, Christian Huitema, Benjamin Kaduk, E | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | |||
rik Kline, Murray Kucherawy, Jen Linkova, Carlos Pignataro, Alvaro Retana, Maria | FC.1034.xml"/> | |||
Ines Robles, Zaheduzzaman Sarker, Donald Smith, Pascal Thubert, Ole Troan, Gunt | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | |||
er Van De Velde, Eric Vyncke, and Robert Wilton, for providing valuable comments | FC.5570.xml"/> | |||
on earlier versions of this document.</t> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | |||
<t>This document borrows some text and analysis from <xref target="RFC7126"/>, a | FC.2119.xml"/> | |||
uthored by Fernando Gont, Randall Atkinson, and Carlos Pignataro.</t> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | |||
FC.8174.xml"/> | ||||
<t>The authors would like to thank Warren Kumari and Eric Vyncke for their guida | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | |||
nce during the publication process of this document.</t> | FC.2205.xml"/> | |||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
<t>Fernando would also like to thank Brian Carpenter and Ran Atkinson who, over | FC.2675.xml"/> | |||
the years, have answered many questions and provided valuable comments that have | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | |||
benefited his protocol-related work (including the present document).</t> | FC.4301.xml"/> | |||
</section> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | |||
FC.4302.xml"/> | ||||
</middle> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | |||
FC.4303.xml"/> | ||||
<back> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | |||
<references title="Normative References"> | FC.6275.xml"/> | |||
<?rfc include="reference.RFC.1034" ?> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | |||
<?rfc include="reference.RFC.5570" ?> | FC.7401.xml"/> | |||
<?rfc include="reference.RFC.2119" ?> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | |||
<?rfc include="reference.RFC.8174" ?> | FC.5533.xml"/> | |||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
<?rfc include="reference.RFC.2205" ?> | FC.3692.xml"/> | |||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
<?rfc include="reference.RFC.2675" ?> | FC.4727.xml"/> | |||
<?rfc include="reference.RFC.4301" ?> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | |||
<?rfc include="reference.RFC.4302" ?> | FC.2710.xml"/> | |||
<?rfc include="reference.RFC.4303" ?> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | |||
FC.3810.xml"/> | ||||
<?rfc include="reference.RFC.6275" ?> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | |||
<?rfc include="reference.RFC.7401" ?> | FC.4286.xml"/> | |||
<?rfc include="reference.RFC.5533" ?> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | |||
<?rfc include="reference.RFC.3692" ?> | FC.5971.xml"/> | |||
<?rfc include="reference.RFC.4727" ?> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | |||
<?rfc include="reference.RFC.2710" ?> | FC.2711.xml"/> | |||
<?rfc include="reference.RFC.3810" ?> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | |||
<?rfc include="reference.RFC.4286" ?> | FC.5095.xml"/> | |||
<?rfc include="reference.RFC.5971" ?> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | |||
<?rfc include="reference.RFC.2711" ?> | FC.6550.xml"/> | |||
<?rfc include="reference.RFC.5095" ?> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | |||
<?rfc include="reference.RFC.6550" ?> | FC.6621.xml"/> | |||
<?rfc include="reference.RFC.6621" ?> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | |||
<?rfc include="reference.RFC.6971" ?> | FC.6971.xml"/> | |||
<?rfc include="reference.RFC.7045" ?> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | |||
<?rfc include="reference.RFC.7112" ?> | FC.7045.xml"/> | |||
<?rfc include="reference.RFC.4782" ?> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | |||
<?rfc include="reference.RFC.6788" ?> | FC.7112.xml"/> | |||
<?rfc include="reference.RFC.6740" ?> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | |||
<?rfc include="reference.RFC.6744" ?> | FC.4782.xml"/> | |||
<?rfc include="reference.RFC.2473" ?> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | |||
<?rfc include="reference.RFC.6553" ?> | FC.6788.xml"/> | |||
<?rfc include="reference.RFC.6554" ?> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | |||
<?rfc include="reference.RFC.6398" ?> | FC.6740.xml"/> | |||
<?rfc include="reference.RFC.8754" ?> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | |||
FC.6744.xml"/> | ||||
<?rfc include="reference.RFC.9008" ?> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | |||
FC.2473.xml"/> | ||||
<?rfc include="reference.RFC.7731" ?> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | |||
<?rfc include="reference.RFC.8200" ?> | FC.6553.xml"/> | |||
<?rfc include="reference.RFC.8250" ?> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | |||
<?rfc include="reference.RFC.8900" ?> | FC.6554.xml"/> | |||
</references> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | |||
FC.6398.xml"/> | ||||
<references title="Informative References"> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | |||
<?rfc include="reference.RFC.2460" ?> | FC.8754.xml"/> | |||
<?rfc include="reference.RFC.3871" ?> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | |||
<?rfc include="reference.RFC.6192" ?> | FC.9008.xml"/> | |||
<?rfc include="reference.RFC.7126" ?> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | |||
<?rfc include="reference.RFC.7739" ?> | FC.7731.xml"/> | |||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
<?rfc include="reference.I-D.irtf-pearg-numeric-ids-generation" ?> | FC.8200.xml"/> | |||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
<?rfc include="reference.RFC.9098" ?> | FC.8250.xml"/> | |||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
<?rfc include="reference.RFC.7872" ?> | FC.8900.xml"/> | |||
</references> | ||||
<?rfc include="reference.I-D.vyncke-v6ops-james" ?> | <references> | |||
<name>Informative References</name> | ||||
<reference anchor="Huston-2022" target="https://iepg.org/2022-03-20-ietf11 | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | |||
3/huston-v6frag.pdf"> | FC.2460.xml"/> | |||
<front> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | |||
<title>IPv6 Fragmentation and EH Behaviours</title> | FC.3871.xml"/> | |||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
<author fullname="Geoff Huston" initials="G." surname="Huston"> | FC.6192.xml"/> | |||
<organization abbrev="APNIC"/> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | |||
<address> | FC.7126.xml"/> | |||
<email>gih@apnic.net</email> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | |||
<uri>https://www.apnic.net</uri> | FC.7739.xml"/> | |||
</address> | <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D | |||
</author> | .irtf-pearg-numeric-ids-generation.xml"/> | |||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
<author fullname="Joao Damas" initials="J." surname="Damas"> | FC.9098.xml"/> | |||
<organization abbrev="APNIC"/> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | |||
</author> | FC.7872.xml"/> | |||
<xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D.vyncke | ||||
<date month="March" year="2022"/> | -v6ops-james.xml"/> | |||
</front> | ||||
<seriesInfo name="" | ||||
value="IEPG Meeting - March 2022 @ IETF 113"/> | ||||
</reference> | ||||
<!-- | ||||
<reference anchor="Vyncke-2022" target="https://iepg.org/2022-03-20-ietf11 | ||||
3/james-IEPG.pdf"> | ||||
<front> | ||||
<title>Just Another Measurement of Extension Header Survivability (JAM | ||||
ES)</title> | ||||
<author fullname="Eric Vyncke" initials="E." surname="Vyncke"> | ||||
</author> | ||||
<author fullname="Raphael Leas" initials="R." surname="Leas"> | ||||
<organization/> | ||||
</author> | ||||
<author fullname="Justin Iurman" initials="J." surname="Iurman"> | ||||
<organization/> | ||||
</author> | ||||
<date month="March" year="2022"/> | ||||
</front> | ||||
<seriesInfo name="" | ||||
value="IEPG Meeting - March 2022 @ IETF 113"/> | ||||
</reference> | ||||
<reference anchor="draft-ietf-nimrod-eid"> | ||||
<front> | ||||
<title>Endpoint Identifier Destination Option</title> | ||||
<author fullname="Charles Lynn" initials="C.L." surname="Lynn"> | ||||
<organization>BBN Systems and Technologies</organization> | ||||
</author> | ||||
<date month="November" year="1995"/> | ||||
</front> | ||||
<seriesInfo name="" | ||||
value="IETF Internet Draft, draft-ietf-nimrod-eid-00.txt"/> | ||||
</reference> | ||||
<reference anchor="NIMROD-DOC"> | ||||
<front> | ||||
<title>http://ana-3.lcs.mit.edu/~jnc/nimrod/</title> | ||||
<author initials="" surname="Nimrod Documentation Page" f | ||||
ullname="Nimrod Documentation Page"> | ||||
<organization></organization> | ||||
</author> | ||||
<date year=""/> | ||||
</front> | ||||
</reference> | ||||
<reference anchor="Biondi2007" target="http://www.secdev.org/conf/IPv6_RH_ | ||||
security-csw07.pdf"> | ||||
<front> | ||||
<title>IPv6 Routing Header Security</title> | ||||
<author fullname="P. Biondi" initials="P." surname="Biondi"> | ||||
<organization/> | ||||
</author> | ||||
<author fullname="A. Ebalard" initials="A." surname="Ebalard"> | ||||
<organization/> | ||||
</author> | ||||
<date year="2007"/> | ||||
</front> | ||||
<seriesInfo name="CanSecWest 2007" | ||||
value="Security Conference"/> | ||||
</reference> | ||||
<reference anchor="IANA-PROTOCOLS" | ||||
target="https://www.iana.org/assignments/protocol-numbers/proto | ||||
col-numbers.xhtml"> | ||||
<front> | ||||
<title>Protocol Numbers</title> | ||||
<author fullname=""> | <reference anchor="Huston-2022" target="https://iepg.org/2022-03-20-ietf | |||
<organization>Internet Assigned Numbers Authority</organization> | 113/huston-v6frag.pdf"> | |||
</author> | <front> | |||
<title>IPv6 Fragmentation and EH Behaviours</title> | ||||
<author fullname="Geoff Huston" initials="G." surname="Huston"> | ||||
<organization abbrev="APNIC"/> | ||||
<address> | ||||
<email>gih@apnic.net</email> | ||||
<uri>https://www.apnic.net</uri> | ||||
</address> | ||||
</author> | ||||
<author fullname="Joao Damas" initials="J." surname="Damas"> | ||||
<organization abbrev="APNIC"/> | ||||
</author> | ||||
<date month="March" year="2022"/> | ||||
</front> | ||||
<refcontent>IEPG Meeting at IETF 113"</refcontent> | ||||
</reference> | ||||
<date year="2014"/> | <reference anchor="NIMROD-EID"> | |||
</front> | <front> | |||
<title>Endpoint Identifier Destination Option</title> | ||||
<author initials="C." surname="Lynn" fullname="Dr. Charles W. Lynn Jr."> | ||||
</author> | ||||
<date month="March" day="2" year="1996" /> | ||||
</front> | ||||
<seriesInfo name="Internet-Draft" value="draft-ietf-nimrod-eid-00" /> | ||||
</reference> | ||||
<format target="https://www.iana.org/assignments/protocol-numbers/protoc | <reference anchor="NIMROD-DOC" target="http://ana-3.lcs.mit.edu/~jnc/nim | |||
ol-numbers.txt" | rod"> | |||
type="TXT"/> | <front> | |||
</reference> | <title>Nimrod Documentation</title> | |||
<author/> | ||||
</front> | ||||
</reference> | ||||
<reference anchor="IANA-IPV6-PARAM" | <reference anchor="Biondi-2007" target="http://www.secdev.org/conf/IPv6_ | |||
target="https://www.iana.org/assignments/ipv6-parameters/ipv6-p | RH_security-csw07.pdf"> | |||
arameters.xhtml"> | <front> | |||
<front> | <title>IPv6 Routing Header Security</title> | |||
<title>Internet Protocol Version 6 (IPv6) Parameters</title> | <author fullname="P. Biondi" initials="P." surname="Biondi"> | |||
<organization/> | ||||
</author> | ||||
<author fullname="A. Ebalard" initials="A." surname="Ebalard"> | ||||
<organization/> | ||||
</author> | ||||
<date month="April" year="2007"/> | ||||
</front> | ||||
<refcontent>CanSecWest Security Conference</refcontent> | ||||
</reference> | ||||
<author fullname=""> | <reference anchor="IANA-PROTOCOLS" target="https://www.iana.org/assignme | |||
<organization>Internet Assigned Numbers Authority</organization> | nts/protocol-numbers"> | |||
</author> | <front> | |||
<title>Protocol Numbers</title> | ||||
<author> | ||||
<organization>IANA</organization> | ||||
</author> | ||||
</front> | ||||
</reference> | ||||
<date month="December" year="2013"/> | <reference anchor="IANA-IPV6-PARAM" target="https://www.iana.org/assignm | |||
</front> | ents/ipv6-parameters"> | |||
</reference> | <front> | |||
<title>Internet Protocol Version 6 (IPv6) Parameters</title> | ||||
<author> | ||||
<organization>IANA</organization> | ||||
</author> | ||||
</front> | ||||
</reference> | ||||
<reference anchor="FW-Benchmark" target="https://www.ipv6hackers.org/files/m | <reference anchor="FW-Benchmark" target="https://www.ipv6hackers.org/fil | |||
eetings/ipv6-hackers-1/zack-ipv6hackers1-firewall-security-assessment-and-benchm | es/meetings/ipv6-hackers-1/zack-ipv6hackers1-firewall-security-assessment-and-be | |||
arking.pdf"> | nchmarking.pdf"> | |||
<front> | <front> | |||
<title abbrev="Firewall Benchmarking">Firewall Security Assessment and Benchma | <title abbrev="Firewall Benchmarking">Firewall Security Assessment a | |||
rking IPv6 Firewall Load Tests</title> | nd Benchmarking IPv6 Firewall Load Tests</title> | |||
<author initials="E." surname="Zack" fullname="Eldad Zack"> | <author initials="E." surname="Zack" fullname="Eldad Zack"> | |||
</author> | </author> | |||
<date year=""/> | <date month="June" year="2013"/> | |||
</front> | </front> | |||
<seriesInfo name="" value="IPv6 Hackers Meeting #1, Berlin, Germa | <refcontent>IPv6 Hackers Meeting #1, Berlin, Germany</refcontent> | |||
ny. June 30, 2013"/> | ||||
<!-- July 27 - August 1 --> | ||||
</reference> | </reference> | |||
<reference anchor="Cisco-EH" target="https://www.cisco.com/en/US/technologie | <reference anchor="Cisco-EH" target="https://www.cisco.com/en/US/technol | |||
s/tk648/tk872/technologies_white_paper0900aecd8054d37d.pdf"> | ogies/tk648/tk872/technologies_white_paper0900aecd8054d37d.pdf"> | |||
<front> | <front> | |||
<title abbrev="Cisco IPv6 EH">IPv6 Extension Headers Review and Considerations | <title abbrev="Cisco IPv6 EH">IPv6 Extension Headers Review and Cons | |||
</title> | iderations</title> | |||
<author initials="" surname="Cisco Systems" fullname="Cisco Systems"> | <author initials="" surname="" fullname=""> | |||
<organization>Cisco Systems</organization> | ||||
</author> | </author> | |||
<date year=""/> | <date month="October" year="2006"/> | |||
</front> | </front> | |||
<seriesInfo name="" value="Whitepaper. October 2006"/> | <refcontent>Whitepaper</refcontent> | |||
<!-- July 27 - August 1 --> | </reference> | |||
</reference> | <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D.gont-6m | |||
an-ipv6-opt-transmit.xml"/> | ||||
<reference anchor="draft-gont-6man-ipv6-opt-transmit"> | </references> | |||
<front> | ||||
<title>Transmission and Processing of IPv6 Options</title> | ||||
<author fullname="Fernando Gont" initials="F." surname="Gont"> | ||||
<organization>SI6 Networks / UTN-FRH</organization> | ||||
</author> | ||||
<author fullname="Will Liu" initials="W." surname="Liu"> | ||||
<organization></organization> | ||||
</author> | ||||
<author fullname="Ron Bonica" initials="R." surname="Bonica"> | ||||
<organization></organization> | ||||
</author> | ||||
<date month="August" year="2014"/> | ||||
</front> | ||||
<seriesInfo name="" | ||||
value="IETF Internet Draft, work in progress"/> | ||||
</reference> | ||||
</references> | </references> | |||
<section numbered="false" toc="default"> | ||||
<name>Acknowledgements</name> | ||||
</back> | <t>The authors would like to thank <contact fullname="Ron Bonica"/> for hi | |||
s work on earlier draft versions of this document.</t> | ||||
<t>The authors of this document would like to thank (in alphabetical order | ||||
) <contact fullname="Mikael Abrahamsson"/>, <contact fullname="Brian Carpenter"/ | ||||
>, <contact fullname="Tim Chown"/>, <contact fullname="Roman Danyliw"/>, <contac | ||||
t fullname="Darren Dukes"/>, <contact fullname="Lars Eggert"/>, <contact fullnam | ||||
e="David Farmer"/>, <contact fullname="Mike Heard"/>, <contact fullname="Bob Hin | ||||
den"/>, <contact fullname="Christian Huitema"/>, <contact fullname="Benjamin Kad | ||||
uk"/>, <contact fullname="Erik Kline"/>, <contact fullname="Murray Kucherawy"/>, | ||||
<contact fullname="Jen Linkova"/>, <contact fullname="Carlos Pignataro"/>, <con | ||||
tact fullname="Alvaro Retana"/>, <contact fullname="Maria Ines Robles"/>, <conta | ||||
ct fullname="Zaheduzzaman Sarker"/>, <contact fullname="Donald Smith"/>, <contac | ||||
t fullname="Pascal Thubert"/>, <contact fullname="Ole Troan"/>, <contact fullnam | ||||
e="Gunter Van de Velde"/>, <contact fullname="Éric Vyncke"/>, and <contact fulln | ||||
ame="Robert Wilton"/> for providing valuable comments on earlier draft versions | ||||
of this document.</t> | ||||
<t>This document borrows some text and analysis from <xref target="RFC7126 | ||||
" format="default"/>, which is authored by <contact fullname="Fernando Gont"/>, | ||||
<contact fullname="Randall Atkinson"/>, and <contact fullname="Carlos Pignataro" | ||||
/>.</t> | ||||
<t>The authors would like to thank <contact fullname="Warren Kumari"/> and | ||||
<contact fullname="Éric Vyncke"/> for their guidance during the publication pro | ||||
cess for this document.</t> | ||||
<t>Fernando would also like to thank <contact fullname="Brian Carpenter"/> | ||||
and <contact fullname="Ran Atkinson"/> who, over the years, have answered many | ||||
questions and provided valuable comments that have benefited his protocol-relate | ||||
d work (including the present document).</t> | ||||
</section> | ||||
</back> | ||||
</rfc> | </rfc> | |||
End of changes. 85 change blocks. | ||||
1695 lines changed or deleted | 1836 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. |