Hachage, salt et open-source ?

Petit nouveau ! | 7 Messages

25 juin 2013, 10:48

Bonjour :)

Je travail sur un petit projet PHP qui sera open-source. Donc tout le monde pourra voir le code source.

Dans ce projet j'intègre un espace membre. Je dois donc stocker les identifiants en toute sécurité dans ma base de données dans le cas où cette dernière se ferait hacker. Dans ce but, je stocke les mots de passes hachés (SHA-1) et non en clair.
Et pour éviter les rainbow tables et les brute force, j'ajoute des salts (grains de sels). Tout comme la majorité des développeurs web, je pense.

sha1($saltPrefix.$password.$saltSuffix);
D'habitude, mes projets ne sont pas open-sources, et donc personne à part moi connaît les salts utilisés. Ici, c'est différent. Je suis sur un projet open-source.

Par conséquent, les salts que j'utilise seront visibles pour n'importe qui, et donc le brute force sera possible pour ceux qui mettent des mots de passes simples. Enfin, toujours dans le cas où quelqu'un réussirait à accéder à ma base de données.

Ces grains de sels (salts) ajoutés aux mots de passes avant d'être hachés auront moins d’efficacité.

Avez-vous une idée de comment ça se passe dans ce cas là pour les projets open-sources ?
Merci de votre aide.

ViPHP
ViPHP | 2577 Messages

25 juin 2013, 16:09

Dans le fichier de configuration avec les éléments de connexion à la base de données et autres paramètres
define('saltPrefix','AZERZERZERZER');
define('saltSuffix','hgfghgfhfgh');
Et ensuite :
sha1(saltPrefix.$password.saltSuffix);
Comme ca chacun mais ce qu'il veux.

Petit nouveau ! | 7 Messages

25 juin 2013, 16:43

Oui, c'est une bonne idée. Mais c'est pas un peu lourd d'inclure toutes les options de configuration (config.php) à chaque création d'un hash ?
Dois-je protéger config.php d'une manière particulière, ensuite ?