| rfc9303xml2.original.xml | rfc9303.xml | |||
|---|---|---|---|---|
| <?xml version="1.0" encoding="US-ASCII"?> | <?xml version='1.0' encoding='utf-8'?> | |||
| <!DOCTYPE rfc SYSTEM "rfc2629.dtd"> | <rfc xmlns:xi="http://www.w3.org/2001/XInclude" version="3" category="std" conse | |||
| <?rfc toc="yes"?> | nsus="true" docName="draft-ietf-lisp-sec-29" indexInclude="true" ipr="trust20090 | |||
| <?rfc tocompact="yes"?> | 2" number="9303" prepTime="2022-10-19T14:23:12" scripts="Common,Latin" sortRefs= | |||
| <?rfc tocdepth="3"?> | "true" submissionType="IETF" symRefs="true" tocDepth="3" tocInclude="true" xml:l | |||
| <?rfc tocindent="yes"?> | ang="en"> | |||
| <?rfc symrefs="yes"?> | <link href="https://datatracker.ietf.org/doc/draft-ietf-lisp-sec-29" rel="prev | |||
| <?rfc sortrefs="yes"?> | "/> | |||
| <?rfc comments="yes"?> | <link href="https://dx.doi.org/10.17487/rfc9303" rel="alternate"/> | |||
| <?rfc inline="yes"?> | <link href="urn:issn:2070-1721" rel="alternate"/> | |||
| <?rfc compact="yes"?> | ||||
| <?rfc subcompact="no"?> | ||||
| <rfc category="std" docName="draft-ietf-lisp-sec-29" ipr="trust200902"> | ||||
| <front> | <front> | |||
| <title abbrev="LISP-SEC">LISP-Security (LISP-SEC)</title> | <title abbrev="LISP-SEC">Locator/ID Separation Protocol Security (LISP-SEC)< | |||
| /title> | ||||
| <author fullname="Fabio Maino" initials="F.M" surname="Maino"> | <seriesInfo name="RFC" value="9303" stream="IETF"/> | |||
| <organization>Cisco Systems</organization> | <author fullname="Fabio Maino" initials="F" surname="Maino"> | |||
| <organization showOnFrontPage="true">Cisco Systems</organization> | ||||
| <address> | <address> | |||
| <postal> | <postal> | |||
| <street>170 Tasman Drive</street> | <street/> | |||
| <city>San Jose</city> | <city>San Jose</city> | |||
| <code/> | ||||
| <code>95134</code> | <region>CA</region> | |||
| <country>United States of America</country> | ||||
| <region>California</region> | ||||
| <country>USA</country> | ||||
| </postal> | </postal> | |||
| <email>fmaino@cisco.com</email> | <email>fmaino@cisco.com</email> | |||
| </address> | </address> | |||
| </author> | </author> | |||
| <author fullname="Vina Ermagan" initials="V" surname="Ermagan"> | ||||
| <author fullname="Vina Ermagan" initials="V.E" surname="Ermagan"> | <organization showOnFrontPage="true">Google, Inc.</organization> | |||
| <organization>Google</organization> | ||||
| <address> | <address> | |||
| <postal> | <postal> | |||
| <street/> | <street>1600 Amphitheatre Parkway</street> | |||
| <city>Mountain View</city> | ||||
| <city/> | <region>CA</region> | |||
| <code>94043</code> | ||||
| <code/> | <country>United States of America</country> | |||
| <region>California</region> | ||||
| <country>USA</country> | ||||
| </postal> | </postal> | |||
| <email>ermagan@gmail.com</email> | <email>ermagan@gmail.com</email> | |||
| </address> | </address> | |||
| </author> | </author> | |||
| <author fullname="Albert Cabellos" initials="A" surname="Cabellos"> | ||||
| <author fullname="Albert Cabellos" initials="A.C" surname="Cabellos"> | <organization showOnFrontPage="true">Universitat Politecnica de Catalunya< | |||
| <organization>Universitat Politecnica de Catalunya</organization> | /organization> | |||
| <address> | <address> | |||
| <postal> | <postal> | |||
| <street>c/ Jordi Girona s/n</street> | <street>c/ Jordi Girona s/n</street> | |||
| <city>Barcelona</city> | <city>Barcelona</city> | |||
| <code>08034</code> | <code>08034</code> | |||
| <region/> | <region/> | |||
| <country>Spain</country> | <country>Spain</country> | |||
| </postal> | </postal> | |||
| <email>acabello@ac.upc.edu</email> | <email>acabello@ac.upc.edu</email> | |||
| </address> | </address> | |||
| </author> | </author> | |||
| <author fullname="Damien Saucez" initials="D" surname="Saucez"> | ||||
| <author fullname="Damien Saucez" initials="D.S" surname="Saucez"> | <organization showOnFrontPage="true">Inria</organization> | |||
| <organization>Inria</organization> | ||||
| <address> | <address> | |||
| <postal> | <postal> | |||
| <street>2004 route des Lucioles - BP 93</street> | <street>2004 route des Lucioles - BP 93</street> | |||
| <city>Sophia Antipolis</city> | <city>Sophia Antipolis</city> | |||
| <code/> | <code/> | |||
| <region/> | <region/> | |||
| <country>France</country> | <country>France</country> | |||
| </postal> | </postal> | |||
| <email>damien.saucez@inria.fr</email> | <email>damien.saucez@inria.fr</email> | |||
| </address> | </address> | |||
| </author> | </author> | |||
| <date month="10" year="2022"/> | ||||
| <date /> | <area>rtg</area> | |||
| <workgroup>lisp</workgroup> | ||||
| <area>Internet</area> | <keyword>LISP</keyword> | |||
| <keyword>deployment</keyword> | ||||
| <workgroup>Network Working Group</workgroup> | <abstract pn="section-abstract"> | |||
| <t indent="0" pn="section-abstract-1">This memo specifies Locator/ID Separ | ||||
| <keyword>LISP; deployment</keyword> | ation Protocol Security (LISP-SEC), a set of security mechanisms | |||
| that provides origin authentication, integrity, and anti-replay protection | ||||
| <abstract> | to the | |||
| <t>This memo specifies LISP-SEC, a set of security mechanisms that | LISP's Endpoint-ID-to-Routing-Locator (EID-to-RLOC) mapping data conveyed | |||
| provides origin authentication, integrity and anti-replay protection to | via the mapping lookup process. | |||
| LISP's EID-to-RLOC mapping data conveyed via the mapping lookup process. | LISP-SEC also enables verification of authorization on EID-Prefix claims | |||
| LISP-SEC also enables verification of authorization on EID-prefix claims | ||||
| in Map-Reply messages.</t> | in Map-Reply messages.</t> | |||
| </abstract> | </abstract> | |||
| <boilerplate> | ||||
| <section anchor="status-of-memo" numbered="false" removeInRFC="false" toc= | ||||
| "exclude" pn="section-boilerplate.1"> | ||||
| <name slugifiedName="name-status-of-this-memo">Status of This Memo</name | ||||
| > | ||||
| <t indent="0" pn="section-boilerplate.1-1"> | ||||
| This is an Internet Standards Track document. | ||||
| </t> | ||||
| <t indent="0" pn="section-boilerplate.1-2"> | ||||
| This document is a product of the Internet Engineering Task Force | ||||
| (IETF). It represents the consensus of the IETF community. It has | ||||
| received public review and has been approved for publication by | ||||
| the Internet Engineering Steering Group (IESG). Further | ||||
| information on Internet Standards is available in Section 2 of | ||||
| RFC 7841. | ||||
| </t> | ||||
| <t indent="0" pn="section-boilerplate.1-3"> | ||||
| Information about the current status of this document, any | ||||
| errata, and how to provide feedback on it may be obtained at | ||||
| <eref target="https://www.rfc-editor.org/info/rfc9303" brackets="non | ||||
| e"/>. | ||||
| </t> | ||||
| </section> | ||||
| <section anchor="copyright" numbered="false" removeInRFC="false" toc="excl | ||||
| ude" pn="section-boilerplate.2"> | ||||
| <name slugifiedName="name-copyright-notice">Copyright Notice</name> | ||||
| <t indent="0" pn="section-boilerplate.2-1"> | ||||
| Copyright (c) 2022 IETF Trust and the persons identified as the | ||||
| document authors. All rights reserved. | ||||
| </t> | ||||
| <t indent="0" pn="section-boilerplate.2-2"> | ||||
| This document is subject to BCP 78 and the IETF Trust's Legal | ||||
| Provisions Relating to IETF Documents | ||||
| (<eref target="https://trustee.ietf.org/license-info" brackets="none | ||||
| "/>) in effect on the date of | ||||
| publication of this document. Please review these documents | ||||
| carefully, as they describe your rights and restrictions with | ||||
| respect to this document. Code Components extracted from this | ||||
| document must include Revised BSD License text as described in | ||||
| Section 4.e of the Trust Legal Provisions and are provided without | ||||
| warranty as described in the Revised BSD License. | ||||
| </t> | ||||
| </section> | ||||
| </boilerplate> | ||||
| <toc> | ||||
| <section anchor="toc" numbered="false" removeInRFC="false" toc="exclude" p | ||||
| n="section-toc.1"> | ||||
| <name slugifiedName="name-table-of-contents">Table of Contents</name> | ||||
| <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-to | ||||
| c.1-1"> | ||||
| <li pn="section-toc.1-1.1"> | ||||
| <t indent="0" keepWithNext="true" pn="section-toc.1-1.1.1"><xref der | ||||
| ivedContent="1" format="counter" sectionFormat="of" target="section-1"/>. <xref | ||||
| derivedContent="" format="title" sectionFormat="of" target="name-introduction"> | ||||
| Introduction</xref></t> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.2"> | ||||
| <t indent="0" keepWithNext="true" pn="section-toc.1-1.2.1"><xref der | ||||
| ivedContent="2" format="counter" sectionFormat="of" target="section-2"/>. <xref | ||||
| derivedContent="" format="title" sectionFormat="of" target="name-requirements-n | ||||
| otation">Requirements Notation</xref></t> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.3"> | ||||
| <t indent="0" keepWithNext="true" pn="section-toc.1-1.3.1"><xref der | ||||
| ivedContent="3" format="counter" sectionFormat="of" target="section-3"/>. <xref | ||||
| derivedContent="" format="title" sectionFormat="of" target="name-definitions-of | ||||
| -terms">Definitions of Terms</xref></t> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.4"> | ||||
| <t indent="0" pn="section-toc.1-1.4.1"><xref derivedContent="4" form | ||||
| at="counter" sectionFormat="of" target="section-4"/>. <xref derivedContent="" f | ||||
| ormat="title" sectionFormat="of" target="name-lisp-sec-threat-model">LISP-SEC Th | ||||
| reat Model</xref></t> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.5"> | ||||
| <t indent="0" pn="section-toc.1-1.5.1"><xref derivedContent="5" form | ||||
| at="counter" sectionFormat="of" target="section-5"/>. <xref derivedContent="" f | ||||
| ormat="title" sectionFormat="of" target="name-protocol-operations">Protocol Oper | ||||
| ations</xref></t> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.6"> | ||||
| <t indent="0" pn="section-toc.1-1.6.1"><xref derivedContent="6" form | ||||
| at="counter" sectionFormat="of" target="section-6"/>. <xref derivedContent="" f | ||||
| ormat="title" sectionFormat="of" target="name-lisp-sec-control-messages-d">LISP- | ||||
| SEC Control Messages Details</xref></t> | ||||
| <ul bare="true" empty="true" indent="2" spacing="compact" pn="sectio | ||||
| n-toc.1-1.6.2"> | ||||
| <li pn="section-toc.1-1.6.2.1"> | ||||
| <t indent="0" pn="section-toc.1-1.6.2.1.1"><xref derivedContent= | ||||
| "6.1" format="counter" sectionFormat="of" target="section-6.1"/>. <xref derived | ||||
| Content="" format="title" sectionFormat="of" target="name-encapsulated-control-m | ||||
| essag">Encapsulated Control Message LISP-SEC Extensions</xref></t> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.6.2.2"> | ||||
| <t indent="0" pn="section-toc.1-1.6.2.2.1"><xref derivedContent= | ||||
| "6.2" format="counter" sectionFormat="of" target="section-6.2"/>. <xref derived | ||||
| Content="" format="title" sectionFormat="of" target="name-map-reply-lisp-sec-ext | ||||
| ensio">Map-Reply LISP-SEC Extensions</xref></t> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.6.2.3"> | ||||
| <t indent="0" pn="section-toc.1-1.6.2.3.1"><xref derivedContent= | ||||
| "6.3" format="counter" sectionFormat="of" target="section-6.3"/>. <xref derived | ||||
| Content="" format="title" sectionFormat="of" target="name-map-register-lisp-sec- | ||||
| exten">Map-Register LISP-SEC Extensions</xref></t> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.6.2.4"> | ||||
| <t indent="0" pn="section-toc.1-1.6.2.4.1"><xref derivedContent= | ||||
| "6.4" format="counter" sectionFormat="of" target="section-6.4"/>. <xref derived | ||||
| Content="" format="title" sectionFormat="of" target="name-itr-processing-generat | ||||
| ing-a">ITR Processing: Generating a Map-Request</xref></t> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.6.2.5"> | ||||
| <t indent="0" pn="section-toc.1-1.6.2.5.1"><xref derivedContent= | ||||
| "6.5" format="counter" sectionFormat="of" target="section-6.5"/>. <xref derived | ||||
| Content="" format="title" sectionFormat="of" target="name-encrypting-and-decrypt | ||||
| ing-a">Encrypting and Decrypting an OTK</xref></t> | ||||
| <ul bare="true" empty="true" indent="2" spacing="compact" pn="se | ||||
| ction-toc.1-1.6.2.5.2"> | ||||
| <li pn="section-toc.1-1.6.2.5.2.1"> | ||||
| <t indent="0" pn="section-toc.1-1.6.2.5.2.1.1"><xref derived | ||||
| Content="6.5.1" format="counter" sectionFormat="of" target="section-6.5.1"/>. < | ||||
| xref derivedContent="" format="title" sectionFormat="of" target="name-unencrypte | ||||
| d-otk">Unencrypted OTK</xref></t> | ||||
| </li> | ||||
| </ul> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.6.2.6"> | ||||
| <t indent="0" pn="section-toc.1-1.6.2.6.1"><xref derivedContent= | ||||
| "6.6" format="counter" sectionFormat="of" target="section-6.6"/>. <xref derived | ||||
| Content="" format="title" sectionFormat="of" target="name-map-resolver-processin | ||||
| g">Map-Resolver Processing</xref></t> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.6.2.7"> | ||||
| <t indent="0" pn="section-toc.1-1.6.2.7.1"><xref derivedContent= | ||||
| "6.7" format="counter" sectionFormat="of" target="section-6.7"/>. <xref derived | ||||
| Content="" format="title" sectionFormat="of" target="name-map-server-processing" | ||||
| >Map-Server Processing</xref></t> | ||||
| <ul bare="true" empty="true" indent="2" spacing="compact" pn="se | ||||
| ction-toc.1-1.6.2.7.2"> | ||||
| <li pn="section-toc.1-1.6.2.7.2.1"> | ||||
| <t indent="0" pn="section-toc.1-1.6.2.7.2.1.1"><xref derived | ||||
| Content="6.7.1" format="counter" sectionFormat="of" target="section-6.7.1"/>. < | ||||
| xref derivedContent="" format="title" sectionFormat="of" target="name-generating | ||||
| -a-lisp-sec-prote">Generating a LISP-SEC-Protected Encapsulated Map-Request</xre | ||||
| f></t> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.6.2.7.2.2"> | ||||
| <t indent="0" pn="section-toc.1-1.6.2.7.2.2.1"><xref derived | ||||
| Content="6.7.2" format="counter" sectionFormat="of" target="section-6.7.2"/>. < | ||||
| xref derivedContent="" format="title" sectionFormat="of" target="name-generating | ||||
| -a-proxy-map-repl">Generating a Proxy Map-Reply</xref></t> | ||||
| </li> | ||||
| </ul> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.6.2.8"> | ||||
| <t indent="0" pn="section-toc.1-1.6.2.8.1"><xref derivedContent= | ||||
| "6.8" format="counter" sectionFormat="of" target="section-6.8"/>. <xref derived | ||||
| Content="" format="title" sectionFormat="of" target="name-etr-processing">ETR Pr | ||||
| ocessing</xref></t> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.6.2.9"> | ||||
| <t indent="0" pn="section-toc.1-1.6.2.9.1"><xref derivedContent= | ||||
| "6.9" format="counter" sectionFormat="of" target="section-6.9"/>. <xref derived | ||||
| Content="" format="title" sectionFormat="of" target="name-itr-processing-receivi | ||||
| ng-a-">ITR Processing: Receiving a Map-Reply</xref></t> | ||||
| <ul bare="true" empty="true" indent="2" spacing="compact" pn="se | ||||
| ction-toc.1-1.6.2.9.2"> | ||||
| <li pn="section-toc.1-1.6.2.9.2.1"> | ||||
| <t indent="0" pn="section-toc.1-1.6.2.9.2.1.1"><xref derived | ||||
| Content="6.9.1" format="counter" sectionFormat="of" target="section-6.9.1"/>. < | ||||
| xref derivedContent="" format="title" sectionFormat="of" target="name-map-reply- | ||||
| record-validation">Map-Reply Record Validation</xref></t> | ||||
| </li> | ||||
| </ul> | ||||
| </li> | ||||
| </ul> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.7"> | ||||
| <t indent="0" pn="section-toc.1-1.7.1"><xref derivedContent="7" form | ||||
| at="counter" sectionFormat="of" target="section-7"/>. <xref derivedContent="" f | ||||
| ormat="title" sectionFormat="of" target="name-security-considerations">Security | ||||
| Considerations</xref></t> | ||||
| <ul bare="true" empty="true" indent="2" spacing="compact" pn="sectio | ||||
| n-toc.1-1.7.2"> | ||||
| <li pn="section-toc.1-1.7.2.1"> | ||||
| <t indent="0" pn="section-toc.1-1.7.2.1.1"><xref derivedContent= | ||||
| "7.1" format="counter" sectionFormat="of" target="section-7.1"/>. <xref derived | ||||
| Content="" format="title" sectionFormat="of" target="name-mapping-system-securit | ||||
| y">Mapping System Security</xref></t> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.7.2.2"> | ||||
| <t indent="0" pn="section-toc.1-1.7.2.2.1"><xref derivedContent= | ||||
| "7.2" format="counter" sectionFormat="of" target="section-7.2"/>. <xref derived | ||||
| Content="" format="title" sectionFormat="of" target="name-random-number-generati | ||||
| on">Random Number Generation</xref></t> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.7.2.3"> | ||||
| <t indent="0" pn="section-toc.1-1.7.2.3.1"><xref derivedContent= | ||||
| "7.3" format="counter" sectionFormat="of" target="section-7.3"/>. <xref derived | ||||
| Content="" format="title" sectionFormat="of" target="name-map-server-and-etr-col | ||||
| ocati">Map-Server and ETR Colocation</xref></t> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.7.2.4"> | ||||
| <t indent="0" pn="section-toc.1-1.7.2.4.1"><xref derivedContent= | ||||
| "7.4" format="counter" sectionFormat="of" target="section-7.4"/>. <xref derived | ||||
| Content="" format="title" sectionFormat="of" target="name-deploying-lisp-sec">De | ||||
| ploying LISP-SEC</xref></t> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.7.2.5"> | ||||
| <t indent="0" pn="section-toc.1-1.7.2.5.1"><xref derivedContent= | ||||
| "7.5" format="counter" sectionFormat="of" target="section-7.5"/>. <xref derived | ||||
| Content="" format="title" sectionFormat="of" target="name-shared-keys-provisioni | ||||
| ng">Shared Keys Provisioning</xref></t> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.7.2.6"> | ||||
| <t indent="0" pn="section-toc.1-1.7.2.6.1"><xref derivedContent= | ||||
| "7.6" format="counter" sectionFormat="of" target="section-7.6"/>. <xref derived | ||||
| Content="" format="title" sectionFormat="of" target="name-replay-attacks">Replay | ||||
| Attacks</xref></t> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.7.2.7"> | ||||
| <t indent="0" pn="section-toc.1-1.7.2.7.1"><xref derivedContent= | ||||
| "7.7" format="counter" sectionFormat="of" target="section-7.7"/>. <xref derived | ||||
| Content="" format="title" sectionFormat="of" target="name-message-privacy">Messa | ||||
| ge Privacy</xref></t> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.7.2.8"> | ||||
| <t indent="0" pn="section-toc.1-1.7.2.8.1"><xref derivedContent= | ||||
| "7.8" format="counter" sectionFormat="of" target="section-7.8"/>. <xref derived | ||||
| Content="" format="title" sectionFormat="of" target="name-denial-of-service-and- | ||||
| distr">Denial-of-Service and Distributed Denial-of-Service Attacks</xref></t> | ||||
| </li> | ||||
| </ul> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.8"> | ||||
| <t indent="0" pn="section-toc.1-1.8.1"><xref derivedContent="8" form | ||||
| at="counter" sectionFormat="of" target="section-8"/>. <xref derivedContent="" f | ||||
| ormat="title" sectionFormat="of" target="name-iana-considerations">IANA Consider | ||||
| ations</xref></t> | ||||
| <ul bare="true" empty="true" indent="2" spacing="compact" pn="sectio | ||||
| n-toc.1-1.8.2"> | ||||
| <li pn="section-toc.1-1.8.2.1"> | ||||
| <t indent="0" pn="section-toc.1-1.8.2.1.1"><xref derivedContent= | ||||
| "8.1" format="counter" sectionFormat="of" target="section-8.1"/>. <xref derived | ||||
| Content="" format="title" sectionFormat="of" target="name-ecm-ad-type-registry"> | ||||
| ECM AD Type Registry</xref></t> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.8.2.2"> | ||||
| <t indent="0" pn="section-toc.1-1.8.2.2.1"><xref derivedContent= | ||||
| "8.2" format="counter" sectionFormat="of" target="section-8.2"/>. <xref derived | ||||
| Content="" format="title" sectionFormat="of" target="name-map-reply-ad-types-reg | ||||
| istry">Map-Reply AD Types Registry</xref></t> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.8.2.3"> | ||||
| <t indent="0" pn="section-toc.1-1.8.2.3.1"><xref derivedContent= | ||||
| "8.3" format="counter" sectionFormat="of" target="section-8.3"/>. <xref derived | ||||
| Content="" format="title" sectionFormat="of" target="name-hmac-functions">HMAC F | ||||
| unctions</xref></t> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.8.2.4"> | ||||
| <t indent="0" pn="section-toc.1-1.8.2.4.1"><xref derivedContent= | ||||
| "8.4" format="counter" sectionFormat="of" target="section-8.4"/>. <xref derived | ||||
| Content="" format="title" sectionFormat="of" target="name-key-wrap-functions">Ke | ||||
| y Wrap Functions</xref></t> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.8.2.5"> | ||||
| <t indent="0" pn="section-toc.1-1.8.2.5.1"><xref derivedContent= | ||||
| "8.5" format="counter" sectionFormat="of" target="section-8.5"/>. <xref derived | ||||
| Content="" format="title" sectionFormat="of" target="name-key-derivation-functio | ||||
| ns">Key Derivation Functions</xref></t> | ||||
| </li> | ||||
| </ul> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.9"> | ||||
| <t indent="0" pn="section-toc.1-1.9.1"><xref derivedContent="9" form | ||||
| at="counter" sectionFormat="of" target="section-9"/>. <xref derivedContent="" f | ||||
| ormat="title" sectionFormat="of" target="name-references">References</xref></t> | ||||
| <ul bare="true" empty="true" indent="2" spacing="compact" pn="sectio | ||||
| n-toc.1-1.9.2"> | ||||
| <li pn="section-toc.1-1.9.2.1"> | ||||
| <t indent="0" pn="section-toc.1-1.9.2.1.1"><xref derivedContent= | ||||
| "9.1" format="counter" sectionFormat="of" target="section-9.1"/>. <xref derived | ||||
| Content="" format="title" sectionFormat="of" target="name-normative-references"> | ||||
| Normative References</xref></t> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.9.2.2"> | ||||
| <t indent="0" pn="section-toc.1-1.9.2.2.1"><xref derivedContent= | ||||
| "9.2" format="counter" sectionFormat="of" target="section-9.2"/>. <xref derived | ||||
| Content="" format="title" sectionFormat="of" target="name-informative-references | ||||
| ">Informative References</xref></t> | ||||
| </li> | ||||
| </ul> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.10"> | ||||
| <t indent="0" pn="section-toc.1-1.10.1"><xref derivedContent="" form | ||||
| at="none" sectionFormat="of" target="section-appendix.a"/><xref derivedContent=" | ||||
| " format="title" sectionFormat="of" target="name-acknowledgments">Acknowledgment | ||||
| s</xref></t> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.11"> | ||||
| <t indent="0" pn="section-toc.1-1.11.1"><xref derivedContent="" form | ||||
| at="none" sectionFormat="of" target="section-appendix.b"/><xref derivedContent=" | ||||
| " format="title" sectionFormat="of" target="name-authors-addresses">Authors' Add | ||||
| resses</xref></t> | ||||
| </li> | ||||
| </ul> | ||||
| </section> | ||||
| </toc> | ||||
| </front> | </front> | |||
| <middle> | <middle> | |||
| <section anchor="intro" title="Introduction"> | <section anchor="intro" numbered="true" toc="include" removeInRFC="false" pn | |||
| <t>The Locator/ID Separation Protocol <xref | ="section-1"> | |||
| target="I-D.ietf-lisp-rfc6830bis"/>,<xref | <name slugifiedName="name-introduction">Introduction</name> | |||
| target="I-D.ietf-lisp-rfc6833bis"/> is a network-layer-based protocol | <t indent="0" pn="section-1-1">The Locator/ID Separation Protocol (LISP) < | |||
| xref target="RFC9300" format="default" sectionFormat="of" derivedContent="RFC930 | ||||
| 0"/> <xref target="RFC9301" format="default" sectionFormat="of" derivedContent=" | ||||
| RFC9301"/> is a network-layer-based protocol | ||||
| that enables separation of IP addresses into two new numbering spaces: | that enables separation of IP addresses into two new numbering spaces: | |||
| Endpoint Identifiers (EIDs) and Routing Locators (RLOCs). EID-to-RLOC | Endpoint Identifiers (EIDs) and Routing Locators (RLOCs). EID-to-RLOC | |||
| mappings are stored in a database, the LISP Mapping System, and made | mappings are stored in a database and the LISP Mapping System, and they ar e made | |||
| available via the Map-Request/Map-Reply lookup process. If these | available via the Map-Request/Map-Reply lookup process. If these | |||
| EID-to-RLOC mappings, carried through Map-Reply messages, are | EID-to-RLOC mappings, carried through Map-Reply messages, are | |||
| transmitted without integrity protection, an adversary can manipulate | transmitted without integrity protection, an adversary can manipulate | |||
| them and hijack the communication, impersonate the requested EID, or | them and hijack the communication, impersonate the requested EID, or | |||
| mount Denial of Service or Distributed Denial of Service attacks. Also, | mount Denial-of-Service (DoS) or Distributed Denial-of-Service (DDoS) atta cks. Also, | |||
| if the Map-Reply message is transported unauthenticated, an adversarial | if the Map-Reply message is transported unauthenticated, an adversarial | |||
| LISP entity can overclaim an EID-prefix and maliciously redirect traffic. | LISP entity can overclaim an EID-Prefix and maliciously redirect traffic. | |||
| The LISP-SEC threat model, | The LISP-SEC threat model, | |||
| described in <xref target="threat-model"/>, is built on top of the LISP | described in <xref target="threat-model" format="default" sectionFormat="o | |||
| threat model defined in <xref target="RFC7835"/>, that includes a | f" derivedContent="Section 4"/>, is built on top of the LISP | |||
| detailed description of "overclaiming" attack.</t> | threat model defined in <xref target="RFC7835" format="default" sectionFor | |||
| mat="of" derivedContent="RFC7835"/>, which includes a | ||||
| <t>This memo specifies LISP-SEC, a set of security mechanisms that | detailed description of an "overclaiming" attack.</t> | |||
| provides origin authentication, integrity and anti-replay protection to | <t indent="0" pn="section-1-2">This memo specifies LISP-SEC, a set of secu | |||
| LISP's EID-to-RLOC mapping data conveyed via mapping lookup process. | rity mechanisms that | |||
| LISP-SEC also enables verification of authorization on EID-prefix claims | provides origin authentication, integrity, and anti-replay protection to | |||
| LISP's EID-to-RLOC mapping data conveyed via the mapping lookup process. | ||||
| LISP-SEC also enables verification of authorization on EID-Prefix claims | ||||
| in Map-Reply messages, ensuring that the sender of a Map-Reply that | in Map-Reply messages, ensuring that the sender of a Map-Reply that | |||
| provides the location for a given EID-prefix is entitled to do so | provides the location for a given EID-Prefix is entitled to do so | |||
| according to the EID prefix registered in the associated Map-Server. | according to the EID-Prefix registered in the associated Map-Server. | |||
| Map-Register/Map-Notify security, including the right for a LISP entity | Map-Register/Map-Notify security, including the right for a LISP entity | |||
| to register an EID-prefix or to claim presence at an RLOC, is out of the | to register an EID-Prefix or to claim presence at an RLOC, is out of the | |||
| scope of LISP-SEC as those protocols are protected by the security | scope of LISP-SEC, as those protocols are protected by the security | |||
| mechanisms specified in <xref target="I-D.ietf-lisp-rfc6833bis"/>. | mechanisms specified in <xref target="RFC9301" format="default" sectionFor | |||
| However, LISP-SEC extends the Map-Register message to allow an ITR to | mat="of" derivedContent="RFC9301"/>. | |||
| downgrade to non LISP-SEC Map-Requests. Additional security | However, LISP-SEC extends the Map-Register message to allow an Ingress Tun | |||
| considerations are described in Section 6.</t> | nel | |||
| Router (ITR) to | ||||
| downgrade to non-LISP-SEC Map-Requests. Additional security | ||||
| considerations are described in <xref target="security" format="default" s | ||||
| ectionFormat="of" derivedContent="Section 7"/>.</t> | ||||
| </section> | </section> | |||
| <section numbered="true" toc="include" removeInRFC="false" pn="section-2"> | ||||
| <section title="Requirements Notation"> | <name slugifiedName="name-requirements-notation">Requirements Notation</na | |||
| <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | me> | |||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | <t indent="0" pn="section-2-1">The key words "<bcp14>MUST</bcp14>", "<bcp1 | |||
| "OPTIONAL" in this document are to be interpreted as described in BCP 14 | 4>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14> | |||
| <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they | SHALL NOT</bcp14>", | |||
| "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</b | ||||
| cp14>", "<bcp14>NOT RECOMMENDED</bcp14>", "<bcp14>MAY</bcp14>", and | ||||
| "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as describe | ||||
| d in BCP 14 | ||||
| <xref target="RFC2119" format="default" sectionFormat="of" derivedContent="R | ||||
| FC2119"/> <xref target="RFC8174" format="default" sectionFormat="of" derivedCont | ||||
| ent="RFC8174"/> when, and only when, they | ||||
| appear in all capitals, as shown here. | appear in all capitals, as shown here. | |||
| </t> | </t> | |||
| </section> <!-- Requirements Notation --> | </section> | |||
| <section anchor="terms" numbered="true" toc="include" removeInRFC="false" pn | ||||
| <section anchor="terms" title="Definition of Terms"> | ="section-3"> | |||
| <t><list style="empty"> | <name slugifiedName="name-definitions-of-terms">Definitions of Terms</name | |||
| <t>One-Time Key (OTK): An ephemeral randomly generated key that must | > | |||
| be used for a single Map-Request/Map-Reply exchange.</t> | <dl newline="false" indent="3" spacing="normal" pn="section-3-1"> | |||
| <dt pn="section-3-1.1">One-Time Key (OTK):</dt> | ||||
| <t>ITR One-Time Key (ITR-OTK): The One-Time Key generated at the | <dd pn="section-3-1.2">An ephemeral randomly generated key that must | |||
| Ingress Tunnel Router (ITR).</t> | be used for a single Map-Request/Map-Reply exchange.</dd> | |||
| <dt pn="section-3-1.3">ITR One-Time Key (ITR-OTK):</dt> | ||||
| <t>MS One-Time Key (MS-OTK): The One-Time Key generated at the | <dd pn="section-3-1.4">The One-Time Key generated at the | |||
| Map-Server.</t> | Ingress Tunnel Router (ITR).</dd> | |||
| <dt pn="section-3-1.5">MS One-Time Key (MS-OTK):</dt> | ||||
| <t>Authentication Data (AD): Metadata that is included either in a | <dd pn="section-3-1.6">The One-Time Key generated at the | |||
| LISP Encapsulated Control Message (ECM) header, as defined in <xref | Map-Server.</dd> | |||
| target="I-D.ietf-lisp-rfc6833bis"/>, or in a Map-Reply message to | <dt pn="section-3-1.7">Authentication Data (AD):</dt> | |||
| <dd pn="section-3-1.8">Metadata that is included either in a | ||||
| LISP Encapsulated Control Message (ECM) header as defined in <xref tar | ||||
| get="RFC9301" format="default" sectionFormat="of" derivedContent="RFC9301"/>, or | ||||
| in a Map-Reply message to | ||||
| support confidentiality, integrity protection, and verification of | support confidentiality, integrity protection, and verification of | |||
| EID-prefix authorization.</t> | EID-Prefix authorization.</dd> | |||
| <dt pn="section-3-1.9">OTK Authentication Data (OTK-AD):</dt> | ||||
| <t>OTK Authentication Data (OTK-AD): The portion of ECM | <dd pn="section-3-1.10">The portion of ECM | |||
| Authentication Data that contains a One-Time Key.</t> | Authentication Data that contains a One-Time Key.</dd> | |||
| <dt pn="section-3-1.11">EID Authentication Data (EID-AD):</dt> | ||||
| <t>EID Authentication Data (EID-AD): The portion of ECM and | <dd pn="section-3-1.12">The portion of ECM and | |||
| Map-Reply Authentication Data used for verification of EID-prefix | Map-Reply Authentication Data used for verification of EID-Prefix | |||
| authorization.</t> | authorization.</dd> | |||
| <dt pn="section-3-1.13">Packet Authentication Data (PKT-AD):</dt> | ||||
| <t>Packet Authentication Data (PKT-AD): The portion of Map-Reply | <dd pn="section-3-1.14">The portion of Map-Reply | |||
| Authentication Data used to protect the integrity of the Map-Reply | Authentication Data used to protect the integrity of the Map-Reply | |||
| message.</t> | message.</dd> | |||
| </dl> | ||||
| <t/> | <t indent="0" pn="section-3-2">For definitions of other terms, notably Map | |||
| </list>For definitions of other terms, notably Map-Request, Map-Reply, | -Request, Map-Reply, | |||
| Ingress Tunnel Router (ITR), Egress Tunnel Router (ETR), Map-Server | Ingress Tunnel Router (ITR), Egress Tunnel Router (ETR), Map-Server | |||
| (MS), and Map-Resolver (MR) please consult the LISP specification <xref | (MS), and Map-Resolver (MR), please consult the LISP specification <xref t | |||
| target="I-D.ietf-lisp-rfc6833bis"/>.</t> | arget="RFC9301" format="default" sectionFormat="of" derivedContent="RFC9301"/>.< | |||
| /t> | ||||
| </section> | </section> | |||
| <section anchor="threat-model" numbered="true" toc="include" removeInRFC="fa | ||||
| <section anchor="threat-model" title="LISP-SEC Threat Model"> | lse" pn="section-4"> | |||
| <t>LISP-SEC addresses the control plane threats, described in section | <name slugifiedName="name-lisp-sec-threat-model">LISP-SEC Threat Model</na | |||
| 3.7 and 3.8 of <xref target="RFC7835"/>, that target EID-to-RLOC | me> | |||
| mappings, including manipulations of Map-Request and Map-Reply messages, | <t indent="0" pn="section-4-1">LISP-SEC addresses the control plane threat | |||
| and malicious ETR EID prefix overclaiming. LISP-SEC makes two main | s, described in Sections | |||
| assumptions: (1) the LISP mapping system is expected to deliver a | <xref target="RFC7835" section="3.7" sectionFormat="bare" format="default" | |||
| derivedLink="https://rfc-editor.org/rfc/rfc7835#section-3.7" derivedContent="RF | ||||
| C7835"/> and | ||||
| <xref target="RFC7835" section="3.8" sectionFormat="bare" format="default" | ||||
| derivedLink="https://rfc-editor.org/rfc/rfc7835#section-3.8" derivedContent="RF | ||||
| C7835"/> of <xref target="RFC7835" format="default" sectionFormat="of" derivedCo | ||||
| ntent="RFC7835"/>, that target EID-to-RLOC | ||||
| mappings, including manipulations of Map-Request and Map-Reply messages | ||||
| and malicious ETR EID-Prefix overclaiming. LISP-SEC makes two main | ||||
| assumptions: (1) the LISP Mapping System is expected to deliver a | ||||
| Map-Request message to their intended destination ETR as identified by | Map-Request message to their intended destination ETR as identified by | |||
| the EID, and (2) no on-path attack can be mounted | the EID, and (2) no on-path attack can be mounted | |||
| within the LISP Mapping System. How the Mapping System is protected from | within the LISP Mapping System. How the Mapping System is protected from | |||
| on-path attacks depends from the particular Mapping System used, and is | on-path attacks depends on the particular Mapping System used and is | |||
| out of the scope of this memo. Furthermore, while LISP-SEC enables | out of the scope of this memo. Furthermore, while LISP-SEC enables | |||
| detection of EID prefix overclaiming attacks, it assumes that | detection of EID-Prefix overclaiming attacks, it assumes that | |||
| Map-Servers can verify the EID prefix authorization at registration time. | Map-Servers can verify the EID-Prefix authorization at registration time. | |||
| </t> | </t> | |||
| <t indent="0" pn="section-4-2">According to the threat model described in | ||||
| <t>According to the threat model described in <xref target="RFC7835"/> | <xref target="RFC7835" format="default" sectionFormat="of" derivedContent="RFC78 | |||
| 35"/>, | ||||
| LISP-SEC assumes that any kind of attack, including on-path attacks, can b e | LISP-SEC assumes that any kind of attack, including on-path attacks, can b e | |||
| mounted outside of the boundaries of the LISP mapping system. An on-path | mounted outside of the boundaries of the LISP Mapping System. An on-path | |||
| attacker, outside of the LISP mapping system can, for example, hijack | attacker outside of the LISP Mapping System can, for example, hijack | |||
| Map-Request and Map-Reply messages, spoofing the identity of a LISP | Map-Request and Map-Reply messages, spoofing the identity of a LISP | |||
| node. Another example of on-path attack, called overclaiming attack, can | node. Another example of an on-path attack, called an overclaiming attack, | |||
| be mounted by a malicious Egress Tunnel Router (ETR), by overclaiming | can | |||
| the EID-prefixes for which it is authoritative. In this way the ETR can | be mounted by a malicious ETR by overclaiming | |||
| the EID-Prefixes for which it is authoritative. In this way, the ETR can | ||||
| maliciously redirect traffic.</t> | maliciously redirect traffic.</t> | |||
| </section> | </section> | |||
| <section anchor="operations" numbered="true" toc="include" removeInRFC="fals | ||||
| <section anchor="operations" title="Protocol Operations"> | e" pn="section-5"> | |||
| <t>The goal of the security mechanisms defined in <xref | <name slugifiedName="name-protocol-operations">Protocol Operations</name> | |||
| target="I-D.ietf-lisp-rfc6833bis"/> is to prevent unauthorized insertion | <t indent="0" pn="section-5-1">The goal of the security mechanisms defined | |||
| in <xref target="RFC9301" format="default" sectionFormat="of" derivedContent="R | ||||
| FC9301"/> is to prevent unauthorized insertion | ||||
| of mapping data by providing origin authentication and integrity | of mapping data by providing origin authentication and integrity | |||
| protection for the Map-Register, and by using the nonce to detect | protection for the Map-Register and by using the nonce to detect an | |||
| unsolicited Map-Reply sent by off-path attackers.</t> | unsolicited Map-Reply sent by off-path attackers.</t> | |||
| <t indent="0" pn="section-5-2">LISP-SEC builds on top of the security mech | ||||
| <t>LISP-SEC builds on top of the security mechanisms defined in to address | anisms defined in <xref target="RFC9301" format="default" sectionFormat="of" der | |||
| the threats described in | ivedContent="RFC9301"/> to address the threats described in | |||
| <xref target="threat-model"/> by leveraging the trust relationships | <xref target="threat-model" format="default" sectionFormat="of" derivedCon | |||
| existing among the LISP entities (<xref target="I-D.ietf-lisp-rfc6833bis"/ | tent="Section 4"/> by leveraging the trust relationships | |||
| >) participating in the exchange of the Map-Request/Map-Reply messages. | existing among the LISP entities <xref target="RFC9301" format="default" s | |||
| Those trust relationships (see also <xref target="security"/> and <xref ta | ectionFormat="of" derivedContent="RFC9301"/> participating in the exchange of th | |||
| rget="I-D.ietf-lisp-rfc6833bis"/>) are used to securely distribute, as described | e Map-Request/Map-Reply messages. | |||
| in <xref target="wrap"/>, a per-message One-Time Key (OTK) that provides origin | Those trust relationships (see also <xref target="security" format="defaul | |||
| authentication, integrity and anti-replay protection to mapping data conveyed v | t" sectionFormat="of" derivedContent="Section 7"/> and <xref target="RFC9301" fo | |||
| ia the | rmat="default" sectionFormat="of" derivedContent="RFC9301"/>) are used to secure | |||
| mapping lookup process, and that effectively prevent overclaiming | ly distribute, as described in <xref target="wrap" format="default" sectionForma | |||
| t="of" derivedContent="Section 8.4"/>, a per-message One-Time Key (OTK) that pro | ||||
| vides origin authentication, integrity, and anti-replay protection to mapping da | ||||
| ta conveyed via the | ||||
| mapping lookup process and that effectively prevents overclaiming | ||||
| attacks. The processing of security parameters during the | attacks. The processing of security parameters during the | |||
| Map-Request/Map-Reply exchange is as follows:</t> | Map-Request/Map-Reply exchange is as follows:</t> | |||
| <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-5-3 | ||||
| <t><list style="symbols"> | "> | |||
| <t>Per each Map-Request message a new ITR-OTK is generated and | <li pn="section-5-3.1">Per each Map-Request message, a new ITR-OTK is ge | |||
| stored at the ITR, and securely transported to the Map-Server.</t> | nerated and | |||
| stored at the ITR and is securely transported to the Map-Server.</li> | ||||
| <t>The Map-Server uses the ITR-OTK to compute a Keyed-Hashing for | <li pn="section-5-3.2">The Map-Server uses the ITR-OTK to compute a Hash | |||
| Message Authentication (HMAC) <xref target="RFC2104"/> that protects | ed Message Authentication Code (HMAC) <xref target="RFC2104" format="default" se | |||
| ctionFormat="of" derivedContent="RFC2104"/> that protects | ||||
| the integrity of the mapping data known to the Map-Server to prevent | the integrity of the mapping data known to the Map-Server to prevent | |||
| overclaiming attacks. The Map-Server also derives a new OTK, the | overclaiming attacks. The Map-Server also derives a new OTK, the | |||
| MS-OTK, that is passed to the ETR, by applying a Key Derivation | MS-OTK, that is passed to the ETR by applying a Key Derivation | |||
| Function (KDF) (e.g. <xref target="RFC5869"/>) to the ITR-OTK.</t> | Function (KDF) (e.g., <xref target="RFC5869" format="default" sectionF | |||
| ormat="of" derivedContent="RFC5869"/>) to the ITR-OTK.</li> | ||||
| <t>The ETR uses the MS-OTK to compute an HMAC that protects the | <li pn="section-5-3.3">The ETR uses the MS-OTK to compute an HMAC that p | |||
| integrity of the Map-Reply sent to the ITR.</t> | rotects the | |||
| integrity of the Map-Reply sent to the ITR.</li> | ||||
| <t>Finally, the ITR uses the stored ITR-OTK to verify the integrity | <li pn="section-5-3.4">Finally, the ITR uses the stored ITR-OTK to verif | |||
| y the integrity | ||||
| of the mapping data provided by both the Map-Server and the ETR, and | of the mapping data provided by both the Map-Server and the ETR, and | |||
| to verify that no overclaiming attacks were mounted along the path | to verify that no overclaiming attacks were mounted along the path | |||
| between the Map-Server and the ITR.</t> | between the Map-Server and the ITR.</li> | |||
| </list></t> | </ul> | |||
| <t indent="0" pn="section-5-4"><xref target="encap" format="default" secti | ||||
| <t><xref target="encap"/> provides the detailed description of the | onFormat="of" derivedContent="Section 6"/> provides the detailed description of | |||
| the | ||||
| LISP-SEC control messages and their processing, while the rest of this | LISP-SEC control messages and their processing, while the rest of this | |||
| section describes the flow of LISP protocol operations at each entity | section describes the flow of LISP protocol operations at each entity | |||
| involved in the Map-Request/Map-Reply exchange:</t> | involved in the Map-Request/Map-Reply exchange:</t> | |||
| <ol spacing="normal" type="1" indent="adaptive" start="1" pn="section-5-5" | ||||
| <t><list style="numbers"> | > | |||
| <t>The ITR, upon needing to transmit a Map-Request message, | <li pn="section-5-5.1" derivedCounter="1.">The ITR, upon needing to trans | |||
| generates and stores an OTK (ITR-OTK). This ITR-OTK is encrypted and i | mit a Map-Request message, | |||
| ncluded into the Encapsulated Control Message (ECM) that contains the Map-Reques | generates and stores an OTK (ITR-OTK). This ITR-OTK is encrypted and | |||
| t sent to the Map-Resolver. </t> | included into the Encapsulated Control Message (ECM) that contains the | |||
| Map-Request sent to the Map-Resolver. </li> | ||||
| <t>The Map-Resolver decapsulates the ECM message, decrypts the | <li pn="section-5-5.2" derivedCounter="2.">The Map-Resolver decapsulates | |||
| ITR-OTK, if needed, and forwards through the Mapping System the | the ECM, decrypts the | |||
| received Map-Request and the ITR-OTK, as part of a new ECM message. | ITR-OTK (if needed), and forwards through the Mapping System the | |||
| received Map-Request and the ITR-OTK, as part of a new ECM. | ||||
| The LISP Mapping System delivers the ECM to the appropriate | The LISP Mapping System delivers the ECM to the appropriate | |||
| Map-Server, as identified by the EID destination address of the | Map-Server, as identified by the EID destination address of the | |||
| Map-Request. </t> | Map-Request. </li> | |||
| <li pn="section-5-5.3" derivedCounter="3.">The Map-Server is configured | ||||
| <t>The Map-Server is configured with the location mappings and | with the location mappings and | |||
| policy information for the ETR responsible for the EID destination | policy information for the ETR responsible for the EID destination | |||
| address. Using this preconfigured information, the Map-Server, after | address. Using this preconfigured information, the Map-Server, after | |||
| the decapsulation of the ECM message, finds the longest match | the decapsulation of the ECM, finds the longest-match | |||
| EID-prefix that covers the requested EID in the received | EID-Prefix that covers the requested EID in the received | |||
| Map-Request. The Map-Server adds this EID-prefix, together with an | Map-Request. The Map-Server adds this EID-Prefix, together with an | |||
| HMAC computed using the ITR-OTK, to a new Encapsulated Control | HMAC computed using the ITR-OTK, to a new ECM | |||
| Message that contains the received Map-Request.</t> | that contains the received Map-Request.</li> | |||
| <li pn="section-5-5.4" derivedCounter="4.">The Map-Server derives a new | ||||
| <t>The Map-Server derives a new OTK, the MS-OTK, by applying a Key | OTK, the MS-OTK, by applying a KDF to the ITR-OTK. This MS-OTK is included in | |||
| Derivation Function (KDF) to the ITR-OTK. This MS-OTK is included in | the ECM that the Map-Server uses to forward | |||
| the Encapsulated Control Message that the Map-Server uses to forward | the Map-Request to the ETR. </li> | |||
| the Map-Request to the ETR. </t> | <li pn="section-5-5.5" derivedCounter="5.">If the Map-Server is acting i | |||
| n proxy mode, as specified in <xref target="RFC9301" format="default" sectionFor | ||||
| <t>If the Map-Server is acting in proxy mode, as specified in <xref | mat="of" derivedContent="RFC9301"/>, the ETR is not involved in the | |||
| target="I-D.ietf-lisp-rfc6833bis"/>, the ETR is not involved in the | ||||
| generation of the Map-Reply and steps 6 and 7 are skipped. In this | generation of the Map-Reply and steps 6 and 7 are skipped. In this | |||
| case the Map-Server generates the Map-Reply on behalf of the ETR as | case, the Map-Server generates the Map-Reply on behalf of the ETR, as | |||
| described in <xref target="proxy"/>.</t> | described in <xref target="proxy" format="default" sectionFormat="of" | |||
| derivedContent="Section 6.7.2"/>.</li> | ||||
| <t>The ETR, upon receiving the ECM encapsulated Map-Request from the | <li pn="section-5-5.6" derivedCounter="6.">The ETR, upon receiving the E | |||
| Map-Server, decrypts the MS-OTK, if needed, and originates a | CM-Encapsulated Map-Request from the | |||
| Map-Server, decrypts the MS-OTK (if needed), and originates a | ||||
| Map-Reply that contains the EID-to-RLOC mapping information as | Map-Reply that contains the EID-to-RLOC mapping information as | |||
| specified in <xref target="I-D.ietf-lisp-rfc6833bis"/>.</t> | specified in <xref target="RFC9301" format="default" sectionFormat="of | |||
| " derivedContent="RFC9301"/>.</li> | ||||
| <t>The ETR computes an HMAC over the Map-Reply, keyed with MS-OTK to | <li pn="section-5-5.7" derivedCounter="7.">The ETR computes an HMAC over | |||
| the Map-Reply, keyed with MS-OTK to | ||||
| protect the integrity of the whole Map-Reply. The ETR also copies | protect the integrity of the whole Map-Reply. The ETR also copies | |||
| the EID-prefix authorization data that the Map-Server included in | the EID-Prefix authorization data that the Map-Server included in | |||
| the ECM encapsulated Map-Request into the Map-Reply message. The ETR | the ECM-Encapsulated Map-Request into the Map-Reply message. The ETR | |||
| then sends the complete Map-Reply message to the requesting ITR.</t> | then sends the complete Map-Reply message to the requesting ITR.</li> | |||
| <li pn="section-5-5.8" derivedCounter="8.">The ITR, upon receiving the M | ||||
| <t>The ITR, upon receiving the Map-Reply, uses the locally stored | ap-Reply, uses the locally stored | |||
| ITR-OTK to verify the integrity of the EID-prefix authorization data | ITR-OTK to verify the integrity of the EID-Prefix authorization data | |||
| included in the Map-Reply by the Map-Server. The ITR computes the | included in the Map-Reply by the Map-Server. The ITR computes the | |||
| MS-OTK by applying the same KDF (as specified in the ECM | MS-OTK by applying the same KDF (as specified in the ECM-Encapsulated | |||
| encapsulated Map-Reply) used by the Map-Server, and verifies the | Map-Reply) used by the Map-Server and verifies the | |||
| integrity of the Map-Reply. </t> | integrity of the Map-Reply. </li> | |||
| </list></t> | </ol> | |||
| </section> | </section> | |||
| <section anchor="encap" numbered="true" toc="include" removeInRFC="false" pn | ||||
| <section anchor="encap" title="LISP-SEC Control Messages Details"> | ="section-6"> | |||
| <t>LISP-SEC metadata associated with a Map-Request is transported within | <name slugifiedName="name-lisp-sec-control-messages-d">LISP-SEC Control Me | |||
| ssages Details</name> | ||||
| <t indent="0" pn="section-6-1">LISP-SEC metadata associated with a Map-Req | ||||
| uest is transported within | ||||
| the Encapsulated Control Message that contains the Map-Request.</t> | the Encapsulated Control Message that contains the Map-Request.</t> | |||
| <t indent="0" pn="section-6-2">LISP-SEC metadata associated with the Map-R | ||||
| <t>LISP-SEC metadata associated with the Map-Reply is transported within | eply is transported within | |||
| the Map-Reply itself.</t> | the Map-Reply itself.</t> | |||
| <t indent="0" pn="section-6-3">These specifications use an HMAC in various | ||||
| <t>These specifications use Keyed-Hashing for Message Authentication (HMAC | places (as described in the following). The HMAC function AUTH-HMAC-SHA-256-128 | |||
| ) in various places (as described in the following). The HMAC function AUTH-HMAC | <xref target="RFC6234" format="default" sectionFormat="of" derivedContent="RFC6 | |||
| -SHA-256-128 <xref target="RFC6234"/> MUST be supported in LISP-SEC implementati | 234"/> <bcp14>MUST</bcp14> be supported in LISP-SEC implementations. LISP-SEC de | |||
| ons. LISP-SEC deployments SHOULD use AUTH-HMAC-SHA-256-128 HMAC function, except | ployments <bcp14>SHOULD</bcp14> use the AUTH-HMAC-SHA-256-128 HMAC function, exc | |||
| when communicating with older implementations that only support AUTH-HMAC-SHA-1 | ept when communicating with older implementations that only support AUTH-HMAC-SH | |||
| -96 <xref target="RFC2104"/>. </t> | A-1-96 <xref target="RFC2104" format="default" sectionFormat="of" derivedContent | |||
| ="RFC2104"/>. </t> | ||||
| <section anchor="ECM_extensions" | <section anchor="ECM_extensions" numbered="true" toc="include" removeInRFC | |||
| title="Encapsulated Control Message LISP-SEC Extensions"> | ="false" pn="section-6.1"> | |||
| <t>LISP-SEC uses the ECM defined in <xref | <name slugifiedName="name-encapsulated-control-messag">Encapsulated Cont | |||
| target="I-D.ietf-lisp-rfc6833bis"/> with S bit set to 1 to indicate | rol Message LISP-SEC Extensions</name> | |||
| <t indent="0" pn="section-6.1-1">LISP-SEC uses the ECM defined in <xref | ||||
| target="RFC9301" format="default" sectionFormat="of" derivedContent="RFC9301"/> | ||||
| with the S-bit set to 1 to indicate | ||||
| that the LISP header includes Authentication Data (AD). The format of | that the LISP header includes Authentication Data (AD). The format of | |||
| the LISP-SEC ECM Authentication Data is defined in <xref | the LISP-SEC ECM AD is defined in <xref target="fig-AD" format="default" | |||
| target="fig-AD"/> . OTK-AD stands for One-Time Key Authentication Data | sectionFormat="of" derivedContent="Figure 1"/>. OTK-AD stands for One-Time Key | |||
| Authentication Data | ||||
| and EID-AD stands for EID Authentication Data.</t> | and EID-AD stands for EID Authentication Data.</t> | |||
| <figure anchor="fig-AD" align="left" suppress-title="false" pn="figure-1 | ||||
| <figure align="center" anchor="fig-AD" | "> | |||
| title="LISP-SEC ECM Authentication Data"> | <name slugifiedName="name-lisp-sec-ecm-authentication">LISP-SEC ECM Au | |||
| <artwork align="center"><![CDATA[ | thentication Data</name> | |||
| <artwork align="center" name="" type="" alt="" pn="section-6.1-2.1"> | ||||
| 0 1 2 3 | 0 1 2 3 | |||
| 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 | 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | ECM AD Type | Unassigned | Requested HMAC ID | | | ECM AD Type | Unassigned | Requested HMAC ID | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\ | |||
| | OTK Length | Key ID | OTK Wrap. ID | | | | OTK Length | Key ID | OTK Wrap. ID | | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | |||
| | One-Time-Key Preamble ... | | | | One-Time-Key Preamble ... | | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+OTK-AD | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+OTK-AD | |||
| | ... One-Time-Key Preamble | | | | ... One-Time-Key Preamble | | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | |||
| ~ One-Time Key (128 bits) ~/ | ~ One-Time Key (128 bits) ~/ | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ <---+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ <---+ | |||
| | EID-AD Length | KDF ID | | | | EID-AD Length | KDF ID | | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | |||
| | Record Count |E| Unassigned | EID HMAC ID |EID-AD | | Record Count |E| Unassigned | EID HMAC ID |EID-AD | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\ | | |||
| | Unassigned | EID mask-len | EID-AFI | | | | | Unassigned | EID mask-len | EID-AFI | | | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Rec | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Rec | | |||
| ~ EID-prefix ... ~ | | | ~ EID-Prefix ... ~ | | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+/ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+/ | | |||
| ~ EID HMAC ~ | | ~ EID HMAC ~ | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ <---+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ <---+ | |||
| ]]></artwork> | </artwork> | |||
| </figure> | </figure> | |||
| <dl newline="false" indent="3" spacing="normal" pn="section-6.1-3"> | ||||
| <t><list style="empty"> | <dt pn="section-6.1-3.1">ECM AD Type:</dt> | |||
| <t>ECM AD Type: 1 (LISP-SEC Authentication Data). See <xref | <dd pn="section-6.1-3.2">1 (LISP-SEC Authentication Data). See <xref t | |||
| target="IANA"/>.</t> | arget="IANA" format="default" sectionFormat="of" derivedContent="Section 8"/>.</ | |||
| dd> | ||||
| <t>Unassigned: Set to 0 on transmission and ignored on | <dt pn="section-6.1-3.3">Unassigned:</dt> | |||
| receipt.</t> | <dd pn="section-6.1-3.4">Set to 0 on transmission and ignored on | |||
| receipt.</dd> | ||||
| <t>Requested HMAC ID: The HMAC algorithm, that will be used to | <dt pn="section-6.1-3.5">Requested HMAC ID:</dt> | |||
| protect the mappings, requested by the ITR. Permitted values are reg | <dd pn="section-6.1-3.6">The HMAC algorithm, which will be used to | |||
| istered in the LISP-SEC Authentication Data HMAC ID (see <xref target="HMAC"/>). | protect the mappings, requested by the ITR. Permitted values are | |||
| Refer to <xref target="itr"/> for more details. | registered in the LISP-SEC Authentication Data HMAC ID (see <xref targe | |||
| </t> | t="HMAC" format="default" sectionFormat="of" derivedContent="Section 8.3"/>). Re | |||
| fer to <xref target="itr" format="default" sectionFormat="of" derivedContent="Se | ||||
| <t>OTK Length: The length (in bytes) of the OTK Authentication | ction 6.4"/> for more details.</dd> | |||
| Data (OTK-AD), that contains the OTK Preamble and the OTK.</t> | <dt pn="section-6.1-3.7">OTK Length:</dt> | |||
| <dd pn="section-6.1-3.8">The length (in bytes) of the OTK Authenticati | ||||
| <t>Key ID: The identifier of the pre-shared secret shared by an | on | |||
| ITR and the Map-Resolver, and by the Map-Server and an ETR. | Data (OTK-AD), which contains the OTK Preamble and the OTK.</dd> | |||
| Per-message keys are derived from the pre-shared secret to | <dt pn="section-6.1-3.9">Key ID:</dt> | |||
| encrypt, authenticate the origin and protect the integrity of the | <dd pn="section-6.1-3.10">The identifier of the pre-shared secret shar | |||
| OTK. The Key ID allows to rotate between multiple pre-shared | ed by an | |||
| secrets in a non disruptive way.</t> | ITR and the Map-Resolver, and by the Map-Server and an ETR. | |||
| Per-message keys are derived from the pre-shared secret to | ||||
| <t>OTK Wrapping ID (OTK Wrap. ID): The identifier of the key derivat | encrypt, authenticate the origin, and protect the integrity of the | |||
| ion function | OTK. The Key ID allows to rotate between multiple pre-shared | |||
| and of the key wrapping algorithm used to encrypt the | secrets in a nondisruptive way.</dd> | |||
| One-Time-Key. Permitted values are registered in the LISP-SEC Authen | <dt pn="section-6.1-3.11">OTK Wrapping ID (OTK Wrap. ID):</dt> | |||
| tication Data Key Wrap ID (see <xref target="wrap"/>). Refer to <xref target="en | <dd pn="section-6.1-3.12">The identifier of the Key Derivation Functio | |||
| cryption"/> for more details. </t> | n | |||
| and of the key wrapping algorithm used to encrypt the | ||||
| <t>One-Time-Key Preamble: set to 0 if the OTK is not encrypted. | One-Time-Key. Permitted values are registered in the LISP-SEC | |||
| When the OTK is encrypted, this field MAY carry additional | Authentication Data Key Wrap ID (see <xref target="wrap" format="defaul | |||
| metadata resulting from the key wrapping operation. When a 128-bit | t" sectionFormat="of" derivedContent="Section 8.4"/>). Refer to <xref target="en | |||
| OTK is sent unencrypted by a Map-Resolver, the OTK Preamble is set | cryption" format="default" sectionFormat="of" derivedContent="Section 6.5"/> for | |||
| to 0x0000000000000000 (64 bits). See <xref target="null"/> for | more details. </dd> | |||
| details.</t> | <dt pn="section-6.1-3.13">One-Time-Key Preamble:</dt> | |||
| <dd pn="section-6.1-3.14">Set to 0 if the OTK is not encrypted. | ||||
| <t>One-Time-Key: the OTK wrapped as specified by OTK Wrapping ID. | When the OTK is encrypted, this field <bcp14>MAY</bcp14> carry additio | |||
| See <xref target="encryption"/> for details.</t> | nal | |||
| metadata resulting from the key wrapping operation. When a 128-bit | ||||
| <t>EID-AD Length: length (in bytes) of the EID Authentication Data | OTK is sent unencrypted by a Map-Resolver, the OTK Preamble is set | |||
| (EID-AD). The ITR MUST set the EID-AD Length to 4 bytes, as it only | to 0x0000000000000000 (64 bits). See <xref target="null" format="defau | |||
| fills the KDF ID field, and all the remaining fields part of the | lt" sectionFormat="of" derivedContent="Section 6.5.1"/> for details.</dd> | |||
| EID-AD are not present. An EID-AD MAY contain multiple | <dt pn="section-6.1-3.15">One-Time-Key:</dt> | |||
| EID-records. Each EID-record is 4-byte long plus the length of the | <dd pn="section-6.1-3.16">The OTK wrapped as specified by OTK Wrapping | |||
| AFI-encoded EID-prefix.</t> | ID. | |||
| See <xref target="encryption" format="default" sectionFormat="of" deri | ||||
| <t>KDF ID: Identifier of the Key Derivation Function used to | vedContent="Section 6.5"/> for details.</dd> | |||
| derive the MS-OTK. Permitted values are registered in the LISP-SEC A | <dt pn="section-6.1-3.17">EID-AD Length:</dt> | |||
| uthentication Data Key Derivation Function ID (see <xref target="kdf"/>). Refer | <dd pn="section-6.1-3.18">Length (in bytes) of the EID Authentication | |||
| to <xref target="map-server"/> for more details. </t> | Data | |||
| (EID-AD). The ITR <bcp14>MUST</bcp14> set the EID-AD Length to 4 bytes | ||||
| <t>Record Count: As defined in Section 5.2 of <xref | , | |||
| target="I-D.ietf-lisp-rfc6833bis"/>. </t> | as it only | |||
| fills the 'KDF ID' field, and all the remaining fields part of the | ||||
| <t>E: ETR-Cant-Sign bit. If this bit is set to 1, it signals to the | EID-AD are not present. An EID-AD <bcp14>MAY</bcp14> contain multiple | |||
| ITR | EID-Records. Each EID-Record is 4 bytes long, plus the length of the | |||
| that at least one of the ETRs authoritative for the EID prefixes | AFI-encoded EID-Prefix.</dd> | |||
| of this Map-Reply has not enabled LISP-SEC. Only a Map-Server can se | <dt pn="section-6.1-3.19">KDF ID:</dt> | |||
| t this bit. See <xref | <dd pn="section-6.1-3.20">Identifier of the Key Derivation Function us | |||
| target="map-server"/> for more details.</t> | ed to | |||
| derive the MS-OTK. Permitted values are registered in the LISP-SEC | ||||
| <t>Unassigned: Set to 0 on transmission and ignored on | Authentication Data Key Derivation Function ID (see <xref target="kdf" | |||
| receipt.</t> | format="default" sectionFormat="of" derivedContent="Section 8.5"/>). Refer to <x | |||
| ref target="map-server" format="default" sectionFormat="of" derivedContent="Sect | ||||
| <t>EID HMAC ID: Identifier of the HMAC algorithm used to protect | ion 6.7"/> for more details. </dd> | |||
| the integrity of the EID-AD. This field is filled by the Map-Server | <dt pn="section-6.1-3.21">Record Count:</dt> | |||
| that computed the EID-prefix HMAC. See <xref target="EID-AD"/> for m | <dd pn="section-6.1-3.22">As defined in <xref target="RFC9301" section | |||
| ore details. </t> | ="5.2" sectionFormat="of" format="default" derivedLink="https://rfc-editor.org/r | |||
| fc/rfc9301#section-5.2" derivedContent="RFC9301"/>. </dd> | ||||
| <t>EID mask-len: As defined in Section 5.2 of <xref | <dt pn="section-6.1-3.23">E:</dt> | |||
| target="I-D.ietf-lisp-rfc6833bis"/>.</t> | <dd pn="section-6.1-3.24">ETR-Cant-Sign bit. If this bit is set to 1, | |||
| it signals to the ITR | ||||
| <t>EID-AFI: As defined in Section 5.2 of <xref | that at least one of the ETRs that is authoritative for the EID-Prefix | |||
| target="I-D.ietf-lisp-rfc6833bis"/>.</t> | es | |||
| of this Map-Reply has not enabled LISP-SEC. Only a Map-Server can set | ||||
| <t>EID-prefix: As defined in Section 5.2 of <xref | this bit. See <xref target="map-server" format="default" sectionFormat= | |||
| target="I-D.ietf-lisp-rfc6833bis"/>.</t> | "of" derivedContent="Section 6.7"/> for more | |||
| details.</dd> | ||||
| <t>EID HMAC: HMAC of the EID-AD computed and inserted by a | <dt pn="section-6.1-3.25">Unassigned:</dt> | |||
| Map-Server See <xref target="EID-AD"/> for more details. | <dd pn="section-6.1-3.26">Set to 0 on transmission and ignored on | |||
| </t> | receipt.</dd> | |||
| </list></t> | <dt pn="section-6.1-3.27">EID HMAC ID:</dt> | |||
| <dd pn="section-6.1-3.28">Identifier of the HMAC algorithm used to pro | ||||
| tect | ||||
| the integrity of the EID-AD. This field is filled by the Map-Server | ||||
| that computed the EID-Prefix HMAC. See <xref target="EID-AD" format="d | ||||
| efault" sectionFormat="of" derivedContent="Section 6.7.1"/> for more details. </ | ||||
| dd> | ||||
| <dt pn="section-6.1-3.29">EID mask-len:</dt> | ||||
| <dd pn="section-6.1-3.30">As defined in <xref target="RFC9301" section | ||||
| ="5.2" sectionFormat="of" format="default" derivedLink="https://rfc-editor.org/r | ||||
| fc/rfc9301#section-5.2" derivedContent="RFC9301"/>.</dd> | ||||
| <dt pn="section-6.1-3.31">EID-AFI:</dt> | ||||
| <dd pn="section-6.1-3.32">As defined in <xref target="RFC9301" section | ||||
| ="5.2" sectionFormat="of" format="default" derivedLink="https://rfc-editor.org/r | ||||
| fc/rfc9301#section-5.2" derivedContent="RFC9301"/>.</dd> | ||||
| <dt pn="section-6.1-3.33">EID-Prefix:</dt> | ||||
| <dd pn="section-6.1-3.34">As defined in <xref target="RFC9301" section | ||||
| ="5.2" sectionFormat="of" format="default" derivedLink="https://rfc-editor.org/r | ||||
| fc/rfc9301#section-5.2" derivedContent="RFC9301"/>.</dd> | ||||
| <dt pn="section-6.1-3.35">EID HMAC:</dt> | ||||
| <dd pn="section-6.1-3.36">HMAC of the EID-AD computed and inserted by | ||||
| a | ||||
| Map-Server. See <xref target="EID-AD" format="default" sectionFormat=" | ||||
| of" derivedContent="Section 6.7.1"/> for more details. | ||||
| </dd> | ||||
| </dl> | ||||
| </section> | </section> | |||
| <section anchor="MR_extensions" numbered="true" toc="include" removeInRFC= | ||||
| <section anchor="MR_extensions" title="Map-Reply LISP-SEC Extensions"> | "false" pn="section-6.2"> | |||
| <t>LISP-SEC uses the Map-Reply defined in <xref | <name slugifiedName="name-map-reply-lisp-sec-extensio">Map-Reply LISP-SE | |||
| target="I-D.ietf-lisp-rfc6833bis"/>, with Type set to 2, and S-bit set | C Extensions</name> | |||
| <t indent="0" pn="section-6.2-1">LISP-SEC uses the Map-Reply defined in | ||||
| <xref target="RFC9301" format="default" sectionFormat="of" derivedContent="RFC93 | ||||
| 01"/>, with Type set to 2 and S-bit set | ||||
| to 1 to indicate that the Map-Reply message includes Authentication | to 1 to indicate that the Map-Reply message includes Authentication | |||
| Data (AD). The format of the LISP-SEC Map-Reply Authentication Data is | Data (AD). The format of the LISP-SEC Map-Reply Authentication Data is | |||
| defined in <xref target="map-reply-AD"/>. PKT-AD is the Packet | defined in <xref target="map-reply-AD" format="default" sectionFormat="o f" derivedContent="Figure 2"/>. PKT-AD is the Packet | |||
| Authentication Data that covers the Map-Reply payload.</t> | Authentication Data that covers the Map-Reply payload.</t> | |||
| <figure anchor="map-reply-AD" align="left" suppress-title="false" pn="fi | ||||
| <figure align="center" anchor="map-reply-AD" | gure-2"> | |||
| title="LISP-SEC Map-Reply Authentication Data"> | <name slugifiedName="name-lisp-sec-map-reply-authenti">LISP-SEC Map-Re | |||
| <artwork align="center"><![CDATA[ 0 1 | ply Authentication Data</name> | |||
| 2 3 | <artwork align="center" name="" type="" alt="" pn="section-6.2-2.1"> 0 | |||
| 1 2 3 | ||||
| 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 | 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | MR AD Type | Unassigned | | | MR AD Type | Unassigned | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ <---+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ <---+ | |||
| | EID-AD Length | KDF ID | | | | EID-AD Length | KDF ID | | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | |||
| | Record Count | Unassigned | EID HMAC ID |EID-AD | | Record Count | Unassigned | EID HMAC ID |EID-AD | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\ | | |||
| | Unassigned | EID mask-len | EID-AFI | | | | | Unassigned | EID mask-len | EID-AFI | | | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Rec | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Rec | | |||
| ~ EID-prefix ... ~ | | | ~ EID-Prefix ... ~ | | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+/ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+/ | | |||
| ~ EID HMAC ~ | | ~ EID HMAC ~ | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ <---+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ <---+ | |||
| | PKT-AD Length | PKT HMAC ID |\ | | PKT-AD Length | PKT HMAC ID |\ | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | |||
| ~ PKT HMAC ~PKT-AD | ~ PKT HMAC ~PKT-AD | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+/ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+/ | |||
| ]]></artwork> | </artwork> | |||
| </figure> | </figure> | |||
| <dl newline="false" indent="3" spacing="normal" pn="section-6.2-3"> | ||||
| <t><list style="empty"> | <dt pn="section-6.2-3.1">MR AD Type:</dt> | |||
| <t>MR AD Type: 1 (LISP-SEC Authentication Data). See <xref | <dd pn="section-6.2-3.2">1 (LISP-SEC Authentication Data). See <xref t | |||
| target="IANA"/>.</t> | arget="IANA" format="default" sectionFormat="of" derivedContent="Section 8"/>.</ | |||
| dd> | ||||
| <t>EID-AD Length: length (in bytes) of the EID-AD (see <xref target= | <dt pn="section-6.2-3.3">EID-AD Length:</dt> | |||
| "ECM_extensions"/>). </t> | <dd pn="section-6.2-3.4">Length (in bytes) of the EID-AD (see <xref ta | |||
| rget="ECM_extensions" format="default" sectionFormat="of" derivedContent="Sectio | ||||
| <t>KDF ID: Identifier of the Key Derivation Function used to | n 6.1"/>). </dd> | |||
| derive MS-OTK (see <xref target="ECM_extensions"/>). | <dt pn="section-6.2-3.5">KDF ID:</dt> | |||
| </t> | <dd pn="section-6.2-3.6">Identifier of the Key Derivation Function use | |||
| d to | ||||
| <t>Record Count: The number of records in this Map-Reply message (se | derive MS-OTK (see <xref target="ECM_extensions" format="default" sect | |||
| e <xref target="ECM_extensions"/>).</t> | ionFormat="of" derivedContent="Section 6.1"/>).</dd> | |||
| <dt pn="section-6.2-3.7">Record Count:</dt> | ||||
| <t>Unassigned: Set to 0 on transmission and ignored on | <dd pn="section-6.2-3.8">The number of records in this Map-Reply messa | |||
| receipt.</t> | ge (see <xref target="ECM_extensions" format="default" sectionFormat="of" derive | |||
| dContent="Section 6.1"/>).</dd> | ||||
| <t>EID HMAC ID: Identifier of the HMAC algorithm used to protect | <dt pn="section-6.2-3.9">Unassigned:</dt> | |||
| the integrity of the EID-AD (see <xref target="ECM_extensions"/>). < | <dd pn="section-6.2-3.10">Set to 0 on transmission and ignored on rece | |||
| /t> | ipt.</dd> | |||
| <dt pn="section-6.2-3.11">EID HMAC ID:</dt> | ||||
| <t>EID mask-len: Mask length for EID-prefix (see <xref target="ECM_e | <dd pn="section-6.2-3.12">Identifier of the HMAC algorithm used to pro | |||
| xtensions"/>).</t> | tect | |||
| the integrity of the EID-AD (see <xref target="ECM_extensions" format= | ||||
| <t>EID-AFI: See <xref target="ECM_extensions"/>. </t> | "default" sectionFormat="of" derivedContent="Section 6.1"/>). </dd> | |||
| <dt pn="section-6.2-3.13">EID mask-len:</dt> | ||||
| <t>EID-prefix: See <xref target="ECM_extensions"/>. </t> | <dd pn="section-6.2-3.14">Mask length for EID-Prefix (see <xref target | |||
| ="ECM_extensions" format="default" sectionFormat="of" derivedContent="Section 6. | ||||
| <t>EID HMAC: See <xref target="ECM_extensions"/>. </t> | 1"/>).</dd> | |||
| <dt pn="section-6.2-3.15">EID-AFI:</dt> | ||||
| <t>PKT-AD Length: length (in bytes) of the Packet Authentication | <dd pn="section-6.2-3.16">See <xref target="ECM_extensions" format="de | |||
| Data (PKT-AD).</t> | fault" sectionFormat="of" derivedContent="Section 6.1"/>. </dd> | |||
| <dt pn="section-6.2-3.17">EID-Prefix:</dt> | ||||
| <t>PKT HMAC ID: Identifier of the HMAC algorithm used to protect | <dd pn="section-6.2-3.18">See <xref target="ECM_extensions" format="de | |||
| the integrity of the Map-Reply (see <xref target="encryption"/>). | fault" sectionFormat="of" derivedContent="Section 6.1"/>. </dd> | |||
| </t> | <dt pn="section-6.2-3.19">EID HMAC:</dt> | |||
| <dd pn="section-6.2-3.20">See <xref target="ECM_extensions" format="de | ||||
| <t>PKT HMAC: HMAC of the whole Map-Reply packet, so to protect its i | fault" sectionFormat="of" derivedContent="Section 6.1"/>. </dd> | |||
| ntegrity; including the LISP-SEC Authentication Data (from the Map-Reply Type fi | <dt pn="section-6.2-3.21">PKT-AD Length:</dt> | |||
| eld to the PKT HMAC field), which allow message authetification. </t> | <dd pn="section-6.2-3.22">Length (in bytes) of the Packet Authenticati | |||
| </list></t> | on | |||
| Data (PKT-AD).</dd> | ||||
| <dt pn="section-6.2-3.23">PKT HMAC ID:</dt> | ||||
| <dd pn="section-6.2-3.24">Identifier of the HMAC algorithm used to pro | ||||
| tect | ||||
| the integrity of the Map-Reply (see <xref target="encryption" format=" | ||||
| default" sectionFormat="of" derivedContent="Section 6.5"/>).</dd> | ||||
| <dt pn="section-6.2-3.25">PKT HMAC:</dt> | ||||
| <dd pn="section-6.2-3.26">HMAC of the whole Map-Reply packet to protec | ||||
| t its integrity, | ||||
| including the LISP-SEC Authentication Data (from the 'Map-Reply Type' | ||||
| field to the 'PKT HMAC' field), which allow message authentication.</dd | ||||
| > | ||||
| </dl> | ||||
| </section> | </section> | |||
| <section numbered="true" toc="include" removeInRFC="false" pn="section-6.3 | ||||
| <section title="Map-Register LISP-SEC Extensions"> | "> | |||
| <name slugifiedName="name-map-register-lisp-sec-exten">Map-Register LISP | ||||
| <t>The S bit in the Map-Register message (see <xref target="I-D.ietf-lis | -SEC Extensions</name> | |||
| p-rfc6833bis"/>) indicates to the Map-Server that the registering ETR is LISP-SE | <t indent="0" pn="section-6.3-1">The S-bit in the Map-Register message ( | |||
| C enabled. An ETR that supports LISP-SEC MUST set the S bit in its Map-Register | see <xref target="RFC9301" format="default" sectionFormat="of" derivedContent="R | |||
| messages.</t> | FC9301"/>) indicates to the Map-Server that the registering ETR is LISP-SEC enab | |||
| led. An ETR that supports LISP-SEC <bcp14>MUST</bcp14> set the S-bit in its Map- | ||||
| Register messages.</t> | ||||
| </section> | </section> | |||
| <section anchor="itr" numbered="true" toc="include" removeInRFC="false" pn | ||||
| <section anchor="itr" title="ITR Processing: Generating a Map-Request"> | ="section-6.4"> | |||
| <t>Upon creating a Map-Request, the ITR generates a random ITR-OTK | <name slugifiedName="name-itr-processing-generating-a">ITR Processing: G | |||
| enerating a Map-Request</name> | ||||
| <t indent="0" pn="section-6.4-1">Upon creating a Map-Request, the ITR ge | ||||
| nerates a random ITR-OTK | ||||
| that is stored locally, until the corresponding Map-Reply is | that is stored locally, until the corresponding Map-Reply is | |||
| received (see <xref target="itr-receive"/>), together with the nonce gen | received (see <xref target="itr-receive" format="default" sectionFormat= | |||
| erated as specified in <xref | "of" derivedContent="Section 6.9"/>), together with the nonce generated as speci | |||
| target="I-D.ietf-lisp-rfc6833bis"/>.</t> | fied in <xref target="RFC9301" format="default" sectionFormat="of" derivedConten | |||
| t="RFC9301"/>.</t> | ||||
| <t>The ITR MAY use the KDF ID field to indicate the recommended KDF algo | <t indent="0" pn="section-6.4-2">The ITR <bcp14>MAY</bcp14> use the 'KDF | |||
| rithm, according to local policy. The Map-Server can overwrite the KDF ID if it | ID' field to indicate the recommended KDF algorithm according to local policy. | |||
| does not support the KDF ID recommended by the ITR (see <xref target="map-server | The Map-Server can overwrite the KDF ID if it does not support the KDF ID recomm | |||
| "/>). A KDF value of NOPREF (0) may be used to specify that the ITR has no prefe | ended by the ITR (see <xref target="map-server" format="default" sectionFormat=" | |||
| rred KDF ID. | of" derivedContent="Section 6.7"/>). A KDF value of NOPREF (0) may be used to sp | |||
| ecify that the ITR has no preferred KDF ID. | ||||
| </t> | </t> | |||
| <t indent="0" pn="section-6.4-3">ITR-OTK confidentiality and integrity p | ||||
| <t>ITR-OTK confidentiality and integrity protection MUST be provided | rotection <bcp14>MUST</bcp14> be provided | |||
| in the path between the ITR and the Map-Resolver. This can be achieved | in the path between the ITR and the Map-Resolver. This can be achieved | |||
| either by encrypting the ITR-OTK with the pre-shared secret known to | either by encrypting the ITR-OTK with the pre-shared secret known to | |||
| the ITR and the Map-Resolver (see <xref target="encryption"/>), or by | the ITR and the Map-Resolver (see <xref target="encryption" format="defa | |||
| enabling DTLS <xref target="RFC9147"/> between the ITR and the Map-Resol | ult" sectionFormat="of" derivedContent="Section 6.5"/>) or by | |||
| ver.</t> | enabling DTLS <xref target="RFC9147" format="default" sectionFormat="of" | |||
| derivedContent="RFC9147"/> between the ITR and the Map-Resolver.</t> | ||||
| <t>The Map-Request (as defined in <xref target="I-D.ietf-lisp-rfc6833bis | <t indent="0" pn="section-6.4-4">The Map-Request (as defined in <xref ta | |||
| "/>) MUST be encapsulated as a LISP Control Message in an ECM, with the S-bit se | rget="RFC9301" format="default" sectionFormat="of" derivedContent="RFC9301"/>) < | |||
| t to 1, to indicate the presence of Authentication Data. Such a message is also | bcp14>MUST</bcp14> be encapsulated as a LISP Control Message in an ECM, with the | |||
| called "Protected Map-Request" in this memo.</t> | S-bit set to 1, to indicate the presence of Authentication Data. Such a message | |||
| is also called a "Protected Map-Request" in this memo.</t> | ||||
| <t>The ITR-OTK is wrapped with the algorithm specified by the OTK Wrappi | <t indent="0" pn="section-6.4-5">The ITR-OTK is wrapped with the algorit | |||
| ng | hm specified by the 'OTK Wrapping | |||
| ID field. See <xref target="encryption"/> for further details on OTK | ID' field. See <xref target="encryption" format="default" sectionFormat= | |||
| encryption. If the NULL-KEY-WRAP-128 algorithm (see <xref target="wrap"/ | "of" derivedContent="Section 6.5"/> for further details on OTK | |||
| >) is selected, and no other encryption mechanism (e.g. DTLS) is enabled in the | encryption. If the NULL-KEY-WRAP-128 algorithm (see <xref target="wrap" | |||
| path between the ITR and the Map-Resolver, the Map-Request MUST be dropped, and | format="default" sectionFormat="of" derivedContent="Section 8.4"/>) is selected, | |||
| an appropriate log action SHOULD be taken. Implementations may include mechanism | and no other encryption mechanism (e.g., DTLS) is enabled in the path between t | |||
| s (which are beyond the scope of this document) to avoid log resource exhaustion | he ITR and the Map-Resolver, the Map-Request <bcp14>MUST</bcp14> be dropped, and | |||
| attacks.</t> | an appropriate log action <bcp14>SHOULD</bcp14> be taken. Implementations may i | |||
| nclude mechanisms (which are beyond the scope of this document) to avoid log res | ||||
| <t>The Requested HMAC ID field contains the suggested HMAC algorithm | ource exhaustion attacks.</t> | |||
| <t indent="0" pn="section-6.4-6">The 'Requested HMAC ID' field contains | ||||
| the suggested HMAC algorithm | ||||
| to be used by the Map-Server and the ETR to protect the integrity of | to be used by the Map-Server and the ETR to protect the integrity of | |||
| the ECM Authentication data and of the Map-Reply. A HMAC ID Value of | the ECM Authentication Data and of the Map-Reply. A HMAC ID value of | |||
| NONE (0), MAY be used to specify that the ITR has no preferred HMAC ID. | NONE (0) <bcp14>MAY</bcp14> be used to specify that the ITR has no prefe | |||
| rred HMAC ID. | ||||
| </t> | </t> | |||
| <t indent="0" pn="section-6.4-7">The 'KDF ID' field specifies the sugges | ||||
| <t>The KDF ID field specifies the suggested key derivation function to | ted Key Derivation Function to | |||
| be used by the Map-Server to derive the MS-OTK. A KDF Value of NONE | be used by the Map-Server to derive the MS-OTK. A KDF value of NONE | |||
| (0) may be used to specify that the ITR has no preferred KDF ID.</t> | (0) may be used to specify that the ITR has no preferred KDF ID.</t> | |||
| <t indent="0" pn="section-6.4-8">The EID-AD Length is set to 4 bytes, si | ||||
| <t>The EID-AD length is set to 4 bytes, since the Authentication Data | nce the Authentication Data | |||
| does not contain EID-prefix Authentication Data, and the EID-AD | does not contain EID-Prefix Authentication Data, and the EID-AD | |||
| contains only the KDF ID field.</t> | contains only the 'KDF ID' field.</t> | |||
| <t indent="0" pn="section-6.4-9">If the ITR is directly connected to a M | ||||
| <t>If the ITR is directly connected to a Mapping System, such as LISP+ | apping System, such as LISP+ALT <xref target="RFC6836" format="default" sectionF | |||
| ALT <xref target="RFC6836"/>, it performs the functions of both the ITR and the | ormat="of" derivedContent="RFC6836"/>, it performs the functions of both the ITR | |||
| Map-Resolver, forwarding the Protected Map-Request as described in <xref target= | and the Map-Resolver, forwarding the Protected Map-Request as described in <xre | |||
| "map-resolver"/>.</t> | f target="map-resolver" format="default" sectionFormat="of" derivedContent="Sect | |||
| ion 6.6"/>.</t> | ||||
| <t>The processing performed by Proxy ITRs (PITRs) is equivalent to the | <t indent="0" pn="section-6.4-10">The processing performed by Proxy ITRs | |||
| processing of an ITR, hence the procedure described above applies. | (PITRs) is equivalent to the | |||
| </t> | processing of an ITR; hence, the procedure described above applies. | |||
| </t> | ||||
| </section> | </section> | |||
| <section anchor="encryption" numbered="true" toc="include" removeInRFC="fa | ||||
| <section anchor="encryption" title="Encrypting and Decrypting an OTK "> | lse" pn="section-6.5"> | |||
| <t>MS-OTK confidentiality and integrity protection MUST be provided in | <name slugifiedName="name-encrypting-and-decrypting-a">Encrypting and De | |||
| crypting an OTK</name> | ||||
| <t indent="0" pn="section-6.5-1">MS-OTK confidentiality and integrity pr | ||||
| otection <bcp14>MUST</bcp14> be provided in | ||||
| the path between the Map-Server and the ETR. This can be achieved | the path between the Map-Server and the ETR. This can be achieved | |||
| either by enabling DTLS between the Map-Server and the ETR or by | either by enabling DTLS between the Map-Server and the ETR or by | |||
| encrypting the MS-OTK with the pre-shared secret known to the | encrypting the MS-OTK with the pre-shared secret known to the | |||
| Map-Server and the ETR <xref target="I-D.ietf-lisp-rfc6833bis"/>.</t> | Map-Server and the ETR <xref target="RFC9301" format="default" sectionFo | |||
| rmat="of" derivedContent="RFC9301"/>.</t> | ||||
| <t>Similarly, ITR-OTK confidentiality and integrity protection MUST be | <t indent="0" pn="section-6.5-2">Similarly, ITR-OTK confidentiality and | |||
| integrity protection <bcp14>MUST</bcp14> be | ||||
| provided in the path between the ITR and the Map-Resolver. This can be | provided in the path between the ITR and the Map-Resolver. This can be | |||
| achieved either by enabling DTLS between the Map-Server and the ITR, | achieved either by enabling DTLS between the Map-Server and the ITR | |||
| or by encrypting the ITR-OTK with the pre-shared secret known to the | or by encrypting the ITR-OTK with the pre-shared secret known to the | |||
| ITR and the Map-Resolver. The ITR/Map-Resolver pre-shared key is | ITR and the Map-Resolver. The ITR/Map-Resolver pre-shared key is | |||
| similar to the Map-Server/ETR pre-shared key.</t> | similar to the Map-Server/ETR pre-shared key.</t> | |||
| <t indent="0" pn="section-6.5-3">This section describes OTK processing i | ||||
| <t>This section describes OTK processing in the ITR/Map-Resolver path, | n the ITR/Map-Resolver path, | |||
| as well as in the Map-Server/ETR path.</t> | as well as in the Map-Server/ETR path.</t> | |||
| <t indent="0" pn="section-6.5-4">It's important to note that, to prevent | ||||
| <t>It's important to note that, to prevent ETR's overclaiming attacks, | ETR's overclaiming attacks, | |||
| the ITR/Map-Resolver pre-shared secret MUST be independent from the | the ITR/Map-Resolver pre-shared secret <bcp14>MUST</bcp14> be independen | |||
| t from the | ||||
| Map-Server/ETR pre-shared secret.</t> | Map-Server/ETR pre-shared secret.</t> | |||
| <t indent="0" pn="section-6.5-5">The OTK is wrapped using the algorithm | ||||
| <t>The OTK is wrapped using the algorithm specified in the OTK | specified in the 'OTK | |||
| Wrapping ID field. This field identifies both the:</t> | Wrapping ID' field. This field identifies both the:</t> | |||
| <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-6 | ||||
| <t><list style="symbols"> | .5-6"> | |||
| <t>Key Encryption Algorithm used to encrypt the wrapped OTK.</t> | <li pn="section-6.5-6.1">Key Encryption Algorithm used to encrypt the | |||
| wrapped OTK and</li> | ||||
| <t>Key Derivation Function used to derive a per-message encryption | <li pn="section-6.5-6.2">Key Derivation Function used to derive a per- | |||
| key.</t> | message encryption | |||
| </list> | key.</li> | |||
| Implementations of this specification MUST support OTK | </ul> | |||
| Wrapping ID AES-KEY-WRAP-128+HKDF-SHA256 that specifies the use of the | <t indent="0" pn="section-6.5-7"> | |||
| HKDF-SHA256 Key Derivation Function specified in <xref | Implementations of this specification <bcp14>MUST</bcp14> support the | |||
| target="RFC5869"/> to derive a per-message encryption key | OTK | |||
| (per-msg-key), as well as the AES-KEY-WRAP-128 Key Wrap algorithm used | Wrapping ID AES-KEY-WRAP-128+HKDF-SHA256, which specifies the use of t | |||
| to encrypt a 128-bit OTK, according to <xref target="RFC3394"/>.</t> | he | |||
| HKDF-SHA256 Key Derivation Function specified in <xref target="RFC5869 | ||||
| <t>Implementations of this specification MUST support OTK | " format="default" sectionFormat="of" derivedContent="RFC5869"/> to derive a per | |||
| -message encryption key | ||||
| (per-msg-key), as well as the AES-KEY-WRAP-128 key wrap algorithm used | ||||
| to encrypt a 128-bit OTK, according to <xref target="RFC3394" format=" | ||||
| default" sectionFormat="of" derivedContent="RFC3394"/>.</t> | ||||
| <t indent="0" pn="section-6.5-8">Implementations of this specification < | ||||
| bcp14>MUST</bcp14> support OTK | ||||
| Wrapping NULL-KEY-WRAP-128. NULL-KEY-WRAP-128 is used to carry an unen crypted 128-bit OTK, with a 64-bit preamble set to 0x0000000000000000 (64 bits). </t> | Wrapping NULL-KEY-WRAP-128. NULL-KEY-WRAP-128 is used to carry an unen crypted 128-bit OTK, with a 64-bit preamble set to 0x0000000000000000 (64 bits). </t> | |||
| <t indent="0" pn="section-6.5-9">The key wrapping process for OTK Wrappi | ||||
| <t>The key wrapping process for OTK Wrapping ID | ng ID | |||
| AES-KEY-WRAP-128+HKDF-SHA256 is described below: | AES-KEY-WRAP-128+HKDF-SHA256 is described below: | |||
| <list style="numbers"> | </t> | |||
| <ol spacing="normal" type="1" indent="adaptive" start="1" pn="section-6. | ||||
| <t>The KDF and Key Wrap algorithms are identified by the value of th | 5-10"> | |||
| e 'OTK Wrapping ID' field. The initial values are documented in <xref target="ta | <li pn="section-6.5-10.1" derivedCounter="1.">The KDF and key wrap algo | |||
| bleKWF"/>.</t> | rithms are identified by the value of the 'OTK Wrapping ID' field. The initial v | |||
| alues are documented in <xref target="tableKWF" format="default" sectionFormat=" | ||||
| <t>If the NULL-KEY-WRAP-128 algorithm (see <xref target="wrap"/>) is | of" derivedContent="Table 5"/>.</li> | |||
| selected and DTLS is not enabled, the Map-Request | <li pn="section-6.5-10.2" derivedCounter="2.">If the NULL-KEY-WRAP-128 | |||
| MUST be dropped and an appropriate log action SHOULD be taken. Imple | algorithm (see <xref target="wrap" format="default" sectionFormat="of" derivedC | |||
| mentations may include mechanisms (which are beyond the scope of this document) | ontent="Section 8.4"/>) is selected and DTLS is not enabled, the Map-Request | |||
| to avoid log resource exhaustion attacks.</t> | <bcp14>MUST</bcp14> be dropped and an appropriate log action <bcp14> | |||
| SHOULD</bcp14> be taken. Implementations may include mechanisms (which are beyon | ||||
| <t>The pre-shared secret used to derive the per-msg-key is | d the scope of this document) to avoid log resource exhaustion attacks.</li> | |||
| represented by PSK[Key ID], that is the pre-shared secret | <li pn="section-6.5-10.3" derivedCounter="3.">The pre-shared secret us | |||
| identified by the 'Key ID'.</t> | ed to derive the per-msg-key is | |||
| represented by PSK[Key ID], which is the pre-shared secret | ||||
| <t>The 128-bits long per-message encryption key is computed as: | identified by the 'Key ID'.</li> | |||
| <list style="symbols"> | <li pn="section-6.5-10.4" derivedCounter="4."> | |||
| <t>per-msg-key = KDF( nonce + s + PSK[Key ID] )</t> | <t indent="0" pn="section-6.5-10.4.1">The 128-bit-long per-message e | |||
| </list> | ncryption key is computed as:</t> | |||
| <t indent="3" pn="section-6.5-10.4.2">per-msg-key = KDF( nonce + s + | ||||
| where the nonce is the value in the Nonce field of the | PSK[Key ID] )</t> | |||
| Map-Request, 's' is the string "OTK-Key-Wrap", and the operation | <t indent="0" pn="section-6.5-10.4.3">where the nonce is the value i | |||
| '+' just indicates string concatenation. | n the 'Nonce' field of the | |||
| </t> | Map-Request, 's' is the string "OTK-Key-Wrap", and the operation'+' | |||
| just indicates string concatenation.</t> | ||||
| <t>According to <xref target="RFC3394"/> the per-msg-key is used | </li> | |||
| to wrap the OTK with AES-KEY-WRAP-128. The AES Key Wrap | <li pn="section-6.5-10.5" derivedCounter="5.">The per-msg-key is then | |||
| Initialization Value MUST be set to 0xA6A6A6A6A6A6A6A6 (64 bits). | used to wrap the OTK with AES-KEY-WRAP-128, as specified in <xref target="RFC339 | |||
| The output of the AES Key Wrap operation is 192-bit long. The most | 4" format="default" sectionFormat="of" section="2.2.1" derivedLink="https://rfc- | |||
| significant 64-bit are copied in the One-Time Key Preamble field, | editor.org/rfc/rfc3394#section-2.2.1" derivedContent="RFC3394"/>. The AES Key Wr | |||
| while the 128 less significant bits are copied in the One-Time Key | ap | |||
| field of the LISP-SEC Authentication Data.</t> | Initialization Value <bcp14>MUST</bcp14> be set to 0xA6A6A6A6A6A6A6A | |||
| </list></t> | 6 (64 bits). | |||
| The output of the AES key wrap operation is 192 bits long. | ||||
| <t>When decrypting an encrypted OTK the receiver MUST verify that the | The most significant 64 bits | |||
| Initialization Value resulting from the AES Key Wrap decryption | are copied in the 'One-Time Key Preamble' field, while the 128 | |||
| operation is equal to 0xA6A6A6A6A6A6A6A6. If this verification fails | least significant bits are copied in the 'One-Time Key' field of | |||
| the receiver MUST discard the entire message.</t> | the LISP-SEC Authentication Data.</li> | |||
| </ol> | ||||
| <section anchor="null" title="Unencrypted OTK"> | <t indent="0" pn="section-6.5-11">When decrypting an encrypted OTK, the | |||
| receiver <bcp14>MUST</bcp14> verify that the | ||||
| <t>However, when DTLS is enabled the OTK MAY be sent unencrypted as | Initialization Value resulting from the AES key wrap decryption | |||
| operation is equal to 0xA6A6A6A6A6A6A6A6. If this verification fails, | ||||
| the receiver <bcp14>MUST</bcp14> discard the entire message.</t> | ||||
| <section anchor="null" numbered="true" toc="include" removeInRFC="false" | ||||
| pn="section-6.5.1"> | ||||
| <name slugifiedName="name-unencrypted-otk">Unencrypted OTK</name> | ||||
| <t indent="0" pn="section-6.5.1-1">However, when DTLS is enabled, the | ||||
| OTK <bcp14>MAY</bcp14> be sent unencrypted as | ||||
| transport layer security is providing confidentiality and integrity | transport layer security is providing confidentiality and integrity | |||
| protection.</t> | protection.</t> | |||
| <t indent="0" pn="section-6.5.1-2">When a 128-bit OTK is sent unencryp | ||||
| <t>When a 128-bit OTK is sent unencrypted the OTK Wrapping ID is set | ted, the OTK Wrapping ID is set | |||
| to NULL_KEY_WRAP_128, and the OTK Preamble is set to | to NULL_KEY_WRAP_128, and the OTK Preamble is set to | |||
| 0x0000000000000000 (64 bits).</t> | 0x0000000000000000 (64 bits).</t> | |||
| </section> | </section> | |||
| </section> | </section> | |||
| <section anchor="map-resolver" numbered="true" toc="include" removeInRFC=" | ||||
| <section anchor="map-resolver" title="Map-Resolver Processing"> | false" pn="section-6.6"> | |||
| <t>Upon receiving a Protected Map-Request, the Map-Resolver decapsulates | <name slugifiedName="name-map-resolver-processing">Map-Resolver Processi | |||
| the ECM message. The ITR-OTK, if encrypted, | ng</name> | |||
| is decrypted as specified in <xref target="encryption"/>.</t> | <t indent="0" pn="section-6.6-1">Upon receiving a Protected Map-Request, | |||
| the Map-Resolver decapsulates the ECM. The ITR-OTK, if encrypted, | ||||
| <t>Protecting the confidentiality of the ITR-OTK and, in general, the | is decrypted as specified in <xref target="encryption" format="default" | |||
| sectionFormat="of" derivedContent="Section 6.5"/>.</t> | ||||
| <t indent="0" pn="section-6.6-2">Protecting the confidentiality of the I | ||||
| TR-OTK and, in general, the | ||||
| security of how the Map-Request is handed by the Map-Resolver to the | security of how the Map-Request is handed by the Map-Resolver to the | |||
| Map-Server, is specific to the particular Mapping System used, and | Map-Server is specific to the particular Mapping System used and is | |||
| outside of the scope of this memo.</t> | outside of the scope of this memo.</t> | |||
| <t indent="0" pn="section-6.6-3">In Mapping Systems where the Map-Server | ||||
| <t>In Mapping Systems where the Map-Server is compliant with <xref | is compliant with <xref target="RFC9301" format="default" sectionFormat="of" de | |||
| target="I-D.ietf-lisp-rfc6833bis"/>, the Map-Resolver originates a new | rivedContent="RFC9301"/>, the Map-Resolver originates a new | |||
| ECM header with the S-bit set, that contains the unencrypted ITR-OTK, | ECM header with the S-bit set, which contains the unencrypted ITR-OTK, | |||
| as specified in <xref target="encryption"/>, and the other data | as specified in <xref target="encryption" format="default" sectionFormat | |||
| derived from the ECM Authentication Data of the received encapsulated | ="of" derivedContent="Section 6.5"/>, and the other data | |||
| derived from the ECM Authentication Data of the received Encapsulated | ||||
| Map-Request.</t> | Map-Request.</t> | |||
| <t indent="0" pn="section-6.6-4">The Map-Resolver then forwards to the M | ||||
| <t>The Map-Resolver then forwards to the Map-Server the received | ap-Server the received | |||
| Map-Request, encapsulated in the new ECM header that includes the | Map-Request, which is encapsulated in the new ECM header that includes t | |||
| newly computed Authentication Data fields.</t> | he | |||
| newly computed 'Authentication Data' fields.</t> | ||||
| </section> | </section> | |||
| <section anchor="map-server" numbered="true" toc="include" removeInRFC="fa | ||||
| <section anchor="map-server" title="Map-Server Processing"> | lse" pn="section-6.7"> | |||
| <t>Upon receiving a Protected Map-Request, the Map-Server processes it a | <name slugifiedName="name-map-server-processing">Map-Server Processing</ | |||
| ccording to the setting of the S-bit and the P-bit in the Map-Register received | name> | |||
| from the ETRs authoritative for that prefix, as described below.</t> | <t indent="0" pn="section-6.7-1">Upon receiving a Protected Map-Request, | |||
| the Map-Server processes it according to the setting of the S-bit and the P-bit | ||||
| <t>While processing the Map-Request, the Map-Server can overwrite the KD | in the Map-Register received from the ETRs authoritative for that prefix, as de | |||
| F ID field if it does not support the KDF ID recommended by the ITR. | scribed below.</t> | |||
| Processing of the Map-Request MUST proceed in the order described | <t indent="0" pn="section-6.7-2">While processing the Map-Request, the M | |||
| in the table below, applying the processing corresponding to the first | ap-Server can overwrite the 'KDF ID' field if it does not support the KDF ID rec | |||
| ommended by the ITR. | ||||
| Processing of the Map-Request <bcp14>MUST</bcp14> proceed in the order d | ||||
| escribed | ||||
| in the table below, applying the process corresponding to the first | ||||
| rule that matches the conditions indicated in the first column:</t> | rule that matches the conditions indicated in the first column:</t> | |||
| <table anchor="tableMRP" align="center" pn="table-1"> | ||||
| <texttable anchor="tableMRP" title="Map-Request Processing."> | <name slugifiedName="name-map-request-processing">Map-Request Processi | |||
| <ttcol width="30%">Matching Condition</ttcol> | ng</name> | |||
| <ttcol align="left">Processing</ttcol> | <thead> | |||
| <c>1. At least one of the ETRs authoritative for the EID prefix | <tr> | |||
| included in the Map-Request registered with the P-bit set to 1 | <th align="left" colspan="1" rowspan="1">Matching Condition</th> | |||
| </c> | <th align="left" colspan="1" rowspan="1">Processing</th> | |||
| <c>The Map-Server MUST generate a LISP-SEC protected Map-Reply as | </tr> | |||
| specified in <xref target="proxy"/>. The ETR-Cant-Sign E-bit in the | </thead> | |||
| EID Authentication Data (EID-AD) MUST be set to 0. | <tbody> | |||
| </c> | <tr> | |||
| <c/> | <td align="left" colspan="1" rowspan="1">1. At least one of the ET | |||
| <c/> | Rs authoritative for the | |||
| <c>2. At least one of the ETRs authoritative for the EID prefix | EID-Prefix included in the Map-Request registered with the P-bit se | |||
| included in the Map-Request registered with the S-bit set to 1</c> | t | |||
| <c>The Map-Server MUST generate a LISP-SEC protected Encapsulated | to 1</td> | |||
| Map-Request (as specified in <xref target="EID-AD"/>), to be sent to | <td align="left" colspan="1" rowspan="1">The Map-Server <bcp14>MUS | |||
| one of the authoritative ETRs that registered with the S-bit set to | T</bcp14> generate a | |||
| 1 (and the P-bit set to 0). If there is at least one ETR that | LISP-SEC-protected Map-Reply, as | |||
| registered with the S-bit set to 0, the ETR-Cant-Sign E-bit of the | specified in <xref target="proxy" format="default" sectionFormat=" | |||
| EID-AD MUST be set to 1 to signal the ITR that a non LISP-SEC | of" derivedContent="Section 6.7.2"/>. The | |||
| Map-Request might reach additional ETRs that have LISP-SEC | ETR-Cant-Sign E-bit in the | |||
| disabled.</c> | EID Authentication Data (EID-AD) <bcp14>MUST</bcp14> be set to 0.< | |||
| <c/> | /td> | |||
| <c/> | </tr> | |||
| <c>3. All the ETRs authoritative for the EID prefix included in the | <tr> | |||
| Map-Request registered with the S-bit set to 0</c> | <td align="left" colspan="1" rowspan="1">2. At least one of the ET | |||
| <c>The Map-Server MUST send a Negative Map-Reply protected with | Rs authoritative for the | |||
| LISP-SEC, as described in <xref target="proxy"/>. The ETR-Cant-Sign | EID-Prefix included in the Map-Request registered with the S-bit se | |||
| E-bit MUST be set to 1 to signal the ITR that a non LISP-SEC | t | |||
| Map-Request might reach additional ETRs that have LISP-SEC | to 1</td> | |||
| disabled.</c> | <td align="left" colspan="1" rowspan="1">The Map-Server <bcp14>MUS | |||
| </texttable> | T</bcp14> generate a | |||
| LISP-SEC-protected Encapsulated | ||||
| <t>In this way the ITR that sent a LISP-SEC protected Map-Request | Map-Request (as specified in <xref target="EID-AD" format="default | |||
| always receives a LISP-SEC protected Map-Reply. However, the | " sectionFormat="of" derivedContent="Section 6.7.1"/>) to be sent to | |||
| ETR-Cant-Sign E-bit set to 1 specifies that a non LISP-SEC Map-Request | one of the authoritative ETRs that registered with the S-bit set t | |||
| o | ||||
| 1 (and the P-bit set to 0). If there is at least one ETR that | ||||
| registered with the S-bit set to 0, the ETR-Cant-Sign E-bit of the | ||||
| EID-AD <bcp14>MUST</bcp14> be set to 1 to signal the ITR that a no | ||||
| n-LISP-SEC | ||||
| Map-Request might reach additional ETRs that have LISP-SEC | ||||
| disabled.</td> | ||||
| </tr> | ||||
| <tr> | ||||
| <td align="left" colspan="1" rowspan="1">3. All the ETRs authorita | ||||
| tive for the EID-Prefix | ||||
| included in the | ||||
| Map-Request registered with the S-bit set to 0</td> | ||||
| <td align="left" colspan="1" rowspan="1">The Map-Server <bcp14>MUS | ||||
| T</bcp14> send a Negative | ||||
| Map-Reply protected with | ||||
| LISP-SEC, as described in <xref target="proxy" format="default" se | ||||
| ctionFormat="of" derivedContent="Section 6.7.2"/>. | ||||
| The ETR-Cant-Sign | ||||
| E-bit <bcp14>MUST</bcp14> be set to 1 to signal the ITR that a non | ||||
| -LISP-SEC | ||||
| Map-Request might reach additional ETRs that have LISP-SEC | ||||
| disabled.</td> | ||||
| </tr> | ||||
| </tbody> | ||||
| </table> | ||||
| <t indent="0" pn="section-6.7-4">In this way, the ITR that sent a LISP-S | ||||
| EC-protected Map-Request | ||||
| always receives a LISP-SEC-protected Map-Reply. However, the | ||||
| ETR-Cant-Sign E-bit set to 1 specifies that a non-LISP-SEC Map-Request | ||||
| might reach additional ETRs that have LISP-SEC disabled. This | might reach additional ETRs that have LISP-SEC disabled. This | |||
| mechanism allows the ITR to downgrade to non LISP-SEC | mechanism allows the ITR to downgrade to non-LISP-SEC | |||
| requests, which does not protect against threats described in <xref targ | requests, which does not protect against threats described in <xref targ | |||
| et="threat-model"/>.</t> | et="threat-model" format="default" sectionFormat="of" derivedContent="Section 4" | |||
| />.</t> | ||||
| <section anchor="EID-AD" | <section anchor="EID-AD" numbered="true" toc="include" removeInRFC="fals | |||
| title="Generating a LISP-SEC Protected Encapsulated Map-Request | e" pn="section-6.7.1"> | |||
| "> | <name slugifiedName="name-generating-a-lisp-sec-prote">Generating a LI | |||
| <t>The Map-Server decapsulates the ECM and generates a new ECM | SP-SEC-Protected Encapsulated Map-Request</name> | |||
| <t indent="0" pn="section-6.7.1-1">The Map-Server decapsulates the ECM | ||||
| and generates new ECM | ||||
| Authentication Data. The Authentication Data includes the OTK-AD and | Authentication Data. The Authentication Data includes the OTK-AD and | |||
| the EID-AD, that contains EID-prefix authorization information, that | the EID-AD, which contains EID-Prefix authorization information that | |||
| are eventually received by the requesting ITR.</t> | are eventually received by the requesting ITR.</t> | |||
| <t indent="0" pn="section-6.7.1-2">The Map-Server updates the OTK-AD b | ||||
| <t>The Map-Server updates the OTK-AD by deriving a new OTK (MS-OTK) | y deriving a new OTK (MS-OTK) | |||
| from the ITR-OTK received with the Map-Request. MS-OTK is derived | from the ITR-OTK received with the Map-Request. MS-OTK is derived by | |||
| applying the key derivation function specified in the KDF ID field. | applying the Key Derivation Function specified in the 'KDF ID' field. | |||
| If the algorithm specified in the KDF ID field is not supported, the | If the algorithm specified in the 'KDF ID' field is not supported, the | |||
| Map-Server uses a different algorithm to derive the key and updates | Map-Server uses a different algorithm to derive the key and updates | |||
| the KDF ID field accordingly.</t> | the 'KDF ID' field accordingly.</t> | |||
| <t indent="0" pn="section-6.7.1-3">The Map-Request <bcp14>MUST</bcp14> | ||||
| <t>The Map-Request MUST be encapsulated in an ECM, with the S-bit | be encapsulated in an ECM, with the S-bit | |||
| set to 1, to indicate the presence of Authentication Data.</t> | set to 1, to indicate the presence of Authentication Data.</t> | |||
| <t indent="0" pn="section-6.7.1-4">MS-OTK is wrapped with the algorith | ||||
| <t>MS-OTK is wrapped with the algorithm specified by the OTK | m specified by the 'OTK | |||
| Wrapping ID field. See <xref target="encryption"/> for further | Wrapping ID' field. See <xref target="encryption" format="default" sec | |||
| tionFormat="of" derivedContent="Section 6.5"/> for further | ||||
| details on OTK encryption. If the NULL-KEY-WRAP-128 algorithm is | details on OTK encryption. If the NULL-KEY-WRAP-128 algorithm is | |||
| selected and DTLS is not enabled in the path between the Map-Server | selected and DTLS is not enabled in the path between the Map-Server | |||
| and the ETR, the Map-Request MUST be dropped and an appropriate log | and the ETR, the Map-Request <bcp14>MUST</bcp14> be dropped and an app | |||
| action SHOULD be taken.</t> | ropriate log | |||
| action <bcp14>SHOULD</bcp14> be taken.</t> | ||||
| <t>The Map-Server includes in the EID-AD the longest match | <t indent="0" pn="section-6.7.1-5">In the EID-AD, the Map-Server inclu | |||
| registered EID-prefix for the destination EID, and an HMAC of this | des in the EID-AD the longest-match-registered | |||
| EID-prefix. The HMAC is keyed with the ITR-OTK contained in the | EID-Prefix for the destination EID and an HMAC of this | |||
| EID-Prefix. The HMAC is keyed with the ITR-OTK contained in the | ||||
| received ECM Authentication Data, and the HMAC algorithm is chosen | received ECM Authentication Data, and the HMAC algorithm is chosen | |||
| according to the Requested HMAC ID field. If the Map-Server does not | according to the 'Requested HMAC ID' field. If the Map-Server does not | |||
| support this algorithm, the Map-Server uses a different algorithm | support this algorithm, the Map-Server uses a different algorithm | |||
| and specifies it in the EID HMAC ID field. The scope of the HMAC | and specifies it in the 'EID HMAC ID' field. The scope of the HMAC | |||
| operation MUST cover the entire EID-AD, from the EID-AD Length field t | operation <bcp14>MUST</bcp14> cover the entire EID-AD, from the 'EID-A | |||
| o the EID HMAC field, which MUST be set to 0 before the | D Length' field to the 'EID HMAC' field, which <bcp14>MUST</bcp14> be set to 0 b | |||
| efore the | ||||
| computation.</t> | computation.</t> | |||
| <t indent="0" pn="section-6.7.1-6">The Map-Server then forwards the up | ||||
| <t>The Map-Server then forwards the updated ECM encapsulated | dated ECM-Encapsulated | |||
| Map-Request, that contains the OTK-AD, the EID-AD, and the received | Map-Request, which contains the OTK-AD, the EID-AD, and the received | |||
| Map-Request to an authoritative ETR as specified in <xref | Map-Request to an authoritative ETR as specified in <xref target="RFC9 | |||
| target="I-D.ietf-lisp-rfc6833bis"/>.</t> | 301" format="default" sectionFormat="of" derivedContent="RFC9301"/>.</t> | |||
| </section> | </section> | |||
| <section anchor="proxy" numbered="true" toc="include" removeInRFC="false | ||||
| <section anchor="proxy" title="Generating a Proxy Map-Reply"> | " pn="section-6.7.2"> | |||
| <t>LISP-SEC proxy Map-Reply are generated according to <xref | <name slugifiedName="name-generating-a-proxy-map-repl">Generating a Pr | |||
| target="I-D.ietf-lisp-rfc6833bis"/>, with the Map-Reply S-bit set | oxy Map-Reply</name> | |||
| <t indent="0" pn="section-6.7.2-1">A LISP-SEC proxy Map-Reply is gener | ||||
| ated according to <xref target="RFC9301" format="default" sectionFormat="of" der | ||||
| ivedContent="RFC9301"/>, with the Map-Reply S-bit set | ||||
| to 1. The Map-Reply includes the Authentication Data that contains | to 1. The Map-Reply includes the Authentication Data that contains | |||
| the EID-AD, computed as specified in <xref target="EID-AD"/>, as | the EID-AD computed as specified in <xref target="EID-AD" format="defa | |||
| well as the PKT-AD computed as specified in <xref | ult" sectionFormat="of" derivedContent="Section 6.7.1"/>, as | |||
| target="etr"/>.</t> | well as the PKT-AD computed as specified in <xref target="etr" format= | |||
| "default" sectionFormat="of" derivedContent="Section 6.8"/>.</t> | ||||
| </section> | </section> | |||
| </section> | </section> | |||
| <section anchor="etr" numbered="true" toc="include" removeInRFC="false" pn | ||||
| <section anchor="etr" title="ETR Processing"> | ="section-6.8"> | |||
| <t>Upon receiving an ECM encapsulated Map-Request with the S-bit set, | <name slugifiedName="name-etr-processing">ETR Processing</name> | |||
| the ETR decapsulates the ECM message. The OTK field, if encrypted, is | <t indent="0" pn="section-6.8-1">Upon receiving an ECM-Encapsulated Map- | |||
| decrypted as specified in <xref target="encryption"/> to obtain the | Request with the S-bit set, | |||
| the ETR decapsulates the ECM. The 'OTK' field, if encrypted, is | ||||
| decrypted as specified in <xref target="encryption" format="default" sec | ||||
| tionFormat="of" derivedContent="Section 6.5"/> to obtain the | ||||
| unencrypted MS-OTK.</t> | unencrypted MS-OTK.</t> | |||
| <t indent="0" pn="section-6.8-2">The ETR then generates a Map-Reply as s | ||||
| <t>The ETR then generates a Map-Reply as specified in <xref | pecified in <xref target="RFC9301" format="default" sectionFormat="of" derivedCo | |||
| target="I-D.ietf-lisp-rfc6833bis"/> and includes the Authentication | ntent="RFC9301"/> and includes the Authentication | |||
| Data that contains the EID-AD, as received in the encapsulated | Data that contains the EID-AD, as received in the Encapsulated | |||
| Map-Request, as well as the PKT-AD.</t> | Map-Request, as well as the PKT-AD.</t> | |||
| <t indent="0" pn="section-6.8-3">The EID-AD is copied from the Authentic | ||||
| <t>The EID-AD is copied from the Authentication Data of the received | ation Data of the received | |||
| encapsulated Map-Request.</t> | Encapsulated Map-Request.</t> | |||
| <t indent="0" pn="section-6.8-4">The PKT-AD contains the HMAC of the who | ||||
| <t>The PKT-AD contains the HMAC of the whole Map-Reply packet, keyed | le Map-Reply packet, keyed | |||
| with the MS-OTK and computed using the HMAC algorithm specified in the | with the MS-OTK and computed using the HMAC algorithm specified in the | |||
| Requested HMAC ID field of the received encapsulated Map-Request. | 'Requested HMAC ID' field of the received Encapsulated Map-Request. | |||
| If the ETR does not support the Requested HMAC ID, it uses a different a | If the ETR does not support the Requested HMAC ID, it uses a different a | |||
| lgorithm and updates the PKT HMAC ID field accordingly. | lgorithm and updates the 'PKT HMAC ID' field accordingly. | |||
| The HMAC operation MUST cover the entire Map-Reply, where the PKT HMAC f | The HMAC operation <bcp14>MUST</bcp14> cover the entire Map-Reply, where | |||
| ield MUST be set to 0 before the computation. | the 'PKT HMAC' field <bcp14>MUST</bcp14> be set to 0 before the computation. | |||
| </t> | </t> | |||
| <t indent="0" pn="section-6.8-5">Finally, the ETR sends the Map-Reply to | ||||
| <t>Finally the ETR sends the Map-Reply to the requesting ITR as | the requesting ITR as | |||
| specified in <xref target="I-D.ietf-lisp-rfc6833bis"/>.</t> | specified in <xref target="RFC9301" format="default" sectionFormat="of" | |||
| derivedContent="RFC9301"/>.</t> | ||||
| </section> | </section> | |||
| <section anchor="itr-receive" numbered="true" toc="include" removeInRFC="f | ||||
| <section anchor="itr-receive" | alse" pn="section-6.9"> | |||
| title="ITR Processing: Receiving a Map-Reply"> | <name slugifiedName="name-itr-processing-receiving-a-">ITR Processing: R | |||
| <t>In response to a Protected Map-Request, an ITR expects a Map-Reply wi | eceiving a Map-Reply</name> | |||
| th the S-bit set to 1 including an EID-AD and a PKT-AD. The ITR MUST discard th | <t indent="0" pn="section-6.9-1">In response to a Protected Map-Request, | |||
| e Map-Reply otherwise. | an ITR expects a Map-Reply with the S-bit set to 1, including an EID-AD and a P | |||
| KT-AD. The ITR <bcp14>MUST</bcp14> discard the Map-Reply otherwise. | ||||
| </t> | </t> | |||
| <t indent="0" pn="section-6.9-2">Upon receiving a Map-Reply, the ITR mus | ||||
| <t>Upon receiving a Map-Reply, the ITR must verify the integrity of | t verify the integrity of | |||
| both the EID-AD and the PKT-AD, and MUST discard the Map-Reply if one | both the EID-AD and the PKT-AD and <bcp14>MUST</bcp14> discard the Map-R | |||
| eply if one | ||||
| of the integrity checks fails. After processing the Map-Reply, the ITR | of the integrity checks fails. After processing the Map-Reply, the ITR | |||
| MUST discard the <nonce,ITR-OTK> pair associated to the | <bcp14>MUST</bcp14> discard the <nonce,ITR-OTK> pair associated to | |||
| Map-Reply</t> | the | |||
| Map-Reply.</t> | ||||
| <t>The integrity of the EID-AD is verified using the ITR-OTK (stored | <t indent="0" pn="section-6.9-3">The integrity of the EID-AD is verified | |||
| locally for the duration of this exchange) to re-compute the HMAC of | using the ITR-OTK (stored | |||
| the EID-AD using the algorithm specified in the EID HMAC ID field. | locally for the duration of this exchange) to recompute the HMAC of | |||
| If the ITR did indicate a Requested HMAC ID in the Map-Request and the P | the EID-AD using the algorithm specified in the 'EID HMAC ID' field. | |||
| KT HAMC ID in the corresponding Map-Reply is different, or if the ITR did not in | If the ITR did indicate a Requested HMAC ID in the Map-Request and the P | |||
| dicate a Requested HMAC ID in the Map-Request and the PKT HMAC ID in the corresp | KT HAMC ID in the corresponding Map-Reply is different, or if the ITR did not in | |||
| onding Map-Reply is not supported, then the ITR MUST discard the Map-Reply and s | dicate a Requested HMAC ID in the Map-Request and the PKT HMAC ID in the corresp | |||
| end, according to rate limitation policies defined in <xref | onding Map-Reply is not supported, then the ITR <bcp14>MUST</bcp14> discard the | |||
| target="I-D.ietf-lisp-rfc6833bis"/>, a new Map-Request with a different | Map-Reply and send, according to rate-limitation policies defined in <xref targe | |||
| Requested HMAC ID field, according to ITR's local policy. The scope of the HMAC | t="RFC9301" format="default" sectionFormat="of" derivedContent="RFC9301"/>, a ne | |||
| operation covers the entire EID-AD, from the EID-AD Length field to the EID HMAC | w Map-Request with a different 'Requested HMAC ID' field, according to ITR's loc | |||
| field.</t> | al policy. The scope of the HMAC operation covers the entire EID-AD, from the 'E | |||
| ID-AD Length' field to the 'EID HMAC' field.</t> | ||||
| <t>ITR MUST set the EID HMAC ID field to 0 before computing the | <t indent="0" pn="section-6.9-4">ITR <bcp14>MUST</bcp14> set the 'EID HM | |||
| AC ID' field to 0 before computing the | ||||
| HMAC.</t> | HMAC.</t> | |||
| <t indent="0" pn="section-6.9-5">To verify the integrity of the PKT-AD, | ||||
| <t>To verify the integrity of the PKT-AD, first the MS-OTK is derived | first the MS-OTK is derived | |||
| from the locally stored ITR-OTK using the algorithm specified in the | from the locally stored ITR-OTK using the algorithm specified in the | |||
| KDF ID field. | 'KDF ID' field. | |||
| This is because the PKT-AD is generated by the ETR using | This is because the PKT-AD is generated by the ETR using | |||
| the MS-OTK. If the ITR did indicate a recommended KDF ID in the Map-Requ | the MS-OTK. If the ITR did indicate a recommended KDF ID in the Map-Requ | |||
| est and the KDF ID in the corresponding Map-Reply is different, or if the ITR di | est and the KDF ID in the corresponding Map-Reply is different or if the ITR did | |||
| d not indicate a recommended KDF ID in the Map-Request and the KDF ID in the cor | not indicate a recommended KDF ID in the Map-Request and the KDF ID in the corr | |||
| responding Map-Reply is not supported, then the ITR MUST discard the Map-Reply a | esponding Map-Reply is not supported, then the ITR <bcp14>MUST</bcp14> discard t | |||
| nd | he Map-Reply and | |||
| send, according to rate limitation policies defined in <xref | send, according to rate-limitation policies defined in <xref target="RFC | |||
| target="I-D.ietf-lisp-rfc6833bis"/>, a new Map-Request with a | 9301" format="default" sectionFormat="of" derivedContent="RFC9301"/>, a new Map- | |||
| Request with a | ||||
| different KDF ID, according to ITR's local policy. | different KDF ID, according to ITR's local policy. | |||
| The key derivation function HKDF-SHA256 MUST be supported in LISP-SEC im plementations. LISP-SEC deployments SHOULD use the HKDF-SHA256 HKDF function, un less older implementations using HKDF-SHA1-128 are present in the same deploymen t. | The Key Derivation Function HKDF-SHA256 <bcp14>MUST</bcp14> be supported in LISP-SEC implementations. LISP-SEC deployments <bcp14>SHOULD</bcp14> use the HKDF-SHA256 HKDF function, unless older implementations using HKDF-SHA1-128 are present in the same deployment. | |||
| Without consistent configuration of involved entities, extra delays may be experienced. | Without consistent configuration of involved entities, extra delays may be experienced. | |||
| However, since HKDF-SHA1-128 and HKDF-SHA256 are supported, the process will eventually converge. | However, since HKDF-SHA1-128 and HKDF-SHA256 are supported, the process will eventually converge. | |||
| </t> | </t> | |||
| <t indent="0" pn="section-6.9-6">The derived MS-OTK is then used to reco | ||||
| <t>The derived MS-OTK is then used to re-compute the HMAC of the | mpute the HMAC of the | |||
| PKT-AD using the Algorithm specified in the PKT HMAC ID field. If the | PKT-AD using the algorithm specified in the 'PKT HMAC ID' field. If the | |||
| PKT HMAC ID field does not match the Requested HMAC ID the ITR MUST | 'PKT HMAC ID' field does not match the Requested HMAC ID, the ITR <bcp14 | |||
| discard the Map-Reply and send, according to rate limitation policies de | >MUST</bcp14> | |||
| fined in <xref target="I-D.ietf-lisp-rfc6833bis"/>, | discard the Map-Reply and send, according to rate-limitation policies de | |||
| a new Map-Request with a different Requested HMAC ID according to | fined in <xref target="RFC9301" format="default" sectionFormat="of" derivedConte | |||
| nt="RFC9301"/>, | ||||
| a new Map-Request with a different Requested HMAC ID, according to | ||||
| ITR's local policy or until all HMAC IDs supported by the ITR have | ITR's local policy or until all HMAC IDs supported by the ITR have | |||
| been attempted. When the PKT HMAC ID field does not match the Requested | been attempted. When the 'PKT HMAC ID' field does not match the Requeste | |||
| HMAC ID it is not possible to validate the Map-Reply.</t> | d HMAC ID, it is not possible to validate the Map-Reply.</t> | |||
| <t indent="0" pn="section-6.9-7">Each individual Map-Reply EID-Record is | ||||
| <t>Each individual Map-Reply EID-record is considered valid only if: | considered valid only if: | |||
| (1) both EID-AD and PKT-AD are valid, and (2) the intersection of the | (1) both EID-AD and PKT-AD are valid and (2) the intersection of the | |||
| EID-prefix in the Map-Reply EID-record with one of the EID-prefixes | EID-Prefix in the Map-Reply EID-Record with one of the EID-Prefixes | |||
| contained in the EID-AD is not empty. After identifying the Map-Reply | contained in the EID-AD is not empty. After identifying the Map-Reply | |||
| record as valid, the ITR sets the EID-prefix in the Map-Reply record | record as valid, the ITR sets the EID-Prefix in the Map-Reply record | |||
| to the value of the intersection set computed before, and adds the | to the value of the intersection set computed before and adds the | |||
| Map-Reply EID-record to its EID-to-RLOC cache, as described in <xref | Map-Reply EID-Record to its EID-to-RLOC Map-Cache, as described in <xref | |||
| target="I-D.ietf-lisp-rfc6833bis"/>. An example of Map-Reply record | target="RFC9301" format="default" sectionFormat="of" derivedContent="RFC9301"/> | |||
| validation is provided in <xref target="validation"/>.</t> | . An example of Map-Reply record | |||
| validation is provided in <xref target="validation" format="default" sec | ||||
| <t><xref target="I-D.ietf-lisp-rfc6833bis"/> allows ETRs to send | tionFormat="of" derivedContent="Section 6.9.1"/>.</t> | |||
| Solicit-Map-Requests (SMR) directly to the ITR. The corresponding SMR-in | <t indent="0" pn="section-6.9-8"><xref target="RFC9301" format="default" | |||
| voked Map-Request will be sent through the mapping system, hence, secured with t | sectionFormat="of" derivedContent="RFC9301"/> allows ETRs to send | |||
| he specifications of this memo if in use. | Solicit-Map-Requests (SMRs) directly to the ITR. The corresponding SMR-i | |||
| If an ITR accepts Map-Replies piggybacked in Map-Requests and its conten | nvoked Map-Request will be sent through the Mapping System, hence, secured with | |||
| t is not already present in its EID-to-RLOC cache, it MUST send a Map-Request ov | the specifications of this memo if in use. | |||
| er the mapping system in order to verify its content with a secured Map-Reply, b | If an ITR accepts Map-Replies piggybacked in Map-Requests and its conten | |||
| efore using the content.</t> | t is not already present in its EID-to-RLOC Map-Cache, it <bcp14>MUST</bcp14> se | |||
| nd a Map-Request over the Mapping System in order to verify its content with a s | ||||
| <t/> | ecured Map-Reply before using the content.</t> | |||
| <section anchor="validation" numbered="true" toc="include" removeInRFC=" | ||||
| <section anchor="validation" title="Map-Reply Record Validation"> | false" pn="section-6.9.1"> | |||
| <t>The payload of a Map-Reply may contain multiple EID-records. The | <name slugifiedName="name-map-reply-record-validation">Map-Reply Recor | |||
| d Validation</name> | ||||
| <t indent="0" pn="section-6.9.1-1">The payload of a Map-Reply may cont | ||||
| ain multiple EID-Records. The | ||||
| whole Map-Reply is signed by the ETR, with the PKT HMAC, to provide | whole Map-Reply is signed by the ETR, with the PKT HMAC, to provide | |||
| integrity protection and origin authentication to the EID-prefix | integrity protection and origin authentication to the EID-Prefix | |||
| records claimed by the ETR. The Authentication Data field of a | records claimed by the ETR. The 'Authentication Data' field of a | |||
| Map-Reply may contain multiple EID-records in the EID-AD. The EID-AD | Map-Reply may contain multiple EID-Records in the EID-AD. The EID-AD | |||
| is signed by the Map-Server, with the EID HMAC, to provide integrity | is signed by the Map-Server, with the EID HMAC, to provide integrity | |||
| protection and origin authentication to the EID-prefix records | protection and origin authentication to the EID-Prefix records | |||
| inserted by the Map-Server.</t> | inserted by the Map-Server.</t> | |||
| <t indent="0" pn="section-6.9.1-2">Upon receiving a Map-Reply with the | ||||
| <t>Upon receiving a Map-Reply with the S-bit set, the ITR first | S-bit set, the ITR first | |||
| checks the validity of both the EID HMAC and of the PKT-AD HMAC. If | checks the validity of both the EID HMAC and of the PKT-AD HMAC. If | |||
| either one of the HMACs is not valid, a log action SHOULD be taken and | either one of the HMACs is not valid, a log action <bcp14>SHOULD</bcp1 | |||
| the Map-Reply MUST NOT be processed any further. Implementations may i | 4> be taken and | |||
| nclude mechanisms (which are beyond the scope of this document) to avoid log res | the Map-Reply <bcp14>MUST NOT</bcp14> be processed any further. Implem | |||
| ource exhaustion attacks. If both HMACs are | entations may include mechanisms (which are beyond the scope of this document) t | |||
| valid, the ITR proceeds with validating each individual EID-record | o avoid log resource exhaustion attacks. If both HMACs are | |||
| valid, the ITR proceeds with validating each individual EID-Record | ||||
| claimed by the ETR by computing the intersection of each one of the | claimed by the ETR by computing the intersection of each one of the | |||
| EID-prefix contained in the payload of the Map-Reply with each one | EID-Prefixes contained in the payload of the Map-Reply, with each one | |||
| of the EID-prefixes contained in the EID-AD. An EID-record is valid | of the EID-Prefixes contained in the EID-AD. An EID-Record is valid | |||
| only if at least one of the intersections is not the empty set, otherw | only if at least one of the intersections is not the empty set; otherw | |||
| ise, a log action MUST be taken and the EID-record MUST be discarded. Implementa | ise, a log action <bcp14>MUST</bcp14> be taken and the EID-Record <bcp14>MUST</b | |||
| tions may include mechanisms (which are beyond the scope of this document) to av | cp14> be discarded. Implementations may include mechanisms (which are beyond the | |||
| oid log resource exhaustion attacks.</t> | scope of this document) to avoid log resource exhaustion attacks.</t> | |||
| <t indent="0" pn="section-6.9.1-3">For instance, the Map-Reply payload | ||||
| <t>For instance, the Map-Reply payload contains 3 mapping record | contains 3 mapping record | |||
| EID-prefixes: | EID-Prefixes: | |||
| <list style="empty"> | </t> | |||
| <t>2001:db8:102::/48</t> | <ul empty="true" spacing="normal" bare="false" indent="3" pn="section- | |||
| 6.9.1-4"> | ||||
| <t>2001:db8:103::/48</t> | <li pn="section-6.9.1-4.1">2001:db8:102::/48</li> | |||
| <li pn="section-6.9.1-4.2">2001:db8:103::/48</li> | ||||
| <t>2001:db8:200::/40</t> | <li pn="section-6.9.1-4.3">2001:db8:200::/40</li> | |||
| </list> | </ul> | |||
| The EID-AD contains two EID-prefixes: | <t indent="0" pn="section-6.9.1-5"> | |||
| <list style="empty"> | The EID-AD contains two EID-Prefixes: | |||
| <t>2001:db8:103::/48</t> | </t> | |||
| <ul empty="true" spacing="normal" bare="false" indent="3" pn="section- | ||||
| <t>2001:db8:203::/48</t> | 6.9.1-6"> | |||
| </list> | <li pn="section-6.9.1-6.1">2001:db8:103::/48</li> | |||
| The EID-record with EID-prefix 2001:db8:102::/48 is not | <li pn="section-6.9.1-6.2">2001:db8:203::/48</li> | |||
| eligible to be used by the ITR since it is not included in any of | </ul> | |||
| the EID-ADs signed by the Map-Server. A log action MUST be taken and t | <t indent="0" pn="section-6.9.1-7"> | |||
| he EID-record MUST be | The EID-Record with EID-Prefix 2001:db8:102::/48 is not | |||
| eligible to be used by the ITR, since it is not included in any of | ||||
| the EID-ADs signed by the Map-Server. A log action <bcp14>MUST</bcp14> | ||||
| be taken, and the EID-Record <bcp14>MUST</bcp14> be | ||||
| discarded. Implementations may include mechanisms (which are beyond th e scope of this document) to avoid log resource exhaustion attacks. </t> | discarded. Implementations may include mechanisms (which are beyond th e scope of this document) to avoid log resource exhaustion attacks. </t> | |||
| <t indent="0" pn="section-6.9.1-8">The EID-Record with EID-Prefix 2001 | ||||
| <t>The EID-record with EID-prefix 2001:db8:103::/48 is eligible to | :db8:103::/48 is eligible to | |||
| be used by the ITR because it matches the second EID-prefix | be used by the ITR because it matches the second EID-Prefix | |||
| contained in the EID-AD.</t> | contained in the EID-AD.</t> | |||
| <t indent="0" pn="section-6.9.1-9">The EID-Record with EID-Prefix 2001 | ||||
| <t>The EID-record with EID-prefix 2001:db8:200::/40 is not eligible | :db8:200::/40 is not eligible | |||
| to be used by the ITR since it is not included in any of the EID-ADs | to be used by the ITR, since it is not included in any of the EID-ADs | |||
| signed by the Map-Server. A log action MUST be taken and the EID-recor | signed by the Map-Server. A log action <bcp14>MUST</bcp14> be taken an | |||
| d MUST be | d the EID-Record <bcp14>MUST</bcp14> be | |||
| discarded. Implementations may include mechanisms (which are beyond th | discarded. Implementations may include mechanisms (which are beyond th | |||
| e scope of this document) to avoid log resource exhaustion attacks. In this last | e scope of this document) to avoid log resource exhaustion attacks. In this last | |||
| example the ETR is trying to over claim the EID-prefix 2001:db8:200::/40, but t | example, the ETR is trying to over claim the EID-Prefix 2001:db8:200::/40, but | |||
| he Map-Server authorized only | the Map-Server authorized only | |||
| 2001:db8:203::/48, hence the EID-record is discarded.</t> | 2001:db8:203::/48; hence, the EID-Record is discarded.</t> | |||
| </section> | </section> | |||
| </section> | </section> | |||
| </section> | </section> | |||
| <section anchor="security" numbered="true" toc="include" removeInRFC="false" | ||||
| <section anchor="security" title="Security Considerations"> | pn="section-7"> | |||
| <name slugifiedName="name-security-considerations">Security Considerations | ||||
| <t>This document extends the LISP Control-Plane defined in <xref | </name> | |||
| target="I-D.ietf-lisp-rfc6833bis"/>, hence, its Security Considerations ap | <t indent="0" pn="section-7-1">This document extends the LISP control plan | |||
| ply as well to this document. | e defined in <xref target="RFC9301" format="default" sectionFormat="of" derivedC | |||
| ontent="RFC9301"/>; hence, its security considerations apply to this document a | ||||
| s well. | ||||
| </t> | </t> | |||
| <section anchor="mapping-system" numbered="true" toc="include" removeInRFC | ||||
| <section anchor="mapping-system" title="Mapping System Security"> | ="false" pn="section-7.1"> | |||
| <t>The LISP-SEC threat model described in <xref | <name slugifiedName="name-mapping-system-security">Mapping System Securi | |||
| target="threat-model"/>, assumes that the LISP Mapping System is | ty</name> | |||
| <t indent="0" pn="section-7.1-1">The LISP-SEC threat model described in | ||||
| <xref target="threat-model" format="default" sectionFormat="of" derivedContent=" | ||||
| Section 4"/> assumes that the LISP Mapping System is | ||||
| working properly and delivers Map-Request messages to a | working properly and delivers Map-Request messages to a | |||
| Map-Server that is authoritative for the requested EID.</t> | Map-Server that is authoritative for the requested EID.</t> | |||
| <t indent="0" pn="section-7.1-2">It is assumed that the Mapping System e | ||||
| <t>It is assumed that the Mapping System ensures the confidentiality | nsures the confidentiality | |||
| of the OTK, and the integrity of the Map-Reply data. However, how the | of the OTK and the integrity of the Map-Reply data. However, how the | |||
| LISP Mapping System is secured is out of the scope of this | LISP Mapping System is secured is out of the scope of this | |||
| document.</t> | document.</t> | |||
| <t indent="0" pn="section-7.1-3">Similarly, Map-Register security, inclu | ||||
| <t>Similarly, Map-Register security, including the right for a LISP | ding the right for a LISP | |||
| entity to register an EID-prefix or to claim presence at an RLOC, is | entity to register an EID-Prefix or to claim presence at an RLOC, is | |||
| out of the scope of LISP-SEC.</t> | out of the scope of LISP-SEC.</t> | |||
| </section> | </section> | |||
| <section anchor="random" numbered="true" toc="include" removeInRFC="false" | ||||
| <section anchor="random" title="Random Number Generation"> | pn="section-7.2"> | |||
| <t>The ITR-OTK MUST be generated by a properly seeded pseudo-random | <name slugifiedName="name-random-number-generation">Random Number Genera | |||
| (or strong random) source. See <xref target="RFC4086"/> for advice on | tion</name> | |||
| <t indent="0" pn="section-7.2-1">The ITR-OTK <bcp14>MUST</bcp14> be gene | ||||
| rated by a properly seeded pseudo-random | ||||
| (or strong random) source. See <xref target="RFC4086" format="default" s | ||||
| ectionFormat="of" derivedContent="RFC4086"/> for advice on | ||||
| generating security-sensitive random data.</t> | generating security-sensitive random data.</t> | |||
| </section> | </section> | |||
| <section anchor="colocation" numbered="true" toc="include" removeInRFC="fa | ||||
| <section anchor="colocation" title="Map-Server and ETR Colocation"> | lse" pn="section-7.3"> | |||
| <t>If the Map-Server and the ETR are colocated, LISP-SEC does not | <name slugifiedName="name-map-server-and-etr-colocati">Map-Server and ET | |||
| R Colocation</name> | ||||
| <t indent="0" pn="section-7.3-1">If the Map-Server and the ETR are coloc | ||||
| ated, LISP-SEC does not | ||||
| provide protection from overclaiming attacks mounted by the ETR. | provide protection from overclaiming attacks mounted by the ETR. | |||
| However, in this particular case, since the ETR is within the trust | However, in this particular case, since the ETR is within the trust | |||
| boundaries of the Map-Server, ETR's overclaiming attacks are not | boundaries of the Map-Server, ETR's overclaiming attacks are not | |||
| included in the threat model.</t> | included in the threat model.</t> | |||
| </section> | </section> | |||
| <section anchor="deploying" numbered="true" toc="include" removeInRFC="fal | ||||
| <section anchor="deploying" title="Deploying LISP-SEC"> | se" pn="section-7.4"> | |||
| <name slugifiedName="name-deploying-lisp-sec">Deploying LISP-SEC</name> | ||||
| <t>Those deploying LISP-SEC according to this memo, should carefully | <t indent="0" pn="section-7.4-1">Those deploying LISP-SEC according to t | |||
| weight how the LISP-SEC threat model applies to their particular use | his memo should carefully | |||
| weigh how the LISP-SEC threat model applies to their particular use | ||||
| case or deployment. If they decide to ignore a particular | case or deployment. If they decide to ignore a particular | |||
| recommendation, they should make sure the risk associated with the corre sponding threats is well understood.</t> | recommendation, they should make sure the risk associated with the corre sponding threats is well understood.</t> | |||
| <t indent="0" pn="section-7.4-2">As an example, in certain other | ||||
| <t>As an example, in certain other | deployments, attackers may be very sophisticated and force the | |||
| deployments, attackers may be very sophisticated, and force the | deployers to enforce very strict policies in terms of HMAC algorithms | |||
| deployers to enforce very strict policies in term of HMAC algorithms | ||||
| accepted by an ITR.</t> | accepted by an ITR.</t> | |||
| <t indent="0" pn="section-7.4-3">Similar considerations apply to the ent | ||||
| <t>Similar considerations apply to the entire LISP-SEC threat model, | ire LISP-SEC threat model | |||
| and should guide the deployers and implementors whenever they | and should guide the deployers and implementors whenever they | |||
| encounter the key word SHOULD across this memo.</t> | encounter the key word <bcp14>SHOULD</bcp14> across this memo.</t> | |||
| </section> | </section> | |||
| <section anchor="provisioning" numbered="true" toc="include" removeInRFC=" | ||||
| <section anchor="provisioning" title="Shared Keys Provisioning"> | false" pn="section-7.5"> | |||
| <t>Provisioning of the keys shared between ITR and | <name slugifiedName="name-shared-keys-provisioning">Shared Keys Provisio | |||
| Map-Resolver paris as well as between ETR and Map-Server pairs should be | ning</name> | |||
| performed via an orchestration infrastructure and it is out of the scope of thi | <t indent="0" pn="section-7.5-1">Provisioning of the keys shared between | |||
| s memo. It is recommended that both shared keys are refreshed at periodical inte | ITR and | |||
| rvals to address key aging or attackers gaining unauthorized access to the share | Map-Resolver pairs as well as between ETR and Map-Server pairs should be | |||
| d keys. Shared keys should be unpredictable random values.</t> | performed via an orchestration infrastructure, and is out of the scope of this | |||
| memo. It is recommended that both shared keys be refreshed at periodical interva | ||||
| ls to address key aging or attackers gaining unauthorized access to the shared k | ||||
| eys. Shared keys should be unpredictable random values.</t> | ||||
| </section> | </section> | |||
| <section anchor="reply" numbered="true" toc="include" removeInRFC="false" | ||||
| <section anchor="reply" title="Replay Attacks"> | pn="section-7.6"> | |||
| <t>An attacker can capture a valid Map-Request and/or Map-Reply and | <name slugifiedName="name-replay-attacks">Replay Attacks</name> | |||
| replay it, however once the ITR receives the original Map-Reply the | <t indent="0" pn="section-7.6-1">An attacker can capture a valid Map-Req | |||
| <nonce,ITR-OTK> pair stored at the ITR will be discarded. If a | uest and/or Map-Reply and | |||
| replayed Map-Reply arrives at the ITR, there is no | replay it; however, once the ITR receives the original Map-Reply, the | |||
| <nonce,ITR-OTK> that matches the incoming Map-Reply and will be | <nonce,ITR-OTK> pair stored at the ITR will be discarded. | |||
| discarded.</t> | If a replayed Map-Reply arrives at the ITR, there is no <nonce,ITR | |||
| -OTK> | ||||
| <t>In case of replayed Map-Request, the Map-Server, Map-Resolver and | that matches the incoming Map-Reply and the replayed Map-Reply will be | |||
| discarded.</t> | ||||
| <t indent="0" pn="section-7.6-2">In the case of a replayed Map-Request, | ||||
| the Map-Server, Map-Resolver, and | ||||
| ETR will have to do a LISP-SEC computation. This is equivalent, in terms of resources, to a valid LISP-SEC computation and, beyond a risk of DoS attack, an attacker does not obtain any additional effect, since the corresponding Map- Reply is discarded as previously explained.</t> | ETR will have to do a LISP-SEC computation. This is equivalent, in terms of resources, to a valid LISP-SEC computation and, beyond a risk of DoS attack, an attacker does not obtain any additional effect, since the corresponding Map- Reply is discarded as previously explained.</t> | |||
| </section> | </section> | |||
| <section anchor="DTLS" numbered="true" toc="include" removeInRFC="false" p | ||||
| <section anchor="DTLS" title="Message Privacy"> | n="section-7.7"> | |||
| <t>DTLS <xref target="RFC9147"/> SHOULD be used (conforming to <xref tar | <name slugifiedName="name-message-privacy">Message Privacy</name> | |||
| get="RFC7525"/>) to provide communication privacy and to prevent eavesdropping, | <t indent="0" pn="section-7.7-1">DTLS <xref target="RFC9147" format="def | |||
| tampering, or message forgery to the messages exchanged between the ITR, Map-Res | ault" sectionFormat="of" derivedContent="RFC9147"/> <bcp14>SHOULD</bcp14> be use | |||
| olver, Map-Server, and ETR, unless the OTK is encrypted in another way, e.g. usi | d (conforming to <xref target="RFC7525" format="default" sectionFormat="of" deri | |||
| ng a pre-shared secret. DTLS has the responder be verified by the initiator, wh | vedContent="RFC7525"/>) to provide communication privacy and to prevent eavesdro | |||
| ich enables an ITR to autheticate the Map-Resolver, and the Map-Server to authen | pping, tampering, or message forgery to the messages exchanged between the ITR, | |||
| ticate the responding ETR.</t> | Map-Resolver, Map-Server, and ETR, unless the OTK is encrypted in another way, e | |||
| .g., using a pre-shared secret. DTLS has the responder be verified by the initi | ||||
| ator, which enables an ITR to authenticate the Map-Resolver and the Map-Server t | ||||
| o authenticate the responding ETR.</t> | ||||
| </section> | </section> | |||
| <section anchor="dos" numbered="true" toc="include" removeInRFC="false" pn | ||||
| <section anchor="dos" | ="section-7.8"> | |||
| title="Denial of Service and Distributed Denial of Service Attack | <name slugifiedName="name-denial-of-service-and-distr">Denial-of-Service | |||
| s"> | and Distributed Denial-of-Service Attacks</name> | |||
| <t>LISP-SEC mitigates the risks of Denial of Service and Distributed | <t indent="0" pn="section-7.8-1">LISP-SEC mitigates the risks of DoS and | |||
| Denial of Service attacks by protecting the integrity and | DDoS attacks by protecting the integrity and | |||
| authenticating the origin of the Map-Request/Map-Reply messages, and | authenticating the origin of the Map-Request/Map-Reply messages and | |||
| by preventing malicious ETRs from overclaiming EID prefixes that could | by preventing malicious ETRs from overclaiming EID-Prefixes that could | |||
| re-direct traffic directed to a potentially large number of hosts.</t> | redirect traffic directed to a potentially large number of hosts.</t> | |||
| </section> | </section> | |||
| </section> | </section> | |||
| <section anchor="IANA" numbered="true" toc="include" removeInRFC="false" pn= | ||||
| <section anchor="IANA" title="IANA Considerations"> | "section-8"> | |||
| <name slugifiedName="name-iana-considerations">IANA Considerations</name> | ||||
| <t>IANA is requested to create the sub-registries listed in the following | <t indent="0" pn="section-8-1">IANA has created the subregistries listed i | |||
| sections in the "Locator/ID Separation Protocol (LISP) Parameters" registry. | n the following sections in the "Locator/ID Separation Protocol (LISP) Parameter | |||
| s" registry. | ||||
| </t> | </t> | |||
| <t indent="0" pn="section-8-2"> For all of the subregistries, new values a | ||||
| <t> For all of the sub-registries, new values beyond this document have to | re assigned according to the Specification Required policy defined in <xref targ | |||
| be assigned according to the "Specification Required" policy defined in <xref | et="RFC8126" format="default" sectionFormat="of" derivedContent="RFC8126"/>. Exp | |||
| target="RFC8126"/>. Expert review should assess the security properties of newly | ert Review should assess the security properties of newly added functions so tha | |||
| added functions, so that encryption robustness is remains strong. For instance, | t encryption robustness remains strong. For instance, at the time of this writin | |||
| at the time of this writing the use of SHA-256-based functions is considered to | g, the use of SHA-256-based functions is considered to provide sufficient protec | |||
| provide sufficient protection. Consultation with security experts may be needed | tion. Consultation with security experts may be needed. | |||
| . | ||||
| </t> | </t> | |||
| <section anchor="ECM-AD-Type" numbered="true" toc="include" removeInRFC="f | ||||
| <section anchor="ECM-AD-Type" title="ECM AD Type Registry"> | alse" pn="section-8.1"> | |||
| <t>IANA is requested to create the "ECM Authentication Data Type" | <name slugifiedName="name-ecm-ad-type-registry">ECM AD Type Registry</na | |||
| registry with values 0-255, for use in the ECM LISP-SEC Extensions | me> | |||
| <xref target="ECM_extensions"/>. Initial allocation of this registry is | <t indent="0" pn="section-8.1-1">IANA has created the "LISP ECM Authenti | |||
| shown in <xref target="tableEADT"/>. | cation Data Types" | |||
| registry with values 0-255 for use in the ECM LISP-SEC extensions | ||||
| (see <xref target="ECM_extensions" format="default" sectionFormat="of" d | ||||
| erivedContent="Section 6.1"/>). Initial allocations are shown in <xref target="t | ||||
| ableEADT" format="default" sectionFormat="of" derivedContent="Table 2"/>. | ||||
| </t> | </t> | |||
| <table anchor="tableEADT" align="center" pn="table-2"> | ||||
| <texttable anchor="tableEADT" title="ECM Authentication Data Types."> | <name slugifiedName="name-lisp-ecm-authentication-dat">LISP ECM Authen | |||
| <ttcol align="left">Name</ttcol> | tication Data Types</name> | |||
| <ttcol align="center">Number</ttcol> | <thead> | |||
| <ttcol align="left">Defined in</ttcol> | <tr> | |||
| <c>Reserved</c><c>0</c><c>This memo</c> | <th align="left" colspan="1" rowspan="1">Name</th> | |||
| <c>LISP-SEC-ECM-EXT</c><c>1</c><c>This memo</c> | <th align="center" colspan="1" rowspan="1">Number</th> | |||
| </texttable> | <th align="left" colspan="1" rowspan="1">Defined in</th> | |||
| </tr> | ||||
| <t>Values 2-255 are unassigned. </t> | </thead> | |||
| <tbody> | ||||
| <tr> | ||||
| <td align="left" colspan="1" rowspan="1">Reserved</td> | ||||
| <td align="center" colspan="1" rowspan="1">0</td> | ||||
| <td align="left" colspan="1" rowspan="1">RFC 9303</td> | ||||
| </tr> | ||||
| <tr> | ||||
| <td align="left" colspan="1" rowspan="1">LISP-SEC-ECM-EXT</td> | ||||
| <td align="center" colspan="1" rowspan="1">1</td> | ||||
| <td align="left" colspan="1" rowspan="1">RFC 9303</td> | ||||
| </tr> | ||||
| </tbody> | ||||
| </table> | ||||
| <t indent="0" pn="section-8.1-3">Values 2-255 are unassigned. </t> | ||||
| </section> | </section> | |||
| <section anchor="MR-AD-Type" numbered="true" toc="include" removeInRFC="fa | ||||
| <section anchor="MR-AD-Type" title="Map-Reply AD Type Registry"> | lse" pn="section-8.2"> | |||
| <t>IANA is requested to create the "Map-Reply Authentication Data | <name slugifiedName="name-map-reply-ad-types-registry">Map-Reply AD Type | |||
| Type" registry with values 0-255, for use in the Map-Reply LISP-SEC | s Registry</name> | |||
| Extensions <xref target="MR_extensions"/>. Initial allocation of this r | <t indent="0" pn="section-8.2-1">IANA has created the "LISP Map-Reply Au | |||
| egistry is shown in <xref target="tableADT"/>. | thentication Data | |||
| Types" registry with values 0-255 for use in the Map-Reply LISP-SEC | ||||
| extensions (see <xref target="MR_extensions" format="default" sectionFor | ||||
| mat="of" derivedContent="Section 6.2"/>). Initial allocations are shown in <xref | ||||
| target="tableADT" format="default" sectionFormat="of" derivedContent="Table 3"/ | ||||
| >. | ||||
| </t> | </t> | |||
| <table anchor="tableADT" align="center" pn="table-3"> | ||||
| <texttable anchor="tableADT" title="Map-Reply Authentication Data | <name slugifiedName="name-map-reply-authentication-da">Map-Reply Authe | |||
| Types."> | ntication Data Types</name> | |||
| <ttcol align="left">Name</ttcol> | <thead> | |||
| <ttcol align="center">Number</ttcol> | <tr> | |||
| <ttcol align="left">Defined in</ttcol> | <th align="left" colspan="1" rowspan="1">Name</th> | |||
| <c>Reserved</c><c>0</c><c>This memo</c> | <th align="center" colspan="1" rowspan="1">Number</th> | |||
| <c>LISP-SEC-MR-EXT</c><c>1</c><c>This memo</c> | <th align="left" colspan="1" rowspan="1">Defined in</th> | |||
| </texttable> | </tr> | |||
| </thead> | ||||
| <t>Values 2-255 are unassigned. </t> | <tbody> | |||
| <tr> | ||||
| <td align="left" colspan="1" rowspan="1">Reserved</td> | ||||
| <td align="center" colspan="1" rowspan="1">0</td> | ||||
| <td align="left" colspan="1" rowspan="1">RFC 9303</td> | ||||
| </tr> | ||||
| <tr> | ||||
| <td align="left" colspan="1" rowspan="1">LISP-SEC-MR-EXT</td> | ||||
| <td align="center" colspan="1" rowspan="1">1</td> | ||||
| <td align="left" colspan="1" rowspan="1">RFC 9303</td> | ||||
| </tr> | ||||
| </tbody> | ||||
| </table> | ||||
| <t indent="0" pn="section-8.2-3">Values 2-255 are unassigned. </t> | ||||
| </section> | </section> | |||
| <section anchor="HMAC" numbered="true" toc="include" removeInRFC="false" p | ||||
| <section anchor="HMAC" title="HMAC Functions"> | n="section-8.3"> | |||
| <t>IANA is requested to create the "LISP-SEC Preferred Authentication Da | <name slugifiedName="name-hmac-functions">HMAC Functions</name> | |||
| ta HMAC ID" registry with values 0-65535 for use as Requested HMAC ID, EID HMAC | <t indent="0" pn="section-8.3-1">IANA is requested to create the "LISP-S | |||
| ID, and PKT HMAC ID in the LISP-SEC Authentication Data. Initial allocation of t | EC Preferred Authentication Data HMAC IDs" registry with values 0-65535 for use | |||
| his registry is shown in <xref target="tableHMACF"/>. | as Requested HMAC IDs, EID HMAC IDs, and PKT HMAC IDs in the LISP-SEC Authentica | |||
| tion Data. Initial allocations are shown in <xref target="tableHMACF" format="de | ||||
| fault" sectionFormat="of" derivedContent="Table 4"/>. | ||||
| </t> | </t> | |||
| <table anchor="tableHMACF" align="center" pn="table-4"> | ||||
| <texttable anchor="tableHMACF" title="LISP-SEC Authentication Data HMAC | <name slugifiedName="name-lisp-sec-preferred-authenti">LISP-SEC Prefer | |||
| Functions."> | red Authentication Data HMAC IDs</name> | |||
| <ttcol align="left">Name</ttcol> | <thead> | |||
| <ttcol align="center">Number</ttcol> | <tr> | |||
| <ttcol align="left">Defined in</ttcol> | <th align="left" colspan="1" rowspan="1">Name</th> | |||
| <c>NOPREF</c><c>0</c><c>This memo</c> | <th align="center" colspan="1" rowspan="1">Number</th> | |||
| <c>AUTH-HMAC-SHA-1-96</c><c>1</c><c><xref target="RFC2104"/></c> | <th align="left" colspan="1" rowspan="1">Defined in</th> | |||
| <c>AUTH-HMAC-SHA-256-128</c><c>2</c><c><xref target="RFC6234"/></c> | </tr> | |||
| </texttable> | </thead> | |||
| <tbody> | ||||
| <t>Values 3-65535 are unassigned.</t> | <tr> | |||
| <td align="left" colspan="1" rowspan="1">NOPREF</td> | ||||
| <td align="center" colspan="1" rowspan="1">0</td> | ||||
| <td align="left" colspan="1" rowspan="1">RFC 9303</td> | ||||
| </tr> | ||||
| <tr> | ||||
| <td align="left" colspan="1" rowspan="1">AUTH-HMAC-SHA-1-96</td> | ||||
| <td align="center" colspan="1" rowspan="1">1</td> | ||||
| <td align="left" colspan="1" rowspan="1"> | ||||
| <xref target="RFC2104" format="default" sectionFormat="of" deriv | ||||
| edContent="RFC2104"/></td> | ||||
| </tr> | ||||
| <tr> | ||||
| <td align="left" colspan="1" rowspan="1">AUTH-HMAC-SHA-256-128</td | ||||
| > | ||||
| <td align="center" colspan="1" rowspan="1">2</td> | ||||
| <td align="left" colspan="1" rowspan="1"> | ||||
| <xref target="RFC6234" format="default" sectionFormat="of" deriv | ||||
| edContent="RFC6234"/></td> | ||||
| </tr> | ||||
| </tbody> | ||||
| </table> | ||||
| <t indent="0" pn="section-8.3-3">Values 3-65535 are unassigned.</t> | ||||
| </section> | </section> | |||
| <section anchor="wrap" numbered="true" toc="include" removeInRFC="false" p | ||||
| <section anchor="wrap" title="Key Wrap Functions"> | n="section-8.4"> | |||
| <t>IANA is requested to create the "LISP-SEC Authentication Data Key | <name slugifiedName="name-key-wrap-functions">Key Wrap Functions</name> | |||
| Wrap ID" registry with values 0-65535 for use as OTK key wrap | <t indent="0" pn="section-8.4-1">IANA has created the "LISP-SEC Authenti | |||
| algorithms ID in the LISP-SEC Authentication Data. Initial allocation of | cation Data Key | |||
| this registry is shown in <xref target="tableKWF"/>.</t> | Wrap IDs" registry with values 0-65535 for use as OTK key wrap | |||
| algorithm IDs in the LISP-SEC Authentication Data. Initial allocations a | ||||
| <texttable anchor="tableKWF" title="LISP-SEC Authentication Data Key | re shown in <xref target="tableKWF" format="default" sectionFormat="of" derivedC | |||
| Wrap Functions."> | ontent="Table 5"/>.</t> | |||
| <ttcol align="left">Name</ttcol> | <table anchor="tableKWF" align="center" pn="table-5"> | |||
| <ttcol align="center">Number</ttcol> | <name slugifiedName="name-lisp-sec-authentication-dat">LISP-SEC Authen | |||
| <ttcol align="left">KEY WRAP</ttcol> | tication Data Key Wrap IDs</name> | |||
| <ttcol align="left">KDF</ttcol> | <thead> | |||
| <c>Reserved</c><c>0</c><c>None</c><c>None</c> | <tr> | |||
| <c>NULL-KEY-WRAP-128</c><c>1</c><c>This memo</c><c>None</c> | <th align="left" colspan="1" rowspan="1">Name</th> | |||
| <c>AES-KEY-WRAP-128+HKDF-SHA256</c><c>2</c><c><xref target="RFC3394" | <th align="center" colspan="1" rowspan="1">Number</th> | |||
| /></c><c><xref target="RFC4868"/></c> | <th align="left" colspan="1" rowspan="1">Key Wrap</th> | |||
| </texttable> | <th align="left" colspan="1" rowspan="1">KDF</th> | |||
| <th align="left" colspan="1" rowspan="1">Reference</th> | ||||
| <t/> | </tr> | |||
| </thead> | ||||
| <t>Values 3-65535 are unassigned. </t> | <tbody> | |||
| <tr> | ||||
| <td align="left" colspan="1" rowspan="1">Reserved</td> | ||||
| <td align="center" colspan="1" rowspan="1">0</td> | ||||
| <td align="left" colspan="1" rowspan="1">None</td> | ||||
| <td align="left" colspan="1" rowspan="1">None</td> | ||||
| <td align="left" colspan="1" rowspan="1">RFC 9303</td> | ||||
| </tr> | ||||
| <tr> | ||||
| <td align="left" colspan="1" rowspan="1">NULL-KEY-WRAP-128</td> | ||||
| <td align="center" colspan="1" rowspan="1">1</td> | ||||
| <td align="left" colspan="1" rowspan="1">RFC 9303</td> | ||||
| <td align="left" colspan="1" rowspan="1">None</td> | ||||
| <td align="left" colspan="1" rowspan="1">RFC 9303</td> | ||||
| </tr> | ||||
| <tr> | ||||
| <td align="left" colspan="1" rowspan="1">AES-KEY-WRAP-128+HKDF-SHA | ||||
| 256</td> | ||||
| <td align="center" colspan="1" rowspan="1">2</td> | ||||
| <td align="left" colspan="1" rowspan="1"> | ||||
| <xref target="RFC3394" format="default" sectionFormat="of" deriv | ||||
| edContent="RFC3394"/></td> | ||||
| <td align="left" colspan="1" rowspan="1"> | ||||
| <xref target="RFC4868" format="default" sectionFormat="of" deriv | ||||
| edContent="RFC4868"/></td> | ||||
| <td align="left" colspan="1" rowspan="1">RFC 9303</td> | ||||
| </tr> | ||||
| </tbody> | ||||
| </table> | ||||
| <t indent="0" pn="section-8.4-3">Values 3-65535 are unassigned. </t> | ||||
| </section> | </section> | |||
| <section anchor="kdf" numbered="true" toc="include" removeInRFC="false" pn | ||||
| <section anchor="kdf" title="Key Derivation Functions"> | ="section-8.5"> | |||
| <t>IANA is requested to create the "LISP-SEC Authentication Data Key | <name slugifiedName="name-key-derivation-functions">Key Derivation Funct | |||
| Derivation Function ID" registry with values 0-65535 for use as KDF ID. | ions</name> | |||
| Initial allocation of this registry is shown in <xref target="tableKDF"/ | <t indent="0" pn="section-8.5-1">IANA has created the "LISP-SEC Authenti | |||
| >.</t> | cation Data Key | |||
| Derivation Function IDs" registry with values 0-65535 for use as KDF IDs | ||||
| <texttable anchor="tableKDF" title="LISP-SEC Authentication Data Key | . | |||
| Derivation Function ID."> | Initial allocations are shown in <xref target="tableKDF" format="default | |||
| <ttcol width="20%" align="left">Name</ttcol> | " sectionFormat="of" derivedContent="Table 6"/>.</t> | |||
| <ttcol width="20%" align="center">Number</ttcol> | <table anchor="tableKDF" align="center" pn="table-6"> | |||
| <ttcol align="center">Defined in</ttcol> | <name slugifiedName="name-lisp-sec-authentication-data">LISP-SEC Authe | |||
| <c>NOPREF</c><c>0</c><c>This memo</c> | ntication Data Key Derivation Function IDs</name> | |||
| <c>HKDF-SHA1-128 </c><c>1</c><c><xref target="RFC5869"/></c> | <thead> | |||
| <c>HKDF-SHA256 </c><c>2</c><c><xref target="RFC5869"/></c> | <tr> | |||
| </texttable> | <th align="left" colspan="1" rowspan="1">Name</th> | |||
| <t>Values 2-65535 are unassigned. </t> | <th align="center" colspan="1" rowspan="1">Number</th> | |||
| <th align="center" colspan="1" rowspan="1">Reference</th> | ||||
| </tr> | ||||
| </thead> | ||||
| <tbody> | ||||
| <tr> | ||||
| <td align="left" colspan="1" rowspan="1">NOPREF</td> | ||||
| <td align="center" colspan="1" rowspan="1">0</td> | ||||
| <td align="center" colspan="1" rowspan="1">RFC 9303</td> | ||||
| </tr> | ||||
| <tr> | ||||
| <td align="left" colspan="1" rowspan="1">HKDF-SHA1-128</td> | ||||
| <td align="center" colspan="1" rowspan="1">1</td> | ||||
| <td align="center" colspan="1" rowspan="1"> | ||||
| <xref target="RFC5869" format="default" sectionFormat="of" deriv | ||||
| edContent="RFC5869"/></td> | ||||
| </tr> | ||||
| <tr> | ||||
| <td align="left" colspan="1" rowspan="1">HKDF-SHA256</td> | ||||
| <td align="center" colspan="1" rowspan="1">2</td> | ||||
| <td align="center" colspan="1" rowspan="1"> | ||||
| <xref target="RFC5869" format="default" sectionFormat="of" deriv | ||||
| edContent="RFC5869"/></td> | ||||
| </tr> | ||||
| </tbody> | ||||
| </table> | ||||
| <t indent="0" pn="section-8.5-3">Values 3-65535 are unassigned. </t> | ||||
| </section> | </section> | |||
| </section> | </section> | |||
| <section anchor="Acknowledgements" title="Acknowledgements"> | ||||
| <t>The authors would like to acknowledge Luigi Iannone, Pere Monclus, Dave | ||||
| Meyer, Dino Farinacci, Brian Weis, David McGrew, Darrel Lewis and Landon Curt N | ||||
| oll for their valuable suggestions provided during the preparation of this docum | ||||
| ent.</t> | ||||
| </section> | ||||
| </middle> | </middle> | |||
| <back> | <back> | |||
| <references title="Normative References"> | <references pn="section-9"> | |||
| <?rfc include='http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ie | <name slugifiedName="name-references">References</name> | |||
| tf-lisp-rfc6833bis.xml'?> | <references pn="section-9.1"> | |||
| <name slugifiedName="name-normative-references">Normative References</na | ||||
| <?rfc include='http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf | me> | |||
| -lisp-rfc6830bis.xml'?> | <reference anchor="RFC2104" target="https://www.rfc-editor.org/info/rfc2 | |||
| 104" quoteTitle="true" derivedAnchor="RFC2104"> | ||||
| <?rfc include="reference.RFC.2119"?> | <front> | |||
| <title>HMAC: Keyed-Hashing for Message Authentication</title> | ||||
| <?rfc include="reference.RFC.8126"?> | <author fullname="H. Krawczyk" initials="H." surname="Krawczyk"/> | |||
| <author fullname="M. Bellare" initials="M." surname="Bellare"/> | ||||
| <?rfc include="reference.RFC.4868"?> | <author fullname="R. Canetti" initials="R." surname="Canetti"/> | |||
| <date month="February" year="1997"/> | ||||
| <?rfc include="reference.RFC.9147"?> | <abstract> | |||
| <t indent="0">This document describes HMAC, a mechanism for messag | ||||
| <?rfc include="reference.RFC.8174"?> | e authentication using cryptographic hash functions. HMAC can be used with any | |||
| iterative cryptographic hash function, e.g., MD5, SHA-1, in combination with a s | ||||
| <?rfc include="reference.RFC.7835"?> | ecret shared key. The cryptographic strength of HMAC depends on the properties | |||
| of the underlying hash function. This memo provides information for the Interne | ||||
| <?rfc include="reference.RFC.6234"?> | t community. This memo does not specify an Internet standard of any kind</t> | |||
| </abstract> | ||||
| <?rfc include="reference.RFC.5869"?> | </front> | |||
| <seriesInfo name="RFC" value="2104"/> | ||||
| <?rfc include="reference.RFC.3394"?> | <seriesInfo name="DOI" value="10.17487/RFC2104"/> | |||
| </reference> | ||||
| <?rfc include="reference.RFC.2104"?> | <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2 | |||
| 119" quoteTitle="true" derivedAnchor="RFC2119"> | ||||
| <?rfc include="reference.RFC.7525"?> | <front> | |||
| <title>Key words for use in RFCs to Indicate Requirement Levels</tit | ||||
| </references> | le> | |||
| <author fullname="S. Bradner" initials="S." surname="Bradner"/> | ||||
| <references title="Informational References"> | <date month="March" year="1997"/> | |||
| <abstract> | ||||
| <?rfc include="reference.RFC.4086"?> | <t indent="0">In many standards track documents several words are | |||
| used to signify the requirements in the specification. These words are often ca | ||||
| <?rfc include="reference.RFC.6836"?> | pitalized. This document defines these words as they should be interpreted in I | |||
| ETF documents. This document specifies an Internet Best Current Practices for t | ||||
| he Internet Community, and requests discussion and suggestions for improvements. | ||||
| </t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="BCP" value="14"/> | ||||
| <seriesInfo name="RFC" value="2119"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC2119"/> | ||||
| </reference> | ||||
| <reference anchor="RFC3394" target="https://www.rfc-editor.org/info/rfc3 | ||||
| 394" quoteTitle="true" derivedAnchor="RFC3394"> | ||||
| <front> | ||||
| <title>Advanced Encryption Standard (AES) Key Wrap Algorithm</title> | ||||
| <author fullname="J. Schaad" initials="J." surname="Schaad"/> | ||||
| <author fullname="R. Housley" initials="R." surname="Housley"/> | ||||
| <date month="September" year="2002"/> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="3394"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC3394"/> | ||||
| </reference> | ||||
| <reference anchor="RFC4868" target="https://www.rfc-editor.org/info/rfc4 | ||||
| 868" quoteTitle="true" derivedAnchor="RFC4868"> | ||||
| <front> | ||||
| <title>Using HMAC-SHA-256, HMAC-SHA-384, and HMAC-SHA-512 with IPsec | ||||
| </title> | ||||
| <author fullname="S. Kelly" initials="S." surname="Kelly"/> | ||||
| <author fullname="S. Frankel" initials="S." surname="Frankel"/> | ||||
| <date month="May" year="2007"/> | ||||
| <abstract> | ||||
| <t indent="0">This specification describes the use of Hashed Messa | ||||
| ge Authentication Mode (HMAC) in conjunction with the SHA-256, SHA-384, and SHA- | ||||
| 512 algorithms in IPsec. These algorithms may be used as the basis for data ori | ||||
| gin authentication and integrity verification mechanisms for the Authentication | ||||
| Header (AH), Encapsulating Security Payload (ESP), Internet Key Exchange Protoco | ||||
| l (IKE), and IKEv2 protocols, and also as Pseudo-Random Functions (PRFs) for IKE | ||||
| and IKEv2. Truncated output lengths are specified for the authentication-relat | ||||
| ed variants, with the corresponding algorithms designated as HMAC-SHA-256-128, H | ||||
| MAC-SHA-384-192, and HMAC-SHA-512-256. The PRF variants are not truncated, and | ||||
| are called PRF-HMAC-SHA-256, PRF-HMAC-SHA-384, and PRF-HMAC-SHA-512. [STANDARDS- | ||||
| TRACK]</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="4868"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC4868"/> | ||||
| </reference> | ||||
| <reference anchor="RFC5869" target="https://www.rfc-editor.org/info/rfc5 | ||||
| 869" quoteTitle="true" derivedAnchor="RFC5869"> | ||||
| <front> | ||||
| <title>HMAC-based Extract-and-Expand Key Derivation Function (HKDF)< | ||||
| /title> | ||||
| <author fullname="H. Krawczyk" initials="H." surname="Krawczyk"/> | ||||
| <author fullname="P. Eronen" initials="P." surname="Eronen"/> | ||||
| <date month="May" year="2010"/> | ||||
| <abstract> | ||||
| <t indent="0">This document specifies a simple Hashed Message Auth | ||||
| entication Code (HMAC)-based key derivation function (HKDF), which can be used a | ||||
| s a building block in various protocols and applications. The key derivation fu | ||||
| nction (KDF) is intended to support a wide range of applications and requirement | ||||
| s, and is conservative in its use of cryptographic hash functions. This documen | ||||
| t is not an Internet Standards Track specification; it is published for informat | ||||
| ional purposes.</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="5869"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC5869"/> | ||||
| </reference> | ||||
| <reference anchor="RFC6234" target="https://www.rfc-editor.org/info/rfc6 | ||||
| 234" quoteTitle="true" derivedAnchor="RFC6234"> | ||||
| <front> | ||||
| <title>US Secure Hash Algorithms (SHA and SHA-based HMAC and HKDF)</ | ||||
| title> | ||||
| <author fullname="D. Eastlake 3rd" initials="D." surname="Eastlake 3 | ||||
| rd"/> | ||||
| <author fullname="T. Hansen" initials="T." surname="Hansen"/> | ||||
| <date month="May" year="2011"/> | ||||
| <abstract> | ||||
| <t indent="0">Federal Information Processing Standard, FIPS</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="6234"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC6234"/> | ||||
| </reference> | ||||
| <reference anchor="RFC7525" target="https://www.rfc-editor.org/info/rfc7 | ||||
| 525" quoteTitle="true" derivedAnchor="RFC7525"> | ||||
| <front> | ||||
| <title>Recommendations for Secure Use of Transport Layer Security (T | ||||
| LS) and Datagram Transport Layer Security (DTLS)</title> | ||||
| <author fullname="Y. Sheffer" initials="Y." surname="Sheffer"/> | ||||
| <author fullname="R. Holz" initials="R." surname="Holz"/> | ||||
| <author fullname="P. Saint-Andre" initials="P." surname="Saint-Andre | ||||
| "/> | ||||
| <date month="May" year="2015"/> | ||||
| <abstract> | ||||
| <t indent="0">Transport Layer Security (TLS) and Datagram Transpor | ||||
| t Layer Security (DTLS) are widely used to protect data exchanged over applicati | ||||
| on protocols such as HTTP, SMTP, IMAP, POP, SIP, and XMPP. Over the last few ye | ||||
| ars, several serious attacks on TLS have emerged, including attacks on its most | ||||
| commonly used cipher suites and their modes of operation. This document provide | ||||
| s recommendations for improving the security of deployed services that use TLS a | ||||
| nd DTLS. The recommendations are applicable to the majority of use cases.</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="BCP" value="195"/> | ||||
| <seriesInfo name="RFC" value="7525"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC7525"/> | ||||
| </reference> | ||||
| <reference anchor="RFC7835" target="https://www.rfc-editor.org/info/rfc7 | ||||
| 835" quoteTitle="true" derivedAnchor="RFC7835"> | ||||
| <front> | ||||
| <title>Locator/ID Separation Protocol (LISP) Threat Analysis</title> | ||||
| <author fullname="D. Saucez" initials="D." surname="Saucez"/> | ||||
| <author fullname="L. Iannone" initials="L." surname="Iannone"/> | ||||
| <author fullname="O. Bonaventure" initials="O." surname="Bonaventure | ||||
| "/> | ||||
| <date month="April" year="2016"/> | ||||
| <abstract> | ||||
| <t indent="0">This document provides a threat analysis of the Loca | ||||
| tor/ID Separation Protocol (LISP).</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="7835"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC7835"/> | ||||
| </reference> | ||||
| <reference anchor="RFC8126" target="https://www.rfc-editor.org/info/rfc8 | ||||
| 126" quoteTitle="true" derivedAnchor="RFC8126"> | ||||
| <front> | ||||
| <title>Guidelines for Writing an IANA Considerations Section in RFCs | ||||
| </title> | ||||
| <author fullname="M. Cotton" initials="M." surname="Cotton"/> | ||||
| <author fullname="B. Leiba" initials="B." surname="Leiba"/> | ||||
| <author fullname="T. Narten" initials="T." surname="Narten"/> | ||||
| <date month="June" year="2017"/> | ||||
| <abstract> | ||||
| <t indent="0">Many protocols make use of points of extensibility t | ||||
| hat use constants to identify various protocol parameters. To ensure that the va | ||||
| lues in these fields do not have conflicting uses and to promote interoperabilit | ||||
| y, their allocations are often coordinated by a central record keeper. For IETF | ||||
| protocols, that role is filled by the Internet Assigned Numbers Authority (IANA) | ||||
| .</t> | ||||
| <t indent="0">To make assignments in a given registry prudently, g | ||||
| uidance describing the conditions under which new values should be assigned, as | ||||
| well as when and how modifications to existing values can be made, is needed. Th | ||||
| is document defines a framework for the documentation of these guidelines by spe | ||||
| cification authors, in order to assure that the provided guidance for the IANA C | ||||
| onsiderations is clear and addresses the various issues that are likely in the o | ||||
| peration of a registry.</t> | ||||
| <t indent="0">This is the third edition of this document; it obsol | ||||
| etes RFC 5226.</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="BCP" value="26"/> | ||||
| <seriesInfo name="RFC" value="8126"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC8126"/> | ||||
| </reference> | ||||
| <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8 | ||||
| 174" quoteTitle="true" derivedAnchor="RFC8174"> | ||||
| <front> | ||||
| <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</ti | ||||
| tle> | ||||
| <author fullname="B. Leiba" initials="B." surname="Leiba"/> | ||||
| <date month="May" year="2017"/> | ||||
| <abstract> | ||||
| <t indent="0">RFC 2119 specifies common key words that may be used | ||||
| in protocol specifications. This document aims to reduce the ambiguity by clar | ||||
| ifying that only UPPERCASE usage of the key words have the defined special meani | ||||
| ngs.</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="BCP" value="14"/> | ||||
| <seriesInfo name="RFC" value="8174"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC8174"/> | ||||
| </reference> | ||||
| <reference anchor="RFC9147" target="https://www.rfc-editor.org/info/rfc9 | ||||
| 147" quoteTitle="true" derivedAnchor="RFC9147"> | ||||
| <front> | ||||
| <title>The Datagram Transport Layer Security (DTLS) Protocol Version | ||||
| 1.3</title> | ||||
| <author fullname="E. Rescorla" initials="E." surname="Rescorla"/> | ||||
| <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/ | ||||
| > | ||||
| <author fullname="N. Modadugu" initials="N." surname="Modadugu"/> | ||||
| <date month="April" year="2022"/> | ||||
| <abstract> | ||||
| <t indent="0">This document specifies version 1.3 of the Datagram | ||||
| Transport Layer Security (DTLS) protocol. DTLS 1.3 allows client/server applicat | ||||
| ions to communicate over the Internet in a way that is designed to prevent eaves | ||||
| dropping, tampering, and message forgery.</t> | ||||
| <t indent="0">The DTLS 1.3 protocol is based on the Transport Laye | ||||
| r Security (TLS) 1.3 protocol and provides equivalent security guarantees with t | ||||
| he exception of order protection / non-replayability. Datagram semantics of the | ||||
| underlying transport are preserved by the DTLS protocol.</t> | ||||
| <t indent="0">This document obsoletes RFC 6347.</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="9147"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC9147"/> | ||||
| </reference> | ||||
| <reference anchor="RFC9300" target="https://www.rfc-editor.org/info/rfc9 | ||||
| 300" quoteTitle="true" derivedAnchor="RFC9300"> | ||||
| <front> | ||||
| <title>The Locator/ID Separation Protocol (LISP)</title> | ||||
| <author initials="D" surname="Farinacci" fullname="Dino Farinacci"> | ||||
| <organization showOnFrontPage="true"/> | ||||
| </author> | ||||
| <author initials="V" surname="Fuller" fullname="Vince Fuller"> | ||||
| <organization showOnFrontPage="true"/> | ||||
| </author> | ||||
| <author initials="D" surname="Meyer" fullname="David Meyer"> | ||||
| <organization showOnFrontPage="true"/> | ||||
| </author> | ||||
| <author initials="D" surname="Lewis" fullname="Darrel Lewis"> | ||||
| <organization showOnFrontPage="true"/> | ||||
| </author> | ||||
| <author initials="A" surname="Cabellos" fullname="Albert Cabellos" r | ||||
| ole="editor"> | ||||
| <organization showOnFrontPage="true"/> | ||||
| </author> | ||||
| <date year="2022" month="October"/> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="9300"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC9300"/> | ||||
| </reference> | ||||
| <reference anchor="RFC9301" target="https://www.rfc-editor.org/info/rfc9 | ||||
| 301" quoteTitle="true" derivedAnchor="RFC9301"> | ||||
| <front> | ||||
| <title>Locator/ID Separation Protocol (LISP) Control Plane</title> | ||||
| <author initials="D" surname="Farinacci" fullname="Dino Farinacci"> | ||||
| <organization showOnFrontPage="true"/> | ||||
| </author> | ||||
| <author initials="F" surname="Maino" fullname="Fabio Maino"> | ||||
| <organization showOnFrontPage="true"/> | ||||
| </author> | ||||
| <author initials="V" surname="Fuller" fullname="Vince Fuller"> | ||||
| <organization showOnFrontPage="true"/> | ||||
| </author> | ||||
| <author initials="A" surname="Cabellos" fullname="Albert Cabellos" r | ||||
| ole="editor"> | ||||
| <organization showOnFrontPage="true"/> | ||||
| </author> | ||||
| <date year="2022" month="October"/> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="9301"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC9301"/> | ||||
| </reference> | ||||
| </references> | ||||
| <references pn="section-9.2"> | ||||
| <name slugifiedName="name-informative-references">Informative References | ||||
| </name> | ||||
| <reference anchor="RFC4086" target="https://www.rfc-editor.org/info/rfc4 | ||||
| 086" quoteTitle="true" derivedAnchor="RFC4086"> | ||||
| <front> | ||||
| <title>Randomness Requirements for Security</title> | ||||
| <author fullname="D. Eastlake 3rd" initials="D." surname="Eastlake 3 | ||||
| rd"/> | ||||
| <author fullname="J. Schiller" initials="J." surname="Schiller"/> | ||||
| <author fullname="S. Crocker" initials="S." surname="Crocker"/> | ||||
| <date month="June" year="2005"/> | ||||
| <abstract> | ||||
| <t indent="0">Security systems are built on strong cryptographic a | ||||
| lgorithms that foil pattern analysis attempts. However, the security of these sy | ||||
| stems is dependent on generating secret quantities for passwords, cryptographic | ||||
| keys, and similar quantities. The use of pseudo-random processes to generate sec | ||||
| ret quantities can result in pseudo-security. A sophisticated attacker may find | ||||
| it easier to reproduce the environment that produced the secret quantities and t | ||||
| o search the resulting small set of possibilities than to locate the quantities | ||||
| in the whole of the potential number space.</t> | ||||
| <t indent="0">Choosing random quantities to foil a resourceful and | ||||
| motivated adversary is surprisingly difficult. This document points out many pi | ||||
| tfalls in using poor entropy sources or traditional pseudo-random number generat | ||||
| ion techniques for generating such quantities. It recommends the use of truly ra | ||||
| ndom hardware techniques and shows that the existing hardware on many systems ca | ||||
| n be used for this purpose. It provides suggestions to ameliorate the problem wh | ||||
| en a hardware solution is not available, and it gives examples of how large such | ||||
| quantities need to be for some applications. This document specifies an Interne | ||||
| t Best Current Practices for the Internet Community, and requests discussion and | ||||
| suggestions for improvements.</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="BCP" value="106"/> | ||||
| <seriesInfo name="RFC" value="4086"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC4086"/> | ||||
| </reference> | ||||
| <reference anchor="RFC6836" target="https://www.rfc-editor.org/info/rfc6 | ||||
| 836" quoteTitle="true" derivedAnchor="RFC6836"> | ||||
| <front> | ||||
| <title>Locator/ID Separation Protocol Alternative Logical Topology ( | ||||
| LISP+ALT)</title> | ||||
| <author fullname="V. Fuller" initials="V." surname="Fuller"/> | ||||
| <author fullname="D. Farinacci" initials="D." surname="Farinacci"/> | ||||
| <author fullname="D. Meyer" initials="D." surname="Meyer"/> | ||||
| <author fullname="D. Lewis" initials="D." surname="Lewis"/> | ||||
| <date month="January" year="2013"/> | ||||
| <abstract> | ||||
| <t indent="0">This document describes a simple distributed index s | ||||
| ystem to be used by a Locator/ID Separation Protocol (LISP) Ingress Tunnel Route | ||||
| r (ITR) or Map-Resolver (MR) to find the Egress Tunnel Router (ETR) that holds t | ||||
| he mapping information for a particular Endpoint Identifier (EID). The MR can t | ||||
| hen query that ETR to obtain the actual mapping information, which consists of a | ||||
| list of Routing Locators (RLOCs) for the EID. Termed the Alternative Logical T | ||||
| opology (ALT), the index is built as an overlay network on the public Internet u | ||||
| sing the Border Gateway Protocol (BGP) and Generic Routing Encapsulation (GRE). | ||||
| This document defines an Experimental Protocol for the Internet community.</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="6836"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC6836"/> | ||||
| </reference> | ||||
| </references> | ||||
| </references> | </references> | |||
| <section anchor="Acknowledgments" numbered="false" toc="include" removeInRFC | ||||
| ="false" pn="section-appendix.a"> | ||||
| <name slugifiedName="name-acknowledgments">Acknowledgments</name> | ||||
| <t indent="0" pn="section-appendix.a-1">The authors would like to acknowle | ||||
| dge <contact fullname="Luigi Iannone"/>, <contact fullname="Pere Monclus"/>, <co | ||||
| ntact fullname="Dave Meyer"/>, <contact fullname="Dino Farinacci"/>, <contact fu | ||||
| llname="Brian Weis"/>, <contact fullname="David McGrew"/>, <contact fullname="Da | ||||
| rrel Lewis"/>, and <contact fullname="Landon Curt Noll"/> for their valuable sug | ||||
| gestions provided during the preparation of this document.</t> | ||||
| </section> | ||||
| <section anchor="authors-addresses" numbered="false" removeInRFC="false" toc | ||||
| ="include" pn="section-appendix.b"> | ||||
| <name slugifiedName="name-authors-addresses">Authors' Addresses</name> | ||||
| <author fullname="Fabio Maino" initials="F" surname="Maino"> | ||||
| <organization showOnFrontPage="true">Cisco Systems</organization> | ||||
| <address> | ||||
| <postal> | ||||
| <street/> | ||||
| <city>San Jose</city> | ||||
| <code/> | ||||
| <region>CA</region> | ||||
| <country>United States of America</country> | ||||
| </postal> | ||||
| <email>fmaino@cisco.com</email> | ||||
| </address> | ||||
| </author> | ||||
| <author fullname="Vina Ermagan" initials="V" surname="Ermagan"> | ||||
| <organization showOnFrontPage="true">Google, Inc.</organization> | ||||
| <address> | ||||
| <postal> | ||||
| <street>1600 Amphitheatre Parkway</street> | ||||
| <city>Mountain View</city> | ||||
| <region>CA</region> | ||||
| <code>94043</code> | ||||
| <country>United States of America</country> | ||||
| </postal> | ||||
| <email>ermagan@gmail.com</email> | ||||
| </address> | ||||
| </author> | ||||
| <author fullname="Albert Cabellos" initials="A" surname="Cabellos"> | ||||
| <organization showOnFrontPage="true">Universitat Politecnica de Cataluny | ||||
| a</organization> | ||||
| <address> | ||||
| <postal> | ||||
| <street>c/ Jordi Girona s/n</street> | ||||
| <city>Barcelona</city> | ||||
| <code>08034</code> | ||||
| <region/> | ||||
| <country>Spain</country> | ||||
| </postal> | ||||
| <email>acabello@ac.upc.edu</email> | ||||
| </address> | ||||
| </author> | ||||
| <author fullname="Damien Saucez" initials="D" surname="Saucez"> | ||||
| <organization showOnFrontPage="true">Inria</organization> | ||||
| <address> | ||||
| <postal> | ||||
| <street>2004 route des Lucioles - BP 93</street> | ||||
| <city>Sophia Antipolis</city> | ||||
| <code/> | ||||
| <region/> | ||||
| <country>France</country> | ||||
| </postal> | ||||
| <email>damien.saucez@inria.fr</email> | ||||
| </address> | ||||
| </author> | ||||
| </section> | ||||
| </back> | </back> | |||
| </rfc> | </rfc> | |||
| End of changes. 154 change blocks. | ||||
| 1010 lines changed or deleted | 1970 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. | ||||