#DevoxxFR
Retour aux sources de
l'authentification
et ce qui va changer en Septembre 2019
pour nos achats
1
#DevoxxFR
Pourquoi ?
A2 – Violation de Gestion d'Authentification
Omniprésence
 des sites marchands, "stores" d'applications, finance, santé, abonnements mobiles, …
#DevoxxFR
Définition
« […]En résumé, s’identifier c’est communiquer
une identité préalablement enregistrée,
s’authentifier c’est apporter la preuve de cette
identité. »
https://www.ssi.gouv.fr/archive/fr/politique_produit/catalogue/pd
f/authentification_robustesse_standard_v0-13.pdf
#DevoxxFR
Pascal Abaziou
@javathought
https://github.com/javathought
Monétique
commerce
Monétique
porteur Fiduciaire
Échanges
& flux
Sécurité &
authentification
#DevoxxFR
Gestion de l’authentification
#DevoxxFR
Authentification HTTP
RFC 2617
WWW-Authenticate: Basic
realm="WallyWorld"
Authorization:
Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Basic
Server
Client
#DevoxxFR
Implémentations
.htpasswd
user1:$apr1$0r/2zNGG$jopiWY3DEJd2FvZxT
nugJ/
user2:$apr1$07FYIyjx$7Zy1qcBd.B8cKqu0w
N/MH1
AuthHandler basicAuthHandler =
BasicAuthHandler.(authProvider);
router.route().handler(basicAuthHandler);
.htaccess
AuthType Basic
AuthName "Restricted Content“
AuthUserFile /etc/httpd/.htpasswd
Require valid-user
#DevoxxFR
En base de données
1 secret de plus à gérer
A1 – Injection
#DevoxxFR
Stocker les mots de passe
Store passwords using strong adaptive and
salted hashing functions with a work factor
(delay factor), such as Argon2, scrypt, bcrypt,
or PBKDF2.
// format: algorithm:iterations:hashSize:salt:hash
var parts = « algov1:" + PBKDF2_ITERATIONS + ":" + hashSize + ":" + salt.toString('base64') + ":" +
result,toString('base64');
A3 – Exposition de données sensibles
#DevoxxFR
.htpasswd
user1:$apr1$0r/2zNGG$jopiWY3DEJd2FvZxTnugJ/
user2:$apr1$07FYIyjx$7Zy1qcBd.B8cKqu0wN/MH1
toto:$2y$05$UaPs24ttF7/dU/2ANrRgpuTkvnHYKhz4ly/jo5lkq35k8BedYMbqG
htpasswd –B –C [4 à 31] <fichier-mots-de-passe> <nom-utilisateur>
#DevoxxFR
Éviter les mots de passe faibles
$ npm install zxcvbn
$ node
> var zxcvbn = require('zxcvbn');
> zxcvbn('Tr0ub4dour&3');
> zxcvbn('Tr0ub4dour&3').score;
Bibliothèque d’estimation : https://github.com/dropbox/zxcvbn
#DevoxxFR
Éviter les mots de passe faibles
123456 0
Password 0
123456789 0
P@ssw0rd 0
P{ssw0rd 2
12345678 0
12345 0
P~ssw0rd 2
ji32k7au4a83 4
#DevoxxFR
HIBP
(HaveIBeenPwned)
https://haveibeenpwned.com/Passwords
#DevoxxFR
Éviter les mots de passe faibles
123456 0 23 174 662
Password 0 117 316
123456789 0 7 671 364
P@ssw0rd 2 51 259
P{ssw0rd 2 0
12345678 0 2 889 079
12345 0 2 333 232
P~ssw0rd 2 3
ji32k7au4a83 4 141
#DevoxxFR
Utilisez les données
https://safepass.me/ Filtre Active Directory
https://toepoke.co.uk/user.aspx/create
#DevoxxFR
Mot de passe le plus critique
sites marchands "stores" d'applications
Finance santé
abonnements mobiles …
Votre boîte mail
#DevoxxFR
Mot de passe oublié
Lien avec nonce par mail
#DevoxxFR
Id de connexion
Pas d’adresse mail
#DevoxxFR
CheckList
 Stockage sécurisé (Argon2, PBKDF2, … + Sel + Facteur de travail)
 Stockage évolutif
 Pas de mots de passe faibles
 Procédure de récupération sécurisé
 Pas de mots de passe ayant fuité
 Pas d’identification de connexion par email
#DevoxxFR
Annuaire LDAP
A1 – Injection
#DevoxxFR
OAuth
 Protocole de délégation d’autorisation
Exemple : Strava https://developers.strava.com/docs/reference/
{ "token_type": "Bearer",
"access_token": "987654321234567898765432123456789",
"athlete": { #{summary athlete representation} },
"refresh_token": "1234567898765432112345678987654321",
"expires_at": 1531378346,
"state": "STRAVA" }
"athlete": { "firstname": "John", "lastname": "H.", …
#DevoxxFR
Protocole OAuth
John Doe
Autorise moi à
manipuler tes
données chez B
Application A Application B
Autorise A
Voilà un code d’autorisation pour A
Voilà ton code d’autorisation
J’ai un code
Voilà ton jeton d’accès
Donne-moi, modifie, …
les données de John Doe
#DevoxxFR
OpenIdConnect
(OIDC)
https://openid.net/connect/
id_token
REQUIRED. ID Token. JSON Web Token
Certified OpenID Provider Servers and Services
#DevoxxFR
Authentification forte
#DevoxxFR
Double facteur (2FA)
Mémoriel
Matériel
Corporel
Réactionnel Géographique
#DevoxxFR
2FA, nouveauté ?
clés RSA SecurID (société RSA Security créée en 1982)
#DevoxxFR
#DevoxxFR
Que dit l’ANSSI ?
https://www.ssi.gouv.fr/uploads/IMG/pdf/NP_MDP_NoteTech.pdf
« Lorsque possible, préférer l’usage de certificats
d’authentification sur carte à puce ! »
#DevoxxFR
2FA
Identifiant / mot de passe +
Identifiant / mot de passe +
Identifiant / mot de passe + OTP SMS
Reconnaissance vocale + phrase secrète
#DevoxxFR
Vers une authentification sans mot de passe
U2F Fido WebAuthn
#DevoxxFR
#DevoxxFR
DSP2
Directive des Services de Paiement
#DevoxxFR
DSP2 - Directive des Services de
Paiement
Favoriser l’innovation
DSP1
(depuis 2009)
DSP2
(depuis le 13/01/18)
Protéger davantage le
consommateur
Etablissements de paiement Agrégateurs de comptes
Initiateurs de paiement
Emetteurs de monnaie
électronique
Authentification renforcée pour les services en ligne *
Interface dédiée sécurisée (API) *
* Entrée en vigueur le 14 septembre 2019
#DevoxxFR
DSP2 – Impacts pour les
nouveaux acteurs
Initiateurs de paiement
Prestataire de services d’initiation de paiement (PSIP)
Agrégateurs de comptes
Prestataire de services d’informations sur les comptes (PSIC)
* Entrée en vigueur le 14 septembre 2019
- Recueillir le consentement du client
- Authentifier le client
- Communiquer de manière sécurisée avec le client
et sa banque *
- S’identifier auprès de la banque à chaque session
de communication
- Accéder uniquement aux informations provenant
des comptes de paiement désignés
- Recueillir le consentement du payeur
- Authentifier le payeur
- Communiquer de manière sécurisée* avec le
payeur et sa banque ainsi que le bénéficiaire et sa
banque
- S’identifier auprès de la banque à chaque
paiement*
- Veiller à la confidentialité des données de
sécurité personnalisées du client
#DevoxxFR
DSP2 – les facteurs
d’authentification forte
L’authentification forte du client pour les
transactions
Connaissance Possession Inhérence
+
Lien dynamique
Intégrité
Pour les opérations à distance
s’ajoute le facteur suivant :
#DevoxxFR
DSP2 – Authentification forte du
client
La banque doit mettre en place une authentification forte du client systématiquement afin de
déceler les opérations de paiement frauduleuses lorsque :
Le payeur accède à
son compte en
ligne*
Le payeur initie une
opération de
paiement
électronique
Le payeur effectue une
action à distance
risquée
#DevoxxFR
3D-Secure v2
#DevoxxFR
Merci

Devoxx 2019 authentification

Notes de l'éditeur

  • #3 FAI, Netflix,
  • #9 Statique, gestion des rôles
  • #29 2003 : 70% du marché 2FA
  • #39 *La première fois et tous les 90 jours Systématiquement lors de l’accès à l’historique de plus de 90 jours susceptible de comporter un risque de fraude ou une utilisation frauduleuse (ex : changement du numéro de téléphone, ajout d’un tiers de confiance)