-
Notifications
You must be signed in to change notification settings - Fork 39
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Using PaymentCredential for vanilla WebAuthn authentication. #39
Comments
That usage is currently in the explainer: https://github.com/rsolomakhin/secure-payment-confirmation#querying-a-credential |
@kenrb I do understand how to use the |
From our understanding PaymentCredential sits next to PublicKeyCredential. See @danyao Wang<mailto:danyao@google.com>'s presentation (https://www.w3.org/2020/Talks/spc-20201019.pdf) on slide 14.
So, I would anticipate the ability to use both in different scenario's.
* Use PublicKeyCredential for Login/Authentication
* Use PaymentCredential for Payment
Hope that helps.
Kind regards,
Gerhard
From: Tomasz Błachowicz <notifications@github.com>
Sent: Tuesday, February 16, 2021 17:07
To: rsolomakhin/secure-payment-confirmation <secure-payment-confirmation@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Subject: Re: [rsolomakhin/secure-payment-confirmation] Using PaymentCredential for vanilla WebAuthn authentication. (#39)
@kenrb<https://github.com/kenrb> I do understand how to use the PaymentCredential in the SPC flow. I'm backing about using the underlying WebAuthn credentials for non-SPC authentication e.g. navigator.credentials.get.
-
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub<https://github.com/rsolomakhin/secure-payment-confirmation/issues/39#issuecomment-779896917>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/ARA57QGFML7UVYJL6ENWXJ3S7KCXRANCNFSM4XWIXSUQ>.
|
@Goosth: Thanks! I think it's important to be able to use the enrolled credentials through Thinking further, I wonder if an existing The use-case I have in mind:
|
@tblachowicz The section I linked to says:
That is exercising it through WebAuthn rather than SPC. Is that different from what you are asking about? |
@kenrb: Right. That answers my original question, then. Thanks for pointing it out! Would you also know about the other question I asked in response to @Goosth: https://github.com/rsolomakhin/secure-payment-confirmation/issues/39#issuecomment-779912450? |
Hi @tblachowicz, that's definitely something the spec aims to support! The idea is, an issuer should be able to "upgrade" a vanilla PublicKeyCredential to a PaymentCredential by simply passing the extra payment-related metadata (display name, icon, etc.). This might be useful if an issuer who already uses Web Authentication to secure their online banking portal wants to reconfigure those credentials to support SPC. I also don't see any reason why a single PublicKeyCredential couldn't be associated with multiple PaymentCredentials (which might make sense if a user has multiple cards linked to the same online banking account, for instance) — although it might be worth discussing this with the Task Force in case there are any hardware limitations that could pose a problem.
|
Thanks for the precise answer @btidor-stripe! It looks that the use-case I have in mind will be feasible in the future. |
FWIW - and this is just my opinion - I would say that whilst reuse of a credential across online banking and SPC is very practical it is unlikely. Security policies at the majority of banks would dictate there should be a separation of concerns between logging into online banking and making a payment at a merchant, regardless of how the Payment Request API "firewalls" the usage of the credential. On adoption of SPC banks are therefore more likely to require a separate credential is minted dedicated to SPC and managed from within online banking. To the user once the extra step of creating this credential is done the fact there is an online banking credential and an SPC credential should be transparent - they'll get a prompt at payment time and present the right appendage without being overly concerned which one of the credentials it is. Cool idea though, and obviously can be adopted by banks if their policies allow. Would make an incredible amount of sense. |
Chris - I think you're right that it feels safer/preferable to have
separate credentials for logging in to online banking and for using payment
instruments. But in practice, with an open banking style payment in the UK
(for example), it *is* your log in credentials that you're using to make a
direct credit transfer from your bank account - because you're essentially
logging in to online banking to authenticate and authorise the payment. So
I wonder if it could be argued that Tomasz's use case (single re-usable
credential) is merely a continuation of that situation?
…On Wed, 17 Feb 2021 at 09:03, Chris Wood ***@***.***> wrote:
Hi @tblachowicz <https://github.com/tblachowicz>, that's definitely
something the spec aims to support! The idea is, an issuer should be able
to "upgrade" a vanilla PublicKeyCredential to a PaymentCredential by simply
passing the extra payment-related metadata (display name, icon, etc.). This
might be useful if an issuer who already uses Web Authentication to secure
their online banking portal wants to reconfigure those credentials to
support SPC.
FWIW - and this is just my opinion - I would say that whilst reuse of a
credential across online banking and SPC is very practical it is unlikely.
Security policies at the majority of banks would dictate there should be a
separation of concerns between logging into online banking and making a
payment at a merchant, regardless of how the Payment Request API
"firewalls" the usage of the credential.
On adoption of SPC banks are therefore more likely to require a separate
credential is minted dedicated to SPC and managed from within online
banking. To the user once the extra step of creating this credential is
done the fact there is an online banking credential and an SPC credential
should be transparent - they'll get a prompt at payment time and present
the right appendage without being overly concerned which one of the
credentials it is.
Cool idea though, and obviously can be adopted by banks if their policies
allow. Would make an incredible amount of sense.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<https://github.com/rsolomakhin/secure-payment-confirmation/issues/39#issuecomment-780409872>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AC6WNXFZDPBW5MIVCZN7BF3S7OA7TANCNFSM4XWIXSUQ>
.
--
m: 07538177619
e: nicktr@gmail.com or nick@telford-reed.com
|
Yes you're absolutely correct Nick, I don't dispute it - but the use of online banking as a means to authenticate the user in (for example, payment initiation) is driven by the interpretation of PSD2 in local law, countless opinions by the EBA (including around mobile banking as an authentication factor) and constructs around Consent which aren't according to lawyers allowed to be called authorisation even though a security practitioner would call them just that. Implementation by banks with Payment Request/SPC is likely to be an entirely different beast IMHO. My comments are a cautionary note and not a dismissal of the idea. |
I was thinking about a generic concept where a single credential can be linked to multiple payment instruments e.g. cards, so the same credential can be used to confirm the payment with any of those. I didn't necessarily mean the credential used to login to the bank, however, the concept does not permit that too. I've been looking at the SPC through the lens of the primary use-case of 3-D Secure, however, I see other use-cases where the RP does not have to be the issuer, but also another party such as wallet for example. |
Closing this issue because the current API direction should allow SPC credentials to be used with vanilla WebAuthn operations. |
The explainer says that
PaymentCredential
is new type of credential used with Credential Management API. The credential isPublicKeyCredential
with special features. Can the same credential be used for SPC flow and authentication with vanilla WebAuthn?The use-case I have in mind is this:
Can you please confirm SPC allows such a use-case?
The text was updated successfully, but these errors were encountered: