fido2: the future of strong authenticationmulti-factor authentication two-factor authentication...

42
© 2020 Yubico FIDO2: The Future of Strong Authentication Jeffery Frederick Sr. Solutions Engineer, Yubico [email protected]

Upload: others

Post on 02-Jun-2020

21 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: FIDO2: The Future of Strong AuthenticationMulti-factor Authentication Two-factor authentication method where the user provides two types of identification… 1. Something you know

© 2

020

Yubi

co

© 2020 Yubico

FIDO2: The Future of Strong Authentication

Jeffery FrederickSr. Solutions Engineer, [email protected]

Page 2: FIDO2: The Future of Strong AuthenticationMulti-factor Authentication Two-factor authentication method where the user provides two types of identification… 1. Something you know

© 2

020

Yubi

co

© 2020 Yubico

Cryptography

Page 3: FIDO2: The Future of Strong AuthenticationMulti-factor Authentication Two-factor authentication method where the user provides two types of identification… 1. Something you know

© 2

020

Yubi

co

● Symmetric key encryption● Asymmetric key encryption

Authentication typically uses a combination of cryptographic methods to meet the CIANA objectives.

Cryptography Methods

Page 4: FIDO2: The Future of Strong AuthenticationMulti-factor Authentication Two-factor authentication method where the user provides two types of identification… 1. Something you know

© 2

020

Yubi

co

Symmetric key encryption (shared secret)

Sender Recipient

“Shared secret” keyBoth the Sender and Recipient use the

same key to encrypt/decrypt

CiphertextEncrypt Decrypt

Page 5: FIDO2: The Future of Strong AuthenticationMulti-factor Authentication Two-factor authentication method where the user provides two types of identification… 1. Something you know

© 2

020

Yubi

co

“Shared secret” problem

● We have a lock and 2 keys shared with 2 different people that can lock and and unlock it

● Can we guarantee that there are only 2 copies floating around?

● What’s stopping people from copying the key and sharing with others?

Page 6: FIDO2: The Future of Strong AuthenticationMulti-factor Authentication Two-factor authentication method where the user provides two types of identification… 1. Something you know

© 2

020

Yubi

co

Asymmetric key encryption (public key crypto)

Sender Recipient

Recipients public keyDifferent keys are used to

encrypt/decrypt. Only the Recipient has the “secret” private key, thus only they

can decrypt

Recipients private key

CiphertextEncrypt Decrypt

Page 7: FIDO2: The Future of Strong AuthenticationMulti-factor Authentication Two-factor authentication method where the user provides two types of identification… 1. Something you know

© 2

020

Yubi

co

© 2020 Yubico

The Password Problem

Page 8: FIDO2: The Future of Strong AuthenticationMulti-factor Authentication Two-factor authentication method where the user provides two types of identification… 1. Something you know

© 2

020

Yubi

co

SSL/TLS

The Password wayRegistration

Create new account

Sure! Enter username & password

Server (Database)

username

passwordWebsite

Store username & password

Page 9: FIDO2: The Future of Strong AuthenticationMulti-factor Authentication Two-factor authentication method where the user provides two types of identification… 1. Something you know

© 2

020

Yubi

co

SSL/TLS

The Password wayAuthentication

Hi, I’m back! Login please

Sure! Enter username & password

Server (Database)

username

passwordWebsite

Fetch username & passwordGreat, it is really you. Welcome back!

Page 10: FIDO2: The Future of Strong AuthenticationMulti-factor Authentication Two-factor authentication method where the user provides two types of identification… 1. Something you know

© 2

020

Yubi

co

Password Problems

Something Authentication

Internet

Password could be stolen from the server

Too many passwords to remember Malware

MitM

Code Injection

Inconvenient to type password on device

Page 11: FIDO2: The Future of Strong AuthenticationMulti-factor Authentication Two-factor authentication method where the user provides two types of identification… 1. Something you know

© 2

020

Yubi

co

Secrets on Server

Basic Auth

Page 12: FIDO2: The Future of Strong AuthenticationMulti-factor Authentication Two-factor authentication method where the user provides two types of identification… 1. Something you know

© 2

020

Yubi

co

Public Key Crypto = No Secret on Server

Public KeyCrypto

Basic Auth

No AuthenticationSecrets on Server

Stolen Public Keys of No Use

Only Public Keys are stored on the server, not private ones

Page 13: FIDO2: The Future of Strong AuthenticationMulti-factor Authentication Two-factor authentication method where the user provides two types of identification… 1. Something you know

© 2

020

Yubi

co

Multi-factor Authentication

Two-factor authentication method where the user provides two types of identification…

1. Something you know - a PIN or a password 2. Something you have - a physical device such as a YubiKey3. Something you are - such as biometrics

Page 14: FIDO2: The Future of Strong AuthenticationMulti-factor Authentication Two-factor authentication method where the user provides two types of identification… 1. Something you know

© 2

020

Yubi

co

© 2020 Yubico

FIDO2 Overview

Page 15: FIDO2: The Future of Strong AuthenticationMulti-factor Authentication Two-factor authentication method where the user provides two types of identification… 1. Something you know

© 2

020

Yubi

co

20181960s

FIDO2/WebAuthnFIDO U2FPasswords

20141990s

RSA Keyfob Soft Token

2010s

Evolving strong authentication standards

1970s

Smart Card

2019+

Page 16: FIDO2: The Future of Strong AuthenticationMulti-factor Authentication Two-factor authentication method where the user provides two types of identification… 1. Something you know

© 2

020

Yubi

co

Single Factor: PasswordlessReplaces weak passwords with strong authentication for single factor authentication. Touch/tap and go! Good for time-critical login (e.g. retail kiosks)

Multi-Factor: Passwordless + PIN or BiometricMulti-factor with combination of a hardware authenticator with touch and a PIN (e.g. financial transactions, submitting a prescription, standard Windows login flow)

Two Factor: Password + AuthenticatorSecond factor in a two factor authentication solution

FIDO2 overview New open authentication standard offering new authentication choices

Page 17: FIDO2: The Future of Strong AuthenticationMulti-factor Authentication Two-factor authentication method where the user provides two types of identification… 1. Something you know

© 2

020

Yubi

co

Shared secret between a user and a server No shared secret, uses asymmetric/public key cryptography

Stored on server; susceptible to breach Stored local on device; not susceptible to remote attack (PIN unlocks authenticator)

Policy may demand frequent change May never need to change

May require complexity; difficult to remember May be short, simple, with no complexity requirement; easy to remember

*With FIDO2, may use biometric alternative to PIN

Passwords PIN

Passwords vs PIN

Page 18: FIDO2: The Future of Strong AuthenticationMulti-factor Authentication Two-factor authentication method where the user provides two types of identification… 1. Something you know

© 2

020

Yubi

co

FIDO2’s protection at scale

Origin boundkeys

User presence

Hardware w/strong

crypto

Native Browser/OS

support

Secure backup

Many apps,no shared

secrets

Page 19: FIDO2: The Future of Strong AuthenticationMulti-factor Authentication Two-factor authentication method where the user provides two types of identification… 1. Something you know

© 2

020

Yubi

co

FIDO2 keys are Proven UnphishableYubiKeys at Google have eliminated account takeovers.

OTP through Mobile Apps and SMS didn’t stop account takeovers

YubiKeys made mandatory for Google Employees and Contractors

Stopped account takeovers.

85,000+ Employees in over 70 Countries

Page 20: FIDO2: The Future of Strong AuthenticationMulti-factor Authentication Two-factor authentication method where the user provides two types of identification… 1. Something you know

© 2

020

Yubi

co

Cross Platform SupportOne Authenticator → Many Devices

Page 21: FIDO2: The Future of Strong AuthenticationMulti-factor Authentication Two-factor authentication method where the user provides two types of identification… 1. Something you know

© 2

020

Yubi

co

FIDO2 Use Cases

● Logon to Web Services / Web Sites● OS Logon● Log on to “fat client” applications● Token as a carrier of a validated identity● Authorization of transactions ● Password less experience● Multi factor authentication

Page 22: FIDO2: The Future of Strong AuthenticationMulti-factor Authentication Two-factor authentication method where the user provides two types of identification… 1. Something you know

© 2

020

Yubi

co

© 2020 Yubico

FIDO2/WebAuthn

Page 23: FIDO2: The Future of Strong AuthenticationMulti-factor Authentication Two-factor authentication method where the user provides two types of identification… 1. Something you know

© 2

020

Yubi

co

Authenticator(security key, fingerprint reader, etc.)

Client(application, browser, platform)

Relying Party(web service, site)

Building Blocks of FIDO

Page 24: FIDO2: The Future of Strong AuthenticationMulti-factor Authentication Two-factor authentication method where the user provides two types of identification… 1. Something you know

© 2

020

Yubi

co

● FIDO2 = CTAP + WebAuthn● A set of open standards utilizing public-key cryptography to enable strong first factor, second

and multi-factor authentication● CTAP is built into the platform thus developers only need to understand the WebAuthn

standard as CTAP is integrated into the platform and browsers

Relying Party

Browser

Client/Platform

Platform

Application

CTAP

WebAuthN

Authenticator

How FIDO2 authentication works

Page 25: FIDO2: The Future of Strong AuthenticationMulti-factor Authentication Two-factor authentication method where the user provides two types of identification… 1. Something you know

© 2

020

Yubi

co

What is CTAP?

● Application layer protocol used to communicate between an external authenticator (i.e. security key) and a client (desktop) or a platform (OS)

● Authenticator generates and securely stores credentials● Private keys, PINs, and biometric information never leave the authenticator● Communicates over USB, NFC, and Bluetooth

Authenticator

Browser

Client/Platform

Platform

ApplicationCTAP

Client to Authenticator Protocol

CTAP1 and/or CTAP2

Page 26: FIDO2: The Future of Strong AuthenticationMulti-factor Authentication Two-factor authentication method where the user provides two types of identification… 1. Something you know

© 2

020

Yubi

co

What is WebAuthn?

● Specification that enables the creation and use of strong public key-based credentials by web applications

● Strongly authenticate users● Built into widely adopted platforms (e.g. Windows), standardized by W3C, with support by all

major browsers (e.g. Google, Mozilla, Edge, Safari, etc.)● Includes FIDO2 and U2F, allowing backwards compatibility of U2F with capable authenticators

Relying Party

Browser

Client/Platform

Platform

Application

WebAuthNW3C Web Authentication API

Page 27: FIDO2: The Future of Strong AuthenticationMulti-factor Authentication Two-factor authentication method where the user provides two types of identification… 1. Something you know

© 2

020

Yubi

co

Generate private key, public key, key handle,Credential

Challenge, Origin, Token Binding,User Info

Private key (per service/site)Attestation key

(per device)

1

4

Verify Challenge, Origin, Token Binding Verify Attestation Signature Store Public key and Key handleor Credential ID

5

Registration Request

7

8 Successful registration

Relying Party(web

service/site)Authenticator

(YubiKey)

Challenge,User Info2

Client(app,

web browser, platform)

Public key, Key handle, Credential IDAttestation Signature (Challenge, Origin,Token Binding)

6 Public key,Key handle,Credential IDAttestation Signature(Challenge, Origin,Token Binding)

3

How FIDO Registration Works

Page 28: FIDO2: The Future of Strong AuthenticationMulti-factor Authentication Two-factor authentication method where the user provides two types of identification… 1. Something you know

© 2

020

Yubi

co

Require test of user presence before private key can be used

Challenge, Origin, Token Binding

Private key (per service/site)

Public key

1

4

Check signature using public key to verify Origin and Token Binding

5

Login Request

7

8 Successful login

Relying Party(web

service/site)Authenticator

(YubiKey)Challenge2

Client(app,

web browser, platform)

Credential ID,Signed Response 6 Credential ID,

Signed response

3

How FIDO Authentication Works

Page 29: FIDO2: The Future of Strong AuthenticationMulti-factor Authentication Two-factor authentication method where the user provides two types of identification… 1. Something you know

© 2

020

Yubi

co

Require test of user presencebefore private key can be used

Challenge, Origin, Token Binding

Private key (per service/site)

Public key

4

Check signature using public key to verify Origin and Token Binding

5

7

8 Successful login

Relying Party(web

service/site)Authenticator

(YubiKey)Challenge2

Client(app,

web browser, platform)

Signed response includes Origin

6 Signed response includes Origin

3

1 Login Request

FIDO Credential Phishing Protection

Page 30: FIDO2: The Future of Strong AuthenticationMulti-factor Authentication Two-factor authentication method where the user provides two types of identification… 1. Something you know

© 2

020

Yubi

co

Require test of user presence before private key can be used

Challenge, Origin, Token Binding

Private key (per service/site)

Public key

4

Check signature using public key to verify origin and Token Binding

5

7

8 Successful login

Relying Party(web

service/site)Authenticator

(YubiKey)Challenge2

Client(app, web

Browser, platform)

Signed response includes Token Binding

6 Signed responseincludes Token Binding

3

1 Login Request

FIDO MitM Protection

Page 31: FIDO2: The Future of Strong AuthenticationMulti-factor Authentication Two-factor authentication method where the user provides two types of identification… 1. Something you know

© 2

020

Yubi

co

How it worksRegistration (1) Authentication (2)

Page 32: FIDO2: The Future of Strong AuthenticationMulti-factor Authentication Two-factor authentication method where the user provides two types of identification… 1. Something you know

© 2

020

Yubi

co

FIDO2 Solution Summary

● Allows secure login without a password○ Strong layered security supporting strong single, second, and multi-factor

authentication

○ Strong defense against phishing and MitM

○ High usability with rapid login● Built into widely adopted platforms (e.g. Windows) standardized by

W3C, with support by all major browsers (e.g. Google, Mozilla, Edge, etc.)

● IAM/other vendors are adding support, encourage yours to do the same!

● FIDO2 is here!

Page 33: FIDO2: The Future of Strong AuthenticationMulti-factor Authentication Two-factor authentication method where the user provides two types of identification… 1. Something you know

© 2

020

Yubi

co

FIDO Alliance

Page 34: FIDO2: The Future of Strong AuthenticationMulti-factor Authentication Two-factor authentication method where the user provides two types of identification… 1. Something you know

© 2

020

Yubi

co

Board Members

Page 35: FIDO2: The Future of Strong AuthenticationMulti-factor Authentication Two-factor authentication method where the user provides two types of identification… 1. Something you know

© 2

020

Yubi

co

Fido Alliance - Overview

The FIDO Alliance is working to change the nature of authentication with open standards that are more secure than passwords and SMS OTPs, simpler for consumers to use, and easier for service providers to deploy and manage.

The FIDO Alliance works to fulfill its mission by:

● Developing technical specifications that define an open, scalable, interoperable set of mechanisms that reduce the reliance on passwords to authenticate users

● Operating industry certification programs to help ensure successful worldwide adoption of the specifications● Submitting mature technical specification(s) to recognized standards development organization(s) for formal

standardization

Page 36: FIDO2: The Future of Strong AuthenticationMulti-factor Authentication Two-factor authentication method where the user provides two types of identification… 1. Something you know

© 2

020

Yubi

co

Terminology

● RP - Relying Party, for example a Web application.● Authenticators - An Authenticator is a device with a TPM. There are two different

Authenticators: platform (internal) and cross-platform (roaming).● userHandle - Mapping of the user, a pseudo random byte sequence not identifying the user.● User Presence - Used to ensure that a user is physically present and in control of the

Authenticator.● User Verification - Serves to ensure that the person authenticating to a service is in fact who

they say they are for the purposes of that service.● Attestation - The attestation is how authenticators prove to the relying party that the keys they

generate originate from a genuine device with certified characteristics. There is an option to do attestation when creating the key pair.

● Resident Keys - The private key and a userHandle is stored in persistent memory on the authenticator, instead of encrypted and stored on the relying party server.

Page 37: FIDO2: The Future of Strong AuthenticationMulti-factor Authentication Two-factor authentication method where the user provides two types of identification… 1. Something you know

© 2

020

Yubi

co

Waterproof Crush Resistant

Made in the USA to precise standardsThe YubiKey Product LLine

Page 38: FIDO2: The Future of Strong AuthenticationMulti-factor Authentication Two-factor authentication method where the user provides two types of identification… 1. Something you know

© 2

020

Yubi

co

FIDO2 FIDO U2F Smart Card (PIV)

OATH(TOTP/HOTP)

OpenPGPConfig Slot 1 and 2

YubiKey Multiple Protocol Support

Page 39: FIDO2: The Future of Strong AuthenticationMulti-factor Authentication Two-factor authentication method where the user provides two types of identification… 1. Something you know

© 2

020

Yubi

co

Resources

Page 40: FIDO2: The Future of Strong AuthenticationMulti-factor Authentication Two-factor authentication method where the user provides two types of identification… 1. Something you know

© 2

020

Yubi

co

Get Started● Read the specifications: fidoalliance.org/specifications/overview/● Yubico U2F Dev site: dev.yubico.com

Implement

● Google reference code: github.com/google/u2f-ref-code● Build your own U2F server: dev.yubico.com/U2F/libraries● Use Yubico standalone U2F server: dev.yubi.co/u2fval

Test

● Yubico U2F demo server: demo.yubico.com/u2f● Google U2F demo server: u2fdemo.appspot.com

40

FIDO U2F- learn more

Page 41: FIDO2: The Future of Strong AuthenticationMulti-factor Authentication Two-factor authentication method where the user provides two types of identification… 1. Something you know

© 2

020

Yubi

co

Get Started● Read the specifications: fidoalliance.org/specifications/overview/● Read about: Microsoft about FIDO2, CTAP and WebAuthn● WebAuthn Resources: https://github.com/herrjemand/● Yubico about FIDO2: What is FIDO2?● Brighttalk FIDO2 Demystified: FIDO2 Authentication Demystified

Implement● Yubico WebAuthn Libraries: developers.yubico.com/WebAuthn/Libraries/● Yubico WebAuthn Developer Guide: https://dev.yubico.com/WebAuthn

Test

● Yubico FIDO2 demo server: demo.yubico.com/playground

41

FIDO2 - learn more

Page 42: FIDO2: The Future of Strong AuthenticationMulti-factor Authentication Two-factor authentication method where the user provides two types of identification… 1. Something you know

© 2

020

Yubi

co

Learn More About FIDO2

Developer ProgramPress Release: Yubico Launches Developer Program

developers.yubico.com

The Yubico Developer Program provides resources to enable rapid implementation of strong authentication for web and mobile applications.

Technical WebinarsFIDO2 Authentication Demystified

FIDO2 WebAuthn Data Flows, Attestation

FIDO2 WebAuthn Server Validation

BlogsYubico at RSA 2018: Passwordless Logins, Developer Programs, and More

Yubico Launches Passwordless Login with new Security Key and FIDO2

Yubico and Microsoft Introduce Passwordless Login

What is FIDO2?

Microsoft Blog: All about FIDO2, CTAP2 and WebAuth