Re: [tcpm] TCP-AO: Text for New_Key Process
Eric Rescorla <ekr@networkresonance.com> Tue, 03 February 2009 17:09 UTC
Return-Path: <tcpm-bounces@ietf.org>
X-Original-To: tcpm-archive@megatron.ietf.org
Delivered-To: ietfarch-tcpm-archive@core3.amsl.com
Received: from [127.0.0.1] (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 2355928C19D; Tue, 3 Feb 2009 09:09:26 -0800 (PST)
X-Original-To: tcpm@core3.amsl.com
Delivered-To: tcpm@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 045AF28C16A for <tcpm@core3.amsl.com>; Tue, 3 Feb 2009 09:09:25 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.566
X-Spam-Level:
X-Spam-Status: No, score=-2.566 tagged_above=-999 required=5 tests=[AWL=0.033, BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id JquCHw0BRwHb for <tcpm@core3.amsl.com>; Tue, 3 Feb 2009 09:09:24 -0800 (PST)
Received: from romeo.rtfm.com (romeo.rtfm.com [74.95.2.173]) by core3.amsl.com (Postfix) with ESMTP id 0204328C167 for <tcpm@ietf.org>; Tue, 3 Feb 2009 09:09:24 -0800 (PST)
Received: from romeo.rtfm.com (localhost.rtfm.com [127.0.0.1]) by romeo.rtfm.com (Postfix) with ESMTP id 9417450822; Tue, 3 Feb 2009 09:25:46 -0800 (PST)
Date: Tue, 03 Feb 2009 09:25:46 -0800
From: Eric Rescorla <ekr@networkresonance.com>
To: Joe Touch <touch@ISI.EDU>
In-Reply-To: <49887760.4030407@isi.edu>
References: <7.1.0.9.2.20081219010400.02bfd3d8@gmail.com> <496d9941.18038e0a.5558.ffffd3a6@mx.google.com> <497F7DDC.70309@isi.edu> <20090128162756.3799450822@romeo.rtfm.com> <B33C7F84-66B7-4F2C-9B04-2BC1716C7994@cisco.com> <498618DA.1070308@isi.edu> <20090202162602.D178450822@romeo.rtfm.com> <1233596612.498730c436efe@webmail.isi.edu> <20090203041052.83BCF50822@romeo.rtfm.com> <4987D110.7020804@isi.edu> <20090203152834.712B350822@romeo.rtfm.com> <4988722D.9070104@isi.edu> <20090203170910.69A7E50822@romeo.rtfm.com> <49887760.4030407@isi.edu>
User-Agent: Wanderlust/2.14.0 (Africa) Emacs/21.3 Mule/5.0 (SAKAKI)
MIME-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka")
Message-Id: <20090203172546.9417450822@romeo.rtfm.com>
Cc: tcpm@ietf.org, Allison Mankin <mankin@psg.com>, skonduru@juniper.net
Subject: Re: [tcpm] TCP-AO: Text for New_Key Process
X-BeenThere: tcpm@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: TCP Maintenance and Minor Extensions Working Group <tcpm.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/tcpm>, <mailto:tcpm-request@ietf.org?subject=unsubscribe>
List-Archive: <https://www.ietf.org/mailman/private/tcpm>
List-Post: <mailto:tcpm@ietf.org>
List-Help: <mailto:tcpm-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tcpm>, <mailto:tcpm-request@ietf.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: tcpm-bounces@ietf.org
Errors-To: tcpm-bounces@ietf.org
At Tue, 03 Feb 2009 08:57:04 -0800, Joe Touch wrote: > > Eric Rescorla wrote: > > At Tue, 03 Feb 2009 08:34:53 -0800, > >> OK, let's call the place where the connection info is stored the STORE. > >> > >> Then the steps still become: > >> > >> - - get the keyID from the packet > >> - - go to the STORE to find out how long the MAC is > >> - - pass the keyID and (optionstart + len - maclen) > >> > >> Still three steps, vs one: > >> > >> - - pass the keyID and (optionstart + 2) > >> > >> Note that the second way doesn't need to go to a separate table of > >> information to figure out how to finish parsing the packet. Regardless > >> of what you call it or where you put it, this takes multiple steps and > >> consulting the STORE before you can pass the required information to the > >> verification algorithm. > > > > Again, I wouldn't construct the system this way. > > > > Rather, you hang the information required to process each connection > > off the connection itself. This is how pretty much every SSL/TLS stack > > works. > > I don't think you're seeing the extra work; You're right, I'm not. > you're focusing too much on > the assumption that the STORE is in a single place. OK, so let's call > the place where the properties of a connection are in TCB++ (note that > the TSAD isn't the place you go for every packet; you can easily keep > connection info in the TCB++, and an implementation probably will, and > we already note that in the ID). > > So the steps are still: > > - - get the keyID from the packet > - - check the TCB++ to figure out where the MAC is > - - pass the keyID and (optionstart + len - maclen) to the algorithm > > The point is that you can't parse the option without extra info that is > stored elsewhere - i.e., not in the packet. Whether it's central or in > the TCB++ is not the point. And again, so what? You can't *verify* the option without having the key that corresponds to the key-id. The problem here is that you're assuming an odd encapsulation boundary, namely: > - - pass the keyID and (optionstart + len - maclen) to the algorithm But this is not how I would build things, because it's more helpful to have the key-id->MAC mapping in a common place rather, I would do this: 1. Get the key-id from the packet. 2. Look up the key-id in XXX to get the relevant algorithm info, namely: - algorithm - key - MAC length 3. Pass (key, <MAC input>) to the MAC function. 4. Compare the result to the MAC With this design, it's trivial to add a step 2(b): 2(b): strip off the extra key-ids. That said, I consider this discussion basically irrelevant: the right question is whether it's important for this protocol to offer some automatic mechanism for key switchover [and no, I don't think your mechanism qualifies because it requires some external intervention either from users or from some (nonexistent) key management system]. If the answer is yes, then we need to figure out what the best way to do that is [and as it happens, I'm not that enamored of this approach.] Certainly implementation complexity factors into what the best way to do it is, but given the scale of complexity we're talking about, I don't think it's a meaningful consideration for whether we should add this type of functionality at all. -Ekr _______________________________________________ tcpm mailing list tcpm@ietf.org https://www.ietf.org/mailman/listinfo/tcpm
- Re: [tcpm] TCP-AO: Text for New_Key Process Gregory M. Lebovitz
- Re: [tcpm] TCP-AO: Text for New_Key Process Alfred Hönes
- Re: [tcpm] TCP-AO: Text for New_Key Process Joe Touch
- Re: [tcpm] TCP-AO: Text for New_Key Process Lars Eggert
- Re: [tcpm] TCP-AO: Text for New_Key Process Eric Rescorla
- Re: [tcpm] TCP-AO: Text for New_Key Process Joe Touch
- Re: [tcpm] TCP-AO: Text for New_Key Process Eric Rescorla
- Re: [tcpm] TCP-AO: Text for New_Key Process Joe Touch
- Re: [tcpm] TCP-AO: Text for New_Key Process Joe Touch
- Re: [tcpm] TCP-AO: Text for New_Key Process Eric Rescorla
- Re: [tcpm] TCP-AO: Text for New_Key Process Joe Touch
- Re: [tcpm] TCP-AO: Text for New_Key Process Eric Rescorla
- Re: [tcpm] TCP-AO: Text for New_Key Process Joe Touch
- Re: [tcpm] TCP-AO: Text for New_Key Process Brian Weis
- Re: [tcpm] TCP-AO: Text for New_Key Process Joe Touch
- Re: [tcpm] TCP-AO: Text for New_Key Process Brian Weis
- Re: [tcpm] TCP-AO: Text for New_Key Process Eric Rescorla
- Re: [tcpm] TCP-AO: Text for New_Key Process Eddy, Wesley M. (GRC-RCN0)[VZ]
- Re: [tcpm] TCP-AO: Text for New_Key Process Joe Touch
- Re: [tcpm] TCP-AO: Text for New_Key Process Caitlin Bestler
- Re: [tcpm] TCP-AO: Text for New_Key Process Eric Rescorla
- Re: [tcpm] TCP-AO: Text for New_Key Process Eric Rescorla
- Re: [tcpm] TCP-AO: Text for New_Key Process touch
- Re: [tcpm] TCP-AO: Text for New_Key Process Ron Bonica
- Re: [tcpm] TCP-AO: Text for New_Key Process Eric Rescorla
- Re: [tcpm] TCP-AO: Text for New_Key Process Eric Rescorla
- Re: [tcpm] TCP-AO: Text for New_Key Process Joe Touch
- Re: [tcpm] TCP-AO: Text for New_Key Process Joe Touch
- Re: [tcpm] TCP-AO: Text for New_Key Process Eric Rescorla
- Re: [tcpm] TCP-AO: Text for New_Key Process Eric Rescorla
- Re: [tcpm] TCP-AO: Text for New_Key Process Joe Touch
- Re: [tcpm] TCP-AO: Text for New_Key Process Eric Rescorla
- Re: [tcpm] TCP-AO: Text for New_Key Process Joe Touch
- Re: [tcpm] TCP-AO: Text for New_Key Process Eric Rescorla