Re: [tcpm] Review of draft-ietf-tcpm-tcp-auth-opt-01

"Adam Langley" <agl@imperialviolet.org> Mon, 28 July 2008 18:06 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 D541C3A6AB6; Mon, 28 Jul 2008 11:06:28 -0700 (PDT)
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 DB0EE3A6A03 for <tcpm@core3.amsl.com>; Mon, 28 Jul 2008 11:06:27 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.977
X-Spam-Level:
X-Spam-Status: No, score=-1.977 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622]
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 TKfOBD7JoBRJ for <tcpm@core3.amsl.com>; Mon, 28 Jul 2008 11:06:27 -0700 (PDT)
Received: from yw-out-2324.google.com (yw-out-2324.google.com [74.125.46.31]) by core3.amsl.com (Postfix) with ESMTP id 95C7C3A6AB6 for <tcpm@ietf.org>; Mon, 28 Jul 2008 11:06:26 -0700 (PDT)
Received: by yw-out-2324.google.com with SMTP id 3so1408658ywj.49 for <tcpm@ietf.org>; Mon, 28 Jul 2008 11:06:36 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:sender :to:subject:cc:in-reply-to:mime-version:content-type :content-transfer-encoding:content-disposition:references :x-google-sender-auth; bh=he87tCJF5mOvyvIPwAXR52AU+0rwKGliywdx5qWn1qw=; b=lxFvdCZMxrAfQOxatnlmUhdmI9G5GnySCSPt4lMGFokOCd4YhBa7+B9Sl8r/4KF41E U+sSwikMWOF7h7ISZEqKgwqZaeMfm9lHNFgh6WqGSz2U9hN0RltBWkS/IdHXUjUfBFHT L7AoWtwi8qPBmXvQjwnJ979UT45Ms6+I6s7TA=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:sender:to:subject:cc:in-reply-to:mime-version :content-type:content-transfer-encoding:content-disposition :references:x-google-sender-auth; b=Tuju9j/DYu4uRbzfBCkv1nxNgtvzaW94c67c+wqNq8Nxwp9bxbTMu1w8mOSpcqkpAO ZUeZmxIQxzszg9ROvgXzPbSH8/Q5el5g1jTXEzmaYOO2jDjHte/oUUkH4RyuXYTMrX6c b1zqirACW4zZx1vVQI0B+BFX8lSQAlYK/CMpE=
Received: by 10.142.158.3 with SMTP id g3mr1687899wfe.344.1217268395376; Mon, 28 Jul 2008 11:06:35 -0700 (PDT)
Received: by 10.142.203.9 with HTTP; Mon, 28 Jul 2008 11:06:35 -0700 (PDT)
Message-ID: <396556a20807281106kfe6eb89sdb32d3836e508ea0@mail.gmail.com>
Date: Mon, 28 Jul 2008 11:06:35 -0700
From: Adam Langley <agl@imperialviolet.org>
To: Joe Touch <touch@isi.edu>
In-Reply-To: <488E0749.4020402@isi.edu>
MIME-Version: 1.0
Content-Disposition: inline
References: <20080728042451.C7A174B7AD3@kilo.rtfm.com> <488D6968.9010102@isi.edu> <20080728131254.3DD764B88F7@kilo.rtfm.com> <488DD77D.9070608@isi.edu> <20080728144721.AC9184B905A@kilo.rtfm.com> <488DE021.7070307@isi.edu> <396556a20807280931i257c6597o14cf45f8710611bf@mail.gmail.com> <20080728164235.8DD974B96B6@kilo.rtfm.com> <488E0749.4020402@isi.edu>
X-Google-Sender-Auth: 848333f27dca65dd
Cc: tcpm@ietf.org
Subject: Re: [tcpm] Review of draft-ietf-tcpm-tcp-auth-opt-01
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

Some points from the discussion:

Regarding NATs:

Your reasoning, as I understood it, for not including an option to
exclude the pseudoheader and port numbers for NAT traversal was that
the host needs these items to lookup the correct key anyway.

There are several situation where this is not the case. (I'll point
out that I see TCP-AO as being useful outside the domain of securing
BGP sessions between backbone routers)

1) A host installs a key on a listening socket with a wildcard
address. Thus, one can only connect to the socket if you know the key.
The key probably rotates based on time. This is currently, usually
done based on "port knocking" - which has always struck me as a messy
solution. The resulting, ESTABLISHED connection knows the port numbers
and IP addresses without having to establish it before hand.

2) An unauthenticated connection is established and the userland code
wishes to upgrade to TCP-AO. Again, since the connection is
established the keyset to use are implicit. I didn't know that the
NONE mac was designed for upgrading like this. In my Linux patches
there's a TCP_AUTH_LATCH option which means "accept unsigned packets
until the first signed packet, then require signatures".

In both of these cases, excluding port numbers and/or pesudoheaders is
needed given the deployment of NAT boxes which change these headers.



Keyids:

I agree that keeping the cryptography in the MAC is a good thing.
There is an implementation issue about the number of keys that a
kernel may have to store (80ish bytes per key * 256 keys * number of
configured hosts), but that's not a spec problem.


-- 
Adam Langley agl@imperialviolet.org http://www.imperialviolet.org
_______________________________________________
tcpm mailing list
tcpm@ietf.org
https://www.ietf.org/mailman/listinfo/tcpm