Re: [TLS] The case for a single stream of data

Colm MacCárthaigh <colm@allcosts.net> Tue, 09 May 2017 18:44 UTC

Return-Path: <colm@allcosts.net>
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 126B812EADE for <tls@ietfa.amsl.com>; Tue, 9 May 2017 11:44:18 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level:
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=allcosts-net.20150623.gappssmtp.com
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 bsIiqs4BRC-l for <tls@ietfa.amsl.com>; Tue, 9 May 2017 11:44:16 -0700 (PDT)
Received: from mail-yb0-x22f.google.com (mail-yb0-x22f.google.com [IPv6:2607:f8b0:4002:c09::22f]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 6D9C2129534 for <tls@ietf.org>; Tue, 9 May 2017 11:44:16 -0700 (PDT)
Received: by mail-yb0-x22f.google.com with SMTP id s22so2527740ybe.3 for <tls@ietf.org>; Tue, 09 May 2017 11:44:16 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=allcosts-net.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=BY64HMOhaDCfQRYLsTiE8ZCLIIM1pxp+ObMVNtsYFtw=; b=mtOeSrfofh3bwdOMERBA3WX7CzF9ejTM83oBnai66z7o+UrlVLMkjp8HBAAoVEhagQ XYxaJlK72CtyRDDiZLYuyrRim5DoMQ/+vJvBNOZCOs1naLtGERow7pIrIrQiOy7CW81F +zPFxunP5pJl3i+iU4tC4wjZ2HKSn9QwXMxioFqVjBNiZhtwgu+QAGaY1Zleq4kHvDcJ Ma7S0AMtiiCD9SzWIgnEJOcH2Jk/hHOsAhJ1nROSQgdJ0+kw6jYiYEq4t65qgEcU7G13 x1tjAdvTBFcpMb5Pn+ho1H7/BehJe8pM/1CSwfYg28oZr0EJf8cU3OrVuleHJfb73haH j3ww==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=BY64HMOhaDCfQRYLsTiE8ZCLIIM1pxp+ObMVNtsYFtw=; b=MvVn3G9ATLVQyaFBQdVJBXja/XnvnEbI6H0i063stOZLObUpl9v3KbKKV4sA4dKRj1 XsrCqynPd9WL3KRC9DwcZPicpM9Zoh3/06rRA3eGLOVxiVetrFtTuEhsunxREmN+tjqD 9Xu/wI5TkGdBmZHeFn2WsECQvkpA7lpbfNi/Kz2ox3YaDyAHYLGvDi4oIBfvS4S6/vyZ Nzb545TCOq++uufxY7ZwgsEUGg6L8KLeialpsEbomeYGXgcqMrc27FxQlXZL0kYu9aaL 5PAJf31xeXwbFMbrLLZxqnMu9N5MZDVPzQVSnT1Gji5IDm/aTk7YWJHvjnQsEeLJIuJH AmZA==
X-Gm-Message-State: AODbwcBQxsIcnDcLuw+f1RuaJ32CJKHksJ1CX18Vv/sZuhx3RM+ShJV+ znYpu1ZjoCj2tSfvwQ6XuO2XzlTfHg==
X-Received: by 10.37.198.147 with SMTP id k141mr1393434ybf.27.1494355455503; Tue, 09 May 2017 11:44:15 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.129.57.67 with HTTP; Tue, 9 May 2017 11:44:14 -0700 (PDT)
In-Reply-To: <20170509181227.GA9346@LK-Perkele-V2.elisa-laajakaista.fi>
References: <CAAF6GDfm=voTt_=JrdGtiaYby1JG8ySU2s6myjjpHKeGvi0bMg@mail.gmail.com> <9f5858c8d86742b9aa82bdac46590c92@usma1ex-dag1mb1.msg.corp.akamai.com> <CAAF6GDcGQ0YTYFFD+HVD71O9GCW7V3r_UNce1LQsHF1Zs9aBLQ@mail.gmail.com> <6ce1dc8757fa4f6693263c8e4f06f277@usma1ex-dag1mb1.msg.corp.akamai.com> <CAAF6GDd5jnuSHw3JLTuCCKWjwKHcW=nfNac=w5UprM-gPJocQw@mail.gmail.com> <20170509181227.GA9346@LK-Perkele-V2.elisa-laajakaista.fi>
From: Colm MacCárthaigh <colm@allcosts.net>
Date: Tue, 09 May 2017 11:44:14 -0700
Message-ID: <CAAF6GDcUu24NZbzxA0x6+OFkU2HRy8rtrQgQ_9U_j8CGjVOjLw@mail.gmail.com>
To: Ilari Liusvaara <ilariliusvaara@welho.com>
Cc: "Salz, Rich" <rsalz@akamai.com>, "tls@ietf.org" <tls@ietf.org>
Content-Type: multipart/alternative; boundary="94eb2c08c53c181f21054f1bbe25"
Archived-At: <https://mailarchive.ietf.org/arch/msg/tls/NhAeWCY1WxyAjo4a3wc24i7e8ok>
Subject: Re: [TLS] The case for a single stream of data
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.22
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: <https://mailarchive.ietf.org/arch/browse/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: Tue, 09 May 2017 18:44:18 -0000

On Tue, May 9, 2017 at 11:12 AM, Ilari Liusvaara <ilariliusvaara@welho.com>
wrote:
>
> Doesn't this imply that clients or CDN are using unsafe HTTP methods in
> 0-RTT data? Which is of course _seriously_ broken.
>

It doesn't really. First; the CDN may be acting as a Layer 4 TLS proxy.
Some CDNs sell these as SSL accelerators that work by moving the handshake
closer to clients and do almost nothing else. For example S3 Transfer
acceleration works like that:
http://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html .
In that case, the TLS proxy isn't necessarily even aware of the
under-lyling protocol. Will they be able to resist the easy-to-enable 0-RTT
time savings?

But secondly, in the real world, these can be GETs and that's how many APIs
are constructed. Why? because even though it ignores correct REST
principles, people can test and compose these operations more easily from
the command line (e.g. curl). We've all seen many APIs like this.

Because HTTP specification expressly forbids any and all updates and
> writes using safe methods. Ignoring that causes very severe security
> vulernabilities even today (e.g., causes essentially undefendable CSRF
> attacks).
>

These aren't browser requests, they can be SDK and other clients making
HTTP API requests. That's much more common too, by volume. CSRF isn't an
issue in cases like that.

I think everything I'm writing applies even for a careful REST-compliant
case too. Even if the client is using PUT or POST or DELETE or whatever,
the same kind of transactional semantics apply. All it takes is a
disconnect between the settings in any of the middle transport layers and
the expectations of the underlying protocol. I just think that disconnect
is very predictable.

-- 
Colm