Livre blanc sur la sécurité Dashlane
https://www.dashlane.com/download/Dashlane_SecurityWhitePaper_October2018.pdf
Octobre 2018
Contenu
1. Principes généraux de sécurité ............................................. .................................................. ........ 2
une. Protection des données utilisateur dans Dashlane ............................................ ......................................... 2
b. Accès local aux données utilisateur ............................................. .................................................. ...... 2
c. Utilisation des données locales après le déchiffrement ............................................. ......................................... 3
ré. Utilisation d'applications 2FA pour accroître la sécurité des données utilisateur ......................................... .................. 3
e. Authentification................................................. .................................................. ................... 3
F. La communication................................................. .................................................. ................. 4
g. Détails sur le flux d'authentification .............................................. ............................................... 6
h. Garder l'expérience utilisateur simple ............................................. ....................................... 8
je. Utilisation de l'application 2FA pour sécuriser la connexion à un nouveau périphérique ...................................... 8
j. Authentification à 2 facteurs .............................................. .................................................. ........ 8
k. Partage de données entre utilisateurs .............................................. .................................................. 9
l. Utiliser Password Changer pour renforcer la sécurité des utilisateurs .......................................... ..... 11
m. Récupération du compte ................................................ .................................................. ............. 12
2. Impact sur les scénarios d'attaque potentiels ............................................ .......................................... 13
une. Architecture de sécurité minimale ............................................... ............................................. 13
b. Architecture de sécurité la plus commune .............................................. .................................... 14
c. Architecture de sécurité Dashlane ............................................... ........................................... 15
ré. Dispositions anti-détournement de clic .............................................. ................................................. 18
e. Politique de même origine .............................................. .................................................. .............. 18
F. Protection de la mémoire ................................................ .................................................. ........... 18
g. Intel SGX ................................................ .................................................. ........................... 19
Livre blanc sur la sécurité de Dashlane, octobre 2018
https://www.dashlane.com/download/Dashlane_SecurityWhitePaper_October2018.pdf
2
1. Principes généraux de sécurité
une. Protection des données utilisateur dans Dashlane
La protection des données utilisateur dans Dashlane repose sur 4 secrets distincts:
• Le mot de passe utilisateur principal
o Il n’est jamais stocké sur les serveurs Dashlane, ni aucun de ses dérivés (y compris
hash)
o Par défaut, il n’est stocké localement sur le disque d’aucun des périphériques de l’utilisateur; nous
utilisez-le simplement pour (décoder) les fichiers locaux contenant les données de l'utilisateur
o Il est stocké localement à la demande de l'utilisateur lors de l'activation de la fonctionnalité «Remember my
Mot de passe maître"
o De plus, le mot de passe principal de l’utilisateur ne transmet jamais par Internet, ni
faire n'importe lequel de ses dérivés (y compris les hachages)
• Dans certains cas (stockage local), nous utilisons une clé intermédiaire (aléatoire sur 32 octets).
crypté avec le mot de passe principal dérivé.
• Une clé de périphérique utilisateur unique pour chaque périphérique activé par un utilisateur
o Auto généré pour chaque appareil
o Utilisé pour l'authentification
• Une clé secrète Dashlane
o Utilisé pour sécuriser la communication entre l’application Dashlane et le
plugins de navigateur.
b. Accès local aux données utilisateur
L’accès aux données de l’utilisateur nécessite l’utilisation du mot de passe principal de l’utilisateur, qui est uniquement connu des utilisateurs.
utilisateur. Il est utilisé pour générer la clé symétrique AES 256 bits permettant de chiffrer et de déchiffrer les données de l’utilisateur.
données personnelles sur le périphérique de l'utilisateur.
Le chiffrement et le déchiffrement des données de l’utilisateur sont effectués à l’aide d’OpenSSL:
• Un sel de 32 octets est généré à l’aide de la fonction OpenSSL RAND_bytes (chiffrement) ou de la lecture.
à partir du fichier AES (déchiffrement).
• Le mot de passe principal utilisateur est utilisé, avec le sel, pour générer la clé AES 256 bits qui
être utilisé pour (déc) chiffrer. Nous utilisons Argon2d, par défaut, avec les paramètres suivants:
itérations = 3, mémoire = 32Mo, parallélisation = 2. Nous prenons également en charge PBKDF2-SHA2 avec
200 000 itérations.
• Le vecteur d'initialisation de 16 octets est choisi de manière aléatoire.
• Ensuite, les données sont (déchiffrées) en mode CBC-HMAC.
• Lors du chiffrement, le sel est écrit dans le fichier AES.
Livre blanc sur la sécurité de Dashlane, octobre 2018
FREE: Les nouveaux utilisateurs de la version gratuite ont désormais le droit d'enregistrer jusqu'à 50 mots de passe par appareil. https://www.dashlane.com
3
c. Utilisation des données locales après le déchiffrement
Une fois que l’utilisateur a saisi son mot de passe principal localement dans Dashlane et que ses données d’utilisateur ont été sauvegardées.
déchiffré, les données sont chargées en mémoire.
Le client Dashlane fonctionne avec des contraintes importantes pour utiliser efficacement les données utilisateur déchiffrées
et en toute sécurité:
• Les processus Dashlane déchiffrent et accèdent à des mots de passe individuels pour les remplir automatiquement sur des sites Web.
ou pour enregistrer les informations d'identification sans avoir à demander à l'utilisateur le mot de passe principal à chaque fois.
• Les utilisateurs exigent que ces actions soient effectuées rapidement.
• Les mots de passe sont envoyés par différents processus via des canaux nommés ou des sockets Web.
du noyau aux plugins (mais ils sont d'abord cryptés avec AES).
• La dérivation Argon2d (ou PBKDF2) utilisée pour calculer les clés AES ajoute une latence significative.
(dans le but de protéger des attaques par force brute).
Voir au §2.f pour plus d'informations sur la gestion de la mémoire.
ré. Utilisation d'applications 2FA pour accroître la sécurité des données utilisateur
À tout moment, un utilisateur peut associer son compte à une application 2FA sur son appareil mobile (un exemple
entre autres Google Authenticator). Toutes leurs données, à la fois les données stockées localement et les données
envoyés aux serveurs Dashlane à des fins de synchronisation sont ensuite chiffrés avec une nouvelle clé, qui est
généré par une combinaison du mot de passe utilisateur principal et d’une clé générée aléatoirement appelée
la clé secondaire utilisateur stockée sur le serveur Dashlane, comme décrit dans les étapes suivantes:
• L’utilisateur lie son compte Dashlane à son application 2FA.
• Les serveurs Dashlane génèrent et stockent une clé secondaire d’utilisateur, qui est envoyée à l’utilisateur.
application client.
• Toutes les données personnelles sont chiffrées avec un nouveau côté client généré symétriquement AES 256 bits
avec le mot de passe utilisateur principal et la clé secondaire d’utilisateur.
• La clé secondaire utilisateur n'est jamais stockée localement.
• La prochaine fois que l'utilisateur essaiera de se connecter à Dashlane, les serveurs Dashlane lui demanderont de
fournir un mot de passe à usage unique généré par l'application 2FA. Dès réception et
En vérifiant ce mot de passe à usage unique, les serveurs Dashlane enverront la clé secondaire utilisateur à
l’application client, permettant à l’utilisateur de déchiffrer ses données.
Ce faisant, les données utilisateur ne peuvent être déchiffrées qu’en utilisant à la fois le mot de passe utilisateur principal et le mot de passe utilisateur.
Application 2FA liée au compte de l'utilisateur.
e. Authentification
Certains services de Dashlane étant basés sur le cloud (synchronisation des données entre plusieurs appareils
par exemple) il est nécessaire d'authentifier l'utilisateur sur les serveurs Dashlane
L’authentification de l’utilisateur sur les serveurs Dashlane est basée sur la clé de l’utilisateur et n’a
relation avec le mot de passe utilisateur principal.
Lorsqu'un utilisateur crée un compte ou ajoute un nouveau périphérique pour synchroniser ses données, un nouveau périphérique utilisateur
La clé est générée. La clé de périphérique utilisateur est composée de deux parties:
• Tout d’abord, une partie prévisible basée sur certaines caractéristiques matérielles et logicielles de la
dispositif.
• Deuxièmement, 38 caractères (lettres minuscules, majuscules et chiffres) générés à l’aide des
Fonction OpenSSL RAND_byte.
Cette clé de périphérique utilisateur est ensuite stockée localement dans les données utilisateur, chiffrée comme toutes les autres données utilisateur.
expliqué plus tôt, et envoyé à nos serveurs. Lorsqu'un utilisateur a eu accès à ses données à l'aide de son
Mot de passe principal, Dashlane est en mesure d’accéder à sa clé de périphérique utilisateur pour l’authentifier sur notre
serveurs sans interaction de l'utilisateur.
Par conséquent, Dashlane n'a pas besoin de stocker le mot de passe principal de l'utilisateur pour effectuer l'authentification.
F. la communication
Toutes les communications entre l’application Dashlane et les serveurs Dashlane sont sécurisées avec
HTTPS. Les connexions HTTPS côté client sont effectuées à l'aide d'OpenSSL. Du côté du serveur, nous utiliser un certificat DigiCert High Assurance CA-31
.
Les communications HTTPS entre l’application Dashlane et les serveurs Dashlane utilisent
Connexions SSL / TLS.
Les principales étapes du protocole TLS sont les suivantes:
• Le client et le serveur négocient pour choisir le meilleur algorithme de chiffrement et de hachage disponible.
des deux côtés.
• Le serveur envoie un certificat numérique.
• Le client vérifie le certificat en contactant une autorité de certification.
• Le client chiffre un nombre aléatoire avec la clé publique du serveur et l’envoie au
serveur.
• Le serveur décrypte ce numéro et les deux côtés l’utilisent pour générer un rapport symétrique.
clé utilisée pour chiffrer et déchiffrer des données.
Enfin, la communication entre le plug-in du navigateur Dashlane et l’application Dashlane est
sécurisé avec AES 256 avec la bibliothèque OpenSSL:
• Un sel de 32 octets est généré à l’aide de la fonction OpenSSL RAND_bytes (chiffrement) ou de la lecture.
à partir du message interprocessus (déchiffrement).
FREE: Les nouveaux utilisateurs de la version gratuite ont désormais le droit d'enregistrer jusqu'à 50 mots de passe par appareil. https://www.dashlane.com
• La clé privée Dashlane est utilisée, avec le sel, pour générer la clé AES 256 bits qui
être utilisé pour (déc) chiffrer.
Lorsque vous ajoutez un deuxième appareil, l’important est que Dashlane doit s’assurer que l’utilisateur
l'ajout de l'appareil supplémentaire est bien le propriétaire légitime du compte. C'est gagner
protection supplémentaire dans le cas où le mot de passe principal de l'utilisateur a été compromis et un
L'attaquant qui n'a pas accès à son appareil déjà activé tente d'accéder au compte
à partir d'un autre appareil.
Comme le montre la figure 3, lorsqu'un utilisateur tente de se connecter à un compte Dashlane sur un périphérique qui
n’a pas encore été autorisé pour ce compte, Dashlane génère un mot de passe à usage unique (un jeton).
qui est envoyé à l'utilisateur soit à l'adresse électronique utilisée pour créer le compte Dashlane initialement, soit
par SMS sur le téléphone portable de l'utilisateur si celui-ci a choisi de fournir son téléphone portable
nombre.
Pour activer le nouveau périphérique, l'utilisateur doit entrer à la fois son mot de passe principal et le jeton.
Les serveurs Dashlane ne démarreront que lorsque cette authentification à deux facteurs aura été effectuée.
synchroniser les données utilisateur sur le nouvel appareil. Toutes les communications sont gérées avec HTTPS et le
les données utilisateur voyagent uniquement sous forme chiffrée AES-256. Veuillez noter à nouveau que le mot de passe principal de l'utilisateur
ne transmet jamais sur Internet.
h. Garder l'expérience utilisateur simple
Depuis toujours, notre objectif est de conserver l'expérience utilisateur
simple et de cacher toute la complexité de l'utilisateur.
La sécurité devient de plus en plus importante pour les utilisateurs
des services cloud, mais ils ne sont pas nécessairement prêts à
sacrifiez la commodité pour plus de sécurité.
Même si ce qui se passe en arrière-plan pendant
les étapes d'enregistrement initiales sont complexes (voir Figure 2),
l'expérience utilisateur est très simple. Tout ce qu'ils ont à faire
est de choisir un mot de passe principal (fort), et tous les autres
les clés sont générées par l'application sans utilisateur
intervention.
Lors de l'ajout d'un périphérique supplémentaire, le processus est
tout aussi simple tout en restant hautement sécurisé
via l'utilisation de l'authentification à deux facteurs
décrit à la figure 3.
je. Utilisation de l'application 2FA pour sécuriser la connexion à un nouveau périphérique
À tout moment, un utilisateur peut lier son compte Dashlane à une application 2FA sur son appareil mobile.
Lorsqu'ils tentent de se connecter à un nouvel appareil, au lieu de leur envoyer un mot de passe à usage unique
Par courrier électronique, Dashlane demande à l'utilisateur de fournir un mot de passe à usage unique généré par 2FA
application.
Après avoir reçu et vérifié le mot de passe à usage unique fourni par l’utilisateur, les serveurs Dashlane
stockez la clé de périphérique utilisateur générée par l’application client, comme décrit à la figure 3.
j. Authentification à 2 facteurs
Dashlane propose une authentification à 2 facteurs qui peut être activée à partir des paramètres de sécurité du
application de bureau pour forcer l’utilisation d’un second facteur chaque fois que l’utilisateur se connecte à Dashlane.
Les méthodes à deux facteurs prises en charge incluent les applications 2FA telles que Google Authenticator ou U2F
appareils compatibles tels que Yubikeys. U2F est un protocole ouvert de la FIDO Alliance
(https://fidoalliance.org). Dashlane est membre de l'alliance FIDO.
k. Partage de données entre utilisateurs
Dashlane permet aux utilisateurs de partager leurs informations d’identité et de sécuriser leurs notes avec d’autres utilisateurs ou avec des groupes de sociétés.
utilisateurs, de sorte que Dashlane n’accède jamais directement aux données d’un utilisateur à aucun moment. En réalité,
Les serveurs de Dashlane n’ont jamais accès au contenu des données partagées.
Le partage de Dashlane repose sur le cryptage asymétrique; lors de la création du compte, une paire unique de
Les clés RSA publiques et privées sont créées par l'application Dashlane pour chaque utilisateur. La clé privée
est stockée dans les données personnelles de l'utilisateur et la clé publique est envoyée aux serveurs de Dashlane. RSA public
et les clés privées sont générées à l'aide de la fonction OpenSSL RSA_generate_key_ex, à l'aide d'une clé
longueur de 2048 bits, avec 3 comme exposant public.
Voici le processus à suivre par un utilisateur, Alice, pour partager une information d'identification avec un autre utilisateur, Bob:
• Alice demande aux serveurs de Dashlane la clé publique de Bob.
• Alice génère une clé AES 256 bits en utilisant une fonction aléatoire cryptographiquement sécurisée sur chaque
Plate-forme. Cette clé est unique pour chaque élément partagé et s'appelle ObjectKey.
• Alice chiffre la clé ObjectKey à l'aide de la clé publique de Bob en créant une clé BobEncryptedObjectKey.
• Alice envoie BobEncryptedObjectKey aux serveurs de Dashlane.
• Alice chiffre ses informations d’identification avec ObjectKey, en utilisant AES-CBC et HMAC-SHA2 pour créer une
EncryptedCredential.
• Alice envoie les informations cryptées aux serveurs de Dashlane.
• Lorsque Bob se connecte, les serveurs de Dashlane l'informent qu'Alice souhaite partager ses informations d'identification avec lui.
Bob doit accepter manuellement l’article dans son application Dashlane et signer son acceptation à l’aide de son
Clé privée.
• Après acceptation, les serveurs de Dashlane envoient à Bob la BobEncryptedObjectKey, et le
EncryptedCredential.
• Bob déchiffre le BobEncryptedObjectKey avec sa clé privée et obtient la clé ObjectKey.
• Bob déchiffre EncryptedCredential avec ObjectKey et ajoute les informations d'identification de texte brut d'Alice.
à ses propres données personnelles.
Livre blanc sur la sécurité de Dashlane, octobre 2018
dix
Le partage de données avec un groupe d’utilisateurs suit le même principe de sécurité: utiliser le public RSA d’un utilisateur et
clés privées pour envoyer des clés AES protégées, signer l'action d'un utilisateur et utiliser des clés AES intermédiaires
échanger des données.
Résumer:
• Chaque utilisateur possède une paire de clés RSA 2048 bits publiques et privées:
o Les clés publiques sont utilisées pour chiffrer des informations que seul un utilisateur spécifique peut déchiffrer.
o Les clés privées sont utilisées pour signer les actions que les utilisateurs effectuent.
• Pour chaque justificatif d'identité ou note sécurisée partagée, une clé AES 256 bits intermédiaire est créée et utilisée.
effectuer le cryptage et le décryptage des données.
Livre blanc sur la sécurité de Dashlane, octobre 2018
FREE: Les nouveaux utilisateurs de la version gratuite ont désormais le droit d'enregistrer jusqu'à 50 mots de passe par appareil. https://www.dashlane.com
11
l. Utiliser Password Changer pour renforcer la sécurité des utilisateurs
La fonction de changement de mot de passe de Dashlane offre une expérience en un clic pour changer un mot de passe pour un mot de passe.
site Web particulier. Cela facilite la modification des mots de passe des sites Web compromis.
De plus, il offre aux utilisateurs un moyen pratique de mettre à jour régulièrement leurs mots de passe sans se déplacer.
lors de la mise à jour manuelle des mots de passe des comptes qu’ils possèdent. Changeur de mot de passe
rend une pratique de sécurité très importante, rarement suivie, beaucoup plus facile.
Pour changer un mot de passe pour un site Web particulier, un client de Dashlane envoie le fichier actuel enregistré.
mot de passe pour les serveurs de Dashlane avec un nouveau mot de passe fort généré sur le client. Cette
la communication s'effectue à l'aide de WebSockets sécurisés (WebSockets sur SSL / TLS - la terminaison SSL
Cette opération est effectuée à l'aide d'AWS Elastic Load Balancers, comme pour tout autre service Web Dashlane) afin de prévenir les attaques Manin-the-Middle. Les serveurs tentent de se connecter au site Web ciblé et modifient les paramètres de l'utilisateur.
mot de passe en utilisant un navigateur ou un appel à une API, selon le site Web.
Dashlane invite l'utilisateur à fournir des informations supplémentaires si nécessaire (par exemple, une question de sécurité) à l'aide du
même connexion WebSocket sécurisée. À la fin de l'opération, il informe l'utilisateur du résultat.
En cas de succès, le client met à jour le mot de passe localement.
Les serveurs (instances AWS EC2) utilisés pour fournir Password Changer sont séparés du serveur.
reste de l'infrastructure de serveur de Dashlane (instances dédiées et groupes de sécurité AWS distincts).
De plus, côté serveur, des informations sensibles (par exemple, identifiants et mots de passe) sont stockées dans la RAM
seulement. Il est retiré de la RAM juste après le renvoi du résultat au client (le changement de mot de passe
prend en moyenne 45 secondes) ou après cinq minutes en cas de déconnexion du client
appareils compatibles tels que Yubikeys. U2F est un protocole ouvert de la FIDO Alliance
(https://fidoalliance.org). Dashlane est membre de l'alliance FIDO.
k. Partage de données entre utilisateurs
Dashlane permet aux utilisateurs de partager leurs informations d’identité et de sécuriser leurs notes avec d’autres utilisateurs ou avec des groupes de sociétés.
utilisateurs, de sorte que Dashlane n’accède jamais directement aux données d’un utilisateur à aucun moment. En réalité,
Les serveurs de Dashlane n’ont jamais accès au contenu des données partagées.
Le partage de Dashlane repose sur le cryptage asymétrique; lors de la création du compte, une paire unique de
Les clés RSA publiques et privées sont créées par l'application Dashlane pour chaque utilisateur. La clé privée
est stockée dans les données personnelles de l'utilisateur et la clé publique est envoyée aux serveurs de Dashlane. RSA public
et les clés privées sont générées à l'aide de la fonction OpenSSL RSA_generate_key_ex, à l'aide d'une clé
longueur de 2048 bits, avec 3 comme exposant public.
Voici le processus à suivre par un utilisateur, Alice, pour partager une information d'identification avec un autre utilisateur, Bob:
• Alice demande aux serveurs de Dashlane la clé publique de Bob.
• Alice génère une clé AES 256 bits en utilisant une fonction aléatoire cryptographiquement sécurisée sur chaque
Plate-forme. Cette clé est unique pour chaque élément partagé et s'appelle ObjectKey.
• Alice chiffre la clé ObjectKey à l'aide de la clé publique de Bob en créant une clé BobEncryptedObjectKey.
• Alice envoie BobEncryptedObjectKey aux serveurs de Dashlane.
• Alice chiffre ses informations d’identification avec ObjectKey, en utilisant AES-CBC et HMAC-SHA2 pour créer une
EncryptedCredential.
• Alice envoie les informations cryptées aux serveurs de Dashlane.
• Lorsque Bob se connecte, les serveurs de Dashlane l'informent qu'Alice souhaite partager ses informations d'identification avec lui.
Bob doit accepter manuellement l’article dans son application Dashlane et signer son acceptation à l’aide de son
Clé privée.
• Après acceptation, les serveurs de Dashlane envoient à Bob la BobEncryptedObjectKey, et le
EncryptedCredential.
• Bob déchiffre le BobEncryptedObjectKey avec sa clé privée et obtient la clé ObjectKey.
• Bob déchiffre EncryptedCredential avec ObjectKey et ajoute les informations d'identification de texte brut d'Alice.
à ses propres données personnelles.
Livre blanc sur la sécurité de Dashlane, octobre 2018
dix
Le partage de données avec un groupe d’utilisateurs suit le même principe de sécurité: utiliser le public RSA d’un utilisateur et
clés privées pour envoyer des clés AES protégées, signer l'action d'un utilisateur et utiliser des clés AES intermédiaires
échanger des données.
Résumer:
• Chaque utilisateur possède une paire de clés RSA 2048 bits publiques et privées:
o Les clés publiques sont utilisées pour chiffrer des informations que seul un utilisateur spécifique peut déchiffrer.
o Les clés privées sont utilisées pour signer les actions que les utilisateurs effectuent.
• Pour chaque justificatif d'identité ou note sécurisée partagée, une clé AES 256 bits intermédiaire est créée et utilisée.
effectuer le cryptage et le décryptage des données.
Livre blanc sur la sécurité de Dashlane, octobre 2018
FREE: Les nouveaux utilisateurs de la version gratuite ont désormais le droit d'enregistrer jusqu'à 50 mots de passe par appareil. https://www.dashlane.com
11
l. Utiliser Password Changer pour renforcer la sécurité des utilisateurs
La fonction de changement de mot de passe de Dashlane offre une expérience en un clic pour changer un mot de passe pour un mot de passe.
site Web particulier. Cela facilite la modification des mots de passe des sites Web compromis.
De plus, il offre aux utilisateurs un moyen pratique de mettre à jour régulièrement leurs mots de passe sans se déplacer.
lors de la mise à jour manuelle des mots de passe des comptes qu’ils possèdent. Changeur de mot de passe
rend une pratique de sécurité très importante, rarement suivie, beaucoup plus facile.
Pour changer un mot de passe pour un site Web particulier, un client de Dashlane envoie le fichier actuel enregistré.
mot de passe pour les serveurs de Dashlane avec un nouveau mot de passe fort généré sur le client. Cette
la communication s'effectue à l'aide de WebSockets sécurisés (WebSockets sur SSL / TLS - la terminaison SSL
Cette opération est effectuée à l'aide d'AWS Elastic Load Balancers, comme pour tout autre service Web Dashlane) afin de prévenir les attaques Manin-the-Middle. Les serveurs tentent de se connecter au site Web ciblé et modifient les paramètres de l'utilisateur.
mot de passe en utilisant un navigateur ou un appel à une API, selon le site Web.
Dashlane invite l'utilisateur à fournir des informations supplémentaires si nécessaire (par exemple, une question de sécurité) à l'aide du
même connexion WebSocket sécurisée. À la fin de l'opération, il informe l'utilisateur du résultat.
En cas de succès, le client met à jour le mot de passe localement.
Les serveurs (instances AWS EC2) utilisés pour fournir Password Changer sont séparés du serveur.
reste de l'infrastructure de serveur de Dashlane (instances dédiées et groupes de sécurité AWS distincts).
De plus, côté serveur, des informations sensibles (par exemple, identifiants et mots de passe) sont stockées dans la RAM
seulement. Il est retiré de la RAM juste après le renvoi du résultat au client (le changement de mot de passe
prend en moyenne 45 secondes) ou après cinq minutes en cas de déconnexion du client
La récupération de compte permet aux utilisateurs de Dashlane Business de retrouver l'accès à Dashlane en réinitialisant leur
Mot de passe maître. Notre processus en attente de brevet préserve une architecture sans connaissances. Personne n'est
capable d'accéder aux données de l'utilisateur ou de récupérer le mot de passe principal perdu. Les mots de passe principaux ne sont jamais
stockés sur aucun serveur ni transmis sous aucune forme.
Notre solution permet aux utilisateurs de réinitialiser leur mot de passe principal et de récupérer les données stockées sur un ordinateur.
appareil autorisé. La récupération de compte est une fonctionnalité facultative que les administrateurs peuvent activer pour leur Dashlane
Compte professionnel dans la console d'administration.
Pour permettre la récupération, la clé locale de l'utilisateur, elle-même chiffrée avec son mot de passe principal, est également utilisée.
chiffré à l'aide d'une clé de récupération utilisateur unique, générée et utilisée pour tous les périphériques de l'utilisateur
quand ils optent pour la récupération de compte. Cette clé de récupération utilisateur est ensuite chiffrée à l’aide d’une clé unique.
clé de récupération côté serveur, qui est uniquement connue de Dashlane et des périphériques clients de l'utilisateur. Quand un
l'administrateur active la récupération du compte, leur clé publique est utilisée pour chiffrer la clé de récupération côté serveur
FREE: Les nouveaux utilisateurs de la version gratuite ont désormais le droit d'enregistrer jusqu'à 50 mots de passe par appareil. https://www.dashlane.com
qui, comme mentionné ci-dessus, était déjà utilisé pour chiffrer la clé de récupération de l'utilisateur. Un administrateur peut
puis, via leur clé privée, accéder plus tard à la clé de récupération de l'utilisateur protégée par le serveur
clé de récupération.
Lorsqu'un utilisateur demande la récupération du compte, il lui est demandé de vérifier son compte et de créer un nouveau compte.
Mot de passe maître. Une étape critique du processus de récupération est la vérification de l’identité du
utilisateur. Il appartient à l’administrateur, agissant en tant que tiers de confiance, de s’assurer que l’utilisateur demandant la récupération est
en effet le propriétaire du compte. Si un administrateur approuve la demande, la clé de récupération côté serveur,
qui protège la clé de récupération de l'utilisateur, est échangé en toute sécurité de l'administrateur à l'utilisateur via un
système de clé publique / privée. Sur la machine de l'utilisateur, la clé de récupération de l'utilisateur est ensuite déchiffrée à l'aide du bouton
clé de récupération côté serveur, fournie par Dashlane après que l'identité et la demande de l'utilisateur ont été
validé. La clé de récupération de l'utilisateur est ensuite utilisée pour déchiffrer la clé locale de l'utilisateur, qui est à son tour
utilisé pour déchiffrer les données de l'utilisateur. Les données récupérées sont ensuite rechiffrées avec le nouveau maître.
Mot de passe et re-synchronisé avec les serveurs Dashlane.
Dans la mesure où ce processus implique une modification du mot de passe principal, tous les périphériques de l'utilisateur doivent être réenregistrés sur Dashlane pour que l'utilisateur puisse accéder à ses données nouvellement cryptées.
b. Architecture de sécurité la plus commune
Une meilleure alternative consiste à utiliser une clé différente pour chaque utilisateur. La pratique la plus courante consiste à demander au
l’utilisateur de fournir un mot de passe principal (fort) et de dériver la clé de chiffrement pour chaque utilisateur
leur mot de passe principal. Cependant, pour que les choses restent simples pour l'utilisateur, de nombreux services ou applications
tendent également à utiliser le mot de passe principal de l’utilisateur en tant que clé d’authentification pour la connexion à leur compte.
prestations de service. Cela signifie qu'un attaquant pourrait accéder au coffre d'un utilisateur simplement en connaissant le maître
mot de passe. Cela pourrait également facilement conduire à des erreurs d’implémentation
mauvaise / faible hachage, etc.).
Livre blanc sur la sécurité de Dashlane, octobre 2018
15
c. Architecture de sécurité Dashlane
Afin de rendre ce scénario d’attaque impossible, nous avons pris la décision de séparer la clé
utilisé pour le chiffrement des données utilisateur et la clé utilisée pour l’authentification basée sur le serveur (voir la figure 4:
Limites du potentiel d’attaque avec l’architecture de sécurité de Dashlane). Les données utilisateur sont cryptées avec un
clé qui est un dérivé du mot de passe utilisateur principal. Une clé de périphérique utilisateur distincte (propre à chaque
couple utilisateur-appareil) est utilisé pour l'authentification sur les serveurs Dashlane. Cette clé de périphérique utilisateur est
généré automatiquement par Dashlane. Par conséquent:
• Les clés de chiffrement des données utilisateur ne sont stockées nulle part
• Aucun employé de Dashlane ne peut accéder aux données des utilisateurs
• Les données utilisateur sont protégées par le mot de passe principal même si les serveurs de Dashlane sont compromis.
Envoyer des commentaires
Historique
Enregistré
Communauté
Même si ce scénario se produit, un employé malhonnête ou un pirate informatique externe aurait beaucoup de difficulté
en exécutant une attaque par force brute ou par dictionnaire sur les fichiers de données utilisateur AES, car nous utilisons Argon2d (ou
PBKDF2-SHA2). Au fur et à mesure que les données de l’utilisateur sont cryptées à l’aide d’une clé salée qui est un dérivé de
leur mot de passe utilisateur principal, aucune attaque arc-en-ciel n'est possible
À titre d’exemple, il s’agit d’un test comparatif des tentatives de déchiffrement des fichiers AES à l’aide d’un processeur Xeon à 1,87 GHz (4
noyaux):
Il est temps d’obtenir le mot de passe sur un Xeon 1,87 GHz (4
noyaux)
Type d'attaque par force brute
AES
256
Argon2 (3
itérations, 32 Mo)
AES 256 avec
PBKDF2-SHA2 avec
200 000 itérations
Dictionnaire de 4 millions de termes
2.8
seconde
s
46 jours
~ 450 heures
Alphanumérique (petites majuscules + chiffres)
mot de passe de 7 caractères
15.7
heures
111 669 ans
~ 1000 ans
Alphanumérique (petites majuscules + chiffres)
mot de passe de 8 caractères
23,6
journées
6 923, 519 ans
~ 45 000 ans
Ce tableau représente le temps qu’il faudrait à un Xeon 1,87 GHz (4 cœurs) pour casser un mot de passe utilisé.
protéger les données utilisateur de Dashlane. Sans utiliser Argon2 ou PBKDF2, ces chiffres montrent que même
avec un mot de passe fort, un attaquant serait en mesure de déchiffrer le mot de passe de l'utilisateur en moins de
mois.
Utiliser Argon2 ou PBKDF2, et étant donné que Dashlane applique un mot de passe assez fort
exigences2 (et donc les mots de passe utilisateur ne sont pas contenus dans un dictionnaire), une attaque
être impraticable.
De toute évidence, toute architecture de sécurité est limitée. Si l'ordinateur de l'utilisateur est physiquement
compromis et un attaquant peut installer un enregistreur de frappe leur permettant de capturer tous les
En appuyant sur une touche, aucun système de sécurité basé sur un mot de passe n’empêchera le vol ou le piratage des données. C'est pourquoi
l'utilisateur final reste responsable de la protection physique de son ordinateur contre les accès non autorisés et de la non-installation de logiciels potentiellement infectés. Notre
Le fait est que, dans tous les cas, un utilisateur de Dashlane est beaucoup plus sécurisé que s’il stocke des données sensibles.
2 Au moins une majuscule, une minuscule, 1 chiffre et au moins 8 caractères
Livre blanc sur la sécurité de Dashlane, octobre 2018
FREE: Les nouveaux utilisateurs de la version gratuite ont désormais le droit d'enregistrer jusqu'à 50 mots de passe par appareil. https://www.dashlane.com
17
données personnelles dans des documents Word ou Excel, utilise leur mémoire ou un système nécessitant des
modèles de mot de passe, ou stocke les mots de passe dans les caches de leur navigateur.
Livre blanc sur la sécurité de Dashlane, octobre 2018
18
ré. Dispositions anti-détournement de clic
Afin de protéger les utilisateurs de Dashlane contre les sites Web non autorisés qui tenteraient d’utiliser le détournement de clic
tactiques ou d’autres attaques basées sur JavaScript pour extraire des données de l’application Dashlane, nous avons
veillé à ce qu'aucune des interactions basées sur des pages Web impliquant des données d'utilisateur non liées à ce site Web
utiliser JavaScript.
Au lieu de cela, toutes les interactions3 impliquant des données utilisateur ont été écrites en C ++, et ce code compilé
a vu l’utilisation de diverses méthodes d’emballage et de protection pour compliquer davantage
tentatives d'ingénierie et rendre le détournement de clic et d'autres attaques JavaScript extrêmement difficiles à
effectuer. Cela ne sera évidemment pas pertinent si l’ordinateur de l’utilisateur a été compromis par un ordinateur non autorisé.
programme.
Par exemple, les popups utilisés pour déclencher le remplissage de formulaire sur une page Web sont des popups C ++ et
externe à JavaScript. En conséquence, un site Web non autorisé ne peut pas déclencher un clic qui provoquerait
Dashlane de croire que l'utilisateur a cliqué et ne peut donc pas extraire d'informations
à moins que l'utilisateur clique explicitement dans le champ.
e. Politique de même origine
Dashlane connecte automatiquement les utilisateurs aux sites Web. Afin d’éviter de fournir des informations d’utilisateur à
sites Web malveillants, la politique de même origine est toujours respectée.
Tout d’abord, un identifiant enregistré par Dashlane lorsqu’il a été utilisé sur un site Web avec l’URL de
mysubdomain.mydomain.com ne sera pas automatiquement renseigné sur un autre site avec l'URL de
myothersubdomain.mydomain.com. Cela évite que les informations d'identification d'un site Web spécifique ne soient
fourni à un autre site Web qui partagerait le même nom de domaine de premier niveau.
En outre, un identifiant enregistré par Dashlane lorsqu’il a été utilisé sur un site Web avec une URL qui commence avec
https ne sera pas automatiquement renseigné sur un autre site Web avec une URL commençant par http.
F. Protection de la mémoire
Un problème peut survenir si un attaquant prend le contrôle du périphérique client de l’utilisateur. Dans ce scénario, le
L'attaquant pourrait récupérer les données utilisateur déchiffrées dans la mémoire.
C’est un scénario extrême car, dans ce cas, l’attaquant peut prendre le contrôle de nombreuses pièces, y compris
ajouter un enregistreur de frappe pour capturer le mot de passe principal.
• Les systèmes d’exploitation mobiles (Android, IOS) garantissent qu’aucun processus ne peut accéder à la
mémoire d'un autre processus et ne sont pas directement affectés.
• Processus en bac à sable: les applications du Windows Store ou du Mac App Store ne peuvent pas accéder à un autre processus.
la mémoire, non plus.
3 La seule exception concerne les interactions pour lesquelles des données spécifiques au site Web sont fournies, telles que la connexion automatique.
où nous ne créons aucun risque supplémentaire en utilisant JavaScript
Livre blanc sur la sécurité de Dashlane, octobre 2018
19
• Les applications de bureau non-Sandbox sont un problème. Ils peuvent accéder à la mémoire avec le système classique
API (CreateRemoteThread, ReadProcessMemory, WriteProcessMem
https://www.dashlane.com/download/Dashlane_SecurityWhitePaper_October2018.pdf
FREE: Les nouveaux utilisateurs de la version gratuite ont désormais le droit d'enregistrer jusqu'à 50 mots de passe par appareil. https://www.dashlane.com