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 <bem...@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 <r...@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 <r...@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 <bem...@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 <r...@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-dra...@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
>>>>>
>>>>>
>>>>
>>>
>>
>
_______________________________________________
TLS mailing list
TLS@ietf.org
https://www.ietf.org/mailman/listinfo/tls

Reply via email to