Re: [OAUTH-WG] A few comments on draft-ietf-oauth-rar-01
Francis Pouatcha <fpo@adorsys.de> Mon, 13 July 2020 15:46 UTC
Return-Path: <fpo@adorsys.de>
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 687073A14C7 for <oauth@ietfa.amsl.com>; Mon, 13 Jul 2020 08:46:02 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.098
X-Spam-Level:
X-Spam-Status: No, score=-2.098 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, 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=adorsys.de
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 5zoS7Ef2OaBC for <oauth@ietfa.amsl.com>; Mon, 13 Jul 2020 08:45:57 -0700 (PDT)
Received: from mail-wr1-x436.google.com (mail-wr1-x436.google.com [IPv6:2a00:1450:4864:20::436]) (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 B663A3A13B4 for <oauth@ietf.org>; Mon, 13 Jul 2020 08:44:37 -0700 (PDT)
Received: by mail-wr1-x436.google.com with SMTP id f18so17081578wrs.0 for <oauth@ietf.org>; Mon, 13 Jul 2020 08:44:37 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=adorsys.de; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=map6A2lXTfY2kr65Sfv9GDrjqeKKq77nr94nGmm3LHQ=; b=b1O4lsoeciE/EQoNm2Ldwk3oZVMSEaZHm9ArJb073tAWRdZAOHhX8D1Sb+RO0e4J+q ans7wU1UFbINO27tNfuu9bujr/WYxMz0b3Jbmz5FCkwbEETEjAknXmB/tF0ojDqmCPwH pfai0Brd1N0DvDyA4b9jSpezeU4lIpUWF3A80=
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=map6A2lXTfY2kr65Sfv9GDrjqeKKq77nr94nGmm3LHQ=; b=smoSKyy462NeFMaKBSnFJ5dU9Gh6WeK7w7rIDfPXBShnPR6DiByeEsKqGZd2tE9h7q oKXioOo1h24cACz7B5a6nyalg6aXqYuDLJOvrzI2NCIe23hRfKmdLDTK89iVuyClp2Cc QXL1qmPno5giCXvatE4UuyCCDIBL91Wl7WzZqyScKJ8e/T4liEqzKXbZBR1zqHEUu1tB e/X8oN/TdDhN/roeHuXgKnwEMBAcoIX7w5hIzQZgcNsXh0cfgANn4JLL7kqFa3miQHTq lEpWTvxpPpAXmWpKWVQqcSehImhVfJDxS/c//tgjg+2VR3LykPbkP7W65K07ktv6odMh S+eg==
X-Gm-Message-State: AOAM532HE/McH9ah8x8HG6oVRCJJcSnjNj+g70CAqWoPG4SnLq3t3Km7 PRvMFAeOiHcOgbEpx4sIQ+KzS7IIAwsEHpQdRwQwKZGY
X-Google-Smtp-Source: ABdhPJwcKqW3aZGmHFRcb9jVTEsm0kfSCjRU+EPpxVny6CRb82g4uWIkjTzdzKOhwIachX9BrrZKBeBOXctGwxJru5Y=
X-Received: by 2002:a5d:4a84:: with SMTP id o4mr38898965wrq.104.1594655075819; Mon, 13 Jul 2020 08:44:35 -0700 (PDT)
MIME-Version: 1.0
References: <CAOW4vyNji0peKzH+gre3E6b778HfxWJ_18NP457LsPzg34m_xw@mail.gmail.com> <9B25F535-038C-4E24-9BF4-4BF954F33A02@forgerock.com>
In-Reply-To: <9B25F535-038C-4E24-9BF4-4BF954F33A02@forgerock.com>
From: Francis Pouatcha <fpo@adorsys.de>
Date: Mon, 13 Jul 2020 11:44:24 -0400
Message-ID: <CAOW4vyNyz2wuZc2E4WpRXnPjapALe6J-4TOtjuRBf171xWnsZw@mail.gmail.com>
To: oauth <oauth@ietf.org>
Content-Type: multipart/alternative; boundary="00000000000055775c05aa54918c"
Archived-At: <https://mailarchive.ietf.org/arch/msg/oauth/rieFTyLPA3Lg5UIzdg1ET4cl784>
Subject: Re: [OAUTH-WG] A few comments on draft-ietf-oauth-rar-01
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: Mon, 13 Jul 2020 15:46:06 -0000
> > Proof of RO (PSU) authorized interaction between the RO and the Client > (TPP) prior to starting an payment authorization request is essential. > > The NextGenPSD2 specification addresses the problem with a so-called > oAuth2 pre-step option. As this requires two authorization operations (SCA) > for the release of a single payment, banks implementing oAuth2 pre-step > fell under the scrutiny of the EBA (European Banking Association) last > June. Now those banks have the burden of proving to their NCA's (national > market/country authorities) that pre-step is necessary to mitigate the very > problem you are raising in this thread. > > > I’m not sure this is the same issue I’m raising in this thread. In > particular, what I’m suggesting would *not* need two authorization requests > per payment. What I am suggesting is that there is one long-lived > authorization between the RO and a client and then individual > authorizations of each transaction: 1 + N not 2N. > For the first payment you will need 2 authorizations. This is what I mean with the pre-step above. And I understand you want to introduce grant management for the first durable authorization, so RO can revoque this correct? > > > > Let settle with: > - RAR as a payload for carrying authorization details > - The decision on whether to protect an authorization transaction with a > preceding RO authorization to do so shall be left to the target oAuth2 > profile. > > > On Thu, Jul 9, 2020 at 1:58 PM Neil Madden <neil.madden@forgerock.com> > wrote: > >> >> > On 9 Jul 2020, at 18:34, Torsten Lodderstedt <torsten@lodderstedt.net> >> wrote: >> > >> >> On 9. Jul 2020, at 19:28, Neil Madden <neil.madden@forgerock.com> >> wrote: >> >> >> >> On 9 Jul 2020, at 18:10, Torsten Lodderstedt <torsten@lodderstedt.net> >> wrote: >> >>> >> >>>>>>>>>>> >> >>>>>>>>>>> >> >>>>>>>>>>> What in particular should the use consent with in this step? >> >>>>>>>>>> >> >>>>>>>>>> “FooPay would like to: >> >>>>>>>>>> - initiate payments from your account (you will be asked to >> approve each one)” >> >>>>>>>>>> >> >>>>>>>>>> The point is that a client that I don’t have any kind of >> relationship with can’t just send me a request to transfer $500 to some >> account. >> >>>>>>>>> >> >>>>>>>>> Are we talking about legal consent or a security measures here? >> >>>>>>>> >> >>>>>>>> Normal OAuth consent. My phone is my resource, and I am its >> resource owner. If a client wants to send payment requests to my phone >> (e.g. via CIBA backchannel) then it should have to get my permission first. >> Even without backchannel requests, I’d much rather that only the three >> clients I’ve explicitly consented to can ask me to initiate payments rather >> than the hundreds/thousands clients my bank happens to have a relationship >> with. >> >>>>>>> >> >>>>>>> To me it sounds like you would like to require a client to get >> user authorization to send an authorization request. Would you require the >> same if I would use scope values to encode a payment initiation request? >> >>>>>> >> >>>>>> Yes. If something is sufficiently high value to require >> per-transaction authorization then initiating transactions itself becomes a >> privileged operation. >> >>>>> >> >>>>> The per transaction authorization alone is a significant increase >> in security. What is the added value of requiring an authorization to send >> a per-transaction authorisation request in an additional step? >> >>>> >> >>>> Because Open Banking allows any client at any time to send an >> asynchronous back channel request to my phone to approve a payment. This is >> pretty risky. >> >>> >> >>> Can you please explain how you came to that conclusion and how it >> relates to RAR? >> >> >> >> >> https://openbankinguk.github.io/read-write-api-site3/v3.1.6/profiles/payment-initiation-api-profile.html >> >> >> >> Client (PISP) initiates a payment-order consent using a >> client_credentials access token, then launches a CIBA backchannel >> authorization request. What prevents this? >> > >> > The fact that the PISP cannot issue this request without a valid user >> identifier. The demos I’m remembering use a traditional first authorization >> flow to establish this identifier. >> >> An identifier is not an access token or credential. >> >> >> >> >> This relates to RAR, because RAR also has no protection against this. >> If you use RAR in combination with a backchannel authorization method then >> the same issue applies. This is a general issue with backchannel approaches, >> > >> > Exactly! It's a problem with any kind of backchannel initiated _user >> interaction_. >> > >> > >> >> but it is particularly a risk here because RAR is pitching itself as a >> way to do payment transactions. >> > >> > The problem is the backchannel request, not RAR. RAR is just a more >> elaborated scope. >> >> I don’t agree. It’s particularly acute with backchannel requests, but it >> still exists with front channel. If I can redirect your browser to a >> payment confirmation screen, what percentage of users will click ok? I >> would guess more than 0. It’s a problem precisely because a one-off >> interaction is enough to authorize a transaction. >> >> It might be that in OB they accept this risk and mitigate it in other >> ways, e.g. making it easy to reverse transactions, or through sufficient >> vetting of clients and big legal consequences. As a UK banking user, that >> wouldn’t make me very happy but OK. The point is that RAR can’t make >> payment transactions the primary use-case, emphasised throughout the draft, >> and then fail to even discuss this issue or make any kind of suggestion as >> how to handle it. >> >> — Neil >> >> _______________________________________________ >> OAuth mailing list >> OAuth@ietf.org >> https://www.ietf.org/mailman/listinfo/oauth >> > > > -- > Francis Pouatcha > Co-Founder and Technical Lead > adorsys GmbH & Co. KG > https://adorsys-platform.de/solutions/ > > -- Francis Pouatcha Co-Founder and Technical Lead adorsys GmbH & Co. KG https://adorsys-platform.de/solutions/
- [OAUTH-WG] A few comments on draft-ietf-oauth-rar… Neil Madden
- Re: [OAUTH-WG] A few comments on draft-ietf-oauth… Vladimir Dzhuvinov
- Re: [OAUTH-WG] A few comments on draft-ietf-oauth… Neil Madden
- Re: [OAUTH-WG] A few comments on draft-ietf-oauth… Justin Richer
- Re: [OAUTH-WG] A few comments on draft-ietf-oauth… Neil Madden
- Re: [OAUTH-WG] A few comments on draft-ietf-oauth… Torsten Lodderstedt
- Re: [OAUTH-WG] A few comments on draft-ietf-oauth… Torsten Lodderstedt
- Re: [OAUTH-WG] A few comments on draft-ietf-oauth… Neil Madden
- Re: [OAUTH-WG] A few comments on draft-ietf-oauth… Torsten Lodderstedt
- Re: [OAUTH-WG] A few comments on draft-ietf-oauth… Neil Madden
- Re: [OAUTH-WG] A few comments on draft-ietf-oauth… Neil Madden
- Re: [OAUTH-WG] A few comments on draft-ietf-oauth… Torsten Lodderstedt
- Re: [OAUTH-WG] A few comments on draft-ietf-oauth… Neil Madden
- Re: [OAUTH-WG] A few comments on draft-ietf-oauth… Torsten Lodderstedt
- Re: [OAUTH-WG] A few comments on draft-ietf-oauth… Dave Tonge
- Re: [OAUTH-WG] A few comments on draft-ietf-oauth… Neil Madden
- Re: [OAUTH-WG] A few comments on draft-ietf-oauth… Neil Madden
- Re: [OAUTH-WG] A few comments on draft-ietf-oauth… Vladimir Dzhuvinov
- Re: [OAUTH-WG] A few comments on draft-ietf-oauth… Neil Madden
- Re: [OAUTH-WG] A few comments on draft-ietf-oauth… Dave Tonge
- Re: [OAUTH-WG] A few comments on draft-ietf-oauth… Vladimir Dzhuvinov
- Re: [OAUTH-WG] A few comments on draft-ietf-oauth… Torsten Lodderstedt
- Re: [OAUTH-WG] A few comments on draft-ietf-oauth… Neil Madden
- Re: [OAUTH-WG] A few comments on draft-ietf-oauth… Neil Madden
- Re: [OAUTH-WG] A few comments on draft-ietf-oauth… Torsten Lodderstedt
- Re: [OAUTH-WG] A few comments on draft-ietf-oauth… Neil Madden
- Re: [OAUTH-WG] A few comments on draft-ietf-oauth… Francis Pouatcha
- Re: [OAUTH-WG] A few comments on draft-ietf-oauth… Torsten Lodderstedt
- Re: [OAUTH-WG] A few comments on draft-ietf-oauth… Neil Madden
- Re: [OAUTH-WG] A few comments on draft-ietf-oauth… Neil Madden
- Re: [OAUTH-WG] A few comments on draft-ietf-oauth… Francis Pouatcha
- Re: [OAUTH-WG] A few comments on draft-ietf-oauth… Neil Madden