Ce qui est actuellement le plus sûr d'une façon algorithme de chiffrement?
Comme beaucoup le savent, un moyen de cryptage est un moyen pratique pour crypter les mots de passe utilisateur dans les bases de données. De cette façon, même l'administrateur de la base de données ne peut pas savoir un mot de passe utilisateur, mais il faut prendre un mot de passe deviner, de chiffrer avec le même algorithme, puis de comparer le résultat avec le mot de passe crypté dans la base de données. Cela signifie que le processus de trouver le mot de passe nécessite des quantités massives de suppositions et de beaucoup de puissance de traitement.
De voir que les ordinateurs toujours plus vite et que les mathématiciens sont toujours à l'élaboration de ces algorithmes, je me demande lequel est le plus sécurisé considérant moderne de la puissance de calcul et des techniques de chiffrement.
J'ai été en utilisant MD5 presque exclusivement depuis des années maintenant, et je me demandais si il y a quelque chose de plus que je devrais être en train de faire. Dois-je envisager un algorithme différent?
Une autre question: Combien de temps dois un domaine pour un mot de passe crypté? Je dois avouer que je sais pratiquement rien sur le chiffrement, mais je pars du principe qu'un hachage MD5 (par exemple) peut être plus longue, et serait sans doute prendre plus de puissance de traitement de la fissure. Ou est-ce la longueur du champ a pas d'importance, pour autant que le mot de passe chiffré correspond en premier lieu?
- Les fonctions de hachage ne sont pas des fonctions de chiffrement. Les fonctions de chiffrement ont des fonctions inverses pour déchiffrer une valeur chiffrée pour obtenir la valeur d'origine. Mais hachages ne peuvent pas être déchiffrés. Il est seulement possible de trouver des collisions (valeurs d'entrée qui aboutissent à la même valeur de hachage).
- De sortie à partir de n'importe quelle fonction de hachage/algorithme est toujours la même longueur. Pour le MD5 c'est toujours les 128 bits quelle que soit la longueur de l'entrée bits/octets/chaîne.
- Ne vous inquiétez pas au sujet de la longueur du champ. Dans presque tous les cas, devinant les mots de passe et de hachage sera beaucoup plus rapide que de brute-forcer une collision, et 128 bits est assez grande pour résister à des attaques en force jusqu'à la mort thermique de l'Univers.
- Pour vous tenir à jour sur les fonctions de hachage, découvrez la eHash Wiki, en particulier de la Fonction de Hachage Zoo ehash.iaik.tugraz.at/wiki/The_Hash_Function_Zoo.
Vous devez vous connecter pour publier un commentaire.
MD5 a été trouvé à être plus faible en 1996, et ne doit pas être utilisé plus pour les fins de. SHA-1 est couramment utilisée pour le remplacement, mais a des problèmes similaires. Le SHA-2 famille de fonctions de hachage sont les remplacement de l'algorithme SHA-1. Les membres de l'algorithme SHA-2 sont individuellement dénommés SHA-224, SHA-256, SHA-384 et SHA-512.
À l'heure actuelle, plusieurs fonctions de hachage sont en compétition pour devenir SHA-3, la prochaine standardisé de chiffrement algorithme de hachage. Un gagnant sera choisi en 2012. Aucun de ces devrait être utilisé encore!
Pour le hachage de mot de passe, vous pouvez également envisager d'utiliser quelque chose comme bcrypt. Il est conçu pour être suffisamment lente pour faire à grande échelle, des attaques de force brute infaisable. Vous pouvez régler la lenteur de vous-même, donc elle peut être plus lente lorsque les ordinateurs sont de plus en plus vite.
Avertissement: bcrypt est basée sur un vieux deux-chemin algorithme de chiffrement Blowfish, pour mieux les alternatives existent aujourd'hui. Je ne pense pas que le hachage cryptographique propriétés de bcrypt sont complètement compris. Quelqu'un me corrige si je me trompe; je n'ai jamais trouvé une source fiable qui traite de bcrypt propriétés (autres que sa lenteur) à partir d'un point de vue cryptographique.
Il peut être un peu rassurant que le risque de collisions moins important pour le hachage de mot de passe que pour le chiffrement à clé publique ou des signatures numériques. À l'aide de MD5 aujourd'hui est un terrible idée pour le SSL, mais pas aussi désastreux pour le hachage de mot de passe. Mais si vous avez le choix, choisissez simplement plus.
À l'aide d'une bonne fonction de hachage est pas assez pour sécuriser vos mots de passe. Vous devriez hachage des mots de passe avec sels qui sont longues et chiffrée de manière aléatoire. Vous devez également aider les utilisateurs à choisir des mots de passe plus forts ou des phrases de passe si possible. Plus est toujours mieux.
salt
. Sans sel, vous êtes sensible à l'arc-en-ciel-attaques. Et je dois préciser que vous souhaitez un sel pour chaque mot de passe, pas un seul pour l'ensemble du lot d'entre eux!Grande question! Cette page est une bonne lecture. En particulier, l'auteur prétend que le MD5 n'est pas approprié pour le hachage des mots de passe:
L'article afin d'expliquer certaines des solutions de rechange, et recommande Bcrypt comme le "bon choix" (ce sont ses mots, pas les miens).
Avertissement: je n'ai pas essayé Bcrypt à tous. Considérez ceci une recommandation amicale, mais pas quelque chose que je peux sauvegarder avec ma propre expérience technique.
Pour augmenter la force du mot de passe, vous devez utiliser une plus grande variété de symboles. Si vous avez 8 à 10 caractères dans le mot de passe, il devient assez difficile de la faire craquer. Même si c'est plus long, il sera plus sécurisé, uniquement si vous utilisez numérique/alphabétique/autres personnages.
SHA1 est un autre de hachage (une façon de chiffrement) l'algorithme, il est lent, mais il est plus long à digérer. (codée message vocal) (160 bits) où MD5 ne dispose que de 128 bits.
Puis SHA2 est encore plus sûr, mais moins utilisé.
saler le mot de passe est toujours un niveau supplémentaire de la défense
Chiffrement RSA est sûr qu'elle s'appuie sur un très grand nombre d' dur à la factor. Finalement, les ordinateurs pourront obtenir assez rapide pour le facteur le nombre dans un laps de temps raisonnable. De rester en avance sur la courbe, vous utilisez un plus grand nombre.
Cependant, pour la plupart des sites web, le but de hachage des mots de passe est de rendre dérange pour quelqu'un ayant accès à la base de données à lire le mot de passe, de ne pas fournir de sécurité. À cette fin, le MD5 est bon1.
L'implication ici est que si un utilisateur malveillant parvient à accéder à votre base de données entière, ils n'ont pas besoin du mot de passe. (La serrure sur la porte d'entrée ne vais pas m'arrêter de venir à la fenêtre.)
1 tout Simplement parce que MD5 est "cassé" ne signifie pas que vous pouvez simplement l'inverse quand vous le souhaitez.
En plus d'être un cryptographique sécurisé d'une sorte de fonction, une bonne fonction de hachage de mot de passe de protection doit être dur pour la force brute - c'est à dire lent de par leur conception. scrypt est l'un des meilleurs dans ce domaine. À partir de la page d'accueil:
Cela dit, couramment disponible les fonctions de hachage, en faisant quelques milliers d'itérations de rien du SHA de la famille est assez raisonnable de protection pour les non-critique des mots de passe.
Aussi, toujours ajouter du sel pour le rendre impossible à l'effort de l'action pour la force brute de nombreux hachages à la fois.
NIST est actuellement un concours pour choisir un nouvel algorithme de hachage, comme ils l'ont fait pour sélectionner l'algorithme de chiffrement AES. Donc, la réponse à cette question sera probablement différente dans une couple d'années.
Vous pouvez consulter les présentations et les étudier par vous-même pour voir si il y a celui que vous souhaitez utiliser.