Re: [TLS] Forged RST (was: About encrypting SNI)

Yoav Nir <ynir.ietf@gmail.com> Thu, 17 April 2014 08:27 UTC

Return-Path: <ynir.ietf@gmail.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 407A11A0299 for <tls@ietfa.amsl.com>; Thu, 17 Apr 2014 01:27:33 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2
X-Spam-Level:
X-Spam-Status: No, score=-2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=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 03MWkCZ8Ixoq for <tls@ietfa.amsl.com>; Thu, 17 Apr 2014 01:27:28 -0700 (PDT)
Received: from mail-we0-x22c.google.com (mail-we0-x22c.google.com [IPv6:2a00:1450:400c:c03::22c]) by ietfa.amsl.com (Postfix) with ESMTP id 21C521A01FA for <tls@ietf.org>; Thu, 17 Apr 2014 01:27:27 -0700 (PDT)
Received: by mail-we0-f172.google.com with SMTP id t61so127662wes.17 for <tls@ietf.org>; Thu, 17 Apr 2014 01:27:24 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=content-type:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=o1SUlN7y2mF2mLZYETEUI8Uu+Vitw3ChkmrGSCX280Q=; b=yQsDY/TeBe8F3kR1x5GDmMukNrwf2Ay3Ckz89esK12NYZNuHsZ3S+0MUWK5S4Uri9n z+Zx5Q7b6o9YM/Zy5CDB/fMHLqMsetoCCkKa+WjatnfvW6g/iX1gd2xCeWLV2c2Lcsd1 bQrKmexboLwVBQHjoA9s5FKkqJCMi/+CnGv6mppaMCoKLqPo5PElhjnAtGv+zdJIgC+0 JVRSNdmneiOytL4SX+LSRook1HA0/XAfjRPy/tL+OsL/0EoNJl8mfjSMiifUeJ5jzmqu BMqh2sXpWydcFJVoGw20G40bqeAVkBDgesGdXq9rTREGJL/UA+u8wKjfJbuRiL0ujq8b L37g==
X-Received: by 10.180.91.114 with SMTP id cd18mr11224663wib.28.1397723244220; Thu, 17 Apr 2014 01:27:24 -0700 (PDT)
Received: from [172.24.248.99] (dyn32-131.checkpoint.com. [194.29.32.131]) by mx.google.com with ESMTPSA id ez5sm38000520wjd.9.2014.04.17.01.27.23 for <multiple recipients> (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Thu, 17 Apr 2014 01:27:23 -0700 (PDT)
Content-Type: text/plain; charset="windows-1252"
Mime-Version: 1.0 (Mac OS X Mail 7.2 \(1874\))
From: Yoav Nir <ynir.ietf@gmail.com>
In-Reply-To: <534F0A33.9070408@akr.io>
Date: Thu, 17 Apr 2014 11:27:21 +0300
Content-Transfer-Encoding: quoted-printable
Message-Id: <822C36AB-27AC-4844-8C83-449064FC345C@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>
To: Alyssa Rowan <akr@akr.io>
X-Mailer: Apple Mail (2.1874)
Archived-At: http://mailarchive.ietf.org/arch/msg/tls/O6EsjmkoqbnrLyhTsy4bDBDxcaY
Cc: tls@ietf.org
Subject: Re: [TLS] Forged RST (was: About encrypting SNI)
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 08:27:33 -0000

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