Re: [OAUTH-WG] Oauth Server to Server

Antonio Sanso <asanso@adobe.com> Tue, 24 September 2013 15:17 UTC

Return-Path: <asanso@adobe.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 2E6FA21F9642 for <oauth@ietfa.amsl.com>; Tue, 24 Sep 2013 08:17:57 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.757
X-Spam-Level:
X-Spam-Status: No, score=-4.757 tagged_above=-999 required=5 tests=[AWL=-0.614, BAYES_00=-2.599, FRT_ADOBE2=2.455, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-4]
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 Z9PUHDUqzu66 for <oauth@ietfa.amsl.com>; Tue, 24 Sep 2013 08:17:52 -0700 (PDT)
Received: from exprod6og101.obsmtp.com (exprod6og101.obsmtp.com [64.18.1.181]) by ietfa.amsl.com (Postfix) with ESMTP id 555B511E813F for <oauth@ietf.org>; Tue, 24 Sep 2013 08:17:50 -0700 (PDT)
Received: from outbound-smtp-2.corp.adobe.com ([193.104.215.16]) by exprod6ob101.postini.com ([64.18.5.12]) with SMTP ID DSNKUkGtGuCYEuzBSgF24vp+JYORMEbJ4lRN@postini.com; Tue, 24 Sep 2013 08:17:51 PDT
Received: from inner-relay-1.corp.adobe.com (inner-relay-1.corp.adobe.com [153.32.1.51]) by outbound-smtp-2.corp.adobe.com (8.12.10/8.12.10) with ESMTP id r8OFHg49025947; Tue, 24 Sep 2013 08:17:43 -0700 (PDT)
Received: from nahub01.corp.adobe.com (nahub01.corp.adobe.com [10.8.189.97]) by inner-relay-1.corp.adobe.com (8.12.10/8.12.10) with ESMTP id r8OFHd6E013784; Tue, 24 Sep 2013 08:17:41 -0700 (PDT)
Received: from eurcas01.eur.adobe.com (10.128.4.27) by nahub01.corp.adobe.com (10.8.189.97) with Microsoft SMTP Server (TLS) id 8.3.327.1; Tue, 24 Sep 2013 08:17:35 -0700
Received: from [10.132.1.66] (10.132.1.66) by eurcas01.eur.adobe.com (10.128.4.111) with Microsoft SMTP Server id 8.3.327.1; Tue, 24 Sep 2013 16:17:24 +0100
Content-Type: multipart/alternative; boundary="Apple-Mail=_3C0BF93F-DE5E-4B87-ADF4-C784D698D4BC"
MIME-Version: 1.0 (Mac OS X Mail 6.6 \(1510\))
From: Antonio Sanso <asanso@adobe.com>
In-Reply-To: <1510634430014420341@unknownmsgid>
Date: Tue, 24 Sep 2013 17:17:17 +0200
Message-ID: <4AEF7FF7-06A2-4A2E-92D4-B18DDBC07B21@adobe.com>
References: <832FA2A6-D0DD-45D0-9107-7EE02B6793B7@adobe.com> <CA+k3eCSVwT15wBwuCZNy1EuiVOSwVg+TThVvWnbwZ1wHVvfA-A@mail.gmail.com> <7558541E-3517-4F71-A049-6143D4247738@adobe.com> <1510634430014420341@unknownmsgid>
To: Chuck Mortimore <cmortimore@salesforce.com>
X-Mailer: Apple Mail (2.1510)
Cc: "oauth@ietf.org WG" <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Oauth Server to Server
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: Tue, 24 Sep 2013 15:17:57 -0000

Hi chuck,


On Sep 24, 2013, at 4:57 PM, Chuck Mortimore <cmortimore@salesforce.com> wrote:

> I'm not sure I understand your point here.   I don't believe there is anything custom or special about the google implementation here vs JWT.   It looks identical to our implementation.  
> 
> Can you elaborate?

sure.

What is novel IMHO in the Google approach is not the bearer format , that is still JWT (or JWS in this case) but the overall scenario.

As I see OAuth 2 is really good to cover use cases where there is human interaction (so an user namely the resource owner can provider username and password to the AS but not to the client and get back the Bearer Token).
This is obviously covered from [2] and [3] namely Authorization Code Grant and Implicit grant flow.

When there is not human interaction involved what RFC6749 offers is the already cited Resource Owner Password Credentials Grant that IMHO is a no go since it required the resource owner to share his password with the client.

The way as Google offers to solve the same situation (namely obtain , or create in this case, a bearer token without having the resource owner password) is using asymmetric cryptography. What is happening is that quoting

"During the creation of a Service Account, you will be prompted to download a private key. Be sure to save this private key in a secure location. After the Service Account has been created, you will also have access to the client_id associated with the private key."

An alternative mentioned from John Bradley previously is that clients can securely generate key pairs but in terms of security would be identical.

I hope is a bit clearer now  :)

regards

antonio


[2] http://tools.ietf.org/html/rfc6749#section-4.1
[3] http://tools.ietf.org/html/rfc6749#section-4.2

> 
> - cmort
> 
> On Sep 24, 2013, at 5:57 AM, Antonio Sanso <asanso@adobe.com> wrote:
> 
>> Hi Brian,
>> 
>> thanks a lot for your pointer.
>> 
>> What the custom Google flow provides more than the oauth jwt bearer draft is IMHO an explicit way to build JWT without any 'human interaction' so a server can handle the construction of an expired JWT bearer token on his own.
>> 
>> This can of course be figured out by any implementer (as the Google folks obviously did) but it would be nice to provide this black on white on a spec IMHO
>> 
>> regards
>> 
>> Antonio
>> 
>> 
>> On Sep 24, 2013, at 2:35 PM, Brian Campbell <bcampbell@pingidentity.com> wrote:
>> 
>>> Might this http://tools.ietf.org/html/draft-ietf-oauth-jwt-bearer be what you're looking for?
>>> 
>>> 
>>> On Tue, Sep 24, 2013 at 6:08 AM, Antonio Sanso <asanso@adobe.com> wrote:
>>> Hi *,
>>> 
>>> apologis to be back to this argument :).
>>> 
>>> Let me try to better explain one use case that IMHO would be really good to have in the OAuth specification family :)
>>> 
>>> At the moment the only "OAuth standard" way I know to do OAuth server to server is to use [0] namely Resource Owner Password Credentials Grant.
>>> 
>>> Let me tell I am not a big fun of this particular flow :) (but this is another story).
>>> 
>>> An arguable better way to solve this scenario is to user (and why not to standardise :S?) the method used by Google (or a variant of it) see [1].
>>> 
>>> Couple of more things:
>>> 
>>> - I do not know if Google would be interested to put some effort to standardise it (is anybody from Google lurking :) e.g.Tim Bray :D )
>>> - I am not too familiar with IETF process. Would the OAuth WG take in consideration such proposal draft??
>>> 
>>> Thanks and regards
>>> 
>>> Antonio
>>> 
>>> [0] http://tools.ietf.org/html/rfc6749#section-4.3
>>> [1] https://developers.google.com/accounts/docs/OAuth2ServiceAccount
>>> _______________________________________________
>>> 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