J'ai certains domaines/sites Web ainsi que des e-mails avec Bluehost. Chaque fois que j'ai besoin d'assistance, ils ont besoin des 4 derniers caractères de mon mot de passe principal pour le compte. Ils ne peuvent pas me dire comment ils stockent le mot de passe, je suis donc intrigué de savoir comment ils peuvent stocker mon ou mes mots de passe en toute sécurité et voir toujours les 4 derniers caractères. Voyent-ils le mot de passe complet en texte clair?
Il y a plusieurs possibilités.
Ils peuvent stocker le mot de passe complet en texte clair et n'afficher que les 4 derniers caractères pour la personne de support.
Ils pourraient hacher le mot de passe deux fois. Une fois haché le mot de passe complet, et encore une fois avec seulement les 4. derniers. La personne de support saisit les 4 derniers pour voir si cela correspond à la valeur hachée. Le problème avec cela est qu'il facilite la force brute du mot de passe complet puisque les 4 derniers caractères sont dans un hachage séparé, ce qui réduit l'entropie.
Ils pourraient hacher le mot de passe complet et stocker les 4 derniers en texte clair. De toute évidence, cela rend beaucoup plus facile la force brute du mot de passe si un attaquant accédant à la base de données de mots de passe connaît les 4 derniers chiffres.
Quelque chose d'autre où les 4 derniers caractères sont stockés d'une manière qui peut être découverte, comme le cryptage que Mike Scott mentionne ci-dessous. Si le secret pour déverrouiller les 4 personnages peut être découvert, c'est aussi mauvais que le texte en clair.
Tous les scénarios sont très mauvais et réduisent considérablement la sécurité du système. Il n'est pas possible de savoir quel scénario ils utilisent, mais chacun d'eux montre un manque de considération pour les failles de sécurité. Je vous conseille de faire preuve de prudence s'il s'agit d'un site où vous vous souciez de la violation de votre compte.
Il est toujours difficile de répondre à de telles questions car nous ne sommes pas dans les secrets de Bluehost, nous ne pouvons donc que deviner et faire des suppositions.
Cependant, le comportement que vous décrivez reste possible sans stocker aucun mot de passe de formulaire clair:
BlueHost conseille règles raisonnables pour les mots de passe forts , donc ils emploient probablement au moins une personne qui sait ce qu'il fait.
En supposant cela, BlueHost peut utiliser une implémentation de Shamir's Secret Sharing ou une variation sur ce thème . Shamir est théoriquement sécurisé, donc je ne sauterais pas immédiatement à la conclusion (comme l'ont fait d'autres réponses) que tout schéma faisant cela est intrinsèquement moins sûr.
D'un autre côté, l'implémentation de Shamir n'est pas anodine, donc toutes les autres réponses pourraient également s'appliquer. Étant donné que la sécurité concerne en fin de compte la confiance , si vous ne vous sentez pas en sécurité avec ce schéma , Je vous suggère de trouver un autre fournisseur!
Je ne peux pas vous dire exactement comment ils stockent le mot de passe. Mais à partir de votre description de leur processus, nous pouvons montrer que le mot de passe doit être stocké de manière non sécurisée.
Je suppose que lorsqu'ils demandent les quatre derniers caractères, ils seront en mesure de vérifier l'exactitude de ce que vous leur avez dit (en d'autres termes, ils ne sont pas simplement en train de bluffer).
Cela signifie qu'ils ont des données qui leur permettront de vérifier les personnages que vous leur avez dit dans un court laps de temps. Les mêmes données peuvent être utilisées dans une attaque par force brute pour casser les quatre derniers caractères du mot de passe. Quatre personnages est certainement trop court pour arrêter un attaquant déterminé.
Une fois que l'attaquant a les quatre derniers personnages, une autre attaque peut être montée sur les personnages précédents. Pour cette attaque par force brute, les quatre derniers caractères du mot de passe n'ajoutent aucune sécurité, donc au mieux vous avez la sécurité équivalente d'un mot de passe de quatre caractères plus court qu'il ne l'est réellement.
Il peut être possible de contourner la vulnérabilité en choisissant un mot de passe sécurisé, puis en ajoutant quatre caractères supplémentaires choisis complètement indépendamment du mot de passe choisi au début. Cela sera sécurisé s'ils ne peuvent vérifier que les quatre derniers caractères et non un suffixe de longueur arbitraire.
S'ils sont en fait capables de vérifier un suffixe de longueur arbitraire et pas seulement ceux de exactement quatre caractères, le stockage des mots de passe serait encore plus faible. Ce serait à peu près aussi peu sûr que de le stocker en texte clair, et dans ce cas, vous ne pouvez pas le contourner en choisissant un mot de passe plus fort.
Comme vous le savez, un mot de passe doit être haché avant d'être stocké, vous devez donc vous demander la météo ou non, ils stockent les 4 derniers caractères à des fins d'autorisation verbale, puis hachent le mot de passe avant de le stocker, ou ils le stockent simplement texte en clair.
Je suppose que ce dernier.
Je ne pense pas que cela soit probable, simplement possible.
Chaque fois que OP a besoin d'assistance, ils demandent les 4 derniers chiffres de son mot de passe. Ils le salent et le hachent et stockent le sel et le hachage et suffisamment d'informations pour reconstruire le support dans une table de support spéciale.
Ensuite, lorsque OP se connecte (avec le mot de passe complet), il peut consulter le tableau de support et calculer les hachages. Ensuite, ils engagent les "supports" vérifiés et répudient les "supports" falsifiés.
Cela suppose bien sûr que
le soutien est quelque chose qui peut être engagé ou répudié ultérieurement
le processus de demande des 4 derniers ne fuit pas d'informations (quelqu'un qui vous demande les 4 derniers n'est pas admissible car nous ne pouvons pas effacer de manière fiable leurs souvenirs).
Je ne peux pas imaginer une situation où cela aurait un sens commercial. Mais si c'était le cas, je pense que j'émettrais à mes utilisateurs un mot de passe spécial "support" à 4 chiffres.
Ils peuvent voir le mot de passe complet? Oui, il est certainement possible qu'ils puissent deviner le mot de passe (si les 4 derniers chiffres sont une date ou des parties d'un mot. Si le mot de passe est haché en sachant que 4 chiffres suffisent pour faire une attaque par force brute ou même essayer de faire une heuristique sur la fonction de hachage pour voir comment 4 chiffres se propagent en réduisant considérablement la plage de mots de passe possibles.
Devinez ce mot de passe:
*********ange
Ou celui-ci:
****1994
Il est également possible qu'ils soient des pirates informatiques et exploitent l'API de support client (le cas échéant) pour accéder aux informations des utilisateurs, cette tâche est même facilitée en connaissant 4 chiffres.
Ils ne devraient pas le faire, en aucun cas, donner une partie du mot de passe à un étranger n'est une bonne option même (EN PARTICULIER, si après son licenciement, il peut essayer de nuire aux utilisateurs, et il existe de nombreux exemples historiques) s'il fait partie du client soutien.
Un support client ne doit avoir aucun moyen d'accéder au mot de passe d'origine et doit agir via une API ad-hoc pour éviter de faire de mauvaises choses (le support ne doit toujours pas être en mesure d'accéder aux données complètes).
De plus, si le support client doit demander 4 chiffres du mot de passe, vous ne pouvez pas envoyer d'e-mails aux utilisateurs avec des avertissements tels que "ne donnez jamais votre mot de passe parce que nous ne le demandons pas" car vous le demandez réellement et la formation de vos utilisateurs pour fournir des informations personnelles peut aider les faire attraper par les e-mails de phishing.
S'ils veulent vraiment vérifier l'authenticité des utilisateurs, ils doivent utiliser des trucs comme SMS, questions secrètes ou simplement une clé envoyée par e-mail).
Pourtant, je pense qu'il est beaucoup moins cher d'envoyer un e-mail ou un SMS que de payer 1-2 minutes à quelqu'un qui fait la même chose (à moins qu'elle ne soit vraiment une personne sous-payée).
Si un service a vraiment besoin de vérifier l'identité de quelqu'un pour quelque chose d'important, j'utiliserais probablement un flux de webcam à partir duquel un opérateur peut voir le visage de l'utilisateur, puis lui demander de faire des actions spécifiques (comme écrire un mot sur papier et le montrer) afin d'empêcher quelqu'un d'utiliser une vidéo enregistrée).
Bien sûr, cela ne plaira pas aux utilisateurs en raison de la confidentialité ^^
Comme d'autres l'ont dit, il existe de nombreuses façons pour ce fournisseur de protéger les "quatre derniers chiffres" de votre mot de passe. Cependant, chaque fois que vous diffusez une partie de votre mot de passe, vous vous ouvrez à la compromission de votre compte. Personne ne semble avoir mentionné que les 4 derniers chiffres de votre mot de passe que vous saisissez dans le journal de discussion ne sont probablement pas chiffrés. De toute évidence, les journaux de discussion doivent être facilement accessibles. Même si vous suivez les règles de base de la complexité des mots de passe, vous venez de réduire la longueur effective de votre mot de passe de 4 caractères. Imaginez maintenant si c'est un mot de passe que vous utilisez dans d'autres endroits avec une sécurité plus légère (ce que malheureusement beaucoup de gens font).
TL: DR C'est une pratique ridicule et je resterais loin d'eux à tout prix