Salut les gars, j'ai lu sur le mot de passe de salage, mais cela peut sembler un peu étrange. Mais comment puis-je stocker et sécuriser le sel. Par exemple, dans une architecture à pneus multiples, j'utilise le GUID de la machine cliente pour générer mon sel, puis l'utilisateur est limité à une seule machine, mais si j'utilise du sel aléatoire, il doit être stocké quelque part. Il y a quelques jours, j'ai vu un exemple d'application où le hachage et le sel étaient générés sur le système client chaque fois qu'un nouvel utilisateur était créé, puis le mot de passe salé et le hachage sont transmis au serveur où ils sont stockés dans le serveur SQL. Mais si je suis cette méthode et que la base de données est compromise, les mots de passe et les valeurs de sel pour chaque mot de passe seront disponibles pour la personne X. Alors, devrais-je encore sel/crypter les mots de passe et a reçu du sel sur le côté serveur? Quelle est la meilleure pratique de salage?quelle est la meilleure façon de saler et de stocker le sel?
Répondre
Le stockage du sel non crypté dans la base de données à côté des mots de passe hachés n'est pas un problème.
Le but du sel n'est pas d'être secret. Son but est d'être différent pour chaque hash (c'est-à-dire aléatoire), et assez long pour vaincre l'utilisation de rainbow tables lorsqu'un attaquant met la main sur la base de données.
Voir ceci excellent post sur le sujet par Thomas Ptacek.
modifier @ZJR: même si les sels étaient complètement public, ils seraient encore vaincre le bénéfice des tables arc-en-ciel. Lorsque vous avez un sel et des données HASHED, le mieux que vous pouvez faire pour inverser est la force brute (à condition que la fonction de hachage est cryptographiquement sécurisé)
modifier @ de n10i: Voir l'article de wikipedia pour secure hash function. En ce qui concerne la taille du sel, l'implémentation populaire bcrypt .gensalt() utilise 128 bits.
S'il vous plaît prendre un moment pour lire cette très bonne description des sels et hachant
- 1. Quelle est la meilleure façon de sel mot de passe?
- 2. Quelle est la meilleure façon de stocker des données centralisées pour (et de) la traduction?
- 3. Quelle est la meilleure façon de manipuler et de stocker d'énormes listes ordonnées ou des hachages?
- 4. Quelle est la meilleure façon de stocker l'ordre entre les lignes de la base de données?
- 5. Quelle est la meilleure façon de stocker et d'accéder à XML dans Android?
- 6. Quelle est la meilleure façon de comparer Double et Int?
- 7. Quelle est la meilleure façon d'automatiser le remplacement de texte?
- 8. quelle est la meilleure façon de modifier le fichier csv
- 9. Quelle est la meilleure façon de simplifier le code suivant?
- 10. Quelle est la meilleure façon de stocker les valeurs de configuration pour plusieurs dizaines de colonnes?
- 11. Quelle est la meilleure façon de charger la balance? PHP
- 12. Quelle est la meilleure façon de stocker la durée dans MySQL
- 13. Quelle est la meilleure façon de stocker une liste de messages/arbre fileté dans SQL?
- 14. Quelle est la meilleure façon de stocker les variables de test unitaires statiques?
- 15. Quelle est la meilleure façon de stocker les paramètres de l'application? (MVC)
- 16. Quelle est la meilleure façon de stocker la configuration spécifique à l'application dans les rails?
- 17. Quelle est la meilleure façon de stocker des fichiers multimédia sur une base de données?
- 18. Quelle est la meilleure façon de stocker ce type de données?
- 19. Quelle est la meilleure façon de stocker de gros fichiers dans Plone 3?
- 20. Quelle est la meilleure façon d'apprendre WCF?
- 21. Quelle est la meilleure façon de stocker des variables de classe en PHP?
- 22. Quelle est la meilleure façon de stocker cette structure de données?
- 23. Quelle est la meilleure façon de stocker un groupe de constantes que mon programme utilise?
- 24. Quelle est la meilleure façon de stocker l'historique des modifications des articles de site Web?
- 25. Quelle est la meilleure façon de stocker des données html dans une base de données mysql?
- 26. Quelle est la meilleure façon de stocker une clé arbitraire: tableau de valeurs dans MongoDB
- 27. Quelle est la meilleure façon d'implémenter hashCode()?
- 28. Quelle est la meilleure façon de stocker plusieurs valeurs pour $ .data() de jQuery?
- 29. Quelle est la meilleure façon de stocker plusieurs chaînes de date dans Django?
- 30. Quelle est la meilleure façon d'apprendre CUDA?
Je dirais que le but du sel est de ne pas être public ** **, que ce soit. – ZJR
pouvez-vous expliquer "la fonction de hachage est cryptographiquement sécurisé". désolé je suis nouveau à la cryptographie. aussi dans votre réponse, vous avez mentionné «assez longtemps pour vaincre l'utilisation des tables arc-en-ciel», combien de temps devrait être le sel, pour être assez long? – Neel