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:15 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 1C91C1297E4 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Wed, 15 Feb 2017 13:15:07 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.899
X-Spam-Level:
X-Spam-Status: No, score=-6.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DC_PNG_UNO_LARGO=0.001, 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 yJ3F1il0SsdN for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Wed, 15 Feb 2017 13:15:04 -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 277381297E8 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Wed, 15 Feb 2017 13:15:04 -0800 (PST)
Received: from lists by frink.w3.org with local (Exim 4.80) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1ce6sU-0007G5-Bl for ietf-http-wg-dist@listhub.w3.org; Wed, 15 Feb 2017 21:12:42 +0000
Resent-Date: Wed, 15 Feb 2017 21:12:42 +0000
Resent-Message-Id: <E1ce6sU-0007G5-Bl@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 1ce6sO-0007F1-U3 for ietf-http-wg@listhub.w3.org; Wed, 15 Feb 2017 21:12:36 +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 1ce6sC-0007Jh-1y for ietf-http-wg@w3.org; Wed, 15 Feb 2017 21:12:31 +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 <0000965452@smtp.qbik.com>; Thu, 16 Feb 2017 10:11:53 +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:11:53 +0000
Message-Id: <em1aa98e8c-7ba3-4cdb-a4da-9277a0e7a0dd@bodybag>
In-Reply-To: <BN6PR03MB27084197C5FFEBD76E19C738875B0@bn6pr03mb2708.namprd03.prod.outlook.com>
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>
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="------=_MBC089D0C0-3CFB-4E71-9A9D-6753F5ABEF6F"
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.647, BAYES_00=-1.9, DC_PNG_UNO_LARGO=0.001, 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 1ce6sC-0007Jh-1y 2aadd82702dc5317a7ed8f52520489f8
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/em1aa98e8c-7ba3-4cdb-a4da-9277a0e7a0dd@bodybag>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/33540
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>

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