Re: [TLS] New Version Notification for draft-friel-tls-over-http-00.txt

Richard Barnes <rlb@ipv.sx> Mon, 30 October 2017 23:02 UTC

Return-Path: <rlb@ipv.sx>
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 D16E813FC70 for <tls@ietfa.amsl.com>; Mon, 30 Oct 2017 16:02:43 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.898
X-Spam-Level:
X-Spam-Status: No, score=-1.898 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, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=ipv-sx.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 JL_9sK8wQTRF for <tls@ietfa.amsl.com>; Mon, 30 Oct 2017 16:02:41 -0700 (PDT)
Received: from mail-wr0-x235.google.com (mail-wr0-x235.google.com [IPv6:2a00:1450:400c:c0c::235]) (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 775B71C943C for <tls@ietf.org>; Mon, 30 Oct 2017 16:02:19 -0700 (PDT)
Received: by mail-wr0-x235.google.com with SMTP id l8so14211055wre.12 for <tls@ietf.org>; Mon, 30 Oct 2017 16:02:19 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ipv-sx.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=cNA3wAtsIHwbpwpy8pRv04sQH4JgsYqPpdsbo6mVSiw=; b=YZjaN5vTJd3NtwAS6IgKcHUbKaHYhjCtk7yNDJFHk2NYmL2Zh/6E2GEJ8co2d1YQPS 7d+yRKijw8SicBWOXa/gQMAbDQ2Qo+0wSyTQyqS9B/hKDFH9ahVEMa/1eyVEOBYcbedH 1IXHNfI1aPxqTWDtVTiwWGjCElM09808foW3p9hz4eNGTQDUNZV+wfcy6UQ8DpS5hFut UTyHsjgQzEXru8JUByANEjDIEhkNnLdNSsrGMETUadjU+/FJ09UqDCAl2BtBEttJS5qo MFC1uCtI7eX1x05DmoEDlt/pmD6Fp7p9EUxb7VmBI0q6+a0aI86m7tYToeDhHjeVZ7eN zsEw==
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=cNA3wAtsIHwbpwpy8pRv04sQH4JgsYqPpdsbo6mVSiw=; b=QxX8aKUGsEiHoTN94eCw7YVhynPB3oeNiTgQHiUgGJ89HHbrTJTIX5dlWIbQ/4dTJQ fC0/zTp2FwLskG4QuC4yfuiijaXhn1WwgJKF/HkPa7WLN81saAIeZ82f9RZAW42nDPQK O6uyRxtexAaGM90fbFNqmDx/cy7VUhbNmJ99SCcBmMNHnFUdMcwoMT+ipketMV01LIXl XuSH4PzcL7aZfMFsWgwieVqxfoGdq+mFKc9jfynzChvbZXmOuav6UKlpC5zew8G1tzNv oo+ZsomYOnfJsL15s6PHHSbCo8VX2WQMJ9AOynZ6e4i3/tQAJoUTnJMus9WvGrYmiHAn H/lw==
X-Gm-Message-State: AMCzsaVf1mQc3Gw3fv8f+D0x4S0mpLt/RLfSBdaiQlB4aN+pEvUDrCXk /Dwbm/WJi8naUIXag5vQQhJfA2n7LqEH+Ur9WPzmNA==
X-Google-Smtp-Source: ABhQp+Qe2FRltNNmVz+X5e/1rdGehAqi8BmTIk9vAw/BD9U1mKVCzEsJyUlIM5vsshnSKWdsH/lEnhPVAjEXp6OQyGE=
X-Received: by 10.223.136.170 with SMTP id f39mr7994596wrf.162.1509404537804; Mon, 30 Oct 2017 16:02:17 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.28.174.81 with HTTP; Mon, 30 Oct 2017 16:02:17 -0700 (PDT)
In-Reply-To: <CAHbrMsAqnTC4jOAuyfyaujNq=ugXCVF4AH4Kp4f==L36e4twrw@mail.gmail.com>
References: <150939282345.7694.10153977158870845060.idtracker@ietfa.amsl.com> <CAL02cgRS715Vc+4_QNDSNBW8LP1f-Rmp0FW9W_pyHHpAnkX7Sg@mail.gmail.com> <CAHbrMsDMdjkffwqE+CeVfHBcU1gnxW3rpOmiitM3fCMyrTye0g@mail.gmail.com> <CAL02cgTwWB_w4+j=8RS=1ZfxNkLE0OeKivrjz33oBamJyD_tbQ@mail.gmail.com> <CAL02cgSBim4HxAkA-_HP3hc_95zsyNdvezmttgkTbs850pPddg@mail.gmail.com> <CAHbrMsAqnTC4jOAuyfyaujNq=ugXCVF4AH4Kp4f==L36e4twrw@mail.gmail.com>
From: Richard Barnes <rlb@ipv.sx>
Date: Mon, 30 Oct 2017 19:02:17 -0400
Message-ID: <CAL02cgTkaz0zLf+jrFeccD-GPJ+R_evySsLgW+R7F646YLOUkQ@mail.gmail.com>
To: Ben Schwartz <bemasc@google.com>
Cc: "<tls@ietf.org>" <tls@ietf.org>
Content-Type: multipart/alternative; boundary="001a11460aac4c6d5d055ccba168"
Archived-At: <https://mailarchive.ietf.org/arch/msg/tls/-J3QAdsVHAaAoUBEG-L0FVe8UgA>
Subject: Re: [TLS] New Version Notification for draft-friel-tls-over-http-00.txt
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: Mon, 30 Oct 2017 23:02:44 -0000

It requires awareness in the following sense: If by chance the client is in
a nice, open network and the base TLS connection goes directly to the
server, CONNECT is kind of unnatural; you would want the client to do
something different in that case.  You're correct that you *could*
configure the server to handle connect properly, but all of the options for
doing this are kind of cumbersome -- either you have to stick a
possibly-unnecessary proxy in front of the server, or handle CONNECT on the
server, which is not really well-supported by web application frameworks.
By contrast, running data over POST is ubiquitous.

It was also pointed to me off-list that you can generate POST requests from
Javascript in XHR, but not CONNECT requests.  So doing this over POSTs also
makes it accessible to web apps.  (`emscripten libssl.a` left as an
exercise to the reader.)

--Richard


On Mon, Oct 30, 2017 at 6:43 PM, Ben Schwartz <bemasc@google.com> wrote:

> I don't understand why ATLS allows the app to be less "aware" than HTTP
> CONNECT.  I also don't understand how an ATLS client is closer to "one code
> path" than HTTP CONNECT.  It seems to me that your description of client
> behavior applies equally to ATLS and HTTP CONNECT.
>
> On Mon, Oct 30, 2017 at 6:38 PM, Richard Barnes <rlb@ipv.sx> wrote:
>
>> But I agree, it would be good to have some more clarity around use cases
>> and why not other solutions.
>>
>> On Mon, Oct 30, 2017 at 6:37 PM, Richard Barnes <rlb@ipv.sx> wrote:
>>
>>> HTTP CONNECT is not great for some use cases because it requires the app
>>> to be aware that it's dealing with a proxy.  It's simpler if you can just
>>> have one code path that works whether your TLS is intermediated or not.
>>> With the solution outlined in the draft, you can just always ignore the
>>> certificate the server sends in the first TLS connection (because it might
>>> be from a MitM), and then do all your cert validation, pin checks, etc. at
>>> the application layer.
>>>
>>> On Mon, Oct 30, 2017 at 6:26 PM, Ben Schwartz <bemasc@google.com> wrote:
>>>
>>>> Why not use HTTP CONNECT?  Or rather, it would be helpful to have a
>>>> section on when/why one would do this vs. CONNECT.
>>>>
>>>> On Mon, Oct 30, 2017 at 6:17 PM, Richard Barnes <rlb@ipv.sx> wrote:
>>>>
>>>>> Hey TLS folks,
>>>>>
>>>>> Owen, Max, and I have been kicking around some ideas for how to make
>>>>> secure connections in environments where HTTPS is subject to MitM /
>>>>> proxying.
>>>>>
>>>>> The below draft lays out a way to tunnel TLS over HTTPS, in hopes of
>>>>> creating a channel you could use when you really need things to be private,
>>>>> even from the local MitM.
>>>>>
>>>>> Feedback obviously very welcome.  Interested in whether folks think
>>>>> this is a useful area in which to develop an RFC, and any thoughts on how
>>>>> to do this better.
>>>>>
>>>>> Thanks,
>>>>> --Richard
>>>>>
>>>>>
>>>>> On Mon, Oct 30, 2017 at 3:47 PM, <internet-drafts@ietf.org> wrote:
>>>>>
>>>>>>
>>>>>> A new version of I-D, draft-friel-tls-over-http-00.txt
>>>>>> has been successfully submitted by Owen Friel and posted to the
>>>>>> IETF repository.
>>>>>>
>>>>>> Name:           draft-friel-tls-over-http
>>>>>> Revision:       00
>>>>>> Title:          Application-Layer TLS
>>>>>> Document date:  2017-10-30
>>>>>> Group:          Individual Submission
>>>>>> Pages:          20
>>>>>> URL:            https://www.ietf.org/internet-
>>>>>> drafts/draft-friel-tls-over-http-00.txt
>>>>>> Status:         https://datatracker.ietf.org/
>>>>>> doc/draft-friel-tls-over-http/
>>>>>> Htmlized:       https://tools.ietf.org/html/d
>>>>>> raft-friel-tls-over-http-00
>>>>>> Htmlized:       https://datatracker.ietf.org/
>>>>>> doc/html/draft-friel-tls-over-http-00
>>>>>>
>>>>>>
>>>>>> Abstract:
>>>>>>    Many clients need to establish secure connections to application
>>>>>>    services but face challenges establishing these connections due to
>>>>>>    the presence of middleboxes that terminate TLS connections from the
>>>>>>    client and restablish new TLS connections to the service.  This
>>>>>>    document defines a mechanism for transporting TLS records in HTTP
>>>>>>    message bodies between clients and services.  This enables clients
>>>>>>    and services to establish secure connections using TLS at the
>>>>>>    application layer, and treat any middleboxes that are intercepting
>>>>>>    traffic at the network layer as untrusted transport.  In short,
>>>>>> this
>>>>>>    mechanism moves the TLS handshake up the OSI stack to the
>>>>>> application
>>>>>>    layer.
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> Please note that it may take a couple of minutes from the time of
>>>>>> submission
>>>>>> until the htmlized version and diff are available at tools.ietf.org.
>>>>>>
>>>>>> The IETF Secretariat
>>>>>>
>>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> TLS mailing list
>>>>> TLS@ietf.org
>>>>> https://www.ietf.org/mailman/listinfo/tls
>>>>>
>>>>>
>>>>
>>>
>>
>