Re: [OAUTH-WG] Review comments to PoP Architecture

Phil Hunt <phil.hunt@oracle.com> Mon, 21 September 2015 17:41 UTC

Return-Path: <phil.hunt@oracle.com>
X-Original-To: oauth@ietfa.amsl.com
Delivered-To: oauth@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id AD09E1ACDE3 for <oauth@ietfa.amsl.com>; Mon, 21 Sep 2015 10:41:57 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.21
X-Spam-Level:
X-Spam-Status: No, score=-4.21 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] 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 N9kH0cj2uxgg for <oauth@ietfa.amsl.com>; Mon, 21 Sep 2015 10:41:53 -0700 (PDT)
Received: from userp1040.oracle.com (userp1040.oracle.com [156.151.31.81]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 8B5FA1ACDDC for <oauth@ietf.org>; Mon, 21 Sep 2015 10:41:53 -0700 (PDT)
Received: from userv0021.oracle.com (userv0021.oracle.com [156.151.31.71]) by userp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id t8LHfmKA007279 (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Mon, 21 Sep 2015 17:41:49 GMT
Received: from userv0121.oracle.com (userv0121.oracle.com [156.151.31.72]) by userv0021.oracle.com (8.13.8/8.13.8) with ESMTP id t8LHfmUi029281 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL); Mon, 21 Sep 2015 17:41:48 GMT
Received: from abhmp0012.oracle.com (abhmp0012.oracle.com [141.146.116.18]) by userv0121.oracle.com (8.13.8/8.13.8) with ESMTP id t8LHfmAt017308; Mon, 21 Sep 2015 17:41:48 GMT
Received: from [192.168.1.200] (/174.7.250.104) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Mon, 21 Sep 2015 10:41:47 -0700
Content-Type: multipart/alternative; boundary="Apple-Mail=_952D5089-6964-4A8D-8D15-2DB22F4B4D23"
Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2104\))
From: Phil Hunt <phil.hunt@oracle.com>
In-Reply-To: <D223A7DD.1D140%kepeng.lkp@alibaba-inc.com>
Date: Mon, 21 Sep 2015 10:41:45 -0700
Message-Id: <683071E1-4663-4C97-A4A8-E4982F6B2301@oracle.com>
References: <D223A7DD.1D140%kepeng.lkp@alibaba-inc.com>
To: Kepeng Li <kepeng.lkp@alibaba-inc.com>
X-Mailer: Apple Mail (2.2104)
X-Source-IP: userv0021.oracle.com [156.151.31.71]
Archived-At: <http://mailarchive.ietf.org/arch/msg/oauth/XoJcC5YwKOcbVZZC0hEfAHA4gvo>
Cc: oauth@ietf.org
Subject: Re: [OAUTH-WG] Review comments to PoP Architecture
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.15
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: <https://mailarchive.ietf.org/arch/browse/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: Mon, 21 Sep 2015 17:41:57 -0000

Kepeng,

Kepeng, thanks for the review!

My responses (to both emails) to are contained in this message prefixed with [ph] below.

Pending further comments from the WG over the next day or so, I will post a revision early Wednesday (pacific time).

I would like to draw the WG’s attention to my recommendation for Section 7, comment 2. I’m not sure if I have the definition correct yet. It still seems awkward to me.

Thanks,

Phil

@independentid
www.independentid.com
phil.hunt@oracle.com

> On Sep 19, 2015, at 9:02 AM, Kepeng Li <kepeng.lkp@alibaba-inc.com> wrote:
> 
> Additional comments:
> 
> 6. Section 4:
> 1) An attacker may generate a bogus tokens …
> [Kepeng] Change “tokens” to “token”.
[ph] Agreed.
>  
> 2) A client may also re-use access tokens for some other resource servers.
> [Kepeng] Change “re-use” to “reuse”. The pragraph title says “reuse”. Also in other places.
[ph] Agreed
>  
> 3) To illustrate key confirmation the first examples borrow from Kerberos and use symmetric key cryptography.
> [Kepeng] Change “the first examples borrow” to “the first example is borrowed”.
[PH] Agreed.
>  
> 7. Section 5.4
> 1) As a high level message, there are various ways how the threats can be mitigated and while the details of each solution is somewhat different they all ultimately accomplish the goal.
> [Kepeng] Change the last sentence to: the details of each solution are somewhat different even they all can ultimately accomplish the goal.
[ph]

PROPOSED TEXT:
As a high level message, there are various ways the threats can
   be mitigated. While the details of each solution are somewhat
   different, they all accomplish the goal of mitigating the threats.

>  
> 2) Depending on the chosen layer for providing client-side authentication there may be additional challenges due Web server load balancing, lack of API access to identity information, etc.
> [Kepeng] Change “due” to “due to”.
[ph] Sec 5.4 Sender Constraints.  Agreed.
>  
> 8. Section 6:
> [Kepeng] It will be better if we can divide this section into several sub-sections, e.g. each sub-section can be related to each figure.

broke into the following sub-sections:

* Client and Authorization Server Interaction
 ** Symmetric Keys
 ** Asymmetric Keys
* Client and Resource Server Interaction
* Resource and Authorization Server Interaction (Token Introspection)
>  
> 9. Section 7:
> 1) [Kepeng] Usually the order for a specification is: use cases, requirements, then architecture. Why do we have requirements after architecture? Should we move this section ahead?
[ph] Agreed.  Will move ahead of “Threat Mitigation” and after “Security and Privacy Threats” section.

>  
> 2) The authorization checking prevents an elevation of privilege attack, and it ensures that an unauthorized authorized is detected.
> [Kepeng] What is “an unauthorized authorized”? Should it be “an unauthorized access”?
[ph]  I’m not sure I captured the WG’s intent here. Can someone suggest a better explanation for Authorization?
ORIGINAL:
      Client and resource server authorization MUST be performed.  These
      entities MUST demonstrate possession of the appropriate keying
      material, without disclosing it.  Authorization is REQUIRED
      whenever a client interacts with an authorization server.  The
      authorization checking prevents an elevation of privilege attack,
      and it ensures that an unauthorized authorized is detected.

PROPOSED:
      Client and resource server authorization MUST be performed.  These
      entities MUST demonstrate possession of the appropriate keying
      material, without disclosing it.  Authorization is REQUIRED
      whenever a client interacts with an authorization server.  
      Authorization checking prevents an elevation of privilege attack.

> 
> Kind Regards
> Kepeng
> 
> ·¢¼þÈË: Li Kepeng <kepeng.lkp@alibaba-inc.com <mailto:kepeng.lkp@alibaba-inc.com>>
> ÈÕÆÚ: Saturday, 19 September, 2015 12:55 am
> ÖÁ: <oauth@ietf.org <mailto:oauth@ietf.org>>
> Ö÷Ìâ: [OAUTH-WG] Review comments to PoP Architecture
> 
> Hello authors,
> 
> Please find my review comments to PoP Architecture document:
> https://tools.ietf.org/html/draft-ietf-oauth-pop-architecture-02 <https://tools.ietf.org/html/draft-ietf-oauth-pop-architecture-02>
> 
> 1.     Introduction:
> At the time of writing the OAuth 2.0 protocol family ([RFC6749],    [RFC6750], and [RFC6819]) offer a single standardized security mechanism to access protected resources, namely the bearer token.
> [Kepeng]  This sentences seem to be incomplete. What offers a security mechanism? Also why do we mention “at the time of writing”? Is the situation changed now?

[PH] Agreed.

PROPOSED TEXT:
The OAuth 2.0 protocol family ([RFC6749], [RFC6750], and [RFC6819
]) offer a single token type known as the “bearer” token to access protected resources.

>  
> 2. Section 3:
> The main use case that motivates better-than-bearer token security is    the desire of resource servers to obtain additional assurance that    the client is indeed authorized to present an access token.
> [Kepeng] About “better-than-bear”, is it a word? Maybe reword the sentence a little bit.
[PH]
PROPOSED TEXT:
The main use case that motivates improvement upon “bearer” tokens is…

>  
> 3.Section 3.1
> 1) In a legitimate use case consider chaining of computations whereby a resource server needs to consult other third party resource servers to complete the requested operation. 
> [Kepeng] This sentence seems to be incomplete. Maybe reword it a little bit?
[PH] 
ORIGINAL:
Imagine a scenario where a resource server that receives a valid
   access token re-uses it with other resource server.  The reason for
   re-use may be malicious or may well be legitimate.  In a legitimate
use case consider chaining of computations whereby a resource server
   needs to consult other third party resource servers to complete the
   requested operation.

PROPOSED TEXT:
In a scenario where a resource server receives a valid access token, 
the resource server than re-uses it with other resource server.  The 
reason for re-use may be malicious or may well be legitimate.  In a 
legitimate case, the intent is to support chaining of computations 
whereby a resource server needs to consult other third party resource 
servers to complete a requested operation.  


>  
> 2) In this use case additional information is conveyed to the resource server to ensure that no entity entity has tampered with the TLS connection.
> [Kepeng] Change “is conveyed” to “should be conveyed”?
[ph] Agreed (last para of Sec 3.2)
>  
> 4. Section 3.3:
> First, an eavesdropper may steal an access token and represent it at a different resource server.
> [Kepeng] Change “represent it at” to “present it to”?
[ph] Agreed.
>  
> 5. Section 3.4:
> These load balancers may terminate the TLS connection setup and HTTP traffic is transmitted in the clear from the load balancer to the resource server.
> [Kepeng] Don’t understand “in the clear”. Should it be “in the wire”?
[ph]
ORIGINAL:
These load balancers may terminate the TLS
   connection setup and HTTP traffic is transmitted in the clear from
   the load balancer to the resource server.

PROPOSED TEXT:
These load balancers may terminate the TLS
   connection setup and HTTP traffic is transmitted without TLS protection from
   the load balancer to the resource server.

> 
> Kind Regards
> Kepeng
> _______________________________________________ OAuth mailing list OAuth@ietf.org <mailto:OAuth@ietf.org> https://www.ietf.org/mailman/listinfo/oauth <https://www.ietf.org/mailman/listinfo/oauth>_______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth