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

Julian Reschke <> Fri, 06 February 2015 06:44 UTC

Return-Path: <>
Received: from localhost ( []) by (Postfix) with ESMTP id 1472F1A1A0C; Thu, 5 Feb 2015 22:44:12 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.9
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 ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id h00QAsmc56sV; Thu, 5 Feb 2015 22:44:09 -0800 (PST)
Received: from ( []) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id A5E171A1A07; Thu, 5 Feb 2015 22:44:08 -0800 (PST)
Received: from [] ([]) by (mrgmx002) with ESMTPSA (Nemesis) id 0MAyZg-1YRI8o0Fj2-009wfh; Fri, 06 Feb 2015 07:44:06 +0100
Message-ID: <>
Date: Fri, 06 Feb 2015 07:43:50 +0100
From: Julian Reschke <>
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 <>,
Subject: Re: [http-auth] Last Call: <draft-ietf-httpauth-basicauth-update-05.txt> (The 'Basic' HTTP Authentication Scheme) to Proposed Standard
References: <> <>
In-Reply-To: <>
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: <>
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: IETF-Discussion <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-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.

<> shows that 
UAs seem to get at least this correct. I'll think about it.

Best regards, Julian