Re: [Tcpcrypt] New version of the charter text

Joe Touch <touch@isi.edu> Mon, 28 April 2014 15:21 UTC

Return-Path: <touch@isi.edu>
X-Original-To: tcpcrypt@ietfa.amsl.com
Delivered-To: tcpcrypt@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 876B51A04C5 for <tcpcrypt@ietfa.amsl.com>; Mon, 28 Apr 2014 08:21:42 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.851
X-Spam-Level:
X-Spam-Status: No, score=-4.851 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, RP_MATCHES_RCVD=-0.651] autolearn=ham
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 tCY3eNiD1Pny for <tcpcrypt@ietfa.amsl.com>; Mon, 28 Apr 2014 08:21:41 -0700 (PDT)
Received: from vapor.isi.edu (vapor.isi.edu [128.9.64.64]) by ietfa.amsl.com (Postfix) with ESMTP id 661E01A01DF for <tcpcrypt@ietf.org>; Mon, 28 Apr 2014 08:21:41 -0700 (PDT)
Received: from [192.168.1.93] (pool-71-105-87-112.lsanca.dsl-w.verizon.net [71.105.87.112]) (authenticated bits=0) by vapor.isi.edu (8.13.8/8.13.8) with ESMTP id s3SFL5Yw025554 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NOT); Mon, 28 Apr 2014 08:21:15 -0700 (PDT)
Message-ID: <535E71E8.6020001@isi.edu>
Date: Mon, 28 Apr 2014 08:21:12 -0700
From: Joe Touch <touch@isi.edu>
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.4.0
MIME-Version: 1.0
To: Tero Kivinen <kivinen@iki.fi>, John-Mark Gurney <jmg@funkthat.com>
References: <53576572.5030805@it.uc3m.es> <53589161.4090700@mti-systems.com> <20140424155532.GR43976@funkthat.com> <21342.18899.736731.804370@fireball.kivinen.iki.fi>
In-Reply-To: <21342.18899.736731.804370@fireball.kivinen.iki.fi>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
X-ISI-4-43-8-MailScanner: Found to be clean
X-MailScanner-From: touch@isi.edu
Archived-At: http://mailarchive.ietf.org/arch/msg/tcpcrypt/no7pXT3TwROHQJzyfhZZMw7QCI4
Cc: Wesley Eddy <wes@mti-systems.com>, tcpcrypt@ietf.org
Subject: Re: [Tcpcrypt] New version of the charter text
X-BeenThere: tcpcrypt@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "Discussion list for adding encryption to TCP." <tcpcrypt.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tcpcrypt>, <mailto:tcpcrypt-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/tcpcrypt/>
List-Post: <mailto:tcpcrypt@ietf.org>
List-Help: <mailto:tcpcrypt-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tcpcrypt>, <mailto:tcpcrypt-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 28 Apr 2014 15:21:42 -0000

On 4/28/2014 5:30 AM, Tero Kivinen wrote:
> John-Mark Gurney writes:
>> The goal is to make it very easy for everyone to deploy...  Configuring
>> IPSEC is a pain, and as Joe mentions, most implementations don't handle
>> key roll over properly (even though apparently, you're allowed to keep
>> both the old key and the new key around for the transition period to
>> handle this case)...
>
> Of course there can be buggy IPsec implementations which do not follow
> the rules set in the RFCs and which loose some packets when doing
> rekeying, but same applies to any protocol.
>
> The current IPsec specifications (IKEv2, RFC5996) do specify how rekey
> happens and it is specified so that no packets are lost: i.e. first
> create new Child SA proactively, i.e. before the old Child SA expires;
> then wait for traffic to move to this new SA (i.e. when you see
> packets on new Child SA, you know that other end has installed it);
> and only then remove old Child SA.

You can't ensure that no packets are lost that way. Once you transition 
to a new SA - even if you coordinate that handoff - there may be 
out-of-order packets that arrive after that coordination.

Those packets would be dropped, and presumably TCP would retransmit them 
using the new SA, but the receiver would still see a gap in received 
packets that might affect its congestion control.

TCP is the only one who can know when there is no outstanding gap after 
a key change, and thus when it can remove an old key without impact to 
its congestion control.

Joe