Stocker des mots de passe dans une BDD

Stocker des mots de passe dans une BDD - PHP - Programmation

Marsh Posté le 18-05-2011 à 15:07:08    

Bonjour,
 
J'ai besoin de mettre à disposition des mots de passes pour un certain nombres de personnes.
 
Aujourd'hui j'ai un espace ou des personnes peuvent se connecter pour consulter divers documents et infos. J'aimerai ajouter à ca la consultation de mots de passe.
 
La question que je me pose, c'est comment faire ca de façon propre et sécurisée. Je suis pas chaud pour stocker les mdp en clair dans la bdd.
 
Alors quelle est la meilleure méthode pour stocker des mdp dans une bdd ?

Reply

Marsh Posté le 18-05-2011 à 15:07:08   

Reply

Marsh Posté le 18-05-2011 à 15:52:08    

La meilleure solution est d'utiliser une fonction de hash
 
http://www.php.net/manual/fr/function.hash.php
 
http://www.php.net/manual/fr/function.hash-algos.php
 
C'est une sorte de cryptage irréversible (une empreinte, pour être plus exact). Tu génères une empreinte du password (les algos sha... sont safes) que tu stockes en base (n'hésite pas à ajouter un grain de sel, faire des hash de hash, concaténations de hash... etc.). Dès que le mec cherche à s'identifier, tu hashes le pass donné par le formulaire d'identification et tu le compares au hash stocké en BD.
 
 :hello:


Message édité par CyberDenix le 18-05-2011 à 15:54:37

---------------
Directeur Technique (CTO)
Reply

Marsh Posté le 18-05-2011 à 18:45:50    

Bah oui, mais il parle de consultation. Je pense donc qu'il veut les afficher, et un hash n'est pas possible dans ce cas.


---------------
http://www.aideinfo.com/  Whois adresses IP/domaines le plus évolué !!  FAQ Free Mobile
Reply

Marsh Posté le 18-05-2011 à 19:25:10    

Oui exactement, j'ai besoin de pouvoir afficher les mots de passe.

Reply

Marsh Posté le 18-05-2011 à 20:05:08    

J'ai lu en diagonale !
 
Ceci étant, la plupart des systèmes d'identification fonctionnent ainsi, et un reset complet du mot de passe est à prévoir en cas de changement. Si tu souhaites vraiment pouvoir lire le mot de passe en clair, il te faut une transformation réversible, et utiliser les bibliothèques de cryptage de php, avec l'algo approprié (AES, DES, ...etc.) et la ou les clés que tu conserves précieusement dans un coin.


---------------
Directeur Technique (CTO)
Reply

Marsh Posté le 19-05-2011 à 10:06:03    

Salut, ça m'est déjà arrivé pour un projet pro, à la demande d'un client de mettre en place un système de ce type.
 
Comme dit plus haut, tu peux utiliser les algos de php ou en trouver d'autres sur le net, ou alors créer le tiens, c'est pas très compliqué et tu n'as pas besoin de faire quelque chose de très tordu pour être efficace en fonction de la sensibilité des données à protéger.
 
Si tu as recours à ce genre de technique, il suffit de créer une fonction de reverse pour voir les mots de passe.
 
Si tu as des questions ou si tu as besoin d'un coup de main pour mettre en place ce système, n'hésites pas.

Reply

Marsh Posté le 19-05-2011 à 10:55:27    

Je déconseille fortement de se faire un algo sauce maison à moins d'être très fort en maths, partie chiffrement. Un algo maison résistera pas plus de qq minutes à une cryptanalyse :/ Pour rappel, le DES et le triple DES ont été crackés y'a qq années. AES est récent et fonctionne très bien. Par contre, se pose la question du stockage sécurisé de la clé...
 
J'ai quand même du mal à comprendre le besoin de pouvoir consulter les mdp des utilisateurs. C'est franchement très limite et je pense qu'une déclaration à la CNIL sera nécessaire...


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 19-05-2011 à 14:29:19    

L'idée c'est qu'un utilisateur puisse se connecter à son compte pour voir une série de mots de passe qui va du code de la porte d'entrée à des mots de passes pour consulter des docs sur des sites pour lesquels on a des abonnements. Mais aussi les mots de passes de leur compte mail voir aussi les identifiants pour établir une connexion VPN.
 
Bref, je suis pas vraiment pour la mise en place d'un tel système pour des raisons de sécurité, mais si je suis amené à le faire j'aimerai que le niveau de sécurité soit suffisant.
 
Ce qui me gêne dans les solutions de cryptage, comme le dit rufo, c'est que c'est déchiffrable. Bon après c'est pas pour une grosse société mais bon...
 
Donc a priori AES semble correspondre en stockant la clé dans une autre bdd.
 
Je vais regarder de ce coté.
 
Merci
   

Reply

Marsh Posté le 19-05-2011 à 15:07:29    

egege a écrit :

L'idée c'est qu'un utilisateur puisse se connecter à son compte pour voir une série de mots de passe qui va du code de la porte d'entrée à des mots de passes pour consulter des docs sur des sites pour lesquels on a des abonnements. Mais aussi les mots de passes de leur compte mail voir aussi les identifiants pour établir une connexion VPN.
 
Bref, je suis pas vraiment pour la mise en place d'un tel système pour des raisons de sécurité, mais si je suis amené à le faire j'aimerai que le niveau de sécurité soit suffisant.
 
Ce qui me gêne dans les solutions de cryptage, comme le dit rufo, c'est que c'est déchiffrable. Bon après c'est pas pour une grosse société mais bon...
 
Donc a priori AES semble correspondre en stockant la clé dans une autre bdd.
 
Je vais regarder de ce coté.
 
Merci
   


 
Pour qu'un mdp soit lisible en clair à un moment donné sans qu'il soit stocké en clair dans la BD, y'a que la méthode du chiffrement. Sinon, c'est du hashage et c'est pas réversible. Donc AES et faut trouver un moyen de stocker de manière la plus sécurisée possible la clé :/


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 19-05-2011 à 15:43:14    

Qu'est ce que tu préconise comme moyen de stockage ?

Reply

Marsh Posté le 19-05-2011 à 15:43:14   

Reply

Marsh Posté le 19-05-2011 à 17:13:52    

Jamais fait donc, je m'abstiendrai... :/ Regardes peut-être du côté de Zend guard


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed