web-dev-qa-db-fra.com

Est-il sûr de stocker des mots de passe avec un cryptage bidirectionnel?

Je suis un parent qui a un compte parent avec mon district scolaire local afin que je puisse me connecter à leur site Web pour voir les notes de mon enfant, etc.

J'ai cliqué sur le bouton "Mot de passe oublié", et mon mot de passe m'a été envoyé par e-mail en texte brut. Cela me concernait, j'ai donc envoyé un e-mail au principal, y compris certains liens de la en bas de cette page . Ceci est le réponse que j'ai reçue du service informatique de l'organisation:

Les mots de passe parents ne sont pas stockés en texte brut. Ils sont cryptés. Pas un cryptage 1 voie mais un cryptage 2 voies. C'est ainsi que le système peut le présenter via un e-mail via l'utilitaire CoolSpool d'Ariande.

Pour des raisons d'assistance, le mot de passe du parent est visible par certains membres du personnel jusqu'à ce que le parent se soit connecté avec succès 3 fois. Après cela, aucun membre du personnel ne peut voir ce mot de passe. Cependant, il est stocké de manière à ce que le système lui-même puisse le renvoyer à l'e-mail vérifié. À l'avenir, après les 3 connexions réussies d'un parent, s'il oublie son mot de passe, son compte de messagerie vérifié recevra un lien pour réinitialiser son mot de passe, ce changement est en cours.

Cette explication justifie-t-elle l'envoi du mot de passe en texte brut par e-mail et mes mots de passe sont-ils sécurisés avec eux?

Sinon, avec quelles références ou ressources pourrais-je y répondre?

139
43Tesseracts

Non, ce n'est pas une bonne pratique. Il y a deux problèmes distincts.

  • chiffrer le mot de passe au lieu de le hacher est une mauvaise idée et limite le stockage de mots de passe en texte brut. L'idée même des fonctions de hachage lentes est de contrecarrer l'exfiltration de la base de données des utilisateurs. En règle générale, un attaquant qui a déjà accès à la base de données peut également avoir accès à la clé de chiffrement si l'application Web y a accès.

    Ainsi, c'est du texte en clair limite; J'ai presque voté pour fermer ceci en tant que doublon de cette question , car c'est presque la même chose et la réponse liée s'applique presque directement, en particulier la partie concernant les délinquants en clair; il y a ne autre réponse sur les contrevenants en clair également.

  • envoyer le mot de passe en texte brut par e-mail en texte brut est une mauvaise idée. Ils pourraient faire valoir qu'il n'y a pas de différence lorsqu'aucune réutilisation de mot de passe ne se produit, mais je doute qu'ils sauraient même de quoi il s'agit et pourquoi cela est considéré comme une mauvaise pratique. De plus, la réutilisation des mots de passe est si courante que ce ne serait pas une bonne réponse.

De plus, comme ils semblent fonctionner sur la deuxième partie (même si les liens de réinitialisation de mot de passe dans les e-mails en texte brut sont dans le même stade, c.-à-d. pouvez), vous pouvez leur expliquer le problème de ne pas hacher de ma réponse, n'hésitez pas à lier cette réponse directement.

Peut-être même expliquer que le cryptage est à sens unique, mais peut toujours être inversé par la fonction inverse du système de cryptage en question, bien nommé décryptage. L'utilisation de termes comme "cryptage unidirectionnel" et "cryptage bidirectionnel" plutôt que "hachage" et "cryptage" montre un manque de compréhension.

Le vrai problème est: les implémenter une réinitialisation de mot de passe ne signifie pas qu'ils hacheront (correctement) à l'avenir; vous ne pouvez pas faire grand-chose à ce sujet, sauf en utilisant un gestionnaire de mots de passe et en créant une phrase de passe longue et forte qui est unique pour ce site et espérons le meilleur.

Cela est particulièrement vrai car ils semblent vouloir conserver la partie de leur système qui indique au personnel votre mot de passe (pour absolument non bonne raison). L'implication étant qu'ils n'arrêtent pas de hacher correctement - ils disent que le personnel ne peut voir le mot de passe que dans les trois délais de connexion n'est pas vrai; si l'application Web peut accéder à la clé, le personnel administratif le peut également. Peut-être plus le personnel de support client, mais ils ne devraient pas pouvoir le voir en premier lieu. C'est une conception horriblement mauvaise.

Selon votre emplacement, les écoles faisant partie du secteur public ont l'obligation d'avoir un CISO que vous pouvez contacter directement, exprimant vos préoccupations. Et comme d'habitude dans le secteur public, il devrait y avoir une organisation qui supervise l'école; ils devraient avoir au moins un RSSI, qui pourrait être très intéressé par cette procédure.

192
Tobi Nary

Tout le monde se concentre sur le cryptage par rapport au hachage mais, bien que cela soit mauvais en soi, je trouve les éléments suivants plus flagrants:

Pour des raisons d'assistance, le mot de passe du parent est visible par certains membres du personnel jusqu'à ce que le parent se soit connecté avec succès 3 fois.

Vous devez interpréter cela comme "le personnel informatique connaît mon mot de passe". Ils ont ouvertement admis que certains membres de leur personnel pouvaient connaître votre mot de passe. C'est au-delà du mal. Je suppose que ce compteur est réinitialisé après avoir changé votre mot de passe, donc utiliser un mot de passe factice trois fois, puis le changer en un "vrai" mot de passe ne fera rien. Ne mettez rien sur cette plate-forme que vous ne souhaitez pas faire connaître publiquement, et si vous avez utilisé le même mot de passe sur d'autres sites, changez-les.

72
MrZarq

Non, comme vous l'avez supposé correctement, ce comportement n'est clairement pas sécurisé.

Ce que vous pouvez et devez faire, ce n'est pas faire confiance à leur système. N'utilisez pas sur le système scolaire un mot de passe qui ressemble à vos mots de passe bancaires ou autres. Ne fournissez pas plus d'informations que ce qui est absolument nécessaire pour que votre enfant aille à l'école. Si votre enfant ramène à la maison une note qui dit "connectez-vous et mettez à jour vos informations", ne mettez rien que vous soyez mal à l'aise de révéler.

Au moins, leur scénario "dans le futur" semble implémenter le comportement dont ils ont besoin pour prendre en charge les mots de passe hachés en toute sécurité; la question de savoir s'ils hacheront en toute sécurité les mots de passe (après trois connexions) au lieu de les chiffrer sera une question différente. Et vous ne pourrez pas répondre à cette question par observation. Si vous êtes toujours inquiet, vous pouvez contacter le fournisseur du logiciel et lui demander comment cela fonctionne.

19
John Deters
  1. Vous ne devez pas supposer que votre mot de passe est jamais sécurisé. Il y a une raison pour laquelle les gestionnaires de mots de passe sont la voie à suivre recommandée

    La réalité est que dans vos tentatives de gérer vous-même tous ces mots de passe, vous commettez le péché cardinal d'en réutiliser certains. C'est en fait beaucoup plus risqué que d'utiliser un gestionnaire de mots de passe. Si un seul site qui utilise ce mot de passe tombe, chaque compte qui l'utilise est compromis. Vous devrez vous souvenir de tous les sites sur lesquels vous avez réutilisé ce mot de passe, puis les modifier tous.

  2. La méthode recommandée pour effectuer une réinitialisation consiste à générer une clé unique pour qu'un utilisateur effectue sa propre réinitialisation sur un site Web sécurisé TLS. Courriel, même avec TLS activé, est toujours intrinsèquement non sécurisé

    Bien que TLS et SSL constituent sans aucun doute une base vitale pour l'approche de toute entreprise en matière de sécurité des données, il existe encore des preuves suggérant qu'il s'agit d'un système qui comporte un certain nombre de vulnérabilités potentielles.

    Le principal point de faiblesse provient du manque de compréhension des entreprises sur la façon de crypter les e-mails, beaucoup pensant que le canal de transport, et donc l'e-mail, est entièrement sécurisé avec l'utilisation de TLS.

  3. Le hachage est fondamentalement différent du cryptage. C'était bien exploré sur Stack Overflow

    Les [fonctions de cryptage] fournissent un mappage 1: 1 entre une entrée et une sortie de longueur arbitraire. Et ils sont toujours réversibles .

    Comme l'a noté SmokeDispenser, s'ils peuvent obtenir votre base de données, ils peuvent obtenir la clé de cryptage. En quoi cela diffère-t-il du hachage? Les hachages sont toujours unidirectionnels . Les données entrent et ne sortent jamais. En d'autres termes, il n'y a pas de clés à voler.

    Utilisez une fonction de hachage lorsque vous vérifiez la validité des données d'entrée. C'est pour cela qu'ils sont conçus. Si vous avez 2 entrées et que vous souhaitez vérifier si elles sont identiques, exécutez les deux via une fonction de hachage. La probabilité d'une collision est astronomiquement faible pour les petites tailles d'entrée (en supposant une bonne fonction de hachage). C'est pourquoi il est recommandé pour les mots de passe.

    En d'autres termes, vous stockez votre mot de passe sur mon site. Je le hache avec une chaîne aléatoire (appelée sel) encore et encore avec quelque chose de lent (comme bcrypt). Pour vous valider, vous entrez à nouveau votre mot de passe et je le lave à travers le même hachage. Avec le même algorithme (plus le nombre de fois que je l'ai parcouru, appelé coût), le sel et le mot de passe, je devrais obtenir le même hachage que j'ai stocké. Ainsi, je n'ai pas besoin de stocker un mot de passe réversible crypté ou non crypté.

14
Machavity

Par définition, si un mot de passe est stocké par quelqu'un d'autre que vous, il n'est pas stocké en toute sécurité. Il n'est jamais nécessaire de stocker votre mot de passe.

Si le personnel informatique a une raison légitime d'accéder à votre compte sans que vous ayez fourni le mot de passe, il n'a pas besoin que votre mot de passe soit stocké quelque part. Ils peuvent réinitialiser le mot de passe, accéder à votre compte, remplacer votre mot de passe par l'original. Le tout sans jamais connaître votre mot de passe.

S'ils peuvent vous envoyer votre mot de passe, ils peuvent l'envoyer à quelqu'un qui prétend être vous. Ce n'est donc pas sûr.

PS. Ils n'ont absolument pas besoin de stocker le mot de passe pour l'authentification. Ils peuvent stocker un hachage salé, à partir duquel la récupération du mot de passe est impossible. C'est la pratique standard. Comment peuvent-ils l'envoyer à quelqu'un qui prétend être toi? C'est ce qu'on appelle l'ingénierie sociale. Quelqu'un appelle, les convainc que c'est vous et que votre adresse e-mail a changé, et ils envoient le mot de passe à la mauvaise personne.

1
gnasher729