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


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

<!ENTITY RFC4301 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4301.xml">
<!ENTITY RFC7296 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7296.xml">
<!ENTITY I-D.ietf-ipsecme-labeled-ipsec SYSTEM "https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-ipsecme-labeled-ipsec.xml">
]>


<rfc ipr="trust200902" docName="draft-mglt-ipsecme-ts-dscp-02" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="TS_DSCP">Traffic Selector for Internet Key Exchange version 2 to add support Differentiated Services Field Codepoints (DSCP)</title>

    <author initials="D." surname="Migault" fullname="Daniel Migault">
      <organization>Ericsson</organization>
      <address>
        <email>daniel.migault@ericsson.com</email>
      </address>
    </author>
    <author initials="J." surname="Halpern" fullname="Joel Halpern">
      <organization>Ericsson</organization>
      <address>
        <email>joel.halpern@ericsson.com</email>
      </address>
    </author>
    <author initials="U." surname="Parkholm" fullname="U. Parkholm">
      <organization>Ericsson</organization>
      <address>
        <email>ulf.x.parkholm@ericsson.com</email>
      </address>
    </author>
    <author initials="D." surname="Liu" fullname="Daiying Liu" role="editor">
      <organization>Ericsson</organization>
      <address>
        <email>harold.liu@ericsson.com</email>
      </address>
    </author>

    <date year="2023" month="April" day="18"/>

    <area>Security</area>
    <workgroup>IPsecme</workgroup>
    <keyword>Internet-Draft</keyword>

    <abstract>


<t>This document defines a new Traffic Selector for Internet Key Exchange version 2 to add support Differentiated Services Field Codepoints (DSCP) as  a traffic selector of the  Security Policy Database (SPD).
The new Traffic Selector type TS_DSCP consists of DSCP values associated to the negotiated SA.</t>



    </abstract>



  </front>

  <middle>


<section anchor="introduction"><name>Introduction</name>

<t><xref target="RFC4301"/> does not include Differentiated Services Field Codepoints (DSCP) as Traffic Selectors (TS). 
<xref section="4.1" sectionFormat="comma" target="RFC4301"/> acknowledges that aggregating traffic with mutliple DSCP over the same SA may result in inappropriate discarding of lower priority packets due to the windowing mechanism used by this feature. 
However, to address such concern, <xref section="4.1" sectionFormat="comma" target="RFC4301"/> recommends the sender implements a "classifier" mechanism which dispatches the traffic over multiple SAs.</t>

<t>Such "classifier" results in inbound and outbound traffic may take SA negotiated via different IKEv2 sessions and thus makes SA management more complex with an unnecessary SAs.
This causes both a resource issue - especially with hardware implementations that are designed with a limited number of SAs - as well operational and management issues.<br />
Typically, if the DSCP values are negotiated the initiator and the responder can agree to send a set of DSCP value over one SA and another set of DSCP value over a second channel.
If DSCP values are not agreed and between (for example) 2 SAs, it is unlikely the initiator and the responder miraculously select the same subset of DSCP values over the same SAs.
Instead each peer is likely that inbound and outbound traffic take different SA and as such does not solve the issue of discarding lower priority packets associated to different class of traffic sharing a given SA. 
This makes traffic management at least much harder as if not impossible. 
Increasing the number of SAs as to lower the traffic rate over each of these SA might reduce the probability of packet being dropped, but is not deterministic and as such cannot be considered as a solution especially when considering hardware with a hard limitation on the number of SAs.</t>

<t>This document specifies a new Traffic Selector Type TS_DSCP for IKEv2 that can be used to negotiate DSCP as additional selectors for the Security Policy Database (SPD) to further restrict the type of traffic allowed to be sent and received over the IPsec SA.</t>

<t>This document follows the clarification between Traffic Selector and Traffic Selector payload (TS) described in <xref section="1.2" sectionFormat="comma" target="I-D.ietf-ipsecme-labeled-ipsec"/> and uses TS only to designate the TSi/TSr payload. 
This document uses TS_DSCP to designates the TS_TYPE value of the Traffic Selector payload with a specific TS_TYPE set to TS_DSCP.</t>

</section>
<section anchor="tsdscp-traffic-selector-type"><name>TS_DSCP Traffic Selector Type</name>

<t>This document defines a new TS_TYPE, TS_DSCP that contains a list of opaque DSCP value.</t>

<section anchor="tsdscp-payload-format"><name>TS_DSCP payload format</name>

<t><spanx style="verb">
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+---------------+---------------+-------------------------------+
|   TS Type     |    Reserved   |       Selector Length         |
+---------------+---------------+-------------------------------+
|                                                               |
~                      List of DSCP Values                      ~
|                                                               |
+---------------------------------------------------------------+
</spanx></t>

<t>As mentioned in <xref section="3.13.1" sectionFormat="comma" target="RFC7296"/>, All fields other than TS Type and Selector Length depend on the TS Type.</t>

<t><list style="symbols">
  <t>TS Type (one octet) - Set to TBD1 for TS_DSCP</t>
  <t>Selector Length (2 octets, unsigned integer) - Specifies the length of this Traffic Selector substructure including the header.</t>
  <t>Reserved (one octet): MUST be set to zero by the sender and MUST be ignored by the receiver.</t>
  <t>List of DSCP Values: The concatenation of the DSCP values associated to the SA. Each value is coded over one octet and considered as opaque value by the SAD. 
DSCP values are ordered in an increasing number.</t>
</list></t>

</section>
<section anchor="tsdscp-properties"><name>TS_DSCP properties</name>

<t>A TS MUST NOT contain more than one TS_DSCP. Values contained in the TS_DSCP MUST be unique and ordered in increasing number. 
If these conditions are not met, an TS_UNACCEPTABLE Error Notify message MUST be returned.</t>

<t>The absence of the TS_DSCP indicates that all DSCP values will match the SA. 
A TS_DSCP MUST explicitly contain all DSCP values that a valid IP packet MUST match.</t>

<t>A zero length list of DSCP Values indicates that no DSCP values are associated to the SA.
In other words, no traffic qualifies.
Upon receiving such a TS_DSCP a TS_UNACCEPTABLE Error Notify message MUST be returned by the IKEv2 responder.</t>

<t>A responder that understandsMAY respond with a TS_DSCP that contains a subset of the set of values sent by the initiator.
In any other cases, a TS_UNACCEPTABLE Error Notify message MUST be returned by the IKEv2 responder.</t>

<t>If the presence and values of the TS_DSCP provided by the responder does not exactly matches the presence and the values of the TS_DSCP provided by the initiator, the initiator MUST NOT create Child SAs and SHOULD send a Delete notification for the Child SA so the responder can uninstall its Child SA.</t>

</section>
</section>
<section anchor="traffic-selector-negotiation"><name>Traffic Selector negotiation</name>

<t>TS_DSCP MUST MUST be used along with an IP address selector type such as TS_IPV4_ADDR_RANGE and/or TS_IPV6_ADDR_RANGE. 
If this condition is not met an TS_UNACCEPTABLE Error Notify message MUST be returned.</t>

<t>If the TS contains a TS_DSCP along with another TS_TYPE, the responder MUST create each TS response for the Traffic Selector of TS_TYPE TS_IPV4_ADDR_RANGE or TS_IPV6_ADDR_RANGE, using its normal rules specified for each of those TS_TYPE. 
The responder includes the acceptable DSCP values. These values will apply to all Traffic Selectors mentioned in the resulting TS.
If this is not possible, it MUST return a TS_UNACCEPTABLE Error Notify payload.</t>

<t>The responder MAY respond select a subset of the DSCP values sent by the initiator and send a TS_DSCP payload or omit that TS_DSCP payload.
If the responder provides the TS_DSCP, the initiator creates the SA with the specified subset of DSCP values.</t>

<t>If the subset of DSCP values do no match those of the initiator, this may indicate the responder's policy might be stricter regarding DSCP values. 
The initiator created the Child SA with the subset of DSCP values.
The initiator SHOULD (upon local configuration) try to negotiate a separate SA associated to the missing DSCP values.
The other selectors of different TS_TYPE SHOULD take the same values as the initial ones.</t>

<t>If the TS_DSCP is omitted the initiator (upon local configuration) MAY accept the response in which case DSCP is not considered as a traffic selector, that is to say all DSCP values are considered matching the policy.
On the other hand, the initiator (upon local configuration) MAY also reject the offer and send a Delete Notify Payload.</t>

<t>If the responder  returns a TS_UNACCEPTABLE Error Notify Payload, this might result in the responder not supporting TS_DSCP - though discarding the TS_DSCP would have been more appropriated. 
The initiator (upon local configuration) MAY restart the IKE negotiation with the same TSi/Tsr but removing the TS_DSCP.</t>

</section>
<section anchor="ipsec-encapsulation"><name>IPsec encapsulation</name>

<t>This document creates the DSCP traffic selector which complements those defined by <xref target="RFC4301"/>.</t>

<t>A IP packet match the DSCP selector when its DSCP value matches the one (or one of those) specified by the DSCP selector.
When DSCP is not specified or is an empty list, it is understood as bypassing the DSCP values, which means that all DSCP values will result in a match.
In other words, the non existing DSCP can be replaced by the DSCP array 0 - 255.
These various representations are matching the the description of "DSCP values" in the SA.
However TS_DSCP does not accept an empty list and an implementation MUST omit the TS_DSCP to be sent - sending 256 possible values is not RECOMMENDED for obvious reasons.</t>

<t>In the SPD, the PFP flags applies to the DSCP selector and means that a new SA is created when a SDP match occurs without any existing SA matching the specific DSCP value of the IP header.<br />
The SAD defines "DSCP values" to indicate the specific values that matche the SA (see <xref target="RFC4301"/> Section 4.4.2.1..
When used in conjunction of the traffic selector DSCP, this field MUST either take the same values as those of the DSCP traffic selector or be left emtpy.
Note that the difference between the DSCP traffic selector and the "DSCP values" is that values specified by the DSCP traffic selector MUST be checked against inbound traffic arriving on the SA, while values specified by the "DSCP values" MUST NOT be checked.</t>

<t>"Bypass DSCP" remains unchanged. However, when the tunnel mode is used, it is RECOMMENDED to map the inner DSCP value to the outer DSCP value of the header.</t>

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

<t>IANA is requested to allocate two values in the "IKEv2 Traffic Selector Types" registry
(available at https://www.iana.org/assignments/ikev2-parameters/ikev2-parameters.xhtml#ikev2-parameters-16) with the following definition:</t>

<figure><artwork><![CDATA[
+=======+======================+
| Value | TS Type  | REFERENCE |
+=======+ =====================+
| TBD1  | TS_DSCP  | This-RFC  |
+-------+----------------------+
]]></artwork></figure>

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

<t>A packet that matches an SPD entry for all components except the DSCP values would be treated as "not matching".
If no other SPD entries match, the traffic might end up being transmitted in the clear.</t>

<t>It is not different from ensuring that IP traffic is not sent in clear text and it is presumed that the IPsec subsystem itself would install a REJECT/DISCARD rule in the SPD to prevent that traffic from being transmitted without IPsec protection.</t>

<t>To avoid such situation, it is RECOMMENDED to introduce a SP to does not consider the DSCP values after those SP specifying the DSCP.
This is very similar to placing a default SP that protects all traffic by default.</t>

<t>Upon receiving a TS_UNACCEPTABLE Error Notify or an incorrect response, the initiator MAY retry the IKEv2 negotiation without specifying the DSCP values.
The initiator MAY handle the DSCP value on its own for outbound traffic, but MUST be prepared to receive any DSCP values from the responder.</t>

</section>
<section anchor="acknowledgements"><name>Acknowledgements</name>

</section>


  </middle>

  <back>


    <references title='Normative References'>

&RFC4301;
&RFC7296;


    </references>

    <references title='Informative References'>

&I-D.ietf-ipsecme-labeled-ipsec;


    </references>


<section anchor="illustrative-example"><name>Illustrative Example</name>

<t>The example shows a negotiation where each TSi / TSr are negotiating different values of DSCP.
The purpose of this example is to show this is theoretically feasible, but we currently expect that  TS_DSCP_LIST1 and TS_DSCP_LIST2 have the same values.</t>

<t>```
Initiator                         Responder
-------------------------------------------------------------------
HDR, SK {N(REKEY_SA), SA, Ni, [KEi,]
    TSi, TSr}   --&gt;
    with:
      TSi = ( TS_IPV6_ADDR_RANGE, TS_DSCP_LIST1 )
      TSr = ( TS_IPV6_ADDR_RANGE, TS_DSCP_LIST2 )</t>

<figure><artwork><![CDATA[
                            <--  HDR, SK {SA, Nr, [KEr,]
                                     TSi, TSr}
with:
  TSi = ( TS_IPV6_ADDR_RANGE, TS_DSCP_LIST1 )
  TSr = ( TS_IPV6_ADDR_RANGE, TS_DSCP_LIST2 ) ```
]]></artwork></figure>

</section>


  </back>

<!-- ##markdown-source:
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
kD4tnvkxTAB6v57hFKWyqKBqSi+5UIoBdo2ERFkS+8sWtR2pz8Sbt/Mbz8ss
/P8qa3w50eT9ZJ34FCQ1NhYcKnK4HdP8B6B0JqiepIoDpFaEwHcgC90rGynx
mFGw99xH6TZKu7RNLVl8Fq0fnQPh+GFByvlkShbYzSiN9aMAHkmFRpOZ+JgM
phSBrFq2spR0V9r3iiaEA7bM5Q83kf18DcHwIjkb2g2+FZ7yywaS56mjhetC
kwKcI7YCHpCOs2SfCFH2rH01EVPlXFUngiH+7u3l5Px8dnUz+fb1TMysBWIu
kQYst3gIVc1KNWtbBQhBthCAFXU6FKrFJvYEWVGGUvhtSmM4V9e4G40LORWA
zV56Y3U0VXclcgpdIW5Gw+1O4+emXzpFbhBzOR7Os3tvnHjMBifJDvDZjriF
2SsuDgKQstXAFhtsBVwVI2NS80sNschD8dhb1BHBFWiDOHuUjbry79uDCF6f
zTXFytgHyEmnfGGlavrqKsDGvZn8GO/GpOC+MN0WN97f+WuwCydqi53qyRtF
FttgmATpIAzzT9DRgxsepzwEySFi8dVHI5zyVqddUoqWaaomFIgJQS3vdCV6
M9OFz5u9McXJTl3ZEgE8FRng+Vpnqa9rKLx898Pb19NYM09B3RU7apvIxqw7
jkOZcaD6Bj2gzCRX0Sjs4rPjkNPtRoaY8IfWWs8DG8Kh4kBmBsiNHQ84W9My
6vX/PLQ5Z724+svzd5Pp9Prd9eTyzzNS8omPebjzonOnYSom8UBUsfzKmcR/
B0s1QAEVd4DdOF9XLw/ZJnftG5dnD1vHZSYm9HdBsHFv9gwMsMQ8+4BNDtoD
EZ95nPavoKw3E7bOyOFC0OdkuFPqGteUAr6E6Iod+qIe0jJJVIkaLeuF1zEF
Yad67CzL0lcshKT9Bmkvswp2or4dxL6Zj9v9DLsYK3zuvLAh/R49xAuxMIrh
prMbHQ4LHZldtupy+EGuYr8LDrdbbtDWoRT3hLhzc9xgqpUnsIDrUsMuAXjw
uBA+POiYVpt9PdhL6rLd4WZTaijyxIBKcAgm6HER92i2TbDrK/DvDpvERbzv
mFDCxxU7F++r0D7qgcZvya56aZ+jWiXvUa0/R2DBo5oiZmYSYB9Ou9Sr2ncy
jxFft/1OBXUHS8ktIOqJ7QXqXDu3K7tfNjYdI6i5VRZbX9Frg0TcfWv6eU1a
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

-->

</rfc>

