Re: [OAUTH-WG] OAuth Security Topics -- Recommend authorization code instead of implicit

Brian Campbell <bcampbell@pingidentity.com> Fri, 30 November 2018 22:23 UTC

Return-Path: <bcampbell@pingidentity.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 C1B561310CD for <oauth@ietfa.amsl.com>; Fri, 30 Nov 2018 14:23:58 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Level:
X-Spam-Status: No, score=-1.999 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=pingidentity.com
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 1myNGMalRqXG for <oauth@ietfa.amsl.com>; Fri, 30 Nov 2018 14:23:54 -0800 (PST)
Received: from mail-io1-xd32.google.com (mail-io1-xd32.google.com [IPv6:2607:f8b0:4864:20::d32]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 6A8B01310A2 for <oauth@ietf.org>; Fri, 30 Nov 2018 14:23:54 -0800 (PST)
Received: by mail-io1-xd32.google.com with SMTP id n9so5809274ioh.7 for <oauth@ietf.org>; Fri, 30 Nov 2018 14:23:54 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pingidentity.com; s=gmail; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=JdGUrLM/79FgEyDND3//28cOVHSFxuSYHfMhyf7fa6c=; b=ixFfsi3nVgLYFUmGKPffl0h1bc2NzR1aWHAv389CXUvdgagH1cZ9hbit+MuOZC/iw3 i1SxJqQHFD2CppvlJU/u2WhqBydWinf3E4lpfNh3Ioy5cD66KvxUIZpfSx+eYQtIQe8l UbaFkLWSphwrYbw6so3cgIbTYKE53K60DZjFc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=JdGUrLM/79FgEyDND3//28cOVHSFxuSYHfMhyf7fa6c=; b=L7v0J3RlWNPLn3iZr4KdfgI4Fg9JyFK4Q5fWP2VpoEGYkNH1EQdggPhFZEqRXq7/oZ +B7zJsgF49Bk3TTWHXQyt2L1Gey4wHpciAsinJMVH55qknFNcSUJhX+et6srVBROxq0F R4KBicLq0DAPMNFTc3iI/M95JF+EfuYZKACycM3IuZjlqgY0GuiPAORVqyHvOMDwouZx Y4ABwUBTLJwSWP3AcG2Gj16zhmc4ceotCLNJKkIbd3/Hbj3aIwtynZn1aaW29119p8D7 NpuCfCOwKyZg7GwDIZspCf1Q5C8+pmtgfBS3HEojfJ70flhOjEheDf2HCtypJpkpFm69 R/qg==
X-Gm-Message-State: AA+aEWaMu4aFSKzy9qGHOSF+iFuLX9bDnV/rIqq/JsTeuzcjqMbDuHr7 +nqE3jdIWh6KXlRig9JYzWm9rF2OKrp4HrGy+qpE+NaqrfrdTW2JRhGx/Kr7GxxL9M07gZWY45e /CzBNUnEppe/a/OCUhzw=
X-Google-Smtp-Source: AFSGD/VFJ+ujtn+/4Zbi1pBafqHMHbuKWESnVzRKefvCwE2WD76yViyGxPnd8xUlaO+xhNNlMFR1DclHNsTBcjbguWY=
X-Received: by 2002:a6b:b345:: with SMTP id c66mr6315843iof.59.1543616633448; Fri, 30 Nov 2018 14:23:53 -0800 (PST)
MIME-Version: 1.0
References: <VI1PR0801MB211266BA6F6E06FFB3081425FAD80@VI1PR0801MB2112.eurprd08.prod.outlook.com> <CAD9ie-v3onmKc498cg_-a0AD58ZV=aZANtz=UV+Q0f=9N3nSzQ@mail.gmail.com> <OSBPR01MB2869E83F37046C7FCD4463DDF9D10@OSBPR01MB2869.jpnprd01.prod.outlook.com> <9FF3F589-0423-4CBC-B323-481F771D097C@lodderstedt.net> <OSBPR01MB28690F77DFFB2A85BDB83FBAF9D10@OSBPR01MB2869.jpnprd01.prod.outlook.com> <D6C66E6A-687B-4997-B830-980BE25994C2@lodderstedt.net> <CAANoGhL9aD75AV9QQRdeGE1=4ynjTnULNVr0PXXvt20ipsb4Rw@mail.gmail.com> <FE51CE20-7A49-4A13-A180-6A7C481F3965@lodderstedt.net> <CA+k3eCROjoT8Tp-L5X_oTKvusFAwjZwa5La007SJc0aGrwVs-Q@mail.gmail.com> <558F050A-AC67-45B5-8D55-A025444539A2@lodderstedt.net>
In-Reply-To: <558F050A-AC67-45B5-8D55-A025444539A2@lodderstedt.net>
From: Brian Campbell <bcampbell@pingidentity.com>
Date: Fri, 30 Nov 2018 15:23:26 -0700
Message-ID: <CA+k3eCQq1F1oMcezjPj=xmrSwuzVomFXPQLot1kVBUZEt4+agA@mail.gmail.com>
To: Torsten Lodderstedt <torsten@lodderstedt.net>
Cc: oauth <oauth@ietf.org>, fett@danielfett.de
Content-Type: multipart/alternative; boundary="0000000000001b45da057be94133"
Archived-At: <https://mailarchive.ietf.org/arch/msg/oauth/DP1Lka1hHzu9EX6xtAQmY80QkUA>
Subject: Re: [OAUTH-WG] OAuth Security Topics -- Recommend authorization code instead of implicit
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.29
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: Fri, 30 Nov 2018 22:24:03 -0000

Kind of, yes. I guess so. I think. It's just semantics. But yeah. Key
constrained might be more appropriate. But the Security Topics document
probably should allow for both/either.

I don't think that these are necessarily terms with widely agreed upon or
understood meaning. But it was pointed out to me that the OAuth 2.0 Pop
Architecture draft defines sender constraint and key confirmation as
different things (
https://tools.ietf.org/html/draft-ietf-oauth-pop-architecture-08#section-6.2
and
https://tools.ietf.org/html/draft-ietf-oauth-pop-architecture-08#section-6.3).
And the definitions their do kind of make sense when thinking about the
words used. The line between sender and key constrained isn't exactly clear
but it seems MTLS and token binding access tokens are more key constrained
than sender. The -08 version of the MTLS draft dropped the use of the
"sender constrained" terminology based on that feedback.

I dunno. Maybe the Security Topics could say something in a terminology
section that says when sender or key constrained is used within they can be
taken to mean the same concept. Or something like that.

On Fri, Nov 30, 2018 at 1:42 PM Torsten Lodderstedt <torsten@lodderstedt.net>
wrote:

> Hi Brian,
>
> we use „sender constrained tokens“ throughout the BCP to denote tokens
> bound to a sender in possession of a certain key/secret and I thought that
> was established terminology in the group. Are you suggesting „key
> constrained” would be more appropriate?
>
> kind regards,
> Torsten.
>
> Am 30.11.2018 um 21:02 schrieb Brian Campbell <bcampbell@pingidentity.com
> >:
>
> As was pointed out to me in WGLC review of the MTLS document,
> "sender-constrained" has or is likely to be interpreted with a pretty
> specific meaning of the token being bound to the client and the client
> authenticating itself to the resource and the resource checking all that
> matches up. That makes the text more restrictive than is likely intended.
> Perhaps the text should say something like "sender or key constrained" to
> allow for different variants of PoP access tokens?
>
>
>
> On Thu, Nov 29, 2018 at 11:06 AM Torsten Lodderstedt <
> torsten@lodderstedt.net> wrote:
>
>> Hi all,
>>
>> based on your feedback on the list and off list, Daniel and I polished
>> the text. That’s our proposal:
>>
>> —
>> In order to avoid these issues, clients MUST NOT use the implicit
>> grant (response type "token") or any other response type issuing access
>> tokens in the authorization response, such as "token id_token" and "code
>> token id_token“,
>> unless the issued access tokens are sender-constrained and access token
>> injection in
>> the authorization response is prevented.
>> —
>>
>> Explantation:
>> - we wanted to have the right balance between a generic definition of the
>> response types we do not recommend/allow to be used and a
>> concrete/actionable list of the affected response types.
>> - we changed from SHOULD NOT to MUST NOT as suggested by Nat and
>> supported by William
>>
>> We look forward to seeing your feedback.
>>
>> kind regards,
>> Torsten.
>>
>> > Am 29.11.2018 um 15:15 schrieb John Bradley <ve7jtb@ve7jtb.com>:
>> >
>> > I am ok with that.
>> >
>> > On Wed, Nov 28, 2018, 8:03 PM Torsten Lodderstedt <
>> torsten@lodderstedt.net wrote:
>> >
>> > > Am 28.11.2018 um 23:50 schrieb n-sakimura <n-sakimura@nri.co.jp>:
>> > >
>> > > That works.
>> >
>> > Good!
>> >
>> > I just realized this text has an issue with „token“ (only). It would
>> allow „token“ to be used if the token would sender constrained. This
>> completely ignores the fact implicit also shall be abandoned because of its
>> vulnerability for access token injection.
>> >
>> > I therefore propose a modified text:
>> >
>> >    In order to avoid these issues, Clients SHOULD NOT use the implicit
>> >    grant. Furthermore, clients SHOULD only use other response types
>> causing the authorization server to
>> >    issue an access token in the authorization response, if the
>> particular response type detects access token
>> >    injection and the issued access tokens are sender-constrained.
>> >
>> > Or we just state:
>> >
>> >   In order to avoid these issues, Clients SHOULD NOT use the response
>> type „token". The response types
>> > „token id_token“ and „code token id_token“ SOULD NOT be used, if the
>> issued access tokens are not
>> > sender-constrained.
>> >
>> > >
>> > > In fact, I would further go and say MUST NOT but that probably is too
>> much for a security consideration.
>> > >
>> >
>> > Mike suggested to go with a SHOULD NOT to get the message out but give
>> implementors time to move/change.
>> >
>> > > Best,
>> > >
>> > > Nat
>> > >
>> > > Nat Sakimura / n-sakimura@nri.co.jp / +81-90-6013-6276
>> > >
>> > >
>> このメールには、本来の宛先の方のみに限定された機密情報が含まれている場合がございます。お心あたりのない場合は、誠に申し訳ございませんが、送信者までお知らせ頂き、また受信されたメールは削除してくださいますようお願い申し上げます。
>> > >
>> > > PLEASE READ :This e-mail is confidential and intended for the named
>> recipient only.
>> > > If you are not an intended recipient, please notify the sender and
>> delete this e-mail.
>> > >
>> > > 差出人: Torsten Lodderstedt <torsten@lodderstedt.net>
>> > > 送信日時: 水曜日, 11月 28, 2018 11:38 午後
>> > > 宛先: n-sakimura
>> > > Cc: Dick Hardt; Hannes Tschofenig; oauth@ietf.org
>> > > 件名: Re: [OAUTH-WG] OAuth Security Topics -- Recommend authorization
>> code instead of implicit
>> > >
>> > > Hi Nat,
>> > >
>> > >> Am 28.11.2018 um 21:10 schrieb n-sakimura <n-sakimura@nri.co.jp>:
>> > >>
>> > >> I would support
>> > >>
>> > >> 1) clearly defining Implicit as the flow that returns access token
>> from the authorization endpoint ( some people confuses implicit as the flow
>> that returns ID Token in the front channel)
>> > >
>> > > That’s the current text:
>> > >
>> > > In order to avoid these issues, Clients SHOULD NOT use the implicit
>> > >    grant or any other response type causing the authorization server
>> to
>> > >    issue an access token in the authorization response.
>> > >
>> > > What would you like to modify?
>> > >
>> > >>
>> > >> 2) Banning the returning of the access token that are not sender
>> constrained from the authorization endpoint
>> > >
>> > > In order to avoid these issues, Clients SHOULD NOT use the implicit
>> > >    grant or any other response type causing the authorization server
>> to
>> > >    issue an access token in the authorization response, if this
>> access tokens is not sender-constraint.
>> > >
>> > > What about this?
>> > >
>> > > kind regards,
>> > > Torsten.
>> > >
>> > >>
>> > >> Best,
>> > >>
>> > >> Nat
>> > >>
>> > >>
>> > >> Outlook for iOS を入手
>> > >>
>> > >> 差出人: OAuth <oauth-bounces@ietf.org> (Dick Hardt <
>> dick.hardt@gmail.com> の代理)
>> > >> 送信日時: 水曜日, 11月 28, 2018 8:58 午後
>> > >> 宛先: Hannes Tschofenig
>> > >> Cc: oauth@ietf.org
>> > >> 件名: Re: [OAUTH-WG] OAuth Security Topics -- Recommend authorization
>> code instead of implicit
>> > >>
>> > >> +1
>> > >>
>> > >> While there are various mechanisms to alleviate some of the issues
>> of implicit, I don't think we can recommend specifics, and there may be
>> future ones in the future. I think we all agree that implicit without any
>> mitigation is problematic.
>> > >>
>> > >> How about we recommend against using implicit alone?
>> > >>
>> > >>
>> > >> On Mon, Nov 19, 2018 at 2:34 AM Hannes Tschofenig <
>> Hannes.Tschofenig@arm.com> wrote:
>> > >> Hi all,
>> > >>
>> > >> The authors of the OAuth Security Topics draft came to the
>> conclusion that it is not possible to adequately secure the implicit flow
>> against token injection since potential solutions like token binding or
>> JARM are in an early stage of adoption. For this reason, and since CORS
>> allows browser-based apps to send requests to the token endpoint, Torsten
>> suggested to use the authorization code instead of the implicit grant in
>> call cases in his presentation (see
>> https://datatracker.ietf.org/meeting/103/materials/slides-103-oauth-sessb-draft-ietf-oauth-security-topics-01
>> ).
>> > >>
>> > >> A hum in the room at IETF#103 concluded strong support for his
>> recommendations. We would like to confirm the discussion on the list.
>> > >>
>> > >> Please provide a response by December 3rd.
>> > >>
>> > >> Ciao
>> > >>
>> > >> Hannes & Rifaat
>> > >>
>> > >>
>> > >>
>> > >> IMPORTANT NOTICE: The contents of this email and any attachments are
>> confidential and may also be privileged. If you are not the intended
>> recipient, please notify the sender immediately and do not disclose the
>> contents to any other person, use it for any purpose, or store or copy the
>> information in any medium. Thank you.
>> > >> _______________________________________________
>> > >> 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
>> > >
>> >
>> > _______________________________________________
>> > 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
>>
>
> *CONFIDENTIALITY NOTICE: This email may contain confidential and
> privileged material for the sole use of the intended recipient(s). Any
> review, use, distribution or disclosure by others is strictly prohibited.
> If you have received this communication in error, please notify the sender
> immediately by e-mail and delete the message and any file attachments from
> your computer. Thank you.*
>
>

-- 
_CONFIDENTIALITY NOTICE: This email may contain confidential and privileged 
material for the sole use of the intended recipient(s). Any review, use, 
distribution or disclosure by others is strictly prohibited.  If you have 
received this communication in error, please notify the sender immediately 
by e-mail and delete the message and any file attachments from your 
computer. Thank you._