Re: breaking TLS (Was: Re: multiplexing -- don't do it)

On 04/02/2012 10:43 PM, Adrien W. de Croy wrote:
>
>
>
> ------ Original Message ------
> From: "Stephen Farrell" <stephen.farrell@cs.tcd.ie>
> To: "Mike Belshe" <mike@belshe.com>
> Cc: "Peter Lepeska" <bizzbyster@gmail.com>;"ietf-http-wg@w3.org"
> <ietf-http-wg@w3.org>
> Sent: 3/04/2012 9:36:32 a.m.
> Subject: breaking TLS (Was: Re: multiplexing -- don't do it)
>>
>>
>> On 04/02/2012 10:20 PM, Mike Belshe wrote:
>>> I was trying to describe https to the proxy, which breaks the SSL,
>>> and then initiates a new SSL connection to FB.
>>> I call this a "trusted proxy". The browser in this case must have
>>> explicitly specified the proxy to use and also that it is okay to let
>>> it break SSL.
>>
>> TLS MITM has been proposed before and rejected.
> I don't think that's what Mike was proposing when he said break.
>
> the proposal is that TLS would terminate on the proxy, then the client
> would additionally / optionally be able to specify that the proxy make
> an SSL connection to the server.
>
> It's all explicit, no MITM, no underhandedness.

Previous proposals were also explicit and open yet didn't achieve
IETF consensus. If this "feature" is to be designed-in, I predict
it'll be quite controversial. You can argue that the IETF hasn't
been good with this and with NAT (i.e. middleboxen in general) but
that's probably because there are real arguments against such
things, as well as for them.

>> Even for FB, but definitely for banking, I don't want that middlebox
>> getting my re-usable credentials and I don't see how to avoid that
>> problem.
>
> You're right, the proxy would still get this, which is why it would need
> to be trusted. There's no other way.

Just saying "trusted" not sufficient - trusted for what?

If you were to describe this as "trusting your employer with your
bank account credentials" then it might be more accurate, and, yes,
less acceptable.

> This issue won't be going away. Unless you think you can convince every
> boss/parent on the planet that their employees/kids should be able to do
> whatever they like.

I agree there's an issue there. OTOH, is there good evidence of the
effectiveness of such outbound proxies in terms of their claimed
benefits?

I also don't buy that most users will know enough to say "ah,
www-proxy.example.com:8080 is ok" esp. when the browser discovered
the proxy who know's how.

Stephen.


>>
>>
>> I do understand that there are percieved-real requirements here for
>> enterprise middleboxes to snoop but we've not gotten IETF consensus to
>> support that kind of feature in our protocols.
>
> sure we do. 2616 already contemplates and supports proxies - just not
> with https.
>>
>>
>> Stephen.
>> PS: I'm not angling for better http auth here. Even if we get that
>> there will be many passwords and other re-usable credentials in use
>> for pretty much ever and the argument against breaking TLS will remain.
>
> Auth in fact may be the answer to the issue of trust for a server to
> place in a proxy (re the client cert issue).
>
> There may not be a good answer for client certs, and it may be the only
> way to support them is to continue to tunnel.
>
> At least they are not that prevalent so that in cases where they are
> required, tunneling can be allowed.
>
> Adrien
>>
>>
>>
>>>
>>> Mike
>>>
>>>
>>>
>>>>
>>>> The proxy can still not see the facebook traffic in the clear so the
>>>> admin will still either need to block facebook entirely or do a MITM.
>>>> Peter
>>>> On Mon, Apr 2, 2012 at 5:11 PM, Mike Belshe<mike@belshe.com> wrote:
>>>>>
>>>>>
>>>>> On Mon, Apr 2, 2012 at 2:08 PM, Adrien W. de
>>>>> Croy<adrien@qbik.com>wrote:
>>>>>>
>>>>>> ------ Original Message ------ From: "Mike
>>>>>> Belshe"<mike@belshe.com> To: "Adrien W. de Croy"<adrien@qbik.com>
>>>>>> Cc: "Amos Jeffries"<squid3@treenet.co.nz>;"ietf-http-wg@w3.org"<
>>>>>> ietf-http-wg@w3.org> Sent: 3/04/2012 8:52:22 a.m. Subject: Re:
>>>>>> multiplexing -- don't do it
>>>>>>
>>>>>>
>>>>>> On Mon, Apr 2, 2012 at 1:43 PM, Adrien W. de Croy<
>>>>>> <adrien@qbik.com> adrien@qbik.com> wrote:
>>>>>>>
>>>>>>> ------ Original Message ------ From: "Mike
>>>>>>> Belshe"<mike@belshe.com>mike@belshe.com
>>>>>>>
>>>>>>>
>>>>>>> On Mon, Apr 2, 2012 at 6:57 AM, Amos Jeffries<
>>>>>>> <squid3@treenet.co.nz><squid3@treenet.co.nz>
>>>>>>> squid3@treenet.co.nz> wrote:
>>>>>>>> On 1/04/2012 5:17 a.m., Adam Barth wrote:
>>>>>>>> On Sat, Mar 31, 2012 at 4:54 AM, Mark Nottingham wrote:
>>>>>>>>>
>>>>>>>>>> On 31/03/2012, at 1:11 PM, Mike Belshe wrote:
>>>>>>>>>> For the record - nobody wants to avoid using port 80 for new
>>>>>>>>>>> protocols. I'd love to! There is no religious reason that we
>>>>>>>>>>> don't - its just that we know, for a fact, that we can't do
>>>>>>>>>>> it without subjecting a non-trivial number of users to hangs,
>>>>>>>>>>> data corruption, and other errors. You might think its ok for
>>>>>>>>>>> someone else's browser to throw reliability out the window,
>>>>>>>>>>> but nobody at Microsoft, Google, or Mozilla has been willing
>>>>>>>>>>> to do that…
>>>>>>>>>> Mike -
>>>>>>>>>> I don't disagree on any specific point (as I think you know),
>>>>>>>>>> but I would observe that the errors you're talking about can
>>>>>>>>>> themselves be viewed as transient. I.e., just because they
>>>>>>>>>> occur in experiments now, doesn't necessarily mean that they
>>>>>>>>>> won't be fixed in the infrastructure in the future --
>>>>>>>>>> especially if they generate a lot of support calls, because
>>>>>>>>>> they break a lot MORE things than they do now.
>>>>>>>>>> Yes, there will be a period of pain, but I just wanted to
>>>>>>>>>> highlight one of the potential differences between deploying a
>>>>>>>>>> standard and a single-vendor effort. It's true that we can't
>>>>>>>>>> go too far here; if we specify a protocol that breaks horribly
>>>>>>>>>> 50% of the time, it won't get traction. However, if we have a
>>>>>>>>>> good base population and perhaps a good fallback story, we
>>>>>>>>>> *can* change things.
>>>>>>>>> That's not our experience as browser vendors. If browsers offer
>>>>>>>>> an HTTP/2.0 that has a bad user experience for 10% of users,
>>>>>>>>> then major sites (e.g., Twitter) won't adopt it. They don't
>>>>>>>>> want to punish their users any more than we do.
>>>>>>>>> Worse, if they do adopt the new protocol, users who have
>>>>>>>>> trouble will try another browser (e.g., one that doesn't
>>>>>>>>> support HTTP/2.0 such as IE 9), observe that it works, and
>>>>>>>>> blame the first browser for being buggy. The net result is that
>>>>>>>>> we lose a user and no pressure is exerted on the intermediaries
>>>>>>>>> who are causing the problem in the first place.
>>>>>>>>> These are powerful market force that can't really be ignored.
>>>>>>>>
>>>>>>>> So the takeway there is pay attention to the intermediary people
>>>>>>>> when they say something cant be implemented (or won't scale
>>>>>>>> reasonably).
>>>>>>>
>>>>>>> I agree we should pay attention to scalability - and we have.
>>>>>>> Please don't disregard that Google servers switched to SPDY with
>>>>>>> zero additional hardware (the google servers are fully conformant
>>>>>>> http/1.1 proxies with a lot more DoS logic than the average
>>>>>>> site). I know, some people think Google is some magical place
>>>>>>> where scalability defies physics and is not relevant, but this
>>>>>>> isn't true. Google is just like every other site, except much
>>>>>>> much bigger. If we had a 10% increase in server load with SPDY,
>>>>>>> Google never could have shipped it. Seriously, who would roll out
>>>>>>> thousands of new machines for an experimental protocol? Nobody.
>>>>>>> How would we have convinced the executive team "this will be
>>>>>>> faster", if they were faced with some huge cap-ex bill? Doesn't
>>>>>>> sound very convincing, does it? In my mind, we have already
>>>>>>> proven clearly that SPDY scales just fine.
>>>>>>> But I'm open to other data. So if you have a SPDY implementation
>>>>>>> and want to comment on the effects on your server, lets hear it!
>>>>>>> And I'm not saying SPDY is free. But, when you weigh costs (like
>>>>>>> compression and framing) against benefits (like 6x fewer
>>>>>>> connections), there is no problem. And could we make improvements
>>>>>>> still? Of course. But don't pretend that these are the critical
>>>>>>> parts of SPDY. These are the mice nuts.
>>>>>>>
>>>>>>> For a forward proxy, there are several main reasons to even exist:
>>>>>>> a) implement and enforce access control policy b) audit usage c)
>>>>>>> cache
>>>>>>> you block any of these by bypassing everything with TLS, you have
>>>>>>> a non-starter for corporate environments. Even if currently
>>>>>>> admins kinda turn a blind eye (because they have to) and allow
>>>>>>> port 443 through, as more and more traffic moves over to 443,
>>>>>>> more pressure will come down from management to control it.
>>>>>>> Best we don't get left with the only option being MITM.
>>>>>>
>>>>>> In my talk at the IETF, I proposed a solution to this.
>>>>>> Browsers need to implement SSL to trusted proxies, which can do
>>>>>> all of the a/b/c that you suggested above. This solution is better
>>>>>> because the proxy becomes explicit rather than implicit. This
>>>>>> means that the user knows of it, and it IT guys knows of it. If
>>>>>> there are problems, it can be configured out of the system.
>>>>>> Implicit proxies are only known the the IT guy (maybe), and can't
>>>>>> be configured out from a client. The browser can be made to honor
>>>>>> HSTS so that end-to-end encryption is always enforced appropriately.
>>>>>> Further, proxies today already need this solution, even without
>>>>>> SPDY. Traffic is moving to SSL already, albeit slowly, and
>>>>>> corporate firewalls can't see it today. Corporate firewall admins
>>>>>> are forced to do things like block facebook entirely to prevent
>>>>>> data leakage. But, with this solution, they could allow facebook
>>>>>> access and still protect their IP. (Or they could block it if they
>>>>>> wanted to, of course).
>>>>>> Anyway, I do agree with you that we need better solutions so that
>>>>>> we don't incur more SSL MITM. Many corporations are already
>>>>>> looking for expensive SSL MITM solutions (very complex to rollout
>>>>>> due to key management) because of the reasons I mention above, and
>>>>>> its a technically inferior solution.
>>>>>> So lets do it!
>>>>>>
>>>>>> I basically agree with all the above, however there is the ISP
>>>>>> intercepting proxy to think about.
>>>>>> Many ISPs here in NZ have them, it's just a fact of life when
>>>>>> you're 150ms from the US and restricted bandwidth. Pretty much all
>>>>>> the big ISPs have intercepting caching proxies.
>>>>>> There's just no way to make these work... period...
>>>>>> unless the ISP is to
>>>>>> a) try and support all their customers to use an explicit proxy,
>>>>>> or b) get all their customers to install a root cert so they can
>>>>>> do MITM.
>>>>>
>>>>>
>>>>>> Maybe we need a better way to force a client to use a proxy, and
>>>>>> take the pain out of it for administration. And do it securely
>>>>>> (just remembering why 305 was deprecated).
>>>>>
>>>>> Do proxy pacs or dhcp work for this?
>>>>> Note that we also need the browsers to honor HSTS end-to-end, even
>>>>> if we turn on "GET https://". Mike
>>>>>
>>>>>
>>>>>
>>>>>> Adrien
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> Mike
>>>>>>
>>>>>>
>>>>>>
>>>>>>>
>>>>>>> Adrien
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Mike
>>>>>>>
>>>>>>>
>>>>>>>> With plenty of bias, I agree.
>>>>>>>> AYJ
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>
>
>

Received on Monday, 2 April 2012 22:06:34 UTC