Re: [TLS] Forged RST

Stephen Farrell <stephen.farrell@cs.tcd.ie> Thu, 17 April 2014 14:36 UTC

Return-Path: <stephen.farrell@cs.tcd.ie>
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 E7D131A011E for <tls@ietfa.amsl.com>; Thu, 17 Apr 2014 07:36:38 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.172
X-Spam-Level:
X-Spam-Status: No, score=-2.172 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RP_MATCHES_RCVD=-0.272] 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 6ywXnCmzno8K for <tls@ietfa.amsl.com>; Thu, 17 Apr 2014 07:36:31 -0700 (PDT)
Received: from mercury.scss.tcd.ie (mercury.scss.tcd.ie [134.226.56.6]) by ietfa.amsl.com (Postfix) with ESMTP id BE9881A016E for <tls@ietf.org>; Thu, 17 Apr 2014 07:36:26 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by mercury.scss.tcd.ie (Postfix) with ESMTP id 0BDF5BEB1; Thu, 17 Apr 2014 15:36:22 +0100 (IST)
Received: from mercury.scss.tcd.ie ([127.0.0.1]) by localhost (mercury.scss.tcd.ie [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id c5xDDvRJClfT; Thu, 17 Apr 2014 15:36:21 +0100 (IST)
Received: from [134.226.36.180] (stephen-think.dsg.cs.tcd.ie [134.226.36.180]) by mercury.scss.tcd.ie (Postfix) with ESMTPSA id D0186BEB0; Thu, 17 Apr 2014 15:36:21 +0100 (IST)
Message-ID: <534FE6E5.4000509@cs.tcd.ie>
Date: Thu, 17 Apr 2014 15:36:21 +0100
From: Stephen Farrell <stephen.farrell@cs.tcd.ie>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.4.0
MIME-Version: 1.0
To: Erik Nygren <erik@nygren.org>, Yoav Nir <ynir.ietf@gmail.com>
References: <2A0EFB9C05D0164E98F19BB0AF3708C7120A04ED40@USMBX1.msg.corp.akamai.com> <534C3D5A.3020406@fifthhorseman.net> <474FAE5F-DE7D-4140-931E-409325168487@akamai.com> <D2CB0B72-A548-414C-A926-A9AA45B962DA@gmail.com> <2A0EFB9C05D0164E98F19BB0AF3708C7120B490162@USMBX1.msg.corp.akamai.com> <CACsn0cmusUc3Rsb2Wof+dn0PEg3P0bPC3ZdJ75b9kkZ5LDGu_A@mail.gmail.com> <534DB18A.4060408@mit.edu> <m2ppkhl08c.fsf@usma1mc-0csx92.kendall.corp.akamai.com> <CAFggDF13=bKS3_kRz_uh-6y71TQ9O4v1e3+xs3fiM4YZwjAULA@mail.gmail.com> <CALCETrU-w=yon9TVzbvGSbznEgThxzUkzy4Yeu+CBfSp7Zk2hw@mail.gmail.com> <CAFggDF3i1ku++GWMp=03aL3ogpHO_Fg9qJ3daZuLN4SH5Fcj8g@mail.gmail.com> <534F0A33.9070408@akr.io> <822C36AB-27AC-4844-8C83-449064FC345C@gmail.com> <CAKC-DJjWKqQ0A7qkt1vYUexGCzntBeKOy+6Uh51--UW194JC0w@mail.gmail.com>
In-Reply-To: <CAKC-DJjWKqQ0A7qkt1vYUexGCzntBeKOy+6Uh51--UW194JC0w@mail.gmail.com>
X-Enigmail-Version: 1.6
Content-Type: text/plain; charset="windows-1252"
Content-Transfer-Encoding: 8bit
Archived-At: http://mailarchive.ietf.org/arch/msg/tls/vHZsT5JqXPV0mPEUIlejZYlU_k4
Cc: tls@ietf.org
Subject: Re: [TLS] Forged RST
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: Thu, 17 Apr 2014 14:36:39 -0000

Hiya,

On 04/17/2014 01:58 PM, Erik Nygren wrote:
> Some of this ties directly into the tcpcrypt discussions.  

Yes, noting though that the TCP encryption/tcpcrypt work
is at a far earlier stage than TLS. (Its good stuff though,
or will be, I hope.)

> It may be worth
> having a discussion somewhere in the IETF on which protections belong in

I'd quibble with "belong" there. I think to some extent our
(the IETF, not the TLS WG) job is to define protocols that get
implemented so that whoever is deploying can turn on the
security they want. Its a big old Internet out there after all,
and I'm not sure our best guess at which-layer-does-what-best
is likely to be right for all time for all places.

> which layers and how we make sure they can compose safely.  

That part I definitely do agree with. And with having a more
general discussion, which I'd hope will feed into our nascent
plans to add to BCP 72 in a while.

This is not the right list for that discussion of course, but
if you (or someone) wanted to write a draft and get a discussion
going on saag that would be good. (I suspect that might be
more useful when the TLS and tcpcrypt discussions are a little
further along though, maybe in/after the summer.)

Cheers,
S.

> It may be that
> protecting the handshake from passive attacks also belongs in the tcp
> layer.  See my previous post on this topic:
>            http://www.ietf.org/mail-archive/web/tls/current/msg11693.html
> 
>       Erik
> On Apr 17, 2014 4:27 AM, "Yoav Nir" <ynir.ietf@gmail.com> wrote:
> 
>>
>> On Apr 17, 2014, at 1:54 AM, Alyssa Rowan <akr@akr.io> wrote:
>>
>>> -----BEGIN PGP SIGNED MESSAGE-----
>>> Hash: SHA512
>>>
>>> On 16/04/2014 21:34, Jacob Appelbaum wrote:
>>>
>>>> […] and that often results in say, a forged TCP RST packet.
>>>
>>> Which, incidentally, we should consider something to address,
>>> especially if we do indeed have a bakeoff of some form for a fancier
>>> TLSv2.0.
>>>
>>> NSA calls this technique QUANTUMSKY (one of their less catchy cover
>>> names) but it's been around for aeons (most famously in the Chinese
>>> 'Golden Shield'): any man-on-the-side can simply RST your TCP
>>> connections if they don't like the way they smell, and this is (by
>>> far) the cheapest and easiest way for a nation state adversary (or
>>> malicious coffee shop WiFi) to selectively disrupt, or censor,
>>> communications.
>>>
>>> Could we plug that hole in a future version of TLS?
>>
>> We’re at the wrong layer to fix an attack against TCP.  The right place to
>> protect TCP is either in TCP itself, or by using IPsec.
>>
>>> The obvious way involves UDP, and baking transport control (and
>>> multiplexing?) inside that layer, within the encryption. In fact it's
>>> so obvious, everyone likes to cook up their own recipe: lots of people
>>> have done something in that general area already in different ways,
>>> and discovered interesting things about it (Google's QUIC being one
>>> notable recent foray into the field).
>>
>> Those who won’t use TCP are doomed to re-create it. To get a UDP-based
>> protocol to replace TCP for the web you’d need all of reliable delivery
>> through (selective?) retransmissions, bandwidth detection, replay
>> protection, a whole lot of things that took the transport community years
>> to get right. Yes, there have been many attempts, but there’s a reason TCP
>> is still the protocol everyone uses for pretty much any type of bulk
>> transfer. And this is before we even begin to talk about middleboxes
>> dropping unrecognized UDP services.
>>
>>> UDP is also notably better for
>>> connections through NAT and suchlike. (I've even done my own
>>> experiments in that general direction, although delicious and moist as
>>> they seem to be, they're simply experiments and I'm not yet ready to
>>> serve them to guests, let alone strangers!)
>>
>> UDP is connectionless. As such, NAT devices don’t know when it’s done. So
>> NAT mappings need to linger a lot longer after the last packet. TCP works
>> better with NAT.
>>
>>> It also results in something that probably looks more like DTLS than
>>> anything we have now, or something even stranger, or like nothing
>>> anyone can recognise.
>>>
>>> It may, or very well may not, be a good idea (gleefully gratuitously
>>> rampant layering violation/wheel reinvention vs. avoiding unnecessary
>>> insecure layers vulnerable to a real, deployed attack/square wheel),
>>> but I'd be interested (with no particular hurry) if anyone had had any
>>> thoughts in that direction.
>>
>> It would require an explanation about why this new wheel would be better
>> than TCP in IPsec.
>>
>> Yoav
>>
>> _______________________________________________
>> TLS mailing list
>> TLS@ietf.org
>> https://www.ietf.org/mailman/listinfo/tls
>>
> 
> 
> 
> _______________________________________________
> TLS mailing list
> TLS@ietf.org
> https://www.ietf.org/mailman/listinfo/tls
>