Re: [http-auth] [saag] re-call for IETF http-auth BoF

Marsh Ray <marsh@extendedsubset.com> Tue, 07 June 2011 02:16 UTC

Return-Path: <marsh@extendedsubset.com>
X-Original-To: http-auth@ietfa.amsl.com
Delivered-To: http-auth@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5485B11E80A2 for <http-auth@ietfa.amsl.com>; Mon, 6 Jun 2011 19:16:53 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level:
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id QGVQ-tLeKUJ4 for <http-auth@ietfa.amsl.com>; Mon, 6 Jun 2011 19:16:52 -0700 (PDT)
Received: from mho-02-ewr.mailhop.org (mho-04-ewr.mailhop.org [204.13.248.74]) by ietfa.amsl.com (Postfix) with ESMTP id B877411E80A3 for <http-auth@ietf.org>; Mon, 6 Jun 2011 19:16:52 -0700 (PDT)
Received: from xs01.extendedsubset.com ([69.164.193.58]) by mho-02-ewr.mailhop.org with esmtpa (Exim 4.72) (envelope-from <marsh@extendedsubset.com>) id 1QTlqd-000Az6-Vg; Tue, 07 Jun 2011 02:16:52 +0000
Received: from [192.168.1.15] (localhost [127.0.0.1]) by xs01.extendedsubset.com (Postfix) with ESMTP id 55F22606D; Tue, 7 Jun 2011 02:16:50 +0000 (UTC)
X-Mail-Handler: MailHop Outbound by DynDNS
X-Originating-IP: 69.164.193.58
X-Report-Abuse-To: abuse@dyndns.com (see http://www.dyndns.com/services/mailhop/outbound_abuse.html for abuse reporting information)
X-MHO-User: U2FsdGVkX1+hhkJdfxLl6HX3XK5BAnZF2aftHYnTZLQ=
Message-ID: <4DED8A12.7020305@extendedsubset.com>
Date: Mon, 06 Jun 2011 21:16:50 -0500
From: Marsh Ray <marsh@extendedsubset.com>
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.17) Gecko/20110424 Thunderbird/3.1.10
MIME-Version: 1.0
To: Stephen Farrell <stephen.farrell@cs.tcd.ie>
References: <878vtgfbs1.fsf@bluewind.rcis.aist.go.jp> <A89D85D0-00AB-4F21-8841-6707E9CDCFC4@gmx.net> <BANLkTind5rg-tOZJ+B2ocD_s=9_-rufH5Q@mail.gmail.com> <4DED55C5.1010306@extendedsubset.com> <4DED6EC9.4040300@cs.tcd.ie>
In-Reply-To: <4DED6EC9.4040300@cs.tcd.ie>
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Transfer-Encoding: 7bit
Cc: http-auth@ietf.org
Subject: Re: [http-auth] [saag] re-call for IETF http-auth BoF
X-BeenThere: http-auth@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: HTTP authentication methods <http-auth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/http-auth>, <mailto:http-auth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/http-auth>
List-Post: <mailto:http-auth@ietf.org>
List-Help: <mailto:http-auth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/http-auth>, <mailto:http-auth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 07 Jun 2011 02:16:53 -0000

On 06/06/2011 07:20 PM, Stephen Farrell wrote:
>
> On 06/06/11 23:33, Marsh Ray wrote:
>>
>> Don't worry about it, they're not going to work even that well.
>
> Just trying to understand this. Why won't what work well?

Well you can probably make the math more efficient. You could certainly 
improve on the crypto handling ability of a language like Javascript 
which has neither secure memory overwrite nor constant time comparison 
operations.

But is there any plausible attack scenario where crypto in the web page 
adds meaningful security?

I don't think so. Either:

A. TLS is correctly securing the connection, in which case you could 
just as easily ship the plaintext to the server, or

B. TLS is not present or ineffective, in which case it's the attacker 
who controls what script is running in the page to such an extent that 
it's not even worth discussing distinctions in the degree of the 
compromise. I.e., pwned.

> (Compared to Tom, Dick and Harry each doing the same thing
> in their own favourite way?)
>
> Seriously - I think it'll be useful to know/document the
> limitations of this approach of developing a standard
> JS crypto API.

Anything done in client-side script happens only at the pleasure of an 
adversary who can break the security of the page (i.e. source or inject 
even the smallest fragment in the origin context of the site).

Therefore, client-side script is powerless to add real security.

This is not academic, obviously script injection is common in the real 
world. Some of the most common types of malware inject script into pages 
for the purpose of relaying login credentials (of course they could do 
almost anything since they are running binary code in the browser, it 
just happens that injecting script is the easiest way to do it).

- Marsh