Re: [OAUTH-WG] Client Credential Expiry and new Registration Access Token - draft-ietf-oauth-dyn-reg-10

John Bradley <ve7jtb@ve7jtb.com> Fri, 17 May 2013 17:40 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 A1C4311E8107 for <oauth@ietfa.amsl.com>; Fri, 17 May 2013 10:40:16 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.372
X-Spam-Level:
X-Spam-Status: No, score=-2.372 tagged_above=-999 required=5 tests=[AWL=1.228, 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 P1As5oXaVIQF for <oauth@ietfa.amsl.com>; Fri, 17 May 2013 10:40:11 -0700 (PDT)
Received: from mail-ee0-f45.google.com (mail-ee0-f45.google.com [74.125.83.45]) by ietfa.amsl.com (Postfix) with ESMTP id E296411E80FE for <oauth@ietf.org>; Fri, 17 May 2013 10:40:05 -0700 (PDT)
Received: by mail-ee0-f45.google.com with SMTP id l10so2668804eei.4 for <oauth@ietf.org>; Fri, 17 May 2013 10:40:04 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=x-received:content-type:mime-version:subject:from:in-reply-to:date :cc:message-id:references:to:x-mailer:x-gm-message-state; bh=X/2mcBnftR8QpmAvwEyOshy1mZYfmSKYqol/cDEqhNY=; b=RHmgOep9SBTe8zgsu3xWxVb5bLUEGjc3jaMq/ZbWHpVR3OQWZ3Uovy9xjHYhrmqbSm J5huYhtVrpunqQBX+r0YfMEFWZOeudR9zwgvhqMIakd1PkvYJkLNc6+Gh/v92BcizNTH JU4UyXkjuZO+yTK7aHRkS7AiqCZlLOrtUyh7ApsInYxStEXb7yEG49N/ImessNXkwNqO /LWfTM5zRH61l2OXGzngAW7W2uPC4mRr6qNc2BO3DsNJhLGrAYVlCYYao+E+/ifdrUeM kQ4AK6rJADk2ysE7XFiE/2eoa5qn2YCZEe1PzgywVnXJpCj0ZgZNWOKADzvSx9de/6ar /m2A==
X-Received: by 10.14.109.131 with SMTP id s3mr131173057eeg.26.1368812404774; Fri, 17 May 2013 10:40:04 -0700 (PDT)
Received: from [10.121.233.103] ([195.50.165.102]) by mx.google.com with ESMTPSA id bn53sm20255491eeb.7.2013.05.17.10.40.03 for <multiple recipients> (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Fri, 17 May 2013 10:40:03 -0700 (PDT)
Content-Type: multipart/signed; boundary="Apple-Mail=_8D5ECF24-1D67-4DCC-BB16-DA406AB8AC79"; protocol="application/pkcs7-signature"; micalg="sha1"
Mime-Version: 1.0 (Mac OS X Mail 6.3 \(1503\))
From: John Bradley <ve7jtb@ve7jtb.com>
In-Reply-To: <84E4E4E6-EA02-4141-BA6D-77A0B3F76E7A@oracle.com>
Date: Fri, 17 May 2013 19:40:08 +0200
Message-Id: <3701BFCE-3D0F-45A3-955E-7486904B98B3@ve7jtb.com>
References: <C0CE9538-4B72-4882-9462-B08A2D386720@oracle.com> <51965446.2070404@mitre.org> <84E4E4E6-EA02-4141-BA6D-77A0B3F76E7A@oracle.com>
To: Phil Hunt <phil.hunt@oracle.com>
X-Mailer: Apple Mail (2.1503)
X-Gm-Message-State: ALoCoQktQqIVLh3aB/28I3deIGEx0X1LUF1N1zBA13mNA4hXEmZXPYABWSxPvPmz4cWDMZPQYhYf
Cc: "oauth@ietf.org WG" <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Client Credential Expiry and new Registration Access Token - draft-ietf-oauth-dyn-reg-10
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: Fri, 17 May 2013 17:40:16 -0000

1 No reasonable security profile is going to let you use the same symmetric password over long time periods.  It will be brute forced given enough time.   
The rotation time will depend on entropy and the rate an attacker can submit attempts.    I would expect profiles to look at SP-800-63 for guidance as essentially a password for the client.

2 the registration interface is likely used by a developer who probably doesn't want the client instances (say native clients) to be able to update the configuration directly.  using the client secret credential for updates would break the separation.   Registration my be done by the client itself or by a developer as a separate process.

John B.

On 2013-05-17, at 7:27 PM, Phil Hunt <phil.hunt@oracle.com> wrote:

> Justin,
> 
> Your reason was you copied connect. Ok. I was looking for a technical reason.  A security reason.
> 
> BTW.  Mike Jones says expiry wasn't the reason.  
> 
> Phil
> 
> @independentid
> www.independentid.com
> phil.hunt@oracle.com
> 
> 
> 
> 
> 
> On 2013-05-17, at 9:01 AM, Justin Richer wrote:
> 
>> The separation between these two is necessary: Not all clients have client_secret, and you want the lifecycle/management of the registration to be protected. This is what the registration access token was made for. In older versions of Connect's registration, the client_secret was forced on all clients in order to provide this, but then you had public clients with a client_secret that they couldn't use to get tokens, and it was a bad disconnect.
>> 
>> The requirement for client secrets to expire or otherwise be rotated by the server came from several implementors in the Connect WG. There's an easy way to indicate that they don't expire, and a fairly straightforward way for them to be rotated (client does a GET on its client configuration endpoint url, with its registration access token as auth).
>> 
>> -- Justin
>> 
>> On 05/16/2013 05:35 PM, Phil Hunt wrote:
>>> All,
>>> 
>>> In the dynamic registration draft, a new token type is defined called the "registration access token". Its use is intended to facilitate clients being able to update their registration and obtain new client credentials over time.  The client credential is issued on completion of the initial registration request by a particular client instance.
>>> 
>>> It appears the need for the registration access token arises from the implied assertion that client credentials should expire.
>>> --> Is anyone expiring client credentials?
>>> 
>>> To date, we haven't had much discussion about client credential expiry. It leads me to the following questions:
>>> 
>>> 1.  Is there technical value with client credential/token expiry?  Keep in mind that client credential is only used with the token endpoint over TLS connection. It is NOT used to access resources directly.
>>> 
>>> 2.  If yes, on what basis should client credential/token expire?
>>>  a.  Time?
>>>  b.  A change to the client software (e.g. version update)?
>>>  c.  Some other reason?
>>> 
>>> 3. Is it worth the complication to create a new token type (registration access token) just to allow clients to obtain new client tokens?  Keep in mind that client tokens are only usable with the AS token endpoint.  Why not instead use a client token for dyn reg and token endpoint with the rule that once a client token has expired (if they expire), an expired token may still be used at the registration end-point.
>>> 
>>> 4. Are there other reasons for the registration token?
>>> 
>>> Thanks,
>>> 
>>> Phil
>>> 
>>> @independentid
>>> www.independentid.com
>>> phil.hunt@oracle.com
>>> 
>>> 
>>> 
>>> 
>>> 
>>> _______________________________________________
>>> OAuth mailing list
>>> OAuth@ietf.org
>>> https://www.ietf.org/mailman/listinfo/oauth
>> 
> 
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth