[lisp] Fwd: AD Review of draft-ietf-lisp-sec-25
Luigi Iannone <ggx@gigix.net> Wed, 25 May 2022 10:48 UTC
Return-Path: <ggx@gigix.net>
X-Original-To: lisp@ietfa.amsl.com
Delivered-To: lisp@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D4251C15EB36 for <lisp@ietfa.amsl.com>; Wed, 25 May 2022 03:48:11 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.897
X-Spam-Level:
X-Spam-Status: No, score=-1.897 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, TVD_PH_BODY_ACCOUNTS_PRE=0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gigix-net.20210112.gappssmtp.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 1Dw8SGuJ0cTW for <lisp@ietfa.amsl.com>; Wed, 25 May 2022 03:48:07 -0700 (PDT)
Received: from mail-wm1-x335.google.com (mail-wm1-x335.google.com [IPv6:2a00:1450:4864:20::335]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B17E4C15EB31 for <lisp@ietf.org>; Wed, 25 May 2022 03:48:06 -0700 (PDT)
Received: by mail-wm1-x335.google.com with SMTP id y24so4483347wmq.5 for <lisp@ietf.org>; Wed, 25 May 2022 03:48:06 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gigix-net.20210112.gappssmtp.com; s=20210112; h=from:mime-version:subject:date:references:cc:to:message-id; bh=lVDERlu+cs8c8mTLl5TW47+SNfH6OO9NLSdLz6Gg3zU=; b=XLAKq5zMDKS63RIT9ko8iAyK/nKSYQLUESGhsTPOBDI+wXTJ//5CIW/+JWO9fVyYvD tcm/kARjdYbYCarlGA4mjEoATuhrVRetCgl1SxtpZlDIJ1+SwWjs//0J9WmdZtnwSmxg zd5GOXYvjj0m6tGwOgQIgaLu2x1nr41T3bRQ0tZ5AqAMAqsjhnIXiY4rXR92/vRKEDRl 87TJMgqdC2slBQyd3SDfF8jm4r+oy2U76F0OFn6ZGlmEmKYyvGDnHb+l4dkxdgeyKn4d JJMGrSvqP9HjHva6OGjerf1qI1HX/4o/GRFBGtrmn3z88N6T7Ito8OgK5PdSBOKhnuVZ 0lvw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:mime-version:subject:date:references:cc:to :message-id; bh=lVDERlu+cs8c8mTLl5TW47+SNfH6OO9NLSdLz6Gg3zU=; b=p+O2m3+Cxta52ZSEaDFD7SlRFUfxKbMIuTQ/17HDUVDOTe1cRYoK7mTFlz0ctO6dXB qDQXDyzciWMLP7hQJqRy+HqtYZ8oZ4bEtOO1VwhQ6WlsHGQJadsQ/SScCE4U0iCOvd1y Zgyg4hfo/vgduhSCAriCeY43ZiXcL9raHYUfOFrdVraDzIU7gNtA7jcSndEqoSVYv8dG s9HSM+5AsY4bfqp0FEUfZLhzydRCCyg4KkDHLgwlipJnKfl3S9nZ88M+Hx8APxtHH/Ll tKrj7Dl1PsS9qkI9EzpTf96bmE3PrF+rxqHhekyuocJrNXdkt75kdpxGF4pSNvAXr8Y6 cKdw==
X-Gm-Message-State: AOAM530EPQMdvtF4iEIlfO3aYRvQC1qVRs4eI2cO6M4lqzD8z5uHtlZ8 3/37xoKoD1QL+xFgsG9uesQdjg==
X-Google-Smtp-Source: ABdhPJy9KzjTv94rYab0nN3rdsfsdBx8gpTiDKypgs6lZusJr0XMU6jGBG6ulVT5WkEWVK2rgOfnWA==
X-Received: by 2002:a05:600c:a4b:b0:397:647a:51ee with SMTP id c11-20020a05600c0a4b00b00397647a51eemr4831183wmq.176.1653475684203; Wed, 25 May 2022 03:48:04 -0700 (PDT)
Received: from smtpclient.apple ([37.172.56.52]) by smtp.gmail.com with ESMTPSA id o4-20020a5d4744000000b0020d12936563sm1919456wrs.108.2022.05.25.03.47.59 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 25 May 2022 03:48:03 -0700 (PDT)
From: Luigi Iannone <ggx@gigix.net>
Content-Type: multipart/alternative; boundary="Apple-Mail=_92D92966-FFA6-4E19-8CCC-4BE3B159C6D6"
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.80.82.1.1\))
Date: Wed, 25 May 2022 12:47:16 +0200
References: <D952880A-6B02-409E-B575-535B04EA29AB@upc.edu>
Cc: draft-ietf-lisp-sec@ietf.org, "lisp@ietf.org list" <lisp@ietf.org>, lisp-chairs@ietf.org
To: Alvaro Retana <aretana.ietf@gmail.com>
Message-Id: <39CF820E-FE28-4DAD-A6D1-0A8B3A04547E@gigix.net>
X-Mailer: Apple Mail (2.3696.80.82.1.1)
Archived-At: <https://mailarchive.ietf.org/arch/msg/lisp/Td4G1-WhYtAY8P9h0UhHxNAkaoY>
Subject: [lisp] Fwd: AD Review of draft-ietf-lisp-sec-25
X-BeenThere: lisp@ietf.org
X-Mailman-Version: 2.1.34
Precedence: list
List-Id: List for the discussion of the Locator/ID Separation Protocol <lisp.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/lisp>, <mailto:lisp-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/lisp/>
List-Post: <mailto:lisp@ietf.org>
List-Help: <mailto:lisp-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/lisp>, <mailto:lisp-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 25 May 2022 10:48:11 -0000
Hi Alvaro, Revision -26 of lisp-sec has been submitted. Damien and the other co-authors helped in addressing your remarks. Hereafter, you can find inline answers to the vapors points. Ciao Luigi > On 21 Apr 2022, at 21:27, Alvaro Retana <aretana.ietf@gmail.com <mailto:aretana.ietf@gmail.com>> wrote: > > Dear authors: > > Thank you for the work on this document! > > I put detailed comments inline below. > > As we have a constrained timeline for this document, I would like to > start the IETF Last-Call in no more than a couple of weeks. I don't > think my comments will be hard to address. In fact, there are > comments that I repeat in different sections, and some overlap. > > Please reply inline to this message to expedite my review of any > updates. Also, if you think talking would clear things up faster, > feel free to find time on my calendar: > https://doodle.com/mm/alvaroretana/book-a-time <https://doodle.com/mm/alvaroretana/book-a-time> > > Thanks! > > Alvaro. > > > [Line numbers from idnits.] > > ... > 15 Abstract > > 17 This memo specifies LISP-SEC, a set of security mechanisms that > 18 provides origin authentication, integrity and anti-replay protection > 19 to LISP's EID-to-RLOC mapping data conveyed via mapping lookup > 20 process. LISP-SEC also enables verification of authorization on EID- > 21 prefix claims in Map-Reply messages. > > [nit] s/via mapping lookup process/via the mapping lookup process/g Fixed. > > ... > 100 1. Introduction > ... > 120 This memo specifies LISP-SEC, a set of security mechanisms that > 121 provides origin authentication, integrity and anti-replay protection > 122 to LISP's EID-to-RLOC mapping data conveyed via mapping lookup > 123 process. LISP-SEC also enables verification of authorization on EID- > 124 prefix claims in Map-Reply messages, ensuring that the sender of a > 125 Map-Reply that provides the location for a given EID-prefix is > 126 entitled to do so according to the EID prefix registered in the > 127 associated Map-Server. Map-Register/Map-Notify security, including > 128 the right for a LISP entity to register an EID-prefix or to claim > 129 presence at an RLOC, is out of the scope of LISP-SEC as those > 130 protocols are protected by the security mechanisms specified in > 131 [I-D.ietf-lisp-rfc6833bis]. However, LISP-SEC extends the Map- > 132 Register message to allow an ITR to securely downgrade to non LISP- > 133 SEC Map-Requests. Additional security considerations are described > 134 in Section 6. > > [major] "securely downgrade to non LISP-SEC Map-Requests" > > To "securely downgrade" to no security doesn't sound right to me. See > more comments in §6.7. The “securely” wording has been removed. > > ... > 176 4. LISP-SEC Threat Model > > 178 LISP-SEC addresses the control plane threats, described in section > 179 3.7 and 3.8 of [RFC7835], that target EID-to-RLOC mappings, including > 180 manipulations of Map-Request and Map-Reply messages, and malicious > 181 ETR EID prefix overclaiming. LISP-SEC makes two main assumptions: > 182 (1) the LISP mapping system is expected to deliver a Map-Request > 183 message to their intended destination ETR as identified by the EID, > 184 and (2) no man-in-the-middle (MITM) attack can be mounted within the > 185 LISP Mapping System. How the Mapping System is protected from MITM > 186 attacks depends from the particular Mapping System used, and is out > 187 of the scope of this memo. Furthermore, while LISP-SEC enables > 188 detection of EID prefix overclaiming attacks, it assumes that Map- > 189 Servers can verify the EID prefix authorization at registration time. > > [] As part of the efforts to make the language in IETF documents more > inclusive, consider using "on-path attack" instead of MITM. This term > in already in use in some parts of this document. > > https://www.ietf.org/about/groups/iesg/statements/on-inclusive-language/ <https://www.ietf.org/about/groups/iesg/statements/on-inclusive-language/> > > Changed in the whole document > ... > 202 5. Protocol Operations > ... > 210 LISP-SEC builds on top of the security mechanisms defined in > 211 [I-D.ietf-lisp-rfc6833bis] to address the threats described in > 212 Section 4 by leveraging the trust relationships existing among the > 213 LISP entities participating to the exchange of the Map-Request/Map- > 214 Reply messages. Those trust relationships are used to securely > 215 distribute, as described in Section 8.4, a per-message One-Time Key > 216 (OTK) that provides origin authentication, integrity and anti-replay > 217 protection to mapping data conveyed via the mapping lookup process, > 218 and that effectively prevent overclaiming attacks. The processing of > 219 security parameters during the Map-Request/Map-Reply exchange is as > 220 follows: > > [nit] s/participating to/participating in Fixed. > > ... > 245 1. The ITR, upon needing to transmit a Map-Request message, > 246 generates and stores an OTK (ITR-OTK). This ITR-OTK is included > 247 into the Encapsulated Control Message (ECM) that contains the > 248 Map-Request sent to the Map-Resolver. ITR-OTK confidentiality > 249 and integrity protection MUST be provided in the path between the > 250 ITR and the Map-Resolver. This can be achieved either by > 251 encrypting the ITR-OTK with the pre-shared secret known to the > 252 ITR and the Map-Resolver (as specified in Section 6.5), or by > 253 enabling DTLS between the ITR and the Map-Resolver. > > [major] "protection MUST be provided" > > Please specify things only once. In this case, because this section > just "describes the flow", there's no need to specify anything in it, > or go into some of the details. The protection part is properly > covered later in the document and is not necessary to be called out at > this point. Text dropped. > > 255 2. The Map-Resolver decapsulates the ECM message, decrypts the ITR- > 256 OTK, if needed, and forwards through the Mapping System the > 257 received Map-Request and the ITR-OTK, as part of a new ECM > 258 message. The LISP Mapping System delivers the ECM to the > 259 appropriate Map-Server, as identified by the EID destination > 260 address of the Map-Request. As mentioned in Section 4, how the > 261 Mapping System is protected from MITM attacks depends from the > 262 particular Mapping Systems used, and is out of the scope of this > 263 memo. > > [minor] Anything "as mentioned in" can be left out of this description > to avoid duplication. > Dropped. > > ... > 275 4. The Map-Server derives a new OTK, the MS-OTK, by applying a Key > 276 Derivation Function (KDF) to the ITR-OTK. This MS-OTK is > 277 included in the Encapsulated Control Message that the Map-Server > 278 uses to forward the Map-Request to the ETR. MS-OTK > 279 confidentiality and integrity protection MUST be provided in the > 280 path between the Map-Server and the ETR. This can be achieved > 281 either by encrypting the MS-OTK with the pre-shared secret known > 282 to the Map-Server and the ETR (as specified in Section 6.5), or > 283 by enabling DTLS between the Map-Server and the ETR. > > [major] "protection MUST be provided": Same comment as above: no need > for this part here. Dropped. > > > ... > 303 8. The ITR, upon receiving the Map-Reply, uses the locally stored > 304 ITR-OTK to verify the integrity of the EID-prefix authorization > 305 data included in the Map-Reply by the Map-Server. The ITR > 306 computes the MS-OTK by applying the same KDF (as specified in the > 307 ECM encapsulated Map-Reply) used by the Map-Server, and verifies > 308 the integrity of the Map-Reply. If the integrity checks fail, > 309 the Map-Reply MUST be discarded. Also, if the EID-prefixes > 310 claimed by the ETR in the Map-Reply are not equal or more > 311 specific than the EID-prefix authorization data inserted by the > 312 Map-Server, the ITR MUST discard the Map-Reply. > > [major] "...MUST..." > > These details are not needed here. Dropped. > > > ... > 322 6.1. Encapsulated Control Message LISP-SEC Extensions > ... > 358 V: Key Version bit. This bit is toggled when the sender switches > 359 to a new OTK wrapping key > > [] I don't understand how this works. If the OTK doesn't change then > this bit's value shouldn't change, is that it? > > [major - If so..] If so, what should a receiver do if the V bit > didn't change but the OTK did? What if the OTK didn't change, but the > V bit did? > Actually this is a leftover of previous versions where there was no “Key ID” field. The bit has been removed. > > ... > 363 Requested HMAC ID: The HMAC algorithm, that will be used to > 364 protect the mappings, requested by the ITR. See Section 6.4 for > 365 details, and Section 8.3 for HMAC IDs that MUST be supported. > > [major] §8.3 says this: > > AUTH-HMAC-SHA-1-96 MUST be supported, AUTH-HMAC-SHA-256-128 SHOULD be > supported. > > However, (1) it is not good practice to include specifications in the > IANA Considerations section (only instructions to IANA should be > included there), The text has been moved and is not anymore in the IANA section. > and, (2) the MUST/SHOULD combination doesn't match > the MUST used here. Text updated in the following way: The HMAC function AUTH-HMAC-SHA-1-96 [RFC2104] MUST be supported in LISP-SEC implementations. > > Instead, please move the text (above + references to rfc2104/rfc6234) > from §8.3 to §6.4, and eliminate the reference to §8.3. > > Note that similar text is used in multiple places. Please update all. > > > ... > 377 OTK Wrapping ID: The identifier of the key derivation function and > 378 of the key wrapping algorithm used to encrypt the One-Time-Key. > 379 See Section 6.5 for more details, and Section 8.4 for Wrapping IDs > 380 that MUST be supported. > > [minor] The figure uses ("OTK Wrap. ID"). I know that's just an > abbreviation, but please include it here for completeness: > > s/OTK Wrapping ID:/OTK Wrapping ID (OTK Wrap. ID): Done. Thanks. > > > [major] "and Section 8.4 for Wrapping IDs that MUST be supported." > > Same comment as above: please move the text from §8.4 to §6.5. Done. > > BTW, §6.5 already has come text about requiring > AES-KEY-WRAP-128+HKDF-SHA256, but not NULL-KEY-WRAP-128: this last > algorithm is mentioned, but the text doesn't require it. Text has been changed. > > Also, AES-KEY-WRAP-128 (without "+HKDF-SHA256") is mentioned > separately, but not listed in the table in §8.4. That is correct. It indicates the Key Wrap Algorithm, while HKDF-SHA256 indicates a Key Derivation Function. They are meaningful alone. > > > 382 One-Time-Key Preamble: set to 0 if the OTK is not encrypted. When > 383 the OTK is encrypted, this field MAY carry additional metadata > 384 resulting from the key wrapping operation. When a 128-bit OTK is > 385 sent unencrypted by Map-Resolver, the OTK Preamble is set to > 386 0x0000000000000000 (64 bits). See Section 6.5.1 for details. > > [nit] s/by Map-Resolver/by a Map-Resolver Fixed. > > ... > 391 EID-AD Length: length (in bytes) of the EID Authentication Data > 392 (EID-AD). The ITR MUST set EID-AD Length to 4 bytes, as it only > 393 fills the KDF ID field, and all the remaining fields part of the > 394 EID-AD are not present. An EID-AD MAY contain multiple EID- > 395 records. Each EID-record is 4-byte long plus the length of the > 396 AFI-encoded EID-prefix. > > [nit] s/set EID-AD Length/set the EID-AD Length > Fixed. > [major] "ITR MUST set EID-AD Length to 4 bytes" > > What should the receiver do if the length is set to anything else? > > For messages not originated by the ITR, the length has to be more then > 4. In fact, it has to be 12 + the length of EID-prefix (multiple may > be present) + length of EID HMAC. What should a receiver do if the > length is not appropriate? > > I don't remember seeing anything in rfc6833bis about error handling or > what to do about mismatched lengths in general. Did I miss it? That is correct. But if such details is added for the EID-AD length it has to be added for all “*-length” fields in all the specs. Is it worth it? > > > 398 KDF ID: Identifier of the Key Derivation Function used to derive > 399 the MS-OTK. The ITR MAY use this field to indicate the > 400 recommended KDF algorithm, according to local policy. The Map- > 401 Server can overwrite the KDF ID if it does not support the KDF ID > 402 recommended by the ITR. See Section 5.4 for more details, and > 403 Section 8.5 for KDF IDs that MUST be supported. > > [major] "Map-Server can overwrite the KDF ID if it does not support > the KDF ID recommended by the ITR" > > Specify things only once. The text in §6.7.1 is similar. See comments there. > Text deleted here. > > [minor] s/5.4/6.4/g > §5.4 doesn't exist. Fixed. > > > [major] "Section 8.5 for KDF IDs that MUST be supported" > > Same comment as above: please move the text from §8.5 to §6.4. Done. > > > 405 Record Count: The number of records in this Map-Request message. > 406 A record is comprised of the portion of the packet that is labeled > 407 'Rec' above and occurs the number of times equal to Record Count. > > [major] Should there at least be one, or is it ok if the value is 0? > If at least one, what should a receiver do if no records are included? Defined in 6833bis. There is a reference now. > > > 409 E: ETR-Cant-Sign bit. This bit is set to 1 to signal to the ITR > 410 that at least one of the ETRs authoritative for the EID prefixes > 411 of this Map-Reply has not enabled LISP-SEC. This allows the ITR > 412 to securely downgrade to non LISP-SEC requests, as specified in > 413 Section 6.7, if so desired. > > [major] If I understand correctly, this bit should only ever be set by > a Map-Server. Are there other cases where setting it would be valid? No. > > If this bit is set other than by a Map-Server, what should the receiver do. > > Assuming my understanding is correct, please say something here about > the Map-Server being the only one that can set the bit. §6.7 is about > Map-Server processing, but the fact that it can set the bit doesn't > explicitly preclude other from doing so. > > > [minor] s/This allows the ITR to securely downgrade to non LISP-SEC > requests, as specified in Section 6.7, if so desired./See Section 6.7 > for more details. Changed. Thanks. > > ... > 417 EID HMAC ID: Identifier of the HMAC algorithm used to protect the > 418 integrity of the EID-AD. This field is filled by Map-Server that > 419 computed the EID-prefix HMAC. See Section 5.4 for more details, > 420 and Section 8.3 for HMAC IDs that MUST be supported. > > [nit] s/by Map-Server/by the Map-Server Fixed. > > > [major] "Section 8.3 for HMAC IDs that MUST be supported" > > Same comment as above: please move the text from §8.3 to §6.4. Done. > > > 422 EID mask-len: Mask length for EID-prefix. > > 424 EID-AFI: Address family of EID-prefix according to [AFN]. > > 426 EID-prefix: The Map-Server uses this field to specify the EID- > 427 prefix that the destination ETR is authoritative for, and is the > 428 longest match for the requested EID. > > [major] These 3 fields, which are part of the "Rec", are the same as > what is specified in §5.2/rfc6833bis. But the descriptions are > different, and the EID-AFI names doesn't match EID-Prefix-AFI. Please > point at the definitions in rfc6833bis: > > EID mask-len: As defined in §5.2/rfc6833bis. > ... > Done when possible. > > 430 EID HMAC: HMAC of the EID-AD computed and inserted by Map-Server. > 431 Before computing the HMAC operation the EID HMAC field MUST be set > 432 to 0. The HMAC MUST cover the entire EID-AD. > > [major] s/by Map-Server/by a Map-Server > > Fixed. > [major] "Before computing the HMAC operation the EID HMAC field MUST > be set to 0. The HMAC MUST cover the entire EID-AD." > > §6.7.1 describes the same operation, but without using Normative language: > > The scope of the HMAC operation covers the entire EID-AD, from the > EID-AD Length field to the EID HMAC field, which must be set to 0 > before the computation. > > Please specify things only once! It seems to me that it may be more > appropriate to include the specification in §6.7.1 (Generating a > LISP-SEC Protected Encapsulated Map-Request). Good point. Deleted the sentence in 6.1 and made the text 6.7.1 normative > > > 434 6.2. Map-Reply LISP-SEC Extensions > ... > 464 MR AD Type: 1 (LISP-SEC Authentication Data). See Section 8. > > [] Just wondering... Why are separate registries used for ECM AD Type > and MR AD Type? Are you expecting so many extensions that a single > space won't be enough? One is ECM the other is not, make sense to keep the registries separate. > > > 466 EID-AD Length: length (in bytes) of the EID-AD. An EID-AD MAY > 467 contain multiple EID-records. Each EID-record is 4-byte long plus > 468 the length of the AFI-encoded EID-prefix. > > [] It looks like you're mostly redefining the same fields as in the > last section, at least for the EID-AD and Rec. Please point at the > definitions there instead of redefining again here. If there are > exceptions/variations that are east to call out then just mention > those here. > Simplified and references added. > Otherwise, the comments from the last section apply here too. > > > 470 KDF ID: Identifier of the Key Derivation Function used to derive > 471 MS-OTK. See Section 6.7 for more details, and Section 8.5 for KDF > 472 IDs that MUST be supported. > > [minor] §6.7 doesn't talk about the KFD ID. > > > ... > 480 EID HMAC ID: Identifier of the HMAC algorithm used to protect the > 481 integrity of the EID-AD. See Section 6.7 for more details, and > 482 Section 8.3 for HMAC IDs that MUST be supported. > > [minor] §6.7 doesn't talk about the EID HMAC ID. > > > 484 EID mask-len: Mask length for EID-prefix. > > 486 EID-AFI: Address family of EID-prefix according to [RFC8060]. > > 488 EID-prefix: This field contains an EID-prefix that the destination > 489 ETR is authoritative for, and is the longest match for the > 490 requested EID. > > [major] Same comment as in §6.1: These 3 fields, which are part of the > "Rec", are the same as what is specified in §5.2/rfc6833bis. > > > ... > 499 PKT HMAC ID: Identifier of the HMAC algorithm used to protect the > 500 integrity of the Map-Reply. See Section 8.3 for HMAC IDs that > 501 MUST be supported. > > [major] As mentioned before, please take Normative specifications out > of the IANA section and move it somewhere more appropriate. Normative specification are now in section 6.5. reference has been updated. > > > 503 PKT HMAC: HMAC of the whole Map-Reply packet, including the LISP- > 504 SEC Authentication Data. The scope of the authentication goes > 505 from the Map-Reply Type field to the PKT HMAC field included. > 506 Before computing the HMAC operation the PKT HMAC field MUST be set > 507 to 0. See Section 6.8 for more details. > > [major] These two sentences don't seem to say the same thing: > > HMAC of the whole Map-Reply packet, including the LISP-SEC > Authentication Data. The scope of the authentication goes > from the Map-Reply Type field to the PKT HMAC field included. Sentence is misleading indeed. The HMAC does cover the whole packet. The authentication data (and only the authentication data) goes from Type to PKT HMAC. Changed to the following formulation: PKT HMAC: HMAC of the whole Map-Reply packet, so to protect its integrity; including the LISP-SEC Authentication Data (from the Map-Reply Type field to the PKT HMAC field), which allow message authetification. > > Does it include the Map-Reply (first sentence) or just the data > defined in this document (second sentence)? The description in §6.8 > is slightly clearer, but not by much: > > The PKT-AD contains the HMAC of the whole Map-Reply packet... > The scope of the HMAC operation covers the entire PKT-AD, from the > Map-Reply Type field to the PKT HMAC field... > > It would be better if the specification was made only once. A pointer > to §6.8 should be enough here. It is now in the that section. > > > [major] "Before computing the HMAC operation the PKT HMAC field MUST > be set to 0." > > §6.8 describes the same operation, but without using Normative > language: "...to the PKT HMAC field, which must be set to 0 before the > computation." 68. Is now normative and text has been dropped here. > > Please specify things only once! It seems to me that it may be more > appropriate to include the specification in §6.8. > > > 509 6.3. Map-Register LISP-SEC Extentions > > [] This section is not needed -- see below. By simplifying the text in 6833bis (see below) this section makes the link to the S-bit in the Map-Register message. > > 511 This memo is allocating one of the bits marked as Unassigned in the > 512 Map-Register message defined in [I-D.ietf-lisp-rfc6833bis]. More > 513 precisely, the second bit after the Type field in a Map-Register > 514 message is allocated as the S bit. The S bit indicates to the Map- > 515 Server that the registering ETR is LISP-SEC enabled. An ETR that > 516 supports LISP-SEC MUST set the S bit in its Map-Register messages. > > [major] The S-bit is already allocated and defined in rfc6833bis, so > the first two sentences are not needed.`` Deleted. > > > [major] rfc6833bis is not as explicit as the last two sentences, but > it seems to me that it already covers them. This is from > §5.6/rfc6833bis (Map-Register Message Format): > > S: This is the security-capable bit. When set, the procedures from > [I-D.ietf-lisp-sec] are supported. > > This text doesn't explicitly require the ETR to set the bit. If you > want to make that explicit, then we should update the text in > rfc633bis. What about simply put in 6833Bis S: This is the security-capable bit. See [I-D.ietf-lisp-sec] for its use. Would that be enough? > > > 518 6.4. ITR Processing: Generating a Map-Request > > 520 Upon creating a Map-Request, the ITR generates a random ITR-OTK that > 521 is stored locally (until the corresponding Map-Reply is received), > 522 together with the nonce generated as specified in > 523 [I-D.ietf-lisp-rfc6833bis]. > > [minor] "until the corresponding Map-Reply is received" > > Please include a forward reference to §6.9. > Forward reference added. > > ... > 531 The Map-Request MUST be encapsulated in an ECM, with the S-bit set to > 532 1, to indicate the presence of Authentication Data. Changed to clarify that the Map-Request defined in 6833bis is "appended" See also comments below. > > [major] "Map-Request MUST be encapsulated in an ECM" > > This part is confusing to me -- along with the many parts that talk > about an "encapsulated Map-Request". > > What do you mean by an "encapsulated Map-Request"? I see 3 options: > > (1) The ECM Authentication Data (from Figure 1) carried in the ECM > (§5.8/rfc6833bis) with the S-bit set. This is what I've been assuming > because §6.1 talks about it being a Map-Request when it describes the > Record Count. > > If so, at minimum, the text is confusing because the content of the > ECM Authentication Data is different from the Map-Request from > §5.2/rfc6833bis, but the names are the same. Also, the functionality > from rfc6833bis is different. > > > (2) A Map-Request (§5.2/rfc6833bis) encapsulated as the LCM in the ECM > as described in §5.8/rfc6833bis. In this case, setting the S-bit, as > required above would indicate that the ECM Authentication Data (from > Figure 1) would also be there. > This is the actually the case. > If so, this document is not clear about the interaction between the > two Map-Requests. Should the Records match, what if they don't, > etc..? The EID-AD is empty in the Map-Request (except for the KDF ID) For Map-replies, Section 6.9 explain how EID records in the Map-Reply (inner part) are validated via EID-AD. > > > (3) A Map-Request (§5.2/rfc6833bis) encapsulated as the LCM in the ECM > as described in §5.8/rfc6833bis. The S-bit is not set. > > I don't think this interpretation makes sense because then it wouldn't > be protected at all. > > > Please clarify here, and update the descriptions elsewhere as needed. > > > 534 ITR-OTK is wrapped with the algorithm specified by the OTK Wrapping > 535 ID field. See Section 6.5 for further details on OTK encryption. If > 536 the NULL-KEY-WRAP-128 algorithm is selected and DTLS is not enabled > 537 in the path between the ITR and the Map-Resolver, the Map-Request > 538 MUST be dropped and an appropriate log action SHOULD be taken. > > [nit] s/ITR-OTK/The ITR-OTK Fixed. > > 540 The Requested HMAC ID field contains the suggested HMAC algorithm to > 541 be used by the Map-Server and the ETR to protect the integrity of the > 542 ECM Authentication data and of the Map-Reply. A HMAC ID Value of > 543 NONE (0), MAY be used to specify that the ITR has no preferred HMAC > 544 ID. > > [nit] s/NONE (0), MAY/NONE (0) MAY > Done. > 546 The KDF ID field specifies the suggested key derivation function to > 547 be used by the Map-Server to derive the MS-OTK. A KDF Value of NONE > 548 (0), MAY be used to specify that the ITR has no preferred KDF ID. > > [major] s/Value of NONE (0), MAY be used/Value of NONE (0) may be used > > Even though it is optional to use 0, the optional use of the KDF ID > field by the ITR was already specified in §6.1, so this is just a > statement of fact. Changed. > > ... > 554 6.4.1. PITR Processing > > [minor] Please expand PITR on first use. Done > > > 556 The processing performed by a PITR is equivalent to the processing of > 557 an ITR. However, if the PITR is directly connected to a Mapping > 558 System such as LISP+ALT [RFC6836], the PITR performs the functions of > 559 both the ITR and the Map-Resolver forwarding the Map-Request > 560 encapsulated in an ECM header that includes the Authentication Data > 561 fields as described in Section 6.6. > > [?] This description of a PITR having multiple colocated functionality > is not specific to the PITR, right? Correct. If an ITR is directly connected to LISP+ALT it would be the same thing. > Also, the description is not > specific to LISP+ALT, the same would happen with any Mapping System, > right? It seems to me that this section is not needed. > Transformed to another paragraph of section 6.4. With one last paragraph stating that for PITR it is just the same thing. > > 563 6.5. Encrypting and Decrypting an OTK > ... > 594 Implementations of this specification MUST support OTK Wrapping ID > 595 AES-KEY-WRAP-128+HKDF-SHA256 that specifies the use of the HKDF- > 596 SHA256 Key Derivation Function specified in[RFC4868] to derive a per- > 597 message encryption key (per-msg-key), as well as the AES-KEY-WRAP-128 > 598 Key Wrap algorithm used to encrypt a 128-bit OTK, according to > 599 [RFC3394]. > > [nit] s/in[RFC4868]/in [RFC4868] Fixed. > > 601 The key wrapping process for OTK Wrapping ID AES-KEY-WRAP-128+HKDF- > 602 SHA256 is described below: > > 604 1. The KDF algorithm is identified by the field 'OTK Wrapping ID' > 605 according to the table in Section 8.4. > > 607 2. The Key Wrap algorithm is identified by the field 'OTK Wrapping > 608 ID' according to the table in Section 8.4. > > [minor] Can we merge these two steps? Also, given that other > algorithms may be defined later, let's separate the process from the > table itself. > > Suggestion> > The KDF and Key Wrap algorithms are identified by the value of > the 'OTK Wrapping ID' field. The initial values are documented > in Table #x. > Changed. Thanks. > > 610 3. If the NULL-KEY-WRAP-128 algorithm (defined in (Section 8.4)) is > 611 selected and DTLS is not enabled, the Map-Request MUST be dropped > 612 and an appropriate log action SHOULD be taken. > > [minor] s/8.4/6.5 > > > ... > 640 6.5.1. Unencrypted OTK > > 642 MS-OTK confidentiality and integrity protection MUST be provided in > 643 the path between the Map-Server and the ETR. Similarly, ITR-OTK > 644 confidentiality and integrity protection MUST be provided in the path > 645 between the ITR and the Map-Resolver. > > [major] This same specification is also present in §6.5. Please > specify the bahavior only once. > Paragraph dropped. > ... > 676 6.7. Map-Server Processing > > 678 Upon receiving an ECM encapsulated Map-Request with the S-bit set to > 679 1, the Map-Server process the Map-Request according to the value of > 680 the security-capable S-bit and of the proxy map-reply P-bit contained > 681 in the Map-Register sent by the ETRs authoritative for that prefix > 682 during registration. > > [minor] This is a long sentence...my first read got me confused about > what was meant by "the value of the security-capable S-bit" if it had > just been pointed that it is set to 1. > > Please come up with a shortcut for "ECM encapsulated Map-Request with > the S-bit set to 1". Refer back to the comments on §6.4. Suggestion: > "secure Map-Request". Protected Map-Request has been used (defined in §6.4). > > Suggestion> > Upon receiving a "secure Map-Request", the Map-Server precesses > it according to the setting of the S and P-bits in the Map-Register > received from the authoritative ETRs for the corresponding prefix, > as described below. Changed. Thanks. > > > ... > 731 In this way the ITR that sent a LISP-SEC protected Map-Request always > 732 receives a LISP-SEC protected Map-Reply. However, the ETR-Cant-Sign > 733 E-bit set to 1 specifies that a non LISP-SEC Map-Request might reach > 734 additional ETRs that have LISP-SEC disabled. This mechanism allows > 735 the ITR to securely downgrade to non LISP-SEC requests, if so > 736 desired. > > [major] "This mechanism allows the ITR to securely downgrade to non > LISP-SEC requests, if so desired." Sentence has been changed, now also including that by so doing there is no protection against threat described in section 4. > Besides the fact that "securely downgrade to non LISP-SEC" sounds like > a contradiction, the "if so desired" part leaves the operation up in > the air. When/why would an ITR desire to disable security? What are > the use cases where it may be ok? What are the risks that should be > considered? > > As I see it, downgrading is risky because it can open the door to > overclaiming, which list-sec closes (rfc6833bis). IOW, a rogue ETR > can decide not to set the S-bit (even if it did support lisp-sec) and > eliminate its benefits. rfc6833bis also says this: > > 3. LISP-SEC [I-D.ietf-lisp-sec] MUST be implemented. Network > operators should carefully weight how the LISP-SEC threat model > applies to their particular use case or deployment. If they > decide to ignore a particular recommendation, they should make > sure the risk associated with the corresponding threats is well > understood. > > > Please add a "Deployment/Operational Considerations" section to help > operators in making the decision above, particularly about when an ITR > may desire to downgrade. Please include (as appropriate) information > as described in §2/rfc5706. > > FWIW, I see the E-bit as useful as a transition mechanism: while not > all the ETRs may have been upgraded then it seems ok to downgrade to > maintain the operation of the network. However, I'm having a hard > time seeing the value afterwards. > > > 738 6.7.1. Generating a LISP-SEC Protected Encapsulated Map-Request > ... > 745 The Map-Server updates the OTK-AD by deriving a new OTK (MS-OTK) from > 746 the ITR-OTK received with the Map-Request. MS-OTK is derived > 747 applying the key derivation function specified in the KDF ID field. > 748 If the algorithm specified in the KDF ID field is not supported, the > 749 Map-Server uses a different algorithm to derive the key and updates > 750 the KDF ID field accordingly. > > [major] > > 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 > the KDF ID field accordingly. > > See the comment below (after line 775) about the future existence of > multiple required/recommended algorithms. This is covered by section 6.9. ITR retries with different HMAC ID until one works. > > > 752 MS-OTK confidentiality and integrity protection MUST be provided in > 753 the path between the Map-Server and the ETR. This can be achieved > 754 either by enabling DTLS between the Map-Server and the ETR, or by > 755 encrypting the MS-OTK with the pre-shared secret known to the Map- > 756 Server and the ETR. > > [major] This is specified in §6.5. Please specify behaviors only once. Paragraph dropped. > > > ... > 767 The Map-Server includes in the EID-AD the longest match registered > 768 EID-prefix for the destination EID, and an HMAC of this EID-prefix. > 769 The HMAC is keyed with the ITR-OTK contained in the received ECM > 770 Authentication Data, and the HMAC algorithm is chosen according to > 771 the Requested HMAC ID field. If the Map-Server does not support this > 772 algorithm, the Map-Server uses a different algorithm and specifies it > 773 in the EID HMAC ID field. The scope of the HMAC operation covers the > 774 entire EID-AD, from the EID-AD Length field to the EID HMAC field, > 775 which must be set to 0 before the computation. > > [major] > > ...the HMAC algorithm is chosen according to the Requested HMAC ID > field. If the Map-Server does not support this algorithm, the Map- > Server uses a different algorithm and specifies it in the EID HMAC ID > field. > > This document defines one required and one recommended algorithms. > The logic above then works. What happens when other algorithms are > added -- but are only recommended? It seems to me that if the ITR > requests one of the recommended algorithms, and the Map-Server doesn't > support it then another recommended algorithm, in this case not > supported by the ITR, might be selected. > > How do the different LISP nodes know/learn what is supported by the > other nodes? If the "uses a different algorithm" part results in a > required algorithm then we should be ok as long as future documents > Update the set of required and recommended algorithms in the future. > This is covered by section 6.9. ITR retries with different HMAC ID until one works. > > [major] "does not support this algorithm" > > It's possible for the ITR to set the value to 0. That case needs to > be covered here too. 0 is a valid HMAC ID value, the text still applies. > > [] See the related comment about the last sentence in §6.1. Text changed to normative. > > > ... > 782 6.7.2. Generating a Proxy Map-Reply > > 784 LISP-SEC proxy Map-Reply are generated according to > 785 [I-D.ietf-lisp-rfc6833bis], with the Map-Reply S-bit set to 1. The > 786 Map-Reply includes the Authentication Data that contains the EID-AD, > 787 computed as specified in Section 6.7.1, as well as the PKT-AD > 788 computed as specified in Section 6.8. > > [major] "Map-Reply...as specified in Section 6.7.1" > > §6.7.1 talks about Map-Requests, not Map-Replies. It looks like > theres a section missing. It is correct. The EID-AD is generated by the Map-Server. That EID-AD is either forwarded to the ETR or used directly if the MS is generating proxy map-replies. In both cases the EID-AD is generated as described in section 6.7.1. > > > 790 6.8. ETR Processing > ... > 802 The EID-AD is copied from the Authentication Data of the received > 803 encapsulated Map-Request. > > [major] The KFD ID may have to be updated so the EID-AD can't simply > be copied. And the EID HMAC needs to be recalculated. > The KFD-ID might be updated by the MS not the ETR. ETR must not change the EID-AD is the base to provide protection against over claiming attacks. > Note that §6.1 says that the EID HMAC is "computed and inserted by > Map-Server." IOW, it doesn't take into account that it may have to be > updated. No, see above. > > > 805 The PKT-AD contains the HMAC of the whole Map-Reply packet, keyed > 806 with the MS-OTK and computed using the HMAC algorithm specified in > 807 the Requested HMAC ID field of the received encapsulated Map-Request. > 808 If the ETR does not support the Requested HMAC ID, it uses a > 809 different algorithm and updates the PKT HMAC ID field accordingly. > 810 The scope of the HMAC operation covers the entire PKT-AD, from the > 811 Map-Reply Type field to the PKT HMAC field, which must be set to 0 > 812 before the computation. > > [] See the related comment in §6.2. > Last part of the text made normative. > > ... > 817 6.9. ITR Processing: Receiving a Map-Reply > > 819 In response to an encapsulated Map-Request that has the S-bit set, an > 820 ITR MUST receive a Map-Reply with the S-bit set, that includes an > 821 EID-AD and a PKT-AD. If the Map-Reply does not include both ADs, the > 822 ITR MUST discard it. In response to an encapsulated Map-Request with > 823 S-bit set to 0, the ITR expects a Map-Reply with S-bit set to 0, and > 824 the ITR SHOULD discard the Map-Reply if the S-bit is set. > > [major] "ITR MUST receive a Map-Reply with the S-bit set" > > The style of the second part of the paragraph is clearer on what the action is. > > OLD> > In response to an encapsulated Map-Request that has the S-bit set, an > ITR MUST receive a Map-Reply with the S-bit set, that includes an > EID-AD and a PKT-AD. If the Map-Reply does not include both ADs, the > ITR MUST discard it. > > NEW> > In response to a "secure Map-Request", an ITR expects a Map-Reply > with the S-bit set to 1 including an EID-AD and a PKT-AD. The ITR > MUST discard the Map-Reply otherwise. > > > [major] "ITR SHOULD discard the Map-Reply if the S-bit is set" > > When is it ok for the the ITR not to discard the Map-Reply? Why is > this a recommendation and not a requirement? Changed as suggested. Thanks. > > ... > 831 The integrity of the EID-AD is verified using the ITR-OTK (stored > 832 locally for the duration of this exchange) to re-compute the HMAC of > 833 the EID-AD using the algorithm specified in the EID HMAC ID field. > 834 If the EID HMAC ID field does not match the Requested HMAC ID the ITR > 835 SHOULD discard the Map-Reply and send, at the first opportunity it > 836 needs to, a new Map-Request with a different Requested HMAC ID field, > 837 according to ITR's local policy. The scope of the HMAC operation > 838 covers the entire EID-AD, from the EID-AD Length field to the EID > 839 HMAC field. > > [major] "If the EID HMAC ID field does not match the Requested HMAC ID > the ITR SHOULD discard the Map-Reply and send, at the first > opportunity it needs to, a new Map-Request with a different Requested > HMAC ID field, according to ITR's local policy. > > §6.8 says that the ETR can use a different algorithm. > > When is ok for the ITR to not discard the Map-Reply? Why is this a > recommendation and not a requirement? Changed to a MUST in accordance to the second paragraph of this section, which states: Upon receiving a Map-Reply, the ITR must verify the integrity of both the EID-AD and the PKT-AD, and MUST discard the Map-Reply if one of the integrity checks fails. After processing the Map-Reply, the ITR MUST discard the <nonce,ITR-OTK> pair associated to the Map-Reply > > > ... > 843 To verify the integrity of the PKT-AD, first the MS-OTK is derived > 844 from the locally stored ITR-OTK using the algorithm specified in the > 845 KDF ID field. This is because the PKT-AD is generated by the ETR > 846 using the MS-OTK. If the KDF ID in the Map-Reply does not match the > 847 KDF ID requested in the Map-Request, the ITR SHOULD discard the Map- > 848 Reply and send, at the first opportunity it needs to, a new Map- > 849 Request with a different KDF ID, according to ITR's local policy. > 850 Without consistent configuration of involved entities, extra delays > 851 may be experienced. However, since HKDF-SHA1-128 is specified as > 852 mandatory to implement in Section 8.5, the process will eventually > 853 converge. > > [major] "If the KDF ID in the Map-Reply does not match the KDF ID > requested in the Map-Request, the ITR SHOULD discard the Map-Reply and > send, at the first opportunity it needs to, a new Map-Request with a > different KDF ID, according to ITR's local policy." > > §6.1 says that the ETR can use a different algorithm. > > When is ok for the ITR to not discard the Map-Reply? Why is this a > recommendation and not a requirement? > Changed to a MUST in accordance to the second paragraph of this section. > > [minor] s/Section 8.5/Section 6.4 No. 8.5 is the correct one it state that HKDF-SHA1-128 MUST be supported. > > > 855 The derived MS-OTK is then used to re-compute the HMAC of the PKT-AD > 856 using the Algorithm specified in the PKT HMAC ID field. If the PKT > 857 HMAC ID field does not match the Requested HMAC ID the ITR SHOULD > 858 discard the Map-Reply and send, at the first opportunity it needs to, > 859 a new Map-Request with a different Requested HMAC ID according to > 860 ITR's local policy or until all HMAC IDs supported by the ITR have > 861 been attempted. > > [major] "If the PKT HMAC ID field does not match the Requested HMAC ID > the ITR SHOULD discard the Map-Reply..." > > Same comments as above... Changed to a MUST in accordance to the second paragraph of this section. > > > ... > 873 [I-D.ietf-lisp-rfc6833bis] allows ITRs to send solicited Map-Requests > 874 directly to the ETRs that send the SMR message in the first place. > 875 However, in order to receive a secure Map-Reply, ITRs SHOULD send SMR > 876 triggered Map-Requests over the mapping system using the > 877 specifications of this memo. If an ITR accepts piggybacked Map- > 878 Replies, it SHOULD also send a Map-Request over the mapping system in > 879 order to verify the piggybacked Map-Reply with a secure Map-Reply. > > [minor] Expand SMR on first use. Done. > > > [major] "in order to receive a secure Map-Reply, ITRs SHOULD > send...Map-Requests...using the specifications of this memo." > > The only way to receive a secure Map-Reply is to use this > specification, so the "SHOULD" seems out of place because it is a > statement of fact. Deleted. > > Note however that rfc6833bis already requires the behavior (from §6.1): > > An SMR message is simply a bit set in a Map-Request message. An ITR > or PITR will send a Map-Request (SMR-invoked Map-Request) when they > receive an SMR message. While the SMR message is sent through the > data-plane, the SMR-invoked Map-Request MUST be sent through the > Mapping System (not directly). > > IOW, the sentence is not needed. Specify things only once. The whole paragraph has been changed for clarification. > > > [major] What are "piggybacked Map-Replies"? Where are they specified? > When is it ok for the ITR to not verify the information? Why is it a > recommendation and not a requirement? > > > 881 6.9.1. Map-Reply Record Validation > ... > 917 The EID-record with EID-prefix 2001:db8:102::/48 is not eligible to > 918 be used by the ITR since it is not included in any of the EID-ADs > 919 signed by the Map-Server. A log action MUST be taken. > > [major] "A log action MUST be taken." > > This action is specified as part of an example. Please generalize the > specification, include the text before the example, and don't use > normative language in an example. > > Suggestion> > If any EID-prefix in the payload of the Map-Reply is not > included in the EID-AD signed by the Map-Server a log action > MUST be taken. Changed the last sentence of the second paragraph as: An EID-record is valid only if at least one of the intersections is not the empty set, otherwise, a log action MUST be taken and the EID-record MUST be discarded. > > ... > 925 The EID-record with EID-prefix 2001:db8:200::/40 is not eligible to > 926 be used by the ITR since it is not included in any of the EID-ADs > 927 signed by the Map-Server. A log action MUST be taken. In this last > 928 example the ETR is trying to over claim the EID-prefix > 929 2001:db8:200::/40, but the Map-Server authorized only > 930 2001:db8:203::/48, hence the EID-record is discarded. > > [major] "A log action MUST be taken." See comment above. > Changed in the example no more normative language used. > > ... > 934 7.1. Mapping System Security > > 936 The LISP-SEC threat model described in Section 4, assumes that the > 937 LISP Mapping System is working properly and eventually delivers Map- > 938 Request messages to a Map-Server that is authoritative for the > 939 requested EID. > > [minor] "eventually" ?? Maybe that word is not needed. Deleted. > > > ... > 949 7.2. Random Number Generation > > 951 The ITR-OTK MUST be generated by a properly seeded pseudo-random (or > 952 strong random) source. See [RFC4086] for advice on generating > 953 security-sensitive random data > > [nit] s/data/data. > > > ... > 963 7.4. Deploying LISP-SEC > > 965 This memo is written according to [RFC2119]. Specifically, the use > 966 of the key word SHOULD "or the adjective 'RECOMMENDED', mean that > 967 there may exist valid reasons in particular circumstances to ignore a > 968 particular item, but the full implications must be understood and > 969 carefully weighed before choosing a different course". > > [major] §2 already includes the rfc2119/rfc8174 template. There's no > need to include this text here, or the last paragraph. > > I wonder the intent of putting it in this section: there are no > SHOULDs in it. Should there be any? [I don't think so.] > Paragraph has been deleted. > Also, I expect the specification to call out some of the > considerations to be taken into account -- and not just mention that > considerations may exist. [I made sure to ask about the SHOULDs in > other parts of the text.] > It is more of a message about “be careful in how you deploy LISP-SEC” No harm in the section as it is now. And considerations about SHOULD are added where missing. > > ... > 977 As an example, in certain closed and controlled deployments, it is > 978 possible that the threat associated with a MITM between the xTR and > 979 the Mapping System is very low, and after carfeul consideration it > 980 may be decided to allow a NULL key wrapping algorithm while carrying > 981 the OTKs between the xTR and the Mapping System. > > [nit] s/carfeul/careful Fixed. > > > ... > 992 7.5. Shared Keys Provisioning > > 994 Provisioning of the keys shared between the ITR and the Map-Resolver > 995 as well as between the ETR and the Map-Server should be performed via > 996 an orchestration infrastructure and it is out of the scope of this > 997 memo. It is recommended that both shared keys are refreshed at > 998 periodical intervals to address key aging or attackers gaining > 999 unauthorized access to the shared keys. Shared keys should be > 1000 unpredictable random values. > > [] You will be asked about LISP management and the YANG model in > particular. It is up to you whether or not you want to include an > Informative reference to draft-ietf-lisp-yang. Better avoid any reference to drafts still in the pipeline. > > > 1002 7.6. Replay Attacks > ... > 1010 In case of replayed Map-Request, the Map-Server, Map-Resolver and ETR > 1011 will have to do a LISP-SEC computation. This is equivalent to a > 1012 valid LISP-SEC computation and an attacker does not obtain any > 1013 benefit. > > [major] You mean "equivalent to a valid LISP-SEC computation" in terms > of resources, right? > Yes. Sentence has been changed. > It might be a good idea to indicate why "an attacker does not obtain > any benefit". Is it because the Map-Request will be discarded? Why? The corresponding Map-Reply will be discarded. Sentence has been changed. > > There's some text in the Security Considerations of rfc6833bis about > this topic and rate limiting. It might be worth referencing it. > > BTW, please include a paragraph at the start of this section (before > §7.1) that explicitly says that the Security Considerations of > rfc6833bis apply to this document too. A sentence has been added. > > > 1015 7.7. Message Privacy > > 1017 DTLS [RFC6347] SHOULD be used to provide communication privacy and to > 1018 prevent eavesdropping, tampering, or message forgery to the messages > 1019 exchanged between the ITR, Map-Resolver, Map-Server, and ETR. > > [major] "DTLS [RFC6347] SHOULD be used" > > When is it ok to not use DTLS? Why is this a recommendation and not a > requirement? > > There are many places in this document that say this: > > ...confidentiality and integrity protection MUST be provided > in the path between [A] and [B]. This can be achieved either > by enabling DTLS between [A] and [B], or by encrypting... > > I can see how enabling DLTS is not required if the *-OTK is encrypted. > Is this the conditioning statement that leads to a SHOULD? Please > write it out here. Yes, the sentence has been changed to explain that DTLS should be used unless OTK is encrypted in another way. > > > ... > 1030 8. IANA Considerations > > [] The comments in §8.1 apply to all the sections. > Yes, a statement has been added to explain that everything goes in https://www.iana.org/assignments/lisp-parameters/lisp-parameters.xhtml <https://www.iana.org/assignments/lisp-parameters/lisp-parameters.xhtml> > > 1032 8.1. ECM AD Type Registry > > 1034 IANA is requested to create the "ECM Authentication Data Type" > 1035 registry with values 0-255, for use in the ECM LISP-SEC Extensions > 1036 Section 6.1. The registry MUST be initially populated with the > 1037 following values: > > [major] Where should this registry be located? I assume you would > want it to be a sub-registry of the "Locator/ID Separation Protocol > (LISP) Parameters" registry. > (https://www.iana.org/assignments/lisp-parameters/lisp-parameters.xhtml <https://www.iana.org/assignments/lisp-parameters/lisp-parameters.xhtml>) > They all go in that registry, text has been added at the beginning of the section. > > [major] "registry MUST be initially populated" > > Normative keywords should only be used for interoperability reasons, > not to give instructions to IANA: > > Suggestion> > Table x shows the initial allocations made to this new registry. Changed for all registries. > > > 1039 Name Value Defined In > 1040 ------------------------------------------------- > 1041 Reserved 0 This memo > 1042 LISP-SEC-ECM-EXT 1 This memo > > [minor] Please add a table number -- to all the tables in this section. Added table number to all tables in the document. > > > 1044 Values 2-255 are unassigned. They are to be assigned according to > 1045 the "Specification Required" policy defined in [RFC8126]. > > [major] The Specification Required policy requires the review of a > Designated Expert. Please provide instructions for the experts? What > factors should they take into account when approving a new value? Added sentence stating that security experts have to assess that the new KDF is strong enough. > > All references fixed as requested (note that IDnit will signal them as downref). > ... > 1126 10.1. Normative References > ... > 1141 [RFC4086] Eastlake 3rd, D., Schiller, J., and S. Crocker, > 1142 "Randomness Requirements for Security", BCP 106, RFC 4086, > 1143 DOI 10.17487/RFC4086, June 2005, > 1144 <https://www.rfc-editor.org/info/rfc4086 <https://www.rfc-editor.org/info/rfc4086>>. > > [minor] This reference can be Informative. > > > ... > 1164 10.2. Informational References > ... > 1170 [I-D.ietf-lisp-rfc6830bis] > 1171 Farinacci, D., Fuller, V., Meyer, D., Lewis, D., and A. > 1172 Cabellos, "The Locator/ID Separation Protocol (LISP)", > 1173 Work in Progress, Internet-Draft, draft-ietf-lisp- > 1174 rfc6830bis-36, 18 November 2020, > 1175 <https://www.ietf.org/archive/id/draft-ietf-lisp- <https://www.ietf.org/archive/id/draft-ietf-lisp-> > 1176 rfc6830bis-36.txt>. > > [major] This reference must be Normative. > > > 1178 [RFC2104] Krawczyk, H., Bellare, M., and R. Canetti, "HMAC: Keyed- > 1179 Hashing for Message Authentication", RFC 2104, > 1180 DOI 10.17487/RFC2104, February 1997, > 1181 <https://www.rfc-editor.org/info/rfc2104 <https://www.rfc-editor.org/info/rfc2104>>. > > [major] This reference must be Normative. > > > 1183 [RFC3394] Schaad, J. and R. Housley, "Advanced Encryption Standard > 1184 (AES) Key Wrap Algorithm", RFC 3394, DOI 10.17487/RFC3394, > 1185 September 2002, <https://www.rfc-editor.org/info/rfc3394 <https://www.rfc-editor.org/info/rfc3394>>. > > [major] This reference must be Normative. > > > 1187 [RFC5869] Krawczyk, H. and P. Eronen, "HMAC-based Extract-and-Expand > 1188 Key Derivation Function (HKDF)", RFC 5869, > 1189 DOI 10.17487/RFC5869, May 2010, > 1190 <https://www.rfc-editor.org/info/rfc5869 <https://www.rfc-editor.org/info/rfc5869>>. > > [major] This reference must be Normative. > > > 1192 [RFC6234] Eastlake 3rd, D. and T. Hansen, "US Secure Hash Algorithms > 1193 (SHA and SHA-based HMAC and HKDF)", RFC 6234, > 1194 DOI 10.17487/RFC6234, May 2011, > 1195 <https://www.rfc-editor.org/info/rfc6234 <https://www.rfc-editor.org/info/rfc6234>>. > > [major] This reference must be Normative. > > > ... > 1202 [RFC7835] Saucez, D., Iannone, L., and O. Bonaventure, "Locator/ID > 1203 Separation Protocol (LISP) Threat Analysis", RFC 7835, > 1204 DOI 10.17487/RFC7835, April 2016, > 1205 <https://www.rfc-editor.org/info/rfc7835 <https://www.rfc-editor.org/info/rfc7835>>. > > [major] This reference must be Normative as "LISP-SEC addresses the > control plane threats, described in 3.7 and 3.8 of [RFC7835]". > > [EoR -25] <draft-ietf-lisp-sec-26-proposed.txt>
- [lisp] AD Review of draft-ietf-lisp-sec-25 Alvaro Retana
- Re: [lisp] AD Review of draft-ietf-lisp-sec-25 Alvaro Retana
- Re: [lisp] AD Review of draft-ietf-lisp-sec-25 Fabio Maino (fmaino)
- Re: [lisp] AD Review of draft-ietf-lisp-sec-25 Luigi Iannone
- Re: [lisp] AD Review of draft-ietf-lisp-sec-25 Alvaro Retana
- [lisp] Fwd: AD Review of draft-ietf-lisp-sec-25 Luigi Iannone
- Re: [lisp] Fwd: AD Review of draft-ietf-lisp-sec-… Alvaro Retana