Subject: Re: [Masque] FW: New Version Notification for draft-kuehlewind-quic-proxy-discovery-00.txt

From: Eric Rescorla <[email-masked]>
Date: Mon, 3 Feb 2020 04:56:31 -0800

On Wed, Jan 22, 2020 at 5:54 AM Mirja Kuehlewind <mirja.kuehlewind=
[email-masked]> wrote:

> Hi Partick, hi Lucus, hi all,
>
>
>
> I’m currently updating the discovery draft and therefore looking at this
> email thread.
>
>
>
> So looking at WPAD, it also uses DHCP and/or DNS to get a config file. In
> the draft we mentioned also the use of Provisioning Domains (PvDs) to get
> information about local configuration. This seems to be the more
> appropriate and soon to be standardized alternative, so I don’t think
> mentioning WPAD will add much. Lucas?
>
>
>
> Mentioning WPAD could maybe lead to a discussion about who this
> information can be access by an application/browser (if needed because it
> could also be the OS that handles the proxying transparently for the app),
> however, this seems a bit out of scope for this document and probably is
> mostly covered by taps for PvDs.
>
>
>
> Patrick, you said below that “series of CONNECT tunnels to the proxy are
> giving up the end to end security of transport features that QUIC“. In
> the setup we have in mind for use with MASQUE, we never touch the encrypted
> QUIC end-to-end connection and just forward those packets. Other than for
> HTTP/TCP proxies, the idea is to always have an outer QUIC connection
> between the client and the proxy and an inner QUIC connection between the
> client and the server. So I think if you only look for a forwarding service
> (+ address translation/anonymization), it’s actually okay to rely on
> potentially unauthenticated local discovery as you basically only have to
> trust the proxy as much as you trust any router on the path.
>

Well,  one of the most common reasons why you would want some sort of
tunnel proxy is to conceal your behavior from the local network, which is
clearly inconsistent with having the local network supply the proxy
information.

More generally, I find the whole premise of this draft somewhat confusing.
If we look at TLS MITM proxies as a loose analogy, there are two kinds of
configuration one might want:

1. To tell the client to trust the proxy
2. To tell the client to connect to the proxy

However, as a practical matter, TLS MITM proxies don't do (2) and just rely
on network mechanisms to make that work. They only configure trust anchors
to let the client trust the proxy. Similarly here, the challenge with QUIC
is that you want the client to engage in some behavior that has trust
implications, but for this you need some discovery mechanism that is
secure, which the ones you propose are not.

-Ekr

---

From: Mirja Kuehlewind <[email-masked]>
Date: Mon, 3 Feb 2020 14:46:53 +0000

Hi Ekr,

TLS MITM is not the right analogy here. As I said in my email below we only look at services for the proxy could to provide that do not intercept the end-to-end connection. Instead the client would either request a certain network service from the proxy (in any case at least simple forwarding) or, what we have in mind for performance optimization, the proxy would provide additional information to the client that then can be used in the endpoints to optimize traffic.

Further you can still configure a trust anchor in your client and use local recovery to dynamically find the IP address. And not all mechanisms described in the draft are actually for local recovery.

And at the end it depends on the service the proxy provides if a local proxy makes sense or not. E.g. if you only look at forwarding and address translation in order to conceal the client IP address from the server, not that much trust is needed and a local proxy can make a lot of sense as your access provider knows you IP address anyway.

Mirja

From: Eric Rescorla <[email-masked]>
Date: Monday, 3. February 2020 at 13:57
To: Mirja Kuehlewind <[email-masked]>
Cc: Patrick McManus <[email-masked]>, Lucas Pardue <[email-masked]>, "[email-masked]" <[email-masked]>, "Su, Chi-Jiun" <[email-masked]>, Zaheduzzaman Sarker <[email-masked]>, "[email-masked]" <[email-masked]>
Subject: Re: [Masque] FW: New Version Notification for draft-kuehlewind-quic-proxy-discovery-00.txt

On Wed, Jan 22, 2020 at 5:54 AM Mirja Kuehlewind <mirja.kuehlewind=[email-masked]<mailto:[email-masked]>> wrote:
Hi Partick, hi Lucus, hi all,

I’m currently updating the discovery draft and therefore looking at this email thread.

So looking at WPAD, it also uses DHCP and/or DNS to get a config file. In the draft we mentioned also the use of Provisioning Domains (PvDs) to get information about local configuration. This seems to be the more appropriate and soon to be standardized alternative, so I don’t think mentioning WPAD will add much. Lucas?

Mentioning WPAD could maybe lead to a discussion about who this information can be access by an application/browser (if needed because it could also be the OS that handles the proxying transparently for the app), however, this seems a bit out of scope for this document and probably is mostly covered by taps for PvDs.

Patrick, you said below that “series of CONNECT tunnels to the proxy are giving up the end to end security of transport features that QUIC“. In the setup we have in mind for use with MASQUE, we never touch the encrypted QUIC end-to-end connection and just forward those packets. Other than for HTTP/TCP proxies, the idea is to always have an outer QUIC connection between the client and the proxy and an inner QUIC connection between the client and the server. So I think if you only look for a forwarding service (+ address translation/anonymization), it’s actually okay to rely on potentially unauthenticated local discovery as you basically only have to trust the proxy as much as you trust any router on the path.

Well,  one of the most common reasons why you would want some sort of tunnel proxy is to conceal your behavior from the local network, which is clearly inconsistent with having the local network supply the proxy information.

More generally, I find the whole premise of this draft somewhat confusing. If we look at TLS MITM proxies as a loose analogy, there are two kinds of configuration one might want:

However, as a practical matter, TLS MITM proxies don't do (2) and just rely on network mechanisms to make that work. They only configure trust anchors to let the client trust the proxy. Similarly here, the challenge with QUIC is that you want the client to engage in some behavior that has trust implications, but for this you need some discovery mechanism that is secure, which the ones you propose are not.

-Ekr

---

From: Eric Rescorla <[email-masked]>
Date: Mon, 3 Feb 2020 07:10:21 -0800

On Mon, Feb 3, 2020 at 6:46 AM Mirja Kuehlewind <
[email-masked]> wrote:

> Hi Ekr,
>
>
>
> TLS MITM is not the right analogy here. As I said in my email below we
> only look at services for the proxy could to provide that do not intercept
> the end-to-end connection.
>

Hence the phrase "loose analogy". Those service still require authorization
and the only authorization you are providing is network topology.

-Ekr

Instead the client would either request a certain network service from the
> proxy (in any case at least simple forwarding) or, what we have in mind for
> performance optimization, the proxy would provide additional information to
> the client that then can be used in the endpoints to optimize traffic.
>
>
>
> Further you can still configure a trust anchor in your client and use
> local recovery to dynamically find the IP address. And not all mechanisms
> described in the draft are actually for local recovery.
>
>
>
> And at the end it depends on the service the proxy provides if a local
> proxy makes sense or not. E.g. if you only look at forwarding and address
> translation in order to conceal the client IP address from the server, not
> that much trust is needed and a local proxy can make a lot of sense as your
> access provider knows you IP address anyway.
>

>
> Mirja
>
>
>
>
>
>
>
> *From: *Eric Rescorla <[email-masked]>
> *Date: *Monday, 3. February 2020 at 13:57
> *To: *Mirja Kuehlewind <[email-masked]>
> *Cc: *Patrick McManus <[email-masked]>, Lucas Pardue <
> [email-masked]>, "[email-masked]" <[email-masked]>, "Su,
> Chi-Jiun" <[email-masked]>, Zaheduzzaman Sarker <
> [email-masked]>, "[email-masked]" <[email-masked]>
> *Subject: *Re: [Masque] FW: New Version Notification for
> draft-kuehlewind-quic-proxy-discovery-00.txt
>
>
>
>
>
>
>
> However, as a practical matter, TLS MITM proxies don't do (2) and just
> rely on network mechanisms to make that work. They only configure trust
> anchors to let the client trust the proxy. Similarly here, the challenge
> with QUIC is that you want the client to engage in some behavior that has
> trust implications, but for this you need some discovery mechanism that is

---

From: Ben Schwartz <[email-masked]>
Date: Mon, 3 Feb 2020 11:27:46 -0500

I think topology-as-authorization is typically appropriate when the
authorization doesn't reveal additional information to the network.
Otherwise, it is likely not appropriate.  Some of the protocol proposals
that have been discussed on this list (e.g. IP over QUIC) likely meet this
requirement, and some (e.g. connection ID negotiation) might not.

I would suggest clarifying that our program of work is:
1. Define a tunnel protocol with good, clear privacy properties, providing
no more information to the proxy than the local network would otherwise
have.
2. Analyze and optimize its performance.
3. If performance is better with the tunnel than without in some
sufficiently common scenario, define a discovery mechanism (like this
draft) for PEP use.

On Mon, Feb 3, 2020 at 10:11 AM Eric Rescorla <[email-masked]> wrote:

> Hence the phrase "loose analogy". Those service still require
> authorization and the only authorization you are providing is network
> topology.
>
> -Ekr
>
>
>
>> *To: *Mirja Kuehlewind <[email-masked]
>> <mirja.kuehlewind@ericsson..com>>
>> Chi-Jiun" <[email-masked] <[email-masked]>>,
>> Zaheduzzaman Sarker <[email-masked]>, "[email-masked]"
>> <[email-masked]>
>> [email-masked] <[email-masked]>> wrote:
>>
>> More generally, I find the whole premise of this draft somewhat
>> confusing. If we look at TLS MITM proxies as a loose analogy, there are two
>> kinds of configuration one might want:
>>
>>
>>
> --
> Masque mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/masque
>