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:17 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 CF9801297CB for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Wed, 15 Feb 2017 13:17:18 -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 O2xUjMLy49zh for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Wed, 15 Feb 2017 13:17:16 -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 220661297B8 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Wed, 15 Feb 2017 13:17:16 -0800 (PST)
Received: from lists by frink.w3.org with local (Exim 4.80) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1ce6vP-0005HZ-OP for ietf-http-wg-dist@listhub.w3.org; Wed, 15 Feb 2017 21:15:43 +0000
Resent-Date: Wed, 15 Feb 2017 21:15:43 +0000
Resent-Message-Id: <E1ce6vP-0005HZ-OP@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 1ce6vL-0005E9-0V for ietf-http-wg@listhub.w3.org; Wed, 15 Feb 2017 21:15:39 +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 1ce6v9-0007N0-7y for ietf-http-wg@w3.org; Wed, 15 Feb 2017 21:15:33 +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 <0000965462@smtp.qbik.com>; Thu, 16 Feb 2017 10:14:58 +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:14:58 +0000
Message-Id: <em20615289-1fb4-436d-b62b-946629056888@bodybag>
In-Reply-To: <em1aa98e8c-7ba3-4cdb-a4da-9277a0e7a0dd@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>
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="------=_MB80251441-BD36-4D3B-8717-4DFEE0F9164F"
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.628, 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 1ce6v9-0007N0-7y 416370726b3d82bd167f52de4a94a216
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/em20615289-1fb4-436d-b62b-946629056888@bodybag>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/33542
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>

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