Slides de ma présentation lors de Devoxx France 2019
---
Ma CheckList Sécurité sur le Web en 2019 :
✓ Ne plus utiliser le même mot de passe partout
✓ Utiliser un gestionnaire de mot de passe
✓ Sécuriser vos comptes avec un 2ème facteur
✓ Utiliser le capteur d'empreinte de votre smartphone pour éviter de taper votre mot de passe de complexité épique
✗ S'authentifier rapidement sur mes comptes sur un ordinateur inconnu
Je ne sais pas vous, mais il y a quelques années, j'ai commencé à utiliser un gestionnaire de mot de passe. Je me sentais super en sécurité avec mes mots de passe de 40 caractères, caractères spéciaux compris.
Et un jour, j'ai dû me connecter sur mon compte à partir de l'ordinateur de mes parents ... sans mon précieux gestionnaire de mot de passe ! Il m'a fallu plusieurs minutes pour me connecter .. J’étais nettement moins fier ! Vous avez vécu cela aussi ?
Alors venez découvrir WebAuthn, et comment cela pourrait simplifier votre vie demain !
14. #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
18. #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
21. #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
27. #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
28. #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
29. #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
30. #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
32. #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
34. #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
35. #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
37. #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
39. #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
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")
43. #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
47. #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