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:23 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 15E28129B6C for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Wed, 15 Feb 2017 13:23:16 -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 pmoo_RqZfXoV for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Wed, 15 Feb 2017 13:23:13 -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 9E91E129862 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Wed, 15 Feb 2017 13:23:13 -0800 (PST)
Received: from lists by frink.w3.org with local (Exim 4.80) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1ce70h-0008Et-7d for ietf-http-wg-dist@listhub.w3.org; Wed, 15 Feb 2017 21:21:11 +0000
Resent-Date: Wed, 15 Feb 2017 21:21:11 +0000
Resent-Message-Id: <E1ce70h-0008Et-7d@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 1ce70b-0008Cn-UZ for ietf-http-wg@listhub.w3.org; Wed, 15 Feb 2017 21:21:05 +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 1ce70S-0007fe-0A for ietf-http-wg@w3.org; Wed, 15 Feb 2017 21:21:00 +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 <0000965467@smtp.qbik.com>; Thu, 16 Feb 2017 10:20:25 +1300
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>
Date: Wed, 15 Feb 2017 21:20:25 +0000
Message-Id: <em92f8e0f9-2510-4b0d-90a1-d009c704b010@bodybag>
In-Reply-To: <em20615289-1fb4-436d-b62b-946629056888@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>
Reply-To: Adrien de Croy <adrien@qbik.com>
User-Agent: eM_Client/7.0.27943.0
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="------=_MBF56940CF-288A-4FA0-A8A5-F19F05483DAC"
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.611, 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 1ce70S-0007fe-0A 6f7cee7c6459eae73cb54593839ee371
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/em92f8e0f9-2510-4b0d-90a1-d009c704b010@bodybag>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/33543
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>

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.
>>>>>>
>>>>
>>>>