Re: [http-auth] Last Call: <draft-ietf-httpauth-basicauth-update-05.txt> (The 'Basic' HTTP Authentication Scheme) to Proposed Standard

Julian Reschke <julian.reschke@gmx.de> Fri, 06 February 2015 06:44 UTC

Return-Path: <julian.reschke@gmx.de>
X-Original-To: ietf@ietfa.amsl.com
Delivered-To: ietf@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 1472F1A1A0C; Thu, 5 Feb 2015 22:44:12 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] 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 h00QAsmc56sV; Thu, 5 Feb 2015 22:44:09 -0800 (PST)
Received: from mout.gmx.net (mout.gmx.net [212.227.15.19]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A5E171A1A07; Thu, 5 Feb 2015 22:44:08 -0800 (PST)
Received: from [192.168.2.175] ([93.217.112.94]) by mail.gmx.com (mrgmx002) with ESMTPSA (Nemesis) id 0MAyZg-1YRI8o0Fj2-009wfh; Fri, 06 Feb 2015 07:44:06 +0100
Message-ID: <54D462A6.1030709@gmx.de>
Date: Fri, 06 Feb 2015 07:43:50 +0100
From: Julian Reschke <julian.reschke@gmx.de>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0
MIME-Version: 1.0
To: Bjoern Hoehrmann <derhoermi@gmx.net>, ietf@ietf.org
Subject: Re: [http-auth] Last Call: <draft-ietf-httpauth-basicauth-update-05.txt> (The 'Basic' HTTP Authentication Scheme) to Proposed Standard
References: <20150205161049.4222.88369.idtracker@ietfa.amsl.com> <kdr7da51k6t581cdppljqvdnf6401cjb4o@hive.bjoern.hoehrmann.de>
In-Reply-To: <kdr7da51k6t581cdppljqvdnf6401cjb4o@hive.bjoern.hoehrmann.de>
Content-Type: text/plain; charset="windows-1252"; format="flowed"
Content-Transfer-Encoding: 7bit
X-Provags-ID: V03:K0:kf6PtbHVAiuEFbytMCQ5jkaZxVN1TlvOxWgFh+OeQzq3fqSa1C2 nLXkirTSqj0xKfYgyY4tzgGnZrOzO85B8/OhHypnFPLAS+RrmhyK4xxGGfmfUSDSO9tCg2i LKT4dvh2f/2Ebcs7wavz4gjt/sBYifqPai538xOWg0kiF2lN8fmewLZDMdgyIjSWc9fHdlD HOYU2vfmhA+hwpIu4kvgg==
X-UI-Out-Filterresults: notjunk:1;
Archived-At: <http://mailarchive.ietf.org/arch/msg/ietf/OS90Ec7k-Uj1EyiEM9c1OfJejnw>
Cc: http-auth@ietf.org
X-BeenThere: ietf@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: IETF-Discussion <ietf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ietf>, <mailto:ietf-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/ietf/>
List-Post: <mailto:ietf@ietf.org>
List-Help: <mailto:ietf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ietf>, <mailto:ietf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 06 Feb 2015 06:44:12 -0000

On 2015-02-05 23:49, Bjoern Hoehrmann wrote:
> * The IESG wrote:
>> Abstract
>>
>>    This document defines the "Basic" Hypertext Transfer Protocol (HTTP)
>>    Authentication Scheme, which transmits credentials as userid/password
>>    pairs, obfuscated by the use of Base64 encoding.
>
> I do not think the use of Base64 is intended as obfuscation and it seems
> misleading to me to describe it as such. (The Introduction has the same
> problem).

I think it was.

> In the Introduction:
>
>     The "Basic" scheme previously was defined in Section 2 of [RFC2617].
>     This document updates the definition, and also addresses
>     internationalization issues by introducing the "charset"
>     authentication parameter (Section 2.1).
>
> I think "updates" is the wrong word considering the document is intended
> to "obsolete" RFC 2617.

It does update the definition, no? Also: "Other documents updating RFC 
2617 are "Hypertext Transfer Protocol (HTTP/1.1): Authentication" 
([RFC7235], defining the authentication framework) and "HTTP Digest 
Access Authentication" ([DIGEST], updating the definition of the 
'"Digest" authentication scheme). Taken together, these three documents 
obsolete RFC 2617."

> In section 2:
>
>     The "Basic" authentication scheme is based on the model that the
>     client needs to authenticate itself with a user-ID [...]
>
> The document switches between "user name", "username", "userid", and
> "user-ID". I think the "user-ID" forms should be replaced by one of the
> "name" forms.

Good point. I'll have a look.

>     The realm value is an opaque string
>     which can only be compared for equality with other realms on that
>     server.
>
> RFC 7235 says "The realm value is a string, generally assigned by the
> origin server, that can have additional semantics specific to the
> authentication scheme." This seems contradictory (perhaps the intent is
> to say that for the particular case of Basic, the realm value is opaque
> in contrast to other schemes where it might not be opaque, but that is

It *is* the definition of the "Basic" scheme.

> not clear from the text) and misleading (users make decisions based on
> the string, which often contains human readable text, so it's not really
> opaque to them).

That is true.

>     The original definition of this authentication scheme failed to
>     specify the character encoding scheme used to convert the user-pass
>     into an octet sequence.
>
> I think it would be more appropriate to say that it did not do so. That
> wasn't a particular "failure", sending unlabeled 8bit (and 7bit) content
> was normal at the time, in part because other system parts also did not
> know or care about character encodings.

It's a defect in that specification, no matter when it was written.

> There should be an example for "no other authentication parameters are
> defined -- unknown parameters MUST be ignored by recipients", otherwise
> such extension points are too easily missed by implementers.

<http://greenbytes.de/tech/tc/httpauth/#simplebasicnewparam2> shows that 
UAs seem to get at least this correct. I'll think about it.

Best regards, Julian