Re: [TLS] simplistic renego protection

Martin Rex <mrex@sap.com> Mon, 16 November 2009 14:05 UTC

Return-Path: <mrex@sap.com>
X-Original-To: tls@core3.amsl.com
Delivered-To: tls@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 6D59A3A6953 for <tls@core3.amsl.com>; Mon, 16 Nov 2009 06:05:40 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.774
X-Spam-Level:
X-Spam-Status: No, score=-5.774 tagged_above=-999 required=5 tests=[AWL=0.475, BAYES_00=-2.599, HELO_EQ_DE=0.35, RCVD_IN_DNSWL_MED=-4]
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 oiEQu2rpHelY for <tls@core3.amsl.com>; Mon, 16 Nov 2009 06:05:39 -0800 (PST)
Received: from smtpde01.sap-ag.de (smtpde01.sap-ag.de [155.56.68.171]) by core3.amsl.com (Postfix) with ESMTP id 485653A68B9 for <tls@ietf.org>; Mon, 16 Nov 2009 06:05:39 -0800 (PST)
Received: from mail.sap.corp by smtpde01.sap-ag.de (26) with ESMTP id nAGE5Yfi011420 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 16 Nov 2009 15:05:34 +0100 (MET)
From: Martin Rex <mrex@sap.com>
Message-Id: <200911161405.nAGE5Vql002016@fs4113.wdf.sap.corp>
To: ekr@networkresonance.com
Date: Mon, 16 Nov 2009 15:05:31 +0100
In-Reply-To: <20091116113424.ED8DA69F8DC@kilo.networkresonance.com> from "Eric Rescorla" at Nov 16, 9 01:34:24 pm
MIME-Version: 1.0
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 8bit
X-Scanner: Virus Scanner virwal05
X-SAP: out
Cc: tls@ietf.org
Subject: Re: [TLS] simplistic renego protection
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
Reply-To: mrex@sap.com
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/listinfo/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: Mon, 16 Nov 2009 14:05:40 -0000

Eric Rescorla wrote:
> 
> Martin Rex wrote:
> > 
> > Requiring people to implement generic TLS extensions, something
> > that was completely undefined even for TLSv1.0 and is still optional
> > in TLSv1.2, 
> 
> Not that it matters, but his is incorrect. TLS 1.2 requires extension
> processing. See S 7.4.1 of RFC 5246:
> 
>    Servers MUST NOT send this extension.  TLS servers MUST support
>    receiving this extension.

You're refering to the signature algorithms extensions, which
clients MUST NOT send if they're offering to talk TLSv1.1?
OK, I wasn't aware of that.  Count the servers on the Internet
that support TLSv1.2 today with your left hand and substract
them for the rest of the servers out there.

Do you realize how much implementation and testing is involved when
shipping the fix as a TLS extension.

If someone with an old server, who doesn't implement renegotiation and
TLS extensions wants to add this patch, he will need to add the entire
TLS extensions handling in a generic fashion and require a significantly
larger interop testing scenario to make sure that it acutally works:

1.  client without Extensions
2.  client with 1 Extension   no RI

3.  client with 1 Extension   RI
4a. client with 2 Extensions  RI as first
4b. client with 2 Extensions  RI as 2nd
5a. client with 3 Extensions  RI as first
5b. client with 3 Extensions  RI as 2nd
5c. client with 3 Extensions  RI as 3rd

So that means that poor server maintainer will also have to build
a client with all that stuff in order to test whether the server
implementation is correct.


Compare this to the extension less approach:

1.  client without patch
2.  client with    patch

and all he needs to check is whether the signaling works.


> 
> > Think about the lines of code for a client:
> 
> I don't agree with your analysis of code complexity, but even if
> you were correct the implementation effort is in any case so
> minimal compared to the size of the deployment problem
> that it strikes me as largely irrelevant. Moreover, we already
> have implementations of RI, so the marginal implementation
> effort is even lower compared to doing something new.

You're going to waste network bandwith eternally in a completely
useless fashion.


So you want the IETF to rubber-stamp an obviously inferior approach
because you prefered to come up with a solution in secret?


-Martin