Re: [TLS] Data volume limits

Hubert Kario <hkario@redhat.com> Mon, 04 January 2016 12:19 UTC

Return-Path: <hkario@redhat.com>
X-Original-To: tls@ietfa.amsl.com
Delivered-To: tls@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 097EE1A8828 for <tls@ietfa.amsl.com>; Mon, 4 Jan 2016 04:19:48 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.911
X-Spam-Level:
X-Spam-Status: No, score=-6.911 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, SPF_HELO_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] 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 rcoYkIWzu98P for <tls@ietfa.amsl.com>; Mon, 4 Jan 2016 04:19:47 -0800 (PST)
Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 0BBF41A8827 for <tls@ietf.org>; Mon, 4 Jan 2016 04:19:47 -0800 (PST)
Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by mx1.redhat.com (Postfix) with ESMTPS id CF203C0467FF for <tls@ietf.org>; Mon, 4 Jan 2016 12:19:46 +0000 (UTC)
Received: from pintsize.usersys.redhat.com (dhcp-0-127.brq.redhat.com [10.34.0.127]) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u04CJjSe011873 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 4 Jan 2016 07:19:46 -0500
From: Hubert Kario <hkario@redhat.com>
To: Florian Weimer <fweimer@redhat.com>
Date: Mon, 04 Jan 2016 13:19:44 +0100
Message-ID: <1681538.bGQ4XbsTo4@pintsize.usersys.redhat.com>
User-Agent: KMail/4.14.10 (Linux/4.2.8-200.fc22.x86_64; KDE/4.14.14; x86_64; ; )
In-Reply-To: <568A5F71.9040002@redhat.com>
References: <r422Ps-10112i-A7598D6B042F444AA21AABEA3552ADF5@Williams-MacBook-Pro.local> <3389370.HsjF9M0k0s@pintsize.usersys.redhat.com> <568A5F71.9040002@redhat.com>
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="nextPart2992437.DLhpOxrDri"; micalg="pgp-sha512"; protocol="application/pgp-signature"
X-Scanned-By: MIMEDefang 2.68 on 10.5.11.23
Archived-At: <http://mailarchive.ietf.org/arch/msg/tls/O6ASxeURcMUPRx2tiTaYpdHR31w>
Cc: tls@ietf.org
Subject: Re: [TLS] Data volume limits
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "This is the mailing list for the Transport Layer Security working group of the IETF." <tls.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tls>, <mailto:tls-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tls/>
List-Post: <mailto:tls@ietf.org>
List-Help: <mailto:tls-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tls>, <mailto:tls-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 04 Jan 2016 12:19:48 -0000

On Monday 04 January 2016 13:02:57 Florian Weimer wrote:
> On 01/04/2016 12:59 PM, Hubert Kario wrote:
> > On Monday 28 December 2015 21:08:10 Florian Weimer wrote:
> >> On 12/21/2015 01:41 PM, Hubert Kario wrote:
> >>> if the rekey doesn't allow the application to change
> >>> authentication
> >>> tokens (as it now stands), then rekey is much more secure than
> >>> renegotiation was in TLS <= 1.2
> >> 
> >> You still have the added complexity that during rekey, you need to
> >> temporarily switch from mere sending or receiving to at least
> >> half-duplex interaction.
> > 
> > this situation already happens in initial handshake so the
> > implementation needs to support that
> 
> But after and the handshake and without real re-key, sending and
> receiving operations exactly match what the application requests.  If
> you need to switch directions against the application's wishes, you
> end up with an API like OpenJDK's SSLEngine (or a callback variant
> which is equivalent in complexity).

for renegotiation, yes

but for rekey it doesn't need any input from application so there is no 
need for any callbacks
 
> Dealing with this during the initial handshake is fine.  But
> supporting direction-switching after that is *really* difficult.

yes, this is a bit more problematic, especially for one-sided transfers. 
For example, when one side is just sending a multi-gigabyte transfer as 
a reply to a single command - there may be megabytes transferred before 
the other side reads our request for rekey and then our "CCS" message

I thought you just meant the need to keep two cipher contexts in memory 
at the same time (current and currently negotiated).
-- 
Regards,
Hubert Kario
Senior Quality Engineer, QE BaseOS Security team
Web: www.cz.redhat.com
Red Hat Czech s.r.o., Purkyňova 99/71, 612 45, Brno, Czech Republic