Re: draft-ietf-bfd-optimizing-authentication-13 nits

Jeffrey Haas <jhaas@pfrc.org> Mon, 22 January 2024 14:20 UTC

Return-Path: <jhaas@pfrc.org>
X-Original-To: rtg-bfd@ietfa.amsl.com
Delivered-To: rtg-bfd@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 1E3DAC14CF12 for <rtg-bfd@ietfa.amsl.com>; Mon, 22 Jan 2024 06:20:53 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.907
X-Spam-Level:
X-Spam-Status: No, score=-6.907 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
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 pvzGDA_frq6B for <rtg-bfd@ietfa.amsl.com>; Mon, 22 Jan 2024 06:20:49 -0800 (PST)
Received: from slice.pfrc.org (slice.pfrc.org [67.207.130.108]) by ietfa.amsl.com (Postfix) with ESMTP id 37871C14CF15 for <rtg-bfd@ietf.org>; Mon, 22 Jan 2024 06:20:49 -0800 (PST)
Received: from smtpclient.apple (172-125-100-52.lightspeed.livnmi.sbcglobal.net [172.125.100.52]) by slice.pfrc.org (Postfix) with ESMTPSA id A7FC51E039; Mon, 22 Jan 2024 09:20:48 -0500 (EST)
Content-Type: multipart/alternative; boundary="Apple-Mail=_3EDDF6CF-2451-4751-A55F-584988F9C099"
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.120.41.1.4\))
Subject: Re: draft-ietf-bfd-optimizing-authentication-13 nits
From: Jeffrey Haas <jhaas@pfrc.org>
In-Reply-To: <DD272B19-3789-48E6-AC6D-84A24C1179A0@deployingradius.com>
Date: Mon, 22 Jan 2024 09:20:48 -0500
Cc: Mahesh Jethanandani <mjethanandani@gmail.com>, "rtg-bfd@ietf. org" <rtg-bfd@ietf.org>, Ashesh Mishra <mishra.ashesh@gmail.com>
Message-Id: <129F4853-D1D6-4A17-B94F-2CD588D77997@pfrc.org>
References: <B49A64C7-731F-4729-9D99-AC6C133983C8@deployingradius.com> <F9A30ECC-28E1-4272-A23F-191310424E0F@pfrc.org> <A9091D9D-1F6F-4AB7-BAD6-04229B0F3EFF@deployingradius.com> <5EE1006F-0CA6-4D63-9E8A-B7CDB2B7B124@pfrc.org> <DD272B19-3789-48E6-AC6D-84A24C1179A0@deployingradius.com>
To: Alan DeKok <aland@deployingradius.com>
X-Mailer: Apple Mail (2.3696.120.41.1.4)
Archived-At: <https://mailarchive.ietf.org/arch/msg/rtg-bfd/nmqH3gMgbA8dhW7kka7IaxNz4SE>
X-BeenThere: rtg-bfd@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: "RTG Area: Bidirectional Forwarding Detection DT" <rtg-bfd.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtg-bfd>, <mailto:rtg-bfd-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/rtg-bfd/>
List-Post: <mailto:rtg-bfd@ietf.org>
List-Help: <mailto:rtg-bfd-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtg-bfd>, <mailto:rtg-bfd-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 22 Jan 2024 14:20:53 -0000


> On Jan 21, 2024, at 8:23 PM, Alan DeKok <aland@deployingradius.com> wrote:
> 
>  (removing optimizing authentication)
> 
>> On Jan 21, 2024, at 3:37 PM, Jeffrey Haas <jhaas@pfrc.org> wrote:
>> I'd not pushed for those details to be spelled out because the only legitimate way an implementation can accomplish this is, as above, through a poll sequence.
> 
>  Ah, I had forgotten that.  I've been working on the ISAAC bits, and was studiously ignoring the rest of the BFD state machine.

I've sent out a correction on this detail to the bfd mail list.  But fundamentally, it's not a requirement that we restate the procedures, just nod they they're already covered.


> 
>>> Doing that would address pretty much all of the issues related to not authenticating the packet.  Either a received packet is byte-for-byte identical to what we expect (plus ISAAC key), or it's not, and we drop it.
>> 
>> ... is perhaps a late understanding for you as the expert in ISAAC rather than BFD, we certainly can spell it out in a sentence or two in the secure sequence numbers document
> 
>  Perhaps not quite too late.  I can add some text to the document before another rev is sent out.
> 
>  The text should say that none of the fields in the header normally change.  [RFC5880] Section 6.8.3 says:
> 
>   If either bfd.DesiredMinTxInterval is changed or
>   bfd.RequiredMinRxInterval is changed, a Poll Sequence MUST be
>   initiated
> 
>  There's no similar text for "Required Min Echo RX Interval" changes, but that's fine.

I think the relevant bit of RFC 5880 is:
https://datatracker.ietf.org/doc/html/rfc5880#autoid-31 <https://datatracker.ietf.org/doc/html/rfc5880#autoid-31>

      If the A bit is set, the packet MUST be authenticated under the
      rules of section 6.7 <https://datatracker.ietf.org/doc/html/rfc5880#section-6.7>, based on the authentication type in use
      (bfd.AuthType).  This may cause the packet to be discarded.

Basically, if you have authentication configured, and you're expecting it to be used, someone doesn't blindly get to send you something else and knock your session over.

Thus it's feasible for ISAAC mode to cause parameters changes, even if that's not necessarily what we want.  Clarifying that we don't want that is in the purview of the optimizing draft basically saying "since the methods used for altering BFD session parameters might not be authenticated, stronger authentication MUST be used" and then otherwise refer back to the motivations for the draft.


> 
> The ISAAC document also could to be updated to state that a stronger authentication method is used for every Poll Sequence, too.  Because that signifies a change of session state (management information), even if the bfd.SessionState variable remains in "Up".

I think this is mostly making sure the optimizing authentication authors review their procedural text vs. these details and then we make sure the ISAAC document is in harmony with it.



> 
>  For me, that's the main reason to switch to a stronger Auth Type.
> 
>  The ISAAC document can then say that the BFD packets can at least be verified to be unchanged if:
> 
> * the packet information is cached during an Auth Type which verifies the packet contents
> 
> * the same packet header (modulo Sequence Number) is seen for all packets using ISAAC
> 
>  I'll try to work up some text tomorrow.

Note that the text we had last reviewed on your branch had reached broader consensus.  I'd suggest that text get merged and these details be worked out separately.

-- Jeff

> 
>  Alan DeKok.