Re: [TLS] Proposed text for removing renegotiation

Nikos Mavrogiannopoulos <nmav@redhat.com> Fri, 20 June 2014 07:32 UTC

Return-Path: <nmav@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 545D01A00CF for <tls@ietfa.amsl.com>; Fri, 20 Jun 2014 00:32:16 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.553
X-Spam-Level:
X-Spam-Status: No, score=-7.553 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, RP_MATCHES_RCVD=-0.651, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] 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 4y30e8M_-cAp for <tls@ietfa.amsl.com>; Fri, 20 Jun 2014 00:32:14 -0700 (PDT)
Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B472A1A0065 for <tls@ietf.org>; Fri, 20 Jun 2014 00:32:14 -0700 (PDT)
Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s5K7WB6O007003 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 20 Jun 2014 03:32:11 -0400
Received: from [10.34.2.127] (dhcp-2-127.brq.redhat.com [10.34.2.127]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s5K7W8gd016067 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=NO); Fri, 20 Jun 2014 03:32:09 -0400
Message-ID: <1403249527.30440.11.camel@dhcp-2-127.brq.redhat.com>
From: Nikos Mavrogiannopoulos <nmav@redhat.com>
To: Martin Thomson <martin.thomson@gmail.com>
Date: Fri, 20 Jun 2014 09:32:07 +0200
In-Reply-To: <CABkgnnVuTauFLeto3KebbMDFysjpd7rg_dHrTQVZBeS8BktmoA@mail.gmail.com>
References: <CAFewVt65X1V6=A_HP_pcg=6nXNVFLxQmSsPB2rq1KvmGPRz+og@mail.gmail.com> <20140606223045.3B5AF1AD46@ld9781.wdf.sap.corp> <CACsn0cmcc6kXvOuqkZaDj7+QPdpY9qqQ58bs3s-JBGXdNJSZyw@mail.gmail.com> <CABcZeBPe45BM-uXd7DEBD_BBn=jhk8KkYB=facp+NMb2e4nBiw@mail.gmail.com> <1402299260.2427.2.camel@dhcp-2-127.brq.redhat.com> <CABkgnnX5+fXNDy1o7Pu60rp8vSx7XfKbt337e_q=+3fb8fXHJw@mail.gmail.com> <1402388399.2369.5.camel@dhcp-2-127.brq.redhat.com> <CACsn0cm5OzzjOh5nSXcu-cx+ZYFeJiJ5eGvgwjsWPUeX4ozz2g@mail.gmail.com> <1402476304.2305.8.camel@dhcp-2-127.brq.redhat.com> <CACsn0cmM4KpMgwXo0iTygsQ+En6N3J46jPY-Q3hfwzqG431M1w@mail.gmail.com> <1402648977.6191.36.camel@dhcp-2-127.brq.redhat.com> <CACsn0ck6OxPm8BwuNeAn+wpayaefkAzZtiyjkaQ1sB_4hp0C_Q@mail.gmail.com> <1402990596.2335.18.camel@dhcp-2-127.brq.redhat.com> <53A0AB7E.4050706@fifthhorseman.net> <1403173608.5825.6.camel@dhcp-2-127.brq.redhat.com> <CABkgnnVuTauFLeto3KebbMDFysjpd7rg_dHrTQVZBeS8BktmoA@mail.gmail.com>
Content-Type: text/plain; charset="UTF-8"
Mime-Version: 1.0
Content-Transfer-Encoding: 7bit
X-Scanned-By: MIMEDefang 2.68 on 10.5.11.22
Archived-At: http://mailarchive.ietf.org/arch/msg/tls/lgYhMQ-PDhxDBZPEQs2PLF0nfEs
Cc: "tls@ietf.org" <tls@ietf.org>
Subject: Re: [TLS] Proposed text for removing renegotiation
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: <http://www.ietf.org/mail-archive/web/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: Fri, 20 Jun 2014 07:32:16 -0000

On Thu, 2014-06-19 at 08:28 -0700, Martin Thomson wrote:
> On 19 June 2014 03:26, Nikos Mavrogiannopoulos <nmav@redhat.com> wrote:
> > My counter-proposal would be:
> > 1. Removing the Note "If a rehandshake occurs while data is flowing on a
> > connection, the communicating parties may continue to send data using
> > the old CipherSpec."
> >
> > 2. Adding the text: "During the handshake process implementations SHALL
> > NOT allow application protocol data exchange. Implementations SHALL
> > terminate the session if application protocol data is received." (in
> > DTLS that data may arrive due to network errors so they should be
> > quietly discarded.
> >
> > 3. Adding the text "Since the authentication credentials may change
> > during a renegotiation the upper layers must be notified of either the
> > new negotiation process or any identity change."
> >
> > That would make renegotiation a strictly inband process, and
> > applications would be able to distinguish traffic before and after a new
> > negotiation.
> 
> That sounds strictly worse than what we have today.
> 
> Points 1&2 render the connection unusable, something that many
> applications can't have.

Could you elaborate on the applications that will be affected by such
change? I've never seen any such applications, and in fact for the 99%
of the renegotiation uses (e.g., the web) the renegotiation operation
would be identical before and after my proposed change. The only
applications that could potentially interleave TLS application and
handshake data are TLS-based VPNs, and there aren't any that do that
(and they could if they are required to, that's why there is a SHALL NOT
there instead of must).

The other advantage is the symmetricity of TLS handshake and
re-handshake. By allowing application data during the re-handshake one
opens the door for allowing application data during the handshake, if an
implementer doesn't distinguish the two perfectly symmetric options.

>   In many respects - other than TCP congestion
> window warmup perhaps - this is equivalent to Brian's proposal to
> remove renegotiation and replace it with nothing, forcing people to
> make new connections.

I disagree with this evaluation, as there is no data to back that up.

regards,
Nikos