2009-11-18 6 views
12

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

22

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.

+0

Je dirais que le but du sel est de ne pas être public ** **, que ce soit. – ZJR

+0

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

Questions connexes