Je conçois un service qui, entre autres, stocke des informations sensibles. Pour éviter tout accès non autorisé à ces informations, celles-ci seraient cryptées avec une clé dérivée de leur mot de passe (PBKDF2). Le mot de passe sera stocké dans un format BCrypt haché + salé dans la base de données. Elles ne sont jamais stockées en texte brut.
La nature des informations enregistrées est telle qu'un mot de passe fort est nécessaire. Certains sites Web forcent leurs utilisateurs à créer des mots de passe avec une grande entropie en appliquant des directives strictes en matière de caractères. Ces mots de passe complexes peuvent conduire à la réutilisation des mots de passe sur différents sites Web [1]. C'est une mauvaise chose ™ [2].
Je préférerais de loin que mes utilisateurs sélectionnent un mot de passe à la fois fort et peu susceptible d'être réutilisé ou déjà utilisé sur un autre service Web moins sécurisé. En tant que tel, je pensais utiliser un schéma de mot de passe de type XKCD [3] pour mes utilisateurs dans leur langue maternelle.
L'utilisateur serait présenté avec 4-5 mots différents d'une grande liste de mots avec plus de 6 caractères (pas de mots avec des caractères spéciaux inclus, juste ASCII). La boîte de dialogue de saisie du mot de passe serait formatée avec 4-5 champs au lieu du champ unique normal, pour renforcer le paradigme de la phrase de passe. Lors de l'enregistrement, le mot de passe peut être régénéré à volonté, pour donner à l'utilisateur la possibilité de sélectionner une phrase de passe composée de mots dont il se souviendra facilement. L'utilisateur ne peut pas entrer ses propres mots.
Je sais par expérience personnelle que CreeperHost [4] utilise déjà cette méthode, bien qu'avec un seul champ de mot de passe avec quatre mots anglais concaténés.
Mes questions sont les suivantes:
- Cette méthode serait-elle plus sûre / efficace que de permettre aux utilisateurs de choisir la leur?
- Quelqu'un a-t-il une expérience de la mise en œuvre d'un système similaire? Était-ce efficace?
- La division du champ de mot de passe en plusieurs champs distincts est-elle inutile ou expose-t-elle trop d'informations?
Je recherche spécifiquement des réponses liées à l'application dans le monde réel de cette méthode spécifique, s'il y en a. Je connais les forces et faiblesses théoriques de cette méthode de génération de mots de passe.
- Le Web Tangled de la réutilisation des mots de passe - http: //www.jbonneau .com / doc / DBCBW14-NDSS-tangled_web.pdf
- Réutilisation du mot de passe - http://xkcd.com/792/
- Force du mot de passe - http://xkcd.com/936/
- Creeperhost - http://www.creeperhost.net/