Re: [hybi] Extensibility mechanisms?

Mike Belshe <mike@belshe.com> Mon, 19 April 2010 08:40 UTC

Return-Path: <mike@belshe.com>
X-Original-To: hybi@core3.amsl.com
Delivered-To: hybi@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 2FA963A6864 for <hybi@core3.amsl.com>; Mon, 19 Apr 2010 01:40:14 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.816
X-Spam-Level:
X-Spam-Status: No, score=0.816 tagged_above=-999 required=5 tests=[AWL=0.192, BAYES_50=0.001, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Pek4PaHbJPLl for <hybi@core3.amsl.com>; Mon, 19 Apr 2010 01:40:12 -0700 (PDT)
Received: from mail-pw0-f44.google.com (mail-pw0-f44.google.com [209.85.160.44]) by core3.amsl.com (Postfix) with ESMTP id 66C983A68C8 for <hybi@ietf.org>; Mon, 19 Apr 2010 01:40:12 -0700 (PDT)
Received: by pwj2 with SMTP id 2so3152434pwj.31 for <hybi@ietf.org>; Mon, 19 Apr 2010 01:40:01 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.143.44.3 with HTTP; Mon, 19 Apr 2010 01:40:01 -0700 (PDT)
In-Reply-To: <4BCC0BAD.1030209@webtide.com>
References: <h2w5c902b9e1004152345j992b815bz5f8d38f06a19181a@mail.gmail.com> <Pine.LNX.4.64.1004180246380.751@ps20323.dreamhostps.com> <4BCAB2C1.2000404@webtide.com> <B9DC25B0-CD21-44E7-BD9B-06D0C9440933@apple.com> <Pine.LNX.4.64.1004181812370.751@ps20323.dreamhostps.com> <4BCB6641.70408@webtide.com> <Pine.LNX.4.64.1004182010070.751@ps20323.dreamhostps.com> <4BCB6FD0.7080003@webtide.com> <k2r2a10ed241004181406zf93cf5c4p9652e4a78980027d@mail.gmail.com> <4BCC0BAD.1030209@webtide.com>
Date: Mon, 19 Apr 2010 01:40:01 -0700
Received: by 10.142.60.18 with SMTP id i18mr1858175wfa.275.1271666401224; Mon, 19 Apr 2010 01:40:01 -0700 (PDT)
Message-ID: <w2v2a10ed241004190140qf444bc1q6a82e3cd5ae93f7c@mail.gmail.com>
From: Mike Belshe <mike@belshe.com>
To: Greg Wilkins <gregw@webtide.com>
Content-Type: multipart/alternative; boundary="00504502ad201e28c1048492e89a"
Cc: Hybi <hybi@ietf.org>
Subject: Re: [hybi] Extensibility mechanisms?
X-BeenThere: hybi@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Server-Initiated HTTP <hybi.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/hybi>, <mailto:hybi-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/hybi>
List-Post: <mailto:hybi@ietf.org>
List-Help: <mailto:hybi-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/hybi>, <mailto:hybi-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 08:40:14 -0000

On Mon, Apr 19, 2010 at 12:52 AM, Greg Wilkins <gregw@webtide.com> wrote:

> Mike Belshe wrote:
>
> > Should intermediaries know about these protocols?  Why?
> > ...
> > If we run all websockets through SSL, the protocol is stronger.  And
> > poor users aren't left holding the bag wondering why they just got
> hacked.
>
>
> Mike,
>
> I'm not arguing against SSL or having that the
> default/preferred transport.
>
> But in many deployments, SSL will be terminated on a box
> remote from the application and the connection will go through
> intermediaries provided by many vendors for load balancing,
> aggregation, connection aggregation etc. The specification
> needs to support such intermediaries in 2020.
>
>
This is a fair point; but intermediaries within your (the site owner)
control is a solvable problem, whereas intermediaries outside your (the
user) control are not.

But to make it to 2020, we also need something that is
> deployable in 2010.  So that means respecting the HTTP
> protocol.
>
> What Ian is proposing is that a websocket client and server
> can just agree on some new field, that can be used to
> upgrade to any protocol they like eg BEEP!
>
> HTTP has an upgrade mechanism and it's called Upgrade.
> Websocket should not be allowed to subvert that with
> something like:
>
>   GET /something HTTP/1.1
>   Host: somewhere:80
>   Upgrade: WebSocket
>   Connection: Upgrade
>   My-Upgrade: BEEP
>
>        HTTP/1.1 101 Web Socket Protocol Handshake
>        Upgrade WebSocket
>        Connection: Upgrade
>        My-Upgrade: BEEP
>
>   <-- Beep frames -->
>
> Any intermediary involved will have seen that
> as an upgrade to WebSocket, not to BEEP.
> I can't see how that can be interpreted as
> a compliant HTTP upgrade.
>
>

>
>
>
> Finally,  if I  really try to imagine protocols
> in 2020, I can't see secure connections being
> allowed end to end in all environments.   For
> better or worse, Corporations (and even countries)
> like to monitor and apply policy to what their
> users are doing.  I can imagine that every
> hop will be encrypted, but I think that end
> to end will not be universal (unless there
> some some huge break out of progressive
> libertarian sentiment in fortune 500 and
> world governments).
>
>
I think you're not thinking big enough.  There are solutions to all of these
problems.  I have yet to talk to anyone that doesn't think SSL everywhere is
the right idea; but many people think as you do - that it is just too hard.
 If we take that approach (the give up approach), then of course it will
prove true.  If you think about it - you're saying that policy should drive
protocol.  But isn't it the other way around?  The protocol should drive
policy?

There is only one question to answer:  what is the right approach for users?
 Then, once determined, figure out how to get there.  If security is in the
future, we should make it secure now.

Mike



>
> regards
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>