WebAuthn and Security Keys

FIDO Alliance
FIDO AllianceFIDO Alliance
1
WebAuthn and security keys =
unlocking the key to
authentication
John Fontana at Yubico
on Behalf of
Christiaan Brand, Product Manager, Google
2
It’s no secret -
passwords aren't enough
123456
Most popular password
in 2015
password
2nd most popular
password in 2015
*Verizon data breach report, 2015
123456789
Most popular password
in 2018
qwerty
2nd most popular
password in 2018
*techviral.net
success rate for
a well designed
password phishing
page
of account vulnerabilities
were due to weak or stolen
passwords
*Verizon data breach report, 2017
43% 81%
*Google study
3.3B+
credentials leaked
in dumps
67M
accounts proactively
re-secured
17%
minimum password
reuse rate
* * *
*
Source:
Data breaches, phishing, or malware? Understanding the risks of stolen
credentials (Thomas et al.) https://ai.google/research/pubs/pub46437
WebAuthn and Security Keys
SMS usability
Coverage issues, delay,
user cost
Device usability
One per site,
expensive, fragile
User experience
Users find it hard
Phishable
OTPs are increasingly phished
?
Any second factor improves user security, but...
Sources of stolen passwords
Data BreachesKeyloggersPhishing
Hijacking likelihood*
Compared to a general active account, how much more likely it is that you will be
a victim of hijacking if we know:
*lower bound
Had a keyloggerYou were in a
breach
Were phished
>10x >40x
>500x
Data breach market Keyloggers Phishing kits
The wares on sale
WebAuthn and Security Keys
Understanding victims
Signup location %
United States 50%
South Africa 4%
Canada 3%
India 3%
United Kingdom 3%
Other 37%
Sample of phished Google accounts:
Takeaway
Billions of passwords
available to hijackers.
Account hijackers are
professional
15
At Google,
on our journey to replacing the
password, we started by making
the password safer
Core issue:
User is pointed
to a phishing URL
Solution: Security Key tells the server which URL the
user is pointed to.
Correct URL? Server allows login.
Phishing URL? Server blocks login.
17
Based on
asymmetric
cryptography
● User’s device mints new key pair, gives
public key to server
● Server asks user’s device to sign data to
verify user
● One device, many services, “bring your
own device” enabled
Core idea - standard public key cryptography
challenge, “google.com”
Server
How Security Keys work
Who’s calling?
sign:
{challenge, “google.com”}
{challenge, “google.com”}signed
Alice’s Security
Key
Challenge was: 123456
Origin was: google.com Alice’s Key
https://www.google.com
USB/NFC/BLE
5
challenge
1
6
2
3
4
Created with open
standards
Server
USB/NFC/BLEWho’s calling?
https://www.google.com
https://www.google.com
Created with open
standards
Server
USB/NFC/BLEWho’s calling?
https://www.google.com
https://www.google.com
WebAuthn API
(JavaScript)
Created with open
standards
Server
USB/NFC/BLEWho’s calling?
https://www.google.com
https://www.google.com
WebAuthn API
CTAP API
22
We made the password a lot safer with U2F, but we
want to go one step further: we want to remove the
password from the equation
That’s where FIDO2 and WebAuthn come in
23
What is WebAuthn? How does it relate to FIDO2?
W3C WebAuthnFIDO CTAP
FIDO2
Client
(Computer, phone)
Built-in authenticator
(fingerprint)
Remote server
(Website)
Removable authenticator
(Phone, security key)
24
WebAuthn enables
user journeys
that are:
Simple
Very intuitive and easy
for user
Secure
Resistant to phishing
WebAuthn / What is WebAuthn?
25
Authentication has two core user journeys
WebAuthn / FIDO2 enables multiple use cases
01
Bootstrap
User authenticates to a service for the first time
The next slides will walk through these user journeys as a user might encounter them on the web
02
Re-authentication
User does a repeat authentication to a service
26
Note that we’re inheriting
the strength of the
credentials from the initial
bootstrap
If in Step 1 we only ask the
user for a username +
password, the strength of all
the derived credentials are
only as good as a username
+ password.
If in Step 1 we ask for a
stronger credential (2nd
factor security key), all of
the derived credentials
would inherit those stronger
attributes too.
27
Meet
Elisa
28
Elisa wants to sign in to her bank
She starts on her mobile browser and
enrolls in fingerprint after sign-in
Registering and using built-in authenticator for re-auth (mobile web)
29
1. Registering built-in authenticator for re-auth (mobile web)
Request
UV=true
X-Plat=false
Result
credential
(internal,caBLE)
Elisa opens launches
her mobile browser,
Chrome, and goes to
Tri-Bank
30
1. Registering built-in authenticator for re-auth (mobile web)
She signs in with her
username and
password
31
1. Registering built-in authenticator for re-auth (mobile web)
Tri-Bank shows a promo
asking Elisa if she wants to
opt in to fingerprint to sign
in
She opts in and continues to
her account
32
Silently determined whether a platform authenticator was available:
PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable().then(response => {
if (response === true) {
//User verifying platform authenticator is available!
} else {
//User verifying platform authenticator is NOT available.
}
Created the credential on the platform authenticator
navigator.credentials.create({
"publicKey": makeCredentialOptions
});
With values for makeCredentialOptions
○ excludeCredentials = [// registered ids ]
○ authenticatorSelection.authenticatorAttachment = 'platform'
○ authenticatorSelection.userVerification = 'required'
What happened behind the scenes?
Object contains “transport” info
33
● Transports is a way to indicate how authenticators can be reached
● Allowed values include
○ USB
○ NFC
○ BLE
○ Internal (corresponds to attachment=platform request type)
○ caBLE
● Transports are both returned when credentials are created, and set when requesting signatures.
● This allows the RP to
○ which use-cases are supported by the created credential
○ select the particular use-case they’re interested in (by modifying the transports)
More on transports
34
Elisa comes back to Tri-Bank in
another session
2a. Using built-in authenticator for re-auth (mobile web)
35
2a. Using built-in authenticator for re-auth (mobile web)
The next time Elisa
opens Tri-Bank on
mobile browser, she
gets a fingerprint
dialog
Request
credentialId
(internal)
Since the user already signed in on this device, the credential ID is encoded in the cookie and the
RP requests the “internal” transport only (since they don’t want the user to see prompts about
external authenticators).
36
2a. Using built-in authenticator for re-auth (mobile web)
Using only her fingerprint,
she’s
able to sign in
without using her
username + password on
mobile web
Request
credentialId
(internal)
37
Created a signature using the platform authenticator
navigator.credentials.get({
"publicKey": requestOptions
});
With values for requestOptions
○ allowCredentials = [// credential associated with session and transport=internal ]
○ userVerification = true
What happened behind the scenes?
38
Elisa downloads Tri-Bank
from the Play Store
She launches the app for the first time to
sign in to check her funds
2b. Using built-in authenticator for re-auth (native mobile app)
39
Request
UV=true
X-Plat=false
Result
credential
(internal,caBLE)
Request
credentialId
(internal)
Request
(Alternative)
{empty
credentialId}
Will result in prompt
to insert removable
SK
2b. Using built-in authenticator for re-auth (native mobile app)
She installs Tri-Bank
from Google Play
Store and opens the
app
40
2b. Using built-in authenticator for re-auth (native mobile app)
Elisa chooses
“Sign In” and also
chooses an account
Request
credentialId
(internal)
41
Elisa is now asked to
authenticate with the
fingerprint dialog
2b. Using built-in authenticator for re-auth (native mobile app)
42
Created a signature using the platform authenticator
navigator.credentials.get({
"publicKey": requestOptions
});
With values for requestOptions
○ allowCredentials = [// empty set ]
○ userVerification = true
What happened behind the scenes?
43
Elisa wants to sign in to
her bank on her desktop
computer and sign-in to
Tri-Bank without a
password
3. Cross-platform bootstrap
This is the part that is not released yet
44
Elisa chooses to sign
in on her desktop
browser
Request
credentialId
(internal)
Request (Alternative)
{empty credentialId}
Will result in prompt to insert removable SK
3. Cross-platform bootstrap
45
Request
credentialId
(internal)
Request (Alternative)
{empty credentialId}
Will result in prompt to insert removable SK
Elisa enters her
account username
and chooses to
proceed “next”
3. Cross-platform bootstrap
46
Request
credentialId
(internal)
Request (Alternative)
{empty credentialId}
Will result in prompt to insert removable SK
She’s asked to verify the
new device using her
Pixel 2 phone’s
fingerprint that she’s
been using to sign in
to Tri-Bank
3. Cross-platform bootstrap
47
Request
credentialId
(internal)
Request (Alternative)
{empty credentialId}
Will result in prompt to insert removable SK
Because Elisa has a
Macbook with Touch ID,
Tri-bank asks her if she
wants to use local
fingerprint on the device
3. Cross-platform bootstrap
48
Request
credentialId
(internal)
Request (Alternative)
{empty credentialId}
Will result in prompt to insert removable SK
Elisa gets prompted
to
try using the
local fingerprint
on the device
3. Cross-platform bootstrap
49
Request
credentialId
(internal)
Request (Alternative)
{empty credentialId}
Will result in prompt to insert removable SK
She opts-in and
continues to her
account
3. Cross-platform bootstrap
50
When Elisa comes back to Tri-Bank on
the Macbook Pro
This is the part that is not released yet
51
Request
credentialId
(internal)
Request (Alternative)
{empty credentialId}
Will result in prompt to insert removable SK
4. Using built-in authenticator for re-auth
Elisa comes back to
sign in on her desktop
browser
52
Request
credentialId
(internal)
Request (Alternative)
{empty credentialId}
Will result in prompt to insert removable SK
4. Using built-in authenticator for re-auth
A fingerprint
dialog appears above
the sign-in page and
Elisa touches the
sensor
53
Request
credentialId
(internal)
Request (Alternative)
{empty credentialId}
Will result in prompt to insert removable SK
4. Using built-in authenticator for re-auth
Elisa’s identity is
accepted and she’s
signed in
54
How can I
get started?
Desktop/laptop
● WebAuthn support was
launched in Chrome 67.
● Chrome 70 adds support
for platform credentials
on Mac OS X.
Android
● FIDO2 APIs on Android are
available in pre-release
mode.
● Support for FIDO2 on the
web (built-in fingerprint
sensor) enabled in
Chrome 70.
Visit webauthndemo.appspot.com to try it out
55
CTAP2 &
WEB AUTHN
UPDATE
56
Questions?
57
That’s a wrap
1 of 57

Recommended

Webauthn Tutorial by
Webauthn TutorialWebauthn Tutorial
Webauthn TutorialFIDO Alliance
12.2K views45 slides
Getting Started With WebAuthn by
Getting Started With WebAuthnGetting Started With WebAuthn
Getting Started With WebAuthnFIDO Alliance
3.3K views112 slides
Securing a Web App with Passwordless Web Authentication by
Securing a Web App with Passwordless Web AuthenticationSecuring a Web App with Passwordless Web Authentication
Securing a Web App with Passwordless Web AuthenticationFIDO Alliance
5K views33 slides
WebAuthn - The End of the Password As We Know It? by
WebAuthn - The End of the Password As We Know It?WebAuthn - The End of the Password As We Know It?
WebAuthn - The End of the Password As We Know It?Thomas Konrad
161 views49 slides
Fido Technical Overview by
Fido Technical OverviewFido Technical Overview
Fido Technical OverviewFIDO Alliance
1.9K views27 slides
Getting Started with FIDO2 by
Getting Started with FIDO2Getting Started with FIDO2
Getting Started with FIDO2FIDO Alliance
5.3K views92 slides

More Related Content

What's hot

FIDO2 Specifications Overview by
FIDO2 Specifications OverviewFIDO2 Specifications Overview
FIDO2 Specifications OverviewFIDO Alliance
1.4K views29 slides
WebAuthn by
WebAuthnWebAuthn
WebAuthnKelley Robinson
338 views41 slides
Google & FIDO Authentication by
Google & FIDO AuthenticationGoogle & FIDO Authentication
Google & FIDO AuthenticationFIDO Alliance
3.8K views25 slides
FIDO and the Future of User Authentication by
FIDO and the Future of User AuthenticationFIDO and the Future of User Authentication
FIDO and the Future of User AuthenticationFIDO Alliance
420 views23 slides
FIDO2 Specifications Overview by
FIDO2 Specifications OverviewFIDO2 Specifications Overview
FIDO2 Specifications OverviewFIDO Alliance
3.8K views29 slides
Securing a Web App with Security Keys by
Securing a Web App with Security KeysSecuring a Web App with Security Keys
Securing a Web App with Security KeysFIDO Alliance
3.6K views37 slides

What's hot(20)

FIDO2 Specifications Overview by FIDO Alliance
FIDO2 Specifications OverviewFIDO2 Specifications Overview
FIDO2 Specifications Overview
FIDO Alliance1.4K views
Google & FIDO Authentication by FIDO Alliance
Google & FIDO AuthenticationGoogle & FIDO Authentication
Google & FIDO Authentication
FIDO Alliance3.8K views
FIDO and the Future of User Authentication by FIDO Alliance
FIDO and the Future of User AuthenticationFIDO and the Future of User Authentication
FIDO and the Future of User Authentication
FIDO Alliance420 views
FIDO2 Specifications Overview by FIDO Alliance
FIDO2 Specifications OverviewFIDO2 Specifications Overview
FIDO2 Specifications Overview
FIDO Alliance3.8K views
Securing a Web App with Security Keys by FIDO Alliance
Securing a Web App with Security KeysSecuring a Web App with Security Keys
Securing a Web App with Security Keys
FIDO Alliance3.6K views
U2F/FIDO2 implementation of YubiKey by Haniyama Wataru
U2F/FIDO2 implementation of YubiKeyU2F/FIDO2 implementation of YubiKey
U2F/FIDO2 implementation of YubiKey
Haniyama Wataru1.8K views
FIDO Workshop-Demo Breakdown.pptx by FIDO Alliance
FIDO Workshop-Demo Breakdown.pptxFIDO Workshop-Demo Breakdown.pptx
FIDO Workshop-Demo Breakdown.pptx
FIDO Alliance653 views
Developer Tutorial: WebAuthn for Web & FIDO2 for Android by FIDO Alliance
Developer Tutorial: WebAuthn for Web & FIDO2 for AndroidDeveloper Tutorial: WebAuthn for Web & FIDO2 for Android
Developer Tutorial: WebAuthn for Web & FIDO2 for Android
FIDO Alliance10.2K views
FIDO Authentication: Unphishable MFA for All by FIDO Alliance
FIDO Authentication: Unphishable MFA for AllFIDO Authentication: Unphishable MFA for All
FIDO Authentication: Unphishable MFA for All
FIDO Alliance511 views
FIDO UAF Specifications: Overview & Tutorial by FIDO Alliance
FIDO UAF Specifications: Overview & Tutorial FIDO UAF Specifications: Overview & Tutorial
FIDO UAF Specifications: Overview & Tutorial
FIDO Alliance1.6K views
An Introduction to OAuth2 by Aaron Parecki
An Introduction to OAuth2An Introduction to OAuth2
An Introduction to OAuth2
Aaron Parecki14.7K views
IBM: Hey FIDO, Meet Passkey!.pptx by FIDO Alliance
IBM: Hey FIDO, Meet Passkey!.pptxIBM: Hey FIDO, Meet Passkey!.pptx
IBM: Hey FIDO, Meet Passkey!.pptx
FIDO Alliance894 views
New FIDO Specifications Overview -FIDO Alliance -Tokyo Seminar -Nadalin by FIDO Alliance
New FIDO Specifications Overview -FIDO Alliance -Tokyo Seminar -NadalinNew FIDO Specifications Overview -FIDO Alliance -Tokyo Seminar -Nadalin
New FIDO Specifications Overview -FIDO Alliance -Tokyo Seminar -Nadalin
FIDO Alliance4.3K views
Implementing OAuth by leahculver
Implementing OAuthImplementing OAuth
Implementing OAuth
leahculver28.2K views
“How to Secure Your Applications With a Keycloak? by GlobalLogic Ukraine
“How to Secure Your Applications With a Keycloak?“How to Secure Your Applications With a Keycloak?
“How to Secure Your Applications With a Keycloak?

Similar to WebAuthn and Security Keys

Web Authn & Security Keys: Unlocking the Key to Authentication by
Web Authn & Security Keys: Unlocking the Key to AuthenticationWeb Authn & Security Keys: Unlocking the Key to Authentication
Web Authn & Security Keys: Unlocking the Key to AuthenticationFIDO Alliance
1.8K views70 slides
Fast IDentity Online New wave of open authentication standards by
Fast IDentity Online New wave of open authentication standardsFast IDentity Online New wave of open authentication standards
Fast IDentity Online New wave of open authentication standards.NET Crowd
293 views34 slides
Uno, nessuno o 10.000, la gestione dell'identità ai tempi di Microsoft Azure by
Uno, nessuno o 10.000, la gestione dell'identità ai tempi di Microsoft AzureUno, nessuno o 10.000, la gestione dell'identità ai tempi di Microsoft Azure
Uno, nessuno o 10.000, la gestione dell'identità ai tempi di Microsoft AzureGiuliano Latini
15 views29 slides
Narrative of digital signature technology and moving forward by
Narrative of digital signature technology and moving forwardNarrative of digital signature technology and moving forward
Narrative of digital signature technology and moving forwardConference Papers
41 views8 slides
Kerberos-PKI-Federated identity by
Kerberos-PKI-Federated identityKerberos-PKI-Federated identity
Kerberos-PKI-Federated identityWAFAA AL SALMAN
468 views26 slides
OpenID 4 Verifiable Credentials + HAIP (Update) by
OpenID 4 Verifiable Credentials + HAIP (Update)OpenID 4 Verifiable Credentials + HAIP (Update)
OpenID 4 Verifiable Credentials + HAIP (Update)Torsten Lodderstedt
406 views49 slides

Similar to WebAuthn and Security Keys(20)

Web Authn & Security Keys: Unlocking the Key to Authentication by FIDO Alliance
Web Authn & Security Keys: Unlocking the Key to AuthenticationWeb Authn & Security Keys: Unlocking the Key to Authentication
Web Authn & Security Keys: Unlocking the Key to Authentication
FIDO Alliance1.8K views
Fast IDentity Online New wave of open authentication standards by .NET Crowd
Fast IDentity Online New wave of open authentication standardsFast IDentity Online New wave of open authentication standards
Fast IDentity Online New wave of open authentication standards
.NET Crowd293 views
Uno, nessuno o 10.000, la gestione dell'identità ai tempi di Microsoft Azure by Giuliano Latini
Uno, nessuno o 10.000, la gestione dell'identità ai tempi di Microsoft AzureUno, nessuno o 10.000, la gestione dell'identità ai tempi di Microsoft Azure
Uno, nessuno o 10.000, la gestione dell'identità ai tempi di Microsoft Azure
Giuliano Latini15 views
Narrative of digital signature technology and moving forward by Conference Papers
Narrative of digital signature technology and moving forwardNarrative of digital signature technology and moving forward
Narrative of digital signature technology and moving forward
Apache Milagro Presentation at ApacheCon Europe 2016 by Brian Spector
Apache Milagro Presentation at ApacheCon Europe 2016Apache Milagro Presentation at ApacheCon Europe 2016
Apache Milagro Presentation at ApacheCon Europe 2016
Brian Spector807 views
How to Build Interoperable Decentralized Identity Systems with OpenID for Ver... by Torsten Lodderstedt
How to Build Interoperable Decentralized Identity Systems with OpenID for Ver...How to Build Interoperable Decentralized Identity Systems with OpenID for Ver...
How to Build Interoperable Decentralized Identity Systems with OpenID for Ver...
How to Build Interoperable Decentralized Identity Systems with OpenID for Ver... by Torsten Lodderstedt
How to Build Interoperable Decentralized Identity Systems with OpenID for Ver...How to Build Interoperable Decentralized Identity Systems with OpenID for Ver...
How to Build Interoperable Decentralized Identity Systems with OpenID for Ver...
Nt2580 Final Project Essay Examples by Sherry Bailey
Nt2580 Final Project Essay ExamplesNt2580 Final Project Essay Examples
Nt2580 Final Project Essay Examples
Sherry Bailey3 views
PKI in DevOps: How to Deploy Certificate Automation within CI/CD by DevOps.com
PKI in DevOps: How to Deploy Certificate Automation within CI/CDPKI in DevOps: How to Deploy Certificate Automation within CI/CD
PKI in DevOps: How to Deploy Certificate Automation within CI/CD
DevOps.com461 views
Street conf overview by ericsachs
Street conf overviewStreet conf overview
Street conf overview
ericsachs446 views
Introduction to Public Key Infrastructure by Theo Gravity
Introduction to Public Key InfrastructureIntroduction to Public Key Infrastructure
Introduction to Public Key Infrastructure
Theo Gravity3.2K views
PayPal Access GDG DevFest by PayPal
PayPal Access GDG DevFestPayPal Access GDG DevFest
PayPal Access GDG DevFest
PayPal1.2K views

More from FIDO Alliance

FIDO Alliance: Welcome and FIDO Update.pptx by
FIDO Alliance: Welcome and FIDO Update.pptxFIDO Alliance: Welcome and FIDO Update.pptx
FIDO Alliance: Welcome and FIDO Update.pptxFIDO Alliance
839 views19 slides
OTIS: Our Journey to Passwordless.pptx by
OTIS: Our Journey to Passwordless.pptxOTIS: Our Journey to Passwordless.pptx
OTIS: Our Journey to Passwordless.pptxFIDO Alliance
590 views13 slides
CISA: #MoreThanAPassword.pptx by
CISA: #MoreThanAPassword.pptxCISA: #MoreThanAPassword.pptx
CISA: #MoreThanAPassword.pptxFIDO Alliance
461 views14 slides
Introducing FIDO Device Onboard (FDO) by
Introducing  FIDO Device Onboard (FDO)Introducing  FIDO Device Onboard (FDO)
Introducing FIDO Device Onboard (FDO)FIDO Alliance
2.3K views23 slides
FIDO Alliance Webinar: Catch Up WIth FIDO by
FIDO Alliance Webinar: Catch Up WIth FIDOFIDO Alliance Webinar: Catch Up WIth FIDO
FIDO Alliance Webinar: Catch Up WIth FIDOFIDO Alliance
1.1K views28 slides
Consumer Attitudes Toward Strong Authentication & LoginWithFIDO.com by
Consumer Attitudes Toward Strong Authentication & LoginWithFIDO.comConsumer Attitudes Toward Strong Authentication & LoginWithFIDO.com
Consumer Attitudes Toward Strong Authentication & LoginWithFIDO.comFIDO Alliance
3K views42 slides

More from FIDO Alliance(20)

FIDO Alliance: Welcome and FIDO Update.pptx by FIDO Alliance
FIDO Alliance: Welcome and FIDO Update.pptxFIDO Alliance: Welcome and FIDO Update.pptx
FIDO Alliance: Welcome and FIDO Update.pptx
FIDO Alliance839 views
OTIS: Our Journey to Passwordless.pptx by FIDO Alliance
OTIS: Our Journey to Passwordless.pptxOTIS: Our Journey to Passwordless.pptx
OTIS: Our Journey to Passwordless.pptx
FIDO Alliance590 views
CISA: #MoreThanAPassword.pptx by FIDO Alliance
CISA: #MoreThanAPassword.pptxCISA: #MoreThanAPassword.pptx
CISA: #MoreThanAPassword.pptx
FIDO Alliance461 views
Introducing FIDO Device Onboard (FDO) by FIDO Alliance
Introducing  FIDO Device Onboard (FDO)Introducing  FIDO Device Onboard (FDO)
Introducing FIDO Device Onboard (FDO)
FIDO Alliance2.3K views
FIDO Alliance Webinar: Catch Up WIth FIDO by FIDO Alliance
FIDO Alliance Webinar: Catch Up WIth FIDOFIDO Alliance Webinar: Catch Up WIth FIDO
FIDO Alliance Webinar: Catch Up WIth FIDO
FIDO Alliance1.1K views
Consumer Attitudes Toward Strong Authentication & LoginWithFIDO.com by FIDO Alliance
Consumer Attitudes Toward Strong Authentication & LoginWithFIDO.comConsumer Attitudes Toward Strong Authentication & LoginWithFIDO.com
Consumer Attitudes Toward Strong Authentication & LoginWithFIDO.com
FIDO Alliance3K views
新しい認証技術FIDOの最新動向 by FIDO Alliance
新しい認証技術FIDOの最新動向新しい認証技術FIDOの最新動向
新しい認証技術FIDOの最新動向
FIDO Alliance1.5K views
日立PBI技術を用いた「デバイスフリーリモートワーク」構想 by FIDO Alliance
日立PBI技術を用いた「デバイスフリーリモートワーク」構想日立PBI技術を用いた「デバイスフリーリモートワーク」構想
日立PBI技術を用いた「デバイスフリーリモートワーク」構想
FIDO Alliance1.3K views
Introduction to FIDO and eIDAS Services by FIDO Alliance
Introduction to FIDO and eIDAS ServicesIntroduction to FIDO and eIDAS Services
Introduction to FIDO and eIDAS Services
FIDO Alliance1.5K views
富士通の生体認証ソリューションと提案 by FIDO Alliance
富士通の生体認証ソリューションと提案富士通の生体認証ソリューションと提案
富士通の生体認証ソリューションと提案
FIDO Alliance1.4K views
テレワーク本格導入におけるID認証考察 by FIDO Alliance
テレワーク本格導入におけるID認証考察テレワーク本格導入におけるID認証考察
テレワーク本格導入におけるID認証考察
FIDO Alliance1.2K views
「開けゴマ!」からYubiKeyへ by FIDO Alliance
「開けゴマ!」からYubiKeyへ「開けゴマ!」からYubiKeyへ
「開けゴマ!」からYubiKeyへ
FIDO Alliance1.3K views
YubiOnが目指す未来 by FIDO Alliance
YubiOnが目指す未来YubiOnが目指す未来
YubiOnが目指す未来
FIDO Alliance374 views
FIDO2導入してみたを考えてみた by FIDO Alliance
FIDO2導入してみたを考えてみたFIDO2導入してみたを考えてみた
FIDO2導入してみたを考えてみた
FIDO Alliance1.5K views
中小企業によるFIDO導入事例 by FIDO Alliance
中小企業によるFIDO導入事例中小企業によるFIDO導入事例
中小企業によるFIDO導入事例
FIDO Alliance1.3K views
VPNはもう卒業!FIDO2認証で次世代リモートアクセス by FIDO Alliance
VPNはもう卒業!FIDO2認証で次世代リモートアクセスVPNはもう卒業!FIDO2認証で次世代リモートアクセス
VPNはもう卒業!FIDO2認証で次世代リモートアクセス
FIDO Alliance1.7K views
CloudGate UNOで安全便利なパスワードレスリモートワーク by FIDO Alliance
CloudGate UNOで安全便利なパスワードレスリモートワークCloudGate UNOで安全便利なパスワードレスリモートワーク
CloudGate UNOで安全便利なパスワードレスリモートワーク
FIDO Alliance949 views
数々の実績:迅速なFIDO認証の展開をサポート by FIDO Alliance
数々の実績:迅速なFIDO認証の展開をサポート数々の実績:迅速なFIDO認証の展開をサポート
数々の実績:迅速なFIDO認証の展開をサポート
FIDO Alliance1K views
FIDO Alliance Research: Consumer Attitudes Towards Authentication by FIDO Alliance
FIDO Alliance Research: Consumer Attitudes Towards AuthenticationFIDO Alliance Research: Consumer Attitudes Towards Authentication
FIDO Alliance Research: Consumer Attitudes Towards Authentication
FIDO Alliance567 views
Webinar: Securing IoT with FIDO Authentication by FIDO Alliance
Webinar: Securing IoT with FIDO AuthenticationWebinar: Securing IoT with FIDO Authentication
Webinar: Securing IoT with FIDO Authentication
FIDO Alliance1.9K views

Recently uploaded

google forms survey (1).pptx by
google forms survey (1).pptxgoogle forms survey (1).pptx
google forms survey (1).pptxMollyBrown86
14 views10 slides
IETF 118: Starlink Protocol Performance by
IETF 118: Starlink Protocol PerformanceIETF 118: Starlink Protocol Performance
IETF 118: Starlink Protocol PerformanceAPNIC
124 views22 slides
Sustainable Marketing by
Sustainable MarketingSustainable Marketing
Sustainable MarketingTheo van der Zee
9 views50 slides
Is Entireweb better than Google by
Is Entireweb better than GoogleIs Entireweb better than Google
Is Entireweb better than Googlesebastianthomasbejan
10 views1 slide
Building trust in our information ecosystem: who do we trust in an emergency by
Building trust in our information ecosystem: who do we trust in an emergencyBuilding trust in our information ecosystem: who do we trust in an emergency
Building trust in our information ecosystem: who do we trust in an emergencyTina Purnat
85 views18 slides
Audience profile.pptx by
Audience profile.pptxAudience profile.pptx
Audience profile.pptxMollyBrown86
12 views2 slides

Recently uploaded(20)

google forms survey (1).pptx by MollyBrown86
google forms survey (1).pptxgoogle forms survey (1).pptx
google forms survey (1).pptx
MollyBrown8614 views
IETF 118: Starlink Protocol Performance by APNIC
IETF 118: Starlink Protocol PerformanceIETF 118: Starlink Protocol Performance
IETF 118: Starlink Protocol Performance
APNIC124 views
Building trust in our information ecosystem: who do we trust in an emergency by Tina Purnat
Building trust in our information ecosystem: who do we trust in an emergencyBuilding trust in our information ecosystem: who do we trust in an emergency
Building trust in our information ecosystem: who do we trust in an emergency
Tina Purnat85 views
We see everywhere that many people are talking about technology.docx by ssuserc5935b
We see everywhere that many people are talking about technology.docxWe see everywhere that many people are talking about technology.docx
We see everywhere that many people are talking about technology.docx
ssuserc5935b6 views
Existing documentaries (1).docx by MollyBrown86
Existing documentaries (1).docxExisting documentaries (1).docx
Existing documentaries (1).docx
MollyBrown8613 views
AI Powered event-driven translation bot by Jimmy Dahlqvist
AI Powered event-driven translation botAI Powered event-driven translation bot
AI Powered event-driven translation bot
Jimmy Dahlqvist16 views
𝐒𝐨𝐥𝐚𝐫𝐖𝐢𝐧𝐝𝐬 𝐂𝐚𝐬𝐞 𝐒𝐭𝐮𝐝𝐲 by Infosec train
𝐒𝐨𝐥𝐚𝐫𝐖𝐢𝐧𝐝𝐬 𝐂𝐚𝐬𝐞 𝐒𝐭𝐮𝐝𝐲𝐒𝐨𝐥𝐚𝐫𝐖𝐢𝐧𝐝𝐬 𝐂𝐚𝐬𝐞 𝐒𝐭𝐮𝐝𝐲
𝐒𝐨𝐥𝐚𝐫𝐖𝐢𝐧𝐝𝐬 𝐂𝐚𝐬𝐞 𝐒𝐭𝐮𝐝𝐲
Infosec train7 views
PORTFOLIO 1 (Bret Michael Pepito).pdf by brejess0410
PORTFOLIO 1 (Bret Michael Pepito).pdfPORTFOLIO 1 (Bret Michael Pepito).pdf
PORTFOLIO 1 (Bret Michael Pepito).pdf
brejess04107 views
IGF UA - Dialog with I_ organisations - Alena Muavska RIPE NCC.pdf by RIPE NCC
IGF UA - Dialog with I_ organisations - Alena Muavska RIPE NCC.pdfIGF UA - Dialog with I_ organisations - Alena Muavska RIPE NCC.pdf
IGF UA - Dialog with I_ organisations - Alena Muavska RIPE NCC.pdf
RIPE NCC15 views
Serverless cloud architecture patterns by Jimmy Dahlqvist
Serverless cloud architecture patternsServerless cloud architecture patterns
Serverless cloud architecture patterns
Jimmy Dahlqvist17 views

WebAuthn and Security Keys

  • 1. 1 WebAuthn and security keys = unlocking the key to authentication John Fontana at Yubico on Behalf of Christiaan Brand, Product Manager, Google
  • 2. 2 It’s no secret - passwords aren't enough
  • 3. 123456 Most popular password in 2015 password 2nd most popular password in 2015 *Verizon data breach report, 2015
  • 4. 123456789 Most popular password in 2018 qwerty 2nd most popular password in 2018 *techviral.net
  • 5. success rate for a well designed password phishing page of account vulnerabilities were due to weak or stolen passwords *Verizon data breach report, 2017 43% 81% *Google study
  • 6. 3.3B+ credentials leaked in dumps 67M accounts proactively re-secured 17% minimum password reuse rate * * * * Source: Data breaches, phishing, or malware? Understanding the risks of stolen credentials (Thomas et al.) https://ai.google/research/pubs/pub46437
  • 8. SMS usability Coverage issues, delay, user cost Device usability One per site, expensive, fragile User experience Users find it hard Phishable OTPs are increasingly phished ? Any second factor improves user security, but...
  • 9. Sources of stolen passwords Data BreachesKeyloggersPhishing
  • 10. Hijacking likelihood* Compared to a general active account, how much more likely it is that you will be a victim of hijacking if we know: *lower bound Had a keyloggerYou were in a breach Were phished >10x >40x >500x
  • 11. Data breach market Keyloggers Phishing kits The wares on sale
  • 13. Understanding victims Signup location % United States 50% South Africa 4% Canada 3% India 3% United Kingdom 3% Other 37% Sample of phished Google accounts:
  • 14. Takeaway Billions of passwords available to hijackers. Account hijackers are professional
  • 15. 15 At Google, on our journey to replacing the password, we started by making the password safer
  • 16. Core issue: User is pointed to a phishing URL Solution: Security Key tells the server which URL the user is pointed to. Correct URL? Server allows login. Phishing URL? Server blocks login.
  • 17. 17 Based on asymmetric cryptography ● User’s device mints new key pair, gives public key to server ● Server asks user’s device to sign data to verify user ● One device, many services, “bring your own device” enabled Core idea - standard public key cryptography
  • 18. challenge, “google.com” Server How Security Keys work Who’s calling? sign: {challenge, “google.com”} {challenge, “google.com”}signed Alice’s Security Key Challenge was: 123456 Origin was: google.com Alice’s Key https://www.google.com USB/NFC/BLE 5 challenge 1 6 2 3 4
  • 19. Created with open standards Server USB/NFC/BLEWho’s calling? https://www.google.com https://www.google.com
  • 20. Created with open standards Server USB/NFC/BLEWho’s calling? https://www.google.com https://www.google.com WebAuthn API (JavaScript)
  • 21. Created with open standards Server USB/NFC/BLEWho’s calling? https://www.google.com https://www.google.com WebAuthn API CTAP API
  • 22. 22 We made the password a lot safer with U2F, but we want to go one step further: we want to remove the password from the equation That’s where FIDO2 and WebAuthn come in
  • 23. 23 What is WebAuthn? How does it relate to FIDO2? W3C WebAuthnFIDO CTAP FIDO2 Client (Computer, phone) Built-in authenticator (fingerprint) Remote server (Website) Removable authenticator (Phone, security key)
  • 24. 24 WebAuthn enables user journeys that are: Simple Very intuitive and easy for user Secure Resistant to phishing WebAuthn / What is WebAuthn?
  • 25. 25 Authentication has two core user journeys WebAuthn / FIDO2 enables multiple use cases 01 Bootstrap User authenticates to a service for the first time The next slides will walk through these user journeys as a user might encounter them on the web 02 Re-authentication User does a repeat authentication to a service
  • 26. 26 Note that we’re inheriting the strength of the credentials from the initial bootstrap If in Step 1 we only ask the user for a username + password, the strength of all the derived credentials are only as good as a username + password. If in Step 1 we ask for a stronger credential (2nd factor security key), all of the derived credentials would inherit those stronger attributes too.
  • 28. 28 Elisa wants to sign in to her bank She starts on her mobile browser and enrolls in fingerprint after sign-in Registering and using built-in authenticator for re-auth (mobile web)
  • 29. 29 1. Registering built-in authenticator for re-auth (mobile web) Request UV=true X-Plat=false Result credential (internal,caBLE) Elisa opens launches her mobile browser, Chrome, and goes to Tri-Bank
  • 30. 30 1. Registering built-in authenticator for re-auth (mobile web) She signs in with her username and password
  • 31. 31 1. Registering built-in authenticator for re-auth (mobile web) Tri-Bank shows a promo asking Elisa if she wants to opt in to fingerprint to sign in She opts in and continues to her account
  • 32. 32 Silently determined whether a platform authenticator was available: PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable().then(response => { if (response === true) { //User verifying platform authenticator is available! } else { //User verifying platform authenticator is NOT available. } Created the credential on the platform authenticator navigator.credentials.create({ "publicKey": makeCredentialOptions }); With values for makeCredentialOptions ○ excludeCredentials = [// registered ids ] ○ authenticatorSelection.authenticatorAttachment = 'platform' ○ authenticatorSelection.userVerification = 'required' What happened behind the scenes? Object contains “transport” info
  • 33. 33 ● Transports is a way to indicate how authenticators can be reached ● Allowed values include ○ USB ○ NFC ○ BLE ○ Internal (corresponds to attachment=platform request type) ○ caBLE ● Transports are both returned when credentials are created, and set when requesting signatures. ● This allows the RP to ○ which use-cases are supported by the created credential ○ select the particular use-case they’re interested in (by modifying the transports) More on transports
  • 34. 34 Elisa comes back to Tri-Bank in another session 2a. Using built-in authenticator for re-auth (mobile web)
  • 35. 35 2a. Using built-in authenticator for re-auth (mobile web) The next time Elisa opens Tri-Bank on mobile browser, she gets a fingerprint dialog Request credentialId (internal) Since the user already signed in on this device, the credential ID is encoded in the cookie and the RP requests the “internal” transport only (since they don’t want the user to see prompts about external authenticators).
  • 36. 36 2a. Using built-in authenticator for re-auth (mobile web) Using only her fingerprint, she’s able to sign in without using her username + password on mobile web Request credentialId (internal)
  • 37. 37 Created a signature using the platform authenticator navigator.credentials.get({ "publicKey": requestOptions }); With values for requestOptions ○ allowCredentials = [// credential associated with session and transport=internal ] ○ userVerification = true What happened behind the scenes?
  • 38. 38 Elisa downloads Tri-Bank from the Play Store She launches the app for the first time to sign in to check her funds 2b. Using built-in authenticator for re-auth (native mobile app)
  • 39. 39 Request UV=true X-Plat=false Result credential (internal,caBLE) Request credentialId (internal) Request (Alternative) {empty credentialId} Will result in prompt to insert removable SK 2b. Using built-in authenticator for re-auth (native mobile app) She installs Tri-Bank from Google Play Store and opens the app
  • 40. 40 2b. Using built-in authenticator for re-auth (native mobile app) Elisa chooses “Sign In” and also chooses an account Request credentialId (internal)
  • 41. 41 Elisa is now asked to authenticate with the fingerprint dialog 2b. Using built-in authenticator for re-auth (native mobile app)
  • 42. 42 Created a signature using the platform authenticator navigator.credentials.get({ "publicKey": requestOptions }); With values for requestOptions ○ allowCredentials = [// empty set ] ○ userVerification = true What happened behind the scenes?
  • 43. 43 Elisa wants to sign in to her bank on her desktop computer and sign-in to Tri-Bank without a password 3. Cross-platform bootstrap This is the part that is not released yet
  • 44. 44 Elisa chooses to sign in on her desktop browser Request credentialId (internal) Request (Alternative) {empty credentialId} Will result in prompt to insert removable SK 3. Cross-platform bootstrap
  • 45. 45 Request credentialId (internal) Request (Alternative) {empty credentialId} Will result in prompt to insert removable SK Elisa enters her account username and chooses to proceed “next” 3. Cross-platform bootstrap
  • 46. 46 Request credentialId (internal) Request (Alternative) {empty credentialId} Will result in prompt to insert removable SK She’s asked to verify the new device using her Pixel 2 phone’s fingerprint that she’s been using to sign in to Tri-Bank 3. Cross-platform bootstrap
  • 47. 47 Request credentialId (internal) Request (Alternative) {empty credentialId} Will result in prompt to insert removable SK Because Elisa has a Macbook with Touch ID, Tri-bank asks her if she wants to use local fingerprint on the device 3. Cross-platform bootstrap
  • 48. 48 Request credentialId (internal) Request (Alternative) {empty credentialId} Will result in prompt to insert removable SK Elisa gets prompted to try using the local fingerprint on the device 3. Cross-platform bootstrap
  • 49. 49 Request credentialId (internal) Request (Alternative) {empty credentialId} Will result in prompt to insert removable SK She opts-in and continues to her account 3. Cross-platform bootstrap
  • 50. 50 When Elisa comes back to Tri-Bank on the Macbook Pro This is the part that is not released yet
  • 51. 51 Request credentialId (internal) Request (Alternative) {empty credentialId} Will result in prompt to insert removable SK 4. Using built-in authenticator for re-auth Elisa comes back to sign in on her desktop browser
  • 52. 52 Request credentialId (internal) Request (Alternative) {empty credentialId} Will result in prompt to insert removable SK 4. Using built-in authenticator for re-auth A fingerprint dialog appears above the sign-in page and Elisa touches the sensor
  • 53. 53 Request credentialId (internal) Request (Alternative) {empty credentialId} Will result in prompt to insert removable SK 4. Using built-in authenticator for re-auth Elisa’s identity is accepted and she’s signed in
  • 54. 54 How can I get started? Desktop/laptop ● WebAuthn support was launched in Chrome 67. ● Chrome 70 adds support for platform credentials on Mac OS X. Android ● FIDO2 APIs on Android are available in pre-release mode. ● Support for FIDO2 on the web (built-in fingerprint sensor) enabled in Chrome 70. Visit webauthndemo.appspot.com to try it out