Re: [OAUTH-WG] draft-ietf-oauth-v2-http-mac and draft-tschofenig-oauth-hotk re-submitted

Sergey Beryozkin <sberyozkin@gmail.com> Thu, 28 February 2013 16:52 UTC

Return-Path: <sberyozkin@gmail.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 A26B521F8C12 for <oauth@ietfa.amsl.com>; Thu, 28 Feb 2013 08:52:39 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.499
X-Spam-Level:
X-Spam-Status: No, score=-3.499 tagged_above=-999 required=5 tests=[AWL=-1.100, BAYES_00=-2.599, J_CHICKENPOX_33=0.6, J_CHICKENPOX_63=0.6, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id OUE8RO6p4n3Y for <oauth@ietfa.amsl.com>; Thu, 28 Feb 2013 08:52:38 -0800 (PST)
Received: from mail-ee0-f50.google.com (mail-ee0-f50.google.com [74.125.83.50]) by ietfa.amsl.com (Postfix) with ESMTP id BF67B21F8C1E for <oauth@ietf.org>; Thu, 28 Feb 2013 08:52:37 -0800 (PST)
Received: by mail-ee0-f50.google.com with SMTP id e51so1710852eek.23 for <oauth@ietf.org>; Thu, 28 Feb 2013 08:52:32 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:message-id:date:from:user-agent:mime-version:to:cc :subject:references:in-reply-to:content-type :content-transfer-encoding; bh=UaGQ2ctUg1Esx+a2I3agQMwa1DVO8/sDAFBR7HQxc7s=; b=EwmsTNqdPzEhNa2Zt1pe99OPDj1CAQ0TPqSBpghc7tWW7M8hGEHgmXjQ890vzqDH8W 2OITYb9l0Yqq1W3ZR5xA9lOXbtA7VhM3HlyrcFrSo7Uuzahfi2VsvRH3WX382UXEo5by wp863ZdAVcBnPG/I843EWzdJePELhHcsf3WgNidp0pGv6YF+cE/mFQDMj/my5lWbn/Ea 0vKbu/w2c2tJDF+RFZRHcLxb3kExUFrAwudizdP/HTWdfAqJEF64+I4MKrTxJNzEq99N PhjsQ23kPcyAABUSkT4f1AV3LHypPSRZOjTSEpY7iHZa53ne83TBMHxK4xsEJXdg+r9X zBWw==
X-Received: by 10.14.200.137 with SMTP id z9mr18455256een.20.1362070352155; Thu, 28 Feb 2013 08:52:32 -0800 (PST)
Received: from [192.168.2.5] ([79.97.76.201]) by mx.google.com with ESMTPS id r4sm12747826eeo.12.2013.02.28.08.52.30 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Thu, 28 Feb 2013 08:52:31 -0800 (PST)
Message-ID: <512F8B4D.60102@gmail.com>
Date: Thu, 28 Feb 2013 16:52:29 +0000
From: Sergey Beryozkin <sberyozkin@gmail.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: Hannes Tschofenig <hannes.tschofenig@gmx.net>
References: <AECF561A-BD17-4FF0-B60A-FB8594159EA9@gmx.net> <512CAC45.9070501@gmail.com> <512CAF54.1060204@gmail.com> <1EE69E99-6051-4078-8CDE-63558075FE16@gmx.net>
In-Reply-To: <1EE69E99-6051-4078-8CDE-63558075FE16@gmx.net>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
Cc: oauth@ietf.org
Subject: Re: [OAUTH-WG] draft-ietf-oauth-v2-http-mac and draft-tschofenig-oauth-hotk re-submitted
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: Thu, 28 Feb 2013 16:52:39 -0000

Hi Hannes


On 27/02/13 08:54, Hannes Tschofenig wrote:
> Hi Sergey,
>
> good that this issue got clarified.
>
> Regarding:
>
>> By the way, should the server be able to enforce the use of MAC as opposed to having a client preferring it with its audience info ? If the client does not understand it then it does not have the capabilities to work with this specific server.
>
> Currently, the authorization server decides about the use of a certain token type. The audience field is used to allow the client to tell the server which resource  server it wants to talk to. This is of value not only for this specification but also for the bearer token specification. In this specification the resource server uses this audience field for selecting the appropriate key to encrypt the access token. If the client is tricked in sending the access token to a different resource server then that server will not be able to decrypt the access token and will not be able to retrieve the session key. Consequently, it will not be able to impersonate the client towards another resource server.
Thanks for the explanation, I should've read better, 'audience' is a 
useful attribute.

What confused me was this text: "Authorization servers issue MAC Tokens 
based on requests from clients." - it kind of reads to me that the 
clients drive whether it is MAC or some other token type is issued in 
exchange for a grant while I'd expect the AS administrators deciding on 
what sort of token type is used.

As for "MUST" and audience - might it make sense to replace it with 
SHOULD or RECOMMENDED ? I wonder if some issues like port number of 
individual resource servers comprising the bigger resource server 
application, etc, might make it difficult to use 'audience' - not sure 
if it of real concern or not :-)

Thanks, Sergey

>
> Ciao
> Hannes
>
> On Feb 26, 2013, at 2:49 PM, Sergey Beryozkin wrote:
>
>> Hi Again
>> On 26/02/13 12:36, Sergey Beryozkin wrote:
>>> Hi Hannes
>>> On 25/02/13 12:46, Hannes Tschofenig wrote:
>>>> Hi all,
>>>>
>>>> I just submitted an updated version of the
>>>> draft-ietf-oauth-v2-http-mac-03.txt.
>>>>
>>>
>>> It definitely has more interesting content (about architecture, session
>>> keys, etc) - this is really useful IMHO.
>>>
>>> What I'm not really understanding is why a 2-way TLS transport for the
>>> session key is not even considered.
>>> Instead this uber-complex (in the context of this spec, IMHO) JWT thing
>>> is there once again. I appreciate why it may be the case, primarily to
>>> do with reusing the work done around JWT and having some
>>> common/recommended access token representation, but disallowing a basic
>>> bearer token be 'enhanced' with MAC over two-way TLS seems like not
>>> ideal at all IMHO.
>>> To be honest, I'm not sure why would anyone use JWT+MAC instead of just
>>> JWE, in cases when people are really comfortable with doing JWT. I guess
>>> we may be talking now about better security characteristics, but this
>>> will help a very limited audience as compared to a wider one which can
>>> use Bearer+MAC over 2-way TLS, straightforward, very cheap effort to get
>>> started.
>>>
>> Oops, I've misread, I think I did, I was reading a Session Key Transport to Resource Server section [1] where using JWT seems just OK, while a transport to the client section [2] does not enforce the use of JWT.
>>
>> Sorry for a noise :-)
>>
>> By the way, should the server be able to enforce the use of MAC as opposed to having a client preferring it with its audience info ? If the client does not understand it then it does not have the capabilities to work with this specific server.
>>
>> Thanks, Sergey
>>
>> [1] http://tools.ietf.org/html/draft-ietf-oauth-v2-http-mac-03#section-4.2
>> [2] http://tools.ietf.org/html/draft-ietf-oauth-v2-http-mac-03#section-4.1
>>
>>> just my 2c
>>> Thanks, Sergey
>>>
>>>> I would like to point out that this is **discussion input** -- not
>>>> agreed content. Anything in the document is subject to change!
>>>> You also may notice that there are a few questions in the writeup.
>>>>
>>>> I was trying to more specific about some of the design aspects that
>>>> folks had proposed during the last few months.
>>>> I have also re-submitted the draft-tschofenig-oauth-hotk, which
>>>> includes a TLS and a JSON-based solution approach.
>>>>
>>>> In general, the open questions still seem to be related to
>>>> * Key distribution: What should be described in a document? What is
>>>> mandatory to implement?
>>>> * Selective header field protection: This is something that was
>>>> brought forward in discussions and I have included a proposal of how
>>>> this could look like.
>>>> * Channel Binding: Functionality is also included to deal with
>>>> man-in-the-middle attacks against TLS. There are, however, two types
>>>> of channel bindings defined in RFC 5929. Are both needed? If not,
>>>> which one should be selected?
>>>> * Integrity protection and data origin authentication in both
>>>> directions: The current writeup allows the protection to be extended
>>>> to messages beyond the initial request. This also offers key
>>>> confirmation by the server and protection of any responses.
>>>>
>>>> Writing the text I also noticed that I do not quite understand how
>>>> nested JWT documents are supposed to look like. For example, how do I
>>>> encrypt the mac_key carried inside the JWT plus add a signature of all
>>>> other fields? Currently, I have just encrypted the entire payload.
>>>>
>>>> I hope to have some discussions prior to the IETF meeting so that we
>>>> have a more fruitful discussion at the face-to-face meeting.
>>>>
>>>> Ciao
>>>> Hannes
>>>>
>>>> _______________________________________________
>>>> 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
>