Je travaille sur un système (basé sur PHP, mais sans importance pour cela) qui conserve les mots de passe des utilisateurs enregistrés sur une base de données. Cependant, en termes de sécurité, je dois réfléchir à la manière de sécuriser les mots de passe et d'assurer l'intégrité du mécanisme de transfert de mot de passe. J'ai choisi de sécuriser les mots de passe dans le DB qui sont hachés avec du sel, mais en termes de transfert du mot de passe du navigateur au serveur (je travaillerai pour des connexions non sécurisées), je ne suis pas sûr de comment je peux le vérifier. Donc, ma question est, est-ce que quelqu'un connaît des mécanismes sécurisés qui pourraient permettre au client d'envoyer son mot de passe qui peut ensuite être comparé à la base de données sans le mot de passe dans le texte à l'exception des clients la mémoire des navigateurs?Stockage de mot de passe et transfert de mot de passe sécurisé
Répondre
La façon dont cela est fait dans toute l'industrie est d'envoyer le mot de passe en clair sur un canal SSL. C'est-à-dire, vous devez vous assurer que la page de connexion - et toutes les ressources qu'elle charge - sont servies via HTTPS. Cela protégera le mot de passe en transit. Une fois le mot de passe de l'autre côté, vous pouvez hacher et comparer à ce que vous avez dans la base de données. L'envoi d'un hachage ou d'autres solutions ésotériques (pour respecter votre "mot de passe en clair seulement dans la mémoire des navigateurs") ne fera rien d'autre qu'un secret pour un autre - la surface d'attaque reste inchangée. Vous pouvez masquer le mot de passe du côté client et ajouter un composant basé sur le temps, mais comme toute la logique doit être sur le client, vous pouvez l'inverser, donc vous ajoutez simplement "obscurité". il).
- 1. Stockage de mot de passe sécurisé
- 2. Eclipse mot de passe sécurisé et de stockage ssh-agent
- 3. mot de passe envoyé par courrier sécurisé?
- 4. Envoyer un mot de passe temporaire sécurisé
- 5. Mot de passe ASP.NET et mot de passe salt
- 6. jquery: mot de passe et confirmer le mot de passe
- 7. Mot de passe et confirmer le mot de passe
- 8. SQL Server - Stockage du mot de passe
- 9. Est-ce que le stockage des hash de connexion et de mot de passe est sécurisé?
- 10. est wcf ClientCredential nom d'utilisateur et mot de passe sécurisé?
- 11. Création et stockage de mot de passe dans Android
- 12. Google API et stockage de mot de passe
- 13. MVVM et mot de passe
- 14. mongodb - chaîne de connexion utilisateur, mot de passe sécurisé
- 15. Apache htpasswd changement de mot de passe sécurisé
- 16. Comment supprimer et afficher le mot «mot de passe» dans le champ mot de passe
- 17. Modifier le caractère de mot de passe sécurisé dans UITextfield
- 18. Comment répliquer le mot de passe pour le mot de passe fourni et le mot de passe (PHP/MySQL)
- 19. Validator pour mot de passe actuel, le nouveau mot de passe et confirmer le nouveau mot de passe
- 20. Enregistrer le mot de passe crypté et le mot de passe ou simplement stocker le mot de passe crypté?
- 21. Authlogic et mot de passe et mot de passe de confirmation des attributs - inaccessible?
- 22. Stockage et transfert sécurisés des mots de passe
- 23. Cryptage de mot de passe
- 24. Exécution de la validation mot de passe/mot de passe confirmation lorsque l'utilisateur réinitialise le mot de passe
- 25. Modification du mot de passe du magasin de clés sans mot de passe pour un mot de passe non vide
- 26. Récupération et enregistrement du mot de passe
- 27. cryptage de mot de passe de base et stocker mot de passe dans un fichier
- 28. erreur de mot de passe ...?
- 29. Comment déchiffrer le mot de passe de JavaScript CryptoJS.AES.encrypt (mot de passe, mot de passe) en Python
- 30. mot de passe sécurisé en php en utilisant hash_hmac
Ouais, c'est ce que je pensais, mais juste écrit une réponse qui utilise RSA pour fournir une bonne quantité de sécurité, mais dans un monde idéal, je voudrais SSL – topherg
Implémentation de crypto dans votre propre code est vraiment, vraiment un mauvais idée. Dans le meilleur des cas, vous finissez par avoir la même sécurité que vous auriez atteinte en dépensant les 40-50 $ requis pour exécuter le service via SSL. Dans le pire des cas, vous finissez par créer un désordre horrible et un service vulnérable. – Paradoxengine