Re: [http-auth] Doing it the TLS mutual way...

Nico Williams <nico@cryptonector.com> Fri, 17 June 2011 17:19 UTC

Return-Path: <nico@cryptonector.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 A482C21F8548 for <http-auth@ietfa.amsl.com>; Fri, 17 Jun 2011 10:19:05 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.054
X-Spam-Level:
X-Spam-Status: No, score=-3.054 tagged_above=-999 required=5 tests=[AWL=-1.077, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622]
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 yfR5XqnZaPpa for <http-auth@ietfa.amsl.com>; Fri, 17 Jun 2011 10:19:04 -0700 (PDT)
Received: from homiemail-a74.g.dreamhost.com (caiajhbdcbbj.dreamhost.com [208.97.132.119]) by ietfa.amsl.com (Postfix) with ESMTP id D844F21F8542 for <http-auth@ietf.org>; Fri, 17 Jun 2011 10:19:04 -0700 (PDT)
Received: from homiemail-a74.g.dreamhost.com (localhost [127.0.0.1]) by homiemail-a74.g.dreamhost.com (Postfix) with ESMTP id 1F89567C06D for <http-auth@ietf.org>; Fri, 17 Jun 2011 10:18:45 -0700 (PDT)
DomainKey-Signature: a=rsa-sha1; c=nofws; d=cryptonector.com; h=mime-version :in-reply-to:references:date:message-id:subject:from:to:cc: content-type; q=dns; s=cryptonector.com; b=utdBTx0qbqf6nMaUmTl4K aHNH56iiwv+Y7sH1dnFVTlGZXEEwj3QU0DdUZUT8TBQ7coKFVlQcvDojpiO80mLp lF+IXQLhXrx+XMkSpr5QLXq9w52yCW7S5W34eZGYHx+06lvCSaxYxF3n+flw8kWq dYarNtdHF0c9BH6f9VMq0k=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=cryptonector.com; h= mime-version:in-reply-to:references:date:message-id:subject:from :to:cc:content-type; s=cryptonector.com; bh=qaAQs0YOxI3QxOAoS7dn M82fHGA=; b=MQEZPXM2bjW//BF6RzByY5EfKjOkdAQYmCTZmIUrbl1JhwNy66Jx WFhYRKUXa2mAXKHYBJrEEz9+qISKoEYDCH08o9Dh3dA3FWszUVbrq2B07Nfaupzp CCYbc01lor41Ss+HhOuy81EyCY/pc/HCxtZv2B0GNDi72Vq0T9EGnpk=
Received: from mail-pv0-f172.google.com (mail-pv0-f172.google.com [74.125.83.172]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) (Authenticated sender: nico@cryptonector.com) by homiemail-a74.g.dreamhost.com (Postfix) with ESMTPSA id F3E0767C069 for <http-auth@ietf.org>; Fri, 17 Jun 2011 10:18:44 -0700 (PDT)
Received: by pvh18 with SMTP id 18so2276790pvh.31 for <http-auth@ietf.org>; Fri, 17 Jun 2011 10:18:44 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.68.18.162 with SMTP id x2mr1177624pbd.274.1308331124483; Fri, 17 Jun 2011 10:18:44 -0700 (PDT)
Received: by 10.68.54.197 with HTTP; Fri, 17 Jun 2011 10:18:44 -0700 (PDT)
In-Reply-To: <4DF939BC.9070401@cs.tcd.ie>
References: <4DF7D71B.2070004@cs.tcd.ie> <BANLkTinpwwYYfrDaWBp+_atZGRDBRe7rtg@mail.gmail.com> <4DF939BC.9070401@cs.tcd.ie>
Date: Fri, 17 Jun 2011 12:18:44 -0500
Message-ID: <BANLkTi=6kEW-1Xhe2sNn3A1wRxGZ50CeJQ@mail.gmail.com>
From: Nico Williams <nico@cryptonector.com>
To: Stephen Farrell <stephen.farrell@cs.tcd.ie>
Content-Type: text/plain; charset="UTF-8"
Cc: "http-auth@ietf.org" <http-auth@ietf.org>
Subject: Re: [http-auth] Doing it the TLS mutual way...
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: Fri, 17 Jun 2011 17:19:05 -0000

On Wed, Jun 15, 2011 at 6:01 PM, Stephen Farrell
<stephen.farrell@cs.tcd.ie> wrote:
> On 15/06/11 20:53, Nico Williams wrote:
>> [...]
>
> I don't think a TLS change is needed for this approach, other than
> maybe in terms of the interface between a server's TLS accelerator
> and the backend, however, there is a fair point that higher layer

I'm guessing concentrators already provide this.  But yeah.

Also, I suspect that there are subtle changes that are required in
order to get credential selection right on the client side with one's
chosen TLS implementation, and possibly on the server side to deal
with arbitrary credential validation methods (there was a bit of
discussion of this latter at the W3C workshop during Q&A for the WebID
presentation, brought on by questions/comments by Brad Hill, but Henry
Story wasn't present, so there were no detailed answers).

> authentication is different and can be as good. I suspect that
> the TLS mutual approach might be easier to do, but that's just
> me arm-waving at this point really.

Perhaps we can ask the WebID folks about their experience here, since
they've gone further down this road than anyone else, near as I can
tell.


> (And before anyone says it: I do not think we should go off and
> write up those requirements in an RFC. This is not our first
> attempt at this and the minutiae of the requirements matter
> far less than adoption of something that's really better than
> current password schemes.)

I don't think we need to publish a requirements RFC before we do
anything else, or even at all.  But we need to have some clue as to
what the requirements are :)

> Better server auth is also a fair point - however that might be
> somewhat less pressing were client credentials not immediately
> stealable from backend databases. Could be that DANE might
> provide an approach to help in that respect were we to take
> this TLS mutual approach.

A lot of authentication methods can and do protect client credentials
from theft.  ZKPPs are all the rage right now, and for good reason.
And no, the fact that the server's verifiers can be stolen doesn't
bother me if people minimize that infrastructure and protect it.  This
isn't like credit card information (where there's no need to structure
the data, thus it ends up all over the place), nor as sensitive as
Kerberos KDBs, say.  Plus between KDFs like scruypt and decent
password quality we can do a very good job of slowing the offline
dictionary attacks enough that theft of asymmetric password verifiers
is not that big a deal.

There's also ABFAB WG's mechanism.  There's OAuth (which, I hear, is
getting mutual auth soon too).  There's Kerberos (always in demand in
the enterprise).  Etcetera.

> I totally agree that *if* this activity results in something new
> actually being deployed then we better do a good job because we
> won't get another chance if we do a bad job.

I suspect that the TLS user cert approach could get traction very
quickly if it's true that no changes are needed to TLS stacks.  I'll
hope, in that case, that we still get to deploy app-layer
authentication in some use cases, because if you don't care for user
certs (because that's not the authentication infrastructure that you
have), there's really no better choice.

Nico
--