Re: [TLS] Next Protocol Negotiation 03

Marsh Ray <marsh@extendedsubset.com> Wed, 25 April 2012 19:32 UTC

Return-Path: <marsh@extendedsubset.com>
X-Original-To: tls@ietfa.amsl.com
Delivered-To: tls@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D18B421F88FE for <tls@ietfa.amsl.com>; Wed, 25 Apr 2012 12:32:55 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.217
X-Spam-Level:
X-Spam-Status: No, score=-2.217 tagged_above=-999 required=5 tests=[AWL=0.382, BAYES_00=-2.599]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id mDQJ7Nqw38UK for <tls@ietfa.amsl.com>; Wed, 25 Apr 2012 12:32:55 -0700 (PDT)
Received: from mho-01-ewr.mailhop.org (mho-01-ewr.mailhop.org [204.13.248.71]) by ietfa.amsl.com (Postfix) with ESMTP id 47B0B21F88DF for <tls@ietf.org>; Wed, 25 Apr 2012 12:32:55 -0700 (PDT)
Received: from xs01.extendedsubset.com ([69.164.193.58]) by mho-01-ewr.mailhop.org with esmtpa (Exim 4.72) (envelope-from <marsh@extendedsubset.com>) id 1SN7xN-000CR0-2x; Wed, 25 Apr 2012 19:32:53 +0000
Received: from [172.16.2.4] (localhost [127.0.0.1]) by xs01.extendedsubset.com (Postfix) with ESMTP id B27BA6081; Wed, 25 Apr 2012 19:32:51 +0000 (UTC)
X-Mail-Handler: MailHop Outbound by DynDNS
X-Originating-IP: 69.164.193.58
X-Report-Abuse-To: abuse@dyndns.com (see http://www.dyndns.com/services/mailhop/outbound_abuse.html for abuse reporting information)
X-MHO-User: U2FsdGVkX19AO6ldfygyFOwzMUgP00vq8viBo9Yop2s=
Message-ID: <4F985162.7040405@extendedsubset.com>
Date: Wed, 25 Apr 2012 14:32:50 -0500
From: Marsh Ray <marsh@extendedsubset.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:11.0) Gecko/20120410 Thunderbird/11.0.1
MIME-Version: 1.0
To: Adam Langley <agl@chromium.org>
References: <CAL9PXLy31VzxLidgOy64MnDAyRE=HU=hxyBXW1rgB+Xnd0vKjA@mail.gmail.com> <4F981528.9010903@gnutls.org> <CAL9PXLzWNTxOjRnVPk67anfAkWizagcAsWRWJM3ShY6oWv9PjA@mail.gmail.com>
In-Reply-To: <CAL9PXLzWNTxOjRnVPk67anfAkWizagcAsWRWJM3ShY6oWv9PjA@mail.gmail.com>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
Cc: tls@ietf.org
Subject: Re: [TLS] Next Protocol Negotiation 03
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.12
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: Wed, 25 Apr 2012 19:32:55 -0000

On 04/25/2012 11:40 AM, Adam Langley wrote:
>
> The idea would be that the server doesn't advertise Tor, or any other
> possibly suspect protocol. Rather the client would simply select "tor"
> as the protocol.
>
> The fact that the server advertises is unfortunate, but necessary to
> avoid an extra round trip. I'd rather see NPN in the clear as a
> standard ClientHello/ServerHello negotiation then take an extra round
> trip.

I don't speak for the Tor project, but I don't think this design is 
going to meet anyone's requirements for serious censorship resistance.

Nevertheless, giving some privacy to the significant bits of the 
handshake in a way that is more latency-friendly than full renegotiation 
is very appealing. It seems likely to enable new and interesting 
applications, SPDY is just one good example.

Unfortunately, we must keep in mind that anything sent before receiving 
the other endpoint's Finished message is going to raise similar 
considerations as False Start. The security guarantees provided to this 
data are somewhat squishy, as they tend to depend on all sorts of 
not-yet-fully authenticated details of the in-progress negotiation. As 
we saw with ServerKeyExchange DHE_RSA/ECDH, even the future introduction 
of new key exchanges and cipher suites can change these properties.

In the case of something like NP(N), a MitM might utilize a downgrade 
attack which allows him to decrypt the client's NP record (possibly 
offline). This could break the handshake, but clients are so eager to 
retry the user might not even notice.

So maybe any facility for "privately" negotiating handshake extensions 
ought to be held to a clear standard lest we invite disaster, namely, it 
should provide the same security guarantees as are provided to 
application data.

- Marsh