Passkeys et WebAuthn

Pour une authentification fluide et sécurisée

Rémi JANOT
| r.remove.this.janot@gmail.com

1.

Quel est le problème à résoudre ?

2.

Principe de WebAuthn

3.

Intégration avec Symfony

Qui suis-je ?

10100

AFOL

Comédien

Actuellement

Co-founder & CTO @ Vasco.fund

1.

Quel est le problème à résoudre ?

Historique

Brute force

Durée nécessaire pour le brute force

Réutilisation sur de nombreux sites

Phishing

2FA / MFA

Utilisation du 2FA en entreprise

Source : Rapport LastPass

2.

Principe de WebAuthn

Qu'est ce que WebAuthn

Utilisable à grande échelle

Modulo Firefox / TouchId

A quoi ça ressemble ?

Enregistrement


const credential = await navigator.credentials.create({
	publicKey: publicKeyCredentialCreationOptions
});
					

A quoi ça ressemble ?

Authentification


const credential = await navigator.credentials.get({
	publicKey: publicKeyCredentialRequestOptions
});
					

A quoi ça ressemble ?

Et c'est tout ?

Oui

Bundles et librairies

lbuchs: PHP Webauthn

Spomky-Labs: WebAuthn Framework

Madwizard.org: WebAuthn PHP library

Rappel : Clé privée / clé publique

Mécanisme derrière WebAuthn

Mécanisme derrière WebAuthn

3.

Intégration avec Symfony

Garder en tête

Garder en tête

Garder en tête

Garder en tête

Garder en tête

Merci

  • 🧑‍🏫 Arnaud Locquet, qui m'a inspiré cette conférence
  • 🤓 Florent Morselli (@Spomky)
  • 🐻 Paddington
  • 😂 Vous, (clé) public

Merci