SlideShare a Scribd company logo
#FIDOseminar
FIDO SPECIFICATIONS TUTORIAL
Rolf Lindemann, Nok Nok Labs
3 October 2016
All Rights Reserved. FIDO Alliance. Copyright 2016.
How Secure is Authentication?
2All Rights Reserved | FIDO Alliance | Copyright 2016.
Cloud Authentication
3
DeviceSomething Authentication
Risk Analytics
Internet
All Rights Reserved | FIDO Alliance | Copyright 2016.
Password Issues
4
DeviceSomething Authentication
Internet
Password could be stolen
from the server
1Password might be entered
into untrusted App / Web-
site (“phishing”)
2
Too many passwords to
remember
(>re-use / cart Abandonment)
3
Inconvenient to type
password on phone
4
All Rights Reserved | FIDO Alliance | Copyright 2016.
Classifying Threats
5
Remotely attacking central servers
steal data for impersonation
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
Physically attacking user devices
steal data for impersonation
Physically attacking user devices
misuse them for impersonation
1
2 3 4
5 6
Physical attacks
possible on lost or
stolen devices
(3% in the US in 2013)
Scalable attacks
All Rights Reserved | FIDO Alliance | Copyright 2016.
How does FIDO work?
6
DeviceUser verification FIDO Authentication
Authenticator
All Rights Reserved | FIDO Alliance | Copyright 2016.
How does FIDO work?
7
AuthenticatorUser verification FIDO Authentication
Require user gesture before
private key can be used
Challenge
(Signed) Response
Private key
dedicated to one app
Public key
All Rights Reserved | FIDO Alliance | Copyright 2016.
How does FIDO work?
8
AuthenticatorUser verification FIDO Authentication
… …SE
All Rights Reserved | FIDO Alliance | Copyright 2016.
How does FIDO work?
9
AuthenticatorUser verification FIDO Authentication
Same Authenticator
as registered before?
Same User as
enrolled before?
Can recognize the user (i.e.
user verification), but doesn’t
know its identity attributes.
All Rights Reserved | FIDO Alliance | Copyright 2016.
How does FIDO work?
10
AuthenticatorUser verification FIDO Authentication
Same Authenticator
as registered before?
Same User as
enrolled before?
Can recognize the user (i.e.
user verification), but doesn’t
know its identity attributes.
Identity binding to be
done outside FIDO: This
this “John Doe with
customer ID X”.
All Rights Reserved | FIDO Alliance | Copyright 2016.
How does FIDO work?
11
AuthenticatorUser verification FIDO Authentication
… …SE
How is the key protected
(TPM, SE, TEE, …)?
Which user verification
method is used?
All Rights Reserved | FIDO Alliance | Copyright 2016.
Attestation & Metadata
12
Authenticator FIDO Registration
Signed Attestation Object
Metadata
Private
attestation key
Verify using trust anchor included
in Metadata
Understand Authenticator security
characteristic by looking into
Metadata from mds.fidoalliance.org
(or other sources)
All Rights Reserved | FIDO Alliance | Copyright 2016.
FIDO Authenticator Concept
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
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
17
Passwordless Experience (UAF Standards)
Authenticated Online
3
Biometric User Verification*
21
?
Authentication Challenge Authenticated Online
3
Second Factor Challenge Insert Dongle* / Press Button
Second Factor Experience (U2F Standards)
*There are other types of authenticators
21
All Rights Reserved | FIDO Alliance | Copyright 2016.
Relying Party
(example.com)
accountInfo, challenge, [cOpts]
rpId, ai, hash(clientData), cryptoP, [exts]
verify user
generate:
key kpub
key kpriv
credential c c,kpub,clientData,ac,cdh,rpId,cntr,AAGUID[,exts],
signature(tbs)
c,kpub,clientData,ac,tbs, s
store:
key kpub
c
s
PlatformAuthenticator
select Authenticator according to cOpts;
determine rpId, get tlsData;
clientData := {challenge, origin, rpId, hAlg, tlsData}
cOpts: crypto params, credential black list,
extensions
cdh
FIDO Registration
ai
tbs
ac: attestation certificate chain
Authenticator Platform Relying Party
rpId, [c,] hash(clientData)
select Authenticator according to policy;
check rpId, get tlsData (i.e. channel id, etc.);
lookup key handle h;
clientData := {challenge, rpId, tlsData}
clientData,cntr,[exts],signature(cdh,cntr,exts)
clientData, cntr, exts, s
lookup kpub
from DB
check:
policy +
signature
using
key kpub
s
cdh
challenge, [aOpts]
FIDO Authentication
verify user
find
key kpriv
cntr++;
process
exts
Terminology
• Instead of rpId you will find AppID in some specs
• Instead of accountInfo (ai) you will find username in some
specs
• Instead of cOpts.webauthn_authnSel you will find policy in
some specs
• Instead of AAGUID you will find AAID in some specs
• Instead of clientData you will find FinalChallengeParam in
some specs
• Instead of clientDataHash (cdh) you will find fc in some specs
• Instead of credential you will find key handle (h) in some specs
20All Rights Reserved | FIDO Alliance | Copyright 2016.
Comments
• External 2nd Factor Authenticators
• The key handle (aka credential) is known by the relying party server
before authentication.
• It can be provided to the authenticator
• It can contain the wrapped private key to allow authenticator
implementations without persistent writeable storage
• First factor authenticators
• The key handle (aka credential) is not known by the relying party
server before authentication.
• The authenticator has to store the key material itself (or securely
offload its storage to the platform it is bound to) – no key handle
needs to be provided
21All Rights Reserved | FIDO Alliance | Copyright 2016.
Convenience & Security
22
Security
Convenience
Password + OTP
Password
All Rights Reserved | FIDO Alliance | Copyright 2016.
Convenience & Security
23
Security
Convenience
Password + OTP
Password
FIDO
In FIDO
• Same user verification method
for all servers
In FIDO: Arbitrary user verification
methods are supported
(+ they are interoperable)
All Rights Reserved | FIDO Alliance | Copyright 2016.
Convenience & Security
24
Security
Convenience
Password + OTP
Password
FIDO
In FIDO: Scalable security
depending on Authenticator
implementation
In FIDO:
• Only public keys on server
• Not phishable
All Rights Reserved | FIDO Alliance | Copyright 2016.
Conclusion
• Different authentication use-cases lead to different
authentication requirements
• FIDO separates user verification from authentication and
hence supports all user verification methods
• FIDO supports scalable convenience & security
• User verification data is known to Authenticator only
• FIDO complements federation
25All Rights Reserved | FIDO Alliance | Copyright 2016.
What about rubber fingers?
Protection methods in FIDO
1. Attacker needs access to the Authenticator and swipe rubber
finger on it. This makes it a non-scalable attack.
2. Authenticators might implement presentation attack
detection methods.
Remember:
Creating hundreds of millions of rubber fingers + stealing the
related authenticators is expensive. Stealing hundreds of millions
of passwords from a server has low cost per password.
But I can’t revoke my finger…
• Protection methods in FIDO
You don’t need to revoke your finger, you can simply de-register the
old (=attacked) authenticator. Then,
1. Get a new authenticator
2. Enroll your finger (or iris, …) to it
3. Register the new authenticator to the service

More Related Content

PDF
Payroll Process in Dubai Multi Commodities Centre (DMCC).pdf
PPTX
Presentatie 1 aida model
DOCX
Despacho 10GDN2022 - Modelo 3 - Modelo de declaração de instalação.docx
PPT
Le Future proche - French Basics PPT
PPTX
Southern blotting
PDF
Argumenter par écrit
PPTX
Introduction to FIDO Alliance
PDF
NTT DOCOMO Deployment Case Study: Your Security, More Simple
Payroll Process in Dubai Multi Commodities Centre (DMCC).pdf
Presentatie 1 aida model
Despacho 10GDN2022 - Modelo 3 - Modelo de declaração de instalação.docx
Le Future proche - French Basics PPT
Southern blotting
Argumenter par écrit
Introduction to FIDO Alliance
NTT DOCOMO Deployment Case Study: Your Security, More Simple

Viewers also liked (20)

PPTX
Fido China Working Group (FCWG)
PPTX
Google Case Sudy: Becoming Unphishable: Towards Simpler, Stronger Authenticaton
PPTX
FIDO and Strong Authentication in US Federal Government
PPTX
Getting to Know the FIDO Specifications - Technical Tutorial
PPTX
Introduction to FIDO: A New Model for Authentication
PDF
FIDO Alliance Activity in Japan
PPTX
FIDO - The Value of Membership
PPTX
Strong Authentication Trends in Government
PDF
Google Case Study: Strong Authentication for Employees and Consumers
PDF
KICA Case Study: Bio-Authentication and PKI Trends in Korea -FIDO Alliance -T...
PDF
W3C Presentation -FIDO Alliance -Tokyo Seminar -Smith
PDF
FIDO Authentication: Its Evolution and Opportunities in Business -FIDO Allian...
PPTX
NTT Docomo Deployment Case Study: Your Security, More Simple
PPTX
Reduce Friction and Risk with Device Authentication
PDF
New Trends in Mobile Authentication
PDF
FIDO, PKI & beyond: Where Authentication Meets Identification
PPTX
Introduction to FIDO Alliance
PPTX
TTA’s approach to promoting FIDO standards in Korea
PPTX
FIDO & Strong Authentication Technology Landscape
PPTX
Introduction to the FIDO Alliance: Vision and Status
Fido China Working Group (FCWG)
Google Case Sudy: Becoming Unphishable: Towards Simpler, Stronger Authenticaton
FIDO and Strong Authentication in US Federal Government
Getting to Know the FIDO Specifications - Technical Tutorial
Introduction to FIDO: A New Model for Authentication
FIDO Alliance Activity in Japan
FIDO - The Value of Membership
Strong Authentication Trends in Government
Google Case Study: Strong Authentication for Employees and Consumers
KICA Case Study: Bio-Authentication and PKI Trends in Korea -FIDO Alliance -T...
W3C Presentation -FIDO Alliance -Tokyo Seminar -Smith
FIDO Authentication: Its Evolution and Opportunities in Business -FIDO Allian...
NTT Docomo Deployment Case Study: Your Security, More Simple
Reduce Friction and Risk with Device Authentication
New Trends in Mobile Authentication
FIDO, PKI & beyond: Where Authentication Meets Identification
Introduction to FIDO Alliance
TTA’s approach to promoting FIDO standards in Korea
FIDO & Strong Authentication Technology Landscape
Introduction to the FIDO Alliance: Vision and Status
Ad

Similar to FIDO Specifications Overview (20)

PPTX
UAF Tutorial: Passwordless, Biometric Authentication for Native Apps
PDF
FIDO UAF 1.0 Specs: Overview and Insights
PDF
FIDO Specifications Tutorial
PDF
FIDO UAF 1.0 Specs: Overview and Insights
PDF
FIDO Technical Specifications Overview
PDF
FIDO Technical Specifications Overview
PDF
FIDO Authentication Technical Overview
PDF
FIDO Authentication Technical Overview
PDF
CIS14: An Overview of FIDO's Universal Factor (UAF) Specifications
PDF
FIDO UAF Specifications: Overview & Tutorial
PDF
FIDO Specifications Overview: UAF & U2F
PDF
FIDO U2F & UAF Tutorial
PPTX
Technical Considerations for Deploying FIDO Authentication
PDF
Technical Principles of FIDO Authentication
PDF
Technical Principles of FIDO Authentication
PDF
FIDO Technical Overview at FIDO KWG Hackathon
PPTX
Fido Technical Overview
PPTX
New FIDO Specifications Overview -FIDO Alliance -Tokyo Seminar -Nadalin
PPTX
FIDOAlliance
PDF
FIDO & PSD2 – Achieving Strong Customer Authentication Compliance
UAF Tutorial: Passwordless, Biometric Authentication for Native Apps
FIDO UAF 1.0 Specs: Overview and Insights
FIDO Specifications Tutorial
FIDO UAF 1.0 Specs: Overview and Insights
FIDO Technical Specifications Overview
FIDO Technical Specifications Overview
FIDO Authentication Technical Overview
FIDO Authentication Technical Overview
CIS14: An Overview of FIDO's Universal Factor (UAF) Specifications
FIDO UAF Specifications: Overview & Tutorial
FIDO Specifications Overview: UAF & U2F
FIDO U2F & UAF Tutorial
Technical Considerations for Deploying FIDO Authentication
Technical Principles of FIDO Authentication
Technical Principles of FIDO Authentication
FIDO Technical Overview at FIDO KWG Hackathon
Fido Technical Overview
New FIDO Specifications Overview -FIDO Alliance -Tokyo Seminar -Nadalin
FIDOAlliance
FIDO & PSD2 – Achieving Strong Customer Authentication Compliance
Ad

More from FIDO Alliance (20)

PPTX
Securing Account Lifecycles in the Age of Deepfakes.pptx
PPTX
FIDO Seminar: Perspectives on Passkeys & Consumer Adoption.pptx
PPTX
FIDO Seminar: Evolving Landscape of Post-Quantum Cryptography.pptx
PPTX
FIDO Seminar: Targeting Trust: The Future of Identity in the Workforce.pptx
PPTX
FIDO Seminar: New Data: Passkey Adoption in the Workforce.pptx
PPTX
FIDO Seminar: Authentication for a Billion Consumers - Amazon.pptx
PPTX
FIDO Alliance Seminar State of Passkeys.pptx
PPTX
FIDO Munich Seminar: FIDO Tech Principles.pptx
PPTX
FIDO Munich Seminar: Securing Smart Car.pptx
PPTX
FIDO Munich Seminar: Strong Workforce Authn Push & Pull Factors.pptx
PPTX
FIDO Munich Seminar: Biometrics and Passkeys for In-Vehicle Apps.pptx
PPTX
FIDO Munich Seminar Workforce Authentication Case Study.pptx
PPTX
FIDO Munich Seminar In-Vehicle Payment Trends.pptx
PPTX
FIDO Munich Seminar FIDO Automotive Apps.pptx
PPTX
FIDO Munich Seminar Blueprint for In-Vehicle Payment Standard.pptx
PPTX
FIDO Munich Seminar Introduction to FIDO.pptx
PPTX
UX Webinar Series: Essentials for Adopting Passkeys as the Foundation of your...
PPTX
UX Webinar Series: Drive Revenue and Decrease Costs with Passkeys for Consume...
PPTX
UX Webinar Series: Aligning Authentication Experiences with Business Goals
PDF
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
Securing Account Lifecycles in the Age of Deepfakes.pptx
FIDO Seminar: Perspectives on Passkeys & Consumer Adoption.pptx
FIDO Seminar: Evolving Landscape of Post-Quantum Cryptography.pptx
FIDO Seminar: Targeting Trust: The Future of Identity in the Workforce.pptx
FIDO Seminar: New Data: Passkey Adoption in the Workforce.pptx
FIDO Seminar: Authentication for a Billion Consumers - Amazon.pptx
FIDO Alliance Seminar State of Passkeys.pptx
FIDO Munich Seminar: FIDO Tech Principles.pptx
FIDO Munich Seminar: Securing Smart Car.pptx
FIDO Munich Seminar: Strong Workforce Authn Push & Pull Factors.pptx
FIDO Munich Seminar: Biometrics and Passkeys for In-Vehicle Apps.pptx
FIDO Munich Seminar Workforce Authentication Case Study.pptx
FIDO Munich Seminar In-Vehicle Payment Trends.pptx
FIDO Munich Seminar FIDO Automotive Apps.pptx
FIDO Munich Seminar Blueprint for In-Vehicle Payment Standard.pptx
FIDO Munich Seminar Introduction to FIDO.pptx
UX Webinar Series: Essentials for Adopting Passkeys as the Foundation of your...
UX Webinar Series: Drive Revenue and Decrease Costs with Passkeys for Consume...
UX Webinar Series: Aligning Authentication Experiences with Business Goals
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf

Recently uploaded (20)

PDF
Web App vs Mobile App What Should You Build First.pdf
PPTX
Final SEM Unit 1 for mit wpu at pune .pptx
PDF
Hindi spoken digit analysis for native and non-native speakers
PDF
A contest of sentiment analysis: k-nearest neighbor versus neural network
PPTX
Modernising the Digital Integration Hub
PPTX
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
PDF
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
PDF
Enhancing emotion recognition model for a student engagement use case through...
PDF
Getting Started with Data Integration: FME Form 101
PPTX
O2C Customer Invoices to Receipt V15A.pptx
PPTX
The various Industrial Revolutions .pptx
PDF
A comparative study of natural language inference in Swahili using monolingua...
PPTX
TLE Review Electricity (Electricity).pptx
PDF
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
PDF
A novel scalable deep ensemble learning framework for big data classification...
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PDF
Univ-Connecticut-ChatGPT-Presentaion.pdf
PDF
STKI Israel Market Study 2025 version august
PDF
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
PDF
Developing a website for English-speaking practice to English as a foreign la...
Web App vs Mobile App What Should You Build First.pdf
Final SEM Unit 1 for mit wpu at pune .pptx
Hindi spoken digit analysis for native and non-native speakers
A contest of sentiment analysis: k-nearest neighbor versus neural network
Modernising the Digital Integration Hub
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
Enhancing emotion recognition model for a student engagement use case through...
Getting Started with Data Integration: FME Form 101
O2C Customer Invoices to Receipt V15A.pptx
The various Industrial Revolutions .pptx
A comparative study of natural language inference in Swahili using monolingua...
TLE Review Electricity (Electricity).pptx
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
A novel scalable deep ensemble learning framework for big data classification...
gpt5_lecture_notes_comprehensive_20250812015547.pdf
Univ-Connecticut-ChatGPT-Presentaion.pdf
STKI Israel Market Study 2025 version august
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
Developing a website for English-speaking practice to English as a foreign la...

FIDO Specifications Overview

  • 1. #FIDOseminar FIDO SPECIFICATIONS TUTORIAL Rolf Lindemann, Nok Nok Labs 3 October 2016 All Rights Reserved. FIDO Alliance. Copyright 2016.
  • 2. How Secure is Authentication? 2All Rights Reserved | FIDO Alliance | Copyright 2016.
  • 3. Cloud Authentication 3 DeviceSomething Authentication Risk Analytics Internet All Rights Reserved | FIDO Alliance | Copyright 2016.
  • 4. Password Issues 4 DeviceSomething Authentication Internet Password could be stolen from the server 1Password might be entered into untrusted App / Web- site (“phishing”) 2 Too many passwords to remember (>re-use / cart Abandonment) 3 Inconvenient to type password on phone 4 All Rights Reserved | FIDO Alliance | Copyright 2016.
  • 5. Classifying Threats 5 Remotely attacking central servers steal data for impersonation 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 Physically attacking user devices steal data for impersonation Physically attacking user devices misuse them for impersonation 1 2 3 4 5 6 Physical attacks possible on lost or stolen devices (3% in the US in 2013) Scalable attacks All Rights Reserved | FIDO Alliance | Copyright 2016.
  • 6. How does FIDO work? 6 DeviceUser verification FIDO Authentication Authenticator All Rights Reserved | FIDO Alliance | Copyright 2016.
  • 7. How does FIDO work? 7 AuthenticatorUser verification FIDO Authentication Require user gesture before private key can be used Challenge (Signed) Response Private key dedicated to one app Public key All Rights Reserved | FIDO Alliance | Copyright 2016.
  • 8. How does FIDO work? 8 AuthenticatorUser verification FIDO Authentication … …SE All Rights Reserved | FIDO Alliance | Copyright 2016.
  • 9. How does FIDO work? 9 AuthenticatorUser verification FIDO Authentication Same Authenticator as registered before? Same User as enrolled before? Can recognize the user (i.e. user verification), but doesn’t know its identity attributes. All Rights Reserved | FIDO Alliance | Copyright 2016.
  • 10. How does FIDO work? 10 AuthenticatorUser verification FIDO Authentication Same Authenticator as registered before? Same User as enrolled before? Can recognize the user (i.e. user verification), but doesn’t know its identity attributes. Identity binding to be done outside FIDO: This this “John Doe with customer ID X”. All Rights Reserved | FIDO Alliance | Copyright 2016.
  • 11. How does FIDO work? 11 AuthenticatorUser verification FIDO Authentication … …SE How is the key protected (TPM, SE, TEE, …)? Which user verification method is used? All Rights Reserved | FIDO Alliance | Copyright 2016.
  • 12. Attestation & Metadata 12 Authenticator FIDO Registration Signed Attestation Object Metadata Private attestation key Verify using trust anchor included in Metadata Understand Authenticator security characteristic by looking into Metadata from mds.fidoalliance.org (or other sources) All Rights Reserved | FIDO Alliance | Copyright 2016.
  • 13. FIDO Authenticator Concept 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
  • 14. 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
  • 15. 17 Passwordless Experience (UAF Standards) Authenticated Online 3 Biometric User Verification* 21 ? Authentication Challenge Authenticated Online 3 Second Factor Challenge Insert Dongle* / Press Button Second Factor Experience (U2F Standards) *There are other types of authenticators 21 All Rights Reserved | FIDO Alliance | Copyright 2016.
  • 16. Relying Party (example.com) accountInfo, challenge, [cOpts] rpId, ai, hash(clientData), cryptoP, [exts] verify user generate: key kpub key kpriv credential c c,kpub,clientData,ac,cdh,rpId,cntr,AAGUID[,exts], signature(tbs) c,kpub,clientData,ac,tbs, s store: key kpub c s PlatformAuthenticator select Authenticator according to cOpts; determine rpId, get tlsData; clientData := {challenge, origin, rpId, hAlg, tlsData} cOpts: crypto params, credential black list, extensions cdh FIDO Registration ai tbs ac: attestation certificate chain
  • 17. Authenticator Platform Relying Party rpId, [c,] hash(clientData) select Authenticator according to policy; check rpId, get tlsData (i.e. channel id, etc.); lookup key handle h; clientData := {challenge, rpId, tlsData} clientData,cntr,[exts],signature(cdh,cntr,exts) clientData, cntr, exts, s lookup kpub from DB check: policy + signature using key kpub s cdh challenge, [aOpts] FIDO Authentication verify user find key kpriv cntr++; process exts
  • 18. Terminology • Instead of rpId you will find AppID in some specs • Instead of accountInfo (ai) you will find username in some specs • Instead of cOpts.webauthn_authnSel you will find policy in some specs • Instead of AAGUID you will find AAID in some specs • Instead of clientData you will find FinalChallengeParam in some specs • Instead of clientDataHash (cdh) you will find fc in some specs • Instead of credential you will find key handle (h) in some specs 20All Rights Reserved | FIDO Alliance | Copyright 2016.
  • 19. Comments • External 2nd Factor Authenticators • The key handle (aka credential) is known by the relying party server before authentication. • It can be provided to the authenticator • It can contain the wrapped private key to allow authenticator implementations without persistent writeable storage • First factor authenticators • The key handle (aka credential) is not known by the relying party server before authentication. • The authenticator has to store the key material itself (or securely offload its storage to the platform it is bound to) – no key handle needs to be provided 21All Rights Reserved | FIDO Alliance | Copyright 2016.
  • 20. Convenience & Security 22 Security Convenience Password + OTP Password All Rights Reserved | FIDO Alliance | Copyright 2016.
  • 21. Convenience & Security 23 Security Convenience Password + OTP Password FIDO In FIDO • Same user verification method for all servers In FIDO: Arbitrary user verification methods are supported (+ they are interoperable) All Rights Reserved | FIDO Alliance | Copyright 2016.
  • 22. Convenience & Security 24 Security Convenience Password + OTP Password FIDO In FIDO: Scalable security depending on Authenticator implementation In FIDO: • Only public keys on server • Not phishable All Rights Reserved | FIDO Alliance | Copyright 2016.
  • 23. Conclusion • Different authentication use-cases lead to different authentication requirements • FIDO separates user verification from authentication and hence supports all user verification methods • FIDO supports scalable convenience & security • User verification data is known to Authenticator only • FIDO complements federation 25All Rights Reserved | FIDO Alliance | Copyright 2016.
  • 24. What about rubber fingers? Protection methods in FIDO 1. Attacker needs access to the Authenticator and swipe rubber finger on it. This makes it a non-scalable attack. 2. Authenticators might implement presentation attack detection methods. Remember: Creating hundreds of millions of rubber fingers + stealing the related authenticators is expensive. Stealing hundreds of millions of passwords from a server has low cost per password.
  • 25. But I can’t revoke my finger… • Protection methods in FIDO You don’t need to revoke your finger, you can simply de-register the old (=attacked) authenticator. Then, 1. Get a new authenticator 2. Enroll your finger (or iris, …) to it 3. Register the new authenticator to the service

Editor's Notes

  • #3: We have seen several attacks on existing authentication methods in the past: Server side attack were used to steal 1.2bn passwords from various servers. 2. Phishing attacks were launched to make users reveal their passwords to the attackers. 3. Orchestrated malware attacks were launched on PCs and smartphone in order to steal money. See EuroGrabber or the MITM attack on CITI bank in 2006 (http://www.banktech.com/phishers-beat-citiandrsquos-two-factor-authentication-/d/d-id/1290948) So existing authentication schemes seem to be broken at this time. In order to understand how we can improve authentication, let’s have a closer look into it…
  • #4: How does authentication work today? Since we are not born with WIFI interfaces in our heads, we cannot directly authenticate ourselves to a cloud server. We need some kind of proxy device. For example, we type our password into a computer running some application. If we believe this is the right application, we are willing to enter our password into it. The server takes some explicit authentication signal like the password as input and adds additional back-end computed signals, e.g. geolocation derived from the IP address, packet round-trip times etc. The risk engine computes a resulting risk score using all input signals. Note that the strength of a password signal depends on the characteristics of the “proxy-device” or App. If the password is entered into a malicious application, then a Phisher or man-in-the-middle might now be able to mis-use it.
  • #5: The predominant Authentication method today is username+password. But it has several issues. Passwords are symmetric bearer tokens. This means that anyone who knows the password can send it to the cloud server and gets authenticated. It also means that the server needs to know either the password directly or something which is derived from the password (e.g. the hash). And even if you cannot directly reverse this hash function, you can hash millions of passwords until the hash is identical to the one found on the server. Rainbow tables are an efficient method to do that. Note that the most passwords are not as strong as they could be. By knowing the 1000 most popular passwords you could break 90% of the accounts. By knowing the 10000 most popular passwords you could break 98,5% of the accounts. But passwords might also be entered into the wrong application. This phishing application could then send the password to the attacker and let the attacker misuse it or it could itself misuse it for performing malicious transactions. For security reasons, passwords shouldn‘t be re-used on other web sites. But how could I remember different passwords for all my accounts. I counted my accounts a while ago and ended up with well above 500. There is no way for me to remember them all. And passwords are inconvenient to type on mobile phones using the touch keyboards.
  • #6: These are the attack classes we see being most important for authentication: Remotely attacking servers and stealing passwords. Remember the 1.1 billion stolen passwords. This attack is really bad as users cannot protect against it – the relying parties would have to do it. But users can make it even worse: if they share passwords across multiple relying parties, the least secure relying party could be hacked affecting all others. Once threat class 1 wouldn’t work any longer, the attackers would focus on other attacks. For example trying to steal data from the device in order to impersonate the user. Or Misuse data on the user device in order to impersonate the user. Or Remotely attacking lots of user devices (e.g. using stagefreight attack, see http://www.techworm.net/2015/07/stagefright-attack-it-takes-only-a-single-text-message-to-hack-an-android-smartphone.html) in order to misuse strongly authenticated session. This is known as the man-in-the-browser (MITB) attack. It is interesting to see that smartcards alone do not protect against the misuse of credentials as the smartcard cannot know whether a PIN was entered by the user or injected by some malware which phished the PIN from the user before. All these attacks are “scalable”, that means whether 1000 or 1m targets are attacked doesn’t have an impact on the attack costs. Once we have protected against such scalable attacks, we should focus on protection against the physical attacks, i.e. attacks where physical access to the device is required. Physical attacks are not scalable as stealing (active) smartphones has significant costs per target. In the US, there are 156m people owning smartphones in 2013 (see http://www.comscore.com/Insights/Press-Releases/2014/2/comScore-Reports-December-2013-US-Smartphone-Subscriber-Market-Share). Thereof 3.1m smartphones (2%) have been stolen in 2013 and another 1.4m smartphones (0.9%) were lost in 2013 (see http://www.consumerreports.org/cro/news/2014/04/smart-phone-thefts-rose-to-3-1-million-last-year/index.htm#).
  • #7: In FIDO we acknowledge the fact that we need a local or “proxy”-device in order to authenticate to a cloud server. We call this proxy device “Authenticator”. We call the “something” (see before) user verification and we have a standardize authentication protocol between the client side and the server. So we split the authentication into user verification and a standardized authenticator to server protocol.
  • #8: We use private keys generated and maintained by the authenticator to sign server generated challenges. The server uses the public key from the registered authenticator to verify the signature. Each private key is dedicated to a single relying party. So we only store public keys on the server-no user private keys. So hacking the server is less attractive to hackers.
  • #9: With this concept of the Authenticator, we get two dimensions of scalability. Scalability in terms of Authenticator implementation. We can leverage TPMs, embedded Secure Elements, SIM Cards and Trusted Execution Environments (TEE in short) to implement the Authenticator. And Scalability in terms of user verification methods. The Authenticator can support passcodes to verify the user or face recognition, or speaker recognition, Iris, fingerprint and even method not invented yet. We also can combine various user verification methods, e.g. fingerprint with an alternative PIN. And this is done in most existing implementations. The FIDO Server will automatically support such Authenticators if they support the standardized FIDO UAF authentication protocol. It depends on the relying party (i.e. online service provider) to decide whether to accept or reject any specific authenticator. So for supporting a newly invented user verification method, the user only needs the appropriate authenticator. Technical changes on the server side are not required.
  • #10: The Authenticator verifies whether it is being used by the same user as enrolled initially. And the Authenticator proofs to the server whether it is the same Authenticator as registered before. The Authenticator doesn’t know whether the user is John Doe or Donald Duck. It just verifies whether it is still the user who enrolled.
  • #11: Since the RP wants to know WHO the user is that uses the Authenticator, we need an identity binding step. This step is not standardized in FIDO. Each RP can continue following its established know your customer (KYC) procedure. So in FIDO we separated the Authentication aspect from the Identity aspect. Authentication is a global problem which needs a global solution. Identity is inherently regional as different countries have different regulations on privacy and identity verification procedures for different verticals. For example, the know-you-customer-rules for European banks are different than the ones for Nigerian banks. And people Europe have different privacy expectations than Nigerian people. FIDO provides a global solution for Authentication that can be combined with any method of Identity binding that is acceptable in each region.
  • #12: FIDO provides great flexibility for Authenticator implementation. The specific implementation determines the resulting security level of the Authentication. So the FIDO Server needs to know such implementation details: The FIDO Server needs to know whether the Authenticator is implemented in a trusted execution environment or in normal software running in the rich operating system. It typically wants to know whether the user was verified using a 4 character passcode or using fingerprint verification. In FIDO we call this method Attestation.
  • #13: The Authenticator provides a cryptographic proof to the FIDO Server on its model. The FIDO Server can lookup the security characteristics of an Authenticator in the Metadata. For example, the FIDO can lookup whether the Authenticator protects the key material in a Trusted Execution Environment or in a Secure Element or whether the user was verified using a fingerprint or a passcode. The Metadata also includes the trust anchor required to verify the attestation object, i.e. the cryptographic proof of the Authenticator model. Some more details regarding Attestation: Whenever two Authenticators have different security characteristics, the must use different AAIDs. Remember the AAID contains the vendor ID and a vendor specific product ID. This is similar the USB IDs. So if one Authenticator uses HW based cryptography and a FP based user verification method, it must have a different AAID than an authenticator using pure SW based implementation and face recognition based user verification. It is important that attestation CANNOT be used for identifying any specifiy authenticator instance. So when bob registers his authenticator to two different relying parties they cannot see from the FIDO protocol whether this is the same authenticator or just the same model of an authenticator.
  • #14: In FIDO, the Authenticator is a concept. The Authenticator owns the Authentication keys and typically owns one attestation key injected at manufacturing time. The Authenticator can optionally support a user presence check (e.g. button) or a user verification method. Additionally the Authenticator can implement a Transaction Confirmation Display. There are various ways to implement an authenticator. Typical Authenticators are (a) embedded into a smartphone or (b) separate hardware tokens
  • #18: The principles we just explained apply to all FIDO protocol families. In FIDO we support two major set of use-cases: Using the Authenticator for „passwordless experience“ and Using the Authenticator as a second factor. Let‘s look into how these use-cases are addressed in FIDO. We start with the generic cryptographic scheme
  • #21: Some terminology changes
  • #23: Traditionally there always was a tradeoff between convenience and security. If you could get it either more secure or more convenient – but not both at the same time. Passwords are not very secure and their convenience is – let‘s say – improvable. Requiring one-time-passwords in addition to the password doesn‘t make it more convenient. So we can increase the security slightly if we give-up even more convenience.
  • #24: FIDO fundamentally changes this model. Since the user verification method (e.g. the finger swipe, or the PIN in case of PIN based authenticators) is the SAME for all relying parties it is more convenient just by using FIDO (worst case: only a single PIN to remember instead of hundred passwords). Additionally FIDO supports scalability in terms of convenience depending on the user verification method implemented by the authenticator. Just touching a fingerprint sensor is much more convenient than typing anything on touch keyboards.
  • #25: Similarly for the security. Just by using FIDO, you get protection against the server-side password stealing attacks (remember only public keys are stored on the server). Additionally phishing attacks don‘t work as there are no bearer tokens known by the user anymore. So the user cannot enter something into a phishing site which would allow impersonation (remember: only the legitimate authenticator knows the private key related to the public key which was registered at the server. So knowing a PIN wouldn‘t be sufficient for the attacker. Access to the authenticator would be required in addition).
  • #27: Once a new smartphone with a fingerprint sensor is launched, the Chaos-Computer-Club (CCC) typically publishes a „rubber-finger“ attack for that. But remember: while it might be possible to fool fingerprint sensors, the attacker still needs physical access to the authenticator in the FIDO case (as the private key is known to the authenticator only). Additionally: Creating rubber fingers costs time and money per authenticator. You might be able to steal 140 million passwords from a server, but creating 140 million rubber fingers is more expensive and hence not scalable.
  • #28: Some people are concerned about an attacker getting access to their biometric data (e.g. lifting a fingerprint from a glass or even from a high resolution digital image). Passwords can be revoked, but fingers can‘t be. Good news: In FIDO you don‘t need to revoke a finger. You can unregister the authenticator once an attacker has physical access to it (and the related biometric data to unlock the FIDO key).