Re: [OAUTH-WG] Holder-of-the-Key for OAuth

John Bradley <ve7jtb@ve7jtb.com> Wed, 11 July 2012 11:32 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 B663821F863D for <oauth@ietfa.amsl.com>; Wed, 11 Jul 2012 04:32:35 -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=[AWL=0.000, 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 X5XKux-nS3YG for <oauth@ietfa.amsl.com>; Wed, 11 Jul 2012 04:32:35 -0700 (PDT)
Received: from mail-qc0-f172.google.com (mail-qc0-f172.google.com [209.85.216.172]) by ietfa.amsl.com (Postfix) with ESMTP id AE05F21F8631 for <oauth@ietf.org>; Wed, 11 Jul 2012 04:32:34 -0700 (PDT)
Received: by qcac10 with SMTP id c10so693693qca.31 for <oauth@ietf.org>; Wed, 11 Jul 2012 04:33:04 -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=TeRzRrn7PYvEQUFZtwg/NntvtkrLQeMneOL4mqOZZZI=; b=cJ+P7+I/GSfER5gfccmj1Iu7BgeNexWyg3BiQwzlu/Ya1BCyCR9QViy+HMi0uMCvPK zlMYuommZUyoTvqBZdHp3n+LMS3eX42sBgAw1BOUTAMGh3DiYkRNTCPvdv3u900rUEH0 YcI9lIx59g9mglK8LthpA8aTj6hfSwr8vvNeHO8IFO/gs8RzYWfoxzmGgeO/otMj5CsQ zRMumRPGQHxP1VVEYZyMBggdyxeSHOQML52xsbMaZ3FZpbyn80jFgrVENfsi0WPH+A34 qkjFwu+7jGC3N19l0XzpItgOturDpxsMBNKB/6hRau52wl50NMYT+GEidOpitbGHh9AH XzBA==
Received: by 10.229.136.147 with SMTP id r19mr8975477qct.75.1342006384681; Wed, 11 Jul 2012 04:33:04 -0700 (PDT)
Received: from [192.168.5.185] (ip-64-134-65-40.public.wayport.net. [64.134.65.40]) by mx.google.com with ESMTPS id he6sm2870581qab.13.2012.07.11.04.33.03 (version=TLSv1/SSLv3 cipher=OTHER); Wed, 11 Jul 2012 04:33:04 -0700 (PDT)
Mime-Version: 1.0 (Apple Message framework v1278)
Content-Type: text/plain; charset="windows-1252"
From: John Bradley <ve7jtb@ve7jtb.com>
In-Reply-To: <208DC624-7422-4166-B579-9328F09218D1@gmx.net>
Date: Wed, 11 Jul 2012 07:33:02 -0400
Content-Transfer-Encoding: quoted-printable
Message-Id: <D48F525F-9DF7-4424-870B-77A848BB69AF@ve7jtb.com>
References: <8FB1BC31-D183-47A0-9792-4FDF460AFAA1@gmx.net> <255B9BB34FB7D647A506DC292726F6E114F7977420@WSMSG3153V.srv.dir.telstra.com> <1341939214.6093.YahooMailNeo@web31811.mail.mud.yahoo.com> <255B9BB34FB7D647A506DC292726F6E114F7977D9C@WSMSG3153V.srv.dir.telstra.com> <ED7B5A28-B1FA-40AF-9916-4A272BA56F4A@ve7jtb.com> <255B9BB34FB7D647A506DC292726F6E114F7A12C10@WSMSG3153V.srv.dir.telstra.com> <E105DB5B-CFDB-442F-A90A-39F08A4D74E8@ve7jtb.com> <208DC624-7422-4166-B579-9328F09218D1@gmx.net>
To: Hannes Tschofenig <hannes.tschofenig@gmx.net>
X-Mailer: Apple Mail (2.1278)
X-Gm-Message-State: ALoCoQn1YCSxpTwcQiRK7azRLQbHQQqWba38/rgjuFwOaqmb/aZwN239+KSWiOGP6PVc4N6CKRct
Cc: OAuth WG <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Holder-of-the-Key for OAuth
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: Wed, 11 Jul 2012 11:32:35 -0000

On the specifics of OAuth bindings.

We may profit by stepping back a bit and agreeing on what threats we are attempting to mitigate.

One threat that is on a number of peoples minds is the complete failure of PKIX.
Another is the simple fact that many clients don't validate server certificates and ignore warnings.

One of the issues people had with MAC was that while it protected the client from MTM in the connection to the protected resource it basically did nothing to stop the same attack between the client and token endpoint where the attacker gets the MAC token and secret.

Agreeing on what attacks against OAuth we are trying to prevent may help focus our discussions on bindings.  

We need to be careful not to just push the problem around, from endpoint to endpoint.

John B.


On 2012-07-11, at 6:48 AM, Hannes Tschofenig wrote:

> It is certainly a plus that we can now make use of the JSON work. This will improve interoperability and avoid making implementation mistakes if developers use libraries (with the JOSE features). 
> 
> On Jul 11, 2012, at 1:37 PM, John Bradley wrote:
> 
>> The POST of a signed blob would work with JOSE or CMS signing the blob.
>> 
>> I suspect that would be more of a application level signing than OAuth though.
>> Though worth talking about.
>> 
>> I suspect a OAuth level signing might look a bit like HMAC.
>> 
>> The access_token might be:
>> 1 a JWT including a JWK structure for the proof key (public key or key reference).
>> 2 a opaque token that is used by the Protected resource to look up the actual token via a STS like mechanism.   
>> 3 a SAML token in JOSE is also a possibility for some people.
>> 
>> The above choice should be opaque to the client.
>> 
>> For asymmetric binding the key to TLS seems like a good idea.  There are however many practical key management issues that clients may have (especially if multiple keys are used) and it may not be end to end.  
>> 
>> Another OAuth binding might be to use a token collection.  One being the access token and another being a JWT/JWS containing one or more hashes of the HTTP message or message components.
>> 
>> I don't want to reinvent SOAP, or WS-Security, however I also don't want to reject all of the use-cases out of hand.
>> 
>> The common uses need to be dead simple for clients.
>> 
>> John B.
>> 
>> 
>> 
>> On 2012-07-11, at 3:37 AM, Manger, James H wrote:
>> 
>>>>> John Bradley wrote:
>>>>>> I suspect that we will need two OAuth bindings. One for TLS and one for signed message.
>>>>> 
>>>>> I agree. For instance, set “token_type”:”tls_client_cert” when the client has to use TLS; set “token_type”:”cms” when the client has to digitally sign messages using Crypto Message Syntax (CMS); ….
>>> 
>>>> Perhaps JWT/JOSE rather than CMS:)
>>>> 
>>>> Though there will need to be discussions about what part of the message needs to be signed.
>>> 
>>> I was about to list JOSE as the example, but baulked precisely because of this issue. It wasn't obvious how a request to a protected resource would be wrapped in a JOSE message. At least with CMS (or WS-*, or XML DSig, or SOAP…) you can guess that the request is a POST of a signed blob.
>>> 
>>> --
>>> James Manger
>> 
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>