Re: [TLS] Verify data in the RI extension?

Eric Rescorla <ekr@networkresonance.com> Fri, 27 November 2009 15:21 UTC

Return-Path: <ekr@networkresonance.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 C05C73A689B for <tls@core3.amsl.com>; Fri, 27 Nov 2009 07:21:57 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.095
X-Spam-Level:
X-Spam-Status: No, score=0.095 tagged_above=-999 required=5 tests=[AWL=0.077, BAYES_00=-2.599, FH_HOST_EQ_D_D_D_D=0.765, FH_HOST_EQ_D_D_D_DB=0.888, HELO_MISMATCH_COM=0.553, HOST_MISMATCH_NET=0.311, RDNS_DYNAMIC=0.1]
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 eZgbuZH+jT1X for <tls@core3.amsl.com>; Fri, 27 Nov 2009 07:21:57 -0800 (PST)
Received: from kilo.networkresonance.com (74-95-2-169-SFBA.hfc.comcastbusiness.net [74.95.2.169]) by core3.amsl.com (Postfix) with ESMTP id 15D9F3A6836 for <tls@ietf.org>; Fri, 27 Nov 2009 07:21:57 -0800 (PST)
Received: from kilo.local (localhost [127.0.0.1]) by kilo.networkresonance.com (Postfix) with ESMTP id 1F1176C3796; Fri, 27 Nov 2009 07:22:35 -0800 (PST)
Date: Fri, 27 Nov 2009 07:22:35 -0800
From: Eric Rescorla <ekr@networkresonance.com>
To: Stefan Santesson <stefan@aaa-sec.com>
In-Reply-To: <C735A826.6BDA%stefan@aaa-sec.com>
References: <808FD6E27AD4884E94820BC333B2DB774F3113EEDC@NOK-EUMSG-01.mgdnok.nokia.com> <C735A826.6BDA%stefan@aaa-sec.com>
User-Agent: Wanderlust/2.15.5 (Almost Unreal) Emacs/22.3 Mule/5.0 (SAKAKI)
MIME-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka")
Content-Type: text/plain; charset="US-ASCII"
Message-Id: <20091127152236.1F1176C3796@kilo.networkresonance.com>
Cc: tls@ietf.org
Subject: Re: [TLS] Verify data in the RI extension?
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.9
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/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: Fri, 27 Nov 2009 15:21:57 -0000

At Fri, 27 Nov 2009 16:00:38 +0100,
Stefan Santesson wrote:
> Many members of this list argue that 2a has better security properties and
> is simpler to deploy (especially for legacy implementations).
> The arguments for 2b seems to be that it is "good enough" and "why should we
> care about old legacy implementations".

I don't think this characterizes my position particularly well:

- I don't think that having the data not carried in the message obviously
  has better security properties. There may be some version that clearly
  does, but I haven't seen it yet. My suspicion is that the "best" versions
  of each of these approaches have equivalent security, but as I said
  in a previous message, I'm concerned about the specific "implicit"
  versions I've seen proposed.
  
  [For the record: your argument about reducing information leakage
  is, AFAICT, incorrect. The verify_data in the Finished is carried
  over the same encrypted channel as the new handshake messages. Any
  attacker who can see the second can see the first.]


- I don't agree that it's simpler to deploy versions that don't carry the
  verify_data in an extension. It may require fewer lines of code
  (though honestly, the number of lines we're talking about here
  is so few, it hardly matters), but on the other hand, the lines
  of code are in core pieces of TLS, not in peripheral pieces.


- I'm not sure where you get the idea that carrying the verify_data
  in an extension somehow involves not caring about legacy implementations.
  Perhaps you and I have different views of what that would involve.
  As I observed earlier, TLS connections that use RI (and not the magic
  cipher suite) are fully compliant with all existing TLS RFCs.
  That seems pretty legacy-friendly to me.


In short, I don't think that signaling the previous verify_data in the 
extension is merely "good enough". I think it's better.

-Ekr