<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSPY v5 rel. 3 U (http://www.xmlspy.com)
     by Daniel M Kohn (private) -->
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY rfc2119 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
]>
<rfc category="std" docName="draft-ietf-lsr-pce-discovery-security-support-09"
     ipr="trust200902" updates="5088,5089,8231,8306,8623">
  <front>
    <title abbrev="IGP discovery for PCEP Security">IGP extension for PCEP
    security capability support in the PCE discovery</title>

    <author fullname="Diego R. Lopez " initials="D" surname="Lopez">
      <organization>Telefonica I+D</organization>

      <address>
        <postal>
          <street/>

          <city/>

          <region/>

          <code/>

          <country>Spain</country>
        </postal>

        <email>diego.r.lopez@telefonica.com</email>
      </address>
    </author>

    <author fullname="Qin Wu" initials="Q." surname="Wu">
      <organization abbrev="Huawei">Huawei Technologies</organization>

      <address>
        <postal>
          <street>101 Software Avenue, Yuhua District</street>

          <city>Nanjing</city>

          <region>Jiangsu</region>

          <code>210012</code>

          <country>China</country>
        </postal>

        <email>bill.wu@huawei.com</email>
      </address>
    </author>

    <author fullname="Dhruv Dhody" initials="D." surname="Dhody">
      <organization abbrev="Huawei">Huawei Technologies</organization>

      <address>
        <postal>
          <street>Divyashree Techno Park, Whitefield</street>

          <city>Bangalore</city>

          <region>Karnataka</region>

          <code>560037</code>

          <country>India</country>
        </postal>

        <email>dhruv.ietf@gmail.com</email>
      </address>
    </author>

    <author fullname="Qiufang Ma" initials="Q." surname="Ma">
      <organization>Huawei</organization>

      <address>
        <postal>
          <street>101 Software Avenue, Yuhua District</street>

          <city>Nanjing</city>

          <region>Jiangsu</region>

          <code>210012</code>

          <country>China</country>
        </postal>

        <email>maqiufang1@huawei.com</email>
      </address>
    </author>

    <author fullname="Daniel King" initials="D" surname="King">
      <organization>Old Dog Consulting</organization>

      <address>
        <postal>
          <street/>

          <city/>

          <region/>

          <code/>

          <country>UK</country>
        </postal>

        <email>daniel@olddog.co.uk</email>
      </address>
    </author>

    <date year="2021"/>

    <area>Routing Area</area>

    <workgroup>PCE working group</workgroup>

    <keyword>RFC</keyword>

    <keyword>Request for Comments</keyword>

    <keyword>I-D</keyword>

    <keyword>Internet-Draft</keyword>

    <keyword>Path Computation Element</keyword>

    <abstract>
      <t>When a Path Computation Element (PCE) is a Label Switching Router
      (LSR) participating in the Interior Gateway Protocol (IGP), or even a
      server participating in IGP, its presence and path computation
      capabilities can be advertised using IGP flooding. The IGP extensions
      for PCE discovery (RFC 5088 and RFC 5089) define a method to advertise
      path computation capabilities using IGP flooding for OSPF and IS-IS
      respectively. However these specifications lack a method to advertise
      PCEP security (e.g., Transport Layer Security (TLS), TCP Authentication
      Option (TCP-AO)) support capability.</t>

      <t>This document defines capability flag bits for PCE-CAP-FLAGS sub-TLV
      that can be announced as an attribute in the IGP advertisement to
      distribute PCEP security support information. In addition, this document
      updates RFC 5088 and RFC 5089 to allow advertisement of Key ID or Key
      Chain Name Sub-TLV to support TCP-AO security capability. RFC 8231, RFC
      8306, and RFC 8623 are also updated to reflect the movement of the IANA
      "PCE Capability Flags" registry. </t>
    </abstract>
  </front>

  <middle>
    <section anchor="intro" title="Introduction">
      <t>As described in <xref target="RFC5440"/>, PCEP communication privacy
      is one importance issue, as an attacker that intercepts a Path
      Computation Element (PCE) message could obtain sensitive information
      related to computed paths and resources.</t>

      <t>Among the possible solutions mentioned in these documents, Transport
      Layer Security (TLS) <xref target="RFC8446"/> provides support for peer
      authentication, and message encryption and integrity while TCP
      Authentication Option (TCP-AO) <xref target="RFC5925"/> and
      Cryptographic Algorithms for TCP-AO <xref target="RFC5926"/> offer
      significantly improved security for applications using TCP. As specified
      in section 4 of <xref target="RFC8253"/>, in order for a Path
      Computation Client (PCC) to establish a connection with a PCE server
      using TLS or TCP-AO, PCC needs to know whether PCE server supports TLS
      or TCP-AO as a secure transport.</t>

      <t><xref target="RFC5088"/> and <xref target="RFC5089"/> define a method
      to advertise path computation capabilities using IGP flooding for OSPF
      and IS-IS respectively. However these specifications lack a method to
      advertise PCEP security (e.g., TLS) support capability.</t>

      <t>This document defines capability flag bits for PCE-CAP-FLAGS sub-TLV
      that can be announced as attributes in the IGP advertisement to
      distribute PCEP security support information. In addition, this document
      updates RFC5088 and RFC5089 to allow advertisement of Key ID or Key
      Chain Name Sub-TLV to support TCP-AO security capability.</t>

      <t>Note that the PCEP Open message exchange is another way to discover
      PCE capabilities information, but in this instance, the TCP security
      related key parameters need to be known before the PCEP session is
      established and the PCEP Open messages are exchanged. Thus, the use of
      the PCE discovery and capabilities advertisement of the IGP needs to be
      leveraged.</t>
    </section>

    <section title="Conventions used in this document">
      <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"/> when, and only when,
      they appear in all capitals, as shown here.</t>
    </section>

    <section title="IGP extension for PCEP security capability support">
      <t><xref target="RFC5088"/> defines a PCE Discovery (PCED) TLV carried
      in an OSPF Router Information Link State Advertisement (LSA) as defined
      in <xref target="RFC7770"/> to facilitate PCE discovery using OSPF. This
      document defines two capability flag bits in the OSPF PCE Capability
      Flags to indicate TCP Authentication Option (TCP-AO) support <xref
      target="RFC5925"/><xref target="RFC5926"/> and PCEP over TLS support
      <xref target="RFC8253"/> respectively.</t>

      <t>Similarly, <xref target="RFC5089"/> defines the PCED sub-TLV for use
      in PCE discovery using IS-IS. This document will use the same flag for
      the OSPF PCE Capability Flags sub-TLV to allow IS-IS to indicate TCP
      Authentication Option (TCP-AO) support, PCEP over TLS support
      respectively.</t>

      <t>The IANA assignments for shared OSPF and IS-IS Security Capability
      Flags are documented in <xref target="cap"/> ("OSPF PCE Capability
      Flags") of this document.</t>

      <section title="Use of PCEP security capability support for PCE discovery">
        <t>TCP-AO, PCEP over TLS support flag bits are advertised using IGP
        flooding. <list style="symbols">
            <t>PCE supports TCP-AO: IGP advertisement SHOULD include TCP-AO
            support flag bit.</t>

            <t>PCE supports TLS: IGP advertisement SHOULD include PCEP over
            TLS support flag bit.</t>
          </list>If PCE supports multiple security mechanisms, it SHOULD
        include all corresponding flag bits in IGP advertisement.</t>

        <t>If the client is restricted to a PCE server with TCP-AO support,
        the client MUST check if TCP-AO support flag bit in the PCE- CAP-FLAGS
        sub-TLV is set. If not, the client SHOULD NOT consider this PCE. If
        the client is restriced to a PCE server using TLS, the client MUST
        check if PCEP over TLS support flag bit in the PCE-CAP-FLAGS sub-TLV
        is set. If not, the client SHOULD NOT consider this PCE. Note that
        this can be overridden based on a local policy at the PCC.</t>
      </section>

      <section title="KEY-ID Sub-TLV">
        <t>The KEY-ID sub-TLV specifies a key that can be used by the PCC to
        identify the TCP-AO key <xref target="RFC5925"/>.</t>

        <t>The KEY-ID sub-TLV MAY be present in the PCED sub-TLV carried
        within the IS-IS Router Information Capability TLV when the capability
        flag bit of PCE-CAP-FLAGS sub-TLV in IS-IS is set to indicate TCP
        Authentication Option (TCP-AO) support. Similarly, this sub-TLV MAY be
        present in the PCED TLV carried within OSPF Router Information LSA
        when the capability flag bit of PCE-CAP-FLAGS sub-TLV in OSPF is set
        to indicate TCP-AO support.</t>

        <t>The KEY-ID sub-TLV has the following format:<list>
            <t>Type: 6</t>

            <t>Length: 4</t>

            <t>KeyID: The one octet Key ID as per <xref target="RFC5925"/> to
            uniquely identify the Master Key Tuple (MKT).</t>

            <t>Reserved: MUST be set to zero while sending and ignored on
            receipt.</t>
          </list></t>
      </section>

      <section title="KEY-CHAIN-NAME Sub-TLV">
        <t>The KEY-CHAIN-NAME sub-TLV specifies a keychain name that can be
        used by the PCC to identify the keychain <xref target="RFC8177"/>.</t>

        <t>The KEY-CHAIN-NAME sub-TLV MAY be present in the PCED sub-TLV
        carried within the IS-IS Router Information Capability TLV when the
        capability flag bit of PCE-CAP-FLAGS sub-TLV in IS-IS is set to
        indicate TCP Authentication Option (TCP-AO) support. Similarly, this
        sub-TLV MAY be present in the PCED TLV carried within OSPF Router
        Information LSA when the capability flag bit of PCE-CAP-FLAGS sub-TLV
        in OSPF is set to indicate TCP-AO support.</t>

        <t>The KEY-CHAIN-NAME sub-TLV has the following format:<list>
            <t>Type: 7</t>

            <t>Length: Variable</t>

            <t>Key Name: The Key Chain Name contains a string to be used to
            identify the key chain. It SHOULD be a string of printable ASCII
            characters, without a NULL terminator. The sub-TLV MUST be
            zero-padded so that the sub-TLV is 4-octet aligned.</t>
          </list></t>
      </section>
    </section>

    <section title="Update to RFC5088 and RFC5089">
      <t>Section 4 of <xref target="RFC5088"/> states that no new sub-TLVs
      will be added to the PCED TLV, and no new PCE information will be
      carried in the Router Information LSA. This document updates <xref
      target="RFC5088"/> by allowing the two sub-TLVs defined in this document
      to be carried in the PCED TLV advertised in the Router Information
      LSA.</t>

      <t>Section 4 of <xref target="RFC5089"/> states that no new sub-TLVs
      will be added to the PCED TLV, and no new PCE information will be
      carried in the Router CAPABLITY TLV. This document updates <xref
      target="RFC5089"/> by allowing the two sub-TLVs defined in this document
      to be carried in the PCED TLV advertised in the Router CAPABILITY
      TLV.</t>

      <t>The introduction of the additional sub-TLVs should be viewed as an
      exception to the [RFC5088][RFC5089] policy justified by the requirements
      to discover the PCEP security support prior to establishing a PCEP
      session. The restrictions defined in [RFC5089][RFC5089] should still be
      considered to be in place.</t>

      <t>The registry for the PCE Capability Flags assigned in section 8.2 of
      [RFC8231], section 6.9 of [RFC8306], and section 11.1 of [RFC8623] has
      changed to the IGP Parameters "Path Computation Element (PCE) Capability
      Flags" registry created in this document.</t>
    </section>

    <section title="Backward Compatibility Consideration">
      <t>An LSR that does not support the IGP PCE capability bits specified in
      this document silently ignores those bits.</t>

      <t>An LSR that does not support the KEYNAME sub-TLV specified in this
      document silently ignores the sub-TLV.</t>

      <t>IGP extensions defined in this document do not introduce any new
      interoperability issues.</t>
    </section>

    <section title="Management Considerations">
      <t>A configuration option may be provided for advertising and
      withdrawing PCEP security capability via OSPF and IS-IS.</t>
    </section>

    <section title="Security Considerations">
      <t>Security considerations as specified by <xref target="RFC5088"/> and
      <xref target="RFC5089"/> are applicable to this document.</t>

      <t>The information related to PCEP security is sensitive and due care
      needs to be taken by the operator. This document defines new capability
      bits that are susceptible to a downgrade attack by toggling them. The
      content of Key ID or Key Chain Name Sub-TLV can be tweaked to enable a
      man-in-the-middle attack. Thus before advertising the PCEP security
      parameters, using the mechanism described in this document, the IGP MUST
      be known to provide authentication and integrity for the PCED TLV using
      the mechanisms defined in [RFC5304], [RFC5310] or [RFC5709].</t>

      <t>Moreover, as stated in [RFC5088] and [RFC5089], if the IGP does not
      provide any encryption mechanisms to protect the secrecy of the PCED
      TLV, then the operator must ensure that no private data is carried in
      the TLV, e.g. that key-ids or key-chain names do not reveal sensitive
      information about the network.</t>
    </section>

    <section title="IANA Considerations">
      <section anchor="cap" title="PCE Capability Flag">
        <t>IANA is requested to move the "PCE Capability Flags" registry from
        "Open Shortest Path First v2 (OSPFv2) Parameters" to under the IANA
        Common IGP parameters registry and allocate new bits assignments for
        the IGP Parameters "Path Computation Element (PCE) Capability Flags"
        registry.</t>

        <figure>
          <artwork>
     Bit           Meaning                 Reference 
     xx            TCP-AO Support          [This.I.D] 
     xx            PCEP over TLS support   [This.I.D] 
</artwork>
        </figure>

        <t>The registry is located at:
        https://www.iana.org/assignments/igp-parameters/igp-parameters.xhtml</t>
      </section>

      <section title="PCED sub-TLV Type Indicators">
        <t>The PCED sub-TLVs were defined in <xref target="RFC5088"/> and
        <xref target="RFC5089"/>, but they did not create a registry for it.
        This document requests IANA to create a new subregistry called "PCED
        sub-TLV type indicators" under the "Interior Gateway Protocol (IGP)
        Parameters" registry. The registration policy for this subregistry is
        "IETF Review" [RFC8126]. Values in this subregistry come from the
        range 0-65535.</t>

        <t>This subregistry should be populated with:</t>

        <figure>
          <artwork>
     Value         Description             Reference 
     0             Reserved                [This.I.D][RFC5088]
     1             PCE-ADDRESS             [This.I.D][RFC5088]
     2             PATH-SCOPE              [This.I.D][RFC5088]
     3             PCE-DOMAIN              [This.I.D][RFC5088]
     5             PCE-CAP-FLAGS           [This.I.D][RFC5088]
     4             NEIG-PCE-DOMAIN         [This.I.D][RFC5088]  
     6             KEY-ID                  [This.I.D] 
     7             KEY-CHAIN-NAME          [This.I.D]    
</artwork>
        </figure>

        <t>This registry is located at:
        https://www.iana.org/assignments/igp-parameters/igp-parameters.xhtml
        and used by both OSPF PCED TLV and IS-IS PCED sub-TLV.</t>
      </section>
    </section>

    <section title="Acknowledgments">
      <t>The authors of this document would also like to thank Acee Lindem,
      Julien Meuric, Les Ginsberg, Ketan Talaulikar, Yaron Sheffer, Tom Petch,
      Aijun Wang, Adrian Farrel for the review and comments.</t>

      <t>The authors would also like to speical thank Michale Wang for his
      major contributions to the initial version.</t>
    </section>
  </middle>

  <back>
    <references title="Normative References">
      <?rfc include="reference.RFC.2119.xml"?>

      <?rfc include="reference.RFC.5088.xml"?>

      <?rfc include="reference.RFC.5089.xml"?>

      <?rfc include="reference.RFC.5925.xml"?>

      <?rfc include="reference.RFC.5926.xml"?>

      <?rfc include="reference.RFC.8253.xml"?>

      <?rfc include="reference.RFC.8177.xml"?>

      <!--<?rfc include="reference.RFC.7210.xml"?>-->

      <!--<?rfc include="reference.RFC.6823.xml"?>-->

      <?rfc include="reference.RFC.8174.xml"?>

      <?rfc include="reference.RFC.7770.xml"?>

      <?rfc include="reference.RFC.5304.xml"?>

      <?rfc include="reference.RFC.5310.xml"?>

      <?rfc include="reference.RFC.5709.xml"?>

      <?rfc include="reference.RFC.8126.xml"?>

      <?rfc include="reference.RFC.8231.xml"?>

      <?rfc include="reference.RFC.8306.xml"?>

      <?rfc include="reference.RFC.8623.xml"?>
    </references>

    <references title="Informative References">
      <?rfc include="reference.RFC.5440.xml"?>

      <?rfc include="reference.RFC.8446.xml"?>
    </references>

    <section title="No MD5 Capability Support">
      <t>To be compliant with Section 10.2 of RFC5440, this document doesn't
      consider adding capability for TCP-MD5. Therefore by default, a PCEP
      Speaker supports the capability for TCP-MD5 (See section 10.2, <xref
      target="RFC5440"/>). A method to advertise TCP-MD5 Capability support
      using IGP flooding is not required. If the client is looking for a PCE
      server with other Security capability support (e.g., TLS support) than
      TCP-MD5, the client MUST check if the corresponding flag bit in the
      PCE-CAP-FLAGS sub-TLV is set (See section 3.1). Irrespective of which
      security capability (e.g., TCP-MD5) is selected, the same key-ids or
      key-chain names on the PCC and PCE server should be configured.</t>
    </section>
  </back>
</rfc>
