Re: [hybi] Insight you need to know: Browsers are at fault when servers crash

Willy Tarreau <w@1wt.eu> Mon, 26 July 2010 04:53 UTC

Return-Path: <w@1wt.eu>
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 4B3F13A6899 for <hybi@core3.amsl.com>; Sun, 25 Jul 2010 21:53:57 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.021
X-Spam-Level:
X-Spam-Status: No, score=-2.021 tagged_above=-999 required=5 tests=[AWL=-1.837, BAYES_20=-0.74, HELO_IS_SMALL6=0.556]
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 AAB0CSABxggh for <hybi@core3.amsl.com>; Sun, 25 Jul 2010 21:53:56 -0700 (PDT)
Received: from 1wt.eu (1wt.eu [62.212.114.60]) by core3.amsl.com (Postfix) with ESMTP id F3CB43A67A2 for <hybi@ietf.org>; Sun, 25 Jul 2010 21:53:55 -0700 (PDT)
Received: (from willy@localhost) by mail.home.local (8.14.4/8.14.4/Submit) id o6Q4sBpT006369; Mon, 26 Jul 2010 06:54:11 +0200
Date: Mon, 26 Jul 2010 06:54:11 +0200
From: Willy Tarreau <w@1wt.eu>
To: John Tamplin <jat@google.com>
Message-ID: <20100726045411.GB4527@1wt.eu>
References: <AANLkTilfxps1wWjFrwrH_3Js6Q9E331AMKFRNHfeHcdL@mail.gmail.com> <AANLkTi=vPAnnK0=gE=YN10vt9b-f6sWXXcwK+La5SriO@mail.gmail.com> <623C6D70-B4AF-49EC-BA07-6F90BD0FFFBF@apple.com> <AANLkTi=Q-PVrdaWuOu3H=wUiphe6JB4C+LauSOXKozoY@mail.gmail.com> <AANLkTi=Z-Zw3gJAdwQMAqG5UUVnV_kgsGm3M_qQ2Bwt7@mail.gmail.com> <AANLkTimCwMM-bGkYBoV_DA4EXmE5M0oV_Fqes6EVDyka@mail.gmail.com> <AANLkTin=7JFA6m8Wa=ASp3Xvf3s=fDxJcaE09giyiyhE@mail.gmail.com>
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <AANLkTin=7JFA6m8Wa=ASp3Xvf3s=fDxJcaE09giyiyhE@mail.gmail.com>
User-Agent: Mutt/1.4.2.3i
Cc: hybi@ietf.org
Subject: Re: [hybi] Insight you need to know: Browsers are at fault when servers crash
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, 26 Jul 2010 04:53:57 -0000

On Mon, Jul 26, 2010 at 12:36:28AM -0400, John Tamplin wrote:
> On Mon, Jul 26, 2010 at 12:23 AM, Mike Belshe <mike@belshe.com> wrote:
> 
> > Sounds like what you've said is that Android devices are too wimpy to do
> > encryption?  I bet the iPhone can handle it.  :-)
> >
> 
> No, actually I am thinking of even wimpier devices, such as what goes in
> some set-top boxes, or various small network attached devices (like
> $35 Ethernet switches), etc.  Many of these have some web-based UI, and I
> think it would be useful to say decisively whether such platforms are
> intended targets for WebSockets.  If they are, I don't think requiring
> encryption or compression is acceptable.  I am not saying it is required
> that they are supported, just that we need to recognize a decision is being
> made there one way or the other and better to make it explicit.
> 
> Personally, I think we should make expensive features optional, which means
> that a) we have to decide the amateur programmer requirement since that has
> previously been used to squelch any suggestion for negotiation and b) these
> optional features can't be used for base-level security in the protocol,
> such as avoiding cross-protocol attacks.

Well, maybe one solution *could* be to have HTTP-compliant headers
carrying the handshake and an encryption key and the data being
encrypted using a cheap symmetrical algorithm such as AES (or even
cheaper) for which many small implementations already exist ?

It would be a lot cheaper than TLS, would bring the randomness the
security guys are looking for, and allow cheap devices to use it.

And the exchanged key could be the same in each direction and serve
as the nonce as well. The client sends it over a header, expects to
get the same one in response, then both ends use it to exchange
encrypted data over the connection.

Regards,
Willy