SlideShare a Scribd company logo
1 of 50
Download to read offline
#DevoxxFR
Mot de passe oublié ?
Plus jamais avec WebAuthn !
Gildas Cuisinier
@gcuisinier
1
Logo : https://webauthn.guide/
#DevoxxFR
About Me
2
Gildas Cuisinier
Solution Architect
Jenkins Master @ BIL
@gcuisinier
@gcuisinier
#DevoxxFR 3
Niveau 1 : Mot de passe
#DevoxxFR
Username Password
gcuisinier [m0n.53CR37]
Ronald.Drump 123456
Mot de passe
1
2
3
gcuisinier
[m0n.53CR37]
#DevoxxFR
Username Password
gcuisinier [m0n.53CR37]
Ronald.Drump 123456
Vecteurs d’attaque
Keylogger
Fishing
Utilisateur
Stockage en clair*
MITM
Sniffing
#DevoxxFR
Maillon faible ?
6
Réutilisation du même mot
de passe
+
Un seul site web mal
sécurisé
=
DANGER++
#DevoxxFR 7
Niveau 2 : Gestionnaire de mot
de passe
#DevoxxFR
Avantages
8
Evite la réutilisation de mot de
passe
Favorise de mots de passe
complexes
Réduit le risque de fishing*
#DevoxxFR
Inconvénients / Défauts ?
Nécessite un logiciel
Point d’attaque central
+ Fishing toujours possible
#DevoxxFR
La Sécu c’est bien, en
abuser ça craint !
La Campagne nationale de la caisse
d'assurance maladie
10
#DevoxxFR 11
Niveau 2+ : Multi-facteur
#DevoxxFR
Multi-facteur
12
Quelque chose que je connais
Quelque chose que je possède
Quelle chose que je suis
#DevoxxFR
Multifacteurs : Solutions ?
13
Application OTP
Token
Capteur d’empreinte
Clés de Securité
Token
Application OTP
#DevoxxFR
“Et si on pouvait se connecter
facilement, rapidement et sans
risque à partir de n’importe quel
navigateur ?”
Gildas Cuisinier
Devoxx France, le 20 avril 2019
à environ {{insert current time}}
14
#DevoxxFR 15
DEMO !
#DevoxxFR 16
Enfin, ... FIDO2 en réalité ;-)
Niveau 3: WebAuthn
#DevoxxFR
FIDO Alliance
Fast IDentity Online
But : Tuer les mots
de passe
#DevoxxFR
FIDO Alliance
U2F
Première version
Supporté par Chrome uniquement
Utilisé par Dropbox, Github, Google,…
FIDO2 / WebAuthN
Evolution de U2F
Février 2019 - Android (7+) certifié FIDO2
Mars 2019 – FIDO 2 validé par le W3C
#DevoxxFR
Cryptographie asymétrique
Alice Bob
Privé
Publique
#DevoxxFR
Platform
FIDO 2
20
Authenticator
Externe
Authenticator
Intégré
CTAP
2
Application JS
WebAuthn API
Relaying Party
#DevoxxFR
WebAuthn API
Desktop
67 - USB
72 - Bluetooth,
NFC, TouchID
Mobile
Fingerprint, NFC,
Bluetooth
Edge
Windows Hello
!!! Migration vers
Chromium
Stable : Non
Developer
Preview: En cours
Desktop : OUI
USB only
Mobile : Non
#DevoxxFR
Authenticator Platform
Smartphone
Android
#DevoxxFR
Authenticators Platform
TouchID
Windows Hello
#DevoxxFR
Authenticators Cross-platform
Feitan BioPass
Windows*
50$
#DevoxxFR
Authenticators Cross-platform
Yubikey
De 20 à 50$
USB | NFC
#DevoxxFR
Authenticators Cross-platform
Feitian Multipass
20€
USB | BLE
#DevoxxFR
Flux d’enregistrement
1
2
3
5
7
6
8
1. Je suis @gcuisinier, et je souhaite
m’inscrire
2. Je suis devoxx.fr, fournissez moi une clé
publique, ainsi que ce challenge signé
3. Créé moi une paire de clé pour Devoxx.fr,
et signe ce challenge
4. Hey, Gildas, tu es bien là ?
5. Oui, je suis bien présent !
6. Ok, je créé une nouvelle paire de clé
7. Voici la clé publique, l’ID de ma clé, ainsi
que le challenge signé
8. Devoxx.Fr, voici les informations
demandées
9. Ok, c’est bien le challenge attendu. Je crée
l’utilisateur @gcuisinier et je lui associe la
clé publique
10. Ok, bienvenue chez nous @gcuisinier
4
9
10
#DevoxxFR
Flux d’enregistrement
1
2
3
5
7
6
8
1. Je suis @gcuisinier, et je souhaite
m’inscrire
2. Je suis devoxx.fr, fournissez moi une clé
publique, ainsi que ce challenge signé
3. Créé moi une paire de clé pour Devoxx.fr,
et signe ce challenge
4. Hey, Gildas, tu es bien là ?
5. Oui, je suis bien présent !
6. Ok, je créé une nouvelle paire de clé
7. Voici la clé publique, l’ID de ma clé, ainsi
que le challenge signé
8. Devoxx.Fr, voici les informations
demandées
9. Ok, c’est bien le challenge attendu. Je crée
l’utilisateur @gcuisinier et je lui associe la
clé publique
10. Ok, bienvenue chez nous @gcuisinier
4
9
10
#DevoxxFR
Mon domaine de
clé est devoxx.fr
Voici les
algorithmes que
j’accepte
Voici l’ID de
l’utilisateur
Voici un
challenge à me
remettre après
#DevoxxFR
Flux d’enregistrement
1
2
3
5
7
6
8
1. Je suis @gcuisinier, et je souhaite
m’inscrire
2. Je suis devoxx.fr, fournissez moi une clé
publique, ainsi que ce challenge signé
3. Créé moi une paire de clé pour Devoxx.fr,
et signe ce challenge
4. Hey, Gildas, tu es bien là ?
5. Oui, je suis bien présent !
6. Ok, je créé une nouvelle paire de clé
7. Voici la clé publique, l’ID de ma clé, ainsi
que le challenge signé
8. Devoxx.Fr, voici les informations
demandées
9. Ok, c’est bien le challenge attendu. Je crée
l’utilisateur @gcuisinier et je lui associe la
clé publique
10. Ok, bienvenue chez nous @gcuisinier
4
9
10
#DevoxxFR
WebAuthn API
#DevoxxFR
Flux d’enregistrement
1
2
3
5
7
6
8
1. Je suis @gcuisinier, et je souhaite
m’inscrire
2. Je suis devoxx.fr, fournissez moi une clé
publique, ainsi que ce challenge signé
3. Créé moi une paire de clé pour Devoxx.fr,
et signe ce challenge
4. Hey, Gildas, tu es bien là ?
5. Oui, je suis bien présent !
6. Ok, je créé une nouvelle paire de clé
7. Voici la clé publique, l’ID de ma clé, ainsi
que le challenge signé
8. Devoxx.Fr, voici les informations
demandées
9. Ok, c’est bien le challenge attendu. Je crée
l’utilisateur @gcuisinier et je lui associe la
clé publique
10. Ok, bienvenue chez nous @gcuisinier
4
9
10
#DevoxxFR
Vérification du
challenge en
session
Création de
l’utilisateur en DB
avec sa clé
privée, et le
nombre de
signature
actuelle de sa clé
#DevoxxFR
Flux d’authentification
1
2
3
5
7
6
8
1. Je suis @gcuisinier, et je souhaite me
connecter
2. Je suis devoxx.fr, pouvez vous signer ce
challenge avec la clé 1337C4FE
3. Hey, Authenticator, peux tu signer le
challenge pour Devoxx.fr avec la clé
1337C4FE
4. Hey, Gildas, tu es bien là ?
5. Oui, je suis bien présent !
6. Ok, récupère la clé 1337C4FE
7. Voici le challenge signé
8. Devoxx.Fr, voici les informations
demandées
9. Ok, le challenge est bien signé avec la clé
que je connais
10. Ok, @gcuisinier, Welcome back !
4
9
10
#DevoxxFR
Flux d’authentification
1
2
3
5
7
6
8
1. Je suis @gcuisinier, et je souhaite me
connecter
2. Je suis devoxx.fr, pouvez vous signer ce
challenge avec la clé 1337C4FE
3. Hey, Authenticator, peux tu signer le
challenge pour Devoxx.fr avec la clé
1337C4FE
4. Hey, Gildas, tu es bien là ?
5. Oui, je suis bien présent !
6. Ok, récupère la clé 1337C4FE
7. Voici le challenge signé
8. Devoxx.Fr, voici les informations
demandées
9. Ok, le challenge est bien signé avec la clé
que je connais
10. Ok, @gcuisinier, Welcome back !
4
9
10
#DevoxxFR
#DevoxxFR
Flux d’authentification
1
2
3
5
7
6
8
1. Je suis @gcuisinier, et je souhaite me
connecter
2. Je suis devoxx.fr, pouvez vous signer ce
challenge avec la clé 1337C4FE
3. Hey, Authenticator, peux tu signer le
challenge pour Devoxx.fr avec la clé
1337C4FE
4. Hey, Gildas, tu es bien là ?
5. Oui, je suis bien présent !
6. Ok, récupère la clé 1337C4FE
7. Voici le challenge signé
8. Devoxx.Fr, voici les informations
demandées
9. Ok, le challenge est bien signé avec la clé
que je connais
10. Ok, @gcuisinier, Welcome back !
4
9
10
#DevoxxFR
#DevoxxFR
Flux d’authentification
1
2
3
5
7
6
8
1. Je suis @gcuisinier, et je souhaite me
connecter
2. Je suis devoxx.fr, pouvez vous signer ce
challenge avec la clé 1337C4FE
3. Hey, Authenticator, peux tu signer le
challenge pour Devoxx.fr avec la clé
1337C4FE
4. Hey, Gildas, tu es bien là ?
5. Oui, je suis bien présent !
6. Ok, récupère la clé 1337C4FE
7. Voici le challenge signé
8. Devoxx.Fr, voici les informations
demandées
9. Ok, le challenge est bien signé avec la clé
que je connais
10. Ok, @gcuisinier, Welcome back !
4
9
10
#DevoxxFR
Vérification du
challenge en
session
Vérification de la
signature
Vérification du
nombre de
signature effectuée
avec la clé
#DevoxxFR
Allez plus loin ?
42
#DevoxxFR
Restreindre le type d’authentification
Platform / Roaming
publicKeyCredentialCreationOptions
.getAuthenticatorSelection()
.setAuthenticatorAttachment(PLATFORM | ROAMING)
Vérification de l’utilisateur
publicKeyCredentialCreationOptions
.getAuthenticatorSelection()
. setUserVerification("required | "preferred | "discouraged")
#DevoxxFR
Extensions
Simple Transaction Authorization Extension
Generic Transaction Authorization Extension
Signer des métadonnées en plus que le challenge pour valider une transaction
User Verification Index Extension
Permet de connaitre plus d’information sur « l’empreinte » utilisée par le client pour valider
sa présence.
Cela permet de s’assurer que c’est exactement la même personne
#DevoxxFR
Outils / Frameworks
46
#DevoxxFR
Frameworks / Lib
github.com/webauthn4j/w
ebauthn4j
Webauthn4J
github.com/abergs/fido2-
net-lib
FIDO2-Lib .NET
sharplab/spring-security-
webauthn
Spring Security
github.com/koesie10/weba
uthn
Webauthn Golang
#DevoxxFR
Produits / Reference
Auth0
MFA
Keycloak
KEYCLOAK-7159
ForgeRock AP
MFA
Google
MFA
CA SSO
Request Ticket
ForgeRock AP
MFA
#DevoxxFR
Résumons
49
Les mots de passe, c’est le mal !
MFA c’est mieux, mais pas super niveau UX
FIDO2 : sécurité + Expérience Utilisateur
Supporté par la majorité des navigateurs
Extensible et permettra plus que de l’authentification
#DevoxxFR
Des questions ?
50
#DevoxxFR
Merci d’être venu !
51
#DevoxxFR
SOURCES / REFERENCES
https://www.w3.org/TR/webauthn
https://webauthn.guide
https://blog.octo.com/bientot-la-fin-des-mots-de-passe-sur-le-web-
webauthn
https://github.com/herrjemand/awesome-webauthn
https://www.youtube.com/watch?v=03sAfmCDjFg
https://www.youtube.com/watch?v=03sAfmCDjFg&t=422s
52

More Related Content

Featured

Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at WorkGetSmarter
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...DevGAMM Conference
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationErica Santiago
 
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellGood Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellSaba Software
 

Featured (20)

Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy Presentation
 
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellGood Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
 

Mot de passe oublié ? Plus jamais avec WebAuthn ! [ Devoxx France 2019 ]