RE: New BFD Authentication Optimization draft draft-mahesh-bfd-authentication-00

Ashesh Mishra <mishra.ashesh@outlook.com> Wed, 25 February 2015 16:24 UTC

Return-Path: <mishra.ashesh@outlook.com>
X-Original-To: rtg-bfd@ietfa.amsl.com
Delivered-To: rtg-bfd@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id DCA961A90E6 for <rtg-bfd@ietfa.amsl.com>; Wed, 25 Feb 2015 08:24:43 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.299
X-Spam-Level:
X-Spam-Status: No, score=-0.299 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FREEMAIL_FROM=0.001, FREEMAIL_REPLY=1, HTML_MESSAGE=0.001, J_CHICKENPOX_26=0.6, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id W-Mt4Frx767t for <rtg-bfd@ietfa.amsl.com>; Wed, 25 Feb 2015 08:24:41 -0800 (PST)
Received: from BAY004-OMC1S24.hotmail.com (bay004-omc1s24.hotmail.com [65.54.190.35]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 022811A90E2 for <rtg-bfd@ietf.org>; Wed, 25 Feb 2015 08:23:27 -0800 (PST)
Received: from BAY176-W10 ([65.54.190.59]) by BAY004-OMC1S24.hotmail.com over TLS secured channel with Microsoft SMTPSVC(7.5.7601.22751); Wed, 25 Feb 2015 08:23:26 -0800
X-TMN: [pQK2QjA0RQNvIIXFcjBp/zo8UBNmcsAX]
X-Originating-Email: [mishra.ashesh@outlook.com]
Message-ID: <BAY176-W109063DADB7FD282F8921BFA170@phx.gbl>
Content-Type: multipart/alternative; boundary="_c3125d7f-c3fc-47fa-9d18-786d43146d9f_"
From: Ashesh Mishra <mishra.ashesh@outlook.com>
To: Gregory Mirsky <gregory.mirsky@ericsson.com>, Manav Bhatia <manavbhatia@gmail.com>, "jhaas@pfrc.org" <jhaas@pfrc.org>
Subject: RE: New BFD Authentication Optimization draft draft-mahesh-bfd-authentication-00
Date: Wed, 25 Feb 2015 08:23:26 -0800
Importance: Normal
In-Reply-To: <7347100B5761DC41A166AC17F22DF1121B9136A6@eusaamb103.ericsson.se>
References: <BAY176-W28F0D2D92D57BFDD165555FA230@phx.gbl>, <20150224211328.GF25639@pfrc>, <CAG1kdoi79yg5+HW7KY76anp6QMvsgtWw8iHkvB=5zPRQN5xX_A@mail.gmail.com>, <7347100B5761DC41A166AC17F22DF1121B91363E@eusaamb103.ericsson.se>, <CAG1kdojdJfV_KO=TMPSDK6=4DRvR7JQgOnoOkcnvQ=76E0wwiA@mail.gmail.com>, <7347100B5761DC41A166AC17F22DF1121B9136A6@eusaamb103.ericsson.se>
MIME-Version: 1.0
X-OriginalArrivalTime: 25 Feb 2015 16:23:26.0714 (UTC) FILETIME=[622FC5A0:01D05117]
Archived-At: <http://mailarchive.ietf.org/arch/msg/rtg-bfd/wx6Z14qTBXgtQOWRB6BLk9xj1Go>
Cc: "rtg-bfd@ietf.org" <rtg-bfd@ietf.org>
X-BeenThere: rtg-bfd@ietf.org
X-Mailman-Version: 2.1.15
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: <http://www.ietf.org/mail-archive/web/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: Wed, 25 Feb 2015 16:24:44 -0000

Greg, Jeff, et. al,
There's three implementations to consider here: hardware-only, software-only, and software state-machine with HW assist for Tx/Rx. 
HARDWARE-ONLY:The proposed method may not be best suited to such implementations (or rather, will not be easily accepted by engineers working on hardware-only implementations). At least in the sense that there will need to be major changes to the state-machine in HW (I have known this to not excite devs working on the HW programming). Non-meticulous auth with full frame caching can work, but requires even more rework to the HW logic (while providing, more or less, the same security as the proposed method). 
SOFTWARE-ONLY: The best scenario for this proposal. Getting any decent BFD detection timeout with scale in a software implementation is challenging (I must have lost at least five of years of my lifespan in the 12 months that I spent worrying about BFD stability in software). Adding auth to the mix is just plain cruel to the developers. Fewer frames to authenticate will go a long way in convincing software BFD implementers to add auth support. 
SOFTWARE-STATE-MACHINE-WITH-HW-TX-RX-ASSIST:This one is also a good candidate for this proposal. Since the state machine is in SW, the authentication can be handled in software (auth frames in the proposal are not very time sensitive). The only change needed in HW is to punt the auth frames to the software engine. 


Since there's been a lot of discussion, here's the summary of the idea and proposed changes so far:- Authenticate all frames that are meant to trigger a change in BFD state (the first few DOWN frames to support RDI, all INIT frames, P-F sequence frames)- To detect man-in-the-middle attacks while the session state is UP, generate an auth UP frame once every X seconds (10 seconds?). This way, no MITM attack will go un-detected for longer than n*X seconds (n is the detect multiplier for auth-UP frames ... it may/may-not be same as the common BFD detect multiplier).
BR,Ashesh
From: gregory.mirsky@ericsson.com
To: manavbhatia@gmail.com
Subject: RE: New BFD Authentication Optimization draft draft-mahesh-bfd-authentication-00
Date: Wed, 25 Feb 2015 01:02:54 +0000
CC: rtg-bfd@ietf.org









Hi Manav, et. al,
I think that authors had not considered impact of the proposal on defined in RFC 6428 RDI functionality. Perhaps you’ll call support of the RDI “broken implementation”.
 But that’s OK.
 
                Regards,
                                Greg
 
From: Manav Bhatia [mailto:manavbhatia@gmail.com]


Sent: Tuesday, February 24, 2015 4:35 PM

To: Gregory Mirsky

Cc: Jeffrey Haas; rtg-bfd@ietf.org

Subject: Re: New BFD Authentication Optimization draft draft-mahesh-bfd-authentication-00
 

Hi Greg,

 


It requires no changes on the RX side. I concede that it does require some changes on the TX side.


 


If somebody tells me that this requires changes on the RX side as well, then that vendor's implementation is broken! :-)


 


Cheers, Manav



 

On Wed, Feb 25, 2015 at 6:02 AM, Gregory Mirsky <gregory.mirsky@ericsson.com> wrote:


Hi Manav,
what evidence authors have to state:
“What we have proposed here requires no change to the current hardware based implementations.”
Had you performed a poll? Would you kindly share the results?
 
                Regards,
                                Greg
 
From: Rtg-bfd [mailto:rtg-bfd-bounces@ietf.org]
On Behalf Of Manav Bhatia

Sent: Tuesday, February 24, 2015 3:05 PM

To: Jeffrey Haas

Cc: rtg-bfd@ietf.org

Subject: Re: New BFD Authentication Optimization draft draft-mahesh-bfd-authentication-00
 

Hi Jeff,



 


I am not sure how easy is it to do this for HW based implementations where you would be required to cache the last good packet heard from all sessions.


 


What we have proposed here requires no change to the current hardware based implementations.


 


Cheers, Manav







 

On Wed, Feb 25, 2015 at 2:43 AM, Jeffrey Haas <jhaas@pfrc.org> wrote:
On Fri, Feb 13, 2015 at 10:31:43AM -0800, Ashesh Mishra wrote:

> Hi BFD Experts,

> The 00 version of BFD Authentication Optimization draft is now online:

> 
https://datatracker.ietf.org/doc/draft-mahesh-bfd-authentication/

> The draft describes method for selectively authenticating certain BFD frames to avoid computational overhead.



I have perhaps a rather basic question which I'd been thinking on since it

was said this draft may be coming:



Is there any reason we couldn't simply use the non-meticulous versions of

the keyed authentication and rely on caching?



Essentially, in stable state BFD packets will be the same thing over and

over again.  As long as the sequence number isn't increased, knowing that a

given packet has passed authentication previously is sufficient if it's the

same packet.



Given how small BFD packets are, cache the entire packet?  Is the memory at

that level of preciousness in the hardware implementations?



Basically, in RFC 5880, section 6.8.6, at the procedural component that says

"MUST be authenticated", once this step has completed for this sequence

number and caching is determined to be okay, store the packet.  When the

sequence number is seen a second time and the authentication contents are

the same, simply compare the bytes of the packet to the cache.



I suspect I'm about to get a very strong reality check here. :-)



-- Jeff