<?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.34 (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 RFC5996 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5996.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-03" 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">
      <organization>Ericsson</organization>
      <address>
        <email>harold.liu@ericsson.com</email>
      </address>
    </author>

    <date year="2023" month="July" day="26"/>

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

    <abstract>


<?line 41?>

<t>Agreeing on SA with specific Differentiated Services Field Codepoints (DSCP) is not possible today as traffic selector does not consider DSCP. 
This document enables to further specify DSCP the current traffic selectors with a new Traffic Selector Type.</t>

<t>The Traffic Selector Type can only be used in tunnel mode.</t>



    </abstract>



  </front>

  <middle>


<?line 48?>

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

<figure><artwork><![CDATA[
 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                      ~
|                                                               |
+---------------------------------------------------------------+
]]></artwork></figure>

<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. 
When not all DSCP values are considered, 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 understands MAY 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 have not been provided in the TS_DSCP of 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>When DSCP are specified, a single TS_DSCP MUST be included in the TSi.
If more than one TS_DSCP is found across the TSi/TSr an TS_UNACCEPTABLE Error Notify message MUST be returned.</t>

<t>TS_DSCP 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.
TS_DSCP refines the DSCP values to that resulting TS.
If refining the DSCP values is not possible, it MUST return a TS_UNACCEPTABLE Error Notify payload.</t>

<t>The responder supporting TS_DSCP selects a subset of the DSCP values sent by the initiator and MUST 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.
This results in the creation of the Child SA associated with the specific DSCP values. 
If the TS_DSCP values provided by the responder do not include some values provided by the initiator, 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 responder does not support TS_DCSP, according to <xref section="2.9" sectionFormat="comma" target="RFC5996"/>, TS_DSCP will be ignored and as such not provided by the responder in its TSi. <br />
A missing TS_DSCP indicates that DSCP is not considered as a traffic selector, that is to say all DSCP values are considered matching the policy.
If this is not acceptable to the initiator, the initiator MUST send a Delete Notify Payload.</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.
If that is acceptable to the initiator, this results in the creation of the Child SA associated with the specific DSCP values. 
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 match 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>One needs to consider that the DSCP field is a mutable field which means that the IP Authentication Header (AH) does not protect it.</t>

<t>As a result, DSCP is only used in the Tunnel mode where the DSCP value considered for the traffic selectors - and specified in the SA - is in the inner packet and thus protected.</t>

<t>In addition, DSCP values is not commonly used for access control policies as it values indicates <strong>how</strong> a packet is transit as opposed where that packet comes from / to.</t>

<t>As a result, security policies must ensure that a different DSCP value cannot be used to escape a security policy.
When security policies are set with DSCP values, all DSCP values SHOULD be associated with the same rule to prevent confidential traffic from being sent in clear or discarded. 
In particular, when a specific traffic associated with specific DSCP values is PROTECTed, traffic with other DSCP values SHOULD be PROTECTed.   
Eventually, it MAY be DISCARed but that traffic SHOULD NOT be BYPASSed.
To do so, as the SPD is an ordered data base, it is RECOMMENDed to introduce a SP that 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.
In that case, 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;
&RFC5996;


    </references>

    <references title='Informative References'>

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


    </references>


<?line 196?>

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

<t>The example shows a negotiation where each TSi / TSr are agreeing on DSCP values. 
The TS_DSCP could have been placed in TSr as well but not in both TS.</t>

<figure><artwork><![CDATA[
Initiator                         Responder
-------------------------------------------------------------------
HDR, SK {N(REKEY_SA), SA, Ni, [KEi,]
    TSi, TSr}   -->
    with:
      TSi = ( TS_IPV6_ADDR_RANGE, TS_DSCP )
      TSr = ( TS_IPV6_ADDR_RANGE )


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

</section>


  </back>

<!-- ##markdown-source:
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

-->

</rfc>

