Re: [RTG-DIR] RtgDir review: draft-ietf-bfd-multipoint-active-tail-08.txt

Stig Venaas <> Mon, 18 June 2018 18:58 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 5A04F130E2E for <>; Mon, 18 Jun 2018 11:58:27 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.91
X-Spam-Status: No, score=-1.91 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, T_DKIMWL_WL_MED=-0.01] autolearn=unavailable autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (2048-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id 7Cck6kHuTj3w for <>; Mon, 18 Jun 2018 11:58:23 -0700 (PDT)
Received: from ( [IPv6:2a00:1450:400c:c09::22d]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 80B55130E29 for <>; Mon, 18 Jun 2018 11:58:23 -0700 (PDT)
Received: by with SMTP id v16-v6so15825273wmh.5 for <>; Mon, 18 Jun 2018 11:58:23 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=RU48bJtGoVx+VqYVU9yaE6iE6xe13oD9dWyMuyoMe+w=; b=ul9FN6Dz2XffHGGXo9PTFTywIPXJ95sNlPglwsWbSgPEdgL3PXZOV0EC6oNS0HOG4S trTLPblF3xOo/fDrVVwwGnmT5ML3uY/aNlK9VUqKfwLpKMpVnWF3v4Pl0M2bKkt8DHz5 lvr5CCgJrX3ynxnZDAOigLJ2svmIpUK7PxDCusBrpIJbMOakYdVAJVO/EGTnVLYQxjtO 61cw4OMjXAnt3WkjpazKR3yMbm7obCSvLu9AMOlSe1byORaSlMGBmbJHpuf2x3sDbayG GR5/jPY5njTqA56+MNIZolnV8Um33f20wzOgROJU0yUvEku7iCNlgOXiMfHw8ut2pXXX 5cZg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=RU48bJtGoVx+VqYVU9yaE6iE6xe13oD9dWyMuyoMe+w=; b=pam8kckeI6jOCq2FkM5DLT7DHWkpJzBOkBVvE3jI07OM4GkA+qFbZCg9wKdLe26Z64 5/x3GQkOdyowZWnvCoBrViDeVPm7sgG7z877enbO4Y1fGKipQ4G+mTw/0gIvJsqSVGcT GBiMGb9Ko3vL+JB43OH1GToqQw5sxpIoxkjXnIB5mv7q3tEU/Ay+cKCNZX9QJTfJGopd XD4ij8aFx7EAMS6gSK7QKIAveAu9N9jjbEudbPLu5LYoAIevHm5lt126mVPp5uUMdxIZ CPFF+vqFoxgiKbtjgMobGv26t1in68Js18JcF8nsq8Z08wXKXj/AkIAKPCotOO8ySqaI c4AA==
X-Gm-Message-State: APt69E2cOjwwjpB6D2Du7/BKfYJBhR11BvP99b6bSgrdHN99zhlUoIrO RJpR/3QkRp5ITWrm02eHRydBKzNcEGIIa0CCW1oPXA==
X-Google-Smtp-Source: ADUXVKIiVuECVvZkFDT5w9QsTKBU85SxXifZFpTohLz2YRIectoP8kIJStG/cVhu8gJj7WXKB2p3wCpBheADeniGlXQ=
X-Received: by 2002:a50:c211:: with SMTP id n17-v6mr12238143edf.11.1529348301933; Mon, 18 Jun 2018 11:58:21 -0700 (PDT)
MIME-Version: 1.0
Received: by 2002:a50:ec17:0:0:0:0:0 with HTTP; Mon, 18 Jun 2018 11:58:21 -0700 (PDT)
In-Reply-To: <>
References: <> <>
From: Stig Venaas <>
Date: Mon, 18 Jun 2018 11:58:21 -0700
Message-ID: <>
To: Greg Mirsky <>
Cc: "<>" <>,,,
Content-Type: text/plain; charset="UTF-8"
Archived-At: <>
Subject: Re: [RTG-DIR] RtgDir review: draft-ietf-bfd-multipoint-active-tail-08.txt
X-Mailman-Version: 2.1.26
Precedence: list
List-Id: Routing Area Directorate <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Mon, 18 Jun 2018 18:58:28 -0000


Please see comments inline.

On Sun, Jun 17, 2018 at 6:27 PM, Greg Mirsky <> wrote:
> Hi Stig,
> thank you for the review and the most detailed technical comments.
> Please find my answers and proposed updates in-line tagged GIM>>.
> Regards,
> Greg
> On Fri, Jun 15, 2018 at 2:16 PM, Stig Venaas <> wrote:
>> Hello,
>> I have been selected as the Routing Directorate reviewer for this
>> draft. The Routing Directorate seeks to review all routing or
>> routing-related drafts as they pass through IETF last call and IESG
>> review, and sometimes on special request. The purpose of the review is
>> to provide assistance to the Routing ADs. For more information about
>> the Routing Directorate, please see
>> Although these comments are primarily for the use of the Routing ADs,
>> it would be helpful if you could consider them along with any other
>> IETF Last Call comments that you receive, and strive to resolve them
>> through discussion or by updating the draft.
>> Document: draft-ietf-bfd-multipoint-active-tail-08.txt
>> Reviewer: Stig Venaas
>> Review Date: date 2018-06-15
>> IETF LC End Date: 2018-06-18
>> Intended Status: Standards Track
>> Summary:
>> I have some minor concerns about this document that I think should be
>> resolved before publication.
>> Comments:
>> The document is in a good shape and almost ready for publication. I
>> only have some minor issues and a couple of nits. The main one is
>> perhaps the security considerations.
>> Major Issues:
>> No major issues found.
>> Minor Issues:
>> I found 5.2.3 last paragraph a bit confusing:
>>    If the multipoint path and the reverse unicast path both stay up but
>>    the forward unicast path fails, neither side will notice so long as a
>>    unicast Poll Sequence is never sent by the head.  If the head sends a
>>    unicast Poll Sequence, the head will see the BFD session fail, but
>>    the state of the multipoint path will be unknown to the head.  The
>>    tail will continue to receive multipoint data traffic.
>> It says here that the state of the multipoint path is unknown, which is
>> true if it only does unicast polling. But the assumption is 5.2.3 is
>> that multipoint polling is also done. So it might be good to point out
>> that the state of the multipoint path will determined by the multipoint
>> pull.
> GIM>> Please consider the updated text below:
>    If the multipoint path and the reverse unicast path both stay up but
>    the forward unicast path fails, neither side will notice so long as a
>    unicast Poll Sequence is never sent by the head.  If the head sends a
>    unicast Poll Sequence, the head will see the BFD session fail, but
>    the state of the multipoint path will be unknown to the head.  The
>    tail will continue to receive multipoint data traffic.
>    If the multipoint path and the reverse unicast path both stay up but
>    the forward unicast path fails, neither side will notice this failure
>    so long as a unicast Poll Sequence is never sent by the head.  If the
>    head sends a unicast Poll Sequence, the head will detect the failure
>    in the forward unicast path.  The state of the multipoint path will
>    be determined by multipoint Poll.  The tail will continue to receive
>    multipoint data traffic.

This looks good.

>> The security considerations could need more details. Is there some way an
>> attacker can send forged multipoint polls getting clients to send a
>> large number of responses to the head?
> GIM>> In TSVART review of the Multipoint BFD draft Bob Briscoe brought up
> similar, as I think of it, question of sppofing attack on tails. This is the
> last mail of the discussion. Very much interested to hear your view on the
> three scenarios we've discussed: IP mcast tree, directly connected IP mcast,
> and MPLS p2mp and mp2mp LSPs. I think that for mp BFD with active tails even
> the second scenario is not realistic as there's little benefit, in my
> opinion, to run active tails in this environment.

I think spoofing is only an issue when you are on path. Generally with
multicast, there is an RPF check to check if packets are received on
the expected interface. Hence as long as an attacker is not on the
same LAN as the source, or connected to one of the links (LANs) the
shortest path tree (in some cases the shared tree) traverses, it
should be fine.

>> Also how hard would it be to use
>> any address for the head?
> GIM>> Demultiplexing BFD Control packets changed in mp BFD when comparing
> with RFC 5880 and it now uses not only value in Your Discriminator field
> but, as defined in Section 5.7 draft-ietf-bfd-multipoint:
>    IP and MPLS multipoint tails MUST demultiplex BFD packets based on a
>    combination of the source address, My Discriminator and the identity
>    of the multipoint path which the Multipoint BFD Control packet was
>    received from.  Together they uniquely identify the head of the
>    multipoint path.
> Thus the tail must be bootstrapped for the given mp BFD session with source
> address, head's My Discriminator value, and identity of the multipoint path.
>> Would clients only accept a certain address
>> for the head?
> GIM>> Yes, as I've noted above, the tail MUST demultiplex BFD Control
> packets using three value tuple that includes source address of the BFD
> control packet.
>> It should perhaps be emphasized that BFD authentication
>> mechanisms are important?
> GIM>>  Per Bob Briscoe suggestions, in Section 6 of
> draft-ietf-bfd-multipoint stated:
>    Shared keys in multipoint scenarios allow any tail to spoof the head
>    from the viewpoint of any other tail.  For this reason, using shared
>    keys to authenticate BFD Control packets in multipoint scenarios is a
>    significant security exposure unless all tails can be trusted not to
>    spoof the head.  Otherwise, asymmetric message authentication would
>    be needed, e.g., protocols that use Timed Efficient Stream Loss-
>    Tolerant Authentication (TESLA) as described in [RFC4082].

I agree there are issues with shared keys, but it might still be
better than no key.
Asymmetric authentication would be ideal.

>    If authentication is in use, the head and all tails may be configured
>    to have a common authentication key in order for the tails to
>    validate multipoint BFD Control packets.
>> It should be possible to restrict a client to
>> only respond to authenticated polls.
> GIM>> Currently BFD doesn't have standard procedure to authenticated some of
> the packets. BFD WG is working on draft-ietf-bfd-optimizing-authentication
> for p2p BFD sessions.
>> Also perhaps have some rate
>> limiting in clients in case the head polls at an unreasonably high rate?

I think it could be useful to have an option where tails only respond
to authenticated polls, and also some kind of rate limiting, but I
leave it to you and the IESG to consider that. I guess the security
considerations in the main multipoint draft will be expanded as well.
The main thing in this draft I would think, is that the tail responses
may open up some potential attack vectors.


>> Nits:
>> In the Introduction it says:
>>    This document effectively modifies and adds to Sections 5.12 and 5.13
>>    of the base BFD multipoint document [I-D.ietf-bfd-multipoint].
>> This should be 4.12 and 4.13, right?
> GIM>> Section enumeration changed in version -17. Section Protocol Details
> in draft-ietf-bfd-multipoint used to be #4 and now is #5.
>> 6.13.1 and 6.13.2
>> Refer to 5.13.x, but should be 4.13.x.
> GIM>> As above.
>> One of the authors is listed in the Acknowledgments section.
> GIM>> Will update the Acknowledgments section accordingly.
>> Regards,
>> Stig