Rahul,
FIDO/WebAuthn is becoming fairly confusing - and it is likely to get
more so in the future. :-(
That said, here is what is possible currently:
Working with native, Rich Client Apps (RCA) on mobile devices
-------------------------------------------------------------
1) Using the open-source library at
https://github.com/StrongKey/fido2/tree/master/sampleapps/java/sacl, you
can use any Android 9+ phone with a built-in Authenticator, biometrics
(and the Titan chip on Pixel 3a or greater phones) with Android Key
Attestation. On phones without Titan, it will use the TEE. There is an
end-to-end sample app that demonstrates the capability using the sample
back-end applications in that folder, when used with the FIDO Certified
open-source FIDO server at
https://github.com/StrongKey/fido2. However,
at this time, it does not work with browser-based web-apps on the mobile
device - just native, rich-client apps (RCA);
2) Using the Passkey API, you can check out the sample, native (RCA)
open-source iOS app that works as long as you have an Apple Developer Id
- the API is only accessible in Developer mode currently. Once Apple
releases Passkey into production, we will update the app and make it
available in the iTunes app-store. Keys generated on the iPhone's Secure
Enclave will work with RCA or Safari web-apps.
Authenticating with mobile when using desktop/laptop web-apps
-------------------------------------------------------------
3) While there are lots of demonstrations from FIDO Alliance members on
how to authenticate with your mobile authenticator when using a
web-application on your desktop/laptop (communicating with the mobile
over BLE, etc.), to the best of my knowledge, nothing is available in
production mode/quality - they still remain a work-in-progress; but I
could be wrong about this;
4) However, using the Android/iOS examples from above, it would be
trivial to build an RCA (that must be installed on the mobile), to
receive a challenge from a FIDO server when a user attempts to login on
a desktop/laptop with a browser, and send a digital signature response
from the mobile using the embedded FIDO credential (Titan/TEE/Secure
Enclave), that allows the FIDO server to authenticate the user and send
a signed JWT session token to the desktop/laptop browser. This flow
authenticates the user with stronger FIDO2 security than OTP, TOTP or
whatever *P you come up with, to the web-application.
5) As an incentive, the same RCA on the mobile can also be used to
generate digital signatures for *business transactions* that originate
either on the desktop/laptop or on the mobile. For payment apps, the
FIDO server I referenced above will even return JSON after verifying the
digital signature on the transaction, that enables compliance with
regulations such as PSD2 for frictionless, Strong Customer
Authentication (SCA). No BLE or NFC required.
This POC is all ready to be demonstrated after mere setup and
compilation - no coding required. Hope that helps.
Arshad Noor
> --
> You received this message because you are subscribed to the Google
> Groups "FIDO Dev (fido-dev)" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to
fido-dev+u...@fidoalliance.org
> <mailto:
fido-dev+u...@fidoalliance.org>.
> <
https://groups.google.com/a/fidoalliance.org/d/msgid/fido-dev/b04d7cda-6b15-4888-a7e8-f515773ecca1n%40fidoalliance.org?utm_medium=email&utm_source=footer>.