A brief note on "meticulous" that may be helpful as we bring these documents
into harmony.

On Mon, Apr 07, 2025 at 01:36:13PM -0400, Alan DeKok wrote:
>   Thanks.  I will address these comments, and the updated text will be 
> available in the next revision of the document.
> 
> > On Apr 6, 2025, at 8:04 AM, Yingzhen Qu via Datatracker <nore...@ietf.org> 
> > wrote:
> > 
> > Document: draft-ietf-bfd-secure-sequence-numbers
> > Title: Meticulous Keyed ISAAC for BFD Authentication
> > Reviewer: Yingzhen Qu
> > Review result: Has Issues
> > 
> > I'm assigned to do an early OPS DIR review of this document.
> > 
> > Thanks to the authors for working on this document. However I think
> > the following major issues should be addressed before progressing the
> > document.
> > 
> > Major:
> > 
> > My understanding is that this document introduces a new authentication 
> > type for BFD, and it's called Meticulous Keyed ISAAC. However I don't
> > see where this term is defined.
> > The following text is from the Introduction:
> > 102   This document proposes the use of an Authentication method which
> > 103   provides meticulous keying, but which has less impact on resource
> > 104   constrained systems.  
> > 
> > "Meticulous Keyed" is a name given by the authors. Please explicitly
> > define it in the document, and add reference to RFC5880.

Discussion on the optimized authentication draft lead to the realization
that we didn't have a similar section present in RFC 5880 covering packet
reception authentication procedures.  We're attempting to resolve that here:

https://github.com/bfd-wg/optimized-auth/pull/61

Part of that deals with "what is meticulous".

Section 9 (Security Considerations) in RFC 5880 help define:
:    Meticulous Keyed MD5 authentication is stronger yet, as it requires
:    the sequence number to be incremented for every packet.  Replay
:    attack vulnerability is reduced due to the requirement that the
:    sequence number must be incremented on every packet, the window size
:    of acceptable packets is small, and the initial sequence number is
:    randomized.  There is still a window of attack at the beginning of
:    the session while the sequence number is being determined.  This
:    authentication scheme requires an MD5 calculation on every packet
:    transmitted and received.

For MD5 mode (similar procedure applies to SHA-1 in a different section),
RFC 5880 section 6.7.3 covers:

:  For Meticulous
:  Keyed MD5, the sequence number is incremented on every packet.
[...]

:     For Meticulous Keyed MD5, bfd.XmitAuthSeq MUST be incremented in a
:     circular fashion (when treated as an unsigned 32-bit value).

And the authentication procedure in particular locks down the primary
difference:

:       If bfd.AuthSeqKnown is 1, examine the Sequence Number field.  For
:       Keyed MD5, if the sequence number lies outside of the range of
:       bfd.RcvAuthSeq to bfd.RcvAuthSeq+(3*Detect Mult) inclusive (when
:       treated as an unsigned 32-bit circular number space), the received
:       packet MUST be discarded.  For Meticulous Keyed MD5, if the
:       sequence number lies outside of the range of bfd.RcvAuthSeq+1 to
:       bfd.RcvAuthSeq+(3*Detect Mult) inclusive (when treated as an
:       unsigned 32-bit circular number space) the received packet MUST be
:       discarded.

Thus, receipt for Meticulous Keying requires us to receive something in the
range of the *next* sequence number.  A repeat of the last accepted received
sequence number is not sufficient.


-- Jeff

Reply via email to