Re: The future of forward proxy servers in an http/2 over TLS world

"Adrien de Croy" <adrien@qbik.com> Wed, 15 February 2017 21:40 UTC

Return-Path: <ietf-http-wg-request+bounce-httpbisa-archive-bis2juki=lists.ie@listhub.w3.org>
X-Original-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Delivered-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 678B2129632 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Wed, 15 Feb 2017 13:40:51 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.9
X-Spam-Level:
X-Spam-Status: No, score=-6.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RP_MATCHES_RCVD=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
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 K0OG0zf0hA41 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Wed, 15 Feb 2017 13:40:48 -0800 (PST)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 87D251293D6 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Wed, 15 Feb 2017 13:40:48 -0800 (PST)
Received: from lists by frink.w3.org with local (Exim 4.80) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1ce7Gu-0002no-1E for ietf-http-wg-dist@listhub.w3.org; Wed, 15 Feb 2017 21:37:56 +0000
Resent-Date: Wed, 15 Feb 2017 21:37:56 +0000
Resent-Message-Id: <E1ce7Gu-0002no-1E@frink.w3.org>
Received: from mimas.w3.org ([128.30.52.79]) by frink.w3.org with esmtps (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from <adrien@qbik.com>) id 1ce7Go-0002mu-LO for ietf-http-wg@listhub.w3.org; Wed, 15 Feb 2017 21:37:50 +0000
Received: from smtp.qbik.com ([122.56.26.1]) by mimas.w3.org with esmtps (TLS1.2:ECDHE_RSA_ARCFOUR_128_SHA1:128) (Exim 4.84_2) (envelope-from <adrien@qbik.com>) id 1ce7GP-0008ET-Ko for ietf-http-wg@w3.org; Wed, 15 Feb 2017 21:37:41 +0000
Received: From [192.168.1.146] (unverified [192.168.1.146]) by SMTP Server [192.168.1.3] (WinGate SMTP Receiver v9.0.4 (Build 5915)) with SMTP id <0000965475@smtp.qbik.com>; Thu, 16 Feb 2017 10:36:54 +1300
From: Adrien de Croy <adrien@qbik.com>
To: "ietf-http-wg@w3.org" <ietf-http-wg@w3.org>
Date: Wed, 15 Feb 2017 21:36:54 +0000
Message-Id: <emaec8e854-45c0-435f-97d0-40cffe094c6e@bodybag>
In-Reply-To: <em92f8e0f9-2510-4b0d-90a1-d009c704b010@bodybag>
References: <emde1bfa93-84c0-49f7-83a4-b9bed24e0276@bodybag> <20170215193126.C090E1F063@welho-filter1.welho.com> <embaebd293-2d9d-4e45-9048-2763e892ceb0@bodybag> <CAOdDvNpR5i4xu9viAXD2ioG5W096xAHz4EHzByQL8ZN4FO-sTg@mail.gmail.com> <emcb751fb1-f781-46c5-b888-0af8b1c2af7f@bodybag> <CAJ_4DfSZT_7LhWyt=O1J7i8pGSpv619ekr5OSk75LeQnwsEHRA@mail.gmail.com> <emd82135a2-56a0-49c9-908f-109a740d7441@bodybag> <CAJ_4DfTgzzqJKy1QL2YGS7FyaECBA_GeQt5+gn4hrQnB6h3FTg@mail.gmail.com> <em2b16b855-c719-422a-9488-6c34893e2432@bodybag> <BN6PR03MB27084197C5FFEBD76E19C738875B0@bn6pr03mb2708.namprd03.prod.outlook.com> <em1aa98e8c-7ba3-4cdb-a4da-9277a0e7a0dd@bodybag> <em20615289-1fb4-436d-b62b-946629056888@bodybag> <em92f8e0f9-2510-4b0d-90a1-d009c704b010@bodybag>
Reply-To: Adrien de Croy <adrien@qbik.com>
User-Agent: eM_Client/7.0.27943.0
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="------=_MB4C71D8CB-636C-4104-BBA5-23C340305698"
Received-SPF: pass client-ip=122.56.26.1; envelope-from=adrien@qbik.com; helo=smtp.qbik.com
X-W3C-Hub-Spam-Status: No, score=-4.5
X-W3C-Hub-Spam-Report: AWL=-0.594, BAYES_00=-1.9, HTML_MESSAGE=0.001, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001, W3C_AA=-1, W3C_WL=-1
X-W3C-Scan-Sig: mimas.w3.org 1ce7GP-0008ET-Ko 3db447c14a71dbb7555906b6695b0475
X-Original-To: ietf-http-wg@w3.org
Subject: Re: The future of forward proxy servers in an http/2 over TLS world
Archived-At: <http://www.w3.org/mid/emaec8e854-45c0-435f-97d0-40cffe094c6e@bodybag>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/33544
X-Loop: ietf-http-wg@w3.org
Resent-Sender: ietf-http-wg-request@w3.org
Precedence: list
List-Id: <ietf-http-wg.w3.org>
List-Help: <http://www.w3.org/Mail/>
List-Post: <mailto:ietf-http-wg@w3.org>
List-Unsubscribe: <mailto:ietf-http-wg-request@w3.org?subject=unsubscribe>

last image...

this is what you get if you turn on https inspection (MitM).

So you can guess what our customers do.

How this is a win for the internet is beyond me, but it's what we're 
forced to do.

Adrien


------ Original Message ------
From: "Adrien de Croy" <adrien@qbik.com>
To: "Mike Bishop" <Michael.Bishop@microsoft.com>; "Ryan Hamilton" 
<rch@google.com>; "ietf-http-wg@w3.org" <ietf-http-wg@w3.org>
Sent: 16/02/2017 10:20:25 AM
Subject: Re: The future of forward proxy servers in an http/2 over TLS 
world

>
>Edge is about the same without the button and a more millenial-friendly 
>translation of the IE text.
>
>FF on the other hand states the actual problem, that the proxy refused 
>to make the connection.
>
>I guess I'll be recommending FF from now on to my customers with this 
>problem.
>
>Adrien
>
>
>------ Original Message ------
>From: "Adrien de Croy" <adrien@qbik.com>
>To: "Mike Bishop" <Michael.Bishop@microsoft.com>; "Ryan Hamilton" 
><rch@google.com>; "ietf-http-wg@w3.org" <ietf-http-wg@w3.org>
>Sent: 16/02/2017 10:14:58 AM
>Subject: Re: The future of forward proxy servers in an http/2 over TLS 
>world
>
>>the one for IE is even worse.  It offers a connection troubleshooter 
>>button.
>>
>>After exhorting the user to try 3 useless pointless tasks that will 
>>not help at all.
>>
>>What a time waster!
>>
>>Adrien
>>
>>------ Original Message ------
>>From: "Adrien de Croy" <adrien@qbik.com>
>>To: "Mike Bishop" <Michael.Bishop@microsoft.com>; "Ryan Hamilton" 
>><rch@google.com>; "ietf-http-wg@w3.org" <ietf-http-wg@w3.org>
>>Sent: 16/02/2017 10:11:53 AM
>>Subject: Re: The future of forward proxy servers in an http/2 over TLS 
>>world
>>
>>>
>>>attached is what I get when I block https to youtube without MitM
>>>
>>>I'm sorry but even a dialog box that said "proxy denied connection", 
>>>and even just printed the status line would be more useful than this:
>>>
>>>"The webpage at https://www.youtube.com/ might be temporarily down or 
>>>it may have moved permanently to a new web address"
>>>
>>>this is PURE FICTION.
>>>
>>>It serves only to confuse users, and cause them to look in the wrong 
>>>places for the problem.
>>>
>>>A savvy user may see the "ERR_TUNNEL_CONNECTION_FAILED" and realise 
>>>it's something to do with a proxy.
>>>
>>>but the connection didn't fail, it was refused.
>>>
>>>This is just a source of pain for all users.  There's no excuse to be 
>>>lying to browser users like this.
>>>
>>>Adrien
>>>
>>>
>>>------ Original Message ------
>>>From: "Mike Bishop" <Michael.Bishop@microsoft.com>
>>>To: "Adrien de Croy" <adrien@qbik.com>; "Ryan Hamilton" 
>>><rch@google.com>; "ietf-http-wg@w3.org" <ietf-http-wg@w3.org>
>>>Sent: 16/02/2017 9:52:14 AM
>>>Subject: RE: The future of forward proxy servers in an http/2 over 
>>>TLS world
>>>
>>>>No, CONNECT is HTTP, full stop.  The use of that method is defined 
>>>>for HTTP/1.1, HTTP/2, and even HTTP/QUIC.  You can speak HTTP/2 to a 
>>>>proxy if you want – you get a multiplexed connection to the proxy, 
>>>>and what the proxy uses on the back-end is opaque to you.
>>>>
>>>>
>>>>
>>>>I’m somewhat sympathetic to the complaint that we’ve doubled down on 
>>>>two-party communication when there are legitimate use cases for 
>>>>having a third party with some level of access to the traffic.  The 
>>>>problem is that these use cases run the gamut as to how much access 
>>>>they need, and they’re equally applicable to illegitimate cases.  
>>>>(Or rather, cases *I* perceive as illegitimate, since that’s a 
>>>>policy judgement and not a technical one.)
>>>>
>>>>
>>>>
>>>>Groups such as IEEE’s Encrypted Traffic Inspection working group are 
>>>>trying to build something like this, but they make me nervous.  You 
>>>>can’t build a mechanism into a protocol that restricts it to 
>>>>virtuous uses – see RFC3751 for a good example here.  The best that 
>>>>can be achieved is to surface to the user an authenticated identity 
>>>>of who’s spying on their traffic – but we all know the outcome of 
>>>>user dialogs asking “would you like to agree to some technical 
>>>>gobbledygook, or would you like to not see your dancing kittens?”
>>>>
>>>>
>>>>
>>>>From: Adrien de Croy [mailto:adrien@qbik.com]
>>>>Sent: Wednesday, February 15, 2017 12:40 PM
>>>>To: Ryan Hamilton <rch@google.com>; ietf-http-wg@w3.org
>>>>Subject: Re: The future of forward proxy servers in an http/2 over 
>>>>TLS world
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>------ Original Message ------
>>>>
>>>>From: "Ryan Hamilton" <rch@google.com>
>>>>
>>>>To: "Adrien de Croy" <adrien@qbik.com>
>>>>
>>>>Sent: 16/02/2017 9:26:37 AM
>>>>
>>>>Subject: Re: The future of forward proxy servers in an http/2 over 
>>>>TLS world
>>>>
>>>>
>>>>
>>>>>I'm not sure what a "Trusted proxy" means in this context. If the 
>>>>>proxy can mint certificates that are trusted by the browser, then 
>>>>>the proxy can terminate TLS connections at the proxy and 
>>>>>impersonate the origin. This is a supported use-case in Chrome (and 
>>>>>other browsers).
>>>>>
>>>>minting certs is a MitM function.  I wasn't referring to that.
>>>>
>>>>
>>>>
>>>>But if the proxy can mint certs that are trusted by the browser, the 
>>>>question is how is that.  The proxy would need to be using a signing 
>>>>cert that is trusted by the browser, and how did it get installed in 
>>>>the browser?
>>>>
>>>>
>>>>
>>>>In any case as per my original post, MitM is getting squeezed out by 
>>>>HSTS, PKP etc.  Instead of promoting an arms-race between client 
>>>>vendors and proxy vendors (e.g. our current next step is to attack 
>>>>HSTS and PKP to enable us to continue to display block pages that 
>>>>don't cause our customers headaches) how about we work together to 
>>>>allow decent secure blocking of requests?
>>>>
>>>>
>>>>
>>>>Blocking is a completely legitimate need in corporate networks and 
>>>>others.
>>>>
>>>>
>>>>
>>>>Currently the balance of power has swung to the user, whether that's 
>>>>a child surfing where he/she shouldn't or whoever.
>>>>
>>>>
>>>>
>>>>Blocking has become less precise, and the way it's going will have 
>>>>to be done at the IP or TCP level.  The lower the level you block 
>>>>at, the worse the user experience, and the more time wasted in 
>>>>organisations chasing phantoms mis-reported by browsers.
>>>>
>>>>
>>>>
>>>>Does h2 even support a proxy?  CONNECT is HTTP/1
>>>>
>>>>
>>>>
>>>>Adrien
>>>>
>>>>
>>>>
>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>On Wed, Feb 15, 2017 at 12:23 PM, Adrien de Croy <adrien@qbik.com> 
>>>>>wrote:
>>>>>
>>>>>>
>>>>>>
>>>>>>how did they trust the proxy?
>>>>>>
>>>>>>
>>>>>>
>>>>>>I'm suggesting trusted proxy, which means the proxy would need to 
>>>>>>use a cert trusted by the client.
>>>>>>
>>>>>>
>>>>>>
>>>>>>I'd go further and say we need to do better than proxy auto-detect 
>>>>>>as well - it needs to be secured.
>>>>>>
>>>>>>
>>>>>>
>>>>>>Adrien
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>------ Original Message ------
>>>>>>
>>>>>>From: "Ryan Hamilton" <rch@google.com>
>>>>>>
>>>>>>To: "Adrien de Croy" <adrien@qbik.com>
>>>>>>
>>>>>>Sent: 16/02/2017 9:22:06 AM
>>>>>>
>>>>>>Subject: Re: The future of forward proxy servers in an http/2 over 
>>>>>>TLS world
>>>>>>
>>>>>>
>>>>>>
>>>>>>>On Wed, Feb 15, 2017 at 12:11 PM, Adrien de Croy 
>>>>>>><adrien@qbik.com> wrote:
>>>>>>>
>>>>>>>>We already support this with WinGate and I've verified it with 
>>>>>>>>Chrome and Firefox.  In that case couldn't the client trust an 
>>>>>>>>error response body from CONNECT?
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>​We used to do this in Chrome, but removed it because of the 
>>>>>>>potential for phishing. Here's just on example
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>Imagine that at user has their browser configured to do proxy 
>>>>>>>auto discovery. They walk into a cafe and join a wireless network 
>>>>>>>which sends their traffic to a malicious proxy. The user types 
>>>>>>>https://mail.example.com/, and is presented with a CONNECT error 
>>>>>>>page whose contents look exactly like the actual mail.example.com 
>>>>>>>login page to which they dutifully type their username and 
>>>>>>>password.
>>>>>>>
>>>>>
>>>>>