Benjamin Kaduk has entered the following ballot position for draft-ietf-lisp-gpe-06: Discuss
When responding, please keep the subject line intact and reply to all email addresses included in the To and CC lines. (Feel free to cut this introductory paragraph, however.) Please refer to https://www.ietf.org/iesg/statement/discuss-criteria.html for more information about IESG DISCUSS and COMMENT positions. The document, along with other ballot positions, can be found here: https://datatracker.ietf.org/doc/draft-ietf-lisp-gpe/ ---------------------------------------------------------------------- DISCUSS: ---------------------------------------------------------------------- [Unlike for the 683xbis documents, this is a more mundane Discuss, with one process issue and one issue of clarity with respect to randomness requirements, that should be fairly easy to resolve.] I think that 8060 needs to be a normative reference; it seems to be needed to implement the Multiple Data-Planes LCAF type. Arguably 6040 also should be, though that seems less clear-cut to me. (8060 would be a new normative downref and require another IETF LC, IIUC.) Section 3 notes: The encoding of the Nonce field in LISP-GPE, compared with the one used in [I-D.ietf-lisp-rfc6830bis] for the LISP data plane encapsulation, reduces the length of the nonce from 24 to 16 bits. As per [I-D.ietf-lisp-rfc6830bis], Ingress Tunnel Routers (ITRs) are required to generate different nonces when sending to different Routing Locators (RLOCs), but the same nonce can be used for a period of time when encapsulating to the same Egress Tunnel Router (ETR). The use of 16 bits nonces still allows an ITR to determine to and from reachability for up to 64k RLOCs at the same time. That seems to be missing the point of the nonce -- it's not just for unique identification but also to prevent off-path attackers from guessing a valid value and spoofing a bogus map-reply! Using the entire 64k of nonce space means that such a spoofing attack can succeed pretty reliably (e.g., by over-claiming so that the response EID-prefix contains whatever the request was for). I think it's important to accurately describe what properties are required of indivdiual nonces and the combined set of active nonces, which this text seems to mischaracterize. ---------------------------------------------------------------------- COMMENT: ---------------------------------------------------------------------- Section 1 LISP-GPE MAY also be used to extend the LISP Data-Plane header, that has allocated all by defining a Next Protocol "shim" header that nit: allocated all of what? Section 3 This is not exactly the responsibility of LISP-GPE merely because it allocates the last bit in this bitmap, but it seems like it would be quite useful to have a table of which combinations of values are valid vs. nonsensical, given the somewhat complicated interaction between some of these flag bits. Similarly, the encoding of the Source and Dest Map-Version fields, compared with [I-D.ietf-lisp-rfc6830bis], is reduced from 12 to 8 bits. This still allows to associate 256 different versions to each Endpoint Identifier to Routing Locator (EID-to-RLOC) mapping to inform commmunicating ITRs and ETRs about modifications of the mapping. Are we limited to 256 versions total, or is there some sort of larger version space that we truncate to send (a la a wraparound process)? I understand that map-versioning is primarily in a separate document but it seems important for this document to describe to what extent it is limiting functionality. Section 3.1 To ensure that protocols that are encapsulated in LISP-GPE will work well from a transport interaction perspective, the specification of a new encapsulated payload MUST contain an analysis of how LISP-GPE SHOULD deal with outer UDP Checksum, DSCP mapping, and Explicit Congestion Notification (ECN) bits whenever they apply to the new encapsulated payload. This MUST is duplicated in the next three paragraphs; I would suggest leaving this introduction as non-normative, with something like "needs to contain an analysis of how LISP-GPE will deal with [...]" Also, nit: "the outer UDP Checksum" Section 4 When encapsulating IP packets to a non LISP-GPE capable router the P-bit MUST be set to 0. [...] A LISP-GPE router MUST NOT encapsulate non-IP packets (that have the P-bit set to 1) to a non-LISP-GPE capable router. I'm failing to see how these two sentences are not redundant. Section 5.1 Just to be clear, the intent is that if there is some non-IETF protocol that we want to encapsulate, we write a two-page Standards-Track RFC that says "this GPE codepoint means to do what this non-IETF document says"? Section 6 However, the use of common anti-spoofing mechanisms such as uRPF prevents this form of attack. I think "mitigates" is probably better than "prevents" in this case. LISP-GPE, as many encapsulations that use optional extensions, is subject to on-path adversaries that by manipulating the g-Bit and the packet itself can remove part of the payload. Typical integrity protection mechanisms (such as IPsec) SHOULD be used in combination with LISP-GPE by those protocol extensions that want to protect from on-path attackers. The g-Bit is present in the Map-Reply message, which can in the general case be sent via triangle-routing, in which case the establishment and selection of IPsec security associations is somewhat nontrivial and probably does not quality as "typical", based on my limited experience. I think a more general scheme for providing integrity protection for mapping messages is needed as a mandatory mechanism, but that's a topic for the control-plane document so I will not belabor it here. _______________________________________________ lisp mailing list [email protected] https://www.ietf.org/mailman/listinfo/lisp
