Re: [OAUTH-WG] Discussion needed on username and password ABNF definitions

John Bradley <ve7jtb@ve7jtb.com> Sun, 10 June 2012 19:27 UTC

Return-Path: <ve7jtb@ve7jtb.com>
X-Original-To: oauth@ietfa.amsl.com
Delivered-To: oauth@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 02FC221F844A for <oauth@ietfa.amsl.com>; Sun, 10 Jun 2012 12:27:46 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.599
X-Spam-Level:
X-Spam-Status: No, score=-3.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id YEC-mOHm+C59 for <oauth@ietfa.amsl.com>; Sun, 10 Jun 2012 12:27:45 -0700 (PDT)
Received: from mail-wi0-f178.google.com (mail-wi0-f178.google.com [209.85.212.178]) by ietfa.amsl.com (Postfix) with ESMTP id DA31321F8445 for <oauth@ietf.org>; Sun, 10 Jun 2012 12:27:44 -0700 (PDT)
Received: by wibhn6 with SMTP id hn6so1802361wib.13 for <oauth@ietf.org>; Sun, 10 Jun 2012 12:27:44 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=subject:mime-version:content-type:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to:x-mailer :x-gm-message-state; bh=nacjv4CWlJ6QFYVLeBOAmmljqvkbffbSU1dsCvMFceg=; b=a7FiCkPf1wst/tBIPKFqzkSfuTH1ADsO0PlkLFxAHeyIMxrnjRvxCSax8OLPvCnxFp JqIlCzPoPtfdLvSrI9VHR0Xf3S4lKBWdpapdgJmvYQJ1hjMAUES26/nXNu0jGzXRz+BQ 0LxJySXsUmqo2PFqljl+oZ8goTt2H6gl2h3sggoLa0e3y9VZKtj5arrH3ahMmpuM3rVG FpWRwy4bNxA8937fMJbFOLtwkzyg7zAy1ddiQEvrhD/+Rr69KeIFPsxc9sTWKW7EVeJz bKbaiGf4GafKt5YtEBAtTp8sBBXnMOfHhmtGLHWqt58gMakPqhErLcdE3BgiCpqDRuFH 3+wg==
Received: by 10.180.98.231 with SMTP id el7mr15197879wib.21.1339356463874; Sun, 10 Jun 2012 12:27:43 -0700 (PDT)
Received: from [10.0.0.27] (host-92-27-146-217.static.as13285.net. [92.27.146.217]) by mx.google.com with ESMTPS id ch9sm30187625wib.8.2012.06.10.12.27.41 (version=TLSv1/SSLv3 cipher=OTHER); Sun, 10 Jun 2012 12:27:43 -0700 (PDT)
Mime-Version: 1.0 (Apple Message framework v1278)
Content-Type: text/plain; charset="us-ascii"
From: John Bradley <ve7jtb@ve7jtb.com>
In-Reply-To: <4E1F6AAD24975D4BA5B168042967394366531375@TK5EX14MBXC284.redmond.corp.microsoft.com>
Date: Sun, 10 Jun 2012 20:27:30 +0100
Content-Transfer-Encoding: quoted-printable
Message-Id: <1F47BAB6-75C5-4E11-8515-24E356CFCB50@ve7jtb.com>
References: <4E1F6AAD24975D4BA5B16804296739436652F52D@TK5EX14MBXC284.redmond.corp.microsoft.com> <4FD4E9D4.2010808@gmx.de> <4E1F6AAD24975D4BA5B168042967394366531375@TK5EX14MBXC284.redmond.corp.microsoft.com>
To: Mike Jones <Michael.Jones@microsoft.com>
X-Mailer: Apple Mail (2.1278)
X-Gm-Message-State: ALoCoQk5gtekKzAjZf/b8aO2lMmGIPtdO3deryq64cgPAw4YkmsyHbhYBGWe5xIqnu3ncrSDCpxV
Cc: Julian Reschke <julian.reschke@gmx.de>, "oauth@ietf.org" <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Discussion needed on username and password ABNF definitions
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 10 Jun 2012 19:27:46 -0000

I think once the WG decided that client_id and client_secret need to be passed as the username and password for HTTP Basic authentication of the client to the Token Endpoint,  the Die was cast for those elements to have the same character restrictions.

In principal you could use the assertion profile or some other mechanism to authenticate the client, and avoid needing the restriction.   However as this is only intended to be machine readable it is probably better to be consistent with the ABNF rather than different ones per authentication method.

So I think we are back to ASCII for the client_id and client_secret.

John B.


On 2012-06-10, at 7:50 PM, Mike Jones wrote:

> Thanks for your reply, Julian.
> 
> Given that, as you confirmed, UTF-8 "doesn't work with Basic and Digest", and they're required to be used with Basic, I believe that that confirms that username and password must either be ASCII or ISO-8859-1, and given that several people have written that ISO-8859-1 is a "non-starter", that effectively confirms the current syntax in -27 that username and password must be ASCII.  Do you agree or am I missing a nuance here?
> 
> Julian, there was one aspect of the open issue that you didn't reply to:  Do you have an opinion on whether client_id and client_secret should be restricted to the same characters as username and password?  This seems logical to me, as they are objects of the same kind as username and password, but I also sympathize with your sentiment that "we shouldn't extend this problem to anything new we define".  On the other hand, given that client_id and client_secret are for machine (and not for human) consumption, I don't see any more need for internationalization of these fields than there was for scope (which the working group decided to limit to ASCII).
> 
> Julian, what do you think?  Working group, what do you think?
> 
> 				Thanks,
> 				-- Mike
> 
> -----Original Message-----
> From: Julian Reschke [mailto:julian.reschke@gmx.de] 
> Sent: Sunday, June 10, 2012 11:39 AM
> To: Mike Jones
> Cc: oauth@ietf.org
> Subject: Re: Discussion needed on username and password ABNF definitions
> 
> On 2012-06-08 20:09, Mike Jones wrote:
>> Hi Julian,
>> 
>> The current draft restricts username and password to ASCII was because RFC 2616 says this about the TEXT fields used by HTTP Basic in RFC 2617:
>>    "Words of *TEXT MAY contain characters from character sets other than
>>     ISO-8859-1 [22] only when encoded according to the rules of
>>    RFC 2047 [14]."
>> 
>> Given that RFC 2047 MIME encodings aren't possible in this context, that you wrote that "If you define new protocol elements, either restrict them to US-ASCII, or find a way to encode all of Unicode", and you and Peter St. Andre wrote that using ISO-8859-1 is a non-starter, that seemed to leave ASCII as the only available choice.
> 
> The other choice was "find a way to encode all of Unicode". The way to do this usually is to use UTF-8. That doesn't work with Basic and Digest, but we shouldn't extend this problem to anything new we define.
> 
>> If you have an alternative proposal for encoding all of Unicode for username and password, I'd appreciate if you could propose specific text changes to -27 to accomplish them.  I'd be fine with doing that, but didn't know how to satisfy all the constraints above for Unicode characters.  Draft -27 is now available at http://tools.ietf.org/html/draft-ietf-oauth-v2-27.
>> ...
> 
> I haven't looked at the core OAuth spec. The right answer depends on where you use these protocol elements.
> 
> Changing this into a question to the WG: is it acceptable to restrict all of these protocol elements to US-ASCII?
> 
> Best regards, Julian
> 
> 
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth