Re: [OAUTH-WG] RFC 7009

"Phil Hunt (IDM)" <phil.hunt@oracle.com> Tue, 06 June 2017 22:32 UTC

Return-Path: <phil.hunt@oracle.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 C11C7127B5A for <oauth@ietfa.amsl.com>; Tue, 6 Jun 2017 15:32:02 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.715
X-Spam-Level:
X-Spam-Status: No, score=-0.715 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, HTTPS_HTTP_MISMATCH=1.989, MIME_QP_LONG_LINE=0.001, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001, SUBJ_ALL_CAPS=1.506, T_KAM_HTML_FONT_INVALID=0.01] autolearn=ham autolearn_force=no
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 QUaLbw2-1BFL for <oauth@ietfa.amsl.com>; Tue, 6 Jun 2017 15:32:00 -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 32FD2126B71 for <oauth@ietf.org>; Tue, 6 Jun 2017 15:32:00 -0700 (PDT)
Received: from userv0022.oracle.com (userv0022.oracle.com [156.151.31.74]) by userp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id v56MVxt9019722 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 6 Jun 2017 22:31:59 GMT
Received: from userv0121.oracle.com (userv0121.oracle.com [156.151.31.72]) by userv0022.oracle.com (8.14.4/8.14.4) with ESMTP id v56MVwL6012789 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 6 Jun 2017 22:31:59 GMT
Received: from abhmp0019.oracle.com (abhmp0019.oracle.com [141.146.116.25]) by userv0121.oracle.com (8.14.4/8.13.8) with ESMTP id v56MVvKL010584; Tue, 6 Jun 2017 22:31:57 GMT
Received: from [10.0.1.19] (/24.86.190.97) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Tue, 06 Jun 2017 15:31:57 -0700
Content-Type: multipart/alternative; boundary="Apple-Mail-9D16EA38-1E2B-464A-8487-D83D965C57B2"
Mime-Version: 1.0 (1.0)
From: "Phil Hunt (IDM)" <phil.hunt@oracle.com>
X-Mailer: iPhone Mail (14F89)
In-Reply-To: <D9196138-6F17-4382-A14A-FECAD0A70357@mit.edu>
Date: Tue, 06 Jun 2017 15:31:54 -0700
Cc: Brig Lamoreaux <Brig.Lamoreaux@microsoft.com>, "<oauth@ietf.org>" <oauth@ietf.org>
Content-Transfer-Encoding: 7bit
Message-Id: <B3FB2C2F-8227-4E10-B8D8-74563F6547D7@oracle.com>
References: <CY4PR03MB2920241827103D122E9EC82085FF0@CY4PR03MB2920.namprd03.prod.outlook.com> <FAF2C6DD-0A7A-4BE1-BDD3-E54B822CCD4D@mit.edu> <DM5PR03MB292263A0429C2BEE01E95BB085CB0@DM5PR03MB2922.namprd03.prod.outlook.com> <cc72fa5b-cd75-e6d6-7b80-af5e009c5cb2@mit.edu> <DM5PR03MB292236BB93A86422285D63DA85CB0@DM5PR03MB2922.namprd03.prod.outlook.com> <D9196138-6F17-4382-A14A-FECAD0A70357@mit.edu>
To: Justin Richer <jricher@mit.edu>
X-Source-IP: userv0022.oracle.com [156.151.31.74]
Archived-At: <https://mailarchive.ietf.org/arch/msg/oauth/iqerptgVmyxRfcm_XwoNq4NeETw>
Subject: Re: [OAUTH-WG] RFC 7009
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.22
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: Tue, 06 Jun 2017 22:32:03 -0000

This is why i expect a secevent token revocation event to be defined to complement 7009 once secevents moves further along. 

We want to be able to know in near real time when a token is revoked to avoid constant checks to see if a token is still good. 

Phil

> On Jun 6, 2017, at 3:18 PM, Justin Richer <jricher@mit.edu> wrote:
> 
> That really depends on the nature of your tokens and how you manage their internal validity. It’s really as soon as possible, isn’t it? If you can invalidate it immediately, do that. In our implementation, we delete it from the data store as soon as the revocation request comes in, which invalidates it. Downstream RS’s might have cached introspection (RFC7662) results so they’ll find out once their caches expire. If you’ve got some other synchronization method that takes some time to propagate, then that’s going to be the answer. All of this is dependent on your implementation and not on the revocation protocol, but in all cases I see no reason to *wait* any amount of time to revoke a token that’s been requested for revocation by a client, for any reason. The client is effectively saying “if you see this token again it isn’t from me”, which should be a good enough indication to throw it out as soon as possible.
> 
> This all falls apart if you’re using self-contained tokens — there’s not a good way to invalidate a self-contained token without using some kind of lookup service. RFC7662 defines such a service for OAuth, but then your tokens aren’t really fully self-contained anymore and you’re simply stuck waiting for the compromised token to expire.
> 
>  — Justin
> 
>> On Jun 6, 2017, at 6:11 PM, Brig Lamoreaux <Brig.Lamoreaux@microsoft.com> wrote:
>> 
>> This is where we have the question around timeouts. If the client thinks its token is compromised, how long should 7009 take to invalidate.
>>  
>>  
>>  
>> From: Justin Richer [mailto:jricher@mit.edu] 
>> Sent: Tuesday, June 6, 2017 2:46 PM
>> To: Brig Lamoreaux <Brig.Lamoreaux@microsoft.com>
>> Cc: <oauth@ietf.org> <oauth@ietf.org>
>> Subject: Re: [OAUTH-WG] RFC 7009
>>  
>> 7009 doesn't, really. If the client thinks its token is compromised, it can revoke it using 7009. If the server decides the token is compromised, it invalidates it on its own, not involving 7009. The client finds out the token isn't good anymore the next time it tries to use the token -- OAuth clients always need to be prepared for their token not working at some point. Good news is that the remedy for having a token that doesn't work is to just do OAuth again.
>> 
>>  -- Justin
>> 
>>  
>> On 6/6/2017 5:43 PM, Brig Lamoreaux wrote:
>> Thanks for the reply. How do the RFC address a token that has been compromised?
>>  
>> From: Justin Richer [mailto:jricher@mit.edu] 
>> Sent: Tuesday, June 6, 2017 9:12 AM
>> To: Brig Lamoreaux <Brig.Lamoreaux@microsoft.com>
>> Cc: <oauth@ietf.org> <oauth@ietf.org>
>> Subject: Re: [OAUTH-WG] RFC 7009
>>  
>> OAuth doesn’t specify and specific timeout period, it’s up to the AS that issues the token to determine how long the token is good for. RFC7009 isn’t about timeout periods, it’s about the client proactively telling the AS that it doesn’t need a token anymore and the AS should throw it out, likely prior to any timeouts.
>>  
>>  — Justin
>>  
>> On May 25, 2017, at 12:23 PM, Brig Lamoreaux <Brig.Lamoreaux@microsoft.com> wrote:
>>  
>> Hi,
>> 
>> What is the specified timeout period to invalidate the token?
>>  
>> Brig Lamoreaux
>> Data Solution Architect
>> brig.lamoreaux@microsoft.com
>> 480-828-8707
>> US Desert/Mountain Tempe
>>  
>>  
>> <image001.jpg>
>>  
>>  
>>  
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>>  
>>  
> 
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://urldefense.proofpoint.com/v2/url?u=https-3A__www.ietf.org_mailman_listinfo_oauth&d=DwICAg&c=RoP1YumCXCgaWHvlZYR8PQcxBKCX5YTpkKY057SbK10&r=JBm5biRrKugCH0FkITSeGJxPEivzjWwlNKe4C_lLIGk&m=7yMIczBrZnmQ14Nkf4MBGaIHnxRyiLGXB1Xhuxp1Ur0&s=TaKHdPgtEPkCV_YuOHlkoXRZJjf0k8Y4-yowD3YbhPw&e=