49
UAF Protocol

FIDO UAF 1.0 Specs: Overview and Insights

Embed Size (px)

Citation preview

Page 1: FIDO UAF 1.0 Specs: Overview and Insights

UAF Protocol

Page 2: FIDO UAF 1.0 Specs: Overview and Insights
Page 4: FIDO UAF 1.0 Specs: Overview and Insights

Devices without physical keyboard

Page 6: FIDO UAF 1.0 Specs: Overview and Insights

Cloud Authentication

Page 7: FIDO UAF 1.0 Specs: Overview and Insights

Password might be

entered into untrusted

App / Web-site

(“phishing”)

Password could be stolen

from the server

Too many passwords to

remember

re-use / cart

abandonment

Inconvenient to type

password on phone

Password Issues

Page 8: FIDO UAF 1.0 Specs: Overview and Insights

OTP Issues

OTP vulnerable to real-

time MITM and MITB

attacks

SMS security questionable,

especially when Device is the

phone

OTP HW tokens are

expensive and people

don’t want another device

Inconvenient to type OTP

on phone

Page 9: FIDO UAF 1.0 Specs: Overview and Insights
Page 10: FIDO UAF 1.0 Specs: Overview and Insights

Attack Classes

Remotely attacking central servers

steal data for impersonation

1

Physically attacking user

devices

misuse them for

impersonation

6

Physically attacking user

devices

steal data for impersonation

5

Remotely attacking

lots of user devices

steal data for

impersonation

Remotely attacking

lots of user devices

misuse them for

impersonation

Remotely attacking

lots of user devices

misuse

authenticated

sessions

2 3 4

Scalable attacks

Physical attacks

possible on lost or

stolen devices

(3% in the US in 2013)

Page 11: FIDO UAF 1.0 Specs: Overview and Insights

Summary

1. Passwords are insecure and inconvenient

especially on mobile devices

2. Alternative authentication methods are silos

and hence don‘t scale to large scale user

populations

3. The required security level of the

authentication depends on the use

4. Risk engines need information about the

explicit authentication security for good

decision

Page 12: FIDO UAF 1.0 Specs: Overview and Insights

How does FIDO work?

Device

Page 13: FIDO UAF 1.0 Specs: Overview and Insights

How does FIDO UAF work?

… SE

Page 14: FIDO UAF 1.0 Specs: Overview and Insights

How does FIDO UAF work?

Can recognize the

user (i.e. user

verification), but

doesn’t have an

identity proof of

the user.

Same Authenticator

as registered before? Same User as

enrolled before?

Page 15: FIDO UAF 1.0 Specs: Overview and Insights

How does FIDO UAF work?

Can recognize the

user (i.e. user

verification), but

doesn’t have an

identity proof of

the user.

Same Authenticator

as registered before? Same User as

enrolled before?

Identity binding to be

done outside FIDO:

This this “John Doe

with customer ID X”.

Page 16: FIDO UAF 1.0 Specs: Overview and Insights

How does FIDO UAF work?

… SE

How is the key protected

(TPM, SE, TEE, …)?

What user verification

method is used?

Page 17: FIDO UAF 1.0 Specs: Overview and Insights

Attestation & Metadata

FIDO SERVER FIDO AUTHENTICATOR

Metadata

Signed Attestation Object

Verify using trust anchor

included in Metadata

Understand Authenticator

security characteristic

by looking into Metadata

(and potentially other sources)

Page 18: FIDO UAF 1.0 Specs: Overview and Insights

How does FIDO UAF work?

5. Generate key pair in

Authenticator to protect

against phishing

7. Verify user

before signing

authentication

response

4. Provide

cryptographic proof of

authenticator model

1. Use Metadata to

understand

Authenticator model

security characteristic

2. Define policy

of acceptable

Authenticators 6. Use site-specific

keys in order to

protect privacy

3. Store public keys

on the server

(no secrets)

8. Use channel binding

to protect against

MITM

Page 19: FIDO UAF 1.0 Specs: Overview and Insights

FIDO Building Blocks

Page 20: FIDO UAF 1.0 Specs: Overview and Insights

Registration Overview

FIDO AUTHENTICATOR

FIDO SERVER FIDO CLIENT

Send Registration Request:

- Policy

- Random Challenge

Start

registration

Verify user

Generate key pair

Sign attestation object:

• Public key

• AAID

• Random Challenge

• Name of relying party

Signed by attestation key

Verify signature

Check AAID against policy

Store public key

AAID = Authenticator Attestation

ID, i.e. model ID

Page 21: FIDO UAF 1.0 Specs: Overview and Insights

Registration Overview (2)

Physical Identity

Virtual Identity

FIDO AUTHENTICATOR FIDO SERVER

WEB Application

{ userid=1234,

[email protected],

known since 03/05/04,

payment history=xx,

}

{ userid=1234,

pubkey=0x43246, AAID=x

+pubkey=0xfa4731, AAID=y

}

Registration

AAID y

key for foo.com: 0xfa4731

Relying Party foo.com

Link new

Authenticator to

existing userid

“Know Your Customer” rules

Legacy Authentication

Page 22: FIDO UAF 1.0 Specs: Overview and Insights

UAF Authentication

Page 23: FIDO UAF 1.0 Specs: Overview and Insights

UAF Authentication

Page 24: FIDO UAF 1.0 Specs: Overview and Insights

UAF Authentication

Page 25: FIDO UAF 1.0 Specs: Overview and Insights

UAF Authentication

Page 26: FIDO UAF 1.0 Specs: Overview and Insights

UAF Authentication

Page 27: FIDO UAF 1.0 Specs: Overview and Insights

UAF Authentication

Page 28: FIDO UAF 1.0 Specs: Overview and Insights

UAF Authentication

[email protected]

Pat Johnson

Page 29: FIDO UAF 1.0 Specs: Overview and Insights

UAF Authentication

Pat Johnson

650 Castro Street

Mountain View, CA 94041

United States

SignedData:

• SignatureAlg

• Hash(FinalChallenge)

• Authenticator random

• Signature Counter

• Signature

FinalChallenge=AppID | FacetID

| channelBinding | challenge

Page 30: FIDO UAF 1.0 Specs: Overview and Insights

UAF Authentication

[email protected]

Pat Johnson

Payment complete!

Return to the merchant’s web site to

continue shopping

Return to the merchant

Page 31: FIDO UAF 1.0 Specs: Overview and Insights

Transaction Confirmation

SignedData:

• SignatureAlg

• Hash(FinalChallenge)

• Authenticator random

• Signature Counter

• Hash(Transaction Text)

• Signature

FinalChallenge=AppID | FacetID

| channelBinding | challenge

Page 32: FIDO UAF 1.0 Specs: Overview and Insights

FIDO Authenticator

User

Verification /

Presence Attestation Key

Authentication Key(s)

Injected at

manufacturing,

doesn’t change

Generated at

runtime (on

Registration)

Optional

Components

Transaction

Confirmation

Display

The FIDO Authenticator Concept

Page 33: FIDO UAF 1.0 Specs: Overview and Insights

FIDO Authenticator in SIM Card

SIM Card

Attestation Key

Authentication Key(s)

User Verification

(PIN)

Using Secure Hardware

Page 34: FIDO UAF 1.0 Specs: Overview and Insights

Trusted Execution Environment (TEE)

FIDO Authenticator as Trusted Application (TA)

User Verification / Presence

Attestation Key

Authentication Key(s)

Store at Enrollment

Compare at Authentication Unlock after comparison

Client Side Biometrics

Page 35: FIDO UAF 1.0 Specs: Overview and Insights

Trusted Execution Environment (TEE)

FIDO Authenticator as Trusted Application (TA)

User Verification

/ Presence

Transaction

Confirmation

Display

Secure Element

Attestation Key

Authentication Key(s)

e.g. GlobalPlatform

Trusted UI

Combining TEE and SE

Page 36: FIDO UAF 1.0 Specs: Overview and Insights

FIDO & Federation First Mile Second Mile

Page 37: FIDO UAF 1.0 Specs: Overview and Insights

OEM Enabled: Lenovo ThinkPads with

Fingerprint Sensors OEM Enabled: Samsung Galaxy S5 smartphone & Galaxy Tab S

tablets

Clients available for these operating systems:

Software Authenticator Examples:

Speaker/Face recognition, PIN, QR Code, etc.

Aftermarket Hardware Authenticator Examples:

USB fingerprint scanner, MicroSD Secure Element

FIDO ReadyTM Products Shipping today

Page 38: FIDO UAF 1.0 Specs: Overview and Insights

FIDO is used Today

Page 39: FIDO UAF 1.0 Specs: Overview and Insights

Conclusion

• Different authentication use-cases lead to different

authentication requirements

• Today, we have authentication silos

• FIDO separates user verification from authentication

protocol and hence supports all user verification

methods

• FIDO supports scalable security and convenience

• User verification data is known to Authenticator only

• FIDO complements federation

Consider developing or piloting FIDO-based

authentication solutions

Dr. Rolf Lindemann, Nok Nok Labs, [email protected]

Page 40: FIDO UAF 1.0 Specs: Overview and Insights

UAF Registration

Page 41: FIDO UAF 1.0 Specs: Overview and Insights

UAF Registration

Page 42: FIDO UAF 1.0 Specs: Overview and Insights

UAF Registration

Page 43: FIDO UAF 1.0 Specs: Overview and Insights

UAF Registration

Page 44: FIDO UAF 1.0 Specs: Overview and Insights

UAF Registration

Page 45: FIDO UAF 1.0 Specs: Overview and Insights

UAF Registration

Page 46: FIDO UAF 1.0 Specs: Overview and Insights

[email protected]

Pat Johnson

Link your fingerprint

UAF Registration

Page 47: FIDO UAF 1.0 Specs: Overview and Insights

[email protected]

Pat Johnson

Link your fingerprint

UAF Registration

Page 48: FIDO UAF 1.0 Specs: Overview and Insights

[email protected]

Pat Johnson

Link your fingerprint

UAF Registration

Key Registration Data:

• Hash(FinalChallenge)

• AAID

• Public key

• KeyID

• Registration Counter

• Signature Counter

• Signature (attestation key)

FinalChallenge=AppID | FacetID

| channelBinding | challenge

Page 49: FIDO UAF 1.0 Specs: Overview and Insights

[email protected]

Pat Johnson

UAF Registration