draft-thomson-httpbis-cant

Stephen Farrell <stephen.farrell@cs.tcd.ie> Wed, 22 October 2014 14:17 UTC

Return-Path: <ietf-http-wg-request@listhub.w3.org>
X-Original-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Delivered-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 23FAB1AC422 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Wed, 22 Oct 2014 07:17:11 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.912
X-Spam-Level:
X-Spam-Status: No, score=-6.912 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Qh90EGo3D6CS for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Wed, 22 Oct 2014 07:17:07 -0700 (PDT)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id EE3011AC3D7 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Wed, 22 Oct 2014 07:14:47 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.72) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1XgwdL-0006Vn-UX for ietf-http-wg-dist@listhub.w3.org; Wed, 22 Oct 2014 14:11:27 +0000
Resent-Date: Wed, 22 Oct 2014 14:11:27 +0000
Resent-Message-Id: <E1XgwdL-0006Vn-UX@frink.w3.org>
Received: from maggie.w3.org ([128.30.52.39]) by frink.w3.org with esmtp (Exim 4.72) (envelope-from <stephen.farrell@cs.tcd.ie>) id 1XgwdF-0006V4-Lw for ietf-http-wg@listhub.w3.org; Wed, 22 Oct 2014 14:11:21 +0000
Received: from [134.226.56.6] (helo=mercury.scss.tcd.ie) by maggie.w3.org with esmtp (Exim 4.72) (envelope-from <stephen.farrell@cs.tcd.ie>) id 1Xgwd9-000733-KJ for ietf-http-wg@w3.org; Wed, 22 Oct 2014 14:11:21 +0000
Received: from localhost (localhost [127.0.0.1]) by mercury.scss.tcd.ie (Postfix) with ESMTP id 230DABE10; Wed, 22 Oct 2014 15:10:45 +0100 (IST)
Received: from mercury.scss.tcd.ie ([127.0.0.1]) by localhost (mercury.scss.tcd.ie [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id XVFeuv-a_giY; Wed, 22 Oct 2014 15:10:45 +0100 (IST)
Received: from [134.226.36.180] (stephen-think.dsg.cs.tcd.ie [134.226.36.180]) by mercury.scss.tcd.ie (Postfix) with ESMTPSA id F2517BE0E; Wed, 22 Oct 2014 15:10:44 +0100 (IST)
Message-ID: <5447BAE5.2040104@cs.tcd.ie>
Date: Wed, 22 Oct 2014 15:10:45 +0100
From: Stephen Farrell <stephen.farrell@cs.tcd.ie>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.2.0
MIME-Version: 1.0
To: Martin Thomson <martin.thomson@gmail.com>
CC: ietf-http-wg@w3.org
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit
Received-SPF: none client-ip=134.226.56.6; envelope-from=stephen.farrell@cs.tcd.ie; helo=mercury.scss.tcd.ie
X-W3C-Hub-Spam-Status: No, score=-2.7
X-W3C-Hub-Spam-Report: AWL=-3.983, RDNS_NONE=1.274
X-W3C-Scan-Sig: maggie.w3.org 1Xgwd9-000733-KJ 2b459fc3770ff6aea991ab7b53a5de08
X-Original-To: ietf-http-wg@w3.org
Subject: draft-thomson-httpbis-cant
Archived-At: <http://www.w3.org/mid/5447BAE5.2040104@cs.tcd.ie>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/27681
X-Loop: ietf-http-wg@w3.org
Resent-Sender: ietf-http-wg-request@w3.org
Precedence: list
List-Id: <ietf-http-wg.w3.org>
List-Help: <http://www.w3.org/Mail/>
List-Post: <mailto:ietf-http-wg@w3.org>
List-Unsubscribe: <mailto:ietf-http-wg-request@w3.org?subject=unsubscribe>

First off, I like the idea - the more ways in which we
can try push passwords a bit further off stage the better.
So I hope this is taken up somewhere and progressed and
gets deployed.

That said:

- section 2: I don't like the auth scheme name - this
should work without X.509. I'd suggest "TLSClientAuth"
would be a better thing to use.

- 3.1: I assume this is solely for backwards compat?
If not they who do we expect to use this? If so,
please say so and encourage use of (hashes of) keys
or certs instead.

- 3.1: You should probably profile X.500 names for
use here - requiring the full complexity of X.500
(e.g. it allows for X.400 ORAddress as an option)
would seem like a bad idea. Not sure where you could
find that already done by someone else but it ought
be somewhere (maybe some ldap thing?).

- 3.2: Someone needs to do a compare/contrast against
websec's key pinning but also DANE and JOSE for this
bit. Not sure its quite right now.

- 3.2: You need to add support for hash(public-key)
which could be done like DANE or even via RFC6920
URIs if that made sense (no idea, so don't take this
as me pushing an RFC I co-authored:-). That's needed
for bare-keys TLS anyway, and is just a good plan (tm).

- somewhere: why not have a KeyIDType somewhere here
where the client/server can signal what kind(s) of
key identifiers (or containers) are being, or to be,
used. Probably something that maps to an existing
TLS construct. Who knows maybe someday someone will
come up with a privacy-friendly way to identify
public keys that'd even help with this in TLS1.2 and
earlier? So having that here would be a good plan
I think.

- Its not clear to me how or if this ought be bound
to the TLS session. I think that'd be a good thing
to ponder, but I've not:-) OTOH, it'd be a pain to
define this but also have it work via e.g. a TLS
MITM as that would utterly make it meaningless as a
strong client authentication scheme. Not sure what's
doable there but maybe the UA could send an Authorization
header field based on the challenge and a TLS extractor
(RFC5704) value and its public key as at least an
option that'd detect MITMs or maybe some other forms
of attack.

- I'd like if this were commensurate with HOBA [1]
so that in principle the same key pair could be
used. That's probably not that important to anyone
else though;-) And of course in contrast to what
I just suggested HOBA would work via a TLS MITM
but that's justified by HOBA's primary goal of being
a password replacement drop-in, whereas I think
you're aiming higher here.

- I'm sure you'll need changes to keep the http
auth scheme police happy:-) [1] seems to have now
achieved that status so copying from there may help.

S.

[1] https://tools.ietf.org/html/draft-ietf-httpauth-hoba