SlideShare a Scribd company logo
1 of 19
Download to read offline
U2F Under the Hood
1
What is U2F ?
 Universal 2nd Factor
 Open standard
 Physical device using USB, NFC or Bluetooth
(depends on model)
 Goal: Strong authentication and online privacy
 Initially developed by Google and Yubico
 Maintained by FIDO Alliance
 Draft W3C standard (Web Authentication)
 Support in Chrome (now), FF and Edge (soon)
2
Dashlane User Experience
3
Registering an U2F key
 Request to add a key
 Insert key in USB port
 Push button on key (if present)
 Done !
Dashlane User Experience
Login with a registered U2F key
4
 Enter 1st authentication factor
 Insert key in USB port
 Push button on key (if present)
 Done !
How does it work ?
5
Base Challenge – Response protocol
6
FIDO Authenticator
(USB key)
FIDO Client
(Browser or App)
Relying Party
(Website)
challenge
challenge
Sign challenge
with private key
sig(challenge)
sig(challenge)
 Classic Public/Private key challenge-response
 Uses ECC (Elliptic Curve Cryptography)
Decrypt signature
with public key
Validate data
Generate and store random challenge
Registration challenge
7
FIDO Authenticator
(USB key)
FIDO Client
(Browser or App)
Relying Party
(Website)
app id, challenge
Sign challenge, public key,
app id and key handle
pub key, handle,
sig(challenge, pub key, handle, app id)
Decrypt signature
Validate data
 Authenticator generates new public/private key pair for each registration
 Additional data during registration:
 Application id (challenge)
 Public key + key handle (response)
app id, challenge
Generate key pair and key handle
pub key, handle,
sig(challenge, pub key, handle, app id)
Store pub key, handle in account
Generate and store random challenge
Authentication challenge
8
FIDO Authenticator
(USB key)
FIDO Client
(Browser or App)
Relying Party
(Website)
Generate and store random challenge
handle, app id, challenge
Sign challenge and app id
sig(challenge, app id)
Decrypt signature
Validate data
 Additional data during authentication:
 Application id + key handle
Find private key for key handle
Grant access
handle, app id, challenge
Find key handle in user account
sig(challenge, app id)
9
Advantages
Strong privacy
 Only guarantee of successful authentication challenge :
 Same U2F key used for auth and registration
 No unique identifier for the key
 New key pair generated at every registration
 No reliance on shared secret with the website (contrary to OTP)
 A single U2F key can be used:
 By same user on 2 websites
 By 2 users on 1 website
 By 1 user creating 2 accounts on same website
 website can’t track the user by U2F key usage
 Tracking is still possible by other means, of course
10
Protection against website security breach
 OTP is vulnerable to security breach
 If attacker steals shared secret, he can generate passwords
 If the attacker steals U2F public key and key handle
 Public key cryptography makes them useless for attacker
 He can’t compute the private key
 So he can’t authenticate on legitimate site
11
Protection against MITM or Phishing
 Attacker intercepts and forwards user’s requests
 Phishing mail with link to hacker’s site mimicking legitimate site
 DNS spoof to redirect goodsite.com to hacker’s server
 …
 OTP is vulnerable
 One-Time Passwords are still passwords
 If the attacker can use it before the user, he wins
12
Protection against MITM or Phishing
 U2F challenge message contains legitimate site’s app id
 If the attacker doesn’t change the app id (https://goodsite.com)
 Browser knows challenge comes from wrong site (https://hacker.com) or
using wrong protocol (http://goodsite.com using DNS spoof)
 Browser denies usage of U2F key
 If the attacker changes the app id
 U2F key signs attacker’s app id with its private key
 Legitimate site can see the app id in response doesn’t match his own
13
Support for unlimited number of websites
 OTP requires client and server sharing a secret
 Not a problem for software clients (e.g. Google Authenticator)
 Cheap hardware has very limited storage
 Yubikeys using OTP support at most 2 sites
 U2F private key is retrieved from key handle
 Software clients use key handle as index in private key map
 Hardware clients can encrypt part of private key in key handle
 Uses no storage  very cheap device
 Safe as long as nobody else can decrypt key handle
14
Support for unlimited number of websites
 Yubico’s implementation
15
Questions ?
16
We’re changing the world… one password at a time
Dashlane wants to make identity and
payment simple and secure everywhere!
17
Want to be a part of life in the Dashlane?
Visit dashlane.com/jobs for all the info!
Dashlane is a premier, award-winning password manager and
digital wallet, intrinsically designed to make identity and payments
simple and secure on every website and every device.
We’re a rapidly growing, tech startup using the world’s best security
and privacy architecture to simplify the lives of more than 3 billion
Internet users worldwide.
Since our first product launch in 2013, our brilliant team of engineers and developers tirelessly work on new coding challenges, build code using
the latest up-to-date frameworks for native development across desktop and mobile, use cutting-edge web service architecture, and are at the
forefront of building applications that help millions of people every day!
So far, all of our hard work has been paying off! Dashlane was recently recognized by Google as one of the “Best of 2015” apps! Google also
recognized our Android password manager as an Editors’ Choice winner on the Google Play Store, and selected Dashlane to demo its adoption
of Android M fingerprint technology at Google I/O!
We work with the latest technology!
See our code in action! Check out some of our
projects on Github!
Github.com/Dashlane
In addition, each member of the Dashlane team can take some time to
share his insights in Tech Conferences and become a thought leader
in the tech community.
18
Alexis Fogel
@ Droid Con
Goo.gl/7h4guk
Emmanuel Schalit
@ The Dublin
Web Summit
Goo.gl/M4H7vg
Emmanuel Schalit
@ Le Wagon
Goo.gl/kvPLG0
Desktop Mobile Web App/Server Security
Dashlane is dedicated to building high-quality user experiences on Mobile, Desktop, and on the web using the latest up-to-date
technologies and languages.
Ready to join #LifeInTheDashlane?
We’re filling our ranks from top to bottom with
some of the smartest and friendliest developers
and engineers in the industry! Come join us!
Visit Dashlane.com/jobs to learn more about
joining the Dashlane team!
19
Dashlane.com/stackoverflow
Dashlane.com/linkedin
Dashlane.com/vimeo
Dashlane.com/blog
Also visit us here:

More Related Content

What's hot

The RPG Dude on Open Display File Technology for your IBM i - Drag & Drop Ref...
The RPG Dude on Open Display File Technology for your IBM i - Drag & Drop Ref...The RPG Dude on Open Display File Technology for your IBM i - Drag & Drop Ref...
The RPG Dude on Open Display File Technology for your IBM i - Drag & Drop Ref...looksoftware
 
15,16 cloud printing
15,16 cloud printing15,16 cloud printing
15,16 cloud printingAkul10
 
Joel rodrigues pnpjs project module
Joel rodrigues pnpjs project moduleJoel rodrigues pnpjs project module
Joel rodrigues pnpjs project moduleJoel Rodrigues
 
iPad apps for Real Estate Agents
iPad apps for Real Estate AgentsiPad apps for Real Estate Agents
iPad apps for Real Estate AgentsKelley Skar
 
Backend driven UI on mobile apps
Backend driven UI on mobile appsBackend driven UI on mobile apps
Backend driven UI on mobile appsAndrea Cipriani
 
Drupal 101 basic website building with drupal
Drupal 101   basic website building with drupalDrupal 101   basic website building with drupal
Drupal 101 basic website building with drupalAnthony Ogbonna
 

What's hot (8)

The RPG Dude on Open Display File Technology for your IBM i - Drag & Drop Ref...
The RPG Dude on Open Display File Technology for your IBM i - Drag & Drop Ref...The RPG Dude on Open Display File Technology for your IBM i - Drag & Drop Ref...
The RPG Dude on Open Display File Technology for your IBM i - Drag & Drop Ref...
 
Iiba may presentation
Iiba may presentationIiba may presentation
Iiba may presentation
 
15,16 cloud printing
15,16 cloud printing15,16 cloud printing
15,16 cloud printing
 
Joel rodrigues pnpjs project module
Joel rodrigues pnpjs project moduleJoel rodrigues pnpjs project module
Joel rodrigues pnpjs project module
 
iPad apps for Real Estate Agents
iPad apps for Real Estate AgentsiPad apps for Real Estate Agents
iPad apps for Real Estate Agents
 
Flutter Festival - Intro Session
Flutter Festival - Intro SessionFlutter Festival - Intro Session
Flutter Festival - Intro Session
 
Backend driven UI on mobile apps
Backend driven UI on mobile appsBackend driven UI on mobile apps
Backend driven UI on mobile apps
 
Drupal 101 basic website building with drupal
Drupal 101   basic website building with drupalDrupal 101   basic website building with drupal
Drupal 101 basic website building with drupal
 

Viewers also liked

Dashlane Engineering Meeting Extract
Dashlane Engineering Meeting ExtractDashlane Engineering Meeting Extract
Dashlane Engineering Meeting ExtractDashlane
 
Continuous Learning
Continuous LearningContinuous Learning
Continuous LearningDashlane
 
Using TypeScript at Dashlane
Using TypeScript at DashlaneUsing TypeScript at Dashlane
Using TypeScript at DashlaneDashlane
 
[Easy] LastPass Password Manager Tutorial
[Easy] LastPass Password Manager Tutorial[Easy] LastPass Password Manager Tutorial
[Easy] LastPass Password Manager TutorialAna Uy
 
Stop Starting Start Finishing
Stop Starting Start FinishingStop Starting Start Finishing
Stop Starting Start FinishingDashlane
 
Axial fan design
Axial fan designAxial fan design
Axial fan designMert G
 
Scaling an Engineering Team
Scaling an Engineering TeamScaling an Engineering Team
Scaling an Engineering TeamDashlane
 
Portfolio & Roadmap: 2 tools to scale Agile
Portfolio & Roadmap: 2 tools to scale AgilePortfolio & Roadmap: 2 tools to scale Agile
Portfolio & Roadmap: 2 tools to scale AgileDashlane
 
Simulating Radial and Axial Fan Performance
Simulating Radial and Axial Fan PerformanceSimulating Radial and Axial Fan Performance
Simulating Radial and Axial Fan PerformanceBurak Yenier
 

Viewers also liked (14)

Dashlane Engineering Meeting Extract
Dashlane Engineering Meeting ExtractDashlane Engineering Meeting Extract
Dashlane Engineering Meeting Extract
 
Continuous Learning
Continuous LearningContinuous Learning
Continuous Learning
 
Technotech Enterprises, Surat, Axial Flow Fan
Technotech Enterprises, Surat, Axial Flow FanTechnotech Enterprises, Surat, Axial Flow Fan
Technotech Enterprises, Surat, Axial Flow Fan
 
Using TypeScript at Dashlane
Using TypeScript at DashlaneUsing TypeScript at Dashlane
Using TypeScript at Dashlane
 
[Easy] LastPass Password Manager Tutorial
[Easy] LastPass Password Manager Tutorial[Easy] LastPass Password Manager Tutorial
[Easy] LastPass Password Manager Tutorial
 
Stop Starting Start Finishing
Stop Starting Start FinishingStop Starting Start Finishing
Stop Starting Start Finishing
 
Axial fan design
Axial fan designAxial fan design
Axial fan design
 
Axial flow fans
Axial flow fansAxial flow fans
Axial flow fans
 
Scaling an Engineering Team
Scaling an Engineering TeamScaling an Engineering Team
Scaling an Engineering Team
 
Etc09 Id239
Etc09 Id239Etc09 Id239
Etc09 Id239
 
Portfolio & Roadmap: 2 tools to scale Agile
Portfolio & Roadmap: 2 tools to scale AgilePortfolio & Roadmap: 2 tools to scale Agile
Portfolio & Roadmap: 2 tools to scale Agile
 
Simulating Radial and Axial Fan Performance
Simulating Radial and Axial Fan PerformanceSimulating Radial and Axial Fan Performance
Simulating Radial and Axial Fan Performance
 
Fans and blowers
Fans and blowersFans and blowers
Fans and blowers
 
oled ppt
oled pptoled ppt
oled ppt
 

Similar to U2F Under the Hood: A Guide to Universal 2nd Factor Authentication

2018 android-security-udacity-morrison chang
2018 android-security-udacity-morrison chang2018 android-security-udacity-morrison chang
2018 android-security-udacity-morrison changmjchang
 
FIDO U2F & UAF Tutorial
FIDO U2F & UAF TutorialFIDO U2F & UAF Tutorial
FIDO U2F & UAF TutorialFIDO Alliance
 
FIDO Specifications Overview: UAF & U2F
FIDO Specifications Overview: UAF & U2FFIDO Specifications Overview: UAF & U2F
FIDO Specifications Overview: UAF & U2FFIDO Alliance
 
U2F Case Study: Examining the U2F Paradox
U2F Case Study: Examining the U2F ParadoxU2F Case Study: Examining the U2F Paradox
U2F Case Study: Examining the U2F ParadoxFIDO Alliance
 
WSO2 Guest Webinar: FIDO Universal Second Factor (U2F) for WSO2 Identity Server
WSO2 Guest Webinar: FIDO Universal Second Factor (U2F) for WSO2 Identity ServerWSO2 Guest Webinar: FIDO Universal Second Factor (U2F) for WSO2 Identity Server
WSO2 Guest Webinar: FIDO Universal Second Factor (U2F) for WSO2 Identity ServerYenlo
 
YuryMakedonov_TesTrek2013_AndroidTesting_12u_slides
YuryMakedonov_TesTrek2013_AndroidTesting_12u_slidesYuryMakedonov_TesTrek2013_AndroidTesting_12u_slides
YuryMakedonov_TesTrek2013_AndroidTesting_12u_slidesYury M
 
FIDO-U2F-Case-Study_Hanson.pptx
FIDO-U2F-Case-Study_Hanson.pptxFIDO-U2F-Case-Study_Hanson.pptx
FIDO-U2F-Case-Study_Hanson.pptxVladVlad504281
 
Fido U2F Protocol by Ather Ali
Fido U2F Protocol by Ather Ali Fido U2F Protocol by Ather Ali
Fido U2F Protocol by Ather Ali OWASP Delhi
 
Fido U2F PROTOCOL
Fido U2F PROTOCOLFido U2F PROTOCOL
Fido U2F PROTOCOLAther Ali
 
WSO2 Guest Webinar: FIDO Universal Second Factor (U2F) for WSO2 Identity Server
WSO2 Guest Webinar: FIDO Universal Second Factor (U2F) for WSO2 Identity ServerWSO2 Guest Webinar: FIDO Universal Second Factor (U2F) for WSO2 Identity Server
WSO2 Guest Webinar: FIDO Universal Second Factor (U2F) for WSO2 Identity ServerWSO2
 
Why should you do a pentest?
Why should you do a pentest?Why should you do a pentest?
Why should you do a pentest?Abraham Aranguren
 
Getting to Know the FIDO Specifications - Technical Tutorial
Getting to Know the FIDO Specifications - Technical TutorialGetting to Know the FIDO Specifications - Technical Tutorial
Getting to Know the FIDO Specifications - Technical TutorialFIDO Alliance
 
How to 2FA-enable Open Source Applications
How to 2FA-enable Open Source ApplicationsHow to 2FA-enable Open Source Applications
How to 2FA-enable Open Source ApplicationsAll Things Open
 
Google & FIDO Authentication
Google & FIDO AuthenticationGoogle & FIDO Authentication
Google & FIDO AuthenticationFIDO Alliance
 
TDC2018SP | Trilha Mobile - Case VC+: Como tornar seguro um aplicativo mobile...
TDC2018SP | Trilha Mobile - Case VC+: Como tornar seguro um aplicativo mobile...TDC2018SP | Trilha Mobile - Case VC+: Como tornar seguro um aplicativo mobile...
TDC2018SP | Trilha Mobile - Case VC+: Como tornar seguro um aplicativo mobile...tdc-globalcode
 
Case VC+: Como tornar seguro um aplicativo mobile payment sem penalizar a exp...
Case VC+: Como tornar seguro um aplicativo mobile payment sem penalizar a exp...Case VC+: Como tornar seguro um aplicativo mobile payment sem penalizar a exp...
Case VC+: Como tornar seguro um aplicativo mobile payment sem penalizar a exp...Márcio Rosa
 

Similar to U2F Under the Hood: A Guide to Universal 2nd Factor Authentication (20)

2018 android-security-udacity-morrison chang
2018 android-security-udacity-morrison chang2018 android-security-udacity-morrison chang
2018 android-security-udacity-morrison chang
 
FIDO U2F & UAF Tutorial
FIDO U2F & UAF TutorialFIDO U2F & UAF Tutorial
FIDO U2F & UAF Tutorial
 
FIDO Specifications Overview: UAF & U2F
FIDO Specifications Overview: UAF & U2FFIDO Specifications Overview: UAF & U2F
FIDO Specifications Overview: UAF & U2F
 
U2F Case Study: Examining the U2F Paradox
U2F Case Study: Examining the U2F ParadoxU2F Case Study: Examining the U2F Paradox
U2F Case Study: Examining the U2F Paradox
 
WSO2 Guest Webinar: FIDO Universal Second Factor (U2F) for WSO2 Identity Server
WSO2 Guest Webinar: FIDO Universal Second Factor (U2F) for WSO2 Identity ServerWSO2 Guest Webinar: FIDO Universal Second Factor (U2F) for WSO2 Identity Server
WSO2 Guest Webinar: FIDO Universal Second Factor (U2F) for WSO2 Identity Server
 
E-Wallet
E-WalletE-Wallet
E-Wallet
 
YuryMakedonov_TesTrek2013_AndroidTesting_12u_slides
YuryMakedonov_TesTrek2013_AndroidTesting_12u_slidesYuryMakedonov_TesTrek2013_AndroidTesting_12u_slides
YuryMakedonov_TesTrek2013_AndroidTesting_12u_slides
 
FIDO-U2F-Case-Study_Hanson.pptx
FIDO-U2F-Case-Study_Hanson.pptxFIDO-U2F-Case-Study_Hanson.pptx
FIDO-U2F-Case-Study_Hanson.pptx
 
OpenID Connect
OpenID ConnectOpenID Connect
OpenID Connect
 
Fido U2F Protocol by Ather Ali
Fido U2F Protocol by Ather Ali Fido U2F Protocol by Ather Ali
Fido U2F Protocol by Ather Ali
 
Fido U2F PROTOCOL
Fido U2F PROTOCOLFido U2F PROTOCOL
Fido U2F PROTOCOL
 
WSO2 Guest Webinar: FIDO Universal Second Factor (U2F) for WSO2 Identity Server
WSO2 Guest Webinar: FIDO Universal Second Factor (U2F) for WSO2 Identity ServerWSO2 Guest Webinar: FIDO Universal Second Factor (U2F) for WSO2 Identity Server
WSO2 Guest Webinar: FIDO Universal Second Factor (U2F) for WSO2 Identity Server
 
What is Android.pdf
What is Android.pdfWhat is Android.pdf
What is Android.pdf
 
Why should you do a pentest?
Why should you do a pentest?Why should you do a pentest?
Why should you do a pentest?
 
Getting to Know the FIDO Specifications - Technical Tutorial
Getting to Know the FIDO Specifications - Technical TutorialGetting to Know the FIDO Specifications - Technical Tutorial
Getting to Know the FIDO Specifications - Technical Tutorial
 
How to 2FA-enable Open Source Applications
How to 2FA-enable Open Source ApplicationsHow to 2FA-enable Open Source Applications
How to 2FA-enable Open Source Applications
 
Google & FIDO Authentication
Google & FIDO AuthenticationGoogle & FIDO Authentication
Google & FIDO Authentication
 
TDC2018SP | Trilha Mobile - Case VC+: Como tornar seguro um aplicativo mobile...
TDC2018SP | Trilha Mobile - Case VC+: Como tornar seguro um aplicativo mobile...TDC2018SP | Trilha Mobile - Case VC+: Como tornar seguro um aplicativo mobile...
TDC2018SP | Trilha Mobile - Case VC+: Como tornar seguro um aplicativo mobile...
 
Case VC+: Como tornar seguro um aplicativo mobile payment sem penalizar a exp...
Case VC+: Como tornar seguro um aplicativo mobile payment sem penalizar a exp...Case VC+: Como tornar seguro um aplicativo mobile payment sem penalizar a exp...
Case VC+: Como tornar seguro um aplicativo mobile payment sem penalizar a exp...
 
Firefox OS Presentation
Firefox OS PresentationFirefox OS Presentation
Firefox OS Presentation
 

More from Dashlane

Dashlane Triple Track
Dashlane Triple TrackDashlane Triple Track
Dashlane Triple TrackDashlane
 
Dashlane Engineering Culture Book
Dashlane Engineering Culture BookDashlane Engineering Culture Book
Dashlane Engineering Culture BookDashlane
 
The State of Digital Identity
The State of Digital IdentityThe State of Digital Identity
The State of Digital IdentityDashlane
 
Dashlane Mission Teams
Dashlane Mission TeamsDashlane Mission Teams
Dashlane Mission TeamsDashlane
 
Continuous Delivery: releasing Better and Faster at Dashlane
Continuous Delivery: releasing Better and Faster at DashlaneContinuous Delivery: releasing Better and Faster at Dashlane
Continuous Delivery: releasing Better and Faster at DashlaneDashlane
 
The Dashlane Agile Journey
The Dashlane Agile JourneyThe Dashlane Agile Journey
The Dashlane Agile JourneyDashlane
 

More from Dashlane (6)

Dashlane Triple Track
Dashlane Triple TrackDashlane Triple Track
Dashlane Triple Track
 
Dashlane Engineering Culture Book
Dashlane Engineering Culture BookDashlane Engineering Culture Book
Dashlane Engineering Culture Book
 
The State of Digital Identity
The State of Digital IdentityThe State of Digital Identity
The State of Digital Identity
 
Dashlane Mission Teams
Dashlane Mission TeamsDashlane Mission Teams
Dashlane Mission Teams
 
Continuous Delivery: releasing Better and Faster at Dashlane
Continuous Delivery: releasing Better and Faster at DashlaneContinuous Delivery: releasing Better and Faster at Dashlane
Continuous Delivery: releasing Better and Faster at Dashlane
 
The Dashlane Agile Journey
The Dashlane Agile JourneyThe Dashlane Agile Journey
The Dashlane Agile Journey
 

Recently uploaded

KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noidabntitsolutionsrishis
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfLivetecs LLC
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 

Recently uploaded (20)

KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdf
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Advantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your BusinessAdvantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your Business
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 

U2F Under the Hood: A Guide to Universal 2nd Factor Authentication

  • 1. U2F Under the Hood 1
  • 2. What is U2F ?  Universal 2nd Factor  Open standard  Physical device using USB, NFC or Bluetooth (depends on model)  Goal: Strong authentication and online privacy  Initially developed by Google and Yubico  Maintained by FIDO Alliance  Draft W3C standard (Web Authentication)  Support in Chrome (now), FF and Edge (soon) 2
  • 3. Dashlane User Experience 3 Registering an U2F key  Request to add a key  Insert key in USB port  Push button on key (if present)  Done !
  • 4. Dashlane User Experience Login with a registered U2F key 4  Enter 1st authentication factor  Insert key in USB port  Push button on key (if present)  Done !
  • 5. How does it work ? 5
  • 6. Base Challenge – Response protocol 6 FIDO Authenticator (USB key) FIDO Client (Browser or App) Relying Party (Website) challenge challenge Sign challenge with private key sig(challenge) sig(challenge)  Classic Public/Private key challenge-response  Uses ECC (Elliptic Curve Cryptography) Decrypt signature with public key Validate data Generate and store random challenge
  • 7. Registration challenge 7 FIDO Authenticator (USB key) FIDO Client (Browser or App) Relying Party (Website) app id, challenge Sign challenge, public key, app id and key handle pub key, handle, sig(challenge, pub key, handle, app id) Decrypt signature Validate data  Authenticator generates new public/private key pair for each registration  Additional data during registration:  Application id (challenge)  Public key + key handle (response) app id, challenge Generate key pair and key handle pub key, handle, sig(challenge, pub key, handle, app id) Store pub key, handle in account Generate and store random challenge
  • 8. Authentication challenge 8 FIDO Authenticator (USB key) FIDO Client (Browser or App) Relying Party (Website) Generate and store random challenge handle, app id, challenge Sign challenge and app id sig(challenge, app id) Decrypt signature Validate data  Additional data during authentication:  Application id + key handle Find private key for key handle Grant access handle, app id, challenge Find key handle in user account sig(challenge, app id)
  • 10. Strong privacy  Only guarantee of successful authentication challenge :  Same U2F key used for auth and registration  No unique identifier for the key  New key pair generated at every registration  No reliance on shared secret with the website (contrary to OTP)  A single U2F key can be used:  By same user on 2 websites  By 2 users on 1 website  By 1 user creating 2 accounts on same website  website can’t track the user by U2F key usage  Tracking is still possible by other means, of course 10
  • 11. Protection against website security breach  OTP is vulnerable to security breach  If attacker steals shared secret, he can generate passwords  If the attacker steals U2F public key and key handle  Public key cryptography makes them useless for attacker  He can’t compute the private key  So he can’t authenticate on legitimate site 11
  • 12. Protection against MITM or Phishing  Attacker intercepts and forwards user’s requests  Phishing mail with link to hacker’s site mimicking legitimate site  DNS spoof to redirect goodsite.com to hacker’s server  …  OTP is vulnerable  One-Time Passwords are still passwords  If the attacker can use it before the user, he wins 12
  • 13. Protection against MITM or Phishing  U2F challenge message contains legitimate site’s app id  If the attacker doesn’t change the app id (https://goodsite.com)  Browser knows challenge comes from wrong site (https://hacker.com) or using wrong protocol (http://goodsite.com using DNS spoof)  Browser denies usage of U2F key  If the attacker changes the app id  U2F key signs attacker’s app id with its private key  Legitimate site can see the app id in response doesn’t match his own 13
  • 14. Support for unlimited number of websites  OTP requires client and server sharing a secret  Not a problem for software clients (e.g. Google Authenticator)  Cheap hardware has very limited storage  Yubikeys using OTP support at most 2 sites  U2F private key is retrieved from key handle  Software clients use key handle as index in private key map  Hardware clients can encrypt part of private key in key handle  Uses no storage  very cheap device  Safe as long as nobody else can decrypt key handle 14
  • 15. Support for unlimited number of websites  Yubico’s implementation 15
  • 17. We’re changing the world… one password at a time Dashlane wants to make identity and payment simple and secure everywhere! 17 Want to be a part of life in the Dashlane? Visit dashlane.com/jobs for all the info! Dashlane is a premier, award-winning password manager and digital wallet, intrinsically designed to make identity and payments simple and secure on every website and every device. We’re a rapidly growing, tech startup using the world’s best security and privacy architecture to simplify the lives of more than 3 billion Internet users worldwide. Since our first product launch in 2013, our brilliant team of engineers and developers tirelessly work on new coding challenges, build code using the latest up-to-date frameworks for native development across desktop and mobile, use cutting-edge web service architecture, and are at the forefront of building applications that help millions of people every day! So far, all of our hard work has been paying off! Dashlane was recently recognized by Google as one of the “Best of 2015” apps! Google also recognized our Android password manager as an Editors’ Choice winner on the Google Play Store, and selected Dashlane to demo its adoption of Android M fingerprint technology at Google I/O!
  • 18. We work with the latest technology! See our code in action! Check out some of our projects on Github! Github.com/Dashlane In addition, each member of the Dashlane team can take some time to share his insights in Tech Conferences and become a thought leader in the tech community. 18 Alexis Fogel @ Droid Con Goo.gl/7h4guk Emmanuel Schalit @ The Dublin Web Summit Goo.gl/M4H7vg Emmanuel Schalit @ Le Wagon Goo.gl/kvPLG0 Desktop Mobile Web App/Server Security Dashlane is dedicated to building high-quality user experiences on Mobile, Desktop, and on the web using the latest up-to-date technologies and languages.
  • 19. Ready to join #LifeInTheDashlane? We’re filling our ranks from top to bottom with some of the smartest and friendliest developers and engineers in the industry! Come join us! Visit Dashlane.com/jobs to learn more about joining the Dashlane team! 19 Dashlane.com/stackoverflow Dashlane.com/linkedin Dashlane.com/vimeo Dashlane.com/blog Also visit us here: